@vonage/vivid 4.13.0 → 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 (516) hide show
  1. package/custom-elements.json +4033 -2662
  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.form-associated.d.ts +3 -2
  84. package/lib/file-picker/file-picker.template.d.ts +2 -3
  85. package/lib/header/definition.d.ts +1 -3
  86. package/lib/header/header.d.ts +2 -2
  87. package/lib/header/header.template.d.ts +2 -3
  88. package/lib/icon/definition.d.ts +1 -3
  89. package/lib/icon/icon.d.ts +2 -2
  90. package/lib/icon/icon.template.d.ts +1 -3
  91. package/lib/layout/definition.d.ts +1 -3
  92. package/lib/layout/layout.d.ts +2 -2
  93. package/lib/layout/layout.template.d.ts +1 -3
  94. package/lib/listbox/definition.d.ts +1 -3
  95. package/lib/listbox/listbox.template.d.ts +1 -3
  96. package/lib/menu/definition.d.ts +1 -11
  97. package/lib/menu/menu.d.ts +2 -2
  98. package/lib/menu/menu.template.d.ts +3 -3
  99. package/lib/menu-item/definition.d.ts +1 -3
  100. package/lib/menu-item/menu-item.d.ts +2 -2
  101. package/lib/menu-item/menu-item.template.d.ts +2 -3
  102. package/lib/nav/definition.d.ts +1 -3
  103. package/lib/nav/nav.d.ts +2 -2
  104. package/lib/nav/nav.template.d.ts +1 -3
  105. package/lib/nav-disclosure/definition.d.ts +1 -3
  106. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  107. package/lib/nav-disclosure/nav-disclosure.template.d.ts +2 -3
  108. package/lib/nav-item/definition.d.ts +1 -3
  109. package/lib/nav-item/nav-item.template.d.ts +2 -3
  110. package/lib/note/definition.d.ts +1 -3
  111. package/lib/note/note.d.ts +2 -2
  112. package/lib/note/note.template.d.ts +2 -3
  113. package/lib/number-field/definition.d.ts +1 -4
  114. package/lib/number-field/number-field.form-associated.d.ts +3 -2
  115. package/lib/number-field/number-field.template.d.ts +2 -3
  116. package/lib/option/definition.d.ts +1 -3
  117. package/lib/option/option.d.ts +3 -2
  118. package/lib/option/option.template.d.ts +2 -3
  119. package/lib/pagination/definition.d.ts +1 -3
  120. package/lib/pagination/pagination.d.ts +2 -2
  121. package/lib/pagination/pagination.template.d.ts +2 -3
  122. package/lib/popup/definition.d.ts +1 -3
  123. package/lib/popup/popup.template.d.ts +2 -3
  124. package/lib/progress/definition.d.ts +1 -3
  125. package/lib/progress/progress.d.ts +1 -1
  126. package/lib/progress/progress.template.d.ts +1 -4
  127. package/lib/progress-ring/definition.d.ts +1 -3
  128. package/lib/progress-ring/progress-ring.d.ts +1 -1
  129. package/lib/progress-ring/progress-ring.template.d.ts +1 -3
  130. package/lib/radio/definition.d.ts +1 -3
  131. package/lib/radio/radio.form-associated.d.ts +3 -2
  132. package/lib/radio/radio.template.d.ts +1 -3
  133. package/lib/radio-group/definition.d.ts +1 -11
  134. package/lib/radio-group/radio-group.d.ts +2 -2
  135. package/lib/radio-group/radio-group.template.d.ts +2 -3
  136. package/lib/range-slider/definition.d.ts +1 -3
  137. package/lib/range-slider/range-slider.form-associated.d.ts +3 -2
  138. package/lib/range-slider/range-slider.template.d.ts +2 -3
  139. package/lib/searchable-select/definition.d.ts +1 -4
  140. package/lib/searchable-select/option-tag.template.d.ts +2 -3
  141. package/lib/searchable-select/searchable-select.form-associated.d.ts +3 -2
  142. package/lib/searchable-select/searchable-select.template.d.ts +2 -3
  143. package/lib/select/definition.d.ts +1 -3
  144. package/lib/select/select.d.ts +14 -4
  145. package/lib/select/select.form-associated.d.ts +11 -0
  146. package/lib/select/select.template.d.ts +2 -3
  147. package/lib/selectable-box/definition.d.ts +1 -3
  148. package/lib/selectable-box/selectable-box.d.ts +2 -2
  149. package/lib/selectable-box/selectable-box.template.d.ts +2 -3
  150. package/lib/side-drawer/definition.d.ts +1 -3
  151. package/lib/side-drawer/side-drawer.d.ts +2 -2
  152. package/lib/side-drawer/side-drawer.template.d.ts +1 -3
  153. package/lib/slider/definition.d.ts +1 -3
  154. package/lib/slider/slider.form-associated.d.ts +3 -2
  155. package/lib/slider/slider.template.d.ts +3 -4
  156. package/lib/split-button/definition.d.ts +1 -1
  157. package/lib/split-button/split-button.d.ts +2 -2
  158. package/lib/split-button/split-button.template.d.ts +2 -3
  159. package/lib/switch/definition.d.ts +1 -3
  160. package/lib/switch/switch.form-associated.d.ts +3 -2
  161. package/lib/switch/switch.template.d.ts +1 -3
  162. package/lib/tab/definition.d.ts +1 -3
  163. package/lib/tab/tab.d.ts +2 -2
  164. package/lib/tab/tab.template.d.ts +2 -2
  165. package/lib/tab-panel/definition.d.ts +1 -3
  166. package/lib/tab-panel/tab-panel.d.ts +2 -2
  167. package/lib/tab-panel/tab-panel.template.d.ts +1 -1
  168. package/lib/tabs/definition.d.ts +1 -3
  169. package/lib/tabs/tabs.d.ts +3 -2
  170. package/lib/tabs/tabs.template.d.ts +1 -1
  171. package/lib/tag/definition.d.ts +1 -4
  172. package/lib/tag/tag.d.ts +2 -2
  173. package/lib/tag/tag.template.d.ts +2 -3
  174. package/lib/tag-group/definition.d.ts +1 -3
  175. package/lib/tag-group/tag-group.d.ts +2 -2
  176. package/lib/tag-group/tag-group.template.d.ts +1 -3
  177. package/lib/text-anchor/definition.d.ts +1 -3
  178. package/lib/text-anchor/text-anchor.d.ts +4 -3
  179. package/lib/text-anchor/text-anchor.template.d.ts +2 -3
  180. package/lib/text-area/definition.d.ts +1 -3
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-area/{text-field.form-associated.d.ts → text-area.form-associated.d.ts} +3 -2
  183. package/lib/text-area/text-area.template.d.ts +2 -3
  184. package/lib/text-field/definition.d.ts +1 -3
  185. package/lib/text-field/text-field.form-associated.d.ts +3 -2
  186. package/lib/text-field/text-field.template.d.ts +2 -3
  187. package/lib/time-picker/definition.d.ts +1 -3
  188. package/lib/time-picker/time-picker.form-associated.d.ts +3 -2
  189. package/lib/time-picker/time-picker.template.d.ts +2 -2
  190. package/lib/toggletip/definition.d.ts +1 -3
  191. package/lib/toggletip/toggletip.d.ts +2 -2
  192. package/lib/toggletip/toggletip.template.d.ts +2 -3
  193. package/lib/tooltip/definition.d.ts +1 -3
  194. package/lib/tooltip/tooltip.d.ts +2 -2
  195. package/lib/tooltip/tooltip.template.d.ts +2 -3
  196. package/lib/tree-item/definition.d.ts +1 -3
  197. package/lib/tree-item/tree-item.d.ts +11 -2
  198. package/lib/tree-item/tree-item.template.d.ts +3 -3
  199. package/lib/tree-view/definition.d.ts +1 -3
  200. package/lib/tree-view/tree-view.d.ts +16 -2
  201. package/lib/tree-view/tree-view.template.d.ts +1 -1
  202. package/lib/video-player/definition.d.ts +1 -3
  203. package/lib/video-player/video-player.d.ts +2 -2
  204. package/lib/video-player/video-player.template.d.ts +1 -3
  205. package/listbox/index.cjs +37 -39
  206. package/listbox/index.js +37 -39
  207. package/menu/index.cjs +1 -1
  208. package/menu/index.js +1 -1
  209. package/nav/index.cjs +1 -1
  210. package/nav/index.js +1 -1
  211. package/nav-disclosure/index.cjs +1 -1
  212. package/nav-disclosure/index.js +1 -1
  213. package/nav-item/index.cjs +1 -1
  214. package/nav-item/index.js +1 -1
  215. package/note/index.cjs +1 -1
  216. package/note/index.js +1 -1
  217. package/number-field/index.cjs +1 -1
  218. package/number-field/index.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +1 -1
  222. package/pagination/index.cjs +1 -1
  223. package/pagination/index.js +1 -1
  224. package/popup/index.cjs +1 -1
  225. package/popup/index.js +1 -1
  226. package/progress/index.cjs +1 -1
  227. package/progress/index.js +1 -1
  228. package/progress-ring/index.cjs +1 -1
  229. package/progress-ring/index.js +1 -1
  230. package/radio/index.cjs +1 -1
  231. package/radio/index.js +1 -1
  232. package/radio-group/index.cjs +1 -1
  233. package/radio-group/index.js +1 -1
  234. package/range-slider/index.cjs +1 -1
  235. package/range-slider/index.js +1 -1
  236. package/searchable-select/index.cjs +1 -1
  237. package/searchable-select/index.js +1 -1
  238. package/select/index.cjs +1 -1
  239. package/select/index.js +1 -1
  240. package/selectable-box/index.cjs +1 -1
  241. package/selectable-box/index.js +1 -1
  242. package/shared/affix.cjs +10 -10
  243. package/shared/affix.js +2 -2
  244. package/shared/anchor.cjs +59 -0
  245. package/shared/anchor.js +57 -0
  246. package/shared/anchored.cjs +6 -6
  247. package/shared/anchored.js +2 -2
  248. package/shared/apply-mixins.cjs +15 -17
  249. package/shared/apply-mixins.js +15 -17
  250. package/shared/apply-mixins2.cjs +25 -0
  251. package/shared/apply-mixins2.js +23 -0
  252. package/shared/applyMixinsWithObservables.cjs +4 -4
  253. package/shared/applyMixinsWithObservables.js +2 -2
  254. package/shared/aria-global.cjs +86 -67
  255. package/shared/aria-global.js +86 -67
  256. package/shared/aria-global2.cjs +68 -86
  257. package/shared/aria-global2.js +68 -86
  258. package/shared/base-progress.cjs +70 -63
  259. package/shared/base-progress.js +69 -62
  260. package/shared/breadcrumb-item.cjs +7 -58
  261. package/shared/breadcrumb-item.js +4 -55
  262. package/shared/button.cjs +178 -0
  263. package/shared/button.js +176 -0
  264. package/shared/calendar-event.cjs +10 -9
  265. package/shared/calendar-event.js +3 -2
  266. package/shared/children.cjs +2 -2
  267. package/shared/children.js +1 -1
  268. package/shared/date-picker/date-picker-base.form-associated.d.ts +3 -2
  269. package/shared/date-picker/date-picker-base.template.d.ts +2 -3
  270. package/shared/defineVividComponent.cjs +2612 -0
  271. package/shared/defineVividComponent.js +2592 -0
  272. package/shared/definition.cjs +26 -24
  273. package/shared/definition.js +17 -14
  274. package/shared/definition10.cjs +15 -12
  275. package/shared/definition10.js +15 -11
  276. package/shared/definition11.cjs +52 -248
  277. package/shared/definition11.js +24 -218
  278. package/shared/definition12.cjs +18 -14
  279. package/shared/definition12.js +17 -12
  280. package/shared/definition13.cjs +20 -19
  281. package/shared/definition13.js +11 -9
  282. package/shared/definition14.cjs +36 -38
  283. package/shared/definition14.js +16 -17
  284. package/shared/definition15.cjs +28 -26
  285. package/shared/definition15.js +17 -14
  286. package/shared/definition16.cjs +478 -611
  287. package/shared/definition16.js +471 -603
  288. package/shared/definition17.cjs +934 -1113
  289. package/shared/definition17.js +912 -1090
  290. package/shared/definition18.cjs +16 -20
  291. package/shared/definition18.js +19 -22
  292. package/shared/definition19.cjs +26 -30
  293. package/shared/definition19.js +21 -24
  294. package/shared/definition2.cjs +20 -22
  295. package/shared/definition2.js +21 -22
  296. package/shared/definition20.cjs +51 -52
  297. package/shared/definition20.js +35 -35
  298. package/shared/definition21.cjs +42 -45
  299. package/shared/definition21.js +18 -20
  300. package/shared/definition22.cjs +16 -13
  301. package/shared/definition22.js +15 -11
  302. package/shared/definition23.cjs +22 -20
  303. package/shared/definition23.js +15 -12
  304. package/shared/definition24.cjs +20 -172
  305. package/shared/definition24.js +17 -168
  306. package/shared/definition25.cjs +27 -28
  307. package/shared/definition25.js +19 -19
  308. package/shared/definition26.cjs +17 -14
  309. package/shared/definition26.js +15 -11
  310. package/shared/definition27.cjs +265 -12
  311. package/shared/definition27.js +262 -10
  312. package/shared/definition28.cjs +19 -16
  313. package/shared/definition28.js +15 -11
  314. package/shared/definition29.cjs +143 -68
  315. package/shared/definition29.js +102 -29
  316. package/shared/definition3.cjs +21 -16
  317. package/shared/definition3.js +17 -11
  318. package/shared/definition30.cjs +99 -76
  319. package/shared/definition30.js +98 -74
  320. package/shared/definition31.cjs +24 -97
  321. package/shared/definition31.js +25 -97
  322. package/shared/definition32.cjs +10 -25
  323. package/shared/definition32.js +9 -23
  324. package/shared/definition33.cjs +53 -14
  325. package/shared/definition33.js +52 -12
  326. package/shared/definition34.cjs +641 -34
  327. package/shared/definition34.js +638 -30
  328. package/shared/definition35.cjs +204 -596
  329. package/shared/definition35.js +198 -591
  330. package/shared/definition36.cjs +198 -233
  331. package/shared/definition36.js +193 -226
  332. package/shared/definition37.cjs +79 -206
  333. package/shared/definition37.js +75 -202
  334. package/shared/definition38.cjs +50 -56
  335. package/shared/definition38.js +48 -52
  336. package/shared/definition39.cjs +260 -56
  337. package/shared/definition39.js +259 -54
  338. package/shared/definition4.cjs +33 -35
  339. package/shared/definition4.js +20 -21
  340. package/shared/definition40.cjs +112 -229
  341. package/shared/definition40.js +109 -226
  342. package/shared/definition41.cjs +627 -36
  343. package/shared/definition41.js +626 -34
  344. package/shared/definition42.cjs +975 -487
  345. package/shared/definition42.js +972 -482
  346. package/shared/definition43.cjs +725 -932
  347. package/shared/definition43.js +713 -918
  348. package/shared/definition44.cjs +116 -734
  349. package/shared/definition44.js +114 -731
  350. package/shared/definition45.cjs +93 -116
  351. package/shared/definition45.js +93 -115
  352. package/shared/definition46.cjs +469 -89
  353. package/shared/definition46.js +466 -86
  354. package/shared/definition47.cjs +119 -470
  355. package/shared/definition47.js +116 -465
  356. package/shared/definition48.cjs +114 -120
  357. package/shared/definition48.js +112 -117
  358. package/shared/definition49.cjs +17 -134
  359. package/shared/definition49.js +16 -132
  360. package/shared/definition5.cjs +48 -49
  361. package/shared/definition5.js +19 -19
  362. package/shared/definition50.cjs +112 -15
  363. package/shared/definition50.js +110 -12
  364. package/shared/definition51.cjs +847 -84
  365. package/shared/definition51.js +843 -79
  366. package/shared/definition52.cjs +31 -873
  367. package/shared/definition52.js +29 -870
  368. package/shared/definition53.cjs +126 -28
  369. package/shared/definition53.js +124 -25
  370. package/shared/definition54.cjs +268 -107
  371. package/shared/definition54.js +262 -100
  372. package/shared/definition55.cjs +63 -278
  373. package/shared/definition55.js +61 -275
  374. package/shared/definition56.cjs +868 -76
  375. package/shared/definition56.js +867 -74
  376. package/shared/definition57.cjs +108 -826
  377. package/shared/definition57.js +106 -823
  378. package/shared/definition58.cjs +74 -100
  379. package/shared/definition58.js +70 -95
  380. package/shared/definition59.cjs +181 -106
  381. package/shared/definition59.js +175 -101
  382. package/shared/definition6.cjs +23 -21
  383. package/shared/definition6.js +15 -12
  384. package/shared/definition60.cjs +273 -70
  385. package/shared/definition60.js +273 -69
  386. package/shared/definition61.cjs +66157 -271
  387. package/shared/definition61.js +66156 -269
  388. package/shared/definition62.cjs +36 -66174
  389. package/shared/definition62.js +33 -66171
  390. package/shared/definition63.cjs +2154 -27
  391. package/shared/definition63.js +2151 -25
  392. package/shared/definition7.cjs +19 -15
  393. package/shared/definition7.js +14 -10
  394. package/shared/definition8.cjs +26 -27
  395. package/shared/definition8.js +17 -17
  396. package/shared/definition9.cjs +21 -21
  397. package/shared/definition9.js +18 -17
  398. package/shared/design-system/createRegisterFunction.d.ts +2 -0
  399. package/shared/design-system/defineVividComponent.d.ts +15 -0
  400. package/shared/{localization.js → direction.js} +11 -11
  401. package/shared/dom.cjs +0 -13
  402. package/shared/dom.js +1 -13
  403. package/shared/form-associated.cjs +422 -457
  404. package/shared/form-associated.js +422 -457
  405. package/shared/form-associated2.cjs +383 -0
  406. package/shared/form-associated2.js +381 -0
  407. package/shared/form-elements.cjs +15 -42
  408. package/shared/form-elements.js +2 -29
  409. package/shared/foundation/anchor/anchor.d.ts +1 -0
  410. package/shared/foundation/button/button.d.ts +3 -2
  411. package/shared/foundation/button/button.template.d.ts +2 -4
  412. package/shared/foundation/form-associated/form-associated.d.ts +51 -0
  413. package/shared/foundation/listbox/listbox.d.ts +22 -0
  414. package/shared/foundation/progress/base-progress.d.ts +9 -0
  415. package/shared/foundation/utilities/apply-mixins.d.ts +1 -0
  416. package/shared/foundation/vivid-element/vivid-element.d.ts +3 -0
  417. package/shared/foundation-element.cjs +1417 -0
  418. package/shared/foundation-element.js +1414 -0
  419. package/shared/index.cjs +7 -5097
  420. package/shared/index.js +7 -5079
  421. package/shared/key-codes.cjs +10 -0
  422. package/shared/key-codes.js +6 -1
  423. package/shared/key-codes2.cjs +50 -6
  424. package/shared/key-codes2.js +50 -4
  425. package/shared/listbox.cjs +428 -1195
  426. package/shared/listbox.js +412 -1176
  427. package/shared/listbox2.cjs +1268 -0
  428. package/shared/listbox2.js +1265 -0
  429. package/shared/localized.cjs +2 -2
  430. package/shared/localized.js +1 -1
  431. package/shared/numbers.cjs +12 -0
  432. package/shared/numbers.js +12 -1
  433. package/shared/patterns/affix.d.ts +2 -2
  434. package/shared/patterns/chevron.d.ts +2 -2
  435. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  436. package/shared/presentationDate.cjs +50 -49
  437. package/shared/presentationDate.js +7 -6
  438. package/shared/ref.cjs +2 -2
  439. package/shared/ref.js +1 -1
  440. package/shared/repeat.cjs +22 -22
  441. package/shared/repeat.js +1 -1
  442. package/shared/slider.template.cjs +5 -5
  443. package/shared/slider.template.js +2 -2
  444. package/shared/slotted.cjs +4 -4
  445. package/shared/slotted.js +1 -1
  446. package/shared/strings.cjs +0 -26
  447. package/shared/strings.js +1 -25
  448. package/shared/strings2.cjs +37 -0
  449. package/shared/strings2.js +33 -0
  450. package/shared/text-anchor.cjs +8 -89
  451. package/shared/text-anchor.js +5 -86
  452. package/shared/text-anchor.template.cjs +2 -2
  453. package/shared/text-anchor.template.js +1 -1
  454. package/shared/text-field2.cjs +29 -28
  455. package/shared/text-field2.js +6 -5
  456. package/shared/vivid-element.cjs +8 -0
  457. package/shared/vivid-element.js +6 -0
  458. package/side-drawer/index.cjs +1 -1
  459. package/side-drawer/index.js +1 -1
  460. package/slider/index.cjs +1 -1
  461. package/slider/index.js +1 -1
  462. package/split-button/index.cjs +1 -1
  463. package/split-button/index.js +1 -1
  464. package/styles/core/all.css +1 -1
  465. package/styles/core/theme.css +1 -1
  466. package/styles/core/typography.css +1 -1
  467. package/styles/tokens/theme-dark.css +4 -4
  468. package/styles/tokens/theme-light.css +4 -4
  469. package/styles/tokens/vivid-2-compat.css +1 -1
  470. package/switch/index.cjs +1 -1
  471. package/switch/index.js +1 -1
  472. package/tab/index.cjs +1 -1
  473. package/tab/index.js +1 -1
  474. package/tab-panel/index.cjs +1 -1
  475. package/tab-panel/index.js +1 -1
  476. package/tabs/index.cjs +1 -1
  477. package/tabs/index.js +1 -1
  478. package/tag/index.cjs +1 -1
  479. package/tag/index.js +1 -1
  480. package/tag-group/index.cjs +1 -1
  481. package/tag-group/index.js +1 -1
  482. package/text-anchor/index.cjs +10 -7
  483. package/text-anchor/index.js +10 -7
  484. package/text-area/index.cjs +1 -1
  485. package/text-area/index.js +1 -1
  486. package/text-field/index.cjs +1 -1
  487. package/text-field/index.js +1 -1
  488. package/time-picker/index.cjs +1 -1
  489. package/time-picker/index.js +1 -1
  490. package/toggletip/index.cjs +1 -1
  491. package/toggletip/index.js +1 -1
  492. package/tooltip/index.cjs +1 -1
  493. package/tooltip/index.js +1 -1
  494. package/tree-item/index.cjs +1 -1
  495. package/tree-item/index.js +1 -1
  496. package/tree-view/index.cjs +1 -1
  497. package/tree-view/index.js +1 -1
  498. package/video-player/index.cjs +1 -1
  499. package/video-player/index.js +1 -1
  500. package/vivid.api.json +2846 -7860
  501. package/shared/definition64.cjs +0 -2175
  502. package/shared/definition64.js +0 -2170
  503. package/shared/design-system/index.d.ts +0 -3
  504. package/shared/icon.cjs +0 -261
  505. package/shared/icon.js +0 -258
  506. package/shared/index2.cjs +0 -11
  507. package/shared/index2.js +0 -9
  508. package/shared/radio.cjs +0 -126
  509. package/shared/radio.js +0 -124
  510. package/shared/select.options.cjs +0 -12
  511. package/shared/select.options.js +0 -10
  512. package/shared/start-end.cjs +0 -52
  513. package/shared/start-end.js +0 -50
  514. package/shared/tree-item.cjs +0 -154
  515. package/shared/tree-item.js +0 -151
  516. package/shared/{localization.cjs → direction.cjs} +9 -9
@@ -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;