@vonage/vivid 5.23.1 → 5.24.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 (406) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/audio-player/index.cjs +2 -2
  6. package/audio-player/index.js +3 -3
  7. package/badge/index.cjs +1 -1
  8. package/badge/index.js +1 -1
  9. package/bundled/definition15.cjs +8 -7
  10. package/bundled/definition15.js +26 -24
  11. package/bundled/definition17.cjs +2 -2
  12. package/bundled/definition17.js +2 -2
  13. package/bundled/definition18.cjs +12 -83
  14. package/bundled/definition18.js +35 -419
  15. package/bundled/definition19.cjs +87 -7
  16. package/bundled/definition19.js +432 -16
  17. package/bundled/definition20.cjs +7 -37
  18. package/bundled/definition20.js +17 -172
  19. package/bundled/definition21.cjs +35 -27
  20. package/bundled/definition21.js +154 -154
  21. package/bundled/definition22.cjs +29 -6
  22. package/bundled/definition22.js +172 -20
  23. package/bundled/definition23.cjs +6 -12
  24. package/bundled/definition23.js +17 -32
  25. package/bundled/definition24.cjs +12 -39
  26. package/bundled/definition24.js +32 -67
  27. package/bundled/definition25.cjs +44 -0
  28. package/bundled/definition25.js +77 -0
  29. package/bundled/extractOptions.cjs +1 -0
  30. package/bundled/extractOptions.js +11 -0
  31. package/bundled/listbox.cjs +1 -1
  32. package/bundled/listbox.js +24 -11
  33. package/bundled/render-in-light-dom.cjs +1 -1
  34. package/bundled/render-in-light-dom.js +16 -19
  35. package/bundled/vivid-element.cjs +1 -1
  36. package/bundled/vivid-element.js +9 -1
  37. package/combobox/definition.cjs +1 -1
  38. package/combobox/definition.js +1 -1
  39. package/combobox/index.cjs +7 -7
  40. package/combobox/index.js +29 -21
  41. package/country/definition.cjs +1 -1
  42. package/country/definition.js +1 -1
  43. package/country/index.cjs +1 -1
  44. package/country/index.js +1 -1
  45. package/country-group/definition.cjs +1 -1
  46. package/country-group/definition.js +1 -1
  47. package/country-group/index.cjs +1 -1
  48. package/country-group/index.js +2 -2
  49. package/custom-elements.json +3102 -2842
  50. package/data-grid/definition.cjs +1 -1
  51. package/data-grid/definition.js +1 -1
  52. package/data-grid/index.cjs +4 -4
  53. package/data-grid/index.js +5 -5
  54. package/date-picker/definition.cjs +1 -1
  55. package/date-picker/definition.js +1 -1
  56. package/date-picker/index.cjs +1 -1
  57. package/date-picker/index.js +1 -1
  58. package/date-range-picker/definition.cjs +1 -1
  59. package/date-range-picker/definition.js +1 -1
  60. package/date-range-picker/index.cjs +1 -1
  61. package/date-range-picker/index.js +1 -1
  62. package/date-time-picker/definition.cjs +1 -1
  63. package/date-time-picker/definition.js +1 -1
  64. package/date-time-picker/index.cjs +1 -1
  65. package/date-time-picker/index.js +1 -1
  66. package/dial-pad/definition.cjs +1 -1
  67. package/dial-pad/definition.js +1 -1
  68. package/dial-pad/index.cjs +24 -24
  69. package/dial-pad/index.js +120 -51
  70. package/dialog/definition.cjs +1 -1
  71. package/dialog/definition.js +1 -1
  72. package/divider/definition.cjs +1 -1
  73. package/divider/definition.js +1 -1
  74. package/divider/index.cjs +1 -1
  75. package/divider/index.js +1 -1
  76. package/empty-state/definition.cjs +1 -1
  77. package/empty-state/definition.js +1 -1
  78. package/fab/definition.cjs +1 -1
  79. package/fab/definition.js +1 -1
  80. package/file-picker/definition.cjs +1 -1
  81. package/file-picker/definition.js +1 -1
  82. package/flag/definition.cjs +1 -1
  83. package/flag/definition.js +1 -1
  84. package/header/definition.cjs +1 -1
  85. package/header/definition.js +1 -1
  86. package/header/index.cjs +3 -3
  87. package/header/index.js +3 -3
  88. package/index.cjs +200 -196
  89. package/index.js +53 -52
  90. package/kbd-key/definition.cjs +1 -1
  91. package/kbd-key/definition.js +1 -1
  92. package/kbd-shortcut/definition.cjs +1 -1
  93. package/kbd-shortcut/definition.js +1 -1
  94. package/layout/definition.cjs +1 -1
  95. package/layout/definition.js +1 -1
  96. package/lib/accordion-item/accordion-item.d.ts +2 -1
  97. package/lib/action-group/action-group.d.ts +1 -1
  98. package/lib/alert/alert.d.ts +2 -2
  99. package/lib/audio-player/audio-player.d.ts +1 -1
  100. package/lib/avatar/avatar.d.ts +1 -1
  101. package/lib/badge/badge.d.ts +1 -1
  102. package/lib/banner/banner.d.ts +3 -3
  103. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  104. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  105. package/lib/button/button.d.ts +3 -3
  106. package/lib/calendar-event/calendar-event.d.ts +1 -1
  107. package/lib/card/card.d.ts +1 -1
  108. package/lib/checkbox/checkbox.d.ts +6 -6
  109. package/lib/color-picker/color-picker.d.ts +7 -7
  110. package/lib/combobox/combobox.d.ts +7 -7
  111. package/lib/components.d.ts +1 -0
  112. package/lib/country-group/country-group.d.ts +2 -2
  113. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  114. package/lib/data-grid/data-grid-row.d.ts +3 -2
  115. package/lib/data-grid/data-grid.options.d.ts +5 -0
  116. package/lib/date-picker/date-picker.d.ts +8 -8
  117. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  118. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  119. package/lib/dial-pad/dial-pad.d.ts +2 -1
  120. package/lib/dialog/dialog.d.ts +2 -2
  121. package/lib/divider/divider.d.ts +1 -1
  122. package/lib/fab/fab.d.ts +1 -1
  123. package/lib/file-picker/file-picker.d.ts +7 -7
  124. package/lib/header/header.d.ts +1 -1
  125. package/lib/menu/menu.d.ts +2 -2
  126. package/lib/menu-item/menu-item.d.ts +3 -3
  127. package/lib/nav/nav.d.ts +1 -1
  128. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  129. package/lib/nav-item/nav-item.d.ts +2 -2
  130. package/lib/note/note.d.ts +1 -1
  131. package/lib/number-field/number-field.d.ts +9 -9
  132. package/lib/optgroup/definition.d.ts +3 -0
  133. package/lib/optgroup/index.d.ts +1 -0
  134. package/lib/optgroup/optgroup.d.ts +430 -0
  135. package/lib/optgroup/optgroup.template.d.ts +2 -0
  136. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  137. package/lib/option/option.d.ts +2 -2
  138. package/lib/pagination/pagination.d.ts +1 -1
  139. package/lib/popover/popover.d.ts +2 -2
  140. package/lib/progress/progress.d.ts +1 -1
  141. package/lib/progress-ring/progress-ring.d.ts +1 -1
  142. package/lib/radio/radio.d.ts +3 -3
  143. package/lib/radio-group/radio-group.d.ts +1 -1
  144. package/lib/range-slider/range-slider.d.ts +3 -3
  145. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  146. package/lib/searchable-select/option-tag.d.ts +1 -1
  147. package/lib/searchable-select/searchable-select.d.ts +47 -47
  148. package/lib/select/select.d.ts +9 -9
  149. package/lib/selectable-box/selectable-box.d.ts +1 -1
  150. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  151. package/lib/slider/slider.d.ts +3 -3
  152. package/lib/split-button/split-button.d.ts +3 -3
  153. package/lib/status/status.d.ts +1 -1
  154. package/lib/switch/switch.d.ts +2 -2
  155. package/lib/tab/tab.d.ts +3 -3
  156. package/lib/tab-panel/tab-panel.d.ts +1 -1
  157. package/lib/table/table-cell.d.ts +1 -1
  158. package/lib/table/table-header-cell.d.ts +1 -1
  159. package/lib/table/table-row.d.ts +1 -1
  160. package/lib/table/table-sorting-button.d.ts +1 -1
  161. package/lib/tag/tag.d.ts +3 -3
  162. package/lib/tag-group/tag-group.d.ts +1 -1
  163. package/lib/tag-name-map.d.ts +2 -1
  164. package/lib/text-area/text-area.d.ts +8 -8
  165. package/lib/text-field/text-field.d.ts +9 -9
  166. package/lib/time-picker/time-picker.d.ts +4 -4
  167. package/lib/toggletip/toggletip.d.ts +2 -2
  168. package/lib/tooltip/tooltip.d.ts +2 -2
  169. package/lib/tree-item/tree-item.d.ts +2 -2
  170. package/lib/tree-view/tree-view.d.ts +1 -1
  171. package/lib/video-player/video-player.d.ts +1 -1
  172. package/menu/index.cjs +1 -1
  173. package/menu/index.js +1 -1
  174. package/menu-item/index.cjs +1 -1
  175. package/menu-item/index.js +1 -1
  176. package/nav/definition.cjs +1 -1
  177. package/nav/definition.js +1 -1
  178. package/nav-disclosure/definition.cjs +1 -1
  179. package/nav-disclosure/definition.js +1 -1
  180. package/nav-item/definition.cjs +1 -1
  181. package/nav-item/definition.js +1 -1
  182. package/note/definition.cjs +1 -1
  183. package/note/definition.js +1 -1
  184. package/number-field/definition.cjs +1 -1
  185. package/number-field/definition.js +1 -1
  186. package/number-field/index.cjs +1 -1
  187. package/number-field/index.js +1 -1
  188. package/optgroup/definition.cjs +5 -0
  189. package/optgroup/definition.js +2 -0
  190. package/optgroup/index.cjs +1 -0
  191. package/optgroup/index.js +4 -0
  192. package/package.json +6 -6
  193. package/pagination/definition.cjs +1 -1
  194. package/pagination/definition.js +1 -1
  195. package/platform-switch/definition.cjs +1 -1
  196. package/platform-switch/definition.js +1 -1
  197. package/popover/definition.cjs +1 -1
  198. package/popover/definition.js +1 -1
  199. package/progress/definition.cjs +1 -1
  200. package/progress/definition.js +1 -1
  201. package/radio/definition.cjs +1 -1
  202. package/radio/definition.js +1 -1
  203. package/radio-group/definition.cjs +1 -1
  204. package/radio-group/definition.js +1 -1
  205. package/range-slider/definition.cjs +1 -1
  206. package/range-slider/definition.js +1 -1
  207. package/rich-text-editor/definition.cjs +1 -1
  208. package/rich-text-editor/definition.js +1 -1
  209. package/rich-text-editor/index.cjs +1 -1
  210. package/rich-text-editor/index.js +4 -4
  211. package/rich-text-view/definition.cjs +1 -1
  212. package/rich-text-view/definition.js +1 -1
  213. package/searchable-select/definition.cjs +1 -1
  214. package/searchable-select/definition.js +1 -1
  215. package/searchable-select/index.cjs +19 -19
  216. package/searchable-select/index.js +60 -45
  217. package/select/definition.cjs +1 -1
  218. package/select/definition.js +1 -1
  219. package/select/index.cjs +1 -1
  220. package/select/index.js +1 -1
  221. package/selectable-box/definition.cjs +1 -1
  222. package/selectable-box/definition.js +1 -1
  223. package/shared/aria/delegates-aria.d.ts +1 -1
  224. package/shared/aria/host-semantics.d.ts +1 -1
  225. package/shared/color-picker/base-color-picker.d.ts +1 -1
  226. package/shared/feedback/feedback-message.d.ts +1 -1
  227. package/shared/feedback/mixins.d.ts +2 -2
  228. package/shared/foundation/button/button.d.ts +2 -2
  229. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  230. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  231. package/shared/foundation/listbox/listbox.d.ts +2 -0
  232. package/shared/patterns/affix.d.ts +2 -2
  233. package/shared/patterns/anchored.d.ts +2 -2
  234. package/shared/patterns/char-count/char-count.d.ts +1 -1
  235. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  236. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  237. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  238. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  239. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  240. package/shared/patterns/linkable.d.ts +1 -1
  241. package/shared/patterns/localized.d.ts +2 -2
  242. package/shared/patterns/trapped-focus.d.ts +1 -1
  243. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  244. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  245. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  246. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  247. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  248. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  249. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  250. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  251. package/shared/picker-field/picker-field.d.ts +7 -7
  252. package/side-drawer/definition.cjs +1 -1
  253. package/side-drawer/definition.js +1 -1
  254. package/simple-color-picker/definition.cjs +1 -1
  255. package/simple-color-picker/definition.js +1 -1
  256. package/split-button/definition.cjs +1 -1
  257. package/split-button/definition.js +1 -1
  258. package/split-button/index.cjs +1 -0
  259. package/split-button/index.js +1 -0
  260. package/status/definition.cjs +1 -1
  261. package/status/definition.js +1 -1
  262. package/switch/definition.cjs +1 -1
  263. package/switch/definition.js +1 -1
  264. package/switch/index.cjs +6 -5
  265. package/switch/index.js +16 -14
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tab-panel/definition.cjs +1 -1
  269. package/tab-panel/definition.js +1 -1
  270. package/table/definition.cjs +1 -1
  271. package/table/definition.js +1 -1
  272. package/tabs/definition.cjs +1 -1
  273. package/tabs/definition.js +1 -1
  274. package/tag/definition.cjs +1 -1
  275. package/tag/definition.js +1 -1
  276. package/tag-group/definition.cjs +1 -1
  277. package/tag-group/definition.js +1 -1
  278. package/text-area/definition.cjs +1 -1
  279. package/text-area/definition.js +1 -1
  280. package/time-picker/definition.cjs +1 -1
  281. package/time-picker/definition.js +1 -1
  282. package/tree-item/definition.cjs +1 -1
  283. package/tree-item/definition.js +1 -1
  284. package/tree-view/definition.cjs +1 -1
  285. package/tree-view/definition.js +1 -1
  286. package/unbundled/definition13.cjs +1 -1
  287. package/unbundled/definition13.js +1 -1
  288. package/unbundled/definition2.cjs +9 -3
  289. package/unbundled/definition2.js +9 -3
  290. package/unbundled/definition23.cjs +1 -0
  291. package/unbundled/definition23.js +2 -1
  292. package/unbundled/definition29.cjs +2 -2
  293. package/unbundled/definition29.js +2 -2
  294. package/unbundled/definition30.cjs +65 -484
  295. package/unbundled/definition30.js +57 -482
  296. package/unbundled/definition31.cjs +501 -39
  297. package/unbundled/definition31.js +499 -37
  298. package/unbundled/definition32.cjs +38 -239
  299. package/unbundled/definition32.js +35 -236
  300. package/unbundled/definition33.cjs +236 -74
  301. package/unbundled/definition33.js +233 -71
  302. package/unbundled/definition34.cjs +74 -1968
  303. package/unbundled/definition34.js +70 -1940
  304. package/unbundled/definition35.cjs +1992 -26
  305. package/unbundled/definition35.js +1964 -27
  306. package/unbundled/definition36.cjs +26 -111
  307. package/unbundled/definition36.js +23 -103
  308. package/unbundled/definition37.cjs +53 -294
  309. package/unbundled/definition37.js +50 -291
  310. package/unbundled/definition38.cjs +282 -132
  311. package/unbundled/definition38.js +279 -129
  312. package/unbundled/definition39.cjs +165 -339
  313. package/unbundled/definition39.js +163 -337
  314. package/unbundled/definition40.cjs +394 -228
  315. package/unbundled/definition40.js +391 -225
  316. package/unbundled/definition41.cjs +263 -46
  317. package/unbundled/definition41.js +258 -41
  318. package/unbundled/definition42.cjs +47 -67
  319. package/unbundled/definition42.js +45 -65
  320. package/unbundled/definition43.cjs +56 -383
  321. package/unbundled/definition43.js +55 -382
  322. package/unbundled/definition44.cjs +386 -44
  323. package/unbundled/definition44.js +382 -40
  324. package/unbundled/definition45.cjs +53 -45
  325. package/unbundled/definition45.js +49 -41
  326. package/unbundled/definition46.cjs +40 -164
  327. package/unbundled/definition46.js +36 -160
  328. package/unbundled/definition47.cjs +171 -31
  329. package/unbundled/definition47.js +168 -22
  330. package/unbundled/definition48.cjs +30 -89
  331. package/unbundled/definition48.js +22 -87
  332. package/unbundled/definition49.cjs +70 -33
  333. package/unbundled/definition49.js +67 -30
  334. package/unbundled/definition50.cjs +54 -23
  335. package/unbundled/definition50.js +52 -18
  336. package/unbundled/definition51.cjs +23 -39
  337. package/unbundled/definition51.js +17 -36
  338. package/unbundled/definition52.cjs +29 -314
  339. package/unbundled/definition52.js +27 -312
  340. package/unbundled/definition53.cjs +301 -195
  341. package/unbundled/definition53.js +297 -191
  342. package/unbundled/definition54.cjs +210 -40
  343. package/unbundled/definition54.js +206 -36
  344. package/unbundled/definition55.cjs +42 -266
  345. package/unbundled/definition55.js +38 -262
  346. package/unbundled/definition56.cjs +266 -50
  347. package/unbundled/definition56.js +263 -46
  348. package/unbundled/definition57.cjs +48 -146
  349. package/unbundled/definition57.js +47 -143
  350. package/unbundled/definition58.cjs +127 -225
  351. package/unbundled/definition58.js +122 -223
  352. package/unbundled/definition59.cjs +199 -418
  353. package/unbundled/definition59.js +196 -415
  354. package/unbundled/definition60.cjs +441 -3738
  355. package/unbundled/definition60.js +431 -3565
  356. package/unbundled/definition61.cjs +3712 -728
  357. package/unbundled/definition61.js +3538 -717
  358. package/unbundled/definition62.cjs +769 -97
  359. package/unbundled/definition62.js +766 -94
  360. package/unbundled/definition63.cjs +100 -981
  361. package/unbundled/definition63.js +98 -976
  362. package/unbundled/definition64.cjs +988 -93
  363. package/unbundled/definition64.js +982 -90
  364. package/unbundled/definition65.cjs +109 -73
  365. package/unbundled/definition65.js +105 -63
  366. package/unbundled/definition66.cjs +69 -155
  367. package/unbundled/definition66.js +60 -152
  368. package/unbundled/definition67.cjs +154 -118
  369. package/unbundled/definition67.js +151 -115
  370. package/unbundled/definition68.cjs +124 -49
  371. package/unbundled/definition68.js +120 -45
  372. package/unbundled/definition69.cjs +51 -84
  373. package/unbundled/definition69.js +50 -80
  374. package/unbundled/definition70.cjs +91 -19
  375. package/unbundled/definition70.js +86 -14
  376. package/unbundled/definition71.cjs +20 -87
  377. package/unbundled/definition71.js +14 -84
  378. package/unbundled/definition72.cjs +76 -294
  379. package/unbundled/definition72.js +71 -217
  380. package/unbundled/definition73.cjs +288 -311
  381. package/unbundled/definition73.js +218 -306
  382. package/unbundled/definition74.cjs +326 -26
  383. package/unbundled/definition74.js +317 -23
  384. package/unbundled/definition75.cjs +27 -122
  385. package/unbundled/definition75.js +22 -118
  386. package/unbundled/definition76.cjs +103 -232
  387. package/unbundled/definition76.js +99 -228
  388. package/unbundled/definition77.cjs +259 -26
  389. package/unbundled/definition77.js +249 -23
  390. package/unbundled/definition78.cjs +29 -148
  391. package/unbundled/definition78.js +27 -133
  392. package/unbundled/definition79.cjs +117 -173
  393. package/unbundled/definition79.js +108 -169
  394. package/unbundled/definition80.cjs +181 -477
  395. package/unbundled/definition80.js +176 -471
  396. package/unbundled/definition81.cjs +517 -0
  397. package/unbundled/definition81.js +497 -0
  398. package/unbundled/extractOptions.cjs +21 -0
  399. package/unbundled/extractOptions.js +16 -0
  400. package/unbundled/listbox.cjs +23 -6
  401. package/unbundled/listbox.js +23 -6
  402. package/unbundled/vivid-element.cjs +10 -1
  403. package/unbundled/vivid-element.js +10 -1
  404. package/video-player/definition.cjs +1 -1
  405. package/video-player/definition.js +1 -1
  406. package/vivid.api.json +194 -0
@@ -1,221 +1,165 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
+ const require_definition = require("./definition.cjs");
3
4
  const require_decorate = require("./decorate.cjs");
5
+ const require_affix = require("./affix.cjs");
4
6
  const require_host_semantics = require("./host-semantics.cjs");
5
- const require_definition = require("./definition78.cjs");
6
7
  let _microsoft_fast_element = require("@microsoft/fast-element");
7
8
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
8
- //#region src/lib/tree-view/tree-view.scss?inline
9
- var tree_view_default = ".control{flex-direction:column;gap:4px;display:flex;position:relative}";
9
+ //#region src/lib/tree-item/tree-item.scss?inline
10
+ var tree_item_default = ":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:disabled,.control.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.control: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.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:active:where(:not(.disabled,:disabled)),.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}.control.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary);--_appearance-color-outline:transparent}@media (hover:hover){.control.selected: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.selected.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));box-sizing:border-box;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);hyphens:auto;inline-size:100%;min-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));vertical-align:middle;word-break:break-word;user-select:none;border-radius:8px;align-items:center;gap:12px;padding-inline:16px;text-decoration:none;display:inline-flex;position:relative}.control:not(.disabled){cursor:pointer}.control.disabled{pointer-events:none}:host(:focus-visible) .control{box-shadow:0 0 0 4px color-mix(in sRGB, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}:host(:focus-visible) .control:not(.selected){--focus-stroke-gap-color:transparent}.control .text{font:var(--vvd-typography-base)}.expandCollapseButton{border-radius:8px;align-items:center;font-size:20px;display:flex}.expandCollapseButton .expandCollapseIcon{margin:4px}@media (hover:hover){.expandCollapseButton:hover{background-color:var(--vvd-color-neutral-100)}.selected .expandCollapseButton:hover{background-color:var(--vvd-color-neutral-700)}}.items{flex-direction:column;gap:4px;margin-block-start:4px;padding-inline-start:48px;display:flex}slot[name=icon]{font-size:20px;line-height:1}.control:not(.disabled,.selected) slot[name=icon]{color:var(--vvd-color-neutral-600)}";
10
11
  //#endregion
11
- //#region src/lib/tree-view/tree-view.ts
12
- function getDisplayedNodes(rootNode, selector) {
13
- if ((0, _microsoft_fast_web_utilities.isHTMLElement)(rootNode)) return Array.from(rootNode.querySelectorAll(selector)).filter((node) => {
14
- if (node.parentElement instanceof require_definition.TreeItem) {
15
- if (node.parentElement.expanded) return true;
16
- } else return true;
17
- return false;
18
- });
19
- return [];
12
+ //#region src/lib/tree-item/tree-item.ts
13
+ function isTreeItemElement(el) {
14
+ return (0, _microsoft_fast_web_utilities.isHTMLElement)(el) && (el.getAttribute("role") === "treeitem" || el instanceof TreeItem);
20
15
  }
21
16
  /**
22
17
  * @public
23
- * @component tree-view
24
- * @slot - Default slot.
18
+ * @component tree-item
19
+ * @slot item - To specify a child tree item.
20
+ * @slot icon - The preferred way to add an icon to the component.
21
+ * @event {CustomEvent<HTMLElement>} expanded-change - Fires a custom 'expanded-change' event when the expanded state changes
22
+ * @event {CustomEvent<HTMLElement>} selected-change - Fires a custom 'selected-change' event when the selected state changes
25
23
  */
26
- var TreeView = class extends require_host_semantics.HostSemantics(require_vivid_element.VividElement) {
24
+ var TreeItem = class extends require_host_semantics.HostSemantics(require_affix.AffixIcon(require_vivid_element.VividElement)) {
27
25
  constructor(..._args) {
28
26
  super(..._args);
29
- this.currentFocused = null;
30
- this.handleFocus = (e) => {
31
- if (this.slottedTreeItems.length > 0) {
32
- if (e.target === this) {
33
- /* v8 ignore else -- @preserve */
34
- if (this.currentFocused !== null) require_definition.TreeItem.focusItem(this.currentFocused);
35
- return;
36
- }
37
- /* v8 ignore else -- @preserve */
38
- if (this.contains(e.target)) {
39
- this.setAttribute("tabindex", "-1");
40
- this.currentFocused = e.target;
41
- }
42
- }
27
+ this.expanded = false;
28
+ this.selected = false;
29
+ this.disabled = false;
30
+ this.focusable = false;
31
+ this.isNestedItem = () => {
32
+ return isTreeItemElement(this.parentElement);
43
33
  };
44
- this.handleBlur = (e) => {
45
- if (e.target instanceof HTMLElement && (e.relatedTarget === null || !this.contains(e.relatedTarget))) this.setAttribute("tabindex", "0");
34
+ this.handleExpandCollapseButtonClick = (e) => {
35
+ if (!this.disabled && !e.defaultPrevented) this.expanded = !this.expanded;
46
36
  };
47
- this.handleKeyDown = (e) => {
48
- if (this.slottedTreeItems.length < 1) return true;
49
- /* v8 ignore else -- @preserve */
50
- if (!e.defaultPrevented) {
51
- const treeItems = this.getVisibleNodes();
52
- switch (e.key) {
53
- case _microsoft_fast_web_utilities.keyHome:
54
- /* v8 ignore else -- @preserve */
55
- if (treeItems.length) require_definition.TreeItem.focusItem(treeItems[0]);
56
- return;
57
- case _microsoft_fast_web_utilities.keyEnd:
58
- /* v8 ignore else -- @preserve */
59
- if (treeItems.length) require_definition.TreeItem.focusItem(treeItems[treeItems.length - 1]);
60
- return;
61
- case _microsoft_fast_web_utilities.keyArrowLeft:
62
- /* v8 ignore else -- @preserve */
63
- if (e.target && this.isFocusableElement(e.target)) {
64
- const item = e.target;
65
- /* v8 ignore else -- @preserve */
66
- if (item instanceof require_definition.TreeItem && item.childItemLength() > 0 && item.expanded) item.expanded = false;
67
- else if (item instanceof require_definition.TreeItem && item.parentElement instanceof require_definition.TreeItem) require_definition.TreeItem.focusItem(item.parentElement);
68
- }
69
- return false;
70
- case _microsoft_fast_web_utilities.keyArrowRight:
71
- /* v8 ignore else -- @preserve */
72
- if (e.target && this.isFocusableElement(e.target)) {
73
- const item = e.target;
74
- /* v8 ignore else -- @preserve */
75
- if (item instanceof require_definition.TreeItem && item.childItemLength() > 0 && !item.expanded) item.expanded = true;
76
- else if (item instanceof require_definition.TreeItem && item.childItemLength() > 0) this.focusNextNode(1, e.target);
77
- }
78
- return;
79
- case _microsoft_fast_web_utilities.keyArrowDown:
80
- /* v8 ignore else -- @preserve */
81
- if (e.target && this.isFocusableElement(e.target)) this.focusNextNode(1, e.target);
82
- return;
83
- case _microsoft_fast_web_utilities.keyArrowUp:
84
- /* v8 ignore else -- @preserve */
85
- if (e.target && this.isFocusableElement(e.target)) this.focusNextNode(-1, e.target);
86
- return;
87
- case _microsoft_fast_web_utilities.keyEnter:
88
- this.handleClick(e);
89
- return;
90
- }
91
- }
92
- return true;
93
- };
94
- this.handleSelectedChange = (e) => {
95
- /* v8 ignore else -- @preserve */
96
- if (!e.defaultPrevented) {
97
- if (!(e.target instanceof Element) || !require_definition.isTreeItemElement(e.target)) return true;
98
- const item = e.target;
99
- /* v8 ignore else -- @preserve */
100
- if (item.selected) {
101
- if (this.currentSelected && this.currentSelected !== item) this.currentSelected.selected = false;
102
- this.currentSelected = item;
103
- } else if (!item.selected && this.currentSelected === item) this.currentSelected = null;
104
- }
37
+ this.handleFocus = (_e) => {
38
+ this.setAttribute("tabindex", "0");
105
39
  };
106
- this.setItems = () => {
107
- const selectedItem = this.treeView.querySelector("[selected]");
108
- this.currentSelected = selectedItem;
109
- if (this.currentFocused === null || !this.contains(this.currentFocused)) this.currentFocused = this.getValidFocusableItem();
110
- this.nested = this.checkForNestedItems();
111
- this.getVisibleNodes().forEach((node) => {
112
- /* v8 ignore else -- @preserve */
113
- if (require_definition.isTreeItemElement(node)) node.nested = this.nested;
114
- });
115
- };
116
- this.isFocusableElement = (el) => {
117
- return require_definition.isTreeItemElement(el);
118
- };
119
- this.isSelectedElement = (el) => {
120
- return el.selected;
40
+ this.handleBlur = (_e) => {
41
+ this.setAttribute("tabindex", "-1");
121
42
  };
122
43
  }
123
44
  /** @internal */
124
- slottedTreeItemsChanged() {
125
- if (this.$fastController.isConnected) this.setItems();
45
+ expandedChanged() {
46
+ if (this.$fastController.isConnected) this.$emit("expanded-change", this);
126
47
  }
127
- connectedCallback() {
128
- super.connectedCallback();
129
- this.setAttribute("tabindex", "0");
130
- _microsoft_fast_element.Updates.enqueue(() => {
131
- this.setItems();
48
+ /** @internal */
49
+ selectedChanged() {
50
+ if (this.$fastController.isConnected) this.$emit("selected-change", this);
51
+ }
52
+ itemsChanged() {
53
+ if (this.$fastController.isConnected) this.items.forEach((node) => {
54
+ /* v8 ignore else -- @preserve */
55
+ if (isTreeItemElement(node)) node.nested = true;
132
56
  });
133
57
  }
134
58
  /**
135
- * Handles click events bubbling up
59
+ * Places document focus on a tree item
136
60
  *
137
- * @internal
61
+ * @param el - the element to focus
138
62
  */
139
- handleClick(e) {
140
- if (!e.defaultPrevented) {
141
- if (!(e.target instanceof Element) || !require_definition.isTreeItemElement(e.target)) return true;
142
- const item = e.target;
143
- if (!item.disabled) item.selected = !item.selected;
144
- }
145
- }
146
- /** Move focus to a tree item based on its offset from the provided item */
147
- focusNextNode(delta, item) {
148
- const visibleNodes = this.getVisibleNodes();
149
- /* v8 ignore else -- @preserve */
150
- if (visibleNodes) {
151
- const focusItem = visibleNodes[visibleNodes.indexOf(item) + delta];
152
- /* v8 ignore else -- @preserve */
153
- if ((0, _microsoft_fast_web_utilities.isHTMLElement)(focusItem)) require_definition.TreeItem.focusItem(focusItem);
154
- }
155
- }
156
- /** checks if there are any nested tree items */
157
- getValidFocusableItem() {
158
- const treeItems = this.getVisibleNodes();
159
- let focusIndex = treeItems.findIndex(this.isSelectedElement);
160
- if (focusIndex === -1) focusIndex = treeItems.findIndex(this.isFocusableElement);
161
- if (focusIndex !== -1) return treeItems[focusIndex];
162
- return null;
63
+ static focusItem(el) {
64
+ el.focusable = true;
65
+ el.focus();
163
66
  }
164
- /** checks if there are any nested tree items */
165
- checkForNestedItems() {
166
- return this.slottedTreeItems.some((node) => {
167
- return require_definition.isTreeItemElement(node) && node.querySelector("[data-vvd-component='tree-item']");
168
- });
169
- }
170
- getVisibleNodes() {
171
- return getDisplayedNodes(this, "[data-vvd-component='tree-item']");
67
+ /**
68
+ * Gets number of children
69
+ *
70
+ * @internal
71
+ */
72
+ childItemLength() {
73
+ return this.childItems.filter((item) => {
74
+ return isTreeItemElement(item);
75
+ }).length;
172
76
  }
173
77
  };
174
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "render-collapsed-nodes" })], TreeView.prototype, "renderCollapsedNodes", void 0);
175
- require_decorate.__decorate([_microsoft_fast_element.observable], TreeView.prototype, "currentSelected", void 0);
176
- require_decorate.__decorate([_microsoft_fast_element.observable], TreeView.prototype, "slottedTreeItems", void 0);
78
+ require_decorate.__decorate([_microsoft_fast_element.attr], TreeItem.prototype, "text", void 0);
79
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TreeItem.prototype, "expanded", void 0);
80
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TreeItem.prototype, "selected", void 0);
81
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TreeItem.prototype, "disabled", void 0);
82
+ require_decorate.__decorate([_microsoft_fast_element.observable], TreeItem.prototype, "focusable", void 0);
83
+ require_decorate.__decorate([_microsoft_fast_element.observable], TreeItem.prototype, "childItems", void 0);
84
+ require_decorate.__decorate([_microsoft_fast_element.observable], TreeItem.prototype, "items", void 0);
85
+ require_decorate.__decorate([_microsoft_fast_element.observable], TreeItem.prototype, "nested", void 0);
86
+ require_decorate.__decorate([_microsoft_fast_element.observable], TreeItem.prototype, "renderCollapsedChildren", void 0);
177
87
  //#endregion
178
- //#region src/lib/tree-view/tree-view.template.ts
179
- var getClasses = (_) => (0, _microsoft_fast_web_utilities.classNames)("control");
180
- var TreeViewTemplate = _microsoft_fast_element.html` <template
181
- ${(0, _microsoft_fast_element.ref)("treeView")}
182
- ${require_host_semantics.applyHostSemantics({ role: "tree" })}
183
- @keydown="${(x, c) => x.handleKeyDown(c.event)}"
184
- @focusin="${(x, c) => x.handleFocus(c.event)}"
185
- @focusout="${(x, c) => x.handleBlur(c.event)}"
186
- @click="${(x, c) => x.handleClick(c.event)}"
187
- @selected-change="${(x, c) => x.handleSelectedChange(c.event)}"
188
- >
189
- <div class="${getClasses}">
190
- <slot ${(0, _microsoft_fast_element.slotted)("slottedTreeItems")}></slot>
191
- </div>
192
- </template>`;
88
+ //#region src/lib/tree-item/tree-item.template.ts
89
+ var expandCollapseButton = (context) => {
90
+ const iconTag = context.tagFor(require_definition.Icon);
91
+ return _microsoft_fast_element.html`
92
+ <div aria-hidden="true"
93
+ class="expandCollapseButton"
94
+ @click="${(x, c) => x.handleExpandCollapseButtonClick(c.event)}"
95
+ ${(0, _microsoft_fast_element.ref)("expandCollapseButton")}
96
+ >
97
+ <${iconTag} class="expandCollapseIcon" name="${(x) => x.expanded ? "chevron-down-line" : "chevron-right-line"}"></${iconTag}>
98
+ </div>`;
99
+ };
100
+ var TreeItemTemplate = (context) => {
101
+ const affixIconTemplate = require_affix.affixIconTemplateFactory(context);
102
+ const treeItemTagName = context.tagFor(TreeItem, true);
103
+ return _microsoft_fast_element.html` <template
104
+ slot="${(x) => x.isNestedItem() ? "item" : void 0}"
105
+ tabindex="-1"
106
+ ${require_host_semantics.applyHostSemantics({
107
+ role: "treeitem",
108
+ ariaExpanded: (x) => x.childItems && x.childItems.length > 0 ? x.expanded : void 0,
109
+ ariaSelected: (x) => x.selected,
110
+ ariaDisabled: (x) => x.disabled
111
+ })}
112
+ @focusin="${(x, c) => x.handleFocus(c.event)}"
113
+ @focusout="${(x, c) => x.handleBlur(c.event)}"
114
+ ${(0, _microsoft_fast_element.children)({
115
+ property: "childItems",
116
+ filter: (0, _microsoft_fast_element.elements)(treeItemTagName)
117
+ })}
118
+ >
119
+ <div
120
+ class="${(x) => (0, _microsoft_fast_web_utilities.classNames)("control", ["disabled", x.disabled], ["selected", x.selected])}"
121
+ >
122
+ ${(0, _microsoft_fast_element.when)((x) => x.childItems && x.childItems.length > 0, expandCollapseButton(context))}
123
+ ${(x) => affixIconTemplate(x.icon, require_affix.IconWrapper.Slot)}
124
+ ${(x) => x.text}
125
+ </div>
126
+ ${(0, _microsoft_fast_element.when)((x) => x.childItems && x.childItems.length > 0 && x.expanded, _microsoft_fast_element.html` <div role="group" class="items">
127
+ <slot name="item" ${(0, _microsoft_fast_element.slotted)("items")}></slot>
128
+ </div>`)}
129
+ </template>`;
130
+ };
193
131
  //#endregion
194
- //#region src/lib/tree-view/definition.ts
132
+ //#region src/lib/tree-item/definition.ts
195
133
  /** @internal */
196
- var treeViewDefinition = require_vivid_element.defineVividComponent("tree-view", TreeView, TreeViewTemplate, [require_definition.treeItemDefinition], { styles: tree_view_default });
134
+ var treeItemDefinition = require_vivid_element.defineVividComponent("tree-item", TreeItem, TreeItemTemplate, [require_definition.iconDefinition], { styles: tree_item_default });
197
135
  /**
198
- * Registers the tree-view element with the design system.
136
+ * Registers the tree-item element with the design system.
199
137
  *
200
138
  * @param prefix - the prefix to use for the component name
201
139
  */
202
- var registerTreeView = require_vivid_element.createRegisterFunction(treeViewDefinition);
140
+ var registerTreeItem = require_vivid_element.createRegisterFunction(treeItemDefinition);
203
141
  //#endregion
204
- Object.defineProperty(exports, "TreeView", {
142
+ Object.defineProperty(exports, "TreeItem", {
143
+ enumerable: true,
144
+ get: function() {
145
+ return TreeItem;
146
+ }
147
+ });
148
+ Object.defineProperty(exports, "isTreeItemElement", {
205
149
  enumerable: true,
206
150
  get: function() {
207
- return TreeView;
151
+ return isTreeItemElement;
208
152
  }
209
153
  });
210
- Object.defineProperty(exports, "registerTreeView", {
154
+ Object.defineProperty(exports, "registerTreeItem", {
211
155
  enumerable: true,
212
156
  get: function() {
213
- return registerTreeView;
157
+ return registerTreeItem;
214
158
  }
215
159
  });
216
- Object.defineProperty(exports, "treeViewDefinition", {
160
+ Object.defineProperty(exports, "treeItemDefinition", {
217
161
  enumerable: true,
218
162
  get: function() {
219
- return treeViewDefinition;
163
+ return treeItemDefinition;
220
164
  }
221
165
  });