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