@vonage/vivid 5.23.1 → 5.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/README.md +1 -1
  2. package/accordion/index.cjs +1 -1
  3. package/accordion/index.js +1 -1
  4. package/accordion-item/index.cjs +1 -1
  5. package/accordion-item/index.js +1 -1
  6. package/audio-player/index.cjs +2 -2
  7. package/audio-player/index.js +3 -3
  8. package/avatar/index.cjs +10 -10
  9. package/avatar/index.js +4 -3
  10. package/badge/index.cjs +1 -1
  11. package/badge/index.js +1 -1
  12. package/breadcrumb-item/index.cjs +9 -5
  13. package/breadcrumb-item/index.js +11 -6
  14. package/bundled/affix.cjs +1 -1
  15. package/bundled/affix.js +1 -1
  16. package/bundled/definition10.cjs +2 -1
  17. package/bundled/definition10.js +3 -2
  18. package/bundled/definition11.cjs +4 -4
  19. package/bundled/definition11.js +4 -3
  20. package/bundled/definition12.cjs +1 -1
  21. package/bundled/definition12.js +1 -0
  22. package/bundled/definition15.cjs +8 -7
  23. package/bundled/definition15.js +27 -24
  24. package/bundled/definition17.cjs +7 -7
  25. package/bundled/definition17.js +22 -109
  26. package/bundled/definition18.cjs +12 -83
  27. package/bundled/definition18.js +20 -426
  28. package/bundled/definition19.cjs +87 -7
  29. package/bundled/definition19.js +433 -16
  30. package/bundled/definition20.cjs +7 -37
  31. package/bundled/definition20.js +17 -172
  32. package/bundled/definition21.cjs +35 -27
  33. package/bundled/definition21.js +155 -154
  34. package/bundled/definition22.cjs +29 -6
  35. package/bundled/definition22.js +172 -20
  36. package/bundled/definition23.cjs +6 -12
  37. package/bundled/definition23.js +17 -32
  38. package/bundled/definition24.cjs +12 -39
  39. package/bundled/definition24.js +33 -67
  40. package/bundled/definition25.cjs +44 -0
  41. package/bundled/definition25.js +81 -0
  42. package/bundled/definition3.cjs +5 -5
  43. package/bundled/definition3.js +10 -40
  44. package/bundled/definition4.cjs +6 -6
  45. package/bundled/definition4.js +4 -3
  46. package/bundled/definition6.cjs +11 -11
  47. package/bundled/definition6.js +4 -3
  48. package/bundled/definition9.cjs +12 -6
  49. package/bundled/definition9.js +66 -43
  50. package/bundled/extractOptions.cjs +1 -0
  51. package/bundled/extractOptions.js +11 -0
  52. package/bundled/icon.cjs +1 -0
  53. package/bundled/icon.js +34 -0
  54. package/bundled/listbox.cjs +1 -1
  55. package/bundled/listbox.js +28 -12
  56. package/bundled/mixins.cjs +8 -8
  57. package/bundled/mixins.js +4 -3
  58. package/bundled/optgroup.cjs +1 -0
  59. package/bundled/optgroup.js +27 -0
  60. package/bundled/option.cjs +1 -0
  61. package/bundled/option.js +93 -0
  62. package/bundled/render-in-light-dom.cjs +1 -1
  63. package/bundled/render-in-light-dom.js +16 -19
  64. package/bundled/vivid-element.cjs +1 -1
  65. package/bundled/vivid-element.js +9 -1
  66. package/card/index.cjs +22 -22
  67. package/card/index.js +4 -3
  68. package/color-picker/index.cjs +18 -18
  69. package/color-picker/index.js +4 -3
  70. package/combobox/definition.cjs +1 -1
  71. package/combobox/definition.js +1 -1
  72. package/combobox/index.cjs +7 -7
  73. package/combobox/index.js +31 -21
  74. package/country/definition.cjs +1 -1
  75. package/country/definition.js +1 -1
  76. package/country/index.cjs +1 -1
  77. package/country/index.js +1 -1
  78. package/country-group/definition.cjs +1 -1
  79. package/country-group/definition.js +1 -1
  80. package/country-group/index.cjs +1 -1
  81. package/country-group/index.js +2 -2
  82. package/custom-elements.json +8438 -7866
  83. package/data-grid/definition.cjs +1 -1
  84. package/data-grid/definition.js +1 -1
  85. package/data-grid/index.cjs +26 -26
  86. package/data-grid/index.js +9 -8
  87. package/date-picker/definition.cjs +1 -1
  88. package/date-picker/definition.js +1 -1
  89. package/date-picker/index.cjs +1 -1
  90. package/date-picker/index.js +1 -1
  91. package/date-range-picker/definition.cjs +1 -1
  92. package/date-range-picker/definition.js +1 -1
  93. package/date-range-picker/index.cjs +1 -1
  94. package/date-range-picker/index.js +1 -1
  95. package/date-time-picker/definition.cjs +1 -1
  96. package/date-time-picker/definition.js +1 -1
  97. package/date-time-picker/index.cjs +1 -1
  98. package/date-time-picker/index.js +1 -1
  99. package/dial-pad/definition.cjs +1 -1
  100. package/dial-pad/definition.js +1 -1
  101. package/dial-pad/index.cjs +7 -7
  102. package/dial-pad/index.js +124 -54
  103. package/dialog/definition.cjs +1 -1
  104. package/dialog/definition.js +1 -1
  105. package/dialog/index.cjs +14 -14
  106. package/dialog/index.js +4 -3
  107. package/divider/definition.cjs +1 -1
  108. package/divider/definition.js +1 -1
  109. package/divider/index.cjs +1 -1
  110. package/divider/index.js +1 -1
  111. package/empty-state/definition.cjs +1 -1
  112. package/empty-state/definition.js +1 -1
  113. package/empty-state/index.cjs +3 -3
  114. package/empty-state/index.js +4 -3
  115. package/fab/definition.cjs +1 -1
  116. package/fab/definition.js +1 -1
  117. package/file-picker/definition.cjs +1 -1
  118. package/file-picker/definition.js +1 -1
  119. package/file-picker/index.cjs +7 -7
  120. package/file-picker/index.js +4 -3
  121. package/flag/definition.cjs +1 -1
  122. package/flag/definition.js +1 -1
  123. package/header/definition.cjs +1 -1
  124. package/header/definition.js +1 -1
  125. package/header/index.cjs +3 -3
  126. package/header/index.js +3 -3
  127. package/icon/definition.cjs +2 -1
  128. package/icon/definition.js +2 -1
  129. package/index.cjs +209 -198
  130. package/index.js +59 -54
  131. package/kbd-key/definition.cjs +1 -1
  132. package/kbd-key/definition.js +1 -1
  133. package/kbd-shortcut/definition.cjs +1 -1
  134. package/kbd-shortcut/definition.js +1 -1
  135. package/layout/definition.cjs +1 -1
  136. package/layout/definition.js +1 -1
  137. package/lib/accordion-item/accordion-item.d.ts +3 -1
  138. package/lib/action-group/action-group.d.ts +1 -1
  139. package/lib/alert/alert.d.ts +2 -2
  140. package/lib/audio-player/audio-player.d.ts +1 -1
  141. package/lib/avatar/avatar.d.ts +1 -1
  142. package/lib/badge/badge.d.ts +1 -1
  143. package/lib/banner/banner.d.ts +3 -3
  144. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  145. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  146. package/lib/button/button.d.ts +3 -3
  147. package/lib/calendar-event/calendar-event.d.ts +1 -1
  148. package/lib/card/card.d.ts +1 -1
  149. package/lib/checkbox/checkbox.d.ts +6 -6
  150. package/lib/color-picker/color-picker.d.ts +7 -7
  151. package/lib/combobox/combobox.d.ts +8 -8
  152. package/lib/components.d.ts +2 -0
  153. package/lib/country-group/country-group.d.ts +2 -2
  154. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  155. package/lib/data-grid/data-grid-row.d.ts +3 -2
  156. package/lib/data-grid/data-grid.options.d.ts +5 -0
  157. package/lib/date-picker/date-picker.d.ts +8 -8
  158. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  159. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  160. package/lib/dial-pad/dial-pad.d.ts +2 -2
  161. package/lib/dialog/dialog.d.ts +2 -2
  162. package/lib/divider/divider.d.ts +1 -1
  163. package/lib/fab/fab.d.ts +1 -1
  164. package/lib/file-picker/file-picker.d.ts +7 -7
  165. package/lib/header/header.d.ts +1 -1
  166. package/lib/listbox/definition.d.ts +3 -0
  167. package/lib/listbox/index.d.ts +1 -0
  168. package/lib/listbox/listbox.d.ts +1302 -0
  169. package/lib/listbox/listbox.template.d.ts +3 -0
  170. package/lib/listbox/variations.browser-spec.d.ts +1 -0
  171. package/lib/menu/menu.d.ts +2 -3
  172. package/lib/menu-item/menu-item.d.ts +3 -3
  173. package/lib/nav/nav.d.ts +1 -1
  174. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  175. package/lib/nav-item/nav-item.d.ts +2 -2
  176. package/lib/note/note.d.ts +1 -1
  177. package/lib/number-field/number-field.d.ts +9 -10
  178. package/lib/optgroup/definition.d.ts +3 -0
  179. package/lib/optgroup/index.d.ts +1 -0
  180. package/lib/optgroup/optgroup.d.ts +430 -0
  181. package/lib/optgroup/optgroup.template.d.ts +2 -0
  182. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  183. package/lib/option/option.d.ts +2 -2
  184. package/lib/pagination/pagination.d.ts +1 -1
  185. package/lib/popover/popover.d.ts +2 -2
  186. package/lib/progress/progress.d.ts +1 -1
  187. package/lib/progress-ring/progress-ring.d.ts +1 -1
  188. package/lib/radio/radio.d.ts +3 -3
  189. package/lib/radio-group/radio-group.d.ts +1 -1
  190. package/lib/range-slider/range-slider.d.ts +3 -3
  191. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  192. package/lib/rich-text-editor/rte/features/base.d.ts +1 -0
  193. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -2
  194. package/lib/searchable-select/option-tag.d.ts +1 -1
  195. package/lib/searchable-select/searchable-select.d.ts +47 -47
  196. package/lib/select/select.d.ts +9 -9
  197. package/lib/selectable-box/selectable-box.d.ts +1 -1
  198. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  199. package/lib/slider/slider.d.ts +3 -3
  200. package/lib/split-button/split-button.d.ts +3 -3
  201. package/lib/status/status.d.ts +1 -1
  202. package/lib/switch/switch.d.ts +2 -2
  203. package/lib/tab/tab.d.ts +3 -3
  204. package/lib/tab-panel/tab-panel.d.ts +1 -1
  205. package/lib/table/table-cell.d.ts +1 -1
  206. package/lib/table/table-header-cell.d.ts +1 -1
  207. package/lib/table/table-row.d.ts +1 -1
  208. package/lib/table/table-sorting-button.d.ts +1 -1
  209. package/lib/tag/tag.d.ts +3 -3
  210. package/lib/tag-group/tag-group.d.ts +1 -1
  211. package/lib/tag-name-map.d.ts +3 -1
  212. package/lib/text-area/text-area.d.ts +8 -8
  213. package/lib/text-field/text-field.d.ts +10 -9
  214. package/lib/time-picker/time-picker.d.ts +4 -4
  215. package/lib/toggletip/toggletip.d.ts +3 -2
  216. package/lib/tooltip/tooltip.d.ts +3 -2
  217. package/lib/tree-item/tree-item.d.ts +2 -2
  218. package/lib/tree-view/tree-view.d.ts +1 -1
  219. package/lib/video-player/video-player.d.ts +1 -1
  220. package/listbox/definition.cjs +5 -0
  221. package/listbox/definition.js +2 -0
  222. package/listbox/index.cjs +11 -0
  223. package/listbox/index.js +540 -0
  224. package/menu/index.cjs +1 -1
  225. package/menu/index.js +1 -1
  226. package/menu-item/index.cjs +1 -1
  227. package/menu-item/index.js +1 -1
  228. package/nav/definition.cjs +1 -1
  229. package/nav/definition.js +1 -1
  230. package/nav-disclosure/definition.cjs +1 -1
  231. package/nav-disclosure/definition.js +1 -1
  232. package/nav-disclosure/index.cjs +4 -4
  233. package/nav-disclosure/index.js +4 -3
  234. package/nav-item/definition.cjs +1 -1
  235. package/nav-item/definition.js +1 -1
  236. package/note/definition.cjs +1 -1
  237. package/note/definition.js +1 -1
  238. package/number-field/definition.cjs +1 -1
  239. package/number-field/definition.js +1 -1
  240. package/number-field/index.cjs +1 -1
  241. package/number-field/index.js +1 -1
  242. package/optgroup/definition.cjs +6 -0
  243. package/optgroup/definition.js +3 -0
  244. package/optgroup/index.cjs +1 -0
  245. package/optgroup/index.js +4 -0
  246. package/option/definition.cjs +2 -1
  247. package/option/definition.js +2 -1
  248. package/package.json +9 -8
  249. package/pagination/definition.cjs +1 -1
  250. package/pagination/definition.js +1 -1
  251. package/platform-switch/definition.cjs +1 -1
  252. package/platform-switch/definition.js +1 -1
  253. package/popover/definition.cjs +1 -1
  254. package/popover/definition.js +1 -1
  255. package/popover/index.cjs +5 -5
  256. package/popover/index.js +4 -3
  257. package/progress/definition.cjs +1 -1
  258. package/progress/definition.js +1 -1
  259. package/radio/definition.cjs +1 -1
  260. package/radio/definition.js +1 -1
  261. package/radio-group/definition.cjs +1 -1
  262. package/radio-group/definition.js +1 -1
  263. package/range-slider/definition.cjs +1 -1
  264. package/range-slider/definition.js +1 -1
  265. package/rich-text-editor/definition.cjs +1 -1
  266. package/rich-text-editor/definition.js +1 -1
  267. package/rich-text-editor/index.cjs +13 -13
  268. package/rich-text-editor/index.js +26 -23
  269. package/rich-text-view/definition.cjs +1 -1
  270. package/rich-text-view/definition.js +1 -1
  271. package/searchable-select/definition.cjs +1 -1
  272. package/searchable-select/definition.js +1 -1
  273. package/searchable-select/index.cjs +23 -23
  274. package/searchable-select/index.js +67 -49
  275. package/select/definition.cjs +1 -1
  276. package/select/definition.js +1 -1
  277. package/select/index.cjs +1 -1
  278. package/select/index.js +1 -1
  279. package/selectable-box/definition.cjs +1 -1
  280. package/selectable-box/definition.js +1 -1
  281. package/shared/aria/delegates-aria.d.ts +1 -1
  282. package/shared/aria/host-semantics.d.ts +1 -1
  283. package/shared/color-picker/base-color-picker.d.ts +1 -1
  284. package/shared/feedback/feedback-message.d.ts +1 -1
  285. package/shared/feedback/mixins.d.ts +2 -2
  286. package/shared/foundation/button/button.d.ts +2 -2
  287. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  288. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  289. package/shared/foundation/listbox/listbox.d.ts +2 -0
  290. package/shared/listbox/commands.d.ts +17 -0
  291. package/shared/listbox/move.d.ts +6 -0
  292. package/shared/listbox/options.d.ts +12 -0
  293. package/shared/listbox/selection.d.ts +28 -0
  294. package/shared/listbox/state.d.ts +26 -0
  295. package/shared/listbox/typeahead.d.ts +8 -0
  296. package/shared/listbox/with-options-filter.d.ts +440 -0
  297. package/shared/listbox/with-options.d.ts +862 -0
  298. package/shared/patterns/affix.d.ts +2 -2
  299. package/shared/patterns/anchored.d.ts +2 -2
  300. package/shared/patterns/char-count/char-count.d.ts +1 -1
  301. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  302. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  303. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  304. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  305. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  306. package/shared/patterns/linkable.d.ts +1 -1
  307. package/shared/patterns/localized.d.ts +2 -2
  308. package/shared/patterns/trapped-focus.d.ts +1 -1
  309. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  310. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  311. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  312. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  313. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  314. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  315. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  316. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  317. package/shared/picker-field/picker-field.d.ts +7 -7
  318. package/side-drawer/definition.cjs +1 -1
  319. package/side-drawer/definition.js +1 -1
  320. package/simple-color-picker/definition.cjs +1 -1
  321. package/simple-color-picker/definition.js +1 -1
  322. package/simple-color-picker/index.cjs +6 -6
  323. package/simple-color-picker/index.js +4 -3
  324. package/split-button/definition.cjs +1 -1
  325. package/split-button/definition.js +1 -1
  326. package/split-button/index.cjs +1 -0
  327. package/split-button/index.js +1 -0
  328. package/status/definition.cjs +1 -1
  329. package/status/definition.js +1 -1
  330. package/switch/definition.cjs +1 -1
  331. package/switch/definition.js +1 -1
  332. package/switch/index.cjs +6 -5
  333. package/switch/index.js +16 -14
  334. package/tab/definition.cjs +1 -1
  335. package/tab/definition.js +1 -1
  336. package/tab-panel/definition.cjs +1 -1
  337. package/tab-panel/definition.js +1 -1
  338. package/table/definition.cjs +1 -1
  339. package/table/definition.js +1 -1
  340. package/table/index.cjs +13 -13
  341. package/table/index.js +4 -3
  342. package/tabs/definition.cjs +1 -1
  343. package/tabs/definition.js +1 -1
  344. package/tag/definition.cjs +1 -1
  345. package/tag/definition.js +1 -1
  346. package/tag/index.cjs +11 -11
  347. package/tag/index.js +4 -3
  348. package/tag-group/definition.cjs +1 -1
  349. package/tag-group/definition.js +1 -1
  350. package/text-area/definition.cjs +1 -1
  351. package/text-area/definition.js +1 -1
  352. package/time-picker/definition.cjs +1 -1
  353. package/time-picker/definition.js +1 -1
  354. package/tree-item/definition.cjs +1 -1
  355. package/tree-item/definition.js +1 -1
  356. package/tree-view/definition.cjs +1 -1
  357. package/tree-view/definition.js +1 -1
  358. package/unbundled/affix.cjs +2 -2
  359. package/unbundled/affix.js +1 -1
  360. package/unbundled/base-progress.cjs +1 -1
  361. package/unbundled/base-progress.js +1 -1
  362. package/unbundled/button.cjs +2 -2
  363. package/unbundled/button.js +2 -2
  364. package/unbundled/definition.cjs +2 -65
  365. package/unbundled/definition.js +4 -61
  366. package/unbundled/definition11.cjs +4 -3
  367. package/unbundled/definition11.js +3 -2
  368. package/unbundled/definition12.cjs +3 -2
  369. package/unbundled/definition12.js +3 -2
  370. package/unbundled/definition13.cjs +1 -1
  371. package/unbundled/definition13.js +1 -1
  372. package/unbundled/definition14.cjs +2 -1
  373. package/unbundled/definition14.js +2 -1
  374. package/unbundled/definition17.cjs +9 -4
  375. package/unbundled/definition17.js +9 -4
  376. package/unbundled/definition2.cjs +14 -3
  377. package/unbundled/definition2.js +15 -4
  378. package/unbundled/definition21.cjs +2 -1
  379. package/unbundled/definition21.js +2 -1
  380. package/unbundled/definition23.cjs +3 -1
  381. package/unbundled/definition23.js +4 -2
  382. package/unbundled/definition24.cjs +6 -4
  383. package/unbundled/definition24.js +6 -4
  384. package/unbundled/definition25.cjs +2 -1
  385. package/unbundled/definition25.js +2 -1
  386. package/unbundled/definition26.cjs +7 -4
  387. package/unbundled/definition26.js +7 -4
  388. package/unbundled/definition27.cjs +39 -5
  389. package/unbundled/definition27.js +40 -6
  390. package/unbundled/definition28.cjs +4 -3
  391. package/unbundled/definition28.js +4 -3
  392. package/unbundled/definition29.cjs +5 -168
  393. package/unbundled/definition29.js +11 -162
  394. package/unbundled/definition30.cjs +26 -506
  395. package/unbundled/definition30.js +24 -498
  396. package/unbundled/definition31.cjs +503 -39
  397. package/unbundled/definition31.js +501 -37
  398. package/unbundled/definition32.cjs +39 -239
  399. package/unbundled/definition32.js +36 -236
  400. package/unbundled/definition33.cjs +236 -74
  401. package/unbundled/definition33.js +233 -71
  402. package/unbundled/definition34.cjs +74 -1968
  403. package/unbundled/definition34.js +70 -1940
  404. package/unbundled/definition35.cjs +1993 -26
  405. package/unbundled/definition35.js +1965 -27
  406. package/unbundled/definition36.cjs +26 -111
  407. package/unbundled/definition36.js +23 -103
  408. package/unbundled/definition37.cjs +53 -294
  409. package/unbundled/definition37.js +50 -291
  410. package/unbundled/definition38.cjs +282 -132
  411. package/unbundled/definition38.js +279 -129
  412. package/unbundled/definition39.cjs +165 -339
  413. package/unbundled/definition39.js +163 -337
  414. package/unbundled/definition40.cjs +395 -227
  415. package/unbundled/definition40.js +393 -225
  416. package/unbundled/definition41.cjs +269 -47
  417. package/unbundled/definition41.js +264 -42
  418. package/unbundled/definition42.cjs +48 -67
  419. package/unbundled/definition42.js +45 -64
  420. package/unbundled/definition43.cjs +56 -383
  421. package/unbundled/definition43.js +55 -382
  422. package/unbundled/definition44.cjs +387 -44
  423. package/unbundled/definition44.js +383 -40
  424. package/unbundled/definition45.cjs +53 -45
  425. package/unbundled/definition45.js +49 -41
  426. package/unbundled/definition46.cjs +40 -164
  427. package/unbundled/definition46.js +36 -160
  428. package/unbundled/definition47.cjs +171 -31
  429. package/unbundled/definition47.js +168 -22
  430. package/unbundled/definition48.cjs +30 -89
  431. package/unbundled/definition48.js +22 -87
  432. package/unbundled/definition49.cjs +589 -48
  433. package/unbundled/definition49.js +587 -47
  434. package/unbundled/definition50.cjs +90 -21
  435. package/unbundled/definition50.js +88 -16
  436. package/unbundled/definition51.cjs +47 -32
  437. package/unbundled/definition51.js +44 -29
  438. package/unbundled/definition52.cjs +22 -323
  439. package/unbundled/definition52.js +16 -320
  440. package/unbundled/definition53.cjs +33 -212
  441. package/unbundled/definition53.js +29 -208
  442. package/unbundled/definition54.cjs +318 -41
  443. package/unbundled/definition54.js +314 -37
  444. package/unbundled/definition55.cjs +199 -253
  445. package/unbundled/definition55.js +193 -247
  446. package/unbundled/definition56.cjs +45 -53
  447. package/unbundled/definition56.js +42 -49
  448. package/unbundled/definition57.cjs +255 -133
  449. package/unbundled/definition57.js +253 -128
  450. package/unbundled/definition58.cjs +49 -245
  451. package/unbundled/definition58.js +47 -244
  452. package/unbundled/definition59.cjs +127 -444
  453. package/unbundled/definition59.js +124 -444
  454. package/unbundled/definition6.cjs +2 -1
  455. package/unbundled/definition6.js +2 -1
  456. package/unbundled/definition60.cjs +230 -3746
  457. package/unbundled/definition60.js +223 -3576
  458. package/unbundled/definition61.cjs +427 -739
  459. package/unbundled/definition61.js +425 -737
  460. package/unbundled/definition62.cjs +3762 -103
  461. package/unbundled/definition62.js +3593 -97
  462. package/unbundled/definition63.cjs +678 -886
  463. package/unbundled/definition63.js +672 -877
  464. package/unbundled/definition64.cjs +104 -108
  465. package/unbundled/definition64.js +100 -104
  466. package/unbundled/definition65.cjs +999 -65
  467. package/unbundled/definition65.js +995 -58
  468. package/unbundled/definition66.cjs +105 -155
  469. package/unbundled/definition66.js +101 -151
  470. package/unbundled/definition67.cjs +71 -121
  471. package/unbundled/definition67.js +63 -119
  472. package/unbundled/definition68.cjs +162 -51
  473. package/unbundled/definition68.js +158 -47
  474. package/unbundled/definition69.cjs +117 -75
  475. package/unbundled/definition69.js +116 -71
  476. package/unbundled/definition70.cjs +59 -21
  477. package/unbundled/definition70.js +56 -15
  478. package/unbundled/definition71.cjs +80 -75
  479. package/unbundled/definition71.js +76 -74
  480. package/unbundled/definition72.cjs +20 -305
  481. package/unbundled/definition72.js +14 -230
  482. package/unbundled/definition73.cjs +75 -315
  483. package/unbundled/definition73.js +74 -307
  484. package/unbundled/definition74.cjs +308 -30
  485. package/unbundled/definition74.js +231 -24
  486. package/unbundled/definition75.cjs +314 -109
  487. package/unbundled/definition75.js +304 -106
  488. package/unbundled/definition76.cjs +26 -250
  489. package/unbundled/definition76.js +21 -246
  490. package/unbundled/definition77.cjs +133 -27
  491. package/unbundled/definition77.js +124 -25
  492. package/unbundled/definition78.cjs +230 -116
  493. package/unbundled/definition78.js +227 -107
  494. package/unbundled/definition79.cjs +28 -203
  495. package/unbundled/definition79.js +26 -193
  496. package/unbundled/definition80.cjs +126 -477
  497. package/unbundled/definition80.js +118 -473
  498. package/unbundled/definition81.cjs +221 -0
  499. package/unbundled/definition81.js +202 -0
  500. package/unbundled/definition82.cjs +517 -0
  501. package/unbundled/definition82.js +497 -0
  502. package/unbundled/extractOptions.cjs +21 -0
  503. package/unbundled/extractOptions.js +16 -0
  504. package/unbundled/icon.cjs +67 -0
  505. package/unbundled/icon.js +61 -0
  506. package/unbundled/linkable.cjs +1 -1
  507. package/unbundled/linkable.js +1 -1
  508. package/unbundled/listbox.cjs +29 -7
  509. package/unbundled/listbox.js +29 -7
  510. package/unbundled/mixins.cjs +2 -1
  511. package/unbundled/mixins.js +2 -1
  512. package/unbundled/optgroup.cjs +66 -0
  513. package/unbundled/optgroup.js +54 -0
  514. package/unbundled/option.cjs +176 -0
  515. package/unbundled/option.js +164 -0
  516. package/unbundled/time-selection-picker.template.cjs +1 -1
  517. package/unbundled/time-selection-picker.template.js +1 -1
  518. package/unbundled/vivid-element.cjs +10 -1
  519. package/unbundled/vivid-element.js +10 -1
  520. package/video-player/definition.cjs +1 -1
  521. package/video-player/definition.js +1 -1
  522. package/vivid.api.json +568 -231
@@ -1,82 +1,105 @@
1
- import { P as e, d as t, m as n, p as r, t as i, u as a } from "./vivid-element.js";
2
- import { r as o, t as s } from "./slotted.js";
3
- import { t as c } from "./decorate.js";
4
- import { t as l } from "./class-names.js";
5
- import { i as u, t as d } from "./definition8.js";
6
- import { n as f, t as p } from "./anchored.js";
7
- import { t as m } from "./kbd-shortcut.js";
8
- import { n as h, t as g } from "./render-in-light-dom.js";
9
- import { t as _ } from "./dialog.js";
1
+ import { A as e, P as t, d as n, m as r, p as i, t as a, u as o } from "./vivid-element.js";
2
+ import { r as s, t as c } from "./slotted.js";
3
+ import { t as l } from "./when.js";
4
+ import { t as u } from "./decorate.js";
5
+ import { t as d } from "./class-names.js";
6
+ import { i as f, t as p } from "./definition8.js";
7
+ import { n as m, t as h } from "./anchored.js";
8
+ import { t as g } from "./kbd-shortcut.js";
9
+ import { n as _, t as v } from "./render-in-light-dom.js";
10
+ import { t as y } from "./dialog.js";
10
11
  //#region src/lib/tooltip/tooltip.scss?inline
11
- var v = ":host :host{display:var(--_popup-display,inline)}:host :host([slotted-anchor]){--_popup-display:contents}.control{pointer-events:none}.tooltip{width:var(--tooltip-inline-size,auto);box-sizing:border-box;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);max-inline-size:var(--tooltip-max-inline-size,30ch);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px;display:flex}", y = class extends m(p(i)) {
12
+ var b = ":host :host{display:var(--_popup-display,inline)}:host :host([slotted-anchor]){--_popup-display:contents}.control{pointer-events:none}.tooltip{width:var(--tooltip-inline-size,auto);box-sizing:border-box;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);max-inline-size:var(--tooltip-max-inline-size,30ch);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px;display:flex}.text-secondary{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base)}", x = class extends g(h(a)) {
12
13
  constructor(...e) {
13
- super(...e), this.open = !1, this._descriptionId = `vwc-tooltip-desc-${h()}`, this.#n = () => {
14
+ super(...e), this.open = !1, this._descriptionId = `vwc-tooltip-desc-${_()}`, this._descriptionSecondaryId = `vwc-tooltip-desc-secondary-${_()}`, this._defaultSlotContent = [], this.#i = () => {
14
15
  this.open = !0;
15
- }, this.#r = () => {
16
+ }, this.#a = () => {
16
17
  this.open = !1;
17
- }, this.#a = (e) => {
18
+ }, this.#s = (e) => {
18
19
  /* v8 ignore else -- @preserve */
19
- e.key === "Escape" && this.#r();
20
+ e.key === "Escape" && this.#a();
20
21
  };
21
22
  }
23
+ _defaultSlotContentChanged() {
24
+ for (let e of this._defaultSlotContent) e.id ||= `vwc-tooltip-content-${_()}`;
25
+ this._anchorEl && this.#t(this._anchorEl);
26
+ }
22
27
  _kbdAriaShortcutsValueChanged() {
23
- this._anchorEl && e.setAttribute(this._anchorEl, "aria-keyshortcuts", this._kbdAriaShortcutsValue);
28
+ this._anchorEl && t.setAttribute(this._anchorEl, "aria-keyshortcuts", this._kbdAriaShortcutsValue);
24
29
  }
25
30
  connectedCallback() {
26
- super.connectedCallback(), this.#i();
31
+ super.connectedCallback(), this.#o();
27
32
  }
28
33
  disconnectedCallback() {
29
- super.disconnectedCallback(), this.#i();
34
+ super.disconnectedCallback(), this.#o();
30
35
  }
31
36
  _anchorElChanged(e, t) {
32
- e && this.#t(e), t && this.#e(t);
37
+ e && this.#r(e), t && this.#n(t);
38
+ }
39
+ #e() {
40
+ return [
41
+ this._descriptionId,
42
+ this._descriptionSecondaryId,
43
+ ...this._defaultSlotContent.map((e) => e.id).filter(Boolean)
44
+ ];
33
45
  }
34
- #e(t) {
35
- t.addEventListener("mouseover", this.#n), t.addEventListener("mouseout", this.#r), t.addEventListener("focusin", this.#n), t.addEventListener("focusout", this.#r);
36
- let n = t.getAttribute("aria-describedby") ?? t.ariaDescribedBy;
37
- t.setAttribute("aria-describedby", n ? `${n} ${this._descriptionId}` : this._descriptionId), e.setAttribute(t, "aria-keyshortcuts", this._kbdAriaShortcutsValue);
46
+ #t(e) {
47
+ let t = e.getAttribute("aria-describedby") ?? e.ariaDescribedBy ?? "", n = new Set(this.#e()), r = t.split(" ").filter((e) => e && !n.has(e));
48
+ e.setAttribute("aria-describedby", [...r, ...this.#e()].join(" "));
38
49
  }
39
- #t(t) {
40
- t.removeEventListener("mouseover", this.#n), t.removeEventListener("mouseout", this.#r), t.removeEventListener("focusin", this.#n), t.removeEventListener("focusout", this.#r);
41
- let n = (t.getAttribute("aria-describedby") ?? t.ariaDescribedBy ?? "").split(" ").filter((e) => e !== this._descriptionId), r = n.length ? n.join(" ") : null;
42
- t.hasAttribute("aria-describedby") ? e.setAttribute(t, "aria-describedby", r) : t.ariaDescribedBy = r, t.removeAttribute("aria-keyshortcuts");
50
+ #n(e) {
51
+ e.addEventListener("mouseover", this.#i), e.addEventListener("mouseout", this.#a), e.addEventListener("focusin", this.#i), e.addEventListener("focusout", this.#a), this.#t(e), t.setAttribute(e, "aria-keyshortcuts", this._kbdAriaShortcutsValue);
43
52
  }
44
- #n;
45
- #r;
46
- #i() {
47
- document.removeEventListener("keydown", this.#a), this.open && this.isConnected && document.addEventListener("keydown", this.#a);
53
+ #r(e) {
54
+ e.removeEventListener("mouseover", this.#i), e.removeEventListener("mouseout", this.#a), e.removeEventListener("focusin", this.#i), e.removeEventListener("focusout", this.#a);
55
+ let n = e.getAttribute("aria-describedby") ?? e.ariaDescribedBy ?? "", r = new Set(this.#e()), i = n.split(" ").filter((e) => e && !r.has(e)), a = i.length ? i.join(" ") : null;
56
+ e.hasAttribute("aria-describedby") ? t.setAttribute(e, "aria-describedby", a) : e.ariaDescribedBy = a, e.removeAttribute("aria-keyshortcuts");
48
57
  }
58
+ #i;
49
59
  #a;
60
+ #o() {
61
+ document.removeEventListener("keydown", this.#s), this.open && this.isConnected && document.addEventListener("keydown", this.#s);
62
+ }
63
+ #s;
50
64
  openChanged(e) {
51
- e !== void 0 && this.#i();
65
+ e !== void 0 && this.#o();
52
66
  }
53
67
  };
54
- c([n], y.prototype, "text", void 0), c([n({ mode: "fromView" })], y.prototype, "placement", void 0), c([n({ mode: "boolean" })], y.prototype, "open", void 0);
68
+ u([r], x.prototype, "text", void 0), u([r({ attribute: "text-secondary" })], x.prototype, "textSecondary", void 0), u([r({ mode: "fromView" })], x.prototype, "placement", void 0), u([r({ mode: "boolean" })], x.prototype, "open", void 0), u([e], x.prototype, "_defaultSlotContent", void 0);
55
69
  //#endregion
56
70
  //#region src/lib/tooltip/definition.ts
57
- var b = a("tooltip", y, (e) => {
58
- let t = e.tagFor(u);
59
- return r`
60
- ${f()}
61
- ${g(r`<span slot="_description" id="${(e) => e._descriptionId}">${(e) => e.text}</span>`)}
62
- <${t} class="${(e) => l("control", ["open", e.open])}" arrow alternate
71
+ var S = o("tooltip", x, (e) => {
72
+ let t = e.tagFor(f);
73
+ return i`
74
+ ${m()}
75
+ ${v(i`<span slot="_description" id="${(e) => e._descriptionId}">${(e) => e.text}</span><span slot="_description-secondary" id="${(e) => e._descriptionSecondaryId}">${(e) => e.textSecondary}</span>`)}
76
+ <${t} class="${(e) => d("control", ["open", e.open])}" arrow alternate
63
77
  :placement=${(e) => e.placement}
64
78
  :anchor="${(e) => e._anchorEl}"
65
79
  :open="${(e) => e.open}"
66
80
  @keydown="${(e, t) => {
67
- e.open && _(t.event) && (e.open = !1);
81
+ e.open && y(t.event) && (e.open = !1);
68
82
  }}"
69
83
  exportparts="vvd-theme-alternate">
70
84
  <div part="vvd-theme-alternate" class="tooltip" role="tooltip">
71
85
  <span class="text"><slot name="_description"></slot></span>
86
+ ${l((e) => e.textSecondary, i`<span class="text-secondary"
87
+ ><slot name="_description-secondary"></slot
88
+ ></span>`)}
89
+ <slot
90
+ ${c({
91
+ property: "_defaultSlotContent",
92
+ filter: s()
93
+ })}
94
+ ></slot>
72
95
  <slot name="kbd-shortcut"
73
- ${s({
96
+ ${c({
74
97
  property: "_kbdShortcutSlotted",
75
- filter: o()
98
+ filter: s()
76
99
  })}
77
100
  ></slot>
78
101
  </div>
79
102
  </${t}>`;
80
- }, [d], { styles: v }), x = t(b);
103
+ }, [p], { styles: b }), C = n(S);
81
104
  //#endregion
82
- export { b as n, y as r, x as t };
105
+ export { S as n, x as r, C as t };
@@ -0,0 +1 @@
1
+ const e=require(`./option.cjs`),t=require(`./optgroup.cjs`);function n(n){let r=[];for(let i of n)if(e.n(i))r.push(i);else if(t.n(i))for(let t of Array.from(i.children))e.n(t)&&r.push(t);return r}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,11 @@
1
+ import { n as e } from "./option.js";
2
+ import { n as t } from "./optgroup.js";
3
+ //#region src/shared/foundation/listbox/extractOptions.ts
4
+ function n(n) {
5
+ let r = [];
6
+ for (let i of n) if (e(i)) r.push(i);
7
+ else if (t(i)) for (let t of Array.from(i.children)) e(t) && r.push(t);
8
+ return r;
9
+ }
10
+ //#endregion
11
+ export { n as t };
@@ -0,0 +1 @@
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./numberConverter.cjs`);var r=500,i=2e3,a=class extends e.t{constructor(...e){super(...e),this.iconLoaded=!1,this.#e=0,this.#t=null}#e;#t;async nameChanged(){let e=++this.#e;this.#t&&this.#t.abort(),this.#t=new AbortController,this._svg=void 0,this.iconLoaded=!1;let t=setTimeout(()=>{this.#e===e&&(this._svg=n.r,t=setTimeout(()=>{this.#e===e&&this._svg===n.r&&(this._svg=void 0)},i))},r);try{let t=await n.n(this.name,this.#t.signal);this.#e===e&&(this._svg=t)}catch{this.#e===e&&(this._svg=void 0)}finally{this.#e===e&&(clearTimeout(t),this.iconLoaded=!0)}}};t.t([e.m],a.prototype,`connotation`,void 0),t.t([e.m({converter:n.t})],a.prototype,`size`,void 0),t.t([e.A],a.prototype,`_svg`,void 0),t.t([e.A],a.prototype,`iconLoaded`,void 0),t.t([e.m],a.prototype,`label`,void 0),t.t([e.m],a.prototype,`name`,void 0),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,34 @@
1
+ import { A as e, m as t, t as n } from "./vivid-element.js";
2
+ import { t as r } from "./decorate.js";
3
+ import { n as i, r as a, t as o } from "./numberConverter.js";
4
+ //#region src/lib/icon/icon.ts
5
+ var s = 500, c = 2e3, l = class extends n {
6
+ constructor(...e) {
7
+ super(...e), this.iconLoaded = !1, this.#e = 0, this.#t = null;
8
+ }
9
+ #e;
10
+ #t;
11
+ async nameChanged() {
12
+ let e = ++this.#e;
13
+ this.#t && this.#t.abort(), this.#t = new AbortController(), this._svg = void 0, this.iconLoaded = !1;
14
+ let t = setTimeout(() => {
15
+ /* v8 ignore else -- @preserve */
16
+ this.#e === e && (this._svg = a, t = setTimeout(() => {
17
+ /* v8 ignore else -- @preserve */
18
+ this.#e === e && this._svg === a && (this._svg = void 0);
19
+ }, c));
20
+ }, s);
21
+ try {
22
+ let t = await i(this.name, this.#t.signal);
23
+ /* v8 ignore else -- @preserve */
24
+ this.#e === e && (this._svg = t);
25
+ } catch {
26
+ this.#e === e && (this._svg = void 0);
27
+ } finally {
28
+ this.#e === e && (clearTimeout(t), this.iconLoaded = !0);
29
+ }
30
+ }
31
+ };
32
+ r([t], l.prototype, "connotation", void 0), r([t({ converter: o })], l.prototype, "size", void 0), r([e], l.prototype, "_svg", void 0), r([e], l.prototype, "iconLoaded", void 0), r([t], l.prototype, "label", void 0), r([t], l.prototype, "name", void 0);
33
+ //#endregion
34
+ export { l as t };
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./key-codes.cjs`),r=require(`./aria-binding-directive.cjs`),i=require(`./definition17.cjs`);function a(e,t){let n=e.length;for(;n--;)if(t(e[n],n,e))return n;return-1}var o=class t extends e.t{constructor(...e){super(...e),this._options=[],this.selectedIndex=-1,this.selectedOptions=[],this.shouldSkipFocus=!1,this.typeaheadBuffer=``,this.typeaheadExpired=!0,this.typeaheadTimeout=-1,this._activeDescendant=null}get firstSelectedOption(){return this.selectedOptions[0]??null}get length(){return this.options.length}get options(){return e.k.track(this,`options`),this._options}set options(t){let n=this._options;if(this._options=t,e.k.notify(this,`options`),this.$fastController.isConnected){let e=this._newDefaultSelectedIndex(n,t,this.selectedIndex);e!==null&&(this.selectedIndex=e)}}static{this.slottedOptionFilter=e=>i.i(e)&&!e.hidden}static{this.TYPE_AHEAD_TIMEOUT_MS=1e3}clickHandler(e){let t=e.target.closest(`option,[role=option],[data-vvd-component=option]`);if(t&&!t.disabled)return this.selectedIndex=this.options.indexOf(t),!0}focusAndScrollOptionIntoView(e=this.firstSelectedOption){this.contains(document.activeElement)&&e!==null&&(e.focus(),requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`})}))}focusinHandler(e){!this.shouldSkipFocus&&e.target===e.currentTarget&&(this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}getTypeaheadMatches(){let e=this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g,`\\$&`),t=RegExp(`^${e}`,`gi`);return this.options.filter(e=>e.text.trim().match(t))}getNextSelectableIndex(e){let t=this.options.reduce((t,n,r)=>!t&&!n.disabled&&r>=e?n:t,null);return this.options.indexOf(t)}getPreviousSelectableIndex(e){let t=this.options.reduceRight((t,n,r)=>!t&&!n.disabled&&r<=e?n:t,null);return this.options.indexOf(t)}handleChange(e,n){switch(n){case`selected`:t.slottedOptionFilter(e)&&(this.selectedIndex=this.options.indexOf(e)),this.setSelectedOptions();break}}handleTypeAhead(e){this.typeaheadTimeout&&window.clearTimeout(this.typeaheadTimeout),this.typeaheadTimeout=window.setTimeout(()=>this.typeaheadExpired=!0,t.TYPE_AHEAD_TIMEOUT_MS),this.typeaheadBuffer=`${this.typeaheadExpired?``:this.typeaheadBuffer}${e}`}keydownHandler(e){if(this.disabled)return!0;this.shouldSkipFocus=!1;let t=e.key;switch(t){case n.s:e.shiftKey||(e.preventDefault(),this.selectFirstOption());return;case n.t:e.shiftKey||(e.preventDefault(),this.selectNextOption());return;case n.i:e.shiftKey||(e.preventDefault(),this.selectPreviousOption());return;case`End`:e.preventDefault(),this.selectLastOption();return;case`Tab`:return this.focusAndScrollOptionIntoView(),!0;case n.a:case n.o:return!0;case` `:if(this.typeaheadExpired)return!0;default:return t.length===1&&this.handleTypeAhead(t),!0}}mousedownHandler(e){return this.shouldSkipFocus=!this.contains(document.activeElement),!0}selectedIndexChanged(e,t){let n=this._validSelectedIndex(t);if(t!==n){this.selectedIndex=n;return}this.setSelectedOptions()}_validSelectedIndex(e){return e>this.options.length-1||e<-1?-1:e}selectedOptionsChanged(n,r){let i=r.filter(t.slottedOptionFilter);this.options.forEach(t=>{let n=e.k.getNotifier(t);n.unsubscribe(this,`selected`),t.selected=i.includes(t),n.subscribe(this,`selected`)})}selectFirstOption(){this.disabled||(this.selectedIndex=this.options.findIndex(e=>!e.disabled))}selectLastOption(){this.disabled||(this.selectedIndex=a(this.options,e=>!e.disabled))}selectNextOption(){if(!this.disabled&&this.selectedIndex<this.options.length-1){let e=this.getNextSelectableIndex(this.selectedIndex+1);e!==-1&&(this.selectedIndex=e)}}selectPreviousOption(){if(!this.disabled&&this.selectedIndex>0){let e=this.getPreviousSelectableIndex(this.selectedIndex-1);e!==-1&&(this.selectedIndex=e)}}_newDefaultSelectedIndex(e,t,n){for(let[n,r]of t.entries())if(this._isDefaultSelected(r)&&!e.includes(r))return n;return null}_isDefaultSelected(e){return e.defaultSelected}setSelectedOptions(){this.selectedOptions=this.selectedIndex===-1?[]:[this.options[this.selectedIndex]],this._activeDescendant=this.firstSelectedOption?.id??``,this.focusAndScrollOptionIntoView()}slottedOptionsChanged(e,t){this.options=t.reduce((e,t)=>(i.i(t)&&e.push(t),e),[]);let n=`${this.options.length}`;this.options.forEach((e,t)=>{e.id||=r.r(`option-`),e.ariaPosInSet=`${t+1}`,e.ariaSetSize=n})}typeaheadBufferChanged(e,t){if(this.$fastController.isConnected){let e=this.getTypeaheadMatches();if(e.length){let t=this.options.indexOf(e[0]);t>-1&&(this.selectedIndex=t)}this.typeaheadExpired=!1}}};t.t([e.m({mode:`boolean`})],o.prototype,`disabled`,void 0),t.t([e.A],o.prototype,`selectedIndex`,void 0),t.t([e.A],o.prototype,`selectedOptions`,void 0),t.t([e.A],o.prototype,`slottedOptions`,void 0),t.t([e.A],o.prototype,`typeaheadBuffer`,void 0),t.t([e.A],o.prototype,`_activeDescendant`,void 0),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./key-codes.cjs`),r=require(`./aria-binding-directive.cjs`),i=require(`./option.cjs`),a=require(`./optgroup.cjs`),o=require(`./extractOptions.cjs`);function s(e,t){let n=e.length;for(;n--;)if(t(e[n],n,e))return n;return-1}var c=class t extends e.t{constructor(...e){super(...e),this._options=[],this.selectedIndex=-1,this.selectedOptions=[],this.shouldSkipFocus=!1,this.typeaheadBuffer=``,this.typeaheadExpired=!0,this.typeaheadTimeout=-1,this._activeDescendant=null,this._onOptgroupChange=()=>{this.slottedOptionsChanged(void 0,this.slottedOptions)}}get firstSelectedOption(){return this.selectedOptions[0]??null}get length(){return this.options.length}get options(){return e.k.track(this,`options`),this._options}set options(t){let n=this._options;if(this._options=t,e.k.notify(this,`options`),this.$fastController.isConnected){let e=this._newDefaultSelectedIndex(n,t,this.selectedIndex);e!==null&&(this.selectedIndex=e)}}static{this.slottedOptionFilter=e=>i.n(e)&&!e.hidden||a.n(e)}static{this.TYPE_AHEAD_TIMEOUT_MS=1e3}clickHandler(e){let t=e.target.closest(`option,[role=option],[data-vvd-component=option]`);if(t&&!t.disabled)return this.selectedIndex=this.options.indexOf(t),!0}focusAndScrollOptionIntoView(e=this.firstSelectedOption){this.contains(document.activeElement)&&e!==null&&(e.focus(),requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`})}))}focusinHandler(e){!this.shouldSkipFocus&&e.target===e.currentTarget&&(this.setSelectedOptions(),this.focusAndScrollOptionIntoView()),this.shouldSkipFocus=!1}getTypeaheadMatches(){let e=this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g,`\\$&`),t=RegExp(`^${e}`,`gi`);return this.options.filter(e=>e.text.trim().match(t))}getNextSelectableIndex(e){let t=this.options.reduce((t,n,r)=>!t&&!n.disabled&&r>=e?n:t,null);return this.options.indexOf(t)}getPreviousSelectableIndex(e){let t=this.options.reduceRight((t,n,r)=>!t&&!n.disabled&&r<=e?n:t,null);return this.options.indexOf(t)}handleChange(e,n){switch(n){case`selected`:t.slottedOptionFilter(e)&&(this.selectedIndex=this.options.indexOf(e)),this.setSelectedOptions();break}}handleTypeAhead(e){this.typeaheadTimeout&&window.clearTimeout(this.typeaheadTimeout),this.typeaheadTimeout=window.setTimeout(()=>this.typeaheadExpired=!0,t.TYPE_AHEAD_TIMEOUT_MS),this.typeaheadBuffer=`${this.typeaheadExpired?``:this.typeaheadBuffer}${e}`}keydownHandler(e){if(this.disabled)return!0;this.shouldSkipFocus=!1;let t=e.key;switch(t){case n.s:e.shiftKey||(e.preventDefault(),this.selectFirstOption());return;case n.t:e.shiftKey||(e.preventDefault(),this.selectNextOption());return;case n.i:e.shiftKey||(e.preventDefault(),this.selectPreviousOption());return;case`End`:e.preventDefault(),this.selectLastOption();return;case`Tab`:return this.focusAndScrollOptionIntoView(),!0;case n.a:case n.o:return!0;case` `:if(this.typeaheadExpired)return!0;default:return t.length===1&&this.handleTypeAhead(t),!0}}mousedownHandler(e){return this.shouldSkipFocus=!this.contains(document.activeElement),!0}selectedIndexChanged(e,t){let n=this._validSelectedIndex(t);if(t!==n){this.selectedIndex=n;return}this.setSelectedOptions()}_validSelectedIndex(e){return e>this.options.length-1||e<-1?-1:e}selectedOptionsChanged(n,r){let i=r.filter(t.slottedOptionFilter);this.options.forEach(t=>{let n=e.k.getNotifier(t);n.unsubscribe(this,`selected`),t.selected=i.includes(t),n.subscribe(this,`selected`)})}selectFirstOption(){this.disabled||(this.selectedIndex=this.options.findIndex(e=>!e.disabled))}selectLastOption(){this.disabled||(this.selectedIndex=s(this.options,e=>!e.disabled))}selectNextOption(){if(!this.disabled&&this.selectedIndex<this.options.length-1){let e=this.getNextSelectableIndex(this.selectedIndex+1);e!==-1&&(this.selectedIndex=e)}}selectPreviousOption(){if(!this.disabled&&this.selectedIndex>0){let e=this.getPreviousSelectableIndex(this.selectedIndex-1);e!==-1&&(this.selectedIndex=e)}}_newDefaultSelectedIndex(e,t,n){for(let[n,r]of t.entries())if(this._isDefaultSelected(r)&&!e.includes(r))return n;return null}_isDefaultSelected(e){return e.defaultSelected}_activeDescendantChanged(e,t){if(this.$fastController?.isConnected)for(let e of this.options)e._highlighted=!!(t&&e.id===t)}setSelectedOptions(){this.selectedOptions=this.selectedIndex===-1?[]:[this.options[this.selectedIndex]],this._activeDescendant=this.firstSelectedOption?.id??``,this.focusAndScrollOptionIntoView()}static extractOptions(e){return o.t(e)}slottedOptionsChanged(e,n){this.options=t.extractOptions(n);let i=`${this.options.length}`;this.options.forEach((e,t)=>{e.id||=r.r(`option-`),e.ariaPosInSet=`${t+1}`,e.ariaSetSize=i})}typeaheadBufferChanged(e,t){if(this.$fastController.isConnected){let e=this.getTypeaheadMatches();if(e.length){let t=this.options.indexOf(e[0]);t>-1&&(this.selectedIndex=t)}this.typeaheadExpired=!1}}connectedCallback(){super.connectedCallback(),this.addEventListener(`optgroup-change`,this._onOptgroupChange)}disconnectedCallback(){this.removeEventListener(`optgroup-change`,this._onOptgroupChange),super.disconnectedCallback()}};t.t([e.m({mode:`boolean`})],c.prototype,`disabled`,void 0),t.t([e.A],c.prototype,`selectedIndex`,void 0),t.t([e.A],c.prototype,`selectedOptions`,void 0),t.t([e.A],c.prototype,`slottedOptions`,void 0),t.t([e.A],c.prototype,`typeaheadBuffer`,void 0),t.t([e.A],c.prototype,`_activeDescendant`,void 0),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -2,18 +2,22 @@ import { A as e, k as t, m as n, t as r } from "./vivid-element.js";
2
2
  import { t as i } from "./decorate.js";
3
3
  import { a, i as o, o as s, s as c, t as l } from "./key-codes.js";
4
4
  import { r as u } from "./aria-binding-directive.js";
5
- import { i as d } from "./definition17.js";
5
+ import { n as d } from "./option.js";
6
+ import { n as f } from "./optgroup.js";
7
+ import { t as p } from "./extractOptions.js";
6
8
  //#region ../../node_modules/.pnpm/@microsoft+fast-web-utilities@6.0.0/node_modules/@microsoft/fast-web-utilities/dist/array.js
7
- function f(e, t) {
9
+ function m(e, t) {
8
10
  let n = e.length;
9
11
  for (; n--;) if (t(e[n], n, e)) return n;
10
12
  return -1;
11
13
  }
12
14
  //#endregion
13
15
  //#region src/shared/foundation/listbox/listbox.ts
14
- var p = class e extends r {
16
+ var h = class e extends r {
15
17
  constructor(...e) {
16
- super(...e), this._options = [], this.selectedIndex = -1, this.selectedOptions = [], this.shouldSkipFocus = !1, this.typeaheadBuffer = "", this.typeaheadExpired = !0, this.typeaheadTimeout = -1, this._activeDescendant = null;
18
+ super(...e), this._options = [], this.selectedIndex = -1, this.selectedOptions = [], this.shouldSkipFocus = !1, this.typeaheadBuffer = "", this.typeaheadExpired = !0, this.typeaheadTimeout = -1, this._activeDescendant = null, this._onOptgroupChange = () => {
19
+ this.slottedOptionsChanged(void 0, this.slottedOptions);
20
+ };
17
21
  }
18
22
  get firstSelectedOption() {
19
23
  return this.selectedOptions[0] ?? null;
@@ -32,7 +36,7 @@ var p = class e extends r {
32
36
  }
33
37
  }
34
38
  static {
35
- this.slottedOptionFilter = (e) => d(e) && !e.hidden;
39
+ this.slottedOptionFilter = (e) => d(e) && !e.hidden || f(e);
36
40
  }
37
41
  static {
38
42
  this.TYPE_AHEAD_TIMEOUT_MS = 1e3;
@@ -127,7 +131,7 @@ var p = class e extends r {
127
131
  }
128
132
  selectLastOption() {
129
133
  /* v8 ignore else -- @preserve */
130
- this.disabled || (this.selectedIndex = f(this.options, (e) => !e.disabled));
134
+ this.disabled || (this.selectedIndex = m(this.options, (e) => !e.disabled));
131
135
  }
132
136
  selectNextOption() {
133
137
  /* v8 ignore else -- @preserve */
@@ -150,14 +154,20 @@ var p = class e extends r {
150
154
  _isDefaultSelected(e) {
151
155
  return e.defaultSelected;
152
156
  }
157
+ _activeDescendantChanged(e, t) {
158
+ if (this.$fastController?.isConnected) for (let e of this.options) e._highlighted = !!(t && e.id === t);
159
+ }
153
160
  setSelectedOptions() {
154
161
  this.selectedOptions = this.selectedIndex === -1 ? [] : [this.options[this.selectedIndex]], this._activeDescendant = this.firstSelectedOption?.id ?? "", this.focusAndScrollOptionIntoView();
155
162
  }
156
- slottedOptionsChanged(e, t) {
157
- this.options = t.reduce((e, t) => (d(t) && e.push(t), e), []);
158
- let n = `${this.options.length}`;
163
+ static extractOptions(e) {
164
+ return p(e);
165
+ }
166
+ slottedOptionsChanged(t, n) {
167
+ this.options = e.extractOptions(n);
168
+ let r = `${this.options.length}`;
159
169
  this.options.forEach((e, t) => {
160
- e.id ||= u("option-"), e.ariaPosInSet = `${t + 1}`, e.ariaSetSize = n;
170
+ e.id ||= u("option-"), e.ariaPosInSet = `${t + 1}`, e.ariaSetSize = r;
161
171
  });
162
172
  }
163
173
  typeaheadBufferChanged(e, t) {
@@ -172,7 +182,13 @@ var p = class e extends r {
172
182
  this.typeaheadExpired = !1;
173
183
  }
174
184
  }
185
+ connectedCallback() {
186
+ super.connectedCallback(), this.addEventListener("optgroup-change", this._onOptgroupChange);
187
+ }
188
+ disconnectedCallback() {
189
+ this.removeEventListener("optgroup-change", this._onOptgroupChange), super.disconnectedCallback();
190
+ }
175
191
  };
176
- i([n({ mode: "boolean" })], p.prototype, "disabled", void 0), i([e], p.prototype, "selectedIndex", void 0), i([e], p.prototype, "selectedOptions", void 0), i([e], p.prototype, "slottedOptions", void 0), i([e], p.prototype, "typeaheadBuffer", void 0), i([e], p.prototype, "_activeDescendant", void 0);
192
+ i([n({ mode: "boolean" })], h.prototype, "disabled", void 0), i([e], h.prototype, "selectedIndex", void 0), i([e], h.prototype, "selectedOptions", void 0), i([e], h.prototype, "slottedOptions", void 0), i([e], h.prototype, "typeaheadBuffer", void 0), i([e], h.prototype, "_activeDescendant", void 0);
177
193
  //#endregion
178
- export { p as t };
194
+ export { h as t };
@@ -1,11 +1,11 @@
1
- const e=require(`./localized.cjs`),t=require(`./vivid-element.cjs`),n=require(`./slotted.cjs`),r=require(`./when.cjs`),i=require(`./definition.cjs`),a=require(`./decorate.cjs`),o=require(`./class-names.cjs`),s=require(`./definition3.cjs`),c=require(`./render-in-light-dom.cjs`);var l=`:host{display:contents}.message{contain:inline-size;font:var(--vvd-typography-base-condensed);grid-column:1/-1;gap:4px;display:flex}.message.none-message{display:none}.message.helper-message{color:var(--_low-ink-color)}.message.error-message,.message.success-message{color:var(--vvd-color-canvas-text)}slot{display:inline}.icon{font-size:16px}.error-message .icon{color:var(--vvd-color-alert-500)}.success-message .icon{color:var(--vvd-color-success-500)}.announcement{display:contents}`,u=class extends e.t(t.t){constructor(...e){super(...e),this.type=`none`}};a.t([t.m],u.prototype,`type`,void 0);function d(e,n,r){let i=e.tagFor(s.r);return t.p`<${i} class="icon" name="${n}" label="${e=>e.locale.feedbackMessage[r]}"></${i}>`}function f(e){let n={none:``,helper:``,error:d(e,`info-line`,`errorIconText`),success:d(e,`check-circle-line`,`successIconText`)};return t.p`${e=>n[e.type]}`}var p=e=>e===`error`,m=t.u(`feedback-message`,u,e=>{let n=t.p`<div
1
+ const e=require(`./localized.cjs`),t=require(`./vivid-element.cjs`),n=require(`./slotted.cjs`),r=require(`./when.cjs`),i=require(`./definition.cjs`),a=require(`./decorate.cjs`),o=require(`./class-names.cjs`),s=require(`./definition3.cjs`),c=require(`./icon.cjs`),l=require(`./render-in-light-dom.cjs`);var u=`:host{display:contents}.message{contain:inline-size;font:var(--vvd-typography-base-condensed);grid-column:1/-1;gap:4px;display:flex}.message.none-message{display:none}.message.helper-message{color:var(--_low-ink-color)}.message.error-message,.message.success-message{color:var(--vvd-color-canvas-text)}slot{display:inline}.icon{font-size:16px}.error-message .icon{color:var(--vvd-color-alert-500)}.success-message .icon{color:var(--vvd-color-success-500)}.announcement{display:contents}`,d=class extends e.t(t.t){constructor(...e){super(...e),this.type=`none`}};a.t([t.m],d.prototype,`type`,void 0);function f(e,n,r){let i=e.tagFor(c.t);return t.p`<${i} class="icon" name="${n}" label="${e=>e.locale.feedbackMessage[r]}"></${i}>`}function p(e){let n={none:``,helper:``,error:f(e,`info-line`,`errorIconText`),success:f(e,`check-circle-line`,`successIconText`)};return t.p`${e=>n[e.type]}`}var m=e=>e===`error`,h=t.u(`feedback-message`,d,e=>{let n=t.p`<div
2
2
  class="${e=>o.t(`message`,`${e.type}-message`)}"
3
3
  >
4
- ${f(e)}<slot></slot>
5
- </div>`;return t.p`${r.t(e=>!p(e.type),n)}
4
+ ${p(e)}<slot></slot>
5
+ </div>`;return t.p`${r.t(e=>!m(e.type),n)}
6
6
  <span class="announcement" role="status" aria-live="polite">
7
- ${r.t(e=>p(e.type),n)}
8
- </span>`},[s.t,i.n],{styles:l}),h=e=>{class r extends e{get _feedbackDescribedBy(){return`feedback slotted-helper-text-feedback`}_internalFeedback(){let e=this._helperTextSlottedContent?.length?``:this.helperText,t=this.errorValidationMessage,n=this.successText;return n?{type:`success`,message:n}:t?{type:`error`,message:t}:e?{type:`helper`,message:e}:{type:`none`,message:``}}_slottedHelperTextFeedbackType(){return this._internalFeedback().type===`none`&&this._helperTextSlottedContent?.length?`helper`:`none`}_getFeedbackTemplate(e){let r=e.tagFor(u);return t.p`
7
+ ${r.t(e=>m(e.type),n)}
8
+ </span>`},[s.t,i.n],{styles:u}),g=e=>{class r extends e{get _feedbackDescribedBy(){return`feedback slotted-helper-text-feedback`}_internalFeedback(){let e=this._helperTextSlottedContent?.length?``:this.helperText,t=this.errorValidationMessage,n=this.successText;return n?{type:`success`,message:n}:t?{type:`error`,message:t}:e?{type:`helper`,message:e}:{type:`none`,message:``}}_slottedHelperTextFeedbackType(){return this._internalFeedback().type===`none`&&this._helperTextSlottedContent?.length?`helper`:`none`}_getFeedbackTemplate(e){let r=e.tagFor(d);return t.p`
9
9
  <${r} id="feedback" :type="${e=>e._internalFeedback().type}">
10
10
  ${e=>e._internalFeedback().message}
11
11
  </${r}>
@@ -15,9 +15,9 @@ const e=require(`./localized.cjs`),t=require(`./vivid-element.cjs`),n=require(`.
15
15
  >
16
16
  <slot name="helper-text" ${n.t(`_helperTextSlottedContent`)}></slot>
17
17
  </${r}>
18
- `}}return a.t([t.m({attribute:`helper-text`})],r.prototype,`helperText`,void 0),a.t([t.A],r.prototype,`_helperTextSlottedContent`,void 0),r},g=e=>{let r=()=>`vvd-feedback-${c.n()}`,i=()=>`vvd-slotted-feedback-${c.n()}`;class o extends h(e){constructor(...e){super(...e),this._slottedHelperTextIds=[],this._feedbackId=r()}_helperTextSlottedContentChanged(e,t){for(let e of t)e.id||=i();this._slottedHelperTextIds=t.map(e=>e.id)}get _feedbackDescribedBy(){return[this._feedbackId,...this._slottedHelperTextIds].join(` `)}_getFeedbackTemplate(e){let r=e.tagFor(u);return t.p`
18
+ `}}return a.t([t.m({attribute:`helper-text`})],r.prototype,`helperText`,void 0),a.t([t.A],r.prototype,`_helperTextSlottedContent`,void 0),r},_=e=>{let r=()=>`vvd-feedback-${l.n()}`,i=()=>`vvd-slotted-feedback-${l.n()}`;class o extends g(e){constructor(...e){super(...e),this._slottedHelperTextIds=[],this._feedbackId=r()}_helperTextSlottedContentChanged(e,t){for(let e of t)e.id||=i();this._slottedHelperTextIds=t.map(e=>e.id)}get _feedbackDescribedBy(){return[this._feedbackId,...this._slottedHelperTextIds].join(` `)}_getFeedbackTemplate(e){let r=e.tagFor(d);return t.p`
19
19
  <slot name="_feedback"></slot>
20
- ${c.t(t.p`<${r}
20
+ ${l.t(t.p`<${r}
21
21
  slot="_feedback"
22
22
  id="${e=>e._feedbackId}"
23
23
  :type="${e=>e._internalFeedback().type}"
@@ -30,4 +30,4 @@ const e=require(`./localized.cjs`),t=require(`./vivid-element.cjs`),n=require(`.
30
30
  ${n.t(`_helperTextSlottedContent`)}
31
31
  ></slot>
32
32
  </${r}>
33
- `}}return a.t([t.A],o.prototype,`_slottedHelperTextIds`,void 0),o};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
33
+ `}}return a.t([t.A],o.prototype,`_slottedHelperTextIds`,void 0),o};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return g}});
package/bundled/mixins.js CHANGED
@@ -5,7 +5,8 @@ import { t as s } from "./when.js";
5
5
  import { n as c } from "./definition.js";
6
6
  import { t as l } from "./decorate.js";
7
7
  import { t as u } from "./class-names.js";
8
- import { r as d, t as f } from "./definition3.js";
8
+ import { t as d } from "./definition3.js";
9
+ import { t as f } from "./icon.js";
9
10
  import { n as p, t as m } from "./render-in-light-dom.js";
10
11
  //#region src/shared/feedback/feedback-message.scss?inline
11
12
  var h = ":host{display:contents}.message{contain:inline-size;font:var(--vvd-typography-base-condensed);grid-column:1/-1;gap:4px;display:flex}.message.none-message{display:none}.message.helper-message{color:var(--_low-ink-color)}.message.error-message,.message.success-message{color:var(--vvd-color-canvas-text)}slot{display:inline}.icon{font-size:16px}.error-message .icon{color:var(--vvd-color-alert-500)}.success-message .icon{color:var(--vvd-color-success-500)}.announcement{display:contents}", g = class extends e(i) {
@@ -15,7 +16,7 @@ var h = ":host{display:contents}.message{contain:inline-size;font:var(--vvd-typo
15
16
  };
16
17
  l([n], g.prototype, "type", void 0);
17
18
  function _(e, t, n) {
18
- let i = e.tagFor(d);
19
+ let i = e.tagFor(f);
19
20
  return r`<${i} class="icon" name="${t}" label="${(e) => e.locale.feedbackMessage[n]}"></${i}>`;
20
21
  }
21
22
  function v(e) {
@@ -37,7 +38,7 @@ var y = (e) => e === "error", b = a("feedback-message", g, (e) => {
37
38
  <span class="announcement" role="status" aria-live="polite">
38
39
  ${s((e) => y(e.type), t)}
39
40
  </span>`;
40
- }, [f, c], { styles: h }), x = (e) => {
41
+ }, [d, c], { styles: h }), x = (e) => {
41
42
  class i extends e {
42
43
  get _feedbackDescribedBy() {
43
44
  return "feedback slotted-helper-text-feedback";
@@ -0,0 +1 @@
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./aria-binding-directive.cjs`),r=require(`./host-semantics.cjs`);function i(e){return e instanceof a}var a=class extends r.t(e.t){constructor(...e){super(...e),this._computedLabelledBy=null}_labelSlottedContentChanged(){let e=this._labelSlottedContent.filter(e=>e instanceof Element),t=[];for(let r of e)r.id||=n.r(`vvd-optgroup-label-`),t.push(r.id);this._computedLabelledBy=t.join(` `)}_onSlotChange(){this.$emit(`optgroup-change`,void 0,{bubbles:!0,composed:!0})}};t.t([e.A],a.prototype,`_labelSlottedContent`,void 0),t.t([e.A],a.prototype,`_computedLabelledBy`,void 0),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,27 @@
1
+ import { A as e, t } from "./vivid-element.js";
2
+ import { t as n } from "./decorate.js";
3
+ import { r } from "./aria-binding-directive.js";
4
+ import { t as i } from "./host-semantics.js";
5
+ //#region src/lib/optgroup/optgroup.ts
6
+ function a(e) {
7
+ return e instanceof o;
8
+ }
9
+ var o = class extends i(t) {
10
+ constructor(...e) {
11
+ super(...e), this._computedLabelledBy = null;
12
+ }
13
+ _labelSlottedContentChanged() {
14
+ let e = this._labelSlottedContent.filter((e) => e instanceof Element), t = [];
15
+ for (let n of e) n.id ||= r("vvd-optgroup-label-"), t.push(n.id);
16
+ this._computedLabelledBy = t.join(" ");
17
+ }
18
+ _onSlotChange() {
19
+ this.$emit("optgroup-change", void 0, {
20
+ bubbles: !0,
21
+ composed: !0
22
+ });
23
+ }
24
+ };
25
+ n([e], o.prototype, "_labelSlottedContent", void 0), n([e], o.prototype, "_computedLabelledBy", void 0);
26
+ //#endregion
27
+ export { a as n, o as t };
@@ -0,0 +1 @@
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./dom.cjs`),r=require(`./affix.cjs`),i=require(`./host-semantics.cjs`);function a(e){return n.t(e)&&(e.getAttribute(`role`)===`option`||e instanceof HTMLOptionElement||e instanceof o)}var o=class extends i.t(r.n(e.t)){defaultSelectedChanged(){this.dirtySelected||(this.selected=this.defaultSelected,this.proxy instanceof HTMLOptionElement&&(this.proxy.selected=this.defaultSelected)),this.proxy instanceof HTMLOptionElement&&(this.proxy.defaultSelected=this.defaultSelected)}disabledChanged(){this.proxy instanceof HTMLOptionElement&&(this.proxy.disabled=this.disabled)}get selectedAttribute(){return this.defaultSelected}set selectedAttribute(e){this.defaultSelected=e}selectedChanged(){this.dirtySelected||=!0,this.proxy instanceof HTMLOptionElement&&(this.proxy.selected=this.selected)}valueChanged(){if(typeof this.value!=`string`){this.value=``;return}this.proxy instanceof HTMLOptionElement&&(this.proxy.value=this.value)}get label(){return this._label??this.text}set label(e){this._label=e}set text(e){this._text=e}get text(){return this._text??``}_getAccessibleName(){return this.ariaLabel||`${this.text}${this.textSecondary?` ${this.textSecondary}`:``}`}get form(){return null}get _hasMatchedText(){return!!(this.matchedText??this._vvdSearchText)}get _matchedRange(){let e=this.matchedText??this._vvdSearchText;if(e){let t=this.text.toLowerCase().indexOf(e.toLowerCase());return t===-1?{from:0,to:0}:{from:t,to:t+e.length}}return{from:0,to:0}}constructor(e,t,n,r){super(),this.defaultSelected=!1,this.dirtySelected=!1,this.value=``,this._highlighted=!1,this._displayCheckmark=!1,this._vvdSearchText=``,this._isNotMatching=!1,e&&(this.text=e),t&&(this.value=t),n&&(this.defaultSelected=n),r&&(this.selected=r),this.proxy=new Option(this.text,this.value,this.defaultSelected,this.selected),this.proxy.disabled=this.disabled}connectedCallback(){super.connectedCallback(),this.dirtySelected||=(this.selected=this.defaultSelected,!1)}};t.t([e.m({converter:{fromView:e=>{if(e===!0||e===`true`)return!0;if(e===!1||e===`false`)return!1},toView:e=>e}})],o.prototype,`checked`,void 0),t.t([e.m({attribute:`selected`,mode:`boolean`})],o.prototype,`defaultSelected`,void 0),t.t([e.m({mode:`boolean`})],o.prototype,`disabled`,void 0),t.t([e.m({attribute:`current-selected`,mode:`boolean`})],o.prototype,`selected`,void 0),t.t([e.m({attribute:`value`})],o.prototype,`value`,void 0),t.t([e.m({attribute:`label`})],o.prototype,`_label`,void 0),t.t([e.m({attribute:`text`})],o.prototype,`_text`,void 0),t.t([e.m({attribute:`text-secondary`})],o.prototype,`textSecondary`,void 0),t.t([e.A],o.prototype,`_highlighted`,void 0),t.t([e.A],o.prototype,`_displayCheckmark`,void 0),t.t([e.m({attribute:`matched-text`})],o.prototype,`matchedText`,void 0),t.t([e.A],o.prototype,`_vvdSearchText`,void 0),t.t([e.j],o.prototype,`_hasMatchedText`,null),t.t([e.A],o.prototype,`_isNotMatching`,void 0),t.t([e.j],o.prototype,`_matchedRange`,null),t.t([e.m],o.prototype,`connotation`,void 0),t.t([e.m({attribute:`tag-connotation`})],o.prototype,`tagConnotation`,void 0),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
@@ -0,0 +1,93 @@
1
+ import { A as e, j as t, m as n, t as r } from "./vivid-element.js";
2
+ import { t as i } from "./decorate.js";
3
+ import { t as a } from "./dom.js";
4
+ import { n as o } from "./affix.js";
5
+ import { t as s } from "./host-semantics.js";
6
+ //#region src/lib/option/option.ts
7
+ function c(e) {
8
+ return a(e) && (e.getAttribute("role") === "option" || e instanceof HTMLOptionElement || e instanceof l);
9
+ }
10
+ var l = class extends s(o(r)) {
11
+ defaultSelectedChanged() {
12
+ this.dirtySelected || (this.selected = this.defaultSelected, this.proxy instanceof HTMLOptionElement && (this.proxy.selected = this.defaultSelected)), this.proxy instanceof HTMLOptionElement && (this.proxy.defaultSelected = this.defaultSelected);
13
+ }
14
+ disabledChanged() {
15
+ /* v8 ignore if -- @preserve */
16
+ this.proxy instanceof HTMLOptionElement && (this.proxy.disabled = this.disabled);
17
+ }
18
+ get selectedAttribute() {
19
+ return this.defaultSelected;
20
+ }
21
+ set selectedAttribute(e) {
22
+ this.defaultSelected = e;
23
+ }
24
+ selectedChanged() {
25
+ this.dirtySelected ||= !0, this.proxy instanceof HTMLOptionElement && (this.proxy.selected = this.selected);
26
+ }
27
+ valueChanged() {
28
+ if (typeof this.value != "string") {
29
+ this.value = "";
30
+ return;
31
+ }
32
+ this.proxy instanceof HTMLOptionElement && (this.proxy.value = this.value);
33
+ }
34
+ get label() {
35
+ return this._label ?? this.text;
36
+ }
37
+ set label(e) {
38
+ this._label = e;
39
+ }
40
+ set text(e) {
41
+ this._text = e;
42
+ }
43
+ get text() {
44
+ return this._text ?? "";
45
+ }
46
+ _getAccessibleName() {
47
+ return this.ariaLabel || `${this.text}${this.textSecondary ? ` ${this.textSecondary}` : ""}`;
48
+ }
49
+ get form() {
50
+ return null;
51
+ }
52
+ get _hasMatchedText() {
53
+ return !!(this.matchedText ?? this._vvdSearchText);
54
+ }
55
+ get _matchedRange() {
56
+ let e = this.matchedText ?? this._vvdSearchText;
57
+ if (e) {
58
+ let t = this.text.toLowerCase().indexOf(e.toLowerCase());
59
+ return t === -1 ? {
60
+ from: 0,
61
+ to: 0
62
+ } : {
63
+ from: t,
64
+ to: t + e.length
65
+ };
66
+ }
67
+ return {
68
+ from: 0,
69
+ to: 0
70
+ };
71
+ }
72
+ constructor(e, t, n, r) {
73
+ super(), this.defaultSelected = !1, this.dirtySelected = !1, this.value = "", this._highlighted = !1, this._displayCheckmark = !1, this._vvdSearchText = "", this._isNotMatching = !1, e && (this.text = e), t && (this.value = t), n && (this.defaultSelected = n), r && (this.selected = r), this.proxy = new Option(this.text, this.value, this.defaultSelected, this.selected), this.proxy.disabled = this.disabled;
74
+ }
75
+ connectedCallback() {
76
+ super.connectedCallback(), this.dirtySelected ||= (this.selected = this.defaultSelected, !1);
77
+ }
78
+ };
79
+ i([n({ converter: {
80
+ fromView: (e) => {
81
+ if (e === !0 || e === "true") return !0;
82
+ if (e === !1 || e === "false") return !1;
83
+ },
84
+ toView: (e) => e
85
+ } })], l.prototype, "checked", void 0), i([n({
86
+ attribute: "selected",
87
+ mode: "boolean"
88
+ })], l.prototype, "defaultSelected", void 0), i([n({ mode: "boolean" })], l.prototype, "disabled", void 0), i([n({
89
+ attribute: "current-selected",
90
+ mode: "boolean"
91
+ })], l.prototype, "selected", void 0), i([n({ attribute: "value" })], l.prototype, "value", void 0), i([n({ attribute: "label" })], l.prototype, "_label", void 0), i([n({ attribute: "text" })], l.prototype, "_text", void 0), i([n({ attribute: "text-secondary" })], l.prototype, "textSecondary", void 0), i([e], l.prototype, "_highlighted", void 0), i([e], l.prototype, "_displayCheckmark", void 0), i([n({ attribute: "matched-text" })], l.prototype, "matchedText", void 0), i([e], l.prototype, "_vvdSearchText", void 0), i([t], l.prototype, "_hasMatchedText", null), i([e], l.prototype, "_isNotMatching", void 0), i([t], l.prototype, "_matchedRange", null), i([n], l.prototype, "connotation", void 0), i([n({ attribute: "tag-connotation" })], l.prototype, "tagConnotation", void 0);
92
+ //#endregion
93
+ export { c as n, l as t };
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`);var t=[];for(let e=0;e<256;++e)t.push((e+256).toString(16).slice(1));function n(e,n=0){return(t[e[n+0]]+t[e[n+1]]+t[e[n+2]]+t[e[n+3]]+`-`+t[e[n+4]]+t[e[n+5]]+`-`+t[e[n+6]]+t[e[n+7]]+`-`+t[e[n+8]]+t[e[n+9]]+`-`+t[e[n+10]]+t[e[n+11]]+t[e[n+12]]+t[e[n+13]]+t[e[n+14]]+t[e[n+15]]).toLowerCase()}var r,i=new Uint8Array(16);function a(){if(!r){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);r=crypto.getRandomValues.bind(crypto)}return r(i)}var o={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function s(e,t,r){if(o.randomUUID&&!t&&!e)return o.randomUUID();e||={};let i=e.random??e.rng?.()??a();if(i.length<16)throw Error(`Random bytes length must be >= 16`);if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r||=0,r<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=i[e];return t}return n(i)}var c=()=>s(),l=class{constructor(e){this.template=e}createHTML(t){return e.C.comment(t(this))}createBehavior(){return this}bind(e){let t=this.template.create();t.bind(e.source,e.context),t.appendTo(e.source),e.onUnbind({unbind:()=>{t.firstChild.parentNode&&t.lastChild.parentNode?t.dispose():t.unbind()}})}};e.x.define(l);function u(e){return new l(e)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
1
+ const e=require(`./vivid-element.cjs`);var t=[];for(let e=0;e<256;++e)t.push((e+256).toString(16).slice(1));function n(e,n=0){return(t[e[n+0]]+t[e[n+1]]+t[e[n+2]]+t[e[n+3]]+`-`+t[e[n+4]]+t[e[n+5]]+`-`+t[e[n+6]]+t[e[n+7]]+`-`+t[e[n+8]]+t[e[n+9]]+`-`+t[e[n+10]]+t[e[n+11]]+t[e[n+12]]+t[e[n+13]]+t[e[n+14]]+t[e[n+15]]).toLowerCase()}var r=new Uint8Array(16);function i(){return crypto.getRandomValues(r)}function a(e,t,n){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():o(e,t,n)}function o(e,t,r){e||={};let a=e.random??e.rng?.()??i();if(a.length<16)throw Error(`Random bytes length must be >= 16`);if(a[6]=a[6]&15|64,a[8]=a[8]&63|128,t){if(r||=0,r<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=a[e];return t}return n(a)}var s=()=>a(),c=class{constructor(e){this.template=e}createHTML(t){return e.C.comment(t(this))}createBehavior(){return this}bind(e){let t=this.template.create();t.bind(e.source,e.context),t.appendTo(e.source),e.onUnbind({unbind:()=>{t.firstChild.parentNode&&t.lastChild.parentNode?t.dispose():t.unbind()}})}};e.x.define(c);function l(e){return new c(e)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -1,27 +1,24 @@
1
1
  import { C as e, x as t } from "./vivid-element.js";
2
- //#region ../../node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/stringify.js
2
+ //#region ../../node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist/stringify.js
3
3
  var n = [];
4
4
  for (let e = 0; e < 256; ++e) n.push((e + 256).toString(16).slice(1));
5
5
  function r(e, t = 0) {
6
6
  return (n[e[t + 0]] + n[e[t + 1]] + n[e[t + 2]] + n[e[t + 3]] + "-" + n[e[t + 4]] + n[e[t + 5]] + "-" + n[e[t + 6]] + n[e[t + 7]] + "-" + n[e[t + 8]] + n[e[t + 9]] + "-" + n[e[t + 10]] + n[e[t + 11]] + n[e[t + 12]] + n[e[t + 13]] + n[e[t + 14]] + n[e[t + 15]]).toLowerCase();
7
7
  }
8
8
  //#endregion
9
- //#region ../../node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/rng.js
10
- var i, a = new Uint8Array(16);
11
- function o() {
12
- if (!i) {
13
- if (typeof crypto > "u" || !crypto.getRandomValues) throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
14
- i = crypto.getRandomValues.bind(crypto);
15
- }
16
- return i(a);
9
+ //#region ../../node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist/rng.js
10
+ var i = new Uint8Array(16);
11
+ function a() {
12
+ return crypto.getRandomValues(i);
17
13
  }
18
- var s = { randomUUID: typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto) };
19
14
  //#endregion
20
- //#region ../../node_modules/.pnpm/uuid@11.1.1/node_modules/uuid/dist/esm-browser/v4.js
21
- function c(e, t, n) {
22
- if (s.randomUUID && !t && !e) return s.randomUUID();
15
+ //#region ../../node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist/v4.js
16
+ function o(e, t, n) {
17
+ return !t && !e && crypto.randomUUID ? crypto.randomUUID() : s(e, t, n);
18
+ }
19
+ function s(e, t, n) {
23
20
  e ||= {};
24
- let i = e.random ?? e.rng?.() ?? o();
21
+ let i = e.random ?? e.rng?.() ?? a();
25
22
  if (i.length < 16) throw Error("Random bytes length must be >= 16");
26
23
  if (i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, t) {
27
24
  if (n ||= 0, n < 0 || n + 16 > t.length) throw RangeError(`UUID byte range ${n}:${n + 15} is out of buffer bounds`);
@@ -32,7 +29,7 @@ function c(e, t, n) {
32
29
  }
33
30
  //#endregion
34
31
  //#region src/shared/utils/randomId.ts
35
- var l = () => c(), u = class {
32
+ var c = () => o(), l = class {
36
33
  constructor(e) {
37
34
  this.template = e;
38
35
  }
@@ -49,9 +46,9 @@ var l = () => c(), u = class {
49
46
  } });
50
47
  }
51
48
  };
52
- t.define(u);
53
- function d(e) {
54
- return new u(e);
49
+ t.define(l);
50
+ function u(e) {
51
+ return new l(e);
55
52
  }
56
53
  //#endregion
57
- export { l as n, d as t };
54
+ export { c as n, u as t };