@vonage/vivid 5.16.0 → 5.18.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 (564) hide show
  1. package/accordion/definition.cjs +6 -6
  2. package/accordion/definition.js +1 -1
  3. package/accordion/index.cjs +1 -1
  4. package/accordion/index.js +2 -2
  5. package/accordion-item/definition.cjs +5 -5
  6. package/accordion-item/definition.js +1 -1
  7. package/accordion-item/index.cjs +1 -1
  8. package/accordion-item/index.js +2 -2
  9. package/action-group/index.cjs +3 -3
  10. package/action-group/index.js +5 -5
  11. package/alert/definition.cjs +5 -5
  12. package/alert/definition.js +1 -1
  13. package/alert/index.cjs +3 -3
  14. package/alert/index.js +15 -14
  15. package/audio-player/definition.cjs +5 -5
  16. package/audio-player/definition.js +1 -1
  17. package/audio-player/index.cjs +16 -16
  18. package/audio-player/index.js +29 -28
  19. package/avatar/definition.cjs +5 -5
  20. package/avatar/definition.js +1 -1
  21. package/avatar/index.cjs +4 -4
  22. package/avatar/index.js +12 -11
  23. package/badge/definition.cjs +5 -5
  24. package/badge/definition.js +1 -1
  25. package/badge/index.cjs +1 -4
  26. package/badge/index.js +4 -20
  27. package/banner/definition.cjs +5 -5
  28. package/banner/definition.js +1 -1
  29. package/banner/index.cjs +3 -3
  30. package/banner/index.js +14 -13
  31. package/breadcrumb-item/definition.cjs +4 -4
  32. package/breadcrumb-item/definition.js +1 -1
  33. package/breadcrumb-item/index.cjs +1 -1
  34. package/breadcrumb-item/index.js +1 -0
  35. package/bundled/affix.cjs +1 -1
  36. package/bundled/affix.js +5 -5
  37. package/bundled/base-color-picker.cjs +2 -2
  38. package/bundled/base-color-picker.js +5 -5
  39. package/bundled/button.cjs +1 -1
  40. package/bundled/button.js +2 -2
  41. package/bundled/calendar-picker.template.cjs +2 -2
  42. package/bundled/calendar-picker.template.js +498 -498
  43. package/bundled/definition10.cjs +18 -30
  44. package/bundled/definition10.js +53 -155
  45. package/bundled/definition11.cjs +10 -19
  46. package/bundled/definition11.js +25 -74
  47. package/bundled/definition12.cjs +72 -18
  48. package/bundled/definition12.js +171 -107
  49. package/bundled/definition13.cjs +18 -17
  50. package/bundled/definition13.js +46 -66
  51. package/bundled/definition14.cjs +5 -10
  52. package/bundled/definition14.js +9 -27
  53. package/bundled/definition15.cjs +17 -71
  54. package/bundled/definition15.js +64 -181
  55. package/bundled/definition16.cjs +12 -4
  56. package/bundled/definition16.js +79 -14
  57. package/bundled/definition17.cjs +19 -13
  58. package/bundled/definition17.js +118 -69
  59. package/bundled/definition18.cjs +87 -12
  60. package/bundled/definition18.js +409 -52
  61. package/bundled/definition19.cjs +5 -87
  62. package/bundled/definition19.js +14 -422
  63. package/bundled/definition2.cjs +3 -14
  64. package/bundled/definition2.js +16 -49
  65. package/bundled/definition20.cjs +30 -5
  66. package/bundled/definition20.js +159 -9
  67. package/bundled/definition21.cjs +28 -19
  68. package/bundled/definition21.js +164 -47
  69. package/bundled/definition22.cjs +4 -24
  70. package/bundled/definition22.js +18 -88
  71. package/bundled/definition23.cjs +12 -0
  72. package/bundled/definition23.js +37 -0
  73. package/bundled/definition24.cjs +39 -0
  74. package/bundled/definition24.js +72 -0
  75. package/bundled/definition3.cjs +1 -1
  76. package/bundled/definition3.js +24 -21
  77. package/bundled/definition4.cjs +23 -38
  78. package/bundled/definition4.js +81 -63
  79. package/bundled/definition5.cjs +2 -2
  80. package/bundled/definition5.js +5 -5
  81. package/bundled/definition6.cjs +11 -11
  82. package/bundled/definition6.js +57 -41
  83. package/bundled/definition9.cjs +12 -30
  84. package/bundled/definition9.js +55 -148
  85. package/bundled/divider.cjs +1 -1
  86. package/bundled/divider.js +5 -5
  87. package/bundled/listbox.cjs +1 -1
  88. package/bundled/listbox.js +1 -1
  89. package/bundled/localized.cjs +1 -1
  90. package/bundled/localized.js +1 -0
  91. package/bundled/mixins.cjs +5 -5
  92. package/bundled/mixins.js +49 -49
  93. package/bundled/numberConverter.cjs +12 -0
  94. package/bundled/numberConverter.js +38 -0
  95. package/bundled/picker-field.template.cjs +8 -7
  96. package/bundled/picker-field.template.js +16 -15
  97. package/bundled/slider.template.cjs +7 -7
  98. package/bundled/slider.template.js +12 -12
  99. package/bundled/slottable-request.cjs +1 -1
  100. package/bundled/slottable-request.js +8 -38
  101. package/bundled/time-selection-picker.template.cjs +4 -4
  102. package/bundled/time-selection-picker.template.js +35 -35
  103. package/bundled/utils.cjs +1 -0
  104. package/bundled/utils.js +1420 -0
  105. package/bundled/vivid-element.cjs +1 -1
  106. package/bundled/vivid-element.js +1 -1
  107. package/button/definition.cjs +5 -5
  108. package/button/definition.js +1 -1
  109. package/button/index.cjs +1 -1
  110. package/button/index.js +1 -1
  111. package/calendar/index.cjs +11 -11
  112. package/calendar/index.js +30 -237
  113. package/calendar-event/index.cjs +3 -3
  114. package/calendar-event/index.js +4 -4
  115. package/card/definition.cjs +5 -5
  116. package/card/definition.js +1 -1
  117. package/card/index.cjs +15 -12
  118. package/card/index.js +17 -13
  119. package/checkbox/definition.cjs +5 -5
  120. package/checkbox/definition.js +1 -1
  121. package/checkbox/index.cjs +1 -1
  122. package/checkbox/index.js +2 -2
  123. package/color-picker/definition.cjs +5 -5
  124. package/color-picker/definition.js +2 -2
  125. package/color-picker/index.cjs +10 -10
  126. package/color-picker/index.js +58 -57
  127. package/combobox/definition.cjs +5 -5
  128. package/combobox/definition.js +2 -2
  129. package/combobox/index.cjs +9 -8
  130. package/combobox/index.js +40 -35
  131. package/contextual-help/definition.cjs +5 -5
  132. package/contextual-help/definition.js +2 -2
  133. package/contextual-help/index.cjs +1 -1
  134. package/contextual-help/index.js +2 -2
  135. package/country/definition.cjs +5 -5
  136. package/country/definition.js +1 -1
  137. package/country/index.cjs +1 -12
  138. package/country/index.js +4 -1216
  139. package/country-group/definition.cjs +6 -0
  140. package/country-group/definition.js +3 -0
  141. package/country-group/index.cjs +43 -0
  142. package/country-group/index.js +166 -0
  143. package/custom-elements.json +1274 -200
  144. package/data-grid/definition.cjs +9 -9
  145. package/data-grid/definition.js +2 -2
  146. package/data-grid/index.cjs +18 -18
  147. package/data-grid/index.js +260 -262
  148. package/date-picker/definition.cjs +5 -5
  149. package/date-picker/definition.js +2 -2
  150. package/date-picker/index.cjs +1 -1
  151. package/date-picker/index.js +13 -13
  152. package/date-range-picker/definition.cjs +5 -5
  153. package/date-range-picker/definition.js +2 -2
  154. package/date-range-picker/index.cjs +1 -1
  155. package/date-range-picker/index.js +8 -8
  156. package/date-time-picker/definition.cjs +5 -5
  157. package/date-time-picker/definition.js +2 -2
  158. package/date-time-picker/index.cjs +4 -4
  159. package/date-time-picker/index.js +25 -25
  160. package/dial-pad/definition.cjs +5 -5
  161. package/dial-pad/definition.js +2 -2
  162. package/dial-pad/index.cjs +6 -5
  163. package/dial-pad/index.js +14 -12
  164. package/dialog/definition.cjs +5 -5
  165. package/dialog/definition.js +2 -2
  166. package/dialog/index.cjs +6 -6
  167. package/dialog/index.js +17 -16
  168. package/divider/definition.cjs +1 -1
  169. package/divider/definition.js +1 -1
  170. package/divider/index.cjs +1 -1
  171. package/divider/index.js +1 -1
  172. package/empty-state/definition.cjs +5 -5
  173. package/empty-state/definition.js +2 -2
  174. package/empty-state/index.cjs +2 -2
  175. package/empty-state/index.js +6 -5
  176. package/fab/definition.cjs +5 -5
  177. package/fab/definition.js +2 -2
  178. package/fab/index.cjs +4 -4
  179. package/fab/index.js +13 -12
  180. package/file-picker/definition.cjs +5 -5
  181. package/file-picker/definition.js +2 -2
  182. package/file-picker/index.cjs +20 -17
  183. package/file-picker/index.js +40 -36
  184. package/flag/definition.cjs +6 -0
  185. package/flag/definition.js +3 -0
  186. package/flag/index.cjs +10 -0
  187. package/flag/index.js +61 -0
  188. package/header/definition.cjs +1 -1
  189. package/header/definition.js +1 -1
  190. package/header/index.cjs +4 -4
  191. package/header/index.js +5 -5
  192. package/icon/definition.cjs +1 -0
  193. package/icon/definition.js +1 -0
  194. package/icon/index.cjs +1 -1
  195. package/icon/index.js +1 -0
  196. package/index.cjs +204 -192
  197. package/index.js +55 -52
  198. package/layout/definition.cjs +1 -1
  199. package/layout/definition.js +1 -1
  200. package/lib/button/button.d.ts +1 -0
  201. package/lib/combobox/combobox.d.ts +0 -3
  202. package/lib/components.d.ts +2 -0
  203. package/lib/country/countries-data.d.ts +1 -0
  204. package/lib/country/{country-code-to-flag-icon.d.ts → utils.d.ts} +0 -3
  205. package/lib/country-group/country-group.d.ts +829 -0
  206. package/lib/country-group/country-group.template.d.ts +3 -0
  207. package/lib/country-group/definition.d.ts +3 -0
  208. package/lib/country-group/index.d.ts +1 -0
  209. package/lib/country-group/locale.d.ts +3 -0
  210. package/lib/date-picker/date-picker.d.ts +4 -0
  211. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  212. package/lib/date-time-picker/date-time-picker.d.ts +4 -4
  213. package/lib/dial-pad/dial-pad.d.ts +6 -2
  214. package/lib/dialog/dialog.d.ts +0 -1
  215. package/lib/flag/definition.d.ts +3 -0
  216. package/lib/flag/flag.d.ts +8 -0
  217. package/lib/flag/flag.template.d.ts +3 -0
  218. package/lib/flag/index.d.ts +1 -0
  219. package/lib/icon/icon.d.ts +1 -2
  220. package/lib/menu/menu.d.ts +0 -1
  221. package/lib/option/option.d.ts +0 -1
  222. package/lib/rich-text-editor/rte/exports.d.ts +1 -0
  223. package/lib/rich-text-editor/rte/features/alignment.d.ts +1 -1
  224. package/lib/rich-text-editor/rte/features/character-count.d.ts +21 -0
  225. package/lib/rich-text-editor/rte/features/font-size-picker.d.ts +1 -1
  226. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  227. package/lib/rich-text-editor/rte/features/keyboard-shortcuts.d.ts +1 -1
  228. package/lib/rich-text-editor/rte/features/text-color-picker.d.ts +1 -1
  229. package/lib/rich-text-editor/rte/public-interface.d.ts +6 -0
  230. package/lib/searchable-select/option-tag.d.ts +3 -2
  231. package/lib/searchable-select/searchable-select.d.ts +3 -1
  232. package/lib/table/definition.d.ts +2 -1
  233. package/lib/table/table-header-cell.d.ts +3 -0
  234. package/lib/table/table-sorting-button.d.ts +415 -0
  235. package/lib/table/table-sorting-button.template.d.ts +3 -0
  236. package/lib/tag-name-map.d.ts +2 -1
  237. package/lib/time-picker/time-picker.d.ts +2 -0
  238. package/locales/de-DE.cjs +5 -178
  239. package/locales/de-DE.js +3 -179
  240. package/locales/en-GB.cjs +5 -9
  241. package/locales/en-GB.js +3 -10
  242. package/locales/en-US.cjs +269 -2
  243. package/locales/en-US.js +266 -1
  244. package/locales/ja-JP.cjs +5 -171
  245. package/locales/ja-JP.js +3 -172
  246. package/locales/zh-CN.cjs +5 -172
  247. package/locales/zh-CN.js +3 -173
  248. package/menu/definition.cjs +5 -5
  249. package/menu/definition.js +1 -1
  250. package/menu/index.cjs +1 -1
  251. package/menu/index.js +2 -2
  252. package/menu-item/definition.cjs +6 -6
  253. package/menu-item/definition.js +1 -1
  254. package/menu-item/index.cjs +1 -1
  255. package/menu-item/index.js +2 -2
  256. package/nav/definition.cjs +1 -1
  257. package/nav/definition.js +1 -1
  258. package/nav-disclosure/definition.cjs +5 -5
  259. package/nav-disclosure/definition.js +2 -2
  260. package/nav-disclosure/index.cjs +4 -4
  261. package/nav-disclosure/index.js +13 -12
  262. package/nav-item/definition.cjs +5 -5
  263. package/nav-item/definition.js +2 -2
  264. package/nav-item/index.cjs +2 -2
  265. package/nav-item/index.js +12 -11
  266. package/note/definition.cjs +5 -5
  267. package/note/definition.js +2 -2
  268. package/note/index.cjs +3 -3
  269. package/note/index.js +11 -10
  270. package/number-field/definition.cjs +5 -5
  271. package/number-field/definition.js +2 -2
  272. package/number-field/index.cjs +4 -4
  273. package/number-field/index.js +29 -28
  274. package/option/definition.cjs +5 -5
  275. package/option/definition.js +2 -2
  276. package/option/index.cjs +1 -1
  277. package/option/index.js +2 -2
  278. package/package.json +9 -10
  279. package/pagination/definition.cjs +5 -5
  280. package/pagination/definition.js +2 -2
  281. package/pagination/index.cjs +3 -3
  282. package/pagination/index.js +16 -16
  283. package/popover/definition.cjs +5 -5
  284. package/popover/definition.js +2 -2
  285. package/popover/index.cjs +7 -7
  286. package/popover/index.js +12 -11
  287. package/popup/definition.cjs +4 -4
  288. package/popup/definition.js +1 -1
  289. package/popup/index.cjs +1 -1
  290. package/popup/index.js +1 -1
  291. package/progress/definition.cjs +1 -1
  292. package/progress/definition.js +1 -1
  293. package/progress/index.cjs +2 -2
  294. package/progress/index.js +5 -5
  295. package/radio/definition.cjs +1 -1
  296. package/radio/definition.js +1 -1
  297. package/radio/index.cjs +1 -1
  298. package/radio/index.js +1 -1
  299. package/radio-group/definition.cjs +5 -5
  300. package/radio-group/definition.js +2 -2
  301. package/radio-group/index.cjs +4 -4
  302. package/radio-group/index.js +11 -11
  303. package/range-slider/definition.cjs +5 -5
  304. package/range-slider/definition.js +2 -2
  305. package/range-slider/index.cjs +4 -4
  306. package/range-slider/index.js +39 -36
  307. package/rich-text-editor/definition.cjs +32 -31
  308. package/rich-text-editor/definition.js +3 -3
  309. package/rich-text-editor/index.cjs +13 -13
  310. package/rich-text-editor/index.js +1887 -1830
  311. package/rich-text-view/definition.cjs +1 -1
  312. package/rich-text-view/definition.js +1 -1
  313. package/rich-text-view/index.cjs +1 -1
  314. package/rich-text-view/index.js +8 -8
  315. package/searchable-select/definition.cjs +4 -4
  316. package/searchable-select/definition.js +2 -2
  317. package/searchable-select/index.cjs +15 -13
  318. package/searchable-select/index.js +75 -72
  319. package/select/definition.cjs +5 -5
  320. package/select/definition.js +2 -2
  321. package/select/index.cjs +1 -1
  322. package/select/index.js +2 -2
  323. package/selectable-box/definition.cjs +5 -5
  324. package/selectable-box/definition.js +2 -2
  325. package/selectable-box/index.cjs +7 -7
  326. package/selectable-box/index.js +12 -12
  327. package/shared/foundation/test-utilities/fixture.d.ts +1 -1
  328. package/shared/icon/utils.d.ts +1 -0
  329. package/shared/localization/Locale.d.ts +2 -0
  330. package/shared/patterns/linkable.d.ts +1 -1
  331. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  332. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  333. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  334. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  335. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  336. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  337. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  338. package/shared/picker-field/picker-field.d.ts +2 -0
  339. package/side-drawer/definition.cjs +1 -1
  340. package/side-drawer/definition.js +1 -1
  341. package/simple-color-picker/definition.cjs +5 -5
  342. package/simple-color-picker/definition.js +2 -2
  343. package/simple-color-picker/index.cjs +3 -3
  344. package/simple-color-picker/index.js +15 -14
  345. package/slider/definition.cjs +5 -5
  346. package/slider/definition.js +1 -1
  347. package/slider/index.cjs +1 -1
  348. package/slider/index.js +1 -1
  349. package/split-button/definition.cjs +5 -5
  350. package/split-button/definition.js +2 -2
  351. package/split-button/index.cjs +6 -6
  352. package/split-button/index.js +17 -16
  353. package/status/definition.cjs +5 -5
  354. package/status/definition.js +2 -2
  355. package/status/index.cjs +2 -2
  356. package/status/index.js +11 -10
  357. package/switch/definition.cjs +5 -5
  358. package/switch/definition.js +2 -2
  359. package/switch/index.cjs +4 -4
  360. package/switch/index.js +11 -10
  361. package/tab/definition.cjs +5 -5
  362. package/tab/definition.js +2 -2
  363. package/tab/index.cjs +1 -1
  364. package/tab/index.js +2 -2
  365. package/tab-panel/definition.cjs +1 -1
  366. package/tab-panel/definition.js +1 -1
  367. package/tab-panel/index.cjs +1 -1
  368. package/tab-panel/index.js +1 -1
  369. package/table/definition.cjs +4 -1
  370. package/table/definition.js +3 -2
  371. package/table/index.cjs +19 -10
  372. package/table/index.js +70 -21
  373. package/tabs/definition.cjs +6 -6
  374. package/tabs/definition.js +2 -2
  375. package/tabs/index.cjs +2 -2
  376. package/tabs/index.js +5 -5
  377. package/tag/definition.cjs +5 -5
  378. package/tag/definition.js +2 -2
  379. package/tag/index.cjs +8 -8
  380. package/tag/index.js +14 -13
  381. package/tag-group/definition.cjs +1 -1
  382. package/tag-group/definition.js +1 -1
  383. package/tag-group/index.cjs +3 -3
  384. package/tag-group/index.js +5 -5
  385. package/text-area/definition.cjs +5 -5
  386. package/text-area/definition.js +2 -2
  387. package/text-area/index.cjs +2 -2
  388. package/text-area/index.js +13 -13
  389. package/text-field/definition.cjs +5 -5
  390. package/text-field/definition.js +2 -2
  391. package/text-field/index.cjs +1 -1
  392. package/text-field/index.js +2 -2
  393. package/time-picker/definition.cjs +4 -4
  394. package/time-picker/definition.js +2 -2
  395. package/time-picker/index.cjs +1 -1
  396. package/time-picker/index.js +2 -2
  397. package/toggletip/definition.cjs +5 -5
  398. package/toggletip/definition.js +2 -2
  399. package/toggletip/index.cjs +1 -1
  400. package/toggletip/index.js +2 -2
  401. package/tooltip/definition.cjs +5 -5
  402. package/tooltip/definition.js +2 -2
  403. package/tooltip/index.cjs +1 -1
  404. package/tooltip/index.js +2 -2
  405. package/tree-item/definition.cjs +5 -5
  406. package/tree-item/definition.js +2 -2
  407. package/tree-item/index.cjs +1 -1
  408. package/tree-item/index.js +2 -2
  409. package/tree-view/definition.cjs +5 -5
  410. package/tree-view/definition.js +2 -2
  411. package/tree-view/index.cjs +3 -3
  412. package/tree-view/index.js +18 -18
  413. package/unbundled/button.cjs +2 -2
  414. package/unbundled/button.js +2 -2
  415. package/unbundled/calendar-picker.template.cjs +4347 -9
  416. package/unbundled/calendar-picker.template.js +4345 -7
  417. package/unbundled/chunk.cjs +0 -22
  418. package/unbundled/definition11.cjs +6 -0
  419. package/unbundled/definition11.js +6 -0
  420. package/unbundled/definition13.cjs +1 -8
  421. package/unbundled/definition13.js +1 -8
  422. package/unbundled/definition14.cjs +3 -2
  423. package/unbundled/definition14.js +3 -2
  424. package/unbundled/definition2.cjs +5 -75
  425. package/unbundled/definition2.js +1 -71
  426. package/unbundled/definition21.cjs +1 -2
  427. package/unbundled/definition21.js +1 -2
  428. package/unbundled/definition22.cjs +7 -2
  429. package/unbundled/definition22.js +7 -2
  430. package/unbundled/definition24.cjs +98 -979
  431. package/unbundled/definition24.js +93 -974
  432. package/unbundled/definition25.cjs +37 -322
  433. package/unbundled/definition25.js +33 -318
  434. package/unbundled/definition26.cjs +317 -91
  435. package/unbundled/definition26.js +313 -87
  436. package/unbundled/definition27.cjs +94 -192
  437. package/unbundled/definition27.js +91 -183
  438. package/unbundled/definition28.cjs +388 -395
  439. package/unbundled/definition28.js +388 -395
  440. package/unbundled/definition29.cjs +189 -110
  441. package/unbundled/definition29.js +180 -107
  442. package/unbundled/definition30.cjs +520 -36
  443. package/unbundled/definition30.js +519 -35
  444. package/unbundled/definition31.cjs +2 -1189
  445. package/unbundled/definition31.js +1 -1188
  446. package/unbundled/definition32.cjs +207 -1835
  447. package/unbundled/definition32.js +203 -1807
  448. package/unbundled/definition33.cjs +85 -228
  449. package/unbundled/definition33.js +82 -165
  450. package/unbundled/definition34.cjs +1887 -25
  451. package/unbundled/definition34.js +1857 -24
  452. package/unbundled/definition35.cjs +315 -121
  453. package/unbundled/definition35.js +236 -114
  454. package/unbundled/definition36.cjs +25 -405
  455. package/unbundled/definition36.js +22 -397
  456. package/unbundled/definition37.cjs +49 -140
  457. package/unbundled/definition37.js +46 -137
  458. package/unbundled/definition38.cjs +346 -329
  459. package/unbundled/definition38.js +343 -326
  460. package/unbundled/definition39.cjs +183 -234
  461. package/unbundled/definition39.js +181 -232
  462. package/unbundled/definition40.cjs +377 -47
  463. package/unbundled/definition40.js +372 -42
  464. package/unbundled/definition41.cjs +256 -57
  465. package/unbundled/definition41.js +255 -56
  466. package/unbundled/definition42.cjs +45 -421
  467. package/unbundled/definition42.js +41 -417
  468. package/unbundled/definition43.cjs +63 -49
  469. package/unbundled/definition43.js +61 -47
  470. package/unbundled/definition44.cjs +438 -30
  471. package/unbundled/definition44.js +434 -25
  472. package/unbundled/definition45.cjs +46 -84
  473. package/unbundled/definition45.js +43 -81
  474. package/unbundled/definition46.cjs +29 -54
  475. package/unbundled/definition46.js +24 -50
  476. package/unbundled/definition47.cjs +93 -21
  477. package/unbundled/definition47.js +91 -16
  478. package/unbundled/definition48.cjs +49 -33
  479. package/unbundled/definition48.js +46 -30
  480. package/unbundled/definition49.cjs +22 -347
  481. package/unbundled/definition49.js +16 -344
  482. package/unbundled/definition50.cjs +34 -211
  483. package/unbundled/definition50.js +30 -207
  484. package/unbundled/definition51.cjs +282 -242
  485. package/unbundled/definition51.js +275 -235
  486. package/unbundled/definition52.cjs +211 -51
  487. package/unbundled/definition52.js +209 -48
  488. package/unbundled/definition53.cjs +275 -131
  489. package/unbundled/definition53.js +272 -127
  490. package/unbundled/definition54.cjs +50 -261
  491. package/unbundled/definition54.js +48 -260
  492. package/unbundled/definition55.cjs +126 -443
  493. package/unbundled/definition55.js +123 -441
  494. package/unbundled/definition56.cjs +238 -12669
  495. package/unbundled/definition56.js +232 -12506
  496. package/unbundled/definition57.cjs +408 -729
  497. package/unbundled/definition57.js +406 -727
  498. package/unbundled/definition58.cjs +3619 -106
  499. package/unbundled/definition58.js +3449 -99
  500. package/unbundled/definition59.cjs +625 -868
  501. package/unbundled/definition59.js +620 -863
  502. package/unbundled/definition60.cjs +106 -108
  503. package/unbundled/definition60.js +102 -104
  504. package/unbundled/definition61.cjs +1040 -71
  505. package/unbundled/definition61.js +1035 -65
  506. package/unbundled/definition62.cjs +105 -169
  507. package/unbundled/definition62.js +101 -165
  508. package/unbundled/definition63.cjs +70 -113
  509. package/unbundled/definition63.js +65 -109
  510. package/unbundled/definition64.cjs +181 -53
  511. package/unbundled/definition64.js +178 -50
  512. package/unbundled/definition65.cjs +109 -76
  513. package/unbundled/definition65.js +109 -75
  514. package/unbundled/definition66.cjs +58 -21
  515. package/unbundled/definition66.js +55 -15
  516. package/unbundled/definition67.cjs +81 -74
  517. package/unbundled/definition67.js +79 -73
  518. package/unbundled/definition68.cjs +19 -344
  519. package/unbundled/definition68.js +14 -335
  520. package/unbundled/definition69.cjs +88 -26
  521. package/unbundled/definition69.js +85 -22
  522. package/unbundled/definition7.cjs +18 -3
  523. package/unbundled/definition7.js +18 -3
  524. package/unbundled/definition70.cjs +330 -111
  525. package/unbundled/definition70.js +320 -108
  526. package/unbundled/definition71.cjs +26 -271
  527. package/unbundled/definition71.js +21 -267
  528. package/unbundled/definition72.cjs +134 -28
  529. package/unbundled/definition72.js +125 -26
  530. package/unbundled/definition73.cjs +245 -113
  531. package/unbundled/definition73.js +242 -104
  532. package/unbundled/definition74.cjs +28 -212
  533. package/unbundled/definition74.js +26 -202
  534. package/unbundled/definition75.cjs +120 -52190
  535. package/unbundled/definition75.js +112 -52188
  536. package/unbundled/definition76.cjs +232 -0
  537. package/unbundled/definition76.js +213 -0
  538. package/unbundled/definition77.cjs +533 -0
  539. package/unbundled/definition77.js +513 -0
  540. package/unbundled/listbox.cjs +1 -1
  541. package/unbundled/listbox.js +1 -1
  542. package/unbundled/localized.cjs +2 -2
  543. package/unbundled/localized.js +1 -1
  544. package/unbundled/numberConverter.cjs +91 -0
  545. package/unbundled/numberConverter.js +74 -0
  546. package/unbundled/picker-field.template.cjs +3 -1
  547. package/unbundled/picker-field.template.js +3 -1
  548. package/unbundled/slottable-request.cjs +2 -3168
  549. package/unbundled/slottable-request.js +3 -3097
  550. package/unbundled/time-selection-picker.template.cjs +1 -1
  551. package/unbundled/time-selection-picker.template.js +1 -1
  552. package/unbundled/utils.cjs +1439 -0
  553. package/unbundled/utils.js +1428 -0
  554. package/unbundled/vivid-element.cjs +1 -1
  555. package/unbundled/vivid-element.js +1 -1
  556. package/video-player/definition.cjs +1 -1
  557. package/video-player/definition.js +1 -1
  558. package/video-player/index.cjs +3 -3
  559. package/video-player/index.js +9 -9
  560. package/vivid.api.json +860 -409
  561. package/unbundled/chunk.js +0 -33
  562. package/unbundled/en-US.cjs +0 -447
  563. package/unbundled/en-US.js +0 -443
  564. /package/{lib/icon/icon.placeholder.d.ts → shared/icon/icon-placeholder.d.ts} +0 -0
@@ -1,391 +1,408 @@
1
- import { o as defineVividComponent, s as createRegisterFunction, t as VividElement } from "./vivid-element.js";
2
- import { n as visuallyHiddenDefinition, r as VisuallyHidden } from "./definition.js";
3
- import { r as Icon, t as iconDefinition } from "./definition2.js";
1
+ import { o as defineVividComponent, s as createRegisterFunction } from "./vivid-element.js";
2
+ import { n as visuallyHiddenDefinition } from "./definition.js";
4
3
  import { t as __decorate } from "./decorate.js";
5
- import { t as Localized } from "./localized.js";
6
- import { i as Button, t as buttonDefinition } from "./definition7.js";
7
- import { n as textFieldDefinition, r as TextField } from "./definition25.js";
8
- import { attr, html, observable, ref, repeat, when } from "@microsoft/fast-element";
9
- import { classNames, keyEnter } from "@microsoft/fast-web-utilities";
10
- //#region src/lib/dial-pad/dial-pad.scss?inline
11
- 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-top:32px}";
4
+ import { t as buttonDefinition } from "./definition7.js";
5
+ import { t as popupDefinition } from "./definition10.js";
6
+ import { n as textFieldDefinition } from "./definition26.js";
7
+ import { t as dividerDefinition } from "./definition36.js";
8
+ import { n as PickerField, r as picker_field_default, t as PickerFieldTemplate } from "./picker-field.template.js";
9
+ import { a as formatPresentationDate, i as CalendarPicker, l as isValidDateStr, n as MinMaxCalendarPicker, o as parsePresentationDate, s as compareDateStr, t as CalendarPickerTemplate, u as calendar_picker_default } from "./calendar-picker.template.js";
10
+ import { attr, observable, volatile } from "@microsoft/fast-element";
11
+ //#region src/shared/datetime/presentationDateRange.ts
12
+ var formatRange = (from, to) => {
13
+ return `${from} – ${to}`;
14
+ };
15
+ var formatPresentationDateRange = (dateRange, locale) => {
16
+ return formatRange(formatPresentationDate(dateRange.start, locale), formatPresentationDate(dateRange.end, locale));
17
+ };
18
+ /**
19
+ * Parse a presentation date range, which combines two presentation dates with a dash.
20
+ * Will throw if the range can't be parsed
21
+ */
22
+ var parsePresentationDateRange = (presentationDateRange, locale) => {
23
+ const fragments = presentationDateRange.trim().split(/[\s—–-]+/);
24
+ if (fragments.length !== 2) throw new Error(`Invalid date range: ${presentationDateRange}`);
25
+ const [start, end] = fragments.map((fragment) => parsePresentationDate(fragment, locale));
26
+ return {
27
+ start,
28
+ end
29
+ };
30
+ };
12
31
  //#endregion
13
- //#region src/lib/dial-pad/dial-pad.ts
32
+ //#region src/lib/date-range-picker/date-range-picker.ts
33
+ var isFormAssociatedTryingToSetFormValue = (value) => typeof value === "string";
34
+ function isDefined(value) {
35
+ return !!value;
36
+ }
14
37
  /**
15
- * Base class for dial-pad
16
- *
17
38
  * @public
18
- * @component dial-pad
19
- * @event {CustomEvent<undefined>} change - Emitted when the text field value changes
20
- * @event {CustomEvent<undefined>} input - Emitted when the text field value changes
21
- * @event {CustomEvent<undefined>} blur - Emitted when the text field loses focus
22
- * @event {CustomEvent<undefined>} focus - Emitted when the text field receives focus
23
- * @event {CustomEvent<HTMLElement>}keypad-click - Emitted when a digit button is clicked
24
- * @event {CustomEvent<undefined>} dial - Emitted when the call button is clicked
25
- * @event {CustomEvent<undefined>} end-call - Emitted when the end call button is clicked
26
- * @vueModel modelValue value input `event.currentTarget.value`
27
- *
39
+ * @component date-range-picker
40
+ * @slot helper-text - Describes how to use the date-range-picker. Alternative to the `helper-text` attribute.
41
+ * @event {CustomEvent<undefined>} input:start - Event emitted when the start value changes
42
+ * @event {CustomEvent<undefined>} input:end - Event emitted when the end value changes
43
+ * @event {CustomEvent<undefined>} input - Emitted when either the start or end value changes
44
+ * @event {CustomEvent<undefined>} change - Emitted when either the start or end value changes
45
+ * @vueModel start start input:start `event.currentTarget.start`
46
+ * @vueModel end end input:end `event.currentTarget.end`
47
+ * @testAction selectDateRange selectDateRange
48
+ * @testQuery range range
28
49
  */
29
- var DialPad = class extends Localized(VividElement) {
50
+ var DateRangePicker = class extends MinMaxCalendarPicker(CalendarPicker(PickerField)) {
30
51
  constructor(..._args) {
31
52
  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.callActive ? this.$emit("end-call") : this.$emit("dial");
53
+ this.initialStart = "";
54
+ this.initialEnd = "";
55
+ this.start = "";
56
+ this.end = "";
57
+ this.setFormValue = (value, state) => {
58
+ if (isFormAssociatedTryingToSetFormValue(value)) return;
59
+ super.setFormValue(value, state);
51
60
  };
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();
61
+ this._numCalendars = 2;
62
+ this._hideDatesOutsideMonth = true;
63
+ this._textFieldSize = "30";
64
+ }
65
+ /**
66
+ * @internal
67
+ */
68
+ initialStartChanged() {
69
+ if (!this.dirtyValue) {
70
+ this.start = this.initialStart;
71
+ this.dirtyValue = false;
60
72
  }
61
73
  }
62
74
  /**
63
75
  * @internal
64
76
  */
65
- _startLongPress(digit, event) {
66
- if (this.disabled || this.callActive || digit !== "0") return;
67
- this._clearLongPressTimer();
68
- const target = event.currentTarget;
69
- this._longPressTimeoutId = window.setTimeout(() => {
70
- this._suppressNextClick = true;
71
- this.value += "+";
72
- this.$emit("keypad-click", target);
73
- this.$emit("input");
74
- this.$emit("change");
75
- }, 600);
77
+ initialEndChanged() {
78
+ if (!this.dirtyValue) {
79
+ this.end = this.initialEnd;
80
+ this.dirtyValue = false;
81
+ }
76
82
  }
83
+ #isInternalValueUpdate = false;
77
84
  /**
78
85
  * @internal
79
86
  */
80
- _startKeyboardLongPress() {
81
- if (this.disabled || this.callActive) return;
82
- if (this._longPressTimeoutId !== null) return;
83
- this._keyboardLongPressCompleted = false;
84
- this._longPressTimeoutId = window.setTimeout(() => {
85
- this._keyboardLongPressCompleted = true;
86
- this.value += "+";
87
- this.$emit("input");
88
- this.$emit("change");
89
- }, 650);
87
+ startChanged() {
88
+ if (this.start && !isValidDateStr(this.start)) {
89
+ this.start = "";
90
+ return;
91
+ }
92
+ this.currentStart = this.start;
93
+ this.dirtyValue = true;
94
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
90
95
  }
91
96
  /**
92
97
  * @internal
93
98
  */
94
- _endLongPress() {
95
- this._clearLongPressTimer();
96
- window.setTimeout(() => {
97
- if (this._suppressNextClick) this._suppressNextClick = false;
98
- }, 0);
99
+ endChanged() {
100
+ if (this.end && !isValidDateStr(this.end)) {
101
+ this.end = "";
102
+ return;
103
+ }
104
+ this.currentEnd = this.end;
105
+ this.dirtyValue = true;
106
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
99
107
  }
100
108
  /**
101
109
  * @internal
102
- * @returns true if long press completed (timer fired), false otherwise
103
110
  */
104
- _endKeyboardLongPress() {
105
- const wasLongPress = this._keyboardLongPressCompleted;
106
- this._clearLongPressTimer();
107
- window.setTimeout(() => {
108
- this._keyboardLongPressCompleted = false;
109
- }, 0);
110
- return wasLongPress;
111
+ currentStartChanged() {
112
+ this.start = this.currentStart;
111
113
  }
112
114
  /**
113
115
  * @internal
114
116
  */
115
- _cancelLongPress() {
116
- this._clearLongPressTimer();
117
+ currentEndChanged() {
118
+ this.end = this.currentEnd;
117
119
  }
118
- _clearLongPressTimer() {
119
- if (this._longPressTimeoutId !== null) {
120
- clearTimeout(this._longPressTimeoutId);
121
- this._longPressTimeoutId = null;
120
+ #updateValues(range) {
121
+ this.#isInternalValueUpdate = true;
122
+ if (range.start !== void 0) {
123
+ this.start = range.start;
124
+ this.$emit("input:start");
125
+ }
126
+ if (range.end !== void 0) {
127
+ this.end = range.end;
128
+ this.$emit("input:end");
122
129
  }
130
+ this.#isInternalValueUpdate = false;
131
+ this.$emit("input");
132
+ this.$emit("change");
133
+ this.#handleChangedValues();
134
+ }
135
+ #handleChangedValues() {
136
+ if (this.start && this.end) {
137
+ if (compareDateStr(this.start, this.end) > 0) {
138
+ this.#updateValues({
139
+ start: this.end,
140
+ end: this.start
141
+ });
142
+ return;
143
+ }
144
+ this.value = formatRange(this.start, this.end);
145
+ } else this.value = "";
146
+ this._updatePresentationValue();
147
+ const dateToEnsureVisibilityOf = this.start || this.end;
148
+ if (dateToEnsureVisibilityOf) this._adjustSelectedMonthToEnsureVisibilityOf(dateToEnsureVisibilityOf);
149
+ this.#updateFormValue();
123
150
  }
124
151
  /**
125
- * Moves focus into the Dial Pad. If `no-input` attribute is specified, it will be the first digit
126
- * button. Otherwise, the input field will be focused.
127
- *
128
- * @public
152
+ * @internal
129
153
  */
130
- focus() {
131
- const digitBtns = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
132
- (this._textFieldEl || digitBtns?.[0])?.focus();
154
+ _updatePresentationValue() {
155
+ if (this.start && this.end) this._presentationValue = formatPresentationDateRange({
156
+ start: this.start,
157
+ end: this.end
158
+ }, this.locale.calendarPicker);
159
+ else this._presentationValue = "";
133
160
  }
134
161
  /**
135
162
  * @internal
136
163
  */
137
- _announceValidationError(message) {
138
- this._errorAnnouncement = "";
139
- window.queueMicrotask(() => {
140
- if (message) {
141
- this._forceAnnouncementToggle = !this._forceAnnouncementToggle;
142
- this._errorAnnouncement = `${message}${this._forceAnnouncementToggle ? "​" : ""}`;
143
- } else this._clearErrorAnnouncement();
144
- });
164
+ nameChanged(previous, next) {
165
+ super.nameChanged(previous, next);
166
+ this.#updateFormValue();
167
+ }
168
+ #updateFormValue() {
169
+ if (!this.name || !this.start || !this.end) this.setFormValue(null);
170
+ else {
171
+ const formData = new FormData();
172
+ formData.append(this.name, this.start);
173
+ formData.append(this.name, this.end);
174
+ this.setFormValue(formData);
175
+ }
145
176
  }
146
177
  /**
147
178
  * @internal
148
179
  */
149
- _clearErrorAnnouncement() {
150
- this._errorAnnouncement = "";
151
- this._forceAnnouncementToggle = false;
180
+ connectedCallback() {
181
+ super.connectedCallback();
182
+ /* v8 ignore else -- @preserve */
183
+ if (!this.start) this.start = this.initialStart;
184
+ /* v8 ignore else -- @preserve */
185
+ if (!this.end) this.end = this.initialEnd;
152
186
  }
153
- };
154
- __decorate([attr({ attribute: "helper-text" })], DialPad.prototype, "helperText", void 0);
155
- __decorate([attr], DialPad.prototype, "placeholder", void 0);
156
- __decorate([attr({ mode: "fromView" })], DialPad.prototype, "value", void 0);
157
- __decorate([attr({ mode: "fromView" })], DialPad.prototype, "pattern", void 0);
158
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "disabled", void 0);
159
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "pending", void 0);
160
- __decorate([attr({
161
- attribute: "call-active",
162
- mode: "boolean"
163
- })], DialPad.prototype, "callActive", void 0);
164
- __decorate([attr({
165
- mode: "boolean",
166
- attribute: "no-call"
167
- })], DialPad.prototype, "noCall", void 0);
168
- __decorate([attr({
169
- mode: "boolean",
170
- attribute: "no-input"
171
- })], DialPad.prototype, "noInput", void 0);
172
- __decorate([attr({ attribute: "end-call-button-label" })], DialPad.prototype, "endCallButtonLabel", void 0);
173
- __decorate([attr({ attribute: "call-button-label" })], DialPad.prototype, "callButtonLabel", void 0);
174
- __decorate([attr({ attribute: "delete-aria-label" })], DialPad.prototype, "deleteAriaLabel", void 0);
175
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "autofocus", void 0);
176
- __decorate([observable], DialPad.prototype, "_errorAnnouncement", void 0);
177
- //#endregion
178
- //#region src/lib/dial-pad/dial-pad.template.ts
179
- var DialPadButton = class {
180
- constructor(value, label, ariaLabel, icon, id) {
181
- this.value = value;
182
- this.label = label;
183
- this.ariaLabel = ariaLabel;
184
- this.icon = icon;
185
- this.id = id;
187
+ #getVisibleRange() {
188
+ const candidates = [this.start, this.end].filter(isDefined);
189
+ const isPartialRange = candidates.length === 1;
190
+ if (this._hoverDate && isPartialRange) candidates.push(this._hoverDate);
191
+ const [start, end] = candidates.sort(compareDateStr);
192
+ return {
193
+ start,
194
+ end
195
+ };
186
196
  }
187
- };
188
- var DIAL_PAD_BUTTONS = [
189
- new DialPadButton("1", "&nbsp;", "digitOneLabel", "one-solid", "btn1"),
190
- new DialPadButton("2", "ABC", "digitTwoLabel", "two-solid", "btn2"),
191
- new DialPadButton("3", "DEF", "digitThreeLabel", "three-solid", "btn3"),
192
- new DialPadButton("4", "GHI", "digitFourLabel", "four-solid", "btn4"),
193
- new DialPadButton("5", "JKL", "digitFiveLabel", "five-solid", "btn5"),
194
- new DialPadButton("6", "MNO", "digitSixLabel", "six-solid", "btn6"),
195
- new DialPadButton("7", "PQRS", "digitSevenLabel", "seven-solid", "btn7"),
196
- new DialPadButton("8", "TUV", "digitEightLabel", "eight-solid", "btn8"),
197
- new DialPadButton("9", "WXYZ", "digitNineLabel", "nine-solid", "btn9"),
198
- new DialPadButton("*", null, "digitAsteriskLabel", "asterisk-2-solid", "btnAsterisk"),
199
- new DialPadButton("0", "+", "digitZeroLabel", "zero-solid", "btn0"),
200
- new DialPadButton("#", null, "digitHashtagLabel", "hashtag-solid", "btnHashtag")
201
- ];
202
- var getClasses = ({ noInput }) => classNames("base", ["no-input", Boolean(noInput)]);
203
- function handleKeyDown(x, e) {
204
- if (e.key === keyEnter && !x.pending && !x.disabled && !x.callActive && !x.noCall && x.value.length > 0 && e.target instanceof HTMLInputElement) x._onDial();
205
- else if (e.key === " " || e.key === "Space") {
206
- /* v8 ignore else -- @preserve */
207
- if (e.target instanceof HTMLInputElement) {
208
- e.preventDefault();
209
- /* v8 ignore else -- @preserve */
210
- if (!e.repeat) x._startKeyboardLongPress();
197
+ /**
198
+ * @internal
199
+ */
200
+ _isDateAriaSelected(date) {
201
+ return this._isDateInSelectedRange(date);
202
+ }
203
+ /**
204
+ * @internal
205
+ */
206
+ _isDateInSelectedRange(date) {
207
+ const { start, end } = this.#getVisibleRange();
208
+ if (start && end) return compareDateStr(date, start) >= 0 && compareDateStr(date, end) <= 0;
209
+ return false;
210
+ }
211
+ /**
212
+ * @internal
213
+ */
214
+ _isDateRangeStart(date) {
215
+ return date === this.#getVisibleRange().start;
216
+ }
217
+ /**
218
+ * @internal
219
+ */
220
+ _isDateRangeEnd(date) {
221
+ return date === this.#getVisibleRange().end;
222
+ }
223
+ /**
224
+ * @internal
225
+ */
226
+ _getSelectedDates() {
227
+ const dates = [];
228
+ if (this.start) dates.push(this.start);
229
+ if (this.end) dates.push(this.end);
230
+ return dates;
231
+ }
232
+ /**
233
+ * @internal
234
+ */
235
+ _onDateClick(date) {
236
+ if (this.start && this.end) this.#updateValues({
237
+ start: date,
238
+ end: ""
239
+ });
240
+ else if (this.start) {
241
+ this.#updateValues({ end: date });
242
+ this._closePopup();
243
+ } else if (this.end) {
244
+ this.#updateValues({ start: date });
245
+ this._closePopup();
246
+ } else this.#updateValues({ start: date });
247
+ }
248
+ /**
249
+ * @internal
250
+ */
251
+ get _textFieldPlaceholder() {
252
+ return formatRange(this.locale.calendarPicker.dateFormatPlaceholder, this.locale.calendarPicker.dateFormatPlaceholder);
253
+ }
254
+ /**
255
+ * @internal
256
+ */
257
+ _onTextFieldChange() {
258
+ if (this._presentationValue === "") {
259
+ this.#updateValues({
260
+ start: "",
261
+ end: ""
262
+ });
263
+ return;
211
264
  }
212
- } else {
213
- const elementIndex = DIAL_PAD_BUTTONS.findIndex((x) => x.value === e.key);
214
- if (elementIndex > -1) {
215
- const digit = x.shadowRoot.querySelector(".digits").children[elementIndex];
216
- /* v8 ignore else -- @preserve */
217
- if (digit) {
218
- digit.active = true;
219
- setTimeout(() => {
220
- digit.active = false;
221
- }, 200);
222
- }
265
+ try {
266
+ const { start, end } = parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
267
+ this.#updateValues({
268
+ start,
269
+ end
270
+ });
271
+ } catch (_) {
272
+ const invalidPresentationValue = this._presentationValue;
273
+ this.#updateValues({
274
+ start: "",
275
+ end: ""
276
+ });
277
+ this._presentationValue = invalidPresentationValue;
278
+ return;
223
279
  }
224
280
  }
225
- return true;
226
- }
227
- function handleKeyUp(x, e) {
228
- /* v8 ignore else -- @preserve */
229
- if (e.key === " " || e.key === "Space") {
230
- /* v8 ignore else -- @preserve */
231
- if (e.target instanceof HTMLInputElement) {
232
- e.preventDefault();
233
- if (!x._endKeyboardLongPress() && !x.disabled && !x.callActive) {
234
- x.value += " ";
235
- x.$emit("input");
236
- x.$emit("change");
237
- }
281
+ /**
282
+ * @internal
283
+ */
284
+ _onDateMouseEnter(date) {
285
+ this._hoverDate = date;
286
+ }
287
+ /**
288
+ * @internal
289
+ */
290
+ _onDateMouseLeave() {
291
+ this._hoverDate = void 0;
292
+ }
293
+ /**
294
+ * @internal
295
+ */
296
+ _getCustomValidationError() {
297
+ if (this._isPresentationValueInvalid()) return this.locale.calendarPicker.invalidDateRangeError;
298
+ if (this.min && this.start && compareDateStr(this.start, this.min) < 0) return this.locale.calendarPicker.startDateAfterMinDateError(formatPresentationDate(this.min, this.locale.calendarPicker));
299
+ if (this.max && this.end && compareDateStr(this.end, this.max) > 0) return this.locale.calendarPicker.endDateBeforeMaxDateError(formatPresentationDate(this.max, this.locale.calendarPicker));
300
+ return null;
301
+ }
302
+ /**
303
+ * @internal
304
+ */
305
+ _isPresentationValueInvalid() {
306
+ if (this._presentationValue === "") return false;
307
+ try {
308
+ parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
309
+ return false;
310
+ } catch (_) {
311
+ return true;
238
312
  }
239
313
  }
240
- return true;
241
- }
242
- function handleButtonKeyDown(digit, { parent: dialPad, event }) {
243
- /* v8 ignore else -- @preserve */
244
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
245
- event.preventDefault();
246
- /* v8 ignore else -- @preserve */
247
- if (!event.repeat) dialPad._startKeyboardLongPress();
314
+ /**
315
+ * @internal
316
+ */
317
+ _onClearClick() {
318
+ this.#updateValues({
319
+ start: "",
320
+ end: ""
321
+ });
322
+ super._onClearClick();
248
323
  }
249
- return true;
250
- }
251
- function handleButtonKeyUp(digit, { parent: dialPad, event }) {
252
- /* v8 ignore else -- @preserve */
253
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
254
- event.preventDefault();
255
- /* v8 ignore else -- @preserve */
256
- if (!dialPad._endKeyboardLongPress() && !dialPad.disabled && !dialPad.callActive) onDigitClick(digit, {
257
- parent: dialPad,
258
- event: new MouseEvent("click", { bubbles: true })
324
+ /**
325
+ * @internal
326
+ */
327
+ formResetCallback() {
328
+ this.#updateValues({
329
+ start: this.initialStart,
330
+ end: this.initialEnd
259
331
  });
332
+ super.formResetCallback();
260
333
  }
261
- return true;
262
- }
263
- function syncFieldAndPadValues(x) {
264
- x.value = x._textFieldEl.value;
265
- }
266
- function stopPropagation(_, { event: e }) {
267
- e.stopImmediatePropagation();
268
- }
269
- function deleteLastCharacter(dialPad) {
270
- dialPad.value = dialPad.value.slice(0, -1);
271
- dialPad.$emit("input");
272
- dialPad.$emit("change");
273
- if (dialPad.value === "") dialPad._textFieldEl?.focus();
274
- }
275
- function renderTextField(textFieldTag, buttonTag) {
276
- return html`<${textFieldTag} ${ref("_textFieldEl")} class="phone-field" internal-part type="tel"
277
- value="${(x) => x.value}" placeholder="${(x) => x.placeholder}"
278
- ?disabled="${(x) => x.disabled}" helper-text="${(x) => x.helperText}" pattern="${(x) => x.pattern}"
279
- aria-label="${(x) => x.locale.dialPad.inputLabel}"
280
- @keydown="${(x, c) => handleKeyDown(x, c.event)}"
281
- @keyup="${(x, c) => handleKeyUp(x, c.event)}"
282
- @input="${syncFieldAndPadValues}"
283
- @change="${syncFieldAndPadValues}"
284
- @focus="${stopPropagation}"
285
- @blur="${stopPropagation}"
286
- ?autofocus="${(x) => x.autofocus}"
287
- >
288
- ${when((x) => x.value && x.value.length && x.value.length > 0, html`<${buttonTag}
289
- slot="action-items"
290
- size='super-condensed'
291
- icon="backspace-line"
292
- aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
293
- appearance='ghost'
294
- ?disabled="${(x) => x.disabled || x.callActive}"
295
- @click="${(x) => deleteLastCharacter(x)}">
296
- </${buttonTag}>`)}
297
- </${textFieldTag}>`;
298
- }
299
- function onDigitClick(digit, { parent: dialPad, event }) {
300
- if (dialPad._suppressNextClick) {
301
- dialPad._suppressNextClick = false;
302
- return;
303
- }
304
- dialPad.value += digit.value;
305
- dialPad.$emit("keypad-click", event.currentTarget);
306
- dialPad.$emit("input");
307
- dialPad.$emit("change");
308
- }
309
- function renderDigits(buttonTag, iconTag) {
310
- return html`
311
- ${repeat((_) => DIAL_PAD_BUTTONS, html`
312
- <${buttonTag}
313
- id="${(x) => x.id}"
314
- value="${(x) => x.value}"
315
- stacked
316
- appearance="ghost-light"
317
- shape="pill"
318
- label="${(x) => x.label === "&nbsp;" ? "\xA0" : x.label}"
319
- size='condensed'
320
- class="digit-btn"
321
- ?autofocus="${(_, c) => c.parent.autofocus && c.parent.noInput && c.index === 0}"
322
- aria-label="${(x, c) => c.parent.locale.dialPad[x.ariaLabel]}"
323
- ?disabled="${(_, c) => c.parent.disabled}"
324
- @pointerdown="${(x, c) => c.parent._startLongPress(x.value, c.event)}"
325
- @pointerup="${(_, c) => c.parent._endLongPress()}"
326
- @pointercancel="${(_, c) => c.parent._cancelLongPress()}"
327
- @pointerleave="${(_, c) => c.parent._cancelLongPress()}"
328
- @keydown="${(x, c) => handleButtonKeyDown(x, {
329
- parent: c.parent,
330
- event: c.event
331
- })}"
332
- @keyup="${(x, c) => handleButtonKeyUp(x, {
333
- parent: c.parent,
334
- event: c.event
335
- })}"
336
- @click="${onDigitClick}">
337
- <${iconTag} slot="icon"
338
- name="${(x) => x.icon}"
339
- class="digit-btn-num"></${iconTag}>
340
- </${buttonTag}>
341
- `, { positioning: true })}
342
- `;
343
- }
344
- function renderDialButton(buttonTag) {
345
- return html`<${buttonTag} class="call-btn"
346
- size="expanded"
347
- appearance="filled"
348
- icon="${(x) => x.callActive ? "disable-call-line" : "call-line"}"
349
- connotation="${(x) => x.callActive ? "alert" : "cta"}"
350
- ?disabled="${(x) => x.disabled}"
351
- ?pending="${(x) => x.pending}"
352
- @click="${(x) => x._onDial()}"
353
- label="${(x) => x.callActive ? x.endCallButtonLabel || x.locale.dialPad.endCallButtonLabel : x.callButtonLabel || x.locale.dialPad.callButtonLabel}">
354
- </${buttonTag}>`;
355
- }
356
- function renderErrorAnnouncement(visuallyHiddenTag) {
357
- return html`<${visuallyHiddenTag} role="alert" aria-atomic="true">
358
- ${(x) => `${x.locale.dialPad.errorLabel} ${x._errorAnnouncement}`}
359
- </${visuallyHiddenTag}>`;
360
- }
361
- var DialPadTemplate = (context) => {
362
- const buttonTag = context.tagFor(Button);
363
- const iconTag = context.tagFor(Icon);
364
- const textFieldTag = context.tagFor(TextField);
365
- const visuallyHiddenTag = context.tagFor(VisuallyHidden);
366
- return html` <div class="${getClasses}">
367
- ${when((x) => !x.noInput, renderTextField(textFieldTag, buttonTag))}
368
- <div class="digits">${renderDigits(buttonTag, iconTag)}</div>
369
- ${when((x) => !x.noCall, renderDialButton(buttonTag))}
370
- ${renderErrorAnnouncement(visuallyHiddenTag)}
371
- </div>`;
334
+ /**
335
+ * @internal
336
+ */
337
+ get _pickerButtonLabel() {
338
+ if (this.start && this.end) return this.locale.calendarPicker.changeDatesLabel(formatPresentationDateRange({
339
+ start: this.start,
340
+ end: this.end
341
+ }, this.locale.calendarPicker));
342
+ else return this.locale.calendarPicker.chooseDatesLabel;
343
+ }
344
+ /**
345
+ * @internal
346
+ */
347
+ get _dialogLabel() {
348
+ return this.locale.calendarPicker.chooseDatesLabel;
349
+ }
350
+ /**
351
+ * @internal
352
+ */
353
+ _focusableElsWithinDialog() {
354
+ return this._dialogEl.querySelectorAll("button, .vwc-button");
355
+ }
356
+ /**
357
+ * @internal
358
+ */
359
+ get _pickerButtonIcon() {
360
+ return "calendar-line";
361
+ }
362
+ };
363
+ __decorate([attr({
364
+ mode: "fromView",
365
+ attribute: "start"
366
+ })], DateRangePicker.prototype, "initialStart", void 0);
367
+ __decorate([attr({
368
+ mode: "fromView",
369
+ attribute: "end"
370
+ })], DateRangePicker.prototype, "initialEnd", void 0);
371
+ __decorate([observable], DateRangePicker.prototype, "start", void 0);
372
+ __decorate([observable], DateRangePicker.prototype, "end", void 0);
373
+ __decorate([attr({ attribute: "current-start" })], DateRangePicker.prototype, "currentStart", void 0);
374
+ __decorate([attr({ attribute: "current-end" })], DateRangePicker.prototype, "currentEnd", void 0);
375
+ __decorate([observable], DateRangePicker.prototype, "_numCalendars", void 0);
376
+ __decorate([observable], DateRangePicker.prototype, "_hoverDate", void 0);
377
+ __decorate([volatile], DateRangePicker.prototype, "_pickerButtonLabel", null);
378
+ //#endregion
379
+ //#region src/lib/date-range-picker/date-range-picker.template.ts
380
+ var DateRangePickerTemplate = (context) => {
381
+ return PickerFieldTemplate(context, CalendarPickerTemplate(context), {
382
+ withSeparator: false,
383
+ padded: true
384
+ });
372
385
  };
373
386
  //#endregion
374
- //#region src/lib/dial-pad/definition.ts
387
+ //#region src/lib/date-range-picker/definition.ts
375
388
  /**
376
389
  * @internal
377
390
  */
378
- var dialPadDefinition = defineVividComponent("dial-pad", DialPad, DialPadTemplate, [
391
+ var dateRangePickerDefinition = defineVividComponent("date-range-picker", DateRangePicker, DateRangePickerTemplate, [
379
392
  buttonDefinition,
393
+ popupDefinition,
380
394
  textFieldDefinition,
381
- iconDefinition,
395
+ dividerDefinition,
382
396
  visuallyHiddenDefinition
383
- ], { styles: dial_pad_default });
397
+ ], {
398
+ styles: [picker_field_default, calendar_picker_default],
399
+ shadowOptions: { delegatesFocus: true }
400
+ });
384
401
  /**
385
- * Registers the dial-pad element with the design system.
402
+ * Registers the date-range-picker element with the design system.
386
403
  *
387
404
  * @param prefix - the prefix to use for the component name
388
405
  */
389
- var registerDialPad = createRegisterFunction(dialPadDefinition);
406
+ var registerDateRangePicker = createRegisterFunction(dateRangePickerDefinition);
390
407
  //#endregion
391
- export { registerDialPad as n, DialPad as r, dialPadDefinition as t };
408
+ export { registerDateRangePicker as n, DateRangePicker as r, dateRangePickerDefinition as t };