@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,395 +1,221 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
- const require_definition = require("./definition.cjs");
4
3
  const require_decorate = require("./decorate.cjs");
5
- const require_localized = require("./localized.cjs");
6
- const require_definition$1 = require("./definition6.cjs");
4
+ const require_definition = require("./definition6.cjs");
5
+ const require_definition$1 = require("./definition9.cjs");
7
6
  const require_definition$2 = require("./definition22.cjs");
8
7
  const require_definition$3 = require("./definition26.cjs");
8
+ const require_definition$4 = require("./definition36.cjs");
9
+ const require_picker_field_template = require("./picker-field.template.cjs");
10
+ const require_calendar_picker_template = require("./calendar-picker.template.cjs");
11
+ const require_single_value_picker = require("./single-value-picker.cjs");
12
+ const require_single_date_picker = require("./single-date-picker.cjs");
13
+ const require_time_selection_picker_template = require("./time-selection-picker.template.cjs");
9
14
  let _microsoft_fast_element = require("@microsoft/fast-element");
10
- let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
11
- //#region src/lib/dial-pad/dial-pad.scss?inline
12
- var dial_pad_default = ":host{inline-size:230px;margin:16px;display:inline-block}.base{box-sizing:border-box;grid-template-rows:80px 1fr auto;display:grid}.base.no-input{grid-template-rows:1fr auto}.digits{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:16px;inline-size:100%;display:grid}.phone-field{grid-column:1/-1;align-self:flex-start}.digit-btn{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.digit-btn:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.digit-btn.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.digit-btn:disabled,.digit-btn.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.digit-btn{--_connotation-color-contrast:var(--vvd-dial-pad-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-soft:var(--vvd-dial-pad-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-pale:var(--vvd-dial-pad-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-dial-pad-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-firm-all:var(--vvd-dial-pad-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-faint:var(--vvd-dial-pad-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-dim:var(--vvd-dial-pad-accent-dim,var(--vvd-color-neutral-200));--vvd-button-accent-firm:var(--_appearance-color-text);box-shadow:0 0 0 1px var(--_appearance-color-outline);border-radius:16px;flex-direction:column;inline-size:100%;display:flex;overflow:hidden}.digit-btn:not(.disabled) .digit-btn-num{color:var(--vvd-color-canvas-text)}.digit-btn:focus-within{--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))}.call-btn{grid-column:1/-1;margin-block-start:32px}.base.size-condensed{grid-template-rows:60px 1fr auto}.base.size-condensed .digits{grid-template-rows:repeat(4,.85fr);gap:8px}.base.size-condensed .call-btn{margin-block-start:12px}.base.size-condensed .digit-btn-num{padding-top:6px}";
15
+ //#region src/lib/date-time-picker/date-time-picker.scss?inline
16
+ var date_time_picker_default = ".date-time-picker{gap:28px;padding-inline-start:12px;display:flex}.time-picker{padding-block:4px 12px}";
13
17
  //#endregion
14
- //#region src/lib/dial-pad/dial-pad.ts
18
+ //#region src/shared/datetime/dateTimeStr.ts
19
+ var extractDatePart = (dateTimeStr) => dateTimeStr.split("T")[0] || "";
20
+ var extractTimePart = (dateTimeStr) => dateTimeStr.split("T")[1] || "";
21
+ var isValidDateTimeStr = (string) => {
22
+ const [dateStr = "", timeStr = ""] = string.split("T");
23
+ return require_calendar_picker_template.isValidDateStr(dateStr) && require_time_selection_picker_template.isValidTimeStr(timeStr);
24
+ };
25
+ //#endregion
26
+ //#region src/shared/datetime/presentationDateTime.ts
27
+ var formatPresentationDateTime = (dateTimeStr, locale, includeSeconds, use12HourClock) => {
28
+ const [dateStr, timeStr] = dateTimeStr.split("T");
29
+ return `${require_calendar_picker_template.formatPresentationDate(dateStr, locale)} ${require_time_selection_picker_template.formatPresentationTime(timeStr, includeSeconds, use12HourClock)}`;
30
+ };
31
+ /**
32
+ * Attempts to parse user input as date time.
33
+ * Throws if input can't be parsed.
34
+ */
35
+ var parsePresentationDateTime = (presentationDateTime, locale, use12HourClock) => {
36
+ const [datePart, ...timeParts] = presentationDateTime.split(" ");
37
+ return `${require_calendar_picker_template.parsePresentationDate(datePart, locale)}T${require_time_selection_picker_template.parsePresentationTime(timeParts.join(" "), use12HourClock)}`;
38
+ };
39
+ //#endregion
40
+ //#region src/lib/date-time-picker/date-time-picker.ts
41
+ var ValidDateTimeFilter = {
42
+ fromView: (value) => {
43
+ if (value && isValidDateTimeStr(value)) return value;
44
+ return "";
45
+ },
46
+ toView(value) {
47
+ return value;
48
+ }
49
+ };
15
50
  /**
16
- * Base class for dial-pad
51
+ * Single date picker component.
17
52
  *
18
53
  * @public
19
- * @component dial-pad
20
- * @event {CustomEvent<undefined>} change - Emitted when the text field value changes
21
- * @event {CustomEvent<undefined>} input - Emitted when the text field value changes
22
- * @event {CustomEvent<undefined>} blur - Emitted when the text field loses focus
23
- * @event {CustomEvent<undefined>} focus - Emitted when the text field receives focus
24
- * @event {CustomEvent<HTMLElement>}keypad-click - Emitted when a digit button is clicked
25
- * @event {CustomEvent<undefined>} dial - Emitted when the call button is clicked
26
- * @event {CustomEvent<undefined>} end-call - Emitted when the end call button is clicked
54
+ * @component date-time-picker
55
+ * @slot helper-text - Describes how to use the Date Time Picker. Alternative to the `helper-text` attribute.
56
+ * @event {CustomEvent<undefined>} input - Emitted when the date is changed by the user.
57
+ * @event {CustomEvent<undefined>} change - Emitted when the date is changed by the user.
27
58
  * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
59
+ * @testAction selectDateTime selectDateTime
28
60
  */
29
- var DialPad = class extends require_localized.Localized(require_vivid_element.VividElement) {
30
- constructor(..._args) {
31
- super(..._args);
32
- this.helperText = null;
33
- this.placeholder = null;
34
- this.value = "";
35
- this.pattern = "^[0-9#*]*$";
36
- this.disabled = false;
37
- this.pending = false;
38
- this.callActive = false;
39
- this.noCall = false;
40
- this.noInput = false;
41
- this.endCallButtonLabel = null;
42
- this.callButtonLabel = null;
43
- this.deleteAriaLabel = null;
44
- this._longPressTimeoutId = null;
45
- this._suppressNextClick = false;
46
- this._keyboardLongPressCompleted = false;
47
- this._onDial = () => {
48
- if (!this._textFieldEl.checkValidity()) this._announceValidationError(this._textFieldEl.errorValidationMessage ?? "");
49
- else this._clearErrorAnnouncement();
50
- this.$emit(this.callActive ? "end-call" : "dial");
51
- };
52
- this.autofocus = false;
53
- this._errorAnnouncement = "";
54
- this._forceAnnouncementToggle = false;
55
- }
56
- valueChanged(_oldValue, newValue) {
57
- if (newValue !== void 0 && newValue !== null && this._textFieldEl && newValue !== this._textFieldEl.value) {
58
- this._textFieldEl.value = newValue;
59
- this._textFieldEl.reportValidity();
60
- }
61
+ var DateTimePicker = class extends require_time_selection_picker_template.TimeSelectionPicker(require_single_date_picker.SingleDatePickerMixin(require_single_value_picker.SingleValuePicker(require_calendar_picker_template.CalendarPicker(require_picker_field_template.PickerField)))) {
62
+ /** @internal */
63
+ get _resolvedMinDate() {
64
+ return this.minDate || extractDatePart(this.min);
61
65
  }
62
66
  /** @internal */
63
- _startLongPress(digit, event) {
64
- if (this.disabled || this.callActive || digit !== "0") return;
65
- this._clearLongPressTimer();
66
- const target = event.currentTarget;
67
- this._longPressTimeoutId = window.setTimeout(() => {
68
- this._suppressNextClick = true;
69
- this.value += "+";
70
- this.$emit("keypad-click", target);
71
- this.$emit("input");
72
- this.$emit("change");
73
- }, 600);
67
+ get _resolvedMaxDate() {
68
+ return this.maxDate || extractDatePart(this.max);
74
69
  }
75
70
  /** @internal */
76
- _startKeyboardLongPress() {
77
- if (this.disabled || this.callActive) return;
78
- if (this._longPressTimeoutId !== null) return;
79
- this._keyboardLongPressCompleted = false;
80
- this._longPressTimeoutId = window.setTimeout(() => {
81
- this._keyboardLongPressCompleted = true;
82
- this.value += "+";
83
- this.$emit("input");
84
- this.$emit("change");
85
- }, 650);
71
+ get _resolvedMinTime() {
72
+ return this.minTime || this.min && extractDatePart(this.min) === this._dateValue() && extractTimePart(this.min) || "";
86
73
  }
87
74
  /** @internal */
88
- _endLongPress() {
89
- this._clearLongPressTimer();
90
- window.setTimeout(() => {
91
- if (this._suppressNextClick) this._suppressNextClick = false;
92
- }, 0);
75
+ get _resolvedMaxTime() {
76
+ return this.maxTime || this.max && extractDatePart(this.max) === this._dateValue() && extractTimePart(this.max) || "";
93
77
  }
94
- /**
95
- * @internal
96
- * @returns true if long press completed (timer fired), false otherwise
97
- */
98
- _endKeyboardLongPress() {
99
- const wasLongPress = this._keyboardLongPressCompleted;
100
- this._clearLongPressTimer();
101
- window.setTimeout(() => {
102
- this._keyboardLongPressCompleted = false;
103
- }, 0);
104
- return wasLongPress;
78
+ /** @internal */
79
+ _toPresentationValue(value) {
80
+ return formatPresentationDateTime(value, this.locale.calendarPicker, this._displaySeconds, this._use12hClock);
105
81
  }
106
82
  /** @internal */
107
- _cancelLongPress() {
108
- this._clearLongPressTimer();
83
+ _parsePresentationValue(presentationValue) {
84
+ return parsePresentationDateTime(presentationValue, this.locale.calendarPicker, this._use12hClock);
109
85
  }
110
- _clearLongPressTimer() {
111
- if (this._longPressTimeoutId !== null) {
112
- clearTimeout(this._longPressTimeoutId);
113
- this._longPressTimeoutId = null;
114
- }
86
+ /** @internal */
87
+ _dateValue() {
88
+ return extractDatePart(this.value);
115
89
  }
116
- /**
117
- * Moves focus into the Dial Pad. If `no-input` attribute is specified, it will be the first digit
118
- * button. Otherwise, the input field will be focused.
119
- */
120
- focus() {
121
- const digitBtns = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
122
- (this._textFieldEl || digitBtns?.[0])?.focus();
90
+ /** @internal */
91
+ _withUpdatedDate(dateStr) {
92
+ return `${dateStr}T${extractTimePart(this.value) || "00:00:00"}`;
123
93
  }
124
94
  /** @internal */
125
- _announceValidationError(message) {
126
- this._errorAnnouncement = "";
127
- window.queueMicrotask(() => {
128
- if (message) {
129
- this._forceAnnouncementToggle = !this._forceAnnouncementToggle;
130
- this._errorAnnouncement = `${message}${this._forceAnnouncementToggle ? "​" : ""}`;
131
- } else this._clearErrorAnnouncement();
132
- });
95
+ get _timeValue() {
96
+ return extractTimePart(this.value);
133
97
  }
134
98
  /** @internal */
135
- _clearErrorAnnouncement() {
136
- this._errorAnnouncement = "";
137
- this._forceAnnouncementToggle = false;
99
+ _withUpdatedTime(timeStr) {
100
+ return `${extractDatePart(this.value) || require_calendar_picker_template.currentDateStr()}T${timeStr}`;
101
+ }
102
+ constructor() {
103
+ super();
104
+ this._isValidValue = isValidDateTimeStr;
105
+ this._textFieldSize = "30";
106
+ this.proxy.type = "datetime-local";
107
+ this.proxy.step = "1";
108
+ this.min = "";
109
+ this.minDate = "";
110
+ this.minTime = "";
111
+ this.max = "";
112
+ this.maxDate = "";
113
+ this.maxTime = "";
138
114
  }
139
- };
140
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "helper-text" })], DialPad.prototype, "helperText", void 0);
141
- require_decorate.__decorate([_microsoft_fast_element.attr], DialPad.prototype, "placeholder", void 0);
142
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], DialPad.prototype, "value", void 0);
143
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], DialPad.prototype, "pattern", void 0);
144
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], DialPad.prototype, "disabled", void 0);
145
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], DialPad.prototype, "pending", void 0);
146
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
147
- attribute: "call-active",
148
- mode: "boolean"
149
- })], DialPad.prototype, "callActive", void 0);
150
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
151
- mode: "boolean",
152
- attribute: "no-call"
153
- })], DialPad.prototype, "noCall", void 0);
154
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
155
- mode: "boolean",
156
- attribute: "no-input"
157
- })], DialPad.prototype, "noInput", void 0);
158
- require_decorate.__decorate([_microsoft_fast_element.attr], DialPad.prototype, "size", void 0);
159
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "end-call-button-label" })], DialPad.prototype, "endCallButtonLabel", void 0);
160
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "call-button-label" })], DialPad.prototype, "callButtonLabel", void 0);
161
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "delete-aria-label" })], DialPad.prototype, "deleteAriaLabel", void 0);
162
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], DialPad.prototype, "autofocus", void 0);
163
- require_decorate.__decorate([_microsoft_fast_element.observable], DialPad.prototype, "_errorAnnouncement", void 0);
164
- //#endregion
165
- //#region src/lib/dial-pad/dial-pad.template.ts
166
- var DialPadButton = class {
167
- constructor(value, label, ariaLabel, icon, id) {
168
- this.value = value;
169
- this.label = label;
170
- this.ariaLabel = ariaLabel;
171
- this.icon = icon;
172
- this.id = id;
115
+ /** @internal */
116
+ _getCustomValidationError() {
117
+ if (this._isPresentationValueInvalid()) return this.locale.dateTimePicker.invalidDateTimeError;
118
+ if (this._dateValue() && this._resolvedMinDate && require_calendar_picker_template.compareDateStr(this._dateValue(), this._resolvedMinDate) < 0) return this.locale.dateTimePicker.dateBeforeMinDateError(require_calendar_picker_template.formatPresentationDate(this._resolvedMinDate, this.locale.calendarPicker));
119
+ if (this._dateValue() && this._resolvedMaxDate && require_calendar_picker_template.compareDateStr(this._dateValue(), this._resolvedMaxDate) > 0) return this.locale.dateTimePicker.dateAfterMaxDateError(require_calendar_picker_template.formatPresentationDate(this._resolvedMaxDate, this.locale.calendarPicker));
120
+ if (this._timeValue && this._resolvedMinTime && require_time_selection_picker_template.compareTimeStr(this._timeValue, this._resolvedMinTime) < 0) return this.locale.dateTimePicker.timeBeforeMinTimeError(require_time_selection_picker_template.formatPresentationTime(this._resolvedMinTime, this._displaySeconds, this._use12hClock));
121
+ if (this._timeValue && this._resolvedMaxTime && require_time_selection_picker_template.compareTimeStr(this._timeValue, this._resolvedMaxTime) > 0) return this.locale.dateTimePicker.timeAfterMaxTimeError(require_time_selection_picker_template.formatPresentationTime(this._resolvedMaxTime, this._displaySeconds, this._use12hClock));
122
+ return null;
173
123
  }
174
- };
175
- var DIAL_PAD_BUTTONS = [
176
- new DialPadButton("1", "&nbsp;", "digitOneLabel", "one-solid", "btn1"),
177
- new DialPadButton("2", "ABC", "digitTwoLabel", "two-solid", "btn2"),
178
- new DialPadButton("3", "DEF", "digitThreeLabel", "three-solid", "btn3"),
179
- new DialPadButton("4", "GHI", "digitFourLabel", "four-solid", "btn4"),
180
- new DialPadButton("5", "JKL", "digitFiveLabel", "five-solid", "btn5"),
181
- new DialPadButton("6", "MNO", "digitSixLabel", "six-solid", "btn6"),
182
- new DialPadButton("7", "PQRS", "digitSevenLabel", "seven-solid", "btn7"),
183
- new DialPadButton("8", "TUV", "digitEightLabel", "eight-solid", "btn8"),
184
- new DialPadButton("9", "WXYZ", "digitNineLabel", "nine-solid", "btn9"),
185
- new DialPadButton("*", null, "digitAsteriskLabel", "asterisk-2-solid", "btnAsterisk"),
186
- new DialPadButton("0", "+", "digitZeroLabel", "zero-solid", "btn0"),
187
- new DialPadButton("#", null, "digitHashtagLabel", "hashtag-solid", "btnHashtag")
188
- ];
189
- function handleKeyDown(x, e) {
190
- if (e.key === _microsoft_fast_web_utilities.keyEnter && !x.pending && !x.disabled && !x.callActive && !x.noCall && x.value.length > 0 && e.target instanceof HTMLInputElement) x._onDial();
191
- else if (e.key === " " || e.key === "Space") {
192
- /* v8 ignore else -- @preserve */
193
- if (e.target instanceof HTMLInputElement) {
194
- e.preventDefault();
195
- /* v8 ignore else -- @preserve */
196
- if (!e.repeat) x._startKeyboardLongPress();
197
- }
198
- } else {
199
- const elementIndex = DIAL_PAD_BUTTONS.findIndex((x) => x.value === e.key);
200
- if (elementIndex > -1) {
201
- const digit = x.shadowRoot.querySelector(".digits").children[elementIndex];
202
- /* v8 ignore else -- @preserve */
203
- if (digit) {
204
- digit.active = true;
205
- setTimeout(() => {
206
- digit.active = false;
207
- }, 200);
208
- }
209
- }
124
+ /** @internal */
125
+ get _textFieldPlaceholder() {
126
+ return `${this.locale.calendarPicker.dateFormatPlaceholder} ${this._timePlaceholder}`;
210
127
  }
211
- return true;
212
- }
213
- function handleKeyUp(x, e) {
214
- /* v8 ignore else -- @preserve */
215
- if (e.key === " " || e.key === "Space") {
216
- /* v8 ignore else -- @preserve */
217
- if (e.target instanceof HTMLInputElement) {
218
- e.preventDefault();
219
- if (!x._endKeyboardLongPress() && !x.disabled && !x.callActive) {
220
- x.value += " ";
221
- x.$emit("input");
222
- x.$emit("change");
223
- }
224
- }
128
+ /** @internal */
129
+ get _pickerButtonLabel() {
130
+ if (this.value) return this.locale.dateTimePicker.changeDateTimeLabel(this._toPresentationValue(this.value));
131
+ else return this.locale.dateTimePicker.chooseDateTimeLabel;
225
132
  }
226
- return true;
227
- }
228
- function handleButtonKeyDown(digit, { parent: dialPad, event }) {
229
- /* v8 ignore else -- @preserve */
230
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
231
- event.preventDefault();
232
- /* v8 ignore else -- @preserve */
233
- if (!event.repeat) dialPad._startKeyboardLongPress();
133
+ /** @internal */
134
+ _focusableElsWithinDialog() {
135
+ return this._dialogEl.querySelectorAll("#inline-time-picker, button, .vwc-button");
234
136
  }
235
- return true;
236
- }
237
- function handleButtonKeyUp(digit, { parent: dialPad, event }) {
238
- /* v8 ignore else -- @preserve */
239
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
240
- event.preventDefault();
241
- /* v8 ignore else -- @preserve */
242
- if (!dialPad._endKeyboardLongPress() && !dialPad.disabled && !dialPad.callActive) onDigitClick(digit, {
243
- parent: dialPad,
244
- event: new MouseEvent("click", { bubbles: true })
245
- });
137
+ /** @internal */
138
+ get _pickerButtonIcon() {
139
+ return "calendar-clock-line";
246
140
  }
247
- return true;
248
- }
249
- function syncFieldAndPadValues(x) {
250
- x.value = x._textFieldEl.value;
251
- }
252
- function stopPropagation(_, { event: e }) {
253
- e.stopImmediatePropagation();
254
- }
255
- function deleteLastCharacter(dialPad) {
256
- dialPad.value = dialPad.value.slice(0, -1);
257
- dialPad.$emit("input");
258
- dialPad.$emit("change");
259
- if (dialPad.value === "") dialPad._textFieldEl?.focus();
260
- }
261
- function renderTextField(textFieldTag, buttonTag) {
262
- return _microsoft_fast_element.html`<${textFieldTag} ${(0, _microsoft_fast_element.ref)("_textFieldEl")} class="phone-field" internal-part type="tel"
263
- value="${(x) => x.value}" placeholder="${(x) => x.placeholder}"
264
- ?disabled="${(x) => x.disabled}" helper-text="${(x) => x.helperText}" pattern="${(x) => x.pattern}"
265
- aria-label="${(x) => x.locale.dialPad.inputLabel}"
266
- @keydown="${(x, c) => handleKeyDown(x, c.event)}"
267
- @keyup="${(x, c) => handleKeyUp(x, c.event)}"
268
- @input="${syncFieldAndPadValues}"
269
- @change="${syncFieldAndPadValues}"
270
- @focus="${stopPropagation}"
271
- @blur="${stopPropagation}"
272
- ?autofocus="${(x) => x.autofocus}"
273
- scale="${(x) => x.size === "condensed" ? "condensed" : "normal"}">
274
- >
275
- ${(0, _microsoft_fast_element.when)((x) => x.value && x.value.length && x.value.length > 0, _microsoft_fast_element.html`<${buttonTag}
276
- slot="action-items"
277
- size='super-condensed'
278
- icon="backspace-line"
279
- aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
280
- appearance='ghost'
281
- ?disabled="${(x) => x.disabled || x.callActive}"
282
- @click="${(x) => deleteLastCharacter(x)}">
283
- </${buttonTag}>`)}
284
- </${textFieldTag}>`;
285
- }
286
- function onDigitClick(digit, { parent: dialPad, event }) {
287
- if (dialPad._suppressNextClick) {
288
- dialPad._suppressNextClick = false;
289
- return;
141
+ /** @internal */
142
+ get _dialogLabel() {
143
+ return this.locale.dateTimePicker.chooseDateTimeLabel;
290
144
  }
291
- dialPad.value += digit.value;
292
- dialPad.$emit("keypad-click", event.currentTarget);
293
- dialPad.$emit("input");
294
- dialPad.$emit("change");
295
- }
296
- function renderDigits(buttonTag, iconTag) {
297
- return _microsoft_fast_element.html`
298
- ${(0, _microsoft_fast_element.repeat)((_) => DIAL_PAD_BUTTONS, _microsoft_fast_element.html`
299
- <${buttonTag}
300
- id="${(x) => x.id}"
301
- value="${(x) => x.value}"
302
- stacked
303
- appearance="ghost-light"
304
- shape="pill"
305
- label="${(x) => x.label === "&nbsp;" ? "\xA0" : x.label}"
306
- size='condensed'
307
- class="digit-btn"
308
- ?autofocus="${(_, c) => c.parent.autofocus && c.parent.noInput && c.index === 0}"
309
- aria-label="${(x, c) => c.parent.locale.dialPad[x.ariaLabel]}"
310
- ?disabled="${(_, c) => c.parent.disabled}"
311
- @pointerdown="${(x, c) => c.parent._startLongPress(x.value, c.event)}"
312
- @pointerup="${(_, c) => c.parent._endLongPress()}"
313
- @pointercancel="${(_, c) => c.parent._cancelLongPress()}"
314
- @pointerleave="${(_, c) => c.parent._cancelLongPress()}"
315
- @keydown="${(x, c) => handleButtonKeyDown(x, {
316
- parent: c.parent,
317
- event: c.event
318
- })}"
319
- @keyup="${(x, c) => handleButtonKeyUp(x, {
320
- parent: c.parent,
321
- event: c.event
322
- })}"
323
- @click="${onDigitClick}">
324
- <${iconTag} slot="icon"
325
- name="${(x) => x.icon}"
326
- class="digit-btn-num"></${iconTag}>
327
- </${buttonTag}>
328
- `, { positioning: true })}
329
- `;
330
- }
331
- function renderDialButton(buttonTag) {
332
- return _microsoft_fast_element.html`<${buttonTag} class="call-btn"
333
- size="${(x) => x.size === "condensed" ? "normal" : "expanded"}"
334
- appearance="filled"
335
- icon="${(x) => x.callActive ? "disable-call-line" : "call-line"}"
336
- connotation="${(x) => x.callActive ? "alert" : "cta"}"
337
- ?disabled="${(x) => x.disabled}"
338
- ?pending="${(x) => x.pending}"
339
- @click="${(x) => x._onDial()}"
340
- label="${(x) => x.callActive ? x.endCallButtonLabel || x.locale.dialPad.endCallButtonLabel : x.callButtonLabel || x.locale.dialPad.callButtonLabel}">
341
- </${buttonTag}>`;
342
- }
343
- function renderErrorAnnouncement(visuallyHiddenTag) {
344
- return _microsoft_fast_element.html`<${visuallyHiddenTag} role="alert" aria-atomic="true">
345
- ${(x) => `${x.locale.dialPad.errorLabel} ${x._errorAnnouncement}`}
346
- </${visuallyHiddenTag}>`;
347
- }
348
- var DialPadTemplate = (context) => {
349
- const buttonTag = context.tagFor(require_definition$1.Button);
350
- const iconTag = context.tagFor(require_definition.Icon);
351
- const textFieldTag = context.tagFor(require_definition$3.TextField);
352
- const visuallyHiddenTag = context.tagFor(require_definition$2.VisuallyHidden);
353
- return _microsoft_fast_element.html` <div
354
- class="${(x) => (0, _microsoft_fast_web_utilities.classNames)("base", [`size-${x.size}`, Boolean(x.size)], ["no-input", x.noInput])}"
355
- >
356
- ${(0, _microsoft_fast_element.when)((x) => !x.noInput, renderTextField(textFieldTag, buttonTag))}
357
- <div class="digits">${renderDigits(buttonTag, iconTag)}</div>
358
- ${(0, _microsoft_fast_element.when)((x) => !x.noCall, renderDialButton(buttonTag))}
359
- ${renderErrorAnnouncement(visuallyHiddenTag)}
360
- </div>`;
145
+ };
146
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: ValidDateTimeFilter })], DateTimePicker.prototype, "min", void 0);
147
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
148
+ converter: require_time_selection_picker_template.ValidTimeFilter,
149
+ attribute: "min-time"
150
+ })], DateTimePicker.prototype, "minTime", void 0);
151
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
152
+ converter: require_calendar_picker_template.ValidDateFilter,
153
+ attribute: "min-date"
154
+ })], DateTimePicker.prototype, "minDate", void 0);
155
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: ValidDateTimeFilter })], DateTimePicker.prototype, "max", void 0);
156
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
157
+ converter: require_time_selection_picker_template.ValidTimeFilter,
158
+ attribute: "max-time"
159
+ })], DateTimePicker.prototype, "maxTime", void 0);
160
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
161
+ converter: require_calendar_picker_template.ValidDateFilter,
162
+ attribute: "max-date"
163
+ })], DateTimePicker.prototype, "maxDate", void 0);
164
+ //#endregion
165
+ //#region src/lib/date-time-picker/date-time-picker.template.ts
166
+ var DateTimePickerTemplate = (context) => {
167
+ return require_picker_field_template.PickerFieldTemplate(context, _microsoft_fast_element.html`
168
+ <div class="date-time-picker">
169
+ ${() => require_calendar_picker_template.CalendarPickerTemplate(context)}
170
+ <div class="time-picker">
171
+ ${() => require_time_selection_picker_template.TimeSelectionPickerTemplate(context, 9)}
172
+ </div>
173
+ </div>
174
+ `, {
175
+ withSeparator: false,
176
+ padded: false
177
+ });
361
178
  };
362
179
  //#endregion
363
- //#region src/lib/dial-pad/definition.ts
180
+ //#region src/lib/date-time-picker/definition.ts
364
181
  /** @internal */
365
- var dialPadDefinition = require_vivid_element.defineVividComponent("dial-pad", DialPad, DialPadTemplate, [
366
- require_definition$1.buttonDefinition,
182
+ var dateTimePickerDefinition = require_vivid_element.defineVividComponent("date-time-picker", DateTimePicker, DateTimePickerTemplate, [
183
+ require_definition.buttonDefinition,
184
+ require_definition$1.popupDefinition,
367
185
  require_definition$3.textFieldDefinition,
368
- require_definition.iconDefinition,
186
+ require_definition$4.dividerDefinition,
187
+ require_time_selection_picker_template.inlineTimePickerDefinition,
369
188
  require_definition$2.visuallyHiddenDefinition
370
- ], { styles: dial_pad_default });
189
+ ], {
190
+ styles: [
191
+ require_picker_field_template.picker_field_default,
192
+ require_calendar_picker_template.calendar_picker_default,
193
+ date_time_picker_default
194
+ ],
195
+ shadowOptions: { delegatesFocus: true }
196
+ });
371
197
  /**
372
- * Registers the dial-pad element with the design system.
198
+ * Registers the date-time-picker element with the design system.
373
199
  *
374
200
  * @param prefix - the prefix to use for the component name
375
201
  */
376
- var registerDialPad = require_vivid_element.createRegisterFunction(dialPadDefinition);
202
+ var registerDateTimePicker = require_vivid_element.createRegisterFunction(dateTimePickerDefinition);
377
203
  //#endregion
378
- Object.defineProperty(exports, "DialPad", {
204
+ Object.defineProperty(exports, "DateTimePicker", {
379
205
  enumerable: true,
380
206
  get: function() {
381
- return DialPad;
207
+ return DateTimePicker;
382
208
  }
383
209
  });
384
- Object.defineProperty(exports, "dialPadDefinition", {
210
+ Object.defineProperty(exports, "dateTimePickerDefinition", {
385
211
  enumerable: true,
386
212
  get: function() {
387
- return dialPadDefinition;
213
+ return dateTimePickerDefinition;
388
214
  }
389
215
  });
390
- Object.defineProperty(exports, "registerDialPad", {
216
+ Object.defineProperty(exports, "registerDateTimePicker", {
391
217
  enumerable: true,
392
218
  get: function() {
393
- return registerDialPad;
219
+ return registerDateTimePicker;
394
220
  }
395
221
  });