@vonage/vivid 4.12.1 → 4.14.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 (523) hide show
  1. package/custom-elements.json +7489 -4858
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +70 -136
  5. package/index.d.ts +0 -1
  6. package/index.js +60 -62
  7. package/lib/accordion/accordion.d.ts +2 -2
  8. package/lib/accordion/accordion.template.d.ts +1 -2
  9. package/lib/accordion/definition.d.ts +1 -1
  10. package/lib/accordion-item/accordion-item.d.ts +2 -2
  11. package/lib/accordion-item/accordion-item.template.d.ts +2 -3
  12. package/lib/accordion-item/definition.d.ts +1 -1
  13. package/lib/action-group/action-group.d.ts +2 -2
  14. package/lib/action-group/action-group.template.d.ts +1 -3
  15. package/lib/action-group/definition.d.ts +1 -1
  16. package/lib/alert/alert.d.ts +2 -2
  17. package/lib/alert/alert.template.d.ts +2 -3
  18. package/lib/alert/definition.d.ts +1 -1
  19. package/lib/audio-player/audio-player.d.ts +2 -2
  20. package/lib/audio-player/audio-player.template.d.ts +2 -3
  21. package/lib/audio-player/definition.d.ts +1 -3
  22. package/lib/avatar/avatar.d.ts +2 -2
  23. package/lib/avatar/avatar.template.d.ts +2 -3
  24. package/lib/avatar/definition.d.ts +1 -1
  25. package/lib/badge/badge.d.ts +2 -2
  26. package/lib/badge/badge.template.d.ts +2 -3
  27. package/lib/badge/definition.d.ts +1 -3
  28. package/lib/banner/banner.d.ts +2 -2
  29. package/lib/banner/banner.template.d.ts +2 -3
  30. package/lib/banner/definition.d.ts +1 -1
  31. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  32. package/lib/breadcrumb/breadcrumb.template.d.ts +3 -4
  33. package/lib/breadcrumb/definition.d.ts +1 -1
  34. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  35. package/lib/breadcrumb-item/breadcrumb-item.template.d.ts +2 -3
  36. package/lib/breadcrumb-item/definition.d.ts +1 -1
  37. package/lib/button/button.d.ts +2 -2
  38. package/lib/button/button.template.d.ts +2 -4
  39. package/lib/button/definition.d.ts +1 -1
  40. package/lib/calendar/calendar.d.ts +2 -2
  41. package/lib/calendar/calendar.template.d.ts +1 -3
  42. package/lib/calendar/definition.d.ts +1 -1
  43. package/lib/calendar-event/calendar-event.d.ts +2 -2
  44. package/lib/calendar-event/calendar-event.template.d.ts +1 -3
  45. package/lib/calendar-event/definition.d.ts +1 -1
  46. package/lib/card/card.d.ts +2 -2
  47. package/lib/card/card.template.d.ts +2 -3
  48. package/lib/card/definition.d.ts +1 -1
  49. package/lib/checkbox/checkbox.form-associated.d.ts +3 -2
  50. package/lib/checkbox/checkbox.template.d.ts +2 -3
  51. package/lib/checkbox/definition.d.ts +1 -1
  52. package/lib/combobox/combobox.d.ts +17 -2
  53. package/lib/combobox/combobox.options.d.ts +7 -0
  54. package/lib/combobox/combobox.template.d.ts +2 -3
  55. package/lib/combobox/definition.d.ts +1 -2
  56. package/lib/data-grid/data-grid-cell.d.ts +16 -13
  57. package/lib/data-grid/data-grid-cell.template.d.ts +2 -3
  58. package/lib/data-grid/data-grid-row.d.ts +19 -2
  59. package/lib/data-grid/data-grid-row.template.d.ts +2 -2
  60. package/lib/data-grid/data-grid.d.ts +45 -4
  61. package/lib/data-grid/data-grid.template.d.ts +2 -2
  62. package/lib/data-grid/definition.d.ts +1 -6
  63. package/lib/date-picker/definition.d.ts +1 -3
  64. package/lib/date-range-picker/definition.d.ts +1 -3
  65. package/lib/dial-pad/definition.d.ts +1 -3
  66. package/lib/dial-pad/dial-pad.d.ts +2 -2
  67. package/lib/dial-pad/dial-pad.template.d.ts +2 -3
  68. package/lib/dialog/definition.d.ts +1 -1
  69. package/lib/dialog/dialog.d.ts +2 -2
  70. package/lib/dialog/dialog.template.d.ts +2 -3
  71. package/lib/divider/definition.d.ts +1 -1
  72. package/lib/divider/divider.d.ts +2 -2
  73. package/lib/divider/divider.template.d.ts +1 -3
  74. package/lib/elevation/definition.d.ts +1 -1
  75. package/lib/elevation/elevation.d.ts +2 -2
  76. package/lib/elevation/elevation.template.d.ts +1 -3
  77. package/lib/empty-state/definition.d.ts +1 -3
  78. package/lib/empty-state/empty-state.d.ts +2 -2
  79. package/lib/empty-state/empty-state.template.d.ts +2 -3
  80. package/lib/fab/definition.d.ts +1 -3
  81. package/lib/fab/fab.template.d.ts +2 -3
  82. package/lib/file-picker/definition.d.ts +1 -3
  83. package/lib/file-picker/file-picker.d.ts +6 -0
  84. package/lib/file-picker/file-picker.form-associated.d.ts +3 -2
  85. package/lib/file-picker/file-picker.template.d.ts +2 -3
  86. package/lib/header/definition.d.ts +1 -3
  87. package/lib/header/header.d.ts +2 -2
  88. package/lib/header/header.template.d.ts +2 -3
  89. package/lib/icon/definition.d.ts +1 -3
  90. package/lib/icon/icon.d.ts +2 -2
  91. package/lib/icon/icon.template.d.ts +1 -3
  92. package/lib/layout/definition.d.ts +1 -3
  93. package/lib/layout/layout.d.ts +2 -2
  94. package/lib/layout/layout.template.d.ts +1 -3
  95. package/lib/listbox/definition.d.ts +1 -3
  96. package/lib/listbox/listbox.template.d.ts +1 -3
  97. package/lib/menu/definition.d.ts +1 -11
  98. package/lib/menu/menu.d.ts +16 -3
  99. package/lib/menu/menu.template.d.ts +3 -3
  100. package/lib/menu-item/definition.d.ts +1 -3
  101. package/lib/menu-item/menu-item.d.ts +10 -2
  102. package/lib/menu-item/menu-item.template.d.ts +2 -3
  103. package/lib/nav/definition.d.ts +1 -3
  104. package/lib/nav/nav.d.ts +2 -2
  105. package/lib/nav/nav.template.d.ts +1 -3
  106. package/lib/nav-disclosure/definition.d.ts +1 -3
  107. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  108. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  109. package/lib/nav-item/definition.d.ts +1 -3
  110. package/lib/nav-item/nav-item.template.d.ts +2 -3
  111. package/lib/note/definition.d.ts +1 -3
  112. package/lib/note/note.d.ts +2 -2
  113. package/lib/note/note.template.d.ts +2 -3
  114. package/lib/number-field/definition.d.ts +1 -4
  115. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  116. package/lib/number-field/number-field.template.d.ts +2 -3
  117. package/lib/option/definition.d.ts +1 -3
  118. package/lib/option/option.d.ts +28 -7
  119. package/lib/option/option.template.d.ts +2 -3
  120. package/lib/pagination/definition.d.ts +1 -3
  121. package/lib/pagination/pagination.d.ts +2 -2
  122. package/lib/pagination/pagination.template.d.ts +2 -3
  123. package/lib/popup/definition.d.ts +1 -3
  124. package/lib/popup/popup.template.d.ts +2 -3
  125. package/lib/progress/definition.d.ts +1 -3
  126. package/lib/progress/progress.d.ts +1 -1
  127. package/lib/progress/progress.template.d.ts +1 -4
  128. package/lib/progress-ring/definition.d.ts +1 -3
  129. package/lib/progress-ring/progress-ring.d.ts +1 -1
  130. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  131. package/lib/radio/definition.d.ts +1 -3
  132. package/lib/radio/radio.form-associated.d.ts +3 -2
  133. package/lib/radio/radio.template.d.ts +1 -3
  134. package/lib/radio-group/definition.d.ts +1 -11
  135. package/lib/radio-group/radio-group.d.ts +2 -2
  136. package/lib/radio-group/radio-group.template.d.ts +2 -3
  137. package/lib/range-slider/definition.d.ts +1 -3
  138. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  139. package/lib/range-slider/range-slider.template.d.ts +2 -3
  140. package/lib/searchable-select/definition.d.ts +1 -4
  141. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  142. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  143. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  144. package/lib/select/definition.d.ts +1 -3
  145. package/lib/select/select.d.ts +14 -4
  146. package/lib/select/select.form-associated.d.ts +11 -0
  147. package/lib/select/select.template.d.ts +2 -3
  148. package/lib/selectable-box/definition.d.ts +1 -3
  149. package/lib/selectable-box/selectable-box.d.ts +2 -2
  150. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  151. package/lib/side-drawer/definition.d.ts +1 -3
  152. package/lib/side-drawer/side-drawer.d.ts +2 -2
  153. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  154. package/lib/slider/definition.d.ts +1 -3
  155. package/lib/slider/slider.form-associated.d.ts +3 -2
  156. package/lib/slider/slider.template.d.ts +3 -4
  157. package/lib/split-button/definition.d.ts +1 -1
  158. package/lib/split-button/split-button.d.ts +2 -2
  159. package/lib/split-button/split-button.template.d.ts +2 -3
  160. package/lib/switch/definition.d.ts +1 -3
  161. package/lib/switch/switch.d.ts +5 -2
  162. package/lib/switch/switch.form-associated.d.ts +11 -0
  163. package/lib/switch/switch.template.d.ts +1 -3
  164. package/lib/tab/definition.d.ts +1 -3
  165. package/lib/tab/tab.d.ts +2 -2
  166. package/lib/tab/tab.template.d.ts +2 -2
  167. package/lib/tab-panel/definition.d.ts +1 -3
  168. package/lib/tab-panel/tab-panel.d.ts +2 -2
  169. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  170. package/lib/tabs/definition.d.ts +1 -3
  171. package/lib/tabs/tabs.d.ts +6 -4
  172. package/lib/tabs/tabs.template.d.ts +1 -1
  173. package/lib/tag/definition.d.ts +1 -4
  174. package/lib/tag/tag.d.ts +2 -2
  175. package/lib/tag/tag.template.d.ts +2 -3
  176. package/lib/tag-group/definition.d.ts +1 -3
  177. package/lib/tag-group/tag-group.d.ts +2 -2
  178. package/lib/tag-group/tag-group.template.d.ts +1 -3
  179. package/lib/text-anchor/definition.d.ts +1 -3
  180. package/lib/text-anchor/text-anchor.d.ts +4 -3
  181. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  182. package/lib/text-area/definition.d.ts +1 -3
  183. package/lib/text-area/text-area.d.ts +25 -3
  184. package/lib/text-area/text-area.form-associated.d.ts +11 -0
  185. package/lib/text-area/text-area.template.d.ts +2 -3
  186. package/lib/text-field/definition.d.ts +1 -3
  187. package/lib/text-field/text-field.d.ts +28 -3
  188. package/lib/text-field/text-field.form-associated.d.ts +11 -0
  189. package/lib/text-field/text-field.template.d.ts +2 -3
  190. package/lib/time-picker/definition.d.ts +1 -3
  191. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  192. package/lib/time-picker/time-picker.template.d.ts +2 -2
  193. package/lib/toggletip/definition.d.ts +1 -3
  194. package/lib/toggletip/toggletip.d.ts +2 -2
  195. package/lib/toggletip/toggletip.template.d.ts +2 -3
  196. package/lib/tooltip/definition.d.ts +1 -3
  197. package/lib/tooltip/tooltip.d.ts +2 -2
  198. package/lib/tooltip/tooltip.template.d.ts +2 -3
  199. package/lib/tree-item/definition.d.ts +1 -3
  200. package/lib/tree-item/tree-item.d.ts +11 -2
  201. package/lib/tree-item/tree-item.template.d.ts +3 -3
  202. package/lib/tree-view/definition.d.ts +1 -3
  203. package/lib/tree-view/tree-view.d.ts +16 -2
  204. package/lib/tree-view/tree-view.template.d.ts +1 -1
  205. package/lib/video-player/definition.d.ts +1 -3
  206. package/lib/video-player/video-player.d.ts +2 -2
  207. package/lib/video-player/video-player.template.d.ts +1 -3
  208. package/listbox/index.cjs +37 -39
  209. package/listbox/index.js +37 -39
  210. package/menu/index.cjs +1 -1
  211. package/menu/index.js +1 -1
  212. package/nav/index.cjs +1 -1
  213. package/nav/index.js +1 -1
  214. package/nav-disclosure/index.cjs +1 -1
  215. package/nav-disclosure/index.js +1 -1
  216. package/nav-item/index.cjs +1 -1
  217. package/nav-item/index.js +1 -1
  218. package/note/index.cjs +1 -1
  219. package/note/index.js +1 -1
  220. package/number-field/index.cjs +1 -1
  221. package/number-field/index.js +1 -1
  222. package/option/index.cjs +1 -1
  223. package/option/index.js +1 -1
  224. package/package.json +1 -1
  225. package/pagination/index.cjs +1 -1
  226. package/pagination/index.js +1 -1
  227. package/popup/index.cjs +1 -1
  228. package/popup/index.js +1 -1
  229. package/progress/index.cjs +1 -1
  230. package/progress/index.js +1 -1
  231. package/progress-ring/index.cjs +1 -1
  232. package/progress-ring/index.js +1 -1
  233. package/radio/index.cjs +1 -1
  234. package/radio/index.js +1 -1
  235. package/radio-group/index.cjs +1 -1
  236. package/radio-group/index.js +1 -1
  237. package/range-slider/index.cjs +1 -1
  238. package/range-slider/index.js +1 -1
  239. package/searchable-select/index.cjs +1 -1
  240. package/searchable-select/index.js +1 -1
  241. package/select/index.cjs +1 -1
  242. package/select/index.js +1 -1
  243. package/selectable-box/index.cjs +1 -1
  244. package/selectable-box/index.js +1 -1
  245. package/shared/affix.cjs +10 -10
  246. package/shared/affix.js +2 -2
  247. package/shared/anchor.cjs +59 -0
  248. package/shared/anchor.js +57 -0
  249. package/shared/anchored.cjs +6 -6
  250. package/shared/anchored.js +2 -2
  251. package/shared/apply-mixins.cjs +15 -17
  252. package/shared/apply-mixins.js +15 -17
  253. package/shared/apply-mixins2.cjs +25 -0
  254. package/shared/apply-mixins2.js +23 -0
  255. package/shared/applyMixinsWithObservables.cjs +4 -4
  256. package/shared/applyMixinsWithObservables.js +2 -2
  257. package/shared/aria-global.cjs +86 -67
  258. package/shared/aria-global.js +86 -67
  259. package/shared/aria-global2.cjs +68 -86
  260. package/shared/aria-global2.js +68 -86
  261. package/shared/base-progress.cjs +70 -63
  262. package/shared/base-progress.js +69 -62
  263. package/shared/breadcrumb-item.cjs +7 -58
  264. package/shared/breadcrumb-item.js +4 -55
  265. package/shared/button.cjs +178 -0
  266. package/shared/button.js +176 -0
  267. package/shared/calendar-event.cjs +10 -9
  268. package/shared/calendar-event.js +3 -2
  269. package/shared/children.cjs +2 -2
  270. package/shared/children.js +1 -1
  271. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  272. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  273. package/shared/defineVividComponent.cjs +2612 -0
  274. package/shared/defineVividComponent.js +2592 -0
  275. package/shared/definition.cjs +26 -24
  276. package/shared/definition.js +17 -14
  277. package/shared/definition10.cjs +15 -12
  278. package/shared/definition10.js +15 -11
  279. package/shared/definition11.cjs +53 -249
  280. package/shared/definition11.js +25 -219
  281. package/shared/definition12.cjs +18 -14
  282. package/shared/definition12.js +17 -12
  283. package/shared/definition13.cjs +20 -19
  284. package/shared/definition13.js +11 -9
  285. package/shared/definition14.cjs +36 -38
  286. package/shared/definition14.js +16 -17
  287. package/shared/definition15.cjs +28 -26
  288. package/shared/definition15.js +17 -14
  289. package/shared/definition16.cjs +478 -611
  290. package/shared/definition16.js +471 -603
  291. package/shared/definition17.cjs +934 -1113
  292. package/shared/definition17.js +913 -1091
  293. package/shared/definition18.cjs +16 -20
  294. package/shared/definition18.js +19 -22
  295. package/shared/definition19.cjs +26 -30
  296. package/shared/definition19.js +21 -24
  297. package/shared/definition2.cjs +20 -22
  298. package/shared/definition2.js +21 -22
  299. package/shared/definition20.cjs +53 -53
  300. package/shared/definition20.js +36 -35
  301. package/shared/definition21.cjs +43 -46
  302. package/shared/definition21.js +19 -21
  303. package/shared/definition22.cjs +16 -13
  304. package/shared/definition22.js +15 -11
  305. package/shared/definition23.cjs +22 -20
  306. package/shared/definition23.js +15 -12
  307. package/shared/definition24.cjs +20 -172
  308. package/shared/definition24.js +17 -168
  309. package/shared/definition25.cjs +48 -28
  310. package/shared/definition25.js +43 -22
  311. package/shared/definition26.cjs +17 -14
  312. package/shared/definition26.js +15 -11
  313. package/shared/definition27.cjs +265 -12
  314. package/shared/definition27.js +262 -10
  315. package/shared/definition28.cjs +19 -16
  316. package/shared/definition28.js +15 -11
  317. package/shared/definition29.cjs +478 -604
  318. package/shared/definition29.js +450 -578
  319. package/shared/definition3.cjs +21 -16
  320. package/shared/definition3.js +17 -11
  321. package/shared/definition30.cjs +100 -75
  322. package/shared/definition30.js +99 -73
  323. package/shared/definition31.cjs +24 -97
  324. package/shared/definition31.js +25 -97
  325. package/shared/definition32.cjs +10 -25
  326. package/shared/definition32.js +9 -23
  327. package/shared/definition33.cjs +53 -14
  328. package/shared/definition33.js +52 -12
  329. package/shared/definition34.cjs +641 -34
  330. package/shared/definition34.js +638 -30
  331. package/shared/definition35.cjs +205 -377
  332. package/shared/definition35.js +200 -373
  333. package/shared/definition36.cjs +204 -104
  334. package/shared/definition36.js +199 -97
  335. package/shared/definition37.cjs +79 -206
  336. package/shared/definition37.js +75 -202
  337. package/shared/definition38.cjs +50 -56
  338. package/shared/definition38.js +48 -52
  339. package/shared/definition39.cjs +260 -56
  340. package/shared/definition39.js +259 -54
  341. package/shared/definition4.cjs +33 -35
  342. package/shared/definition4.js +20 -21
  343. package/shared/definition40.cjs +112 -229
  344. package/shared/definition40.js +109 -226
  345. package/shared/definition41.cjs +627 -36
  346. package/shared/definition41.js +626 -34
  347. package/shared/definition42.cjs +975 -487
  348. package/shared/definition42.js +972 -482
  349. package/shared/definition43.cjs +725 -932
  350. package/shared/definition43.js +713 -918
  351. package/shared/definition44.cjs +116 -734
  352. package/shared/definition44.js +114 -731
  353. package/shared/definition45.cjs +93 -116
  354. package/shared/definition45.js +93 -115
  355. package/shared/definition46.cjs +469 -89
  356. package/shared/definition46.js +466 -86
  357. package/shared/definition47.cjs +119 -479
  358. package/shared/definition47.js +116 -474
  359. package/shared/definition48.cjs +114 -120
  360. package/shared/definition48.js +112 -117
  361. package/shared/definition49.cjs +18 -160
  362. package/shared/definition49.js +16 -157
  363. package/shared/definition5.cjs +48 -49
  364. package/shared/definition5.js +19 -19
  365. package/shared/definition50.cjs +112 -15
  366. package/shared/definition50.js +110 -12
  367. package/shared/definition51.cjs +847 -84
  368. package/shared/definition51.js +843 -79
  369. package/shared/definition52.cjs +31 -859
  370. package/shared/definition52.js +29 -856
  371. package/shared/definition53.cjs +126 -28
  372. package/shared/definition53.js +124 -25
  373. package/shared/definition54.cjs +268 -107
  374. package/shared/definition54.js +262 -100
  375. package/shared/definition55.cjs +63 -298
  376. package/shared/definition55.js +61 -295
  377. package/shared/definition56.cjs +799 -311
  378. package/shared/definition56.js +795 -306
  379. package/shared/definition57.cjs +108 -825
  380. package/shared/definition57.js +106 -822
  381. package/shared/definition58.cjs +74 -100
  382. package/shared/definition58.js +70 -95
  383. package/shared/definition59.cjs +181 -106
  384. package/shared/definition59.js +175 -101
  385. package/shared/definition6.cjs +23 -21
  386. package/shared/definition6.js +15 -12
  387. package/shared/definition60.cjs +273 -70
  388. package/shared/definition60.js +273 -69
  389. package/shared/definition61.cjs +66157 -271
  390. package/shared/definition61.js +66156 -269
  391. package/shared/definition62.cjs +36 -66174
  392. package/shared/definition62.js +33 -66171
  393. package/shared/definition63.cjs +2154 -27
  394. package/shared/definition63.js +2151 -25
  395. package/shared/definition7.cjs +19 -15
  396. package/shared/definition7.js +14 -10
  397. package/shared/definition8.cjs +26 -27
  398. package/shared/definition8.js +17 -17
  399. package/shared/definition9.cjs +21 -21
  400. package/shared/definition9.js +18 -17
  401. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  402. package/shared/design-system/defineVividComponent.d.ts +15 -0
  403. package/shared/direction.cjs +10 -1
  404. package/shared/direction.js +10 -1
  405. package/shared/dom.cjs +0 -13
  406. package/shared/dom.js +1 -13
  407. package/shared/form-associated.cjs +422 -457
  408. package/shared/form-associated.js +422 -457
  409. package/shared/form-associated2.cjs +383 -0
  410. package/shared/form-associated2.js +381 -0
  411. package/shared/form-elements.cjs +15 -42
  412. package/shared/form-elements.js +2 -29
  413. package/shared/foundation/anchor/anchor.d.ts +1 -0
  414. package/shared/foundation/button/button.d.ts +3 -2
  415. package/shared/foundation/button/button.template.d.ts +2 -4
  416. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  417. package/shared/foundation/listbox/listbox.d.ts +22 -0
  418. package/shared/foundation/progress/base-progress.d.ts +9 -0
  419. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  420. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  421. package/shared/foundation-element.cjs +1417 -0
  422. package/shared/foundation-element.js +1414 -0
  423. package/shared/index.cjs +7 -5097
  424. package/shared/index.js +7 -5079
  425. package/shared/key-codes.cjs +10 -0
  426. package/shared/key-codes.js +6 -1
  427. package/shared/key-codes2.cjs +50 -6
  428. package/shared/key-codes2.js +50 -4
  429. package/shared/listbox.cjs +409 -981
  430. package/shared/listbox.js +410 -979
  431. package/shared/listbox2.cjs +1268 -0
  432. package/shared/listbox2.js +1265 -0
  433. package/shared/localized.cjs +2 -2
  434. package/shared/localized.js +1 -1
  435. package/shared/numbers.cjs +12 -0
  436. package/shared/numbers.js +12 -1
  437. package/shared/patterns/affix.d.ts +2 -2
  438. package/shared/patterns/chevron.d.ts +2 -2
  439. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  440. package/shared/presentationDate.cjs +56 -55
  441. package/shared/presentationDate.js +8 -7
  442. package/shared/ref.cjs +2 -2
  443. package/shared/ref.js +1 -1
  444. package/shared/repeat.cjs +22 -22
  445. package/shared/repeat.js +1 -1
  446. package/shared/slider.template.cjs +5 -5
  447. package/shared/slider.template.js +2 -2
  448. package/shared/slotted.cjs +4 -4
  449. package/shared/slotted.js +1 -1
  450. package/shared/strings.cjs +0 -26
  451. package/shared/strings.js +1 -25
  452. package/shared/strings2.cjs +37 -0
  453. package/shared/strings2.js +33 -0
  454. package/shared/text-anchor.cjs +8 -89
  455. package/shared/text-anchor.js +5 -86
  456. package/shared/text-anchor.template.cjs +2 -2
  457. package/shared/text-anchor.template.js +1 -1
  458. package/shared/text-field2.cjs +539 -194
  459. package/shared/text-field2.js +539 -194
  460. package/shared/vivid-element.cjs +8 -0
  461. package/shared/vivid-element.js +6 -0
  462. package/side-drawer/index.cjs +1 -1
  463. package/side-drawer/index.js +1 -1
  464. package/slider/index.cjs +1 -1
  465. package/slider/index.js +1 -1
  466. package/split-button/index.cjs +1 -1
  467. package/split-button/index.js +1 -1
  468. package/styles/core/all.css +21 -1
  469. package/styles/core/theme.css +21 -1
  470. package/styles/core/typography.css +1 -1
  471. package/styles/tokens/theme-dark.css +4 -4
  472. package/styles/tokens/theme-light.css +4 -4
  473. package/styles/tokens/vivid-2-compat.css +1 -1
  474. package/switch/index.cjs +1 -1
  475. package/switch/index.js +1 -1
  476. package/tab/index.cjs +1 -1
  477. package/tab/index.js +1 -1
  478. package/tab-panel/index.cjs +1 -1
  479. package/tab-panel/index.js +1 -1
  480. package/tabs/index.cjs +1 -1
  481. package/tabs/index.js +1 -1
  482. package/tag/index.cjs +1 -1
  483. package/tag/index.js +1 -1
  484. package/tag-group/index.cjs +1 -1
  485. package/tag-group/index.js +1 -1
  486. package/text-anchor/index.cjs +10 -7
  487. package/text-anchor/index.js +10 -7
  488. package/text-area/index.cjs +1 -1
  489. package/text-area/index.js +1 -1
  490. package/text-field/index.cjs +1 -1
  491. package/text-field/index.js +1 -1
  492. package/time-picker/index.cjs +1 -1
  493. package/time-picker/index.js +1 -1
  494. package/toggletip/index.cjs +1 -1
  495. package/toggletip/index.js +1 -1
  496. package/tooltip/index.cjs +1 -1
  497. package/tooltip/index.js +1 -1
  498. package/tree-item/index.cjs +1 -1
  499. package/tree-item/index.js +1 -1
  500. package/tree-view/index.cjs +1 -1
  501. package/tree-view/index.js +1 -1
  502. package/video-player/index.cjs +1 -1
  503. package/video-player/index.js +1 -1
  504. package/vivid.api.json +2848 -7818
  505. package/shared/Reflector.cjs +0 -71
  506. package/shared/Reflector.js +0 -69
  507. package/shared/definition64.cjs +0 -2164
  508. package/shared/definition64.js +0 -2159
  509. package/shared/design-system/index.d.ts +0 -3
  510. package/shared/icon.cjs +0 -261
  511. package/shared/icon.js +0 -258
  512. package/shared/index2.cjs +0 -11
  513. package/shared/index2.js +0 -9
  514. package/shared/listbox-option.cjs +0 -204
  515. package/shared/listbox-option.js +0 -201
  516. package/shared/radio.cjs +0 -126
  517. package/shared/radio.js +0 -124
  518. package/shared/select.options.cjs +0 -12
  519. package/shared/select.options.js +0 -10
  520. package/shared/start-end.cjs +0 -52
  521. package/shared/start-end.js +0 -50
  522. package/shared/tree-item.cjs +0 -154
  523. package/shared/tree-item.js +0 -151
@@ -1,70 +1,77 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, n as nullableNumberConverter, o as observable } from './index.js';
1
+ import { F as FoundationElement } from './foundation-element.js';
2
+ import { a as attr, n as nullableNumberConverter, o as observable } from './defineVividComponent.js';
2
3
 
3
- /**
4
- * An Progress HTML Element.
5
- * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }.
6
- *
7
- * @slot indeterminate - The slot for a custom indeterminate indicator
8
- * @csspart progress - Represents the progress element
9
- * @csspart determinate - The determinate indicator
10
- * @csspart indeterminate - The indeterminate indicator
11
- *
12
- * @public
13
- */
4
+ var __defProp = Object.defineProperty;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = void 0 ;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (decorator(target, key, result) ) || result;
10
+ if (result) __defProp(target, key, result);
11
+ return result;
12
+ };
14
13
  class BaseProgress extends FoundationElement {
15
- constructor() {
16
- super(...arguments);
17
- /**
18
- * Indicates progress in %
19
- * @internal
20
- */
21
- this.percentComplete = 0;
14
+ constructor() {
15
+ super(...arguments);
16
+ this.percentComplete = 0;
17
+ }
18
+ /**
19
+ * @internal
20
+ */
21
+ valueChanged() {
22
+ if (this.$fastController.isConnected) {
23
+ this.updatePercentComplete();
22
24
  }
23
- valueChanged() {
24
- if (this.$fastController.isConnected) {
25
- this.updatePercentComplete();
26
- }
25
+ }
26
+ /**
27
+ * @internal
28
+ */
29
+ minChanged() {
30
+ if (this.$fastController.isConnected) {
31
+ this.updatePercentComplete();
27
32
  }
28
- minChanged() {
29
- if (this.$fastController.isConnected) {
30
- this.updatePercentComplete();
31
- }
32
- }
33
- maxChanged() {
34
- if (this.$fastController.isConnected) {
35
- this.updatePercentComplete();
36
- }
37
- }
38
- /**
39
- * @internal
40
- */
41
- connectedCallback() {
42
- super.connectedCallback();
43
- this.updatePercentComplete();
44
- }
45
- updatePercentComplete() {
46
- const min = typeof this.min === "number" ? this.min : 0;
47
- const max = typeof this.max === "number" ? this.max : 100;
48
- const value = typeof this.value === "number" ? this.value : 0;
49
- const range = max - min;
50
- this.percentComplete =
51
- range === 0 ? 0 : Math.fround(((value - min) / range) * 100);
33
+ }
34
+ /**
35
+ * @private
36
+ */
37
+ maxChanged() {
38
+ if (this.$fastController.isConnected) {
39
+ this.updatePercentComplete();
52
40
  }
41
+ }
42
+ /**
43
+ * @internal
44
+ */
45
+ connectedCallback() {
46
+ super.connectedCallback();
47
+ this.updatePercentComplete();
48
+ }
49
+ updatePercentComplete() {
50
+ const min = typeof this.min === "number" ? this.min : 0;
51
+ const max = typeof this.max === "number" ? this.max : 100;
52
+ const value = typeof this.value === "number" ? this.value : 0;
53
+ const range = max - min;
54
+ this.percentComplete = range === 0 ? 0 : Math.fround((value - min) / range * 100);
55
+ }
53
56
  }
54
- __decorate([
55
- attr({ converter: nullableNumberConverter })
56
- ], BaseProgress.prototype, "value", void 0);
57
- __decorate([
58
- attr({ converter: nullableNumberConverter })
59
- ], BaseProgress.prototype, "min", void 0);
60
- __decorate([
61
- attr({ converter: nullableNumberConverter })
62
- ], BaseProgress.prototype, "max", void 0);
63
- __decorate([
64
- attr({ mode: "boolean" })
65
- ], BaseProgress.prototype, "paused", void 0);
66
- __decorate([
67
- observable
68
- ], BaseProgress.prototype, "percentComplete", void 0);
57
+ // @ts-expect-error Type is incorrectly non-optional
58
+ __decorateClass([
59
+ attr({ converter: nullableNumberConverter })
60
+ ], BaseProgress.prototype, "value");
61
+ // @ts-expect-error Type is incorrectly non-optional
62
+ __decorateClass([
63
+ attr({ converter: nullableNumberConverter })
64
+ ], BaseProgress.prototype, "min");
65
+ // @ts-expect-error Type is incorrectly non-optional
66
+ __decorateClass([
67
+ attr({ converter: nullableNumberConverter })
68
+ ], BaseProgress.prototype, "max");
69
+ // @ts-expect-error Type is incorrectly non-optional
70
+ __decorateClass([
71
+ attr({ mode: "boolean" })
72
+ ], BaseProgress.prototype, "paused");
73
+ __decorateClass([
74
+ observable
75
+ ], BaseProgress.prototype, "percentComplete");
69
76
 
70
77
  export { BaseProgress as B };
@@ -1,60 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const ariaGlobal = require('./aria-global2.cjs');
4
- const index = require('./index.cjs');
3
+ const anchor = require('./anchor.cjs');
4
+ const vividElement = require('./vivid-element.cjs');
5
5
  const applyMixins = require('./apply-mixins.cjs');
6
-
7
- var __defProp$1 = Object.defineProperty;
8
- var __decorateClass$1 = (decorators, target, key, kind) => {
9
- var result = void 0 ;
10
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
11
- if (decorator = decorators[i])
12
- result = (decorator(target, key, result) ) || result;
13
- if (result) __defProp$1(target, key, result);
14
- return result;
15
- };
16
- class Anchor {
17
- }
18
- // @ts-expect-error Type is incorrectly non-optional
19
- __decorateClass$1([
20
- index.attr
21
- ], Anchor.prototype, "download");
22
- // @ts-expect-error Type is incorrectly non-optional
23
- __decorateClass$1([
24
- index.attr
25
- ], Anchor.prototype, "href");
26
- // @ts-expect-error Type is incorrectly non-optional
27
- __decorateClass$1([
28
- index.attr
29
- ], Anchor.prototype, "hreflang");
30
- // @ts-expect-error Type is incorrectly non-optional
31
- __decorateClass$1([
32
- index.attr
33
- ], Anchor.prototype, "ping");
34
- // @ts-expect-error Type is incorrectly non-optional
35
- __decorateClass$1([
36
- index.attr
37
- ], Anchor.prototype, "referrerpolicy");
38
- // @ts-expect-error Type is incorrectly non-optional
39
- __decorateClass$1([
40
- index.attr
41
- ], Anchor.prototype, "rel");
42
- // @ts-expect-error Type is incorrectly non-optional
43
- __decorateClass$1([
44
- index.attr
45
- ], Anchor.prototype, "target");
46
- // @ts-expect-error Type is incorrectly non-optional
47
- __decorateClass$1([
48
- index.attr
49
- ], Anchor.prototype, "type");
50
- class DelegatesARIALink {
51
- }
52
- // @ts-expect-error Type is incorrectly non-optional
53
- __decorateClass$1([
54
- index.attr({ attribute: "aria-expanded" })
55
- ], DelegatesARIALink.prototype, "ariaExpanded");
56
- applyMixins.applyMixins(DelegatesARIALink, ariaGlobal.ARIAGlobalStatesAndProperties);
57
- applyMixins.applyMixins(Anchor, DelegatesARIALink);
6
+ const defineVividComponent = require('./defineVividComponent.cjs');
58
7
 
59
8
  var __defProp = Object.defineProperty;
60
9
  var __decorateClass = (decorators, target, key, kind) => {
@@ -65,18 +14,18 @@ var __decorateClass = (decorators, target, key, kind) => {
65
14
  if (result) __defProp(target, key, result);
66
15
  return result;
67
16
  };
68
- class BreadcrumbItem extends index.FoundationElement {
17
+ class BreadcrumbItem extends vividElement.VividElement {
69
18
  constructor() {
70
19
  super(...arguments);
71
20
  this.separator = true;
72
21
  }
73
22
  }
74
23
  __decorateClass([
75
- index.attr
24
+ defineVividComponent.attr
76
25
  ], BreadcrumbItem.prototype, "text");
77
26
  __decorateClass([
78
- index.observable
27
+ defineVividComponent.observable
79
28
  ], BreadcrumbItem.prototype, "separator");
80
- applyMixins.applyMixins(BreadcrumbItem, Anchor);
29
+ applyMixins.applyMixins(BreadcrumbItem, anchor.Anchor);
81
30
 
82
31
  exports.BreadcrumbItem = BreadcrumbItem;
@@ -1,58 +1,7 @@
1
- import { A as ARIAGlobalStatesAndProperties } from './aria-global2.js';
2
- import { a as attr, F as FoundationElement, o as observable } from './index.js';
1
+ import { A as Anchor } from './anchor.js';
2
+ import { V as VividElement } from './vivid-element.js';
3
3
  import { a as applyMixins } from './apply-mixins.js';
4
-
5
- var __defProp$1 = Object.defineProperty;
6
- var __decorateClass$1 = (decorators, target, key, kind) => {
7
- var result = void 0 ;
8
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
- if (decorator = decorators[i])
10
- result = (decorator(target, key, result) ) || result;
11
- if (result) __defProp$1(target, key, result);
12
- return result;
13
- };
14
- class Anchor {
15
- }
16
- // @ts-expect-error Type is incorrectly non-optional
17
- __decorateClass$1([
18
- attr
19
- ], Anchor.prototype, "download");
20
- // @ts-expect-error Type is incorrectly non-optional
21
- __decorateClass$1([
22
- attr
23
- ], Anchor.prototype, "href");
24
- // @ts-expect-error Type is incorrectly non-optional
25
- __decorateClass$1([
26
- attr
27
- ], Anchor.prototype, "hreflang");
28
- // @ts-expect-error Type is incorrectly non-optional
29
- __decorateClass$1([
30
- attr
31
- ], Anchor.prototype, "ping");
32
- // @ts-expect-error Type is incorrectly non-optional
33
- __decorateClass$1([
34
- attr
35
- ], Anchor.prototype, "referrerpolicy");
36
- // @ts-expect-error Type is incorrectly non-optional
37
- __decorateClass$1([
38
- attr
39
- ], Anchor.prototype, "rel");
40
- // @ts-expect-error Type is incorrectly non-optional
41
- __decorateClass$1([
42
- attr
43
- ], Anchor.prototype, "target");
44
- // @ts-expect-error Type is incorrectly non-optional
45
- __decorateClass$1([
46
- attr
47
- ], Anchor.prototype, "type");
48
- class DelegatesARIALink {
49
- }
50
- // @ts-expect-error Type is incorrectly non-optional
51
- __decorateClass$1([
52
- attr({ attribute: "aria-expanded" })
53
- ], DelegatesARIALink.prototype, "ariaExpanded");
54
- applyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);
55
- applyMixins(Anchor, DelegatesARIALink);
4
+ import { a as attr, o as observable } from './defineVividComponent.js';
56
5
 
57
6
  var __defProp = Object.defineProperty;
58
7
  var __decorateClass = (decorators, target, key, kind) => {
@@ -63,7 +12,7 @@ var __decorateClass = (decorators, target, key, kind) => {
63
12
  if (result) __defProp(target, key, result);
64
13
  return result;
65
14
  };
66
- class BreadcrumbItem extends FoundationElement {
15
+ class BreadcrumbItem extends VividElement {
67
16
  constructor() {
68
17
  super(...arguments);
69
18
  this.separator = true;
@@ -0,0 +1,178 @@
1
+ 'use strict';
2
+
3
+ const applyMixins = require('./apply-mixins.cjs');
4
+ const formAssociated = require('./form-associated.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
6
+ const ariaGlobal = require('./aria-global.cjs');
7
+ const defineVividComponent = require('./defineVividComponent.cjs');
8
+
9
+ class _FoundationButton extends vividElement.VividElement {
10
+ }
11
+ class FormAssociatedButton extends formAssociated.FormAssociated(_FoundationButton) {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.proxy = document.createElement("input");
15
+ }
16
+ }
17
+
18
+ var __defProp = Object.defineProperty;
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = void 0 ;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (decorator(target, key, result) ) || result;
24
+ if (result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ class VividFoundationButton extends FormAssociatedButton {
28
+ constructor() {
29
+ super(...arguments);
30
+ /**
31
+ * Prevent events to propagate if disabled
32
+ * @internal
33
+ */
34
+ this.handleClick = (e) => {
35
+ if (this.disabled) {
36
+ e.stopPropagation();
37
+ }
38
+ };
39
+ /**
40
+ * Submits the parent form
41
+ */
42
+ this.handleSubmission = () => {
43
+ if (!this.form) {
44
+ return;
45
+ }
46
+ this.attachProxy();
47
+ this.form.requestSubmit(this.proxy);
48
+ this.detachProxy();
49
+ };
50
+ /**
51
+ * Resets the parent form
52
+ */
53
+ this.handleFormReset = () => {
54
+ this.form?.reset();
55
+ };
56
+ /**
57
+ * Overrides the focus call for where delegatesFocus is unsupported.
58
+ * This check works for Chrome, Edge Chromium, FireFox, and Safari
59
+ * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
60
+ */
61
+ this.handleUnsupportedDelegatesFocus = () => {
62
+ if (this.$fastController.definition.shadowOptions) {
63
+ if (window.ShadowRoot && /* eslint-disable-next-line */
64
+ !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && this.$fastController.definition.shadowOptions.delegatesFocus) {
65
+ this.focus = () => {
66
+ this.control.focus();
67
+ };
68
+ }
69
+ }
70
+ };
71
+ }
72
+ // @ts-expect-error Function is delcared but not used
73
+ formactionChanged() {
74
+ if (this.proxy instanceof HTMLInputElement) {
75
+ this.proxy.formAction = this.formaction;
76
+ }
77
+ }
78
+ // @ts-expect-error Function is delcared but not used
79
+ formenctypeChanged() {
80
+ if (this.proxy instanceof HTMLInputElement) {
81
+ this.proxy.formEnctype = this.formenctype;
82
+ }
83
+ }
84
+ // @ts-expect-error Function is delcared but not used
85
+ formmethodChanged() {
86
+ if (this.proxy instanceof HTMLInputElement) {
87
+ this.proxy.formMethod = this.formmethod;
88
+ }
89
+ }
90
+ // @ts-expect-error Function is delcared but not used
91
+ formnovalidateChanged() {
92
+ if (this.proxy instanceof HTMLInputElement) {
93
+ this.proxy.formNoValidate = this.formnovalidate;
94
+ }
95
+ }
96
+ // @ts-expect-error Function is delcared but not used
97
+ formtargetChanged() {
98
+ if (this.proxy instanceof HTMLInputElement) {
99
+ this.proxy.formTarget = this.formtarget;
100
+ }
101
+ }
102
+ // @ts-expect-error Function is delcared but not used
103
+ typeChanged(previous, next) {
104
+ if (this.proxy instanceof HTMLInputElement) {
105
+ this.proxy.type = this.type;
106
+ }
107
+ next === "submit" && this.addEventListener("click", this.handleSubmission);
108
+ previous === "submit" && this.removeEventListener("click", this.handleSubmission);
109
+ next === "reset" && this.addEventListener("click", this.handleFormReset);
110
+ previous === "reset" && this.removeEventListener("click", this.handleFormReset);
111
+ }
112
+ /** {@inheritDoc (FormAssociated:interface).validate} */
113
+ validate() {
114
+ super.validate(this.control);
115
+ }
116
+ /**
117
+ * @internal
118
+ */
119
+ connectedCallback() {
120
+ super.connectedCallback();
121
+ this.proxy.setAttribute("type", this.type);
122
+ this.handleUnsupportedDelegatesFocus();
123
+ const elements = Array.from(this.control.children);
124
+ if (elements) {
125
+ elements.forEach((span) => {
126
+ span.addEventListener("click", this.handleClick);
127
+ });
128
+ }
129
+ }
130
+ /**
131
+ * @internal
132
+ */
133
+ disconnectedCallback() {
134
+ super.disconnectedCallback();
135
+ const elements = Array.from(this.control.children);
136
+ if (elements) {
137
+ elements.forEach((span) => {
138
+ span.removeEventListener("click", this.handleClick);
139
+ });
140
+ }
141
+ }
142
+ }
143
+ __decorateClass([
144
+ defineVividComponent.attr({ mode: "boolean" })
145
+ ], VividFoundationButton.prototype, "autofocus");
146
+ __decorateClass([
147
+ defineVividComponent.attr({ attribute: "form" })
148
+ ], VividFoundationButton.prototype, "formId");
149
+ __decorateClass([
150
+ defineVividComponent.attr
151
+ ], VividFoundationButton.prototype, "formaction");
152
+ __decorateClass([
153
+ defineVividComponent.attr
154
+ ], VividFoundationButton.prototype, "formenctype");
155
+ __decorateClass([
156
+ defineVividComponent.attr
157
+ ], VividFoundationButton.prototype, "formmethod");
158
+ __decorateClass([
159
+ defineVividComponent.attr({ mode: "boolean" })
160
+ ], VividFoundationButton.prototype, "formnovalidate");
161
+ __decorateClass([
162
+ defineVividComponent.attr
163
+ ], VividFoundationButton.prototype, "formtarget");
164
+ __decorateClass([
165
+ defineVividComponent.attr
166
+ ], VividFoundationButton.prototype, "type");
167
+ class DelegatesARIAButton {
168
+ }
169
+ __decorateClass([
170
+ defineVividComponent.attr({ attribute: "aria-expanded" })
171
+ ], DelegatesARIAButton.prototype, "ariaExpanded");
172
+ __decorateClass([
173
+ defineVividComponent.attr({ attribute: "aria-pressed" })
174
+ ], DelegatesARIAButton.prototype, "ariaPressed");
175
+ applyMixins.applyMixins(DelegatesARIAButton, ariaGlobal.ARIAGlobalStatesAndProperties);
176
+ applyMixins.applyMixins(VividFoundationButton, DelegatesARIAButton);
177
+
178
+ exports.VividFoundationButton = VividFoundationButton;
@@ -0,0 +1,176 @@
1
+ import { a as applyMixins } from './apply-mixins.js';
2
+ import { F as FormAssociated } from './form-associated.js';
3
+ import { V as VividElement } from './vivid-element.js';
4
+ import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
5
+ import { a as attr } from './defineVividComponent.js';
6
+
7
+ class _FoundationButton extends VividElement {
8
+ }
9
+ class FormAssociatedButton extends FormAssociated(_FoundationButton) {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.proxy = document.createElement("input");
13
+ }
14
+ }
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __decorateClass = (decorators, target, key, kind) => {
18
+ var result = void 0 ;
19
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
20
+ if (decorator = decorators[i])
21
+ result = (decorator(target, key, result) ) || result;
22
+ if (result) __defProp(target, key, result);
23
+ return result;
24
+ };
25
+ class VividFoundationButton extends FormAssociatedButton {
26
+ constructor() {
27
+ super(...arguments);
28
+ /**
29
+ * Prevent events to propagate if disabled
30
+ * @internal
31
+ */
32
+ this.handleClick = (e) => {
33
+ if (this.disabled) {
34
+ e.stopPropagation();
35
+ }
36
+ };
37
+ /**
38
+ * Submits the parent form
39
+ */
40
+ this.handleSubmission = () => {
41
+ if (!this.form) {
42
+ return;
43
+ }
44
+ this.attachProxy();
45
+ this.form.requestSubmit(this.proxy);
46
+ this.detachProxy();
47
+ };
48
+ /**
49
+ * Resets the parent form
50
+ */
51
+ this.handleFormReset = () => {
52
+ this.form?.reset();
53
+ };
54
+ /**
55
+ * Overrides the focus call for where delegatesFocus is unsupported.
56
+ * This check works for Chrome, Edge Chromium, FireFox, and Safari
57
+ * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
58
+ */
59
+ this.handleUnsupportedDelegatesFocus = () => {
60
+ if (this.$fastController.definition.shadowOptions) {
61
+ if (window.ShadowRoot && /* eslint-disable-next-line */
62
+ !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && this.$fastController.definition.shadowOptions.delegatesFocus) {
63
+ this.focus = () => {
64
+ this.control.focus();
65
+ };
66
+ }
67
+ }
68
+ };
69
+ }
70
+ // @ts-expect-error Function is delcared but not used
71
+ formactionChanged() {
72
+ if (this.proxy instanceof HTMLInputElement) {
73
+ this.proxy.formAction = this.formaction;
74
+ }
75
+ }
76
+ // @ts-expect-error Function is delcared but not used
77
+ formenctypeChanged() {
78
+ if (this.proxy instanceof HTMLInputElement) {
79
+ this.proxy.formEnctype = this.formenctype;
80
+ }
81
+ }
82
+ // @ts-expect-error Function is delcared but not used
83
+ formmethodChanged() {
84
+ if (this.proxy instanceof HTMLInputElement) {
85
+ this.proxy.formMethod = this.formmethod;
86
+ }
87
+ }
88
+ // @ts-expect-error Function is delcared but not used
89
+ formnovalidateChanged() {
90
+ if (this.proxy instanceof HTMLInputElement) {
91
+ this.proxy.formNoValidate = this.formnovalidate;
92
+ }
93
+ }
94
+ // @ts-expect-error Function is delcared but not used
95
+ formtargetChanged() {
96
+ if (this.proxy instanceof HTMLInputElement) {
97
+ this.proxy.formTarget = this.formtarget;
98
+ }
99
+ }
100
+ // @ts-expect-error Function is delcared but not used
101
+ typeChanged(previous, next) {
102
+ if (this.proxy instanceof HTMLInputElement) {
103
+ this.proxy.type = this.type;
104
+ }
105
+ next === "submit" && this.addEventListener("click", this.handleSubmission);
106
+ previous === "submit" && this.removeEventListener("click", this.handleSubmission);
107
+ next === "reset" && this.addEventListener("click", this.handleFormReset);
108
+ previous === "reset" && this.removeEventListener("click", this.handleFormReset);
109
+ }
110
+ /** {@inheritDoc (FormAssociated:interface).validate} */
111
+ validate() {
112
+ super.validate(this.control);
113
+ }
114
+ /**
115
+ * @internal
116
+ */
117
+ connectedCallback() {
118
+ super.connectedCallback();
119
+ this.proxy.setAttribute("type", this.type);
120
+ this.handleUnsupportedDelegatesFocus();
121
+ const elements = Array.from(this.control.children);
122
+ if (elements) {
123
+ elements.forEach((span) => {
124
+ span.addEventListener("click", this.handleClick);
125
+ });
126
+ }
127
+ }
128
+ /**
129
+ * @internal
130
+ */
131
+ disconnectedCallback() {
132
+ super.disconnectedCallback();
133
+ const elements = Array.from(this.control.children);
134
+ if (elements) {
135
+ elements.forEach((span) => {
136
+ span.removeEventListener("click", this.handleClick);
137
+ });
138
+ }
139
+ }
140
+ }
141
+ __decorateClass([
142
+ attr({ mode: "boolean" })
143
+ ], VividFoundationButton.prototype, "autofocus");
144
+ __decorateClass([
145
+ attr({ attribute: "form" })
146
+ ], VividFoundationButton.prototype, "formId");
147
+ __decorateClass([
148
+ attr
149
+ ], VividFoundationButton.prototype, "formaction");
150
+ __decorateClass([
151
+ attr
152
+ ], VividFoundationButton.prototype, "formenctype");
153
+ __decorateClass([
154
+ attr
155
+ ], VividFoundationButton.prototype, "formmethod");
156
+ __decorateClass([
157
+ attr({ mode: "boolean" })
158
+ ], VividFoundationButton.prototype, "formnovalidate");
159
+ __decorateClass([
160
+ attr
161
+ ], VividFoundationButton.prototype, "formtarget");
162
+ __decorateClass([
163
+ attr
164
+ ], VividFoundationButton.prototype, "type");
165
+ class DelegatesARIAButton {
166
+ }
167
+ __decorateClass([
168
+ attr({ attribute: "aria-expanded" })
169
+ ], DelegatesARIAButton.prototype, "ariaExpanded");
170
+ __decorateClass([
171
+ attr({ attribute: "aria-pressed" })
172
+ ], DelegatesARIAButton.prototype, "ariaPressed");
173
+ applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
174
+ applyMixins(VividFoundationButton, DelegatesARIAButton);
175
+
176
+ export { VividFoundationButton as V };