@vonage/vivid 5.23.1 → 5.25.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 (522) hide show
  1. package/README.md +1 -1
  2. package/accordion/index.cjs +1 -1
  3. package/accordion/index.js +1 -1
  4. package/accordion-item/index.cjs +1 -1
  5. package/accordion-item/index.js +1 -1
  6. package/audio-player/index.cjs +2 -2
  7. package/audio-player/index.js +3 -3
  8. package/avatar/index.cjs +10 -10
  9. package/avatar/index.js +4 -3
  10. package/badge/index.cjs +1 -1
  11. package/badge/index.js +1 -1
  12. package/breadcrumb-item/index.cjs +9 -5
  13. package/breadcrumb-item/index.js +11 -6
  14. package/bundled/affix.cjs +1 -1
  15. package/bundled/affix.js +1 -1
  16. package/bundled/definition10.cjs +2 -1
  17. package/bundled/definition10.js +3 -2
  18. package/bundled/definition11.cjs +4 -4
  19. package/bundled/definition11.js +4 -3
  20. package/bundled/definition12.cjs +1 -1
  21. package/bundled/definition12.js +1 -0
  22. package/bundled/definition15.cjs +8 -7
  23. package/bundled/definition15.js +27 -24
  24. package/bundled/definition17.cjs +7 -7
  25. package/bundled/definition17.js +22 -109
  26. package/bundled/definition18.cjs +12 -83
  27. package/bundled/definition18.js +20 -426
  28. package/bundled/definition19.cjs +87 -7
  29. package/bundled/definition19.js +433 -16
  30. package/bundled/definition20.cjs +7 -37
  31. package/bundled/definition20.js +17 -172
  32. package/bundled/definition21.cjs +35 -27
  33. package/bundled/definition21.js +155 -154
  34. package/bundled/definition22.cjs +29 -6
  35. package/bundled/definition22.js +172 -20
  36. package/bundled/definition23.cjs +6 -12
  37. package/bundled/definition23.js +17 -32
  38. package/bundled/definition24.cjs +12 -39
  39. package/bundled/definition24.js +33 -67
  40. package/bundled/definition25.cjs +44 -0
  41. package/bundled/definition25.js +81 -0
  42. package/bundled/definition3.cjs +5 -5
  43. package/bundled/definition3.js +10 -40
  44. package/bundled/definition4.cjs +6 -6
  45. package/bundled/definition4.js +4 -3
  46. package/bundled/definition6.cjs +11 -11
  47. package/bundled/definition6.js +4 -3
  48. package/bundled/definition9.cjs +12 -6
  49. package/bundled/definition9.js +66 -43
  50. package/bundled/extractOptions.cjs +1 -0
  51. package/bundled/extractOptions.js +11 -0
  52. package/bundled/icon.cjs +1 -0
  53. package/bundled/icon.js +34 -0
  54. package/bundled/listbox.cjs +1 -1
  55. package/bundled/listbox.js +28 -12
  56. package/bundled/mixins.cjs +8 -8
  57. package/bundled/mixins.js +4 -3
  58. package/bundled/optgroup.cjs +1 -0
  59. package/bundled/optgroup.js +27 -0
  60. package/bundled/option.cjs +1 -0
  61. package/bundled/option.js +93 -0
  62. package/bundled/render-in-light-dom.cjs +1 -1
  63. package/bundled/render-in-light-dom.js +16 -19
  64. package/bundled/vivid-element.cjs +1 -1
  65. package/bundled/vivid-element.js +9 -1
  66. package/card/index.cjs +22 -22
  67. package/card/index.js +4 -3
  68. package/color-picker/index.cjs +18 -18
  69. package/color-picker/index.js +4 -3
  70. package/combobox/definition.cjs +1 -1
  71. package/combobox/definition.js +1 -1
  72. package/combobox/index.cjs +7 -7
  73. package/combobox/index.js +31 -21
  74. package/country/definition.cjs +1 -1
  75. package/country/definition.js +1 -1
  76. package/country/index.cjs +1 -1
  77. package/country/index.js +1 -1
  78. package/country-group/definition.cjs +1 -1
  79. package/country-group/definition.js +1 -1
  80. package/country-group/index.cjs +1 -1
  81. package/country-group/index.js +2 -2
  82. package/custom-elements.json +8438 -7866
  83. package/data-grid/definition.cjs +1 -1
  84. package/data-grid/definition.js +1 -1
  85. package/data-grid/index.cjs +26 -26
  86. package/data-grid/index.js +9 -8
  87. package/date-picker/definition.cjs +1 -1
  88. package/date-picker/definition.js +1 -1
  89. package/date-picker/index.cjs +1 -1
  90. package/date-picker/index.js +1 -1
  91. package/date-range-picker/definition.cjs +1 -1
  92. package/date-range-picker/definition.js +1 -1
  93. package/date-range-picker/index.cjs +1 -1
  94. package/date-range-picker/index.js +1 -1
  95. package/date-time-picker/definition.cjs +1 -1
  96. package/date-time-picker/definition.js +1 -1
  97. package/date-time-picker/index.cjs +1 -1
  98. package/date-time-picker/index.js +1 -1
  99. package/dial-pad/definition.cjs +1 -1
  100. package/dial-pad/definition.js +1 -1
  101. package/dial-pad/index.cjs +7 -7
  102. package/dial-pad/index.js +124 -54
  103. package/dialog/definition.cjs +1 -1
  104. package/dialog/definition.js +1 -1
  105. package/dialog/index.cjs +14 -14
  106. package/dialog/index.js +4 -3
  107. package/divider/definition.cjs +1 -1
  108. package/divider/definition.js +1 -1
  109. package/divider/index.cjs +1 -1
  110. package/divider/index.js +1 -1
  111. package/empty-state/definition.cjs +1 -1
  112. package/empty-state/definition.js +1 -1
  113. package/empty-state/index.cjs +3 -3
  114. package/empty-state/index.js +4 -3
  115. package/fab/definition.cjs +1 -1
  116. package/fab/definition.js +1 -1
  117. package/file-picker/definition.cjs +1 -1
  118. package/file-picker/definition.js +1 -1
  119. package/file-picker/index.cjs +7 -7
  120. package/file-picker/index.js +4 -3
  121. package/flag/definition.cjs +1 -1
  122. package/flag/definition.js +1 -1
  123. package/header/definition.cjs +1 -1
  124. package/header/definition.js +1 -1
  125. package/header/index.cjs +3 -3
  126. package/header/index.js +3 -3
  127. package/icon/definition.cjs +2 -1
  128. package/icon/definition.js +2 -1
  129. package/index.cjs +209 -198
  130. package/index.js +59 -54
  131. package/kbd-key/definition.cjs +1 -1
  132. package/kbd-key/definition.js +1 -1
  133. package/kbd-shortcut/definition.cjs +1 -1
  134. package/kbd-shortcut/definition.js +1 -1
  135. package/layout/definition.cjs +1 -1
  136. package/layout/definition.js +1 -1
  137. package/lib/accordion-item/accordion-item.d.ts +3 -1
  138. package/lib/action-group/action-group.d.ts +1 -1
  139. package/lib/alert/alert.d.ts +2 -2
  140. package/lib/audio-player/audio-player.d.ts +1 -1
  141. package/lib/avatar/avatar.d.ts +1 -1
  142. package/lib/badge/badge.d.ts +1 -1
  143. package/lib/banner/banner.d.ts +3 -3
  144. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  145. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  146. package/lib/button/button.d.ts +3 -3
  147. package/lib/calendar-event/calendar-event.d.ts +1 -1
  148. package/lib/card/card.d.ts +1 -1
  149. package/lib/checkbox/checkbox.d.ts +6 -6
  150. package/lib/color-picker/color-picker.d.ts +7 -7
  151. package/lib/combobox/combobox.d.ts +8 -8
  152. package/lib/components.d.ts +2 -0
  153. package/lib/country-group/country-group.d.ts +2 -2
  154. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  155. package/lib/data-grid/data-grid-row.d.ts +3 -2
  156. package/lib/data-grid/data-grid.options.d.ts +5 -0
  157. package/lib/date-picker/date-picker.d.ts +8 -8
  158. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  159. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  160. package/lib/dial-pad/dial-pad.d.ts +2 -2
  161. package/lib/dialog/dialog.d.ts +2 -2
  162. package/lib/divider/divider.d.ts +1 -1
  163. package/lib/fab/fab.d.ts +1 -1
  164. package/lib/file-picker/file-picker.d.ts +7 -7
  165. package/lib/header/header.d.ts +1 -1
  166. package/lib/listbox/definition.d.ts +3 -0
  167. package/lib/listbox/index.d.ts +1 -0
  168. package/lib/listbox/listbox.d.ts +1302 -0
  169. package/lib/listbox/listbox.template.d.ts +3 -0
  170. package/lib/listbox/variations.browser-spec.d.ts +1 -0
  171. package/lib/menu/menu.d.ts +2 -3
  172. package/lib/menu-item/menu-item.d.ts +3 -3
  173. package/lib/nav/nav.d.ts +1 -1
  174. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  175. package/lib/nav-item/nav-item.d.ts +2 -2
  176. package/lib/note/note.d.ts +1 -1
  177. package/lib/number-field/number-field.d.ts +9 -10
  178. package/lib/optgroup/definition.d.ts +3 -0
  179. package/lib/optgroup/index.d.ts +1 -0
  180. package/lib/optgroup/optgroup.d.ts +430 -0
  181. package/lib/optgroup/optgroup.template.d.ts +2 -0
  182. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  183. package/lib/option/option.d.ts +2 -2
  184. package/lib/pagination/pagination.d.ts +1 -1
  185. package/lib/popover/popover.d.ts +2 -2
  186. package/lib/progress/progress.d.ts +1 -1
  187. package/lib/progress-ring/progress-ring.d.ts +1 -1
  188. package/lib/radio/radio.d.ts +3 -3
  189. package/lib/radio-group/radio-group.d.ts +1 -1
  190. package/lib/range-slider/range-slider.d.ts +3 -3
  191. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  192. package/lib/rich-text-editor/rte/features/base.d.ts +1 -0
  193. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -2
  194. package/lib/searchable-select/option-tag.d.ts +1 -1
  195. package/lib/searchable-select/searchable-select.d.ts +47 -47
  196. package/lib/select/select.d.ts +9 -9
  197. package/lib/selectable-box/selectable-box.d.ts +1 -1
  198. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  199. package/lib/slider/slider.d.ts +3 -3
  200. package/lib/split-button/split-button.d.ts +3 -3
  201. package/lib/status/status.d.ts +1 -1
  202. package/lib/switch/switch.d.ts +2 -2
  203. package/lib/tab/tab.d.ts +3 -3
  204. package/lib/tab-panel/tab-panel.d.ts +1 -1
  205. package/lib/table/table-cell.d.ts +1 -1
  206. package/lib/table/table-header-cell.d.ts +1 -1
  207. package/lib/table/table-row.d.ts +1 -1
  208. package/lib/table/table-sorting-button.d.ts +1 -1
  209. package/lib/tag/tag.d.ts +3 -3
  210. package/lib/tag-group/tag-group.d.ts +1 -1
  211. package/lib/tag-name-map.d.ts +3 -1
  212. package/lib/text-area/text-area.d.ts +8 -8
  213. package/lib/text-field/text-field.d.ts +10 -9
  214. package/lib/time-picker/time-picker.d.ts +4 -4
  215. package/lib/toggletip/toggletip.d.ts +3 -2
  216. package/lib/tooltip/tooltip.d.ts +3 -2
  217. package/lib/tree-item/tree-item.d.ts +2 -2
  218. package/lib/tree-view/tree-view.d.ts +1 -1
  219. package/lib/video-player/video-player.d.ts +1 -1
  220. package/listbox/definition.cjs +5 -0
  221. package/listbox/definition.js +2 -0
  222. package/listbox/index.cjs +11 -0
  223. package/listbox/index.js +540 -0
  224. package/menu/index.cjs +1 -1
  225. package/menu/index.js +1 -1
  226. package/menu-item/index.cjs +1 -1
  227. package/menu-item/index.js +1 -1
  228. package/nav/definition.cjs +1 -1
  229. package/nav/definition.js +1 -1
  230. package/nav-disclosure/definition.cjs +1 -1
  231. package/nav-disclosure/definition.js +1 -1
  232. package/nav-disclosure/index.cjs +4 -4
  233. package/nav-disclosure/index.js +4 -3
  234. package/nav-item/definition.cjs +1 -1
  235. package/nav-item/definition.js +1 -1
  236. package/note/definition.cjs +1 -1
  237. package/note/definition.js +1 -1
  238. package/number-field/definition.cjs +1 -1
  239. package/number-field/definition.js +1 -1
  240. package/number-field/index.cjs +1 -1
  241. package/number-field/index.js +1 -1
  242. package/optgroup/definition.cjs +6 -0
  243. package/optgroup/definition.js +3 -0
  244. package/optgroup/index.cjs +1 -0
  245. package/optgroup/index.js +4 -0
  246. package/option/definition.cjs +2 -1
  247. package/option/definition.js +2 -1
  248. package/package.json +9 -8
  249. package/pagination/definition.cjs +1 -1
  250. package/pagination/definition.js +1 -1
  251. package/platform-switch/definition.cjs +1 -1
  252. package/platform-switch/definition.js +1 -1
  253. package/popover/definition.cjs +1 -1
  254. package/popover/definition.js +1 -1
  255. package/popover/index.cjs +5 -5
  256. package/popover/index.js +4 -3
  257. package/progress/definition.cjs +1 -1
  258. package/progress/definition.js +1 -1
  259. package/radio/definition.cjs +1 -1
  260. package/radio/definition.js +1 -1
  261. package/radio-group/definition.cjs +1 -1
  262. package/radio-group/definition.js +1 -1
  263. package/range-slider/definition.cjs +1 -1
  264. package/range-slider/definition.js +1 -1
  265. package/rich-text-editor/definition.cjs +1 -1
  266. package/rich-text-editor/definition.js +1 -1
  267. package/rich-text-editor/index.cjs +13 -13
  268. package/rich-text-editor/index.js +26 -23
  269. package/rich-text-view/definition.cjs +1 -1
  270. package/rich-text-view/definition.js +1 -1
  271. package/searchable-select/definition.cjs +1 -1
  272. package/searchable-select/definition.js +1 -1
  273. package/searchable-select/index.cjs +23 -23
  274. package/searchable-select/index.js +67 -49
  275. package/select/definition.cjs +1 -1
  276. package/select/definition.js +1 -1
  277. package/select/index.cjs +1 -1
  278. package/select/index.js +1 -1
  279. package/selectable-box/definition.cjs +1 -1
  280. package/selectable-box/definition.js +1 -1
  281. package/shared/aria/delegates-aria.d.ts +1 -1
  282. package/shared/aria/host-semantics.d.ts +1 -1
  283. package/shared/color-picker/base-color-picker.d.ts +1 -1
  284. package/shared/feedback/feedback-message.d.ts +1 -1
  285. package/shared/feedback/mixins.d.ts +2 -2
  286. package/shared/foundation/button/button.d.ts +2 -2
  287. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  288. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  289. package/shared/foundation/listbox/listbox.d.ts +2 -0
  290. package/shared/listbox/commands.d.ts +17 -0
  291. package/shared/listbox/move.d.ts +6 -0
  292. package/shared/listbox/options.d.ts +12 -0
  293. package/shared/listbox/selection.d.ts +28 -0
  294. package/shared/listbox/state.d.ts +26 -0
  295. package/shared/listbox/typeahead.d.ts +8 -0
  296. package/shared/listbox/with-options-filter.d.ts +440 -0
  297. package/shared/listbox/with-options.d.ts +862 -0
  298. package/shared/patterns/affix.d.ts +2 -2
  299. package/shared/patterns/anchored.d.ts +2 -2
  300. package/shared/patterns/char-count/char-count.d.ts +1 -1
  301. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  302. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  303. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  304. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  305. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  306. package/shared/patterns/linkable.d.ts +1 -1
  307. package/shared/patterns/localized.d.ts +2 -2
  308. package/shared/patterns/trapped-focus.d.ts +1 -1
  309. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  310. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  311. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  312. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  313. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  314. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  315. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  316. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  317. package/shared/picker-field/picker-field.d.ts +7 -7
  318. package/side-drawer/definition.cjs +1 -1
  319. package/side-drawer/definition.js +1 -1
  320. package/simple-color-picker/definition.cjs +1 -1
  321. package/simple-color-picker/definition.js +1 -1
  322. package/simple-color-picker/index.cjs +6 -6
  323. package/simple-color-picker/index.js +4 -3
  324. package/split-button/definition.cjs +1 -1
  325. package/split-button/definition.js +1 -1
  326. package/split-button/index.cjs +1 -0
  327. package/split-button/index.js +1 -0
  328. package/status/definition.cjs +1 -1
  329. package/status/definition.js +1 -1
  330. package/switch/definition.cjs +1 -1
  331. package/switch/definition.js +1 -1
  332. package/switch/index.cjs +6 -5
  333. package/switch/index.js +16 -14
  334. package/tab/definition.cjs +1 -1
  335. package/tab/definition.js +1 -1
  336. package/tab-panel/definition.cjs +1 -1
  337. package/tab-panel/definition.js +1 -1
  338. package/table/definition.cjs +1 -1
  339. package/table/definition.js +1 -1
  340. package/table/index.cjs +13 -13
  341. package/table/index.js +4 -3
  342. package/tabs/definition.cjs +1 -1
  343. package/tabs/definition.js +1 -1
  344. package/tag/definition.cjs +1 -1
  345. package/tag/definition.js +1 -1
  346. package/tag/index.cjs +11 -11
  347. package/tag/index.js +4 -3
  348. package/tag-group/definition.cjs +1 -1
  349. package/tag-group/definition.js +1 -1
  350. package/text-area/definition.cjs +1 -1
  351. package/text-area/definition.js +1 -1
  352. package/time-picker/definition.cjs +1 -1
  353. package/time-picker/definition.js +1 -1
  354. package/tree-item/definition.cjs +1 -1
  355. package/tree-item/definition.js +1 -1
  356. package/tree-view/definition.cjs +1 -1
  357. package/tree-view/definition.js +1 -1
  358. package/unbundled/affix.cjs +2 -2
  359. package/unbundled/affix.js +1 -1
  360. package/unbundled/base-progress.cjs +1 -1
  361. package/unbundled/base-progress.js +1 -1
  362. package/unbundled/button.cjs +2 -2
  363. package/unbundled/button.js +2 -2
  364. package/unbundled/definition.cjs +2 -65
  365. package/unbundled/definition.js +4 -61
  366. package/unbundled/definition11.cjs +4 -3
  367. package/unbundled/definition11.js +3 -2
  368. package/unbundled/definition12.cjs +3 -2
  369. package/unbundled/definition12.js +3 -2
  370. package/unbundled/definition13.cjs +1 -1
  371. package/unbundled/definition13.js +1 -1
  372. package/unbundled/definition14.cjs +2 -1
  373. package/unbundled/definition14.js +2 -1
  374. package/unbundled/definition17.cjs +9 -4
  375. package/unbundled/definition17.js +9 -4
  376. package/unbundled/definition2.cjs +14 -3
  377. package/unbundled/definition2.js +15 -4
  378. package/unbundled/definition21.cjs +2 -1
  379. package/unbundled/definition21.js +2 -1
  380. package/unbundled/definition23.cjs +3 -1
  381. package/unbundled/definition23.js +4 -2
  382. package/unbundled/definition24.cjs +6 -4
  383. package/unbundled/definition24.js +6 -4
  384. package/unbundled/definition25.cjs +2 -1
  385. package/unbundled/definition25.js +2 -1
  386. package/unbundled/definition26.cjs +7 -4
  387. package/unbundled/definition26.js +7 -4
  388. package/unbundled/definition27.cjs +39 -5
  389. package/unbundled/definition27.js +40 -6
  390. package/unbundled/definition28.cjs +4 -3
  391. package/unbundled/definition28.js +4 -3
  392. package/unbundled/definition29.cjs +5 -168
  393. package/unbundled/definition29.js +11 -162
  394. package/unbundled/definition30.cjs +26 -506
  395. package/unbundled/definition30.js +24 -498
  396. package/unbundled/definition31.cjs +503 -39
  397. package/unbundled/definition31.js +501 -37
  398. package/unbundled/definition32.cjs +39 -239
  399. package/unbundled/definition32.js +36 -236
  400. package/unbundled/definition33.cjs +236 -74
  401. package/unbundled/definition33.js +233 -71
  402. package/unbundled/definition34.cjs +74 -1968
  403. package/unbundled/definition34.js +70 -1940
  404. package/unbundled/definition35.cjs +1993 -26
  405. package/unbundled/definition35.js +1965 -27
  406. package/unbundled/definition36.cjs +26 -111
  407. package/unbundled/definition36.js +23 -103
  408. package/unbundled/definition37.cjs +53 -294
  409. package/unbundled/definition37.js +50 -291
  410. package/unbundled/definition38.cjs +282 -132
  411. package/unbundled/definition38.js +279 -129
  412. package/unbundled/definition39.cjs +165 -339
  413. package/unbundled/definition39.js +163 -337
  414. package/unbundled/definition40.cjs +395 -227
  415. package/unbundled/definition40.js +393 -225
  416. package/unbundled/definition41.cjs +269 -47
  417. package/unbundled/definition41.js +264 -42
  418. package/unbundled/definition42.cjs +48 -67
  419. package/unbundled/definition42.js +45 -64
  420. package/unbundled/definition43.cjs +56 -383
  421. package/unbundled/definition43.js +55 -382
  422. package/unbundled/definition44.cjs +387 -44
  423. package/unbundled/definition44.js +383 -40
  424. package/unbundled/definition45.cjs +53 -45
  425. package/unbundled/definition45.js +49 -41
  426. package/unbundled/definition46.cjs +40 -164
  427. package/unbundled/definition46.js +36 -160
  428. package/unbundled/definition47.cjs +171 -31
  429. package/unbundled/definition47.js +168 -22
  430. package/unbundled/definition48.cjs +30 -89
  431. package/unbundled/definition48.js +22 -87
  432. package/unbundled/definition49.cjs +589 -48
  433. package/unbundled/definition49.js +587 -47
  434. package/unbundled/definition50.cjs +90 -21
  435. package/unbundled/definition50.js +88 -16
  436. package/unbundled/definition51.cjs +47 -32
  437. package/unbundled/definition51.js +44 -29
  438. package/unbundled/definition52.cjs +22 -323
  439. package/unbundled/definition52.js +16 -320
  440. package/unbundled/definition53.cjs +33 -212
  441. package/unbundled/definition53.js +29 -208
  442. package/unbundled/definition54.cjs +318 -41
  443. package/unbundled/definition54.js +314 -37
  444. package/unbundled/definition55.cjs +199 -253
  445. package/unbundled/definition55.js +193 -247
  446. package/unbundled/definition56.cjs +45 -53
  447. package/unbundled/definition56.js +42 -49
  448. package/unbundled/definition57.cjs +255 -133
  449. package/unbundled/definition57.js +253 -128
  450. package/unbundled/definition58.cjs +49 -245
  451. package/unbundled/definition58.js +47 -244
  452. package/unbundled/definition59.cjs +127 -444
  453. package/unbundled/definition59.js +124 -444
  454. package/unbundled/definition6.cjs +2 -1
  455. package/unbundled/definition6.js +2 -1
  456. package/unbundled/definition60.cjs +230 -3746
  457. package/unbundled/definition60.js +223 -3576
  458. package/unbundled/definition61.cjs +427 -739
  459. package/unbundled/definition61.js +425 -737
  460. package/unbundled/definition62.cjs +3762 -103
  461. package/unbundled/definition62.js +3593 -97
  462. package/unbundled/definition63.cjs +678 -886
  463. package/unbundled/definition63.js +672 -877
  464. package/unbundled/definition64.cjs +104 -108
  465. package/unbundled/definition64.js +100 -104
  466. package/unbundled/definition65.cjs +999 -65
  467. package/unbundled/definition65.js +995 -58
  468. package/unbundled/definition66.cjs +105 -155
  469. package/unbundled/definition66.js +101 -151
  470. package/unbundled/definition67.cjs +71 -121
  471. package/unbundled/definition67.js +63 -119
  472. package/unbundled/definition68.cjs +162 -51
  473. package/unbundled/definition68.js +158 -47
  474. package/unbundled/definition69.cjs +117 -75
  475. package/unbundled/definition69.js +116 -71
  476. package/unbundled/definition70.cjs +59 -21
  477. package/unbundled/definition70.js +56 -15
  478. package/unbundled/definition71.cjs +80 -75
  479. package/unbundled/definition71.js +76 -74
  480. package/unbundled/definition72.cjs +20 -305
  481. package/unbundled/definition72.js +14 -230
  482. package/unbundled/definition73.cjs +75 -315
  483. package/unbundled/definition73.js +74 -307
  484. package/unbundled/definition74.cjs +308 -30
  485. package/unbundled/definition74.js +231 -24
  486. package/unbundled/definition75.cjs +314 -109
  487. package/unbundled/definition75.js +304 -106
  488. package/unbundled/definition76.cjs +26 -250
  489. package/unbundled/definition76.js +21 -246
  490. package/unbundled/definition77.cjs +133 -27
  491. package/unbundled/definition77.js +124 -25
  492. package/unbundled/definition78.cjs +230 -116
  493. package/unbundled/definition78.js +227 -107
  494. package/unbundled/definition79.cjs +28 -203
  495. package/unbundled/definition79.js +26 -193
  496. package/unbundled/definition80.cjs +126 -477
  497. package/unbundled/definition80.js +118 -473
  498. package/unbundled/definition81.cjs +221 -0
  499. package/unbundled/definition81.js +202 -0
  500. package/unbundled/definition82.cjs +517 -0
  501. package/unbundled/definition82.js +497 -0
  502. package/unbundled/extractOptions.cjs +21 -0
  503. package/unbundled/extractOptions.js +16 -0
  504. package/unbundled/icon.cjs +67 -0
  505. package/unbundled/icon.js +61 -0
  506. package/unbundled/linkable.cjs +1 -1
  507. package/unbundled/linkable.js +1 -1
  508. package/unbundled/listbox.cjs +29 -7
  509. package/unbundled/listbox.js +29 -7
  510. package/unbundled/mixins.cjs +2 -1
  511. package/unbundled/mixins.js +2 -1
  512. package/unbundled/optgroup.cjs +66 -0
  513. package/unbundled/optgroup.js +54 -0
  514. package/unbundled/option.cjs +176 -0
  515. package/unbundled/option.js +164 -0
  516. package/unbundled/time-selection-picker.template.cjs +1 -1
  517. package/unbundled/time-selection-picker.template.js +1 -1
  518. package/unbundled/vivid-element.cjs +10 -1
  519. package/unbundled/vivid-element.js +10 -1
  520. package/video-player/definition.cjs +1 -1
  521. package/video-player/definition.js +1 -1
  522. package/vivid.api.json +568 -231
@@ -1,141 +1,261 @@
1
1
  import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
- import { r as Icon, t as iconDefinition } from "./definition.js";
3
2
  import { t as __decorate } from "./decorate.js";
4
- import { a as affixIconTemplateFactory, i as IconWrapper, t as AffixIcon } from "./affix.js";
5
- import { n as applyHostSemantics, t as HostSemantics } from "./host-semantics.js";
6
- import { attr, children, elements, html, observable, ref, slotted, when } from "@microsoft/fast-element";
7
- import { classNames, isHTMLElement } from "@microsoft/fast-web-utilities";
8
- //#region src/lib/tree-item/tree-item.scss?inline
9
- 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)}";
3
+ import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
4
+ import { n as FormAssociated } from "./form-associated.js";
5
+ import { n as visuallyHiddenDefinition } from "./definition22.js";
6
+ import { r as feedbackMessageDefinition, t as WithFeedback } from "./mixins.js";
7
+ import { t as FormElement } from "./form-element.js";
8
+ import { t as WithErrorText } from "./with-error-text.js";
9
+ import { t as WithSuccessText } from "./with-success-text.js";
10
+ import { t as contextualHelpDefinition } from "./definition25.js";
11
+ import { t as WithCharCount } from "./char-count.js";
12
+ import { t as WithContextualHelp } from "./with-contextual-help.js";
13
+ import { DOM, Observable, attr, html, nullableNumberConverter, observable, ref, slotted, when } from "@microsoft/fast-element";
14
+ import { classNames } from "@microsoft/fast-web-utilities";
15
+ //#region src/lib/text-area/text-area.scss?inline
16
+ var text_area_default = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notset;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base.connotation-success{--_connotation-color-primary:var(--vvd-text-area-success-primary,var(--vvd-color-success-500));--_connotation-color-primary-text:var(--vvd-text-area-success-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-text-area-success-primary-increment,var(--vvd-color-success-600));--_connotation-color-intermediate:var(--vvd-text-area-success-intermediate,var(--vvd-color-success-500));--_connotation-color-firm:var(--vvd-text-area-success-firm,var(--vvd-color-success-600));--_connotation-color-fierce:var(--vvd-text-area-success-fierce,var(--vvd-color-success-700));--_connotation-color-faint:var(--vvd-text-area-success-faint,var(--vvd-color-success-50));--_connotation-color-soft:var(--vvd-text-area-success-soft,var(--vvd-color-success-100))}.base.connotation-alert{--_connotation-color-primary:var(--vvd-text-area-alert-primary,var(--vvd-color-alert-500));--_connotation-color-primary-text:var(--vvd-text-area-alert-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-text-area-alert-primary-increment,var(--vvd-color-alert-600));--_connotation-color-intermediate:var(--vvd-text-area-alert-intermediate,var(--vvd-color-alert-500));--_connotation-color-firm:var(--vvd-text-area-alert-firm,var(--vvd-color-alert-600));--_connotation-color-fierce:var(--vvd-text-area-alert-fierce,var(--vvd-color-alert-700));--_connotation-color-faint:var(--vvd-text-area-alert-faint,var(--vvd-color-alert-50));--_connotation-color-soft:var(--vvd-text-area-alert-soft,var(--vvd-color-alert-100))}.base:not(.connotation-success,.connotation-alert){--_connotation-color-primary:var(--vvd-text-area-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-text-area-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-text-area-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-intermediate:var(--vvd-text-area-accent-intermediate,var(--vvd-color-neutral-500));--_connotation-color-firm:var(--vvd-text-area-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-fierce:var(--vvd-text-area-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-text-area-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-text-area-accent-soft,var(--vvd-color-neutral-100))}.base{user-select:none;grid-template-columns:1fr max-content;row-gap:4px;inline-size:100%;display:inline-grid}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);line-height:20px}.label-wrapper{grid-area:1/1/auto/2}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base);grid-column:2/-1}.control{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in sRGB, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.control ::-webkit-scrollbar{width:4px}.control ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.control ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.control{box-sizing:border-box;appearance:none;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);min-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));resize:none;border:0;border-radius:8px;grid-column:1/-1;padding:8px 16px;transition:box-shadow .2s,background-color .2s,color .2s}@supports selector(::-webkit-resizer){.control::-webkit-resizer{background-image:linear-gradient(315deg, transparent 0, transparent 2px, var(--vvd-color-canvas-text) 2px, var(--vvd-color-canvas-text) 3px, transparent 3px, transparent 5px, var(--vvd-color-canvas-text) 5px, var(--vvd-color-canvas-text) 6px, transparent 6px, transparent 8px, transparent 100%);background-repeat:no-repeat;background-size:10px 10px;block-size:10px;inline-size:10px}}.control:disabled{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_appearance-color-text)}.control::placeholder,.control:disabled::placeholder{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_low-ink-color)}.control:focus-visible{--focus-stroke-gap-color:transparent;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([resize=both]) .control{resize:both}:host([resize=horizontal]) .control{resize:horizontal}:host([resize=vertical]) .control{resize:vertical}";
10
17
  //#endregion
11
- //#region src/lib/tree-item/tree-item.ts
12
- function isTreeItemElement(el) {
13
- return isHTMLElement(el) && (el.getAttribute("role") === "treeitem" || el instanceof TreeItem);
14
- }
18
+ //#region src/shared/utils/Reflector.ts
19
+ /** Reflects observable properties of the source object to the target, either as attributes or as properties. */
20
+ var Reflector = class {
21
+ #reflectedProperties = /* @__PURE__ */ new Map();
22
+ #source;
23
+ #target;
24
+ constructor(source, target) {
25
+ this.#source = source;
26
+ this.#target = target;
27
+ }
28
+ attribute(propertyName, attributeName) {
29
+ this.#addReflectedProperty(propertyName, {
30
+ type: "attribute",
31
+ destination: attributeName
32
+ });
33
+ }
34
+ booleanAttribute(propertyName, attributeName) {
35
+ this.#addReflectedProperty(propertyName, {
36
+ type: "boolean-attribute",
37
+ destination: attributeName
38
+ });
39
+ }
40
+ property(propertyName, targetProperty, skipIfEqual = false) {
41
+ this.#addReflectedProperty(propertyName, {
42
+ type: "property",
43
+ destination: targetProperty,
44
+ skipIfEqual
45
+ });
46
+ }
47
+ destroy() {
48
+ const notifier = Observable.getNotifier(this.#source);
49
+ for (const prop of this.#reflectedProperties.keys()) notifier.unsubscribe(this.#propertyChangeHandler, prop);
50
+ this.#reflectedProperties.clear();
51
+ }
52
+ #addReflectedProperty(name, reflected) {
53
+ this.#reflectedProperties.set(name, reflected);
54
+ Observable.getNotifier(this.#source).subscribe(this.#propertyChangeHandler, name);
55
+ this.#propertyChangeHandler.handleChange(this.#source, name);
56
+ }
57
+ #propertyChangeHandler = { handleChange: (source, propertyName) => {
58
+ const reflectedProperty = this.#reflectedProperties.get(propertyName);
59
+ const value = source[propertyName];
60
+ switch (reflectedProperty.type) {
61
+ case "boolean-attribute":
62
+ DOM.setBooleanAttribute(this.#target, reflectedProperty.destination, Boolean(value));
63
+ break;
64
+ case "attribute":
65
+ DOM.setAttribute(this.#target, reflectedProperty.destination, value);
66
+ break;
67
+ case "property":
68
+ if (reflectedProperty.skipIfEqual && this.#target[reflectedProperty.destination] === value) return;
69
+ this.#target[reflectedProperty.destination] = value;
70
+ break;
71
+ }
72
+ } };
73
+ };
74
+ //#endregion
75
+ //#region src/lib/text-area/text-area.ts
76
+ /** Resize mode for a TextArea */
77
+ var TextAreaResize = {
78
+ /** No resize. */
79
+ none: "none",
80
+ /** Resize vertically and horizontally. */
81
+ both: "both",
82
+ /** Resize horizontally. */
83
+ horizontal: "horizontal",
84
+ /** Resize vertically. */
85
+ vertical: "vertical"
86
+ };
15
87
  /**
16
88
  * @public
17
- * @component tree-item
18
- * @slot item - To specify a child tree item.
19
- * @slot icon - The preferred way to add an icon to the component.
20
- * @event {CustomEvent<HTMLElement>} expanded-change - Fires a custom 'expanded-change' event when the expanded state changes
21
- * @event {CustomEvent<HTMLElement>} selected-change - Fires a custom 'selected-change' event when the selected state changes
89
+ * @component text-area
90
+ * @slot helper-text - Describes how to use the Text Area. Alternative to the `helper-text` attribute.
91
+ * @event {CustomEvent<undefined>} change - Emits a custom 'change' event when the textarea emits a change event
92
+ * @event {Event} input - Fires when the value of the element changes.
93
+ * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
94
+ * @testAction fill fill #control
95
+ * @testAction clear clear #control
96
+ * @testRef control shadow .control
22
97
  */
23
- var TreeItem = class extends HostSemantics(AffixIcon(VividElement)) {
98
+ var TextArea = class extends WithContextualHelp(WithFeedback(WithCharCount(WithErrorText(WithSuccessText(FormElement(DelegatesAria(FormAssociated(VividElement)))))))) {
24
99
  constructor(..._args) {
25
100
  super(..._args);
26
- this.expanded = false;
27
- this.selected = false;
28
- this.disabled = false;
29
- this.focusable = false;
30
- this.isNestedItem = () => {
31
- return isTreeItemElement(this.parentElement);
32
- };
33
- this.handleExpandCollapseButtonClick = (e) => {
34
- if (!this.disabled && !e.defaultPrevented) this.expanded = !this.expanded;
35
- };
36
- this.handleFocus = (_e) => {
37
- this.setAttribute("tabindex", "0");
38
- };
39
- this.handleBlur = (_e) => {
40
- this.setAttribute("tabindex", "-1");
101
+ this.proxy = document.createElement("textarea");
102
+ this.resize = TextAreaResize.none;
103
+ this.cols = 20;
104
+ this.handleTextInput = () => {
105
+ this.value = this.control.value;
41
106
  };
42
107
  }
43
108
  /** @internal */
44
- expandedChanged() {
45
- if (this.$fastController.isConnected) this.$emit("expanded-change", this);
109
+ readOnlyChanged() {
110
+ /* v8 ignore if -- @preserve */
111
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.readOnly = this.readOnly;
46
112
  }
47
113
  /** @internal */
48
- selectedChanged() {
49
- if (this.$fastController.isConnected) this.$emit("selected-change", this);
114
+ autofocusChanged() {
115
+ /* v8 ignore if -- @preserve */
116
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.autofocus = this.autofocus;
50
117
  }
51
- itemsChanged() {
52
- if (this.$fastController.isConnected) this.items.forEach((node) => {
53
- /* v8 ignore else -- @preserve */
54
- if (isTreeItemElement(node)) node.nested = true;
55
- });
118
+ /** @internal */
119
+ listChanged() {
120
+ /* v8 ignore if -- @preserve */
121
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.setAttribute("list", this.list);
56
122
  }
57
- /**
58
- * Places document focus on a tree item
59
- *
60
- * @param el - the element to focus
61
- */
62
- static focusItem(el) {
63
- el.focusable = true;
64
- el.focus();
123
+ /** @internal */
124
+ maxlengthChanged() {
125
+ /* v8 ignore if -- @preserve */
126
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.maxLength = this.maxlength;
127
+ }
128
+ /** @internal */
129
+ minlengthChanged() {
130
+ /* v8 ignore if -- @preserve */
131
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.minLength = this.minlength;
132
+ }
133
+ /** @internal */
134
+ spellcheckChanged() {
135
+ /* v8 ignore if -- @preserve */
136
+ if (this.proxy instanceof HTMLTextAreaElement) this.proxy.spellcheck = this.spellcheck;
137
+ }
138
+ /** Selects all the text in the text area */
139
+ select() {
140
+ this.control.select();
141
+ }
142
+ /** @internal */
143
+ valueChanged(previous, next) {
144
+ super.valueChanged(previous, next);
145
+ if (this.charCount && this.maxlength) this._updateCharCountRemaining();
65
146
  }
66
147
  /**
67
- * Gets number of children
68
- *
148
+ * Change event handler for inner control.
149
+ * @remarks
150
+ * "Change" events are not `composable` so they will not
151
+ * permeate the shadow DOM boundary. This fn effectively proxies
152
+ * the change event, emitting a `change` event whenever the internal
153
+ * control emits a `change` event
69
154
  * @internal
70
155
  */
71
- childItemLength() {
72
- return this.childItems.filter((item) => {
73
- return isTreeItemElement(item);
74
- }).length;
156
+ handleChange() {
157
+ this.$emit("change");
158
+ }
159
+ /** Validates the Text Area against its constraints (e.g. `maxlength`, `required`) and updates its validity state. */
160
+ validate() {
161
+ super.validate(this.control);
162
+ }
163
+ #reflectToTextArea;
164
+ connectedCallback() {
165
+ super.connectedCallback();
166
+ this.#reflectToTextArea = new Reflector(this, this.control);
167
+ this.#reflectToTextArea.property("value", "value", true);
168
+ this._renderCharCountRemaining();
169
+ }
170
+ disconnectedCallback() {
171
+ super.disconnectedCallback();
172
+ this.#reflectToTextArea.destroy();
75
173
  }
76
174
  };
77
- __decorate([attr], TreeItem.prototype, "text", void 0);
78
- __decorate([attr({ mode: "boolean" })], TreeItem.prototype, "expanded", void 0);
79
- __decorate([attr({ mode: "boolean" })], TreeItem.prototype, "selected", void 0);
80
- __decorate([attr({ mode: "boolean" })], TreeItem.prototype, "disabled", void 0);
81
- __decorate([observable], TreeItem.prototype, "focusable", void 0);
82
- __decorate([observable], TreeItem.prototype, "childItems", void 0);
83
- __decorate([observable], TreeItem.prototype, "items", void 0);
84
- __decorate([observable], TreeItem.prototype, "nested", void 0);
85
- __decorate([observable], TreeItem.prototype, "renderCollapsedChildren", void 0);
175
+ __decorate([attr({ mode: "boolean" })], TextArea.prototype, "readOnly", void 0);
176
+ __decorate([attr], TextArea.prototype, "resize", void 0);
177
+ __decorate([attr({ mode: "boolean" })], TextArea.prototype, "autofocus", void 0);
178
+ __decorate([attr({ attribute: "form" })], TextArea.prototype, "formId", void 0);
179
+ __decorate([attr], TextArea.prototype, "list", void 0);
180
+ __decorate([attr({ converter: nullableNumberConverter })], TextArea.prototype, "maxlength", void 0);
181
+ __decorate([attr({ converter: nullableNumberConverter })], TextArea.prototype, "minlength", void 0);
182
+ __decorate([attr], TextArea.prototype, "placeholder", void 0);
183
+ __decorate([attr({
184
+ converter: nullableNumberConverter,
185
+ mode: "fromView"
186
+ })], TextArea.prototype, "cols", void 0);
187
+ __decorate([attr({
188
+ converter: nullableNumberConverter,
189
+ mode: "fromView"
190
+ })], TextArea.prototype, "rows", void 0);
191
+ __decorate([attr({ mode: "boolean" })], TextArea.prototype, "spellcheck", void 0);
192
+ __decorate([observable], TextArea.prototype, "defaultSlottedNodes", void 0);
193
+ __decorate([attr], TextArea.prototype, "wrap", void 0);
86
194
  //#endregion
87
- //#region src/lib/tree-item/tree-item.template.ts
88
- var expandCollapseButton = (context) => {
89
- const iconTag = context.tagFor(Icon);
195
+ //#region src/lib/text-area/text-area.template.ts
196
+ function renderLabel() {
197
+ return html` <label for="control" class="label">
198
+ ${(x) => x.label}
199
+ </label>`;
200
+ }
201
+ var TextAreaTemplate = (context) => {
90
202
  return html`
91
- <div aria-hidden="true"
92
- class="expandCollapseButton"
93
- @click="${(x, c) => x.handleExpandCollapseButtonClick(c.event)}"
94
- ${ref("expandCollapseButton")}
95
- >
96
- <${iconTag} class="expandCollapseIcon" name="${(x) => x.expanded ? "chevron-down-line" : "chevron-right-line"}"></${iconTag}>
97
- </div>`;
98
- };
99
- var TreeItemTemplate = (context) => {
100
- const affixIconTemplate = affixIconTemplateFactory(context);
101
- const treeItemTagName = context.tagFor(TreeItem, true);
102
- return html` <template
103
- slot="${(x) => x.isNestedItem() ? "item" : void 0}"
104
- tabindex="-1"
105
- ${applyHostSemantics({
106
- role: "treeitem",
107
- ariaExpanded: (x) => x.childItems && x.childItems.length > 0 ? x.expanded : void 0,
108
- ariaSelected: (x) => x.selected,
109
- ariaDisabled: (x) => x.disabled
110
- })}
111
- @focusin="${(x, c) => x.handleFocus(c.event)}"
112
- @focusout="${(x, c) => x.handleBlur(c.event)}"
113
- ${children({
114
- property: "childItems",
115
- filter: elements(treeItemTagName)
116
- })}
117
- >
118
203
  <div
119
- class="${(x) => classNames("control", ["disabled", x.disabled], ["selected", x.selected])}"
204
+ class="${(x) => classNames("base", ["readonly", x.readOnly], ["placeholder", Boolean(x.placeholder)], ["disabled", x.disabled], ["error", Boolean(x.errorValidationMessage)], ["has-value", Boolean(x.value)], ["success", !!x.successText])}"
120
205
  >
121
- ${when((x) => x.childItems && x.childItems.length > 0, expandCollapseButton(context))}
122
- ${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
123
- ${(x) => x.text}
206
+ ${when((x) => x.charCount && x.maxlength, (x) => x._getCharCountTemplate(context))}
207
+ <div
208
+ class="label-wrapper"
209
+ ?hidden=${(x) => !x.label && !x._hasContextualHelp}
210
+ >
211
+ ${when((x) => x.label, renderLabel())}
212
+ <slot
213
+ name="contextual-help"
214
+ ${slotted("_contextualHelpSlottedContent")}
215
+ ></slot>
216
+ </div>
217
+ <textarea
218
+ class="control"
219
+ id="control"
220
+ ?autofocus="${(x) => x.autofocus}"
221
+ placeholder="${(x) => x.placeholder ? x.placeholder : null}"
222
+ name="${(x) => x.name ? x.name : null}"
223
+ list="${(x) => x.list}"
224
+ minlength="${(x) => x.minlength ? x.minlength : null}"
225
+ maxlength="${(x) => x.maxlength ? x.maxlength : null}"
226
+ rows="${(x) => x.rows ? x.rows : null}"
227
+ cols="${(x) => x.cols ? x.cols : null}"
228
+ wrap="${(x) => x.wrap ? x.wrap : null}"
229
+ ?readonly="${(x) => x.readOnly}"
230
+ ?disabled="${(x) => x.disabled}"
231
+ ?required="${(x) => x.required}"
232
+ ?spellcheck="${(x) => x.spellcheck}"
233
+ ${delegateAria({ ariaDescribedBy: (x) => `${x._feedbackDescribedBy} ${x.charCount && x.maxlength ? x._charCountDescribedBy : null}` })}
234
+ @input="${(x) => x.handleTextInput()}"
235
+ @change="${(x) => x.handleChange()}"
236
+ ${ref("control")}
237
+ >
238
+ </textarea>
239
+ ${(x) => x._getFeedbackTemplate(context)}
124
240
  </div>
125
- ${when((x) => x.childItems && x.childItems.length > 0 && x.expanded, html` <div role="group" class="items">
126
- <slot name="item" ${slotted("items")}></slot>
127
- </div>`)}
128
- </template>`;
241
+ `;
129
242
  };
130
243
  //#endregion
131
- //#region src/lib/tree-item/definition.ts
244
+ //#region src/lib/text-area/definition.ts
132
245
  /** @internal */
133
- var treeItemDefinition = defineVividComponent("tree-item", TreeItem, TreeItemTemplate, [iconDefinition], { styles: tree_item_default });
246
+ var textAreaDefinition = defineVividComponent("text-area", TextArea, TextAreaTemplate, [
247
+ feedbackMessageDefinition,
248
+ visuallyHiddenDefinition,
249
+ contextualHelpDefinition
250
+ ], {
251
+ styles: text_area_default,
252
+ shadowOptions: { delegatesFocus: true }
253
+ });
134
254
  /**
135
- * Registers the tree-item element with the design system.
255
+ * Registers the text-field elements with the design system.
136
256
  *
137
257
  * @param prefix - the prefix to use for the component name
138
258
  */
139
- var registerTreeItem = createRegisterFunction(treeItemDefinition);
259
+ var registerTextArea = createRegisterFunction(textAreaDefinition);
140
260
  //#endregion
141
- export { isTreeItemElement as i, treeItemDefinition as n, TreeItem as r, registerTreeItem as t };
261
+ export { textAreaDefinition as n, TextArea as r, registerTextArea as t };
@@ -1,221 +1,46 @@
1
- require("./chunk.cjs");
2
1
  const require_vivid_element = require("./vivid-element.cjs");
3
- const require_decorate = require("./decorate.cjs");
4
- const require_host_semantics = require("./host-semantics.cjs");
5
- const require_definition = require("./definition78.cjs");
6
- let _microsoft_fast_element = require("@microsoft/fast-element");
7
- 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}";
10
- //#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;
2
+ const require_definition = require("./definition6.cjs");
3
+ const require_definition$1 = require("./definition9.cjs");
4
+ const require_definition$2 = require("./definition22.cjs");
5
+ const require_definition$3 = require("./definition26.cjs");
6
+ const require_picker_field_template = require("./picker-field.template.cjs");
7
+ const require_time_selection_picker_template = require("./time-selection-picker.template.cjs");
8
+ //#region src/lib/time-picker/time-picker.template.ts
9
+ var TimePickerTemplate = (context) => {
10
+ return require_picker_field_template.PickerFieldTemplate(context, require_time_selection_picker_template.TimeSelectionPickerTemplate(context, 6), {
11
+ withSeparator: true,
12
+ padded: false
18
13
  });
19
- return [];
20
- }
21
- /**
22
- * @public
23
- * @component tree-view
24
- * @slot - Default slot.
25
- */
26
- var TreeView = class extends require_host_semantics.HostSemantics(require_vivid_element.VividElement) {
27
- constructor(..._args) {
28
- 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
- }
43
- };
44
- this.handleBlur = (e) => {
45
- if (e.target instanceof HTMLElement && (e.relatedTarget === null || !this.contains(e.relatedTarget))) this.setAttribute("tabindex", "0");
46
- };
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
- }
105
- };
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;
121
- };
122
- }
123
- /** @internal */
124
- slottedTreeItemsChanged() {
125
- if (this.$fastController.isConnected) this.setItems();
126
- }
127
- connectedCallback() {
128
- super.connectedCallback();
129
- this.setAttribute("tabindex", "0");
130
- _microsoft_fast_element.Updates.enqueue(() => {
131
- this.setItems();
132
- });
133
- }
134
- /**
135
- * Handles click events bubbling up
136
- *
137
- * @internal
138
- */
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;
163
- }
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']");
172
- }
173
14
  };
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);
177
15
  //#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>`;
193
- //#endregion
194
- //#region src/lib/tree-view/definition.ts
16
+ //#region src/lib/time-picker/definition.ts
195
17
  /** @internal */
196
- var treeViewDefinition = require_vivid_element.defineVividComponent("tree-view", TreeView, TreeViewTemplate, [require_definition.treeItemDefinition], { styles: tree_view_default });
18
+ var timePickerDefinition = require_vivid_element.defineVividComponent("time-picker", require_time_selection_picker_template.TimePicker, TimePickerTemplate, [
19
+ require_definition$3.textFieldDefinition,
20
+ require_definition$1.popupDefinition,
21
+ require_definition.buttonDefinition,
22
+ require_time_selection_picker_template.inlineTimePickerDefinition,
23
+ require_definition$2.visuallyHiddenDefinition
24
+ ], {
25
+ styles: require_picker_field_template.picker_field_default,
26
+ shadowOptions: { delegatesFocus: true }
27
+ });
197
28
  /**
198
- * Registers the tree-view element with the design system.
29
+ * Registers the time-picker element with the design system.
199
30
  *
200
31
  * @param prefix - the prefix to use for the component name
201
32
  */
202
- var registerTreeView = require_vivid_element.createRegisterFunction(treeViewDefinition);
33
+ var registerTimePicker = require_vivid_element.createRegisterFunction(timePickerDefinition);
203
34
  //#endregion
204
- Object.defineProperty(exports, "TreeView", {
205
- enumerable: true,
206
- get: function() {
207
- return TreeView;
208
- }
209
- });
210
- Object.defineProperty(exports, "registerTreeView", {
35
+ Object.defineProperty(exports, "registerTimePicker", {
211
36
  enumerable: true,
212
37
  get: function() {
213
- return registerTreeView;
38
+ return registerTimePicker;
214
39
  }
215
40
  });
216
- Object.defineProperty(exports, "treeViewDefinition", {
41
+ Object.defineProperty(exports, "timePickerDefinition", {
217
42
  enumerable: true,
218
43
  get: function() {
219
- return treeViewDefinition;
44
+ return timePickerDefinition;
220
45
  }
221
46
  });