@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,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
3
  const definition = require('./definition27.cjs');
5
- const icon = require('./icon.cjs');
4
+ const defineVividComponent = require('./defineVividComponent.cjs');
5
+ const vividElement = require('./vivid-element.cjs');
6
6
  const when = require('./when.cjs');
7
7
  const classNames = require('./class-names.cjs');
8
8
 
@@ -17,25 +17,25 @@ var __decorateClass = (decorators, target, key, kind) => {
17
17
  if (result) __defProp(target, key, result);
18
18
  return result;
19
19
  };
20
- class Avatar extends index.FoundationElement {
20
+ class Avatar extends vividElement.VividElement {
21
21
  }
22
22
  __decorateClass([
23
- index.attr
23
+ defineVividComponent.attr
24
24
  ], Avatar.prototype, "connotation");
25
25
  __decorateClass([
26
- index.attr
26
+ defineVividComponent.attr
27
27
  ], Avatar.prototype, "shape");
28
28
  __decorateClass([
29
- index.attr
29
+ defineVividComponent.attr
30
30
  ], Avatar.prototype, "appearance");
31
31
  __decorateClass([
32
- index.attr
32
+ defineVividComponent.attr
33
33
  ], Avatar.prototype, "size");
34
34
  __decorateClass([
35
- index.attr
35
+ defineVividComponent.attr
36
36
  ], Avatar.prototype, "icon");
37
37
  __decorateClass([
38
- index.attr
38
+ defineVividComponent.attr
39
39
  ], Avatar.prototype, "initials");
40
40
 
41
41
  const getClasses = ({ appearance, connotation, shape, size }) => classNames.classNames(
@@ -46,20 +46,20 @@ const getClasses = ({ appearance, connotation, shape, size }) => classNames.clas
46
46
  [`size-${size}`, Boolean(size)]
47
47
  );
48
48
  function renderIcon(iconTag) {
49
- return index.html`
49
+ return defineVividComponent.html`
50
50
  <span class="icon">
51
51
  <${iconTag} name="${(x) => x.icon ? `${x.icon}` : "user-line"}"></${iconTag}>
52
52
  </span>
53
53
  `;
54
54
  }
55
55
  function renderInitials() {
56
- return index.html`
56
+ return defineVividComponent.html`
57
57
  <span class="initials">${({ initials }) => initials.substring(0, 2)}</span>
58
58
  `;
59
59
  }
60
60
  const AvatarTemplate = (context) => {
61
- const iconTag = context.tagFor(icon.Icon);
62
- return index.html` <span class="${getClasses}">
61
+ const iconTag = context.tagFor(definition.Icon);
62
+ return defineVividComponent.html` <span class="${getClasses}">
63
63
  <slot name="graphic">
64
64
  ${when.when((x) => x.initials, renderInitials())}
65
65
  ${when.when((x) => !x.initials, renderIcon(iconTag))}
@@ -67,14 +67,16 @@ const AvatarTemplate = (context) => {
67
67
  </span>`;
68
68
  };
69
69
 
70
- const avatarDefinition = Avatar.compose({
71
- baseName: "avatar",
72
- template: AvatarTemplate,
73
- styles
74
- });
75
- const avatarRegistries = [avatarDefinition(), ...definition.iconRegistries];
76
- const registerAvatar = index.registerFactory(avatarRegistries);
70
+ const avatarDefinition = defineVividComponent.defineVividComponent(
71
+ "avatar",
72
+ Avatar,
73
+ AvatarTemplate,
74
+ [definition.iconDefinition],
75
+ {
76
+ styles
77
+ }
78
+ );
79
+ const registerAvatar = defineVividComponent.createRegisterFunction(avatarDefinition);
77
80
 
78
81
  exports.avatarDefinition = avatarDefinition;
79
- exports.avatarRegistries = avatarRegistries;
80
82
  exports.registerAvatar = registerAvatar;
@@ -1,6 +1,6 @@
1
- import { F as FoundationElement, a as attr, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition27.js';
3
- import { I as Icon } from './icon.js';
1
+ import { I as Icon, i as iconDefinition } from './definition27.js';
2
+ import { a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './defineVividComponent.js';
3
+ import { V as VividElement } from './vivid-element.js';
4
4
  import { w as when } from './when.js';
5
5
  import { c as classNames } from './class-names.js';
6
6
 
@@ -15,7 +15,7 @@ var __decorateClass = (decorators, target, key, kind) => {
15
15
  if (result) __defProp(target, key, result);
16
16
  return result;
17
17
  };
18
- class Avatar extends FoundationElement {
18
+ class Avatar extends VividElement {
19
19
  }
20
20
  __decorateClass([
21
21
  attr
@@ -65,12 +65,15 @@ const AvatarTemplate = (context) => {
65
65
  </span>`;
66
66
  };
67
67
 
68
- const avatarDefinition = Avatar.compose({
69
- baseName: "avatar",
70
- template: AvatarTemplate,
71
- styles
72
- });
73
- const avatarRegistries = [avatarDefinition(), ...iconRegistries];
74
- const registerAvatar = registerFactory(avatarRegistries);
68
+ const avatarDefinition = defineVividComponent(
69
+ "avatar",
70
+ Avatar,
71
+ AvatarTemplate,
72
+ [iconDefinition],
73
+ {
74
+ styles
75
+ }
76
+ );
77
+ const registerAvatar = createRegisterFunction(avatarDefinition);
75
78
 
76
- export { avatarDefinition as a, avatarRegistries as b, registerAvatar as r };
79
+ export { avatarDefinition as a, registerAvatar as r };
@@ -1,18 +1,15 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index.cjs');
4
- const definition = require('./definition27.cjs');
5
- const affix = require('./affix.cjs');
6
- const treeItem = require('./tree-item.cjs');
7
- const applyMixins = require('./apply-mixins.cjs');
8
- const icon = require('./icon.cjs');
3
+ const defineVividComponent = require('./defineVividComponent.cjs');
4
+ const definition = require('./definition59.cjs');
5
+ const keyCodes = require('./key-codes.cjs');
6
+ const foundationElement = require('./foundation-element.cjs');
7
+ const dom = require('./dom.cjs');
8
+ const ref = require('./ref.cjs');
9
9
  const slotted = require('./slotted.cjs');
10
- const children = require('./children.cjs');
11
- const when = require('./when.cjs');
12
10
  const classNames = require('./class-names.cjs');
13
- const ref = require('./ref.cjs');
14
11
 
15
- const styles = ":host(:focus-visible){outline:none}:host([disabled]){cursor:not-allowed}.control{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.control:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.control:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control{--_connotation-color-primary: var(--vvd-tree-item-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-tree-item-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-tree-item-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-faint: var(--vvd-tree-item-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-tree-item-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-firm: var(--vvd-tree-item-accent-firm, var(--vvd-color-canvas-text))}.control{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border-radius:8px;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);gap:12px;hyphens:auto;inline-size:100%;min-block-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:16px;text-decoration:none;vertical-align:middle;word-break:break-word}@supports (user-select: none){.control{user-select:none}}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color: transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{display:flex;align-items:center;border-radius:8px;font-size:20px}.expandCollapseButton .expandCollapseIcon{margin:4px}.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}.items{display:flex;flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
12
+ const styles = ".control{position:relative;display:flex;flex-direction:column;gap:4px}";
16
13
 
17
14
  var __defProp = Object.defineProperty;
18
15
  var __decorateClass = (decorators, target, key, kind) => {
@@ -23,72 +20,278 @@ var __decorateClass = (decorators, target, key, kind) => {
23
20
  if (result) __defProp(target, key, result);
24
21
  return result;
25
22
  };
26
- class TreeItem extends treeItem.TreeItem {
23
+ function getDisplayedNodes(rootNode, selector) {
24
+ if (dom.isHTMLElement(rootNode)) {
25
+ const nodes = Array.from(
26
+ rootNode.querySelectorAll(selector)
27
+ );
28
+ const visibleNodes = nodes.filter((node) => {
29
+ if (node.parentElement instanceof definition.TreeItem) {
30
+ if (node.parentElement.getAttribute("aria-expanded") === "true")
31
+ return true;
32
+ } else {
33
+ return true;
34
+ }
35
+ return false;
36
+ });
37
+ return visibleNodes;
38
+ }
39
+ return [];
27
40
  }
41
+ class TreeView extends foundationElement.FoundationElement {
42
+ constructor() {
43
+ super(...arguments);
44
+ /**
45
+ * The tree item that is designated to be in the tab queue.
46
+ *
47
+ * @internal
48
+ */
49
+ this.currentFocused = null;
50
+ /**
51
+ * Handle focus events
52
+ *
53
+ * @internal
54
+ */
55
+ this.handleFocus = (e) => {
56
+ if (this.slottedTreeItems.length > 0) {
57
+ if (e.target === this) {
58
+ if (this.currentFocused !== null) {
59
+ definition.TreeItem.focusItem(this.currentFocused);
60
+ }
61
+ return;
62
+ }
63
+ if (this.contains(e.target)) {
64
+ this.setAttribute("tabindex", "-1");
65
+ this.currentFocused = e.target;
66
+ }
67
+ }
68
+ };
69
+ /**
70
+ * Handle blur events
71
+ *
72
+ * @internal
73
+ */
74
+ this.handleBlur = (e) => {
75
+ if (e.target instanceof HTMLElement && (e.relatedTarget === null || !this.contains(e.relatedTarget))) {
76
+ this.setAttribute("tabindex", "0");
77
+ }
78
+ };
79
+ /**
80
+ * KeyDown handler
81
+ *
82
+ * @internal
83
+ */
84
+ this.handleKeyDown = (e) => {
85
+ if (this.slottedTreeItems.length < 1) {
86
+ return true;
87
+ }
88
+ if (!e.defaultPrevented) {
89
+ const treeItems = this.getVisibleNodes();
90
+ switch (e.key) {
91
+ case keyCodes.keyHome:
92
+ if (treeItems.length) {
93
+ definition.TreeItem.focusItem(treeItems[0]);
94
+ }
95
+ return;
96
+ case keyCodes.keyEnd:
97
+ if (treeItems.length) {
98
+ definition.TreeItem.focusItem(treeItems[treeItems.length - 1]);
99
+ }
100
+ return;
101
+ case keyCodes.keyArrowLeft:
102
+ if (e.target && this.isFocusableElement(e.target)) {
103
+ const item = e.target;
104
+ if (item instanceof definition.TreeItem && item.childItemLength() > 0 && item.expanded) {
105
+ item.expanded = false;
106
+ } else if (item instanceof definition.TreeItem && item.parentElement instanceof definition.TreeItem) {
107
+ definition.TreeItem.focusItem(item.parentElement);
108
+ }
109
+ }
110
+ return false;
111
+ case keyCodes.keyArrowRight:
112
+ if (e.target && this.isFocusableElement(e.target)) {
113
+ const item = e.target;
114
+ if (item instanceof definition.TreeItem && item.childItemLength() > 0 && !item.expanded) {
115
+ item.expanded = true;
116
+ } else if (item instanceof definition.TreeItem && item.childItemLength() > 0) {
117
+ this.focusNextNode(1, e.target);
118
+ }
119
+ }
120
+ return;
121
+ case keyCodes.keyArrowDown:
122
+ if (e.target && this.isFocusableElement(e.target)) {
123
+ this.focusNextNode(1, e.target);
124
+ }
125
+ return;
126
+ case keyCodes.keyArrowUp:
127
+ if (e.target && this.isFocusableElement(e.target)) {
128
+ this.focusNextNode(-1, e.target);
129
+ }
130
+ return;
131
+ case keyCodes.keyEnter:
132
+ this.handleClick(e);
133
+ return;
134
+ }
135
+ }
136
+ return true;
137
+ };
138
+ /**
139
+ * Handles the selected-changed events bubbling up
140
+ * from child tree items
141
+ *
142
+ * @internal
143
+ */
144
+ this.handleSelectedChange = (e) => {
145
+ if (!e.defaultPrevented) {
146
+ if (!(e.target instanceof Element) || !definition.isTreeItemElement(e.target)) {
147
+ return true;
148
+ }
149
+ const item = e.target;
150
+ if (item.selected) {
151
+ if (this.currentSelected && this.currentSelected !== item) {
152
+ this.currentSelected.selected = false;
153
+ }
154
+ this.currentSelected = item;
155
+ } else if (!item.selected && this.currentSelected === item) {
156
+ this.currentSelected = null;
157
+ }
158
+ return;
159
+ }
160
+ };
161
+ /**
162
+ * Updates the tree view when slottedTreeItems changes
163
+ */
164
+ this.setItems = () => {
165
+ const selectedItem = this.treeView.querySelector(
166
+ "[aria-selected='true']"
167
+ );
168
+ this.currentSelected = selectedItem;
169
+ if (this.currentFocused === null || !this.contains(this.currentFocused)) {
170
+ this.currentFocused = this.getValidFocusableItem();
171
+ }
172
+ this.nested = this.checkForNestedItems();
173
+ const treeItems = this.getVisibleNodes();
174
+ treeItems.forEach((node) => {
175
+ if (definition.isTreeItemElement(node)) {
176
+ node.nested = this.nested;
177
+ }
178
+ });
179
+ };
180
+ /**
181
+ * check if the item is focusable
182
+ */
183
+ this.isFocusableElement = (el) => {
184
+ return definition.isTreeItemElement(el);
185
+ };
186
+ this.isSelectedElement = (el) => {
187
+ return el.selected;
188
+ };
189
+ }
190
+ slottedTreeItemsChanged() {
191
+ if (this.$fastController.isConnected) {
192
+ this.setItems();
193
+ }
194
+ }
195
+ connectedCallback() {
196
+ super.connectedCallback();
197
+ this.setAttribute("tabindex", "0");
198
+ defineVividComponent.DOM.queueUpdate(() => {
199
+ this.setItems();
200
+ });
201
+ }
202
+ /**
203
+ * Handles click events bubbling up
204
+ *
205
+ * @internal
206
+ */
207
+ handleClick(e) {
208
+ if (!e.defaultPrevented) {
209
+ if (!(e.target instanceof Element) || !definition.isTreeItemElement(e.target)) {
210
+ return true;
211
+ }
212
+ const item = e.target;
213
+ if (!item.disabled) {
214
+ item.selected = !item.selected;
215
+ }
216
+ return;
217
+ }
218
+ }
219
+ /**
220
+ * Move focus to a tree item based on its offset from the provided item
221
+ */
222
+ focusNextNode(delta, item) {
223
+ const visibleNodes = this.getVisibleNodes();
224
+ if (visibleNodes) {
225
+ const focusItem = visibleNodes[visibleNodes.indexOf(item) + delta];
226
+ if (dom.isHTMLElement(focusItem)) {
227
+ definition.TreeItem.focusItem(focusItem);
228
+ }
229
+ }
230
+ }
231
+ /**
232
+ * checks if there are any nested tree items
233
+ */
234
+ getValidFocusableItem() {
235
+ const treeItems = this.getVisibleNodes();
236
+ let focusIndex = treeItems.findIndex(this.isSelectedElement);
237
+ if (focusIndex === -1) {
238
+ focusIndex = treeItems.findIndex(this.isFocusableElement);
239
+ }
240
+ if (focusIndex !== -1) {
241
+ return treeItems[focusIndex];
242
+ }
243
+ return null;
244
+ }
245
+ /**
246
+ * checks if there are any nested tree items
247
+ */
248
+ checkForNestedItems() {
249
+ return this.slottedTreeItems.some((node) => {
250
+ return definition.isTreeItemElement(node) && node.querySelector("[role='treeitem']");
251
+ });
252
+ }
253
+ getVisibleNodes() {
254
+ return getDisplayedNodes(this, "[role='treeitem']");
255
+ }
256
+ }
257
+ // @ts-expect-error Type is incorrectly non-optional
258
+ __decorateClass([
259
+ defineVividComponent.attr({ attribute: "render-collapsed-nodes" })
260
+ ], TreeView.prototype, "renderCollapsedNodes");
261
+ // @ts-expect-error Type is incorrectly non-optional
28
262
  __decorateClass([
29
- index.attr
30
- ], TreeItem.prototype, "text");
31
- applyMixins.applyMixins(TreeItem, affix.AffixIcon);
263
+ defineVividComponent.observable
264
+ ], TreeView.prototype, "currentSelected");
265
+ // @ts-expect-error Type is incorrectly non-optional
266
+ __decorateClass([
267
+ defineVividComponent.observable
268
+ ], TreeView.prototype, "slottedTreeItems");
32
269
 
33
- const getClasses = ({ disabled, selected }) => classNames.classNames(
34
- "control",
35
- ["disabled", disabled],
36
- ["selected", Boolean(selected)]
37
- );
38
- const expandCollapseButton = (context) => {
39
- const iconTag = context.tagFor(icon.Icon);
40
- return index.html`
41
- <div aria-hidden="true"
42
- class="expandCollapseButton"
43
- @click="${(x, c) => x.handleExpandCollapseButtonClick(c.event)}"
44
- ${ref.ref("expandCollapseButton")}
45
- >
46
- <${iconTag} class="expandCollapseIcon" name="${(x) => x.expanded ? "chevron-down-line" : "chevron-right-line"}"></${iconTag}>
47
- </div>`;
48
- };
49
- const TreeItemTemplate = (context) => {
50
- const affixIconTemplate = affix.affixIconTemplateFactory(context);
51
- return index.html` <template
52
- role="treeitem"
53
- slot="${(x) => x.isNestedItem() ? "item" : void 0}"
54
- tabindex="-1"
55
- aria-expanded="${(x) => x.childItems && x.childItems.length > 0 ? x.expanded : void 0}"
56
- aria-selected="${(x) => x.selected}"
57
- aria-disabled="${(x) => x.disabled}"
58
- @focusin="${(x, c) => x.handleFocus(c.event)}"
59
- @focusout="${(x, c) => x.handleBlur(c.event)}"
60
- ${children.children({
61
- property: "childItems",
62
- filter: slotted.elements(context.tagFor(TreeItem))
63
- })}
64
- >
65
- <div class="${getClasses}">
66
- ${when.when(
67
- (x) => x.childItems && x.childItems.length > 0,
68
- expandCollapseButton(context)
69
- )}
70
- ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)}
71
- ${(x) => x.text}
72
- </div>
73
- ${when.when(
74
- (x) => x.childItems && x.childItems.length > 0 && x.expanded,
75
- index.html` <div role="group" class="items">
76
- <slot name="item" ${slotted.slotted("items")}></slot>
77
- </div>`
78
- )}
79
- </template>`;
80
- };
270
+ const getClasses = (_) => classNames.classNames("control");
271
+ const TreeViewTemplate = defineVividComponent.html` <template
272
+ role="tree"
273
+ ${ref.ref("treeView")}
274
+ @keydown="${(x, c) => x.handleKeyDown(c.event)}"
275
+ @focusin="${(x, c) => x.handleFocus(c.event)}"
276
+ @focusout="${(x, c) => x.handleBlur(c.event)}"
277
+ @click="${(x, c) => x.handleClick(c.event)}"
278
+ @selected-change="${(x, c) => x.handleSelectedChange(c.event)}"
279
+ >
280
+ <div class="${getClasses}">
281
+ <slot ${slotted.slotted("slottedTreeItems")}></slot>
282
+ </div>
283
+ </template>`;
81
284
 
82
- const treeItemDefinition = TreeItem.compose(
285
+ const treeViewDefinition = defineVividComponent.defineVividComponent(
286
+ "tree-view",
287
+ TreeView,
288
+ TreeViewTemplate,
289
+ [definition.treeItemDefinition],
83
290
  {
84
- baseName: "tree-item",
85
- template: TreeItemTemplate,
86
291
  styles
87
292
  }
88
293
  );
89
- const treeItemRegistries = [treeItemDefinition(), ...definition.iconRegistries];
90
- const registerTreeItem = index.registerFactory(treeItemRegistries);
294
+ const registerTreeView = defineVividComponent.createRegisterFunction(treeViewDefinition);
91
295
 
92
- exports.registerTreeItem = registerTreeItem;
93
- exports.treeItemDefinition = treeItemDefinition;
94
- exports.treeItemRegistries = treeItemRegistries;
296
+ exports.registerTreeView = registerTreeView;
297
+ exports.treeViewDefinition = treeViewDefinition;