@vonage/vivid 5.18.0 → 5.20.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 (776) hide show
  1. package/accordion/definition.cjs +1 -2
  2. package/accordion/definition.js +1 -2
  3. package/accordion/index.cjs +2 -2
  4. package/accordion/index.js +3 -4
  5. package/accordion-item/definition.cjs +1 -2
  6. package/accordion-item/definition.js +1 -2
  7. package/accordion-item/index.cjs +1 -1
  8. package/accordion-item/index.js +0 -2
  9. package/action-group/definition.cjs +1 -1
  10. package/action-group/definition.js +1 -1
  11. package/action-group/index.cjs +4 -4
  12. package/action-group/index.js +7 -7
  13. package/alert/definition.cjs +0 -1
  14. package/alert/definition.js +0 -1
  15. package/alert/index.cjs +5 -5
  16. package/alert/index.js +20 -21
  17. package/audio-player/definition.cjs +0 -1
  18. package/audio-player/definition.js +0 -1
  19. package/audio-player/index.cjs +13 -13
  20. package/audio-player/index.js +75 -76
  21. package/avatar/definition.cjs +0 -1
  22. package/avatar/definition.js +0 -1
  23. package/avatar/index.cjs +8 -8
  24. package/avatar/index.js +21 -22
  25. package/badge/definition.cjs +0 -1
  26. package/badge/definition.js +0 -1
  27. package/badge/index.cjs +1 -1
  28. package/badge/index.js +0 -2
  29. package/banner/definition.cjs +0 -1
  30. package/banner/definition.js +0 -1
  31. package/banner/index.cjs +6 -6
  32. package/banner/index.js +20 -21
  33. package/breadcrumb/index.cjs +2 -2
  34. package/breadcrumb/index.js +4 -4
  35. package/breadcrumb-item/definition.cjs +0 -1
  36. package/breadcrumb-item/definition.js +0 -1
  37. package/breadcrumb-item/index.cjs +5 -5
  38. package/breadcrumb-item/index.js +7 -8
  39. package/bundled/affix.cjs +2 -2
  40. package/bundled/affix.js +11 -11
  41. package/bundled/anchored.cjs +1 -1
  42. package/bundled/anchored.js +6 -6
  43. package/bundled/aria-binding-directive.cjs +1 -0
  44. package/bundled/aria-binding-directive.js +101 -0
  45. package/bundled/base-color-picker.cjs +3 -3
  46. package/bundled/base-color-picker.js +5 -5
  47. package/bundled/base-progress.cjs +1 -1
  48. package/bundled/base-progress.js +3 -3
  49. package/bundled/breadcrumb-item.cjs +1 -1
  50. package/bundled/breadcrumb-item.js +1 -1
  51. package/bundled/button.cjs +1 -1
  52. package/bundled/button.js +1 -1
  53. package/bundled/calendar-event.cjs +1 -1
  54. package/bundled/calendar-event.js +5 -5
  55. package/bundled/calendar-picker.template.cjs +23 -24
  56. package/bundled/calendar-picker.template.js +29 -30
  57. package/bundled/char-count.cjs +2 -2
  58. package/bundled/char-count.js +10 -10
  59. package/bundled/children.cjs +1 -1
  60. package/bundled/children.js +7 -9
  61. package/bundled/decorate.js +1 -1
  62. package/bundled/definition.cjs +1 -1
  63. package/bundled/definition.js +2 -2
  64. package/bundled/definition10.cjs +3 -3
  65. package/bundled/definition10.js +19 -19
  66. package/bundled/definition11.cjs +2 -2
  67. package/bundled/definition11.js +8 -8
  68. package/bundled/definition12.cjs +15 -16
  69. package/bundled/definition12.js +28 -28
  70. package/bundled/definition13.cjs +3 -3
  71. package/bundled/definition13.js +6 -6
  72. package/bundled/definition14.cjs +2 -2
  73. package/bundled/definition14.js +3 -3
  74. package/bundled/definition15.cjs +7 -8
  75. package/bundled/definition15.js +18 -18
  76. package/bundled/definition16.cjs +3 -3
  77. package/bundled/definition16.js +22 -22
  78. package/bundled/definition17.cjs +7 -7
  79. package/bundled/definition17.js +12 -12
  80. package/bundled/definition18.cjs +18 -18
  81. package/bundled/definition18.js +33 -33
  82. package/bundled/definition19.cjs +2 -2
  83. package/bundled/definition19.js +3 -3
  84. package/bundled/definition2.cjs +10 -9
  85. package/bundled/definition2.js +27 -27
  86. package/bundled/definition20.cjs +19 -14
  87. package/bundled/definition20.js +53 -42
  88. package/bundled/definition21.cjs +9 -9
  89. package/bundled/definition21.js +31 -31
  90. package/bundled/definition22.cjs +3 -3
  91. package/bundled/definition22.js +8 -8
  92. package/bundled/definition23.cjs +4 -4
  93. package/bundled/definition23.js +9 -9
  94. package/bundled/definition24.cjs +8 -8
  95. package/bundled/definition24.js +23 -23
  96. package/bundled/definition3.cjs +1 -1
  97. package/bundled/definition3.js +33 -33
  98. package/bundled/definition4.cjs +9 -9
  99. package/bundled/definition4.js +20 -20
  100. package/bundled/definition5.cjs +5 -5
  101. package/bundled/definition5.js +9 -9
  102. package/bundled/definition6.cjs +7 -7
  103. package/bundled/definition6.js +27 -27
  104. package/bundled/definition7.cjs +2 -2
  105. package/bundled/definition7.js +4 -4
  106. package/bundled/definition8.cjs +4 -4
  107. package/bundled/definition8.js +15 -15
  108. package/bundled/definition9.cjs +10 -6
  109. package/bundled/definition9.js +54 -40
  110. package/bundled/delegates-aria.cjs +1 -1
  111. package/bundled/delegates-aria.js +23 -51
  112. package/bundled/divider.cjs +1 -1
  113. package/bundled/divider.js +1 -1
  114. package/bundled/form-associated.cjs +1 -1
  115. package/bundled/form-associated.js +1 -1
  116. package/bundled/form-element.cjs +1 -1
  117. package/bundled/form-element.js +8 -6
  118. package/bundled/host-semantics.cjs +1 -1
  119. package/bundled/host-semantics.js +11 -39
  120. package/bundled/kbd-shortcut.cjs +1 -0
  121. package/bundled/kbd-shortcut.js +14 -0
  122. package/bundled/linkable.cjs +2 -2
  123. package/bundled/linkable.js +5 -5
  124. package/bundled/listbox.cjs +1 -1
  125. package/bundled/listbox.js +13 -13
  126. package/bundled/localized.cjs +1 -1
  127. package/bundled/localized.js +7 -6
  128. package/bundled/mixins.cjs +16 -16
  129. package/bundled/mixins.js +39 -105
  130. package/bundled/picker-field.template.cjs +6 -6
  131. package/bundled/picker-field.template.js +33 -32
  132. package/bundled/platform.cjs +1 -0
  133. package/bundled/platform.js +9 -0
  134. package/bundled/ref.cjs +1 -1
  135. package/bundled/ref.js +2 -2
  136. package/bundled/render-in-light-dom.cjs +1 -0
  137. package/bundled/render-in-light-dom.js +57 -0
  138. package/bundled/repeat.cjs +1 -1
  139. package/bundled/repeat.js +129 -119
  140. package/bundled/slider.template.cjs +7 -7
  141. package/bundled/slider.template.js +13 -13
  142. package/bundled/slottable-request.cjs +1 -1
  143. package/bundled/slottable-request.js +1 -1
  144. package/bundled/slotted.cjs +1 -1
  145. package/bundled/slotted.js +2 -2
  146. package/bundled/text-field.cjs +1 -1
  147. package/bundled/text-field.js +1 -1
  148. package/bundled/time-selection-picker.template.cjs +4 -4
  149. package/bundled/time-selection-picker.template.js +23 -23
  150. package/bundled/vivid-element.cjs +3 -3
  151. package/bundled/vivid-element.js +634 -556
  152. package/bundled/when.cjs +1 -1
  153. package/bundled/when.js +2 -2
  154. package/bundled/with-contextual-help.cjs +1 -1
  155. package/bundled/with-contextual-help.js +1 -1
  156. package/bundled/with-error-text.cjs +1 -1
  157. package/bundled/with-error-text.js +1 -1
  158. package/bundled/with-success-text.cjs +1 -1
  159. package/bundled/with-success-text.js +1 -1
  160. package/button/definition.cjs +0 -1
  161. package/button/definition.js +0 -1
  162. package/button/index.cjs +1 -1
  163. package/button/index.js +0 -2
  164. package/calendar/index.cjs +8 -8
  165. package/calendar/index.js +9 -9
  166. package/calendar-event/index.cjs +6 -6
  167. package/calendar-event/index.js +8 -8
  168. package/card/definition.cjs +0 -1
  169. package/card/definition.js +0 -1
  170. package/card/index.cjs +24 -25
  171. package/card/index.js +42 -44
  172. package/checkbox/definition.cjs +0 -1
  173. package/checkbox/definition.js +0 -1
  174. package/checkbox/index.cjs +1 -1
  175. package/checkbox/index.js +0 -2
  176. package/color-picker/definition.cjs +0 -1
  177. package/color-picker/definition.js +0 -1
  178. package/color-picker/index.cjs +29 -29
  179. package/color-picker/index.js +114 -114
  180. package/combobox/definition.cjs +0 -1
  181. package/combobox/definition.js +0 -1
  182. package/combobox/index.cjs +13 -13
  183. package/combobox/index.js +31 -32
  184. package/contextual-help/definition.cjs +0 -1
  185. package/contextual-help/definition.js +0 -1
  186. package/contextual-help/index.cjs +1 -1
  187. package/contextual-help/index.js +0 -2
  188. package/country/definition.cjs +0 -1
  189. package/country/definition.js +0 -1
  190. package/country/index.cjs +1 -1
  191. package/country/index.js +0 -2
  192. package/country-group/definition.cjs +0 -1
  193. package/country-group/definition.js +0 -1
  194. package/country-group/index.cjs +4 -4
  195. package/country-group/index.js +30 -30
  196. package/custom-elements.json +3831 -3147
  197. package/data-grid/definition.cjs +0 -1
  198. package/data-grid/definition.js +0 -1
  199. package/data-grid/index.cjs +34 -34
  200. package/data-grid/index.js +96 -98
  201. package/date-picker/definition.cjs +1 -2
  202. package/date-picker/definition.js +1 -2
  203. package/date-picker/index.cjs +1 -1
  204. package/date-picker/index.js +2 -3
  205. package/date-range-picker/definition.cjs +1 -2
  206. package/date-range-picker/definition.js +1 -2
  207. package/date-range-picker/index.cjs +1 -1
  208. package/date-range-picker/index.js +6 -7
  209. package/date-time-picker/definition.cjs +1 -2
  210. package/date-time-picker/definition.js +1 -2
  211. package/date-time-picker/index.cjs +2 -2
  212. package/date-time-picker/index.js +4 -5
  213. package/dial-pad/definition.cjs +1 -2
  214. package/dial-pad/definition.js +1 -2
  215. package/dial-pad/index.cjs +8 -8
  216. package/dial-pad/index.js +13 -14
  217. package/dialog/definition.cjs +1 -2
  218. package/dialog/definition.js +1 -2
  219. package/dialog/index.cjs +18 -16
  220. package/dialog/index.js +39 -35
  221. package/divider/definition.cjs +1 -1
  222. package/divider/definition.js +1 -1
  223. package/divider/index.cjs +1 -1
  224. package/divider/index.js +0 -1
  225. package/elevation/index.cjs +1 -1
  226. package/elevation/index.js +0 -1
  227. package/empty-state/definition.cjs +1 -2
  228. package/empty-state/definition.js +1 -2
  229. package/empty-state/index.cjs +5 -5
  230. package/empty-state/index.js +11 -12
  231. package/fab/definition.cjs +1 -2
  232. package/fab/definition.js +1 -2
  233. package/fab/index.cjs +3 -3
  234. package/fab/index.js +9 -10
  235. package/file-picker/definition.cjs +1 -2
  236. package/file-picker/definition.js +1 -2
  237. package/file-picker/index.cjs +10 -11
  238. package/file-picker/index.js +29 -31
  239. package/flag/definition.cjs +0 -1
  240. package/flag/definition.js +0 -1
  241. package/flag/index.cjs +3 -3
  242. package/flag/index.js +11 -11
  243. package/header/definition.cjs +1 -1
  244. package/header/definition.js +1 -1
  245. package/header/index.cjs +5 -5
  246. package/header/index.js +11 -11
  247. package/icon/definition.cjs +1 -2
  248. package/icon/definition.js +1 -2
  249. package/icon/index.cjs +1 -1
  250. package/icon/index.js +0 -2
  251. package/index.cjs +184 -173
  252. package/index.js +52 -50
  253. package/kbd-key/definition.cjs +5 -0
  254. package/kbd-key/definition.js +2 -0
  255. package/kbd-key/index.cjs +5 -0
  256. package/kbd-key/index.js +65 -0
  257. package/kbd-shortcut/definition.cjs +5 -0
  258. package/kbd-shortcut/definition.js +2 -0
  259. package/kbd-shortcut/index.cjs +3 -0
  260. package/kbd-shortcut/index.js +27 -0
  261. package/layout/definition.cjs +1 -1
  262. package/layout/definition.js +1 -1
  263. package/layout/index.cjs +2 -2
  264. package/layout/index.js +3 -3
  265. package/lib/accordion-item/accordion-item.d.ts +18 -1
  266. package/lib/action-group/action-group.d.ts +18 -1
  267. package/lib/alert/alert.d.ts +36 -2
  268. package/lib/audio-player/audio-player.d.ts +18 -1
  269. package/lib/avatar/avatar.d.ts +19 -2
  270. package/lib/badge/badge.d.ts +18 -1
  271. package/lib/banner/banner.d.ts +54 -3
  272. package/lib/breadcrumb/breadcrumb.d.ts +18 -1
  273. package/lib/breadcrumb-item/breadcrumb-item.d.ts +19 -2
  274. package/lib/button/button.d.ts +55 -4
  275. package/lib/calendar-event/calendar-event.d.ts +18 -1
  276. package/lib/card/card.d.ts +19 -2
  277. package/lib/checkbox/checkbox.d.ts +107 -5
  278. package/lib/color-picker/color-picker.d.ts +126 -7
  279. package/lib/combobox/combobox.d.ts +124 -5
  280. package/lib/components.d.ts +4 -1
  281. package/lib/country-group/country-group.d.ts +36 -2
  282. package/lib/data-grid/data-grid-cell.d.ts +36 -2
  283. package/lib/data-grid/data-grid-row.d.ts +18 -1
  284. package/lib/date-picker/date-picker.d.ts +140 -4
  285. package/lib/date-range-picker/date-range-picker.d.ts +70 -2
  286. package/lib/date-time-picker/date-time-picker.d.ts +140 -4
  287. package/lib/dial-pad/dial-pad.d.ts +18 -1
  288. package/lib/dialog/dialog.d.ts +36 -2
  289. package/lib/divider/divider.d.ts +18 -1
  290. package/lib/fab/fab.d.ts +18 -1
  291. package/lib/file-picker/file-picker.d.ts +124 -5
  292. package/lib/header/header.d.ts +18 -1
  293. package/lib/icon/icon.template.d.ts +1 -2
  294. package/lib/kbd-key/definition.d.ts +4 -0
  295. package/lib/kbd-key/index.d.ts +1 -0
  296. package/lib/kbd-key/kbd-key.d.ts +18 -0
  297. package/lib/kbd-key/kbd-key.template.d.ts +4 -0
  298. package/lib/kbd-shortcut/definition.d.ts +3 -0
  299. package/lib/kbd-shortcut/index.d.ts +1 -0
  300. package/lib/kbd-shortcut/kbd-shortcut.d.ts +4 -0
  301. package/lib/kbd-shortcut/kbd-shortcut.template.d.ts +4 -0
  302. package/lib/menu/menu.d.ts +35 -1
  303. package/lib/menu-item/menu-item.d.ts +463 -2
  304. package/lib/nav/nav.d.ts +18 -1
  305. package/lib/nav-disclosure/nav-disclosure.d.ts +36 -2
  306. package/lib/nav-item/nav-item.d.ts +37 -3
  307. package/lib/note/note.d.ts +18 -1
  308. package/lib/number-field/number-field.d.ts +160 -7
  309. package/lib/option/option.d.ts +36 -2
  310. package/lib/pagination/pagination.d.ts +18 -1
  311. package/lib/platform-switch/definition.d.ts +3 -0
  312. package/lib/platform-switch/index.d.ts +1 -0
  313. package/lib/platform-switch/platform-switch.d.ts +4 -0
  314. package/lib/platform-switch/platform-switch.template.d.ts +4 -0
  315. package/lib/popover/popover.d.ts +36 -2
  316. package/lib/progress/progress.d.ts +18 -1
  317. package/lib/progress-ring/progress-ring.d.ts +18 -1
  318. package/lib/radio/radio.d.ts +53 -2
  319. package/lib/radio-group/radio-group.d.ts +18 -1
  320. package/lib/range-slider/range-slider.d.ts +52 -1
  321. package/lib/rich-text-editor/locale.d.ts +1 -0
  322. package/lib/rich-text-editor/popover.d.ts +1 -0
  323. package/lib/rich-text-editor/rich-text-editor.d.ts +17 -0
  324. package/lib/rich-text-editor/rte/utils/ui.d.ts +3 -1
  325. package/lib/searchable-select/option-tag.d.ts +18 -1
  326. package/lib/searchable-select/searchable-select.d.ts +160 -7
  327. package/lib/select/select.d.ts +160 -7
  328. package/lib/selectable-box/selectable-box.d.ts +18 -1
  329. package/lib/simple-color-picker/simple-color-picker.d.ts +35 -1
  330. package/lib/slider/slider.d.ts +53 -2
  331. package/lib/split-button/split-button.d.ts +54 -3
  332. package/lib/status/status.d.ts +18 -1
  333. package/lib/switch/switch.d.ts +36 -2
  334. package/lib/tab/tab.d.ts +54 -3
  335. package/lib/tab-panel/tab-panel.d.ts +18 -1
  336. package/lib/table/table-cell.d.ts +18 -1
  337. package/lib/table/table-header-cell.d.ts +18 -1
  338. package/lib/table/table-row.d.ts +18 -1
  339. package/lib/table/table-sorting-button.d.ts +18 -1
  340. package/lib/tag/tag.d.ts +54 -3
  341. package/lib/tag-group/tag-group.d.ts +18 -1
  342. package/lib/tag-name-map.d.ts +4 -1
  343. package/lib/text-area/text-area.d.ts +142 -6
  344. package/lib/text-field/text-field.d.ts +160 -7
  345. package/lib/time-picker/time-picker.d.ts +70 -2
  346. package/lib/toggletip/toggletip.d.ts +35 -1
  347. package/lib/tooltip/tooltip.d.ts +444 -0
  348. package/lib/tree-item/tree-item.d.ts +36 -2
  349. package/lib/tree-view/tree-view.d.ts +18 -1
  350. package/lib/video-player/video-player.d.ts +18 -1
  351. package/locales/de-DE.cjs +2 -1
  352. package/locales/de-DE.js +1 -0
  353. package/locales/en-GB.cjs +2 -1
  354. package/locales/en-GB.js +1 -0
  355. package/locales/en-US.cjs +2 -1
  356. package/locales/en-US.js +1 -0
  357. package/locales/ja-JP.cjs +2 -1
  358. package/locales/ja-JP.js +1 -0
  359. package/locales/zh-CN.cjs +2 -1
  360. package/locales/zh-CN.js +1 -0
  361. package/menu/definition.cjs +0 -1
  362. package/menu/definition.js +0 -1
  363. package/menu/index.cjs +1 -1
  364. package/menu/index.js +0 -2
  365. package/menu-item/definition.cjs +0 -1
  366. package/menu-item/definition.js +0 -1
  367. package/menu-item/index.cjs +1 -1
  368. package/menu-item/index.js +0 -2
  369. package/nav/definition.cjs +1 -1
  370. package/nav/definition.js +1 -1
  371. package/nav/index.cjs +2 -2
  372. package/nav/index.js +2 -2
  373. package/nav-disclosure/definition.cjs +1 -2
  374. package/nav-disclosure/definition.js +1 -2
  375. package/nav-disclosure/index.cjs +4 -5
  376. package/nav-disclosure/index.js +18 -19
  377. package/nav-item/definition.cjs +1 -2
  378. package/nav-item/definition.js +1 -2
  379. package/nav-item/index.cjs +2 -2
  380. package/nav-item/index.js +8 -9
  381. package/note/definition.cjs +1 -2
  382. package/note/definition.js +1 -2
  383. package/note/index.cjs +2 -2
  384. package/note/index.js +7 -8
  385. package/number-field/definition.cjs +1 -2
  386. package/number-field/definition.js +1 -2
  387. package/number-field/index.cjs +8 -9
  388. package/number-field/index.js +24 -26
  389. package/option/definition.cjs +0 -1
  390. package/option/definition.js +0 -1
  391. package/option/index.cjs +1 -1
  392. package/option/index.js +0 -2
  393. package/package.json +23 -23
  394. package/pagination/definition.cjs +1 -2
  395. package/pagination/definition.js +1 -2
  396. package/pagination/index.cjs +9 -9
  397. package/pagination/index.js +18 -19
  398. package/platform-switch/definition.cjs +5 -0
  399. package/platform-switch/definition.js +2 -0
  400. package/platform-switch/index.cjs +1 -0
  401. package/platform-switch/index.js +28 -0
  402. package/popover/definition.cjs +1 -2
  403. package/popover/definition.js +1 -2
  404. package/popover/index.cjs +8 -8
  405. package/popover/index.js +33 -34
  406. package/popup/definition.cjs +0 -1
  407. package/popup/definition.js +0 -1
  408. package/popup/index.cjs +1 -1
  409. package/popup/index.js +0 -2
  410. package/progress/definition.cjs +1 -1
  411. package/progress/definition.js +1 -1
  412. package/progress/index.cjs +5 -5
  413. package/progress/index.js +9 -9
  414. package/progress-ring/definition.cjs +1 -1
  415. package/progress-ring/definition.js +1 -1
  416. package/progress-ring/index.cjs +1 -1
  417. package/progress-ring/index.js +0 -1
  418. package/radio/definition.cjs +1 -1
  419. package/radio/definition.js +1 -1
  420. package/radio/index.cjs +1 -1
  421. package/radio/index.js +0 -1
  422. package/radio-group/definition.cjs +1 -2
  423. package/radio-group/definition.js +1 -2
  424. package/radio-group/index.cjs +6 -9
  425. package/radio-group/index.js +26 -26
  426. package/range-slider/definition.cjs +1 -2
  427. package/range-slider/definition.js +1 -2
  428. package/range-slider/index.cjs +5 -5
  429. package/range-slider/index.js +58 -59
  430. package/rich-text-editor/definition.cjs +1 -2
  431. package/rich-text-editor/definition.js +1 -2
  432. package/rich-text-editor/index.cjs +12 -10
  433. package/rich-text-editor/index.js +2080 -1988
  434. package/rich-text-view/definition.cjs +1 -1
  435. package/rich-text-view/definition.js +1 -1
  436. package/rich-text-view/index.cjs +1 -1
  437. package/rich-text-view/index.js +3 -3
  438. package/searchable-select/definition.cjs +1 -2
  439. package/searchable-select/definition.js +1 -2
  440. package/searchable-select/index.cjs +39 -41
  441. package/searchable-select/index.js +127 -126
  442. package/select/definition.cjs +1 -2
  443. package/select/definition.js +1 -2
  444. package/select/index.cjs +1 -1
  445. package/select/index.js +0 -2
  446. package/selectable-box/definition.cjs +1 -2
  447. package/selectable-box/definition.js +1 -2
  448. package/selectable-box/index.cjs +9 -9
  449. package/selectable-box/index.js +20 -21
  450. package/shared/aria/aria-binding-directive.d.ts +21 -0
  451. package/shared/aria/aria-change-subscription.d.ts +1 -0
  452. package/shared/aria/aria-mixin.d.ts +21 -3
  453. package/shared/aria/delegates-aria.d.ts +19 -2
  454. package/shared/aria/host-semantics.d.ts +19 -2
  455. package/shared/aria/idrefs-controller.d.ts +17 -0
  456. package/shared/color-picker/base-color-picker.d.ts +18 -1
  457. package/shared/feedback/feedback-message.d.ts +18 -1
  458. package/shared/feedback/mixins.d.ts +36 -2
  459. package/shared/foundation/button/button.d.ts +35 -1
  460. package/shared/foundation/form-associated/form-associated.d.ts +35 -1
  461. package/shared/foundation/vivid-element/vivid-element.d.ts +375 -0
  462. package/shared/framework/reactive-controller.d.ts +373 -0
  463. package/shared/patterns/affix.d.ts +36 -2
  464. package/shared/patterns/anchored.d.ts +34 -0
  465. package/shared/patterns/char-count/char-count.d.ts +18 -1
  466. package/shared/patterns/form-elements/form-element.d.ts +17 -0
  467. package/shared/patterns/form-elements/with-contextual-help.d.ts +18 -1
  468. package/shared/patterns/form-elements/with-error-text.d.ts +18 -1
  469. package/shared/patterns/form-elements/with-success-text.d.ts +18 -1
  470. package/shared/patterns/index.d.ts +1 -0
  471. package/shared/patterns/kbd-shortcut.d.ts +431 -0
  472. package/shared/patterns/linkable.d.ts +19 -2
  473. package/shared/patterns/localized.d.ts +35 -1
  474. package/shared/patterns/trapped-focus.d.ts +18 -1
  475. package/shared/picker-field/mixins/calendar-picker.d.ts +35 -1
  476. package/shared/picker-field/mixins/calendar-picker.template.d.ts +35 -1
  477. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +18 -1
  478. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +35 -1
  479. package/shared/picker-field/mixins/single-date-picker.d.ts +35 -1
  480. package/shared/picker-field/mixins/single-value-picker.d.ts +35 -1
  481. package/shared/picker-field/mixins/time-selection-picker.d.ts +35 -1
  482. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +70 -2
  483. package/shared/picker-field/picker-field.d.ts +124 -5
  484. package/shared/templating/render-in-light-dom.d.ts +7 -20
  485. package/shared/utils/platform.d.ts +1 -0
  486. package/side-drawer/definition.cjs +1 -1
  487. package/side-drawer/definition.js +1 -1
  488. package/side-drawer/index.cjs +3 -3
  489. package/side-drawer/index.js +4 -4
  490. package/simple-color-picker/definition.cjs +1 -2
  491. package/simple-color-picker/definition.js +1 -2
  492. package/simple-color-picker/index.cjs +2 -2
  493. package/simple-color-picker/index.js +19 -20
  494. package/slider/definition.cjs +0 -1
  495. package/slider/definition.js +0 -1
  496. package/slider/index.cjs +1 -1
  497. package/slider/index.js +0 -2
  498. package/split-button/definition.cjs +1 -2
  499. package/split-button/definition.js +1 -2
  500. package/split-button/index.cjs +6 -7
  501. package/split-button/index.js +15 -16
  502. package/status/definition.cjs +1 -2
  503. package/status/definition.js +1 -2
  504. package/status/index.cjs +4 -4
  505. package/status/index.js +11 -12
  506. package/styles/core/all.css +24 -2
  507. package/styles/core/typography.css +24 -2
  508. package/styles/fonts/spezia-variable.css +6 -0
  509. package/styles/tokens/theme-dark.css +2 -0
  510. package/styles/tokens/theme-light.css +2 -0
  511. package/switch/definition.cjs +1 -2
  512. package/switch/definition.js +1 -2
  513. package/switch/index.cjs +5 -5
  514. package/switch/index.js +8 -9
  515. package/tab/definition.cjs +1 -2
  516. package/tab/definition.js +1 -2
  517. package/tab/index.cjs +1 -1
  518. package/tab/index.js +0 -2
  519. package/tab-panel/definition.cjs +1 -1
  520. package/tab-panel/definition.js +1 -1
  521. package/tab-panel/index.cjs +1 -1
  522. package/tab-panel/index.js +0 -1
  523. package/table/definition.cjs +1 -2
  524. package/table/definition.js +1 -2
  525. package/table/index.cjs +9 -9
  526. package/table/index.js +24 -25
  527. package/tabs/definition.cjs +1 -2
  528. package/tabs/definition.js +1 -2
  529. package/tabs/index.cjs +8 -8
  530. package/tabs/index.js +34 -35
  531. package/tag/definition.cjs +1 -2
  532. package/tag/definition.js +1 -2
  533. package/tag/index.cjs +11 -11
  534. package/tag/index.js +21 -22
  535. package/tag-group/definition.cjs +1 -1
  536. package/tag-group/definition.js +1 -1
  537. package/tag-group/index.cjs +4 -4
  538. package/tag-group/index.js +6 -6
  539. package/text-area/definition.cjs +1 -2
  540. package/text-area/definition.js +1 -2
  541. package/text-area/index.cjs +8 -9
  542. package/text-area/index.js +29 -31
  543. package/text-field/definition.cjs +0 -1
  544. package/text-field/definition.js +0 -1
  545. package/text-field/index.cjs +1 -1
  546. package/text-field/index.js +0 -2
  547. package/time-picker/definition.cjs +1 -2
  548. package/time-picker/definition.js +1 -2
  549. package/time-picker/index.cjs +1 -1
  550. package/time-picker/index.js +2 -3
  551. package/toggletip/definition.cjs +0 -1
  552. package/toggletip/definition.js +0 -1
  553. package/toggletip/index.cjs +1 -1
  554. package/toggletip/index.js +0 -2
  555. package/tooltip/definition.cjs +0 -1
  556. package/tooltip/definition.js +0 -1
  557. package/tooltip/index.cjs +1 -1
  558. package/tooltip/index.js +0 -2
  559. package/tree-item/definition.cjs +1 -2
  560. package/tree-item/definition.js +1 -2
  561. package/tree-item/index.cjs +1 -1
  562. package/tree-item/index.js +0 -2
  563. package/tree-view/definition.cjs +1 -2
  564. package/tree-view/definition.js +1 -2
  565. package/tree-view/index.cjs +4 -4
  566. package/tree-view/index.js +10 -10
  567. package/unbundled/affix.cjs +1 -1
  568. package/unbundled/affix.js +1 -1
  569. package/unbundled/aria-binding-directive.cjs +152 -0
  570. package/unbundled/aria-binding-directive.js +140 -0
  571. package/unbundled/calendar-picker.template.cjs +9 -11
  572. package/unbundled/calendar-picker.template.js +9 -11
  573. package/unbundled/char-count.cjs +3 -2
  574. package/unbundled/char-count.js +3 -2
  575. package/unbundled/decorate.cjs +1 -1
  576. package/unbundled/decorate.js +1 -1
  577. package/unbundled/definition.cjs +91 -17
  578. package/unbundled/definition.js +88 -14
  579. package/unbundled/definition10.cjs +5 -4
  580. package/unbundled/definition10.js +6 -5
  581. package/unbundled/definition11.cjs +14 -10
  582. package/unbundled/definition11.js +15 -11
  583. package/unbundled/definition12.cjs +17 -4
  584. package/unbundled/definition12.js +19 -6
  585. package/unbundled/definition13.cjs +7 -6
  586. package/unbundled/definition13.js +8 -7
  587. package/unbundled/definition14.cjs +67 -58
  588. package/unbundled/definition14.js +68 -59
  589. package/unbundled/definition15.cjs +1 -1
  590. package/unbundled/definition15.js +2 -2
  591. package/unbundled/definition16.cjs +1 -1
  592. package/unbundled/definition16.js +2 -2
  593. package/unbundled/definition17.cjs +11 -9
  594. package/unbundled/definition17.js +12 -10
  595. package/unbundled/definition18.cjs +1 -1
  596. package/unbundled/definition18.js +2 -2
  597. package/unbundled/definition19.js +1 -1
  598. package/unbundled/definition2.cjs +96 -75
  599. package/unbundled/definition2.js +94 -73
  600. package/unbundled/definition20.js +1 -1
  601. package/unbundled/definition21.js +1 -1
  602. package/unbundled/definition22.cjs +2 -3
  603. package/unbundled/definition22.js +3 -4
  604. package/unbundled/definition23.cjs +4 -4
  605. package/unbundled/definition23.js +6 -6
  606. package/unbundled/definition24.cjs +17 -13
  607. package/unbundled/definition24.js +18 -14
  608. package/unbundled/definition25.cjs +1 -1
  609. package/unbundled/definition25.js +2 -2
  610. package/unbundled/definition26.cjs +24 -8
  611. package/unbundled/definition26.js +23 -7
  612. package/unbundled/definition27.cjs +39 -22
  613. package/unbundled/definition27.js +41 -24
  614. package/unbundled/definition28.cjs +10 -7
  615. package/unbundled/definition28.js +12 -9
  616. package/unbundled/definition29.cjs +1 -1
  617. package/unbundled/definition29.js +2 -2
  618. package/unbundled/definition3.cjs +154 -95
  619. package/unbundled/definition3.js +146 -93
  620. package/unbundled/definition30.cjs +5 -3
  621. package/unbundled/definition30.js +7 -5
  622. package/unbundled/definition31.cjs +1 -1
  623. package/unbundled/definition31.js +2 -2
  624. package/unbundled/definition32.cjs +30 -23
  625. package/unbundled/definition32.js +31 -24
  626. package/unbundled/definition33.cjs +5 -3
  627. package/unbundled/definition33.js +6 -4
  628. package/unbundled/definition34.cjs +303 -113
  629. package/unbundled/definition34.js +302 -112
  630. package/unbundled/definition35.cjs +26 -326
  631. package/unbundled/definition35.js +24 -247
  632. package/unbundled/definition36.cjs +131 -25
  633. package/unbundled/definition36.js +124 -23
  634. package/unbundled/definition37.cjs +326 -51
  635. package/unbundled/definition37.js +324 -49
  636. package/unbundled/definition38.cjs +137 -316
  637. package/unbundled/definition38.js +135 -314
  638. package/unbundled/definition39.cjs +337 -173
  639. package/unbundled/definition39.js +334 -170
  640. package/unbundled/definition4.cjs +34 -153
  641. package/unbundled/definition4.js +25 -145
  642. package/unbundled/definition40.cjs +234 -339
  643. package/unbundled/definition40.js +230 -335
  644. package/unbundled/definition41.cjs +48 -266
  645. package/unbundled/definition41.js +44 -262
  646. package/unbundled/definition42.cjs +68 -49
  647. package/unbundled/definition42.js +65 -46
  648. package/unbundled/definition43.cjs +424 -56
  649. package/unbundled/definition43.js +422 -54
  650. package/unbundled/definition44.cjs +45 -427
  651. package/unbundled/definition44.js +42 -424
  652. package/unbundled/definition45.cjs +45 -54
  653. package/unbundled/definition45.js +42 -51
  654. package/unbundled/definition46.cjs +178 -30
  655. package/unbundled/definition46.js +175 -26
  656. package/unbundled/definition47.cjs +29 -93
  657. package/unbundled/definition47.js +25 -90
  658. package/unbundled/definition48.cjs +76 -36
  659. package/unbundled/definition48.js +73 -33
  660. package/unbundled/definition49.cjs +56 -23
  661. package/unbundled/definition49.js +54 -18
  662. package/unbundled/definition5.cjs +56 -38
  663. package/unbundled/definition5.js +52 -28
  664. package/unbundled/definition50.cjs +23 -40
  665. package/unbundled/definition50.js +18 -38
  666. package/unbundled/definition51.cjs +30 -338
  667. package/unbundled/definition51.js +30 -338
  668. package/unbundled/definition52.cjs +317 -187
  669. package/unbundled/definition52.js +314 -184
  670. package/unbundled/definition53.cjs +194 -285
  671. package/unbundled/definition53.js +189 -280
  672. package/unbundled/definition54.cjs +47 -54
  673. package/unbundled/definition54.js +44 -50
  674. package/unbundled/definition55.cjs +279 -131
  675. package/unbundled/definition55.js +277 -128
  676. package/unbundled/definition56.cjs +50 -261
  677. package/unbundled/definition56.js +48 -260
  678. package/unbundled/definition57.cjs +128 -449
  679. package/unbundled/definition57.js +126 -448
  680. package/unbundled/definition58.cjs +235 -3596
  681. package/unbundled/definition58.js +231 -3429
  682. package/unbundled/definition59.cjs +419 -729
  683. package/unbundled/definition59.js +417 -727
  684. package/unbundled/definition6.cjs +18 -64
  685. package/unbundled/definition6.js +15 -60
  686. package/unbundled/definition60.cjs +3666 -106
  687. package/unbundled/definition60.js +3498 -101
  688. package/unbundled/definition61.cjs +625 -873
  689. package/unbundled/definition61.js +619 -867
  690. package/unbundled/definition62.cjs +106 -108
  691. package/unbundled/definition62.js +103 -105
  692. package/unbundled/definition63.cjs +1045 -71
  693. package/unbundled/definition63.js +1041 -66
  694. package/unbundled/definition64.cjs +105 -170
  695. package/unbundled/definition64.js +102 -167
  696. package/unbundled/definition65.cjs +70 -113
  697. package/unbundled/definition65.js +66 -110
  698. package/unbundled/definition66.cjs +185 -54
  699. package/unbundled/definition66.js +182 -51
  700. package/unbundled/definition67.cjs +110 -77
  701. package/unbundled/definition67.js +111 -77
  702. package/unbundled/definition68.cjs +58 -21
  703. package/unbundled/definition68.js +56 -16
  704. package/unbundled/definition69.cjs +82 -75
  705. package/unbundled/definition69.js +81 -75
  706. package/unbundled/definition7.cjs +2 -2
  707. package/unbundled/definition7.js +3 -3
  708. package/unbundled/definition70.cjs +19 -344
  709. package/unbundled/definition70.js +15 -336
  710. package/unbundled/definition71.cjs +88 -26
  711. package/unbundled/definition71.js +86 -23
  712. package/unbundled/definition72.cjs +309 -118
  713. package/unbundled/definition72.js +234 -115
  714. package/unbundled/definition73.cjs +293 -217
  715. package/unbundled/definition73.js +287 -218
  716. package/unbundled/definition74.cjs +39 -30
  717. package/unbundled/definition74.js +29 -28
  718. package/unbundled/definition75.cjs +106 -121
  719. package/unbundled/definition75.js +104 -113
  720. package/unbundled/definition76.cjs +260 -178
  721. package/unbundled/definition76.js +258 -175
  722. package/unbundled/definition77.cjs +29 -514
  723. package/unbundled/definition77.js +27 -503
  724. package/unbundled/definition78.cjs +171 -0
  725. package/unbundled/definition78.js +147 -0
  726. package/unbundled/definition79.cjs +233 -0
  727. package/unbundled/definition79.js +214 -0
  728. package/unbundled/definition8.js +1 -1
  729. package/unbundled/definition80.cjs +533 -0
  730. package/unbundled/definition80.js +513 -0
  731. package/unbundled/definition9.cjs +10 -8
  732. package/unbundled/definition9.js +11 -9
  733. package/unbundled/delegates-aria.cjs +19 -60
  734. package/unbundled/delegates-aria.js +20 -60
  735. package/unbundled/divider.cjs +6 -0
  736. package/unbundled/divider.js +6 -0
  737. package/unbundled/form-element.cjs +7 -5
  738. package/unbundled/form-element.js +7 -5
  739. package/unbundled/host-semantics.cjs +11 -45
  740. package/unbundled/host-semantics.js +11 -44
  741. package/unbundled/kbd-shortcut.cjs +26 -0
  742. package/unbundled/kbd-shortcut.js +20 -0
  743. package/unbundled/mixins.cjs +7 -77
  744. package/unbundled/mixins.js +6 -64
  745. package/unbundled/picker-field.template.cjs +20 -15
  746. package/unbundled/picker-field.template.js +20 -15
  747. package/unbundled/platform.cjs +17 -0
  748. package/unbundled/platform.js +12 -0
  749. package/unbundled/randomId.cjs +47 -0
  750. package/unbundled/randomId.js +35 -0
  751. package/unbundled/text-field.cjs +1 -1
  752. package/unbundled/text-field.js +1 -1
  753. package/unbundled/time-selection-picker.template.cjs +4 -3
  754. package/unbundled/time-selection-picker.template.js +5 -4
  755. package/unbundled/vivid-element.cjs +91 -9
  756. package/unbundled/vivid-element.js +66 -8
  757. package/video-player/definition.cjs +1 -1
  758. package/video-player/definition.js +1 -1
  759. package/video-player/index.cjs +24 -24
  760. package/video-player/index.js +3087 -3010
  761. package/visually-hidden/definition.cjs +1 -1
  762. package/visually-hidden/definition.js +1 -1
  763. package/visually-hidden/index.cjs +1 -1
  764. package/visually-hidden/index.js +0 -1
  765. package/vivid.api.json +605 -7
  766. package/bundled/attribute-binding-behaviour.cjs +0 -1
  767. package/bundled/attribute-binding-behaviour.js +0 -18
  768. package/bundled/normalize.cjs +0 -1
  769. package/bundled/normalize.js +0 -7
  770. package/bundled/strings.cjs +0 -1
  771. package/bundled/strings.js +0 -7
  772. package/shared/aria/delegate-aria-behavior.d.ts +0 -23
  773. package/shared/aria/host-semantics-behavior.d.ts +0 -19
  774. package/shared/templating/attribute-binding-behaviour.d.ts +0 -14
  775. package/unbundled/attribute-binding-behaviour.cjs +0 -37
  776. package/unbundled/attribute-binding-behaviour.js +0 -31
@@ -1,4 +1,4 @@
1
- import { T as e, d as t, l as n, o as r, s as i, t as a, u as o } from "./vivid-element.js";
1
+ import { A as e, d as t, h as n, m as r, p as i, t as a, u as o } from "./vivid-element.js";
2
2
  import { t as s } from "./ref.js";
3
3
  import { t as c } from "./when.js";
4
4
  import { t as l } from "./decorate.js";
@@ -31,7 +31,7 @@ var T = {
31
31
  ] })
32
32
  }, D = class extends a {
33
33
  constructor(...e) {
34
- super(...e), this.open = !1, this.dismissible = !1, this.arrow = !1, this.alternate = !1, this.placementStrategy = T.Flip, this.animationFrame = !1, this.strategy = "fixed", this.offset = null;
34
+ super(...e), this.open = !1, this.dismissible = !1, this.arrow = !1, this.alternate = !1, this.placementStrategy = T.Flip, this.animationFrame = !1, this.strategy = "fixed", this.offset = null, this.#a = () => (this.#i = this.updatePosition(), this.#i);
35
35
  }
36
36
  get #e() {
37
37
  let e = [
@@ -77,7 +77,7 @@ var T = {
77
77
  this.popupEl && this.strategy === "fixed" && (this.open ? this.popupEl.showPopover() : this.popupEl.hidePopover());
78
78
  }
79
79
  #i;
80
- #a = () => (this.#i = this.updatePosition(), this.#i);
80
+ #a;
81
81
  async updatePosition() {
82
82
  if (!this.open || !this.anchorEl) return;
83
83
  let e = await _(this.anchorEl, this.popupEl, {
@@ -117,12 +117,12 @@ var T = {
117
117
  this.open = !1;
118
118
  }
119
119
  };
120
- l([n({ mode: "boolean" })], D.prototype, "open", void 0), l([n({ mode: "boolean" })], D.prototype, "dismissible", void 0), l([n({ mode: "boolean" })], D.prototype, "arrow", void 0), l([n({ mode: "boolean" })], D.prototype, "alternate", void 0), l([n({ mode: "fromView" })], D.prototype, "placement", void 0), l([n({
120
+ l([r({ mode: "boolean" })], D.prototype, "open", void 0), l([r({ mode: "boolean" })], D.prototype, "dismissible", void 0), l([r({ mode: "boolean" })], D.prototype, "arrow", void 0), l([r({ mode: "boolean" })], D.prototype, "alternate", void 0), l([r({ mode: "fromView" })], D.prototype, "placement", void 0), l([r({
121
121
  mode: "boolean",
122
122
  attribute: "animation-frame"
123
- })], D.prototype, "animationFrame", void 0), l([n({ mode: "fromView" })], D.prototype, "strategy", void 0), l([n({
123
+ })], D.prototype, "animationFrame", void 0), l([r({ mode: "fromView" })], D.prototype, "strategy", void 0), l([r({
124
124
  attribute: "offset",
125
- converter: o
125
+ converter: n
126
126
  })], D.prototype, "offset", void 0), l([e], D.prototype, "anchor", void 0);
127
127
  //#endregion
128
128
  //#region src/lib/popup/popup.scss?inline
@@ -132,22 +132,22 @@ function A(e) {
132
132
  }
133
133
  //#endregion
134
134
  //#region src/lib/popup/definition.ts
135
- var j = r("popup", D, (e) => {
136
- let n = e.tagFor(p), r = e.tagFor(d);
137
- return t`
138
- <${n}>
135
+ var j = o("popup", D, (e) => {
136
+ let t = e.tagFor(p), n = e.tagFor(d);
137
+ return i`
138
+ <${t}>
139
139
  <div popover="${A}" class="popup-wrapper ${(e) => e.strategy}" ${s("popupEl")} part="popup-base">
140
140
  <div ${s("controlEl")} class="${k}" aria-hidden="${(e) => e.open ? "false" : "true"}"
141
141
  part="${(e) => e.alternate ? "vvd-theme-alternate" : ""}">
142
142
  <div class="popup-content">
143
143
  <slot></slot>
144
- ${c((e) => e.dismissible, t`<${r} size="condensed" @click="${(e) => e.open = !1}"
145
- class="dismissible-button" icon="close-small-solid" shape="pill"></${r}>`)}
144
+ ${c((e) => e.dismissible, i`<${n} size="condensed" @click="${(e) => e.open = !1}"
145
+ class="dismissible-button" icon="close-small-solid" shape="pill"></${n}>`)}
146
146
  </div>
147
- ${c((e) => e.arrow, t`<div class="arrow" ${s("arrowEl")}></div>`)}
147
+ ${c((e) => e.arrow, i`<div class="arrow" ${s("arrowEl")}></div>`)}
148
148
  </div>
149
149
  </div>
150
- </${n}>`;
151
- }, [m, f], { styles: O }), M = i(j);
150
+ </${t}>`;
151
+ }, [m, f], { styles: O }), M = t(j);
152
152
  //#endregion
153
153
  export { D as i, M as n, T as r, j as t };
@@ -1,12 +1,16 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./class-names.cjs`),r=require(`./definition8.cjs`),i=require(`./anchored.cjs`),a=require(`./dialog.cjs`);var o=`: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);padding:8px 12px}`,s=class extends i.t(e.t){constructor(...e){super(...e),this.open=!1}connectedCallback(){super.connectedCallback(),this.#a()}disconnectedCallback(){super.disconnectedCallback(),this.#a()}_anchorElChanged(e,t){e&&this.#t(e),t&&this.#e(t)}#e(e){e.addEventListener(`mouseover`,this.#n),e.addEventListener(`mouseout`,this.#r),e.addEventListener(`focusin`,this.#n),e.addEventListener(`focusout`,this.#r),e.setAttribute(`aria-haspopup`,`true`),e.setAttribute(`aria-expanded`,String(this.open))}#t(e){e.removeEventListener(`mouseover`,this.#n),e.removeEventListener(`mouseout`,this.#r),e.removeEventListener(`focusin`,this.#n),e.removeEventListener(`focusout`,this.#r),e.removeAttribute(`aria-haspopup`),e.removeAttribute(`aria-expanded`)}#n=()=>{this.open=!0,this.#i()};#r=()=>{this.open=!1,this.#i()};#i(){this._anchorEl&&this._anchorEl.setAttribute(`aria-expanded`,String(this.open))}#a(){document.removeEventListener(`keydown`,this.#o),this.open&&this.isConnected&&document.addEventListener(`keydown`,this.#o)}#o=e=>{e.key===`Escape`&&this.#r()};openChanged(e){e!==void 0&&this.#a()}};t.t([e.l],s.prototype,`text`,void 0),t.t([e.l({mode:`fromView`})],s.prototype,`placement`,void 0),t.t([e.l({mode:`boolean`})],s.prototype,`open`,void 0);var c=({open:e})=>n.t(`control`,[`open`,!!e]),l=e.o(`tooltip`,s,t=>{let n=t.tagFor(r.i);return e.d`
2
- ${i.n()}
3
- <${n} class="${c}" arrow alternate
1
+ const e=require(`./vivid-element.cjs`),t=require(`./slotted.cjs`),n=require(`./decorate.cjs`),r=require(`./kbd-shortcut.cjs`),i=require(`./class-names.cjs`),a=require(`./definition8.cjs`),o=require(`./anchored.cjs`),s=require(`./render-in-light-dom.cjs`),c=require(`./dialog.cjs`);var l=`: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}`,u=class extends r.t(o.t(e.t)){constructor(...e){super(...e),this.open=!1,this._descriptionId=`vwc-tooltip-desc-${s.n()}`,this.#n=()=>{this.open=!0},this.#r=()=>{this.open=!1},this.#a=e=>{e.key===`Escape`&&this.#r()}}_kbdAriaShortcutsValueChanged(){this._anchorEl&&e.P.setAttribute(this._anchorEl,`aria-keyshortcuts`,this._kbdAriaShortcutsValue)}connectedCallback(){super.connectedCallback(),this.#i()}disconnectedCallback(){super.disconnectedCallback(),this.#i()}_anchorElChanged(e,t){e&&this.#t(e),t&&this.#e(t)}#e(t){t.addEventListener(`mouseover`,this.#n),t.addEventListener(`mouseout`,this.#r),t.addEventListener(`focusin`,this.#n),t.addEventListener(`focusout`,this.#r);let n=t.getAttribute(`aria-describedby`)??t.ariaDescribedBy;t.setAttribute(`aria-describedby`,n?`${n} ${this._descriptionId}`:this._descriptionId),e.P.setAttribute(t,`aria-keyshortcuts`,this._kbdAriaShortcutsValue)}#t(t){t.removeEventListener(`mouseover`,this.#n),t.removeEventListener(`mouseout`,this.#r),t.removeEventListener(`focusin`,this.#n),t.removeEventListener(`focusout`,this.#r);let n=(t.getAttribute(`aria-describedby`)??t.ariaDescribedBy??``).split(` `).filter(e=>e!==this._descriptionId),r=n.length?n.join(` `):null;t.hasAttribute(`aria-describedby`)?e.P.setAttribute(t,`aria-describedby`,r):t.ariaDescribedBy=r,t.removeAttribute(`aria-keyshortcuts`)}#n;#r;#i(){document.removeEventListener(`keydown`,this.#a),this.open&&this.isConnected&&document.addEventListener(`keydown`,this.#a)}#a;openChanged(e){e!==void 0&&this.#i()}};n.t([e.m],u.prototype,`text`,void 0),n.t([e.m({mode:`fromView`})],u.prototype,`placement`,void 0),n.t([e.m({mode:`boolean`})],u.prototype,`open`,void 0);var d=({open:e})=>i.t(`control`,[`open`,!!e]),f=e.u(`tooltip`,u,n=>{let r=n.tagFor(a.i);return e.p`
2
+ ${o.n()}
3
+ ${s.t(e.p`<span slot="_description" id="${e=>e._descriptionId}">${e=>e.text}</span>`)}
4
+ <${r} class="${d}" arrow alternate
4
5
  :placement=${e=>e.placement}
5
6
  :anchor="${e=>e._anchorEl}"
6
7
  :open="${e=>e.open}"
7
- @keydown="${(e,t)=>{e.open&&a.t(t.event)&&(e.open=!1)}}"
8
+ @keydown="${(e,t)=>{e.open&&c.t(t.event)&&(e.open=!1)}}"
8
9
  exportparts="vvd-theme-alternate">
9
10
  <div part="vvd-theme-alternate" class="tooltip" role="tooltip">
10
- ${e=>e.text}
11
+ <span class="text"><slot name="_description"></slot></span>
12
+ <slot name="kbd-shortcut"
13
+ ${t.t({property:`_kbdShortcutSlotted`,filter:t.r()})}
14
+ ></slot>
11
15
  </div>
12
- </${n}>`},[r.t],{styles:o}),u=e.s(l);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
16
+ </${r}>`},[a.t],{styles:l}),p=e.d(f);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -1,68 +1,82 @@
1
- import { d as e, l as t, o as n, s as r, t as i } from "./vivid-element.js";
2
- import { t as a } from "./decorate.js";
3
- import { t as o } from "./class-names.js";
4
- import { i as s, t as c } from "./definition8.js";
5
- import { n as l, t as u } from "./anchored.js";
6
- import { t as d } from "./dialog.js";
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 "./kbd-shortcut.js";
5
+ import { t as u } from "./class-names.js";
6
+ import { i as d, t as f } from "./definition8.js";
7
+ import { n as p, t as m } from "./anchored.js";
8
+ import { n as h, t as g } from "./render-in-light-dom.js";
9
+ import { t as _ } from "./dialog.js";
7
10
  //#region src/lib/tooltip/tooltip.scss?inline
8
- var f = ":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);padding:8px 12px}", p = class extends u(i) {
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 l(m(i)) {
9
12
  constructor(...e) {
10
- super(...e), this.open = !1;
13
+ super(...e), this.open = !1, this._descriptionId = `vwc-tooltip-desc-${h()}`, this.#n = () => {
14
+ this.open = !0;
15
+ }, this.#r = () => {
16
+ this.open = !1;
17
+ }, this.#a = (e) => {
18
+ /* v8 ignore else -- @preserve */
19
+ e.key === "Escape" && this.#r();
20
+ };
21
+ }
22
+ _kbdAriaShortcutsValueChanged() {
23
+ this._anchorEl && e.setAttribute(this._anchorEl, "aria-keyshortcuts", this._kbdAriaShortcutsValue);
11
24
  }
12
25
  connectedCallback() {
13
- super.connectedCallback(), this.#a();
26
+ super.connectedCallback(), this.#i();
14
27
  }
15
28
  disconnectedCallback() {
16
- super.disconnectedCallback(), this.#a();
29
+ super.disconnectedCallback(), this.#i();
17
30
  }
18
31
  _anchorElChanged(e, t) {
19
32
  e && this.#t(e), t && this.#e(t);
20
33
  }
21
- #e(e) {
22
- e.addEventListener("mouseover", this.#n), e.addEventListener("mouseout", this.#r), e.addEventListener("focusin", this.#n), e.addEventListener("focusout", this.#r), e.setAttribute("aria-haspopup", "true"), e.setAttribute("aria-expanded", String(this.open));
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);
23
38
  }
24
- #t(e) {
25
- e.removeEventListener("mouseover", this.#n), e.removeEventListener("mouseout", this.#r), e.removeEventListener("focusin", this.#n), e.removeEventListener("focusout", this.#r), e.removeAttribute("aria-haspopup"), e.removeAttribute("aria-expanded");
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");
26
43
  }
27
- #n = () => {
28
- this.open = !0, this.#i();
29
- };
30
- #r = () => {
31
- this.open = !1, this.#i();
32
- };
44
+ #n;
45
+ #r;
33
46
  #i() {
34
- this._anchorEl && this._anchorEl.setAttribute("aria-expanded", String(this.open));
35
- }
36
- #a() {
37
- document.removeEventListener("keydown", this.#o), this.open && this.isConnected && document.addEventListener("keydown", this.#o);
47
+ document.removeEventListener("keydown", this.#a), this.open && this.isConnected && document.addEventListener("keydown", this.#a);
38
48
  }
39
- #o = (e) => {
40
- /* v8 ignore else -- @preserve */
41
- e.key === "Escape" && this.#r();
42
- };
49
+ #a;
43
50
  openChanged(e) {
44
- e !== void 0 && this.#a();
51
+ e !== void 0 && this.#i();
45
52
  }
46
53
  };
47
- a([t], p.prototype, "text", void 0), a([t({ mode: "fromView" })], p.prototype, "placement", void 0), a([t({ mode: "boolean" })], p.prototype, "open", void 0);
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);
48
55
  //#endregion
49
56
  //#region src/lib/tooltip/tooltip.template.ts
50
- var m = ({ open: e }) => o("control", ["open", !!e]), h = n("tooltip", p, (t) => {
51
- let n = t.tagFor(s);
52
- return e`
53
- ${l()}
54
- <${n} class="${m}" arrow alternate
57
+ var b = ({ open: e }) => u("control", ["open", !!e]), x = a("tooltip", y, (e) => {
58
+ let t = e.tagFor(d);
59
+ return r`
60
+ ${p()}
61
+ ${g(r`<span slot="_description" id="${(e) => e._descriptionId}">${(e) => e.text}</span>`)}
62
+ <${t} class="${b}" arrow alternate
55
63
  :placement=${(e) => e.placement}
56
64
  :anchor="${(e) => e._anchorEl}"
57
65
  :open="${(e) => e.open}"
58
66
  @keydown="${(e, t) => {
59
- e.open && d(t.event) && (e.open = !1);
67
+ e.open && _(t.event) && (e.open = !1);
60
68
  }}"
61
69
  exportparts="vvd-theme-alternate">
62
70
  <div part="vvd-theme-alternate" class="tooltip" role="tooltip">
63
- ${(e) => e.text}
71
+ <span class="text"><slot name="_description"></slot></span>
72
+ <slot name="kbd-shortcut"
73
+ ${s({
74
+ property: "_kbdShortcutSlotted",
75
+ filter: o()
76
+ })}
77
+ ></slot>
64
78
  </div>
65
- </${n}>`;
66
- }, [c], { styles: f }), g = r(h);
79
+ </${t}>`;
80
+ }, [f], { styles: v }), S = t(x);
67
81
  //#endregion
68
- export { h as n, p as r, g as t };
82
+ export { x as n, y as r, S as t };
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./attribute-binding-behaviour.cjs`);var n=class{constructor(e,t){this.target=null,this.bindingBehaviours=[],this.onSourceAriaPropertyChanged=(e,t)=>{!this.forwardedProperties.has(t)||t in this.boundProperties||this.forwardPropertyToTarget(this.target,t,e[t])},this.target=e,this.boundProperties=t.boundProperties,this.forwardedProperties=t.forwardedProperties}bind(e){let t=e.source;this.bindPropertiesToTarget(t,this.boundProperties,this.target),this.startForwardingPropertiesToTarget(t,this.forwardedProperties,this.target)}bindPropertiesToTarget(n,r,i){for(let[n,a]of Object.entries(r)){let r=a instanceof Function?a:()=>a;this.bindingBehaviours.push(new t.t(i,e.x(r),e.w.isVolatileBinding(r),e.r(n)))}for(let e of this.bindingBehaviours)e.bind({source:n,context:n.$fastController.context})}startForwardingPropertiesToTarget(t,n,r){for(let e of n)e in this.boundProperties||this.forwardPropertyToTarget(r,e,t[e]);e.a(t,this.onSourceAriaPropertyChanged)}forwardPropertyToTarget(t,n,r){r==null||r===!1?t.removeAttribute(e.r(n)):t.setAttribute(e.r(n),String(r))}},r=class extends e.h{constructor(e,t){super(`vvd-delegate-aria`),this.boundProperties=e,this.forwardedProperties=t,this.targetNodeId=``}bind(e){let t=e.targets[this.targetNodeId];new n(t,{boundProperties:this.boundProperties,forwardedProperties:this.forwardedProperties}).bind(e)}};e.m.define(r);function i(t={},n={}){return new r(t,new Set((n.onlySpecified?[]:e.i).filter(e=>!(e in t))))}var a=e=>{class t extends e{constructor(...e){super(...e),this._vividAriaBehaviour=`delegate`}}return t};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
1
+ const e=require(`./vivid-element.cjs`),t=require(`./aria-binding-directive.cjs`);function n(n={},r={}){return new t.t({boundProperties:n,forwardedValueProperties:new Set((r.onlySpecified?[]:e.a).filter(e=>!(e in n))),forwardedIdrefsProperties:new Set((r.onlySpecified?[]:e.i).filter(e=>!(e in n)))})}var r=n=>{class r extends n{constructor(...e){super(...e),this._vividAriaBehaviour=`delegate`}}for(let n of e.i)r.prototype[`${n}Changed`]=function(){t.n.for(this,n).setAttribute(this[n])},Object.defineProperty(r.prototype,`${n}Elements`,{get(){return t.n.resolvedElements(this,n)},set(e){t.n.for(this,n).setElements(e)}});return r};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -1,58 +1,30 @@
1
- import { a as e, h as t, i as n, m as r, r as i, w as a, x as o } from "./vivid-element.js";
2
- import { t as s } from "./attribute-binding-behaviour.js";
3
- //#region src/shared/aria/delegate-aria-behavior.ts
4
- var c = class {
5
- constructor(e, t) {
6
- this.target = null, this.bindingBehaviours = [], this.onSourceAriaPropertyChanged = (e, t) => {
7
- !this.forwardedProperties.has(t) || t in this.boundProperties || this.forwardPropertyToTarget(this.target, t, e[t]);
8
- }, this.target = e, this.boundProperties = t.boundProperties, this.forwardedProperties = t.forwardedProperties;
9
- }
10
- bind(e) {
11
- let t = e.source;
12
- this.bindPropertiesToTarget(t, this.boundProperties, this.target), this.startForwardingPropertiesToTarget(t, this.forwardedProperties, this.target);
13
- }
14
- bindPropertiesToTarget(e, t, n) {
15
- for (let [e, r] of Object.entries(t)) {
16
- let t = r instanceof Function ? r : () => r;
17
- this.bindingBehaviours.push(new s(n, o(t), a.isVolatileBinding(t), i(e)));
18
- }
19
- for (let t of this.bindingBehaviours) t.bind({
20
- source: e,
21
- context: e.$fastController.context
22
- });
23
- }
24
- startForwardingPropertiesToTarget(t, n, r) {
25
- for (let e of n)
26
- /* v8 ignore else -- @preserve */
27
- e in this.boundProperties || this.forwardPropertyToTarget(r, e, t[e]);
28
- e(t, this.onSourceAriaPropertyChanged);
29
- }
30
- forwardPropertyToTarget(e, t, n) {
31
- n == null || n === !1 ? e.removeAttribute(i(t)) : e.setAttribute(i(t), String(n));
32
- }
33
- }, l = class extends t {
34
- constructor(e, t) {
35
- super("vvd-delegate-aria"), this.boundProperties = e, this.forwardedProperties = t, this.targetNodeId = "";
36
- }
37
- bind(e) {
38
- let t = e.targets[this.targetNodeId];
39
- new c(t, {
40
- boundProperties: this.boundProperties,
41
- forwardedProperties: this.forwardedProperties
42
- }).bind(e);
43
- }
44
- };
45
- r.define(l);
46
- function u(e = {}, t = {}) {
47
- return new l(e, new Set((t.onlySpecified ? [] : n).filter((t) => !(t in e))));
1
+ import { a as e, i as t } from "./vivid-element.js";
2
+ import { n, t as r } from "./aria-binding-directive.js";
3
+ //#region src/shared/aria/delegates-aria.ts
4
+ function i(n = {}, i = {}) {
5
+ return new r({
6
+ boundProperties: n,
7
+ forwardedValueProperties: new Set((i.onlySpecified ? [] : e).filter((e) => !(e in n))),
8
+ forwardedIdrefsProperties: new Set((i.onlySpecified ? [] : t).filter((e) => !(e in n)))
9
+ });
48
10
  }
49
- var d = (e) => {
50
- class t extends e {
11
+ var a = (e) => {
12
+ class r extends e {
51
13
  constructor(...e) {
52
14
  super(...e), this._vividAriaBehaviour = "delegate";
53
15
  }
54
16
  }
55
- return t;
17
+ for (let e of t) r.prototype[`${e}Changed`] = function() {
18
+ n.for(this, e).setAttribute(this[e]);
19
+ }, Object.defineProperty(r.prototype, `${e}Elements`, {
20
+ get() {
21
+ return n.resolvedElements(this, e);
22
+ },
23
+ set(t) {
24
+ n.for(this, e).setElements(t);
25
+ }
26
+ });
27
+ return r;
56
28
  };
57
29
  //#endregion
58
- export { u as n, d as t };
30
+ export { i as n, a as t };
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./enums.cjs`),n=require(`./decorate.cjs`),r=require(`./aria.cjs`),i=require(`./host-semantics.cjs`);var a={separator:`separator`,presentation:`presentation`},o=class extends i.t(e.t){constructor(...e){super(...e),this.role=a.separator,this.orientation=r.t.horizontal,this.appearance=t.t.Ghost}};n.t([e.l],o.prototype,`orientation`,void 0),n.t([e.l],o.prototype,`appearance`,void 0),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
1
+ const e=require(`./vivid-element.cjs`),t=require(`./enums.cjs`),n=require(`./decorate.cjs`),r=require(`./aria.cjs`),i=require(`./host-semantics.cjs`);var a={separator:`separator`,presentation:`presentation`},o=class extends i.t(e.t){constructor(...e){super(...e),this.role=a.separator,this.orientation=r.t.horizontal,this.appearance=t.t.Ghost}};n.t([e.m],o.prototype,`orientation`,void 0),n.t([e.m],o.prototype,`appearance`,void 0),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
@@ -1,4 +1,4 @@
1
- import { l as e, t } from "./vivid-element.js";
1
+ import { m as e, t } from "./vivid-element.js";
2
2
  import { t as n } from "./enums.js";
3
3
  import { t as r } from "./decorate.js";
4
4
  import { t as i } from "./aria.js";
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./key-codes.cjs`);var r=`form-associated-proxy`,i=`ElementInternals`,a=i in window&&`setFormValue`in window[i].prototype,o=new WeakMap,s=i=>{class s extends i{static get formAssociated(){return a}get validity(){return this.elementInternals?this.elementInternals.validity:this.proxy.validity}get form(){return this.elementInternals?this.elementInternals.form:this.proxy.form}get validationMessage(){return this.elementInternals?this.elementInternals.validationMessage:this.proxy.validationMessage}get willValidate(){return this.elementInternals?this.elementInternals.willValidate:this.proxy.willValidate}get labels(){if(this.elementInternals)return Object.freeze(Array.from(this.elementInternals.labels));if(this.proxy instanceof HTMLElement&&this.proxy.ownerDocument&&this.id){let e=this.proxy.labels,t=Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));return Object.freeze(t.concat(Array.from(e)))}else return e.A}valueChanged(e,t){this.dirtyValue=!0,this.proxy instanceof HTMLElement&&(this.proxy.value=this.value),this.setFormValue(this.value),this.validate()}get currentValue(){return this.value}set currentValue(e){this.value=e}initialValueChanged(e,t){this.dirtyValue||=(this.value=this.initialValue,!1)}disabledChanged(t,n){this.proxy instanceof HTMLElement&&(this.proxy.disabled=this.disabled),e.O.enqueue(()=>this.classList.toggle(`disabled`,this.disabled))}nameChanged(e,t){this.proxy instanceof HTMLElement&&(this.proxy.name=this.name)}requiredChanged(t,n){this.proxy instanceof HTMLElement&&(this.proxy.required=this.required),e.O.enqueue(()=>this.classList.toggle(`required`,this.required)),this.validate()}get elementInternals(){if(!a)return null;let e=o.get(this);return e||(e=this.attachInternals(),o.set(this,e)),e}constructor(...e){super(...e),this.dirtyValue=!1,this.disabled=!1,this.proxyEventsToBlock=[`change`,`click`],this.proxyInitialized=!1,this.required=!1,this.initialValue=this.initialValue||``,this.elementInternals||(this.formResetCallback=this.formResetCallback.bind(this))}connectedCallback(){super.connectedCallback(),this.addEventListener(`keypress`,this._keypressHandler),this.value||(this.value=this.initialValue,this.dirtyValue=!1),this.elementInternals||(this.attachProxy(),this.form&&this.form.addEventListener(`reset`,this.formResetCallback))}disconnectedCallback(){super.disconnectedCallback(),this.proxyEventsToBlock.forEach(e=>this.proxy.removeEventListener(e,this.stopPropagation)),!this.elementInternals&&this.form&&this.form.removeEventListener(`reset`,this.formResetCallback)}checkValidity(){return this.elementInternals?this.elementInternals.checkValidity():this.proxy.checkValidity()}reportValidity(){return this.elementInternals?this.elementInternals.reportValidity():this.proxy.reportValidity()}setValidity(e,t,n){if(`valid`in e&&this.disabled){let{valid:t,...n}=e;e=n}this.elementInternals?this.elementInternals.setValidity(e,t,n):typeof t==`string`&&this.proxy.setCustomValidity(t)}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.value=this.initialValue,this.dirtyValue=!1}attachProxy(){this.proxyInitialized||(this.proxyInitialized=!0,this.proxy.style.display=`none`,this.proxyEventsToBlock.forEach(e=>this.proxy.addEventListener(e,this.stopPropagation)),this.proxy.disabled=this.disabled,this.proxy.required=this.required,typeof this.name==`string`&&(this.proxy.name=this.name),typeof this.value==`string`&&(this.proxy.value=this.value),this.proxy.setAttribute(`slot`,r),this.proxySlot=document.createElement(`slot`),this.proxySlot.setAttribute(`name`,r)),this.shadowRoot.appendChild(this.proxySlot),this.appendChild(this.proxy)}detachProxy(){this.removeChild(this.proxy),this.shadowRoot.removeChild(this.proxySlot)}validate(e){if(this.proxy instanceof HTMLElement&&this.elementInternals){let t=this.proxy.validity.valid,n=this.control,r=n&&n.validity&&!n.validity.valid&&(n.validity.tooShort||n.validity.tooLong);t&&r?this.setValidity(n.validity,n.validationMessage,e):this.setValidity(this.proxy.validity,this.proxy.validationMessage,e)}}setFormValue(e,t){this.elementInternals&&this.elementInternals.setFormValue(e,t||e)}_keypressHandler(e){switch(e.key){case n.a:this.form instanceof HTMLFormElement&&this.form.querySelector(`[type=submit]`)?.click();break}}stopPropagation(e){e.stopPropagation()}}return t.t([e.l({attribute:`current-value`})],s.prototype,`value`,void 0),t.t([e.l({mode:`fromView`,attribute:`value`})],s.prototype,`initialValue`,void 0),t.t([e.l({mode:`boolean`})],s.prototype,`disabled`,void 0),t.t([e.l],s.prototype,`name`,void 0),t.t([e.l({mode:`boolean`})],s.prototype,`required`,void 0),s},c={fromView(e){return typeof e==`string`?e.toLowerCase()===`true`:!!e},toView(e){return e?`true`:`false`}},l=n=>{class r extends s(n){constructor(...e){super(...e),this.dirtyChecked=!1,this.defaultChecked=!1}defaultCheckedChanged(){this.dirtyChecked||=(this.checked=this.defaultChecked,!1)}checkedChanged(e,t){this.dirtyChecked||=!0,this.updateForm(),this.proxy instanceof HTMLInputElement&&(this.proxy.checked=this.checked),e!==void 0&&this.$emit(`change`),this.validate()}get checkedAttribute(){return this.defaultChecked}set checkedAttribute(e){this.defaultChecked=e}get currentChecked(){return this.checked}set currentChecked(e){this.checked=e}updateForm(){let e=this.checked?this.value:null;this.setFormValue(e,e)}connectedCallback(){super.connectedCallback(),this.updateForm()}formResetCallback(){super.formResetCallback(),this.checked=!!this.defaultChecked,this.dirtyChecked=!1}}return t.t([e.l({attribute:`checked`,mode:`boolean`})],r.prototype,`defaultChecked`,void 0),t.t([e.l({attribute:`current-checked`,converter:c})],r.prototype,`checked`,void 0),r};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./key-codes.cjs`);var r=`form-associated-proxy`,i=`ElementInternals`,a=i in window&&`setFormValue`in window[i].prototype,o=new WeakMap,s=i=>{class s extends i{static get formAssociated(){return a}get validity(){return this.elementInternals?this.elementInternals.validity:this.proxy.validity}get form(){return this.elementInternals?this.elementInternals.form:this.proxy.form}get validationMessage(){return this.elementInternals?this.elementInternals.validationMessage:this.proxy.validationMessage}get willValidate(){return this.elementInternals?this.elementInternals.willValidate:this.proxy.willValidate}get labels(){if(this.elementInternals)return Object.freeze(Array.from(this.elementInternals.labels));if(this.proxy instanceof HTMLElement&&this.proxy.ownerDocument&&this.id){let e=this.proxy.labels,t=Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));return Object.freeze(t.concat(Array.from(e)))}else return e.F}valueChanged(e,t){this.dirtyValue=!0,this.proxy instanceof HTMLElement&&(this.proxy.value=this.value),this.setFormValue(this.value),this.validate()}get currentValue(){return this.value}set currentValue(e){this.value=e}initialValueChanged(e,t){this.dirtyValue||=(this.value=this.initialValue,!1)}disabledChanged(t,n){this.proxy instanceof HTMLElement&&(this.proxy.disabled=this.disabled),e.M.enqueue(()=>this.classList.toggle(`disabled`,this.disabled))}nameChanged(e,t){this.proxy instanceof HTMLElement&&(this.proxy.name=this.name)}requiredChanged(t,n){this.proxy instanceof HTMLElement&&(this.proxy.required=this.required),e.M.enqueue(()=>this.classList.toggle(`required`,this.required)),this.validate()}get elementInternals(){if(!a)return null;let e=o.get(this);return e||(e=this.attachInternals(),o.set(this,e)),e}constructor(...e){super(...e),this.dirtyValue=!1,this.disabled=!1,this.proxyEventsToBlock=[`change`,`click`],this.proxyInitialized=!1,this.required=!1,this.initialValue=this.initialValue||``,this.elementInternals||(this.formResetCallback=this.formResetCallback.bind(this))}connectedCallback(){super.connectedCallback(),this.addEventListener(`keypress`,this._keypressHandler),this.value||(this.value=this.initialValue,this.dirtyValue=!1),this.elementInternals||(this.attachProxy(),this.form&&this.form.addEventListener(`reset`,this.formResetCallback))}disconnectedCallback(){super.disconnectedCallback(),this.proxyEventsToBlock.forEach(e=>this.proxy.removeEventListener(e,this.stopPropagation)),!this.elementInternals&&this.form&&this.form.removeEventListener(`reset`,this.formResetCallback)}checkValidity(){return this.elementInternals?this.elementInternals.checkValidity():this.proxy.checkValidity()}reportValidity(){return this.elementInternals?this.elementInternals.reportValidity():this.proxy.reportValidity()}setValidity(e,t,n){if(`valid`in e&&this.disabled){let{valid:t,...n}=e;e=n}this.elementInternals?this.elementInternals.setValidity(e,t,n):typeof t==`string`&&this.proxy.setCustomValidity(t)}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.value=this.initialValue,this.dirtyValue=!1}attachProxy(){this.proxyInitialized||(this.proxyInitialized=!0,this.proxy.style.display=`none`,this.proxyEventsToBlock.forEach(e=>this.proxy.addEventListener(e,this.stopPropagation)),this.proxy.disabled=this.disabled,this.proxy.required=this.required,typeof this.name==`string`&&(this.proxy.name=this.name),typeof this.value==`string`&&(this.proxy.value=this.value),this.proxy.setAttribute(`slot`,r),this.proxySlot=document.createElement(`slot`),this.proxySlot.setAttribute(`name`,r)),this.shadowRoot.appendChild(this.proxySlot),this.appendChild(this.proxy)}detachProxy(){this.removeChild(this.proxy),this.shadowRoot.removeChild(this.proxySlot)}validate(e){if(this.proxy instanceof HTMLElement&&this.elementInternals){let t=this.proxy.validity.valid,n=this.control,r=n&&n.validity&&!n.validity.valid&&(n.validity.tooShort||n.validity.tooLong);t&&r?this.setValidity(n.validity,n.validationMessage,e):this.setValidity(this.proxy.validity,this.proxy.validationMessage,e)}}setFormValue(e,t){this.elementInternals&&this.elementInternals.setFormValue(e,t||e)}_keypressHandler(e){switch(e.key){case n.a:this.form instanceof HTMLFormElement&&this.form.querySelector(`[type=submit]`)?.click();break}}stopPropagation(e){e.stopPropagation()}}return t.t([e.m({attribute:`current-value`})],s.prototype,`value`,void 0),t.t([e.m({mode:`fromView`,attribute:`value`})],s.prototype,`initialValue`,void 0),t.t([e.m({mode:`boolean`})],s.prototype,`disabled`,void 0),t.t([e.m],s.prototype,`name`,void 0),t.t([e.m({mode:`boolean`})],s.prototype,`required`,void 0),s},c={fromView(e){return typeof e==`string`?e.toLowerCase()===`true`:!!e},toView(e){return e?`true`:`false`}},l=n=>{class r extends s(n){constructor(...e){super(...e),this.dirtyChecked=!1,this.defaultChecked=!1}defaultCheckedChanged(){this.dirtyChecked||=(this.checked=this.defaultChecked,!1)}checkedChanged(e,t){this.dirtyChecked||=!0,this.updateForm(),this.proxy instanceof HTMLInputElement&&(this.proxy.checked=this.checked),e!==void 0&&this.$emit(`change`),this.validate()}get checkedAttribute(){return this.defaultChecked}set checkedAttribute(e){this.defaultChecked=e}get currentChecked(){return this.checked}set currentChecked(e){this.checked=e}updateForm(){let e=this.checked?this.value:null;this.setFormValue(e,e)}connectedCallback(){super.connectedCallback(),this.updateForm()}formResetCallback(){super.formResetCallback(),this.checked=!!this.defaultChecked,this.dirtyChecked=!1}}return t.t([e.m({attribute:`checked`,mode:`boolean`})],r.prototype,`defaultChecked`,void 0),t.t([e.m({attribute:`current-checked`,converter:c})],r.prototype,`checked`,void 0),r};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -1,4 +1,4 @@
1
- import { A as e, O as t, l as n } from "./vivid-element.js";
1
+ import { F as e, M as t, m as n } from "./vivid-element.js";
2
2
  import { t as r } from "./decorate.js";
3
3
  import { a as i } from "./key-codes.js";
4
4
  //#region src/shared/foundation/form-associated/form-associated.ts
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`);var n=n=>{class r extends n{constructor(...e){super(...e),this.errorValidationMessage=``,this.forceErrorDisplay=!1,this.hasBeenTouched=!1,this.addEventListener(`blur`,()=>{this.hasBeenTouched=!0,this.forceErrorDisplay=!1,this.validate()}),this.addEventListener(`focus`,()=>{this.hasBeenTouched=!1}),this.addEventListener(`invalid`,()=>{this.proxy.dispatchEvent(new Event(`invalid`))})}connectedCallback(){super.connectedCallback(),this.proxy.addEventListener(`invalid`,this.#e)}#e=()=>{this.forceErrorDisplay=!0,this.validate()};disconnectedCallback(){super.disconnectedCallback(),this.proxy.removeEventListener(`invalid`,this.#e)}formResetCallback(){this.forceErrorDisplay=!1,super.formResetCallback(),this.validate()}validate(){super.validate(),this.errorValidationMessage=this.forceErrorDisplay||this.hasBeenTouched&&this.dirtyValue?this.validationMessage:``}}return t.t([e.l],r.prototype,`label`,void 0),t.t([e.T],r.prototype,`errorValidationMessage`,void 0),r};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`);var n=n=>{class r extends n{constructor(...e){super(...e),this.errorValidationMessage=``,this.forceErrorDisplay=!1,this.hasBeenTouched=!1,this.#e=()=>{this.forceErrorDisplay=!0,this.validate()},this.addEventListener(`blur`,()=>{this.hasBeenTouched=!0,this.forceErrorDisplay=!1,this.validate()}),this.addEventListener(`focus`,()=>{this.hasBeenTouched=!1}),this.addEventListener(`invalid`,()=>{this.proxy.dispatchEvent(new Event(`invalid`))})}connectedCallback(){super.connectedCallback(),this.proxy.addEventListener(`invalid`,this.#e)}#e;disconnectedCallback(){super.disconnectedCallback(),this.proxy.removeEventListener(`invalid`,this.#e)}formResetCallback(){this.forceErrorDisplay=!1,super.formResetCallback(),this.validate()}validate(){super.validate();let e=this.forceErrorDisplay||this.hasBeenTouched&&this.dirtyValue;this.errorValidationMessage=e?this.validationMessage:``}}return t.t([e.m],r.prototype,`label`,void 0),t.t([e.A],r.prototype,`errorValidationMessage`,void 0),r};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1,10 +1,12 @@
1
- import { T as e, l as t } from "./vivid-element.js";
1
+ import { A as e, m as t } from "./vivid-element.js";
2
2
  import { t as n } from "./decorate.js";
3
3
  //#region src/shared/patterns/form-elements/form-element.ts
4
4
  var r = (r) => {
5
5
  class i extends r {
6
6
  constructor(...e) {
7
- super(...e), this.errorValidationMessage = "", this.forceErrorDisplay = !1, this.hasBeenTouched = !1, this.addEventListener("blur", () => {
7
+ super(...e), this.errorValidationMessage = "", this.forceErrorDisplay = !1, this.hasBeenTouched = !1, this.#e = () => {
8
+ this.forceErrorDisplay = !0, this.validate();
9
+ }, this.addEventListener("blur", () => {
8
10
  this.hasBeenTouched = !0, this.forceErrorDisplay = !1, this.validate();
9
11
  }), this.addEventListener("focus", () => {
10
12
  this.hasBeenTouched = !1;
@@ -15,9 +17,7 @@ var r = (r) => {
15
17
  connectedCallback() {
16
18
  super.connectedCallback(), this.proxy.addEventListener("invalid", this.#e);
17
19
  }
18
- #e = () => {
19
- this.forceErrorDisplay = !0, this.validate();
20
- };
20
+ #e;
21
21
  disconnectedCallback() {
22
22
  super.disconnectedCallback(), this.proxy.removeEventListener("invalid", this.#e);
23
23
  }
@@ -25,7 +25,9 @@ var r = (r) => {
25
25
  this.forceErrorDisplay = !1, super.formResetCallback(), this.validate();
26
26
  }
27
27
  validate() {
28
- super.validate(), this.errorValidationMessage = this.forceErrorDisplay || this.hasBeenTouched && this.dirtyValue ? this.validationMessage : "";
28
+ super.validate();
29
+ let e = this.forceErrorDisplay || this.hasBeenTouched && this.dirtyValue;
30
+ this.errorValidationMessage = e ? this.validationMessage : "";
29
31
  }
30
32
  }
31
33
  return n([t], i.prototype, "label", void 0), n([e], i.prototype, "errorValidationMessage", void 0), i;
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./attribute-binding-behaviour.cjs`);var n=class{constructor(e,t){this.target=null,this.bindingBehaviours=[],this.target=e,this.boundProperties=t.boundProperties}bind(e){let t=e.source;if(this.target!==t)throw Error(`Target element must be the same as the source element`);this.bindPropertiesToTarget(t,this.boundProperties,this.target)}bindPropertiesToTarget(n,r,i){for(let[n,a]of Object.entries(r)){let r=a instanceof Function?a:e=>e[n]??a;this.bindingBehaviours.push(new t.t(i,e.x(r),!0,e.r(n)))}for(let e of this.bindingBehaviours)e.bind({source:n,context:n.$fastController.context})}},r=class extends e.h{constructor(e){super(`vvd-host-semantics`),this.boundProperties=e,this.targetNodeId=``}bind(t){let r=t.targets[this.targetNodeId];new n(r,{boundProperties:this.boundProperties,forwardedProperties:new Set(e.i.filter(e=>!(e in this.boundProperties)))}).bind(t)}};e.m.define(r);function i(e={}){return new r(e)}var a=e=>{class t extends e{constructor(...e){super(...e),this._vividAriaBehaviour=`host`}}return t};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
1
+ const e=require(`./aria-binding-directive.cjs`);function t(t={}){return new e.t({boundProperties:t,forwardedValueProperties:new Set,forwardedIdrefsProperties:new Set,requireHost:!0})}var n=e=>{class t extends e{constructor(...e){super(...e),this._vividAriaBehaviour=`host`}}return t};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1,42 +1,14 @@
1
- import { h as e, i as t, m as n, r, x as i } from "./vivid-element.js";
2
- import { t as a } from "./attribute-binding-behaviour.js";
3
- //#region src/shared/aria/host-semantics-behavior.ts
4
- var o = class {
5
- constructor(e, t) {
6
- this.target = null, this.bindingBehaviours = [], this.target = e, this.boundProperties = t.boundProperties;
7
- }
8
- bind(e) {
9
- let t = e.source;
10
- if (this.target !== t) throw Error("Target element must be the same as the source element");
11
- this.bindPropertiesToTarget(t, this.boundProperties, this.target);
12
- }
13
- bindPropertiesToTarget(e, t, n) {
14
- for (let [e, o] of Object.entries(t)) {
15
- let t = o instanceof Function ? o : (t) => t[e] ?? o;
16
- this.bindingBehaviours.push(new a(n, i(t), !0, r(e)));
17
- }
18
- for (let t of this.bindingBehaviours) t.bind({
19
- source: e,
20
- context: e.$fastController.context
21
- });
22
- }
23
- }, s = class extends e {
24
- constructor(e) {
25
- super("vvd-host-semantics"), this.boundProperties = e, this.targetNodeId = "";
26
- }
27
- bind(e) {
28
- let n = e.targets[this.targetNodeId];
29
- new o(n, {
30
- boundProperties: this.boundProperties,
31
- forwardedProperties: new Set(t.filter((e) => !(e in this.boundProperties)))
32
- }).bind(e);
33
- }
34
- };
35
- n.define(s);
36
- function c(e = {}) {
37
- return new s(e);
1
+ import { t as e } from "./aria-binding-directive.js";
2
+ //#region src/shared/aria/host-semantics.ts
3
+ function t(t = {}) {
4
+ return new e({
5
+ boundProperties: t,
6
+ forwardedValueProperties: /* @__PURE__ */ new Set(),
7
+ forwardedIdrefsProperties: /* @__PURE__ */ new Set(),
8
+ requireHost: !0
9
+ });
38
10
  }
39
- var l = (e) => {
11
+ var n = (e) => {
40
12
  class t extends e {
41
13
  constructor(...e) {
42
14
  super(...e), this._vividAriaBehaviour = "host";
@@ -45,4 +17,4 @@ var l = (e) => {
45
17
  return t;
46
18
  };
47
19
  //#endregion
48
- export { c as n, l as t };
20
+ export { t as n, n as t };
@@ -0,0 +1 @@
1
+ const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`);var n=n=>{class r extends n{_kbdShortcutSlottedChanged(){let e=this._kbdShortcutSlotted.find(e=>typeof e.getKeyshortcutsValue==`function`);this._kbdAriaShortcutsValue=e?.getKeyshortcutsValue()??void 0}}return t.t([e.A],r.prototype,`_kbdShortcutSlotted`,void 0),t.t([e.A],r.prototype,`_kbdAriaShortcutsValue`,void 0),r};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,14 @@
1
+ import { A as e } from "./vivid-element.js";
2
+ import { t } from "./decorate.js";
3
+ //#region src/shared/patterns/kbd-shortcut.ts
4
+ var n = (n) => {
5
+ class r extends n {
6
+ _kbdShortcutSlottedChanged() {
7
+ let e = this._kbdShortcutSlotted.find((e) => typeof e.getKeyshortcutsValue == "function");
8
+ this._kbdAriaShortcutsValue = e?.getKeyshortcutsValue() ?? void 0;
9
+ }
10
+ }
11
+ return t([e], r.prototype, "_kbdShortcutSlotted", void 0), t([e], r.prototype, "_kbdAriaShortcutsValue", void 0), r;
12
+ };
13
+ //#endregion
14
+ export { n as t };
@@ -1,4 +1,4 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./ref.cjs`),n=require(`./decorate.cjs`),r=require(`./delegates-aria.cjs`);var i=i=>{class a extends r.t(i){constructor(...n){super(...n),this._renderLinkElement=(n,i,a)=>e.d`<a
1
+ const e=require(`./vivid-element.cjs`),t=require(`./ref.cjs`),n=require(`./decorate.cjs`),r=require(`./delegates-aria.cjs`);var i=i=>{class a extends r.t(i){constructor(...n){super(...n),this._renderLinkElement=(n,i,a)=>e.p`<a
2
2
  class="${i}"
3
3
  download="${e=>e.download}"
4
4
  href="${e=>e.href}"
@@ -12,4 +12,4 @@ const e=require(`./vivid-element.cjs`),t=require(`./ref.cjs`),n=require(`./decor
12
12
  ${r.n(a)}
13
13
  >
14
14
  ${n}
15
- </a>`}}return n.t([e.l],a.prototype,`download`,void 0),n.t([e.l],a.prototype,`href`,void 0),n.t([e.l],a.prototype,`hreflang`,void 0),n.t([e.l],a.prototype,`ping`,void 0),n.t([e.l],a.prototype,`referrerpolicy`,void 0),n.t([e.l],a.prototype,`rel`,void 0),n.t([e.l],a.prototype,`target`,void 0),n.t([e.l],a.prototype,`type`,void 0),a};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
15
+ </a>`}}return n.t([e.m],a.prototype,`download`,void 0),n.t([e.m],a.prototype,`href`,void 0),n.t([e.m],a.prototype,`hreflang`,void 0),n.t([e.m],a.prototype,`ping`,void 0),n.t([e.m],a.prototype,`referrerpolicy`,void 0),n.t([e.m],a.prototype,`rel`,void 0),n.t([e.m],a.prototype,`target`,void 0),n.t([e.m],a.prototype,`type`,void 0),a};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -1,12 +1,12 @@
1
- import { d as e, l as t } from "./vivid-element.js";
1
+ import { m as e, p as t } from "./vivid-element.js";
2
2
  import { t as n } from "./ref.js";
3
3
  import { t as r } from "./decorate.js";
4
4
  import { n as i, t as a } from "./delegates-aria.js";
5
5
  //#region src/shared/patterns/linkable.ts
6
6
  var o = (o) => {
7
7
  class s extends a(o) {
8
- constructor(...t) {
9
- super(...t), this._renderLinkElement = (t, r, a) => e`<a
8
+ constructor(...e) {
9
+ super(...e), this._renderLinkElement = (e, r, a) => t`<a
10
10
  class="${r}"
11
11
  download="${(e) => e.download}"
12
12
  href="${(e) => e.href}"
@@ -19,11 +19,11 @@ var o = (o) => {
19
19
  ${n("control")}
20
20
  ${i(a)}
21
21
  >
22
- ${t}
22
+ ${e}
23
23
  </a>`;
24
24
  }
25
25
  }
26
- return r([t], s.prototype, "download", void 0), r([t], s.prototype, "href", void 0), r([t], s.prototype, "hreflang", void 0), r([t], s.prototype, "ping", void 0), r([t], s.prototype, "referrerpolicy", void 0), r([t], s.prototype, "rel", void 0), r([t], s.prototype, "target", void 0), r([t], s.prototype, "type", void 0), s;
26
+ return r([e], s.prototype, "download", void 0), r([e], s.prototype, "href", void 0), r([e], s.prototype, "hreflang", void 0), r([e], s.prototype, "ping", void 0), r([e], s.prototype, "referrerpolicy", void 0), r([e], s.prototype, "rel", void 0), r([e], s.prototype, "target", void 0), r([e], s.prototype, "type", void 0), s;
27
27
  };
28
28
  //#endregion
29
29
  export { o as t };
@@ -1 +1 @@
1
- const e=require(`./vivid-element.cjs`),t=require(`./decorate.cjs`),n=require(`./key-codes.cjs`),r=require(`./strings.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.w.track(this,`options`),this._options}set options(t){let n=this._options;if(this._options=t,e.w.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());break;case n.t:e.shiftKey||(e.preventDefault(),this.selectNextOption());break;case n.i:e.shiftKey||(e.preventDefault(),this.selectPreviousOption());break;case`End`:e.preventDefault(),this.selectLastOption();break;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.w.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.t(`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.l({mode:`boolean`})],o.prototype,`disabled`,void 0),t.t([e.T],o.prototype,`selectedIndex`,void 0),t.t([e.T],o.prototype,`selectedOptions`,void 0),t.t([e.T],o.prototype,`slottedOptions`,void 0),t.t([e.T],o.prototype,`typeaheadBuffer`,void 0),t.t([e.T],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(`./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());break;case n.t:e.shiftKey||(e.preventDefault(),this.selectNextOption());break;case n.i:e.shiftKey||(e.preventDefault(),this.selectPreviousOption());break;case`End`:e.preventDefault(),this.selectLastOption();break;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}});