@vonage/vivid 5.17.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 (459) 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/alert/definition.cjs +5 -5
  10. package/alert/definition.js +1 -1
  11. package/alert/index.cjs +2 -2
  12. package/alert/index.js +6 -5
  13. package/audio-player/definition.cjs +5 -5
  14. package/audio-player/definition.js +1 -1
  15. package/audio-player/index.cjs +1 -1
  16. package/audio-player/index.js +2 -1
  17. package/avatar/definition.cjs +5 -5
  18. package/avatar/definition.js +1 -1
  19. package/avatar/index.cjs +3 -3
  20. package/avatar/index.js +6 -5
  21. package/badge/definition.cjs +5 -5
  22. package/badge/definition.js +1 -1
  23. package/badge/index.cjs +1 -4
  24. package/badge/index.js +4 -20
  25. package/banner/definition.cjs +5 -5
  26. package/banner/definition.js +1 -1
  27. package/banner/index.cjs +2 -2
  28. package/banner/index.js +5 -4
  29. package/breadcrumb-item/definition.cjs +4 -4
  30. package/breadcrumb-item/definition.js +1 -1
  31. package/breadcrumb-item/index.cjs +1 -1
  32. package/breadcrumb-item/index.js +1 -0
  33. package/bundled/affix.cjs +1 -1
  34. package/bundled/affix.js +5 -5
  35. package/bundled/definition11.cjs +2 -2
  36. package/bundled/definition11.js +5 -5
  37. package/bundled/definition12.cjs +3 -3
  38. package/bundled/definition12.js +5 -5
  39. package/bundled/definition13.cjs +2 -2
  40. package/bundled/definition13.js +4 -4
  41. package/bundled/definition15.cjs +3 -3
  42. package/bundled/definition15.js +7 -7
  43. package/bundled/definition17.cjs +3 -3
  44. package/bundled/definition17.js +8 -8
  45. package/bundled/definition18.cjs +2 -2
  46. package/bundled/definition18.js +6 -6
  47. package/bundled/definition2.cjs +3 -14
  48. package/bundled/definition2.js +15 -48
  49. package/bundled/definition20.cjs +5 -5
  50. package/bundled/definition20.js +8 -8
  51. package/bundled/definition22.cjs +4 -39
  52. package/bundled/definition22.js +18 -70
  53. package/bundled/definition23.cjs +12 -0
  54. package/bundled/definition23.js +37 -0
  55. package/bundled/definition24.cjs +39 -0
  56. package/bundled/definition24.js +72 -0
  57. package/bundled/definition3.cjs +1 -1
  58. package/bundled/definition3.js +9 -6
  59. package/bundled/definition4.cjs +2 -2
  60. package/bundled/definition4.js +5 -5
  61. package/bundled/definition6.cjs +11 -11
  62. package/bundled/definition6.js +45 -29
  63. package/bundled/localized.cjs +1 -1
  64. package/bundled/localized.js +1 -0
  65. package/bundled/mixins.cjs +4 -4
  66. package/bundled/mixins.js +7 -7
  67. package/bundled/numberConverter.cjs +12 -0
  68. package/bundled/numberConverter.js +38 -0
  69. package/bundled/picker-field.template.cjs +2 -1
  70. package/bundled/picker-field.template.js +2 -1
  71. package/bundled/utils.cjs +1 -0
  72. package/bundled/utils.js +1420 -0
  73. package/bundled/vivid-element.cjs +1 -1
  74. package/bundled/vivid-element.js +1 -1
  75. package/button/definition.cjs +5 -5
  76. package/button/definition.js +1 -1
  77. package/button/index.cjs +1 -1
  78. package/button/index.js +1 -1
  79. package/card/definition.cjs +5 -5
  80. package/card/definition.js +1 -1
  81. package/card/index.cjs +4 -4
  82. package/card/index.js +7 -6
  83. package/checkbox/definition.cjs +5 -5
  84. package/checkbox/definition.js +1 -1
  85. package/checkbox/index.cjs +1 -1
  86. package/checkbox/index.js +1 -1
  87. package/color-picker/definition.cjs +5 -5
  88. package/color-picker/definition.js +1 -1
  89. package/color-picker/index.cjs +7 -7
  90. package/color-picker/index.js +55 -54
  91. package/combobox/definition.cjs +5 -5
  92. package/combobox/definition.js +1 -1
  93. package/combobox/index.cjs +2 -2
  94. package/combobox/index.js +8 -7
  95. package/contextual-help/definition.cjs +5 -5
  96. package/contextual-help/definition.js +1 -1
  97. package/contextual-help/index.cjs +1 -1
  98. package/contextual-help/index.js +1 -1
  99. package/country/definition.cjs +5 -5
  100. package/country/definition.js +1 -1
  101. package/country/index.cjs +1 -12
  102. package/country/index.js +4 -1216
  103. package/country-group/definition.cjs +6 -0
  104. package/country-group/definition.js +3 -0
  105. package/country-group/index.cjs +43 -0
  106. package/country-group/index.js +166 -0
  107. package/custom-elements.json +1112 -450
  108. package/data-grid/definition.cjs +9 -9
  109. package/data-grid/definition.js +2 -2
  110. package/data-grid/index.cjs +4 -4
  111. package/data-grid/index.js +47 -46
  112. package/date-picker/definition.cjs +5 -5
  113. package/date-picker/definition.js +2 -2
  114. package/date-picker/index.cjs +1 -1
  115. package/date-picker/index.js +1 -1
  116. package/date-range-picker/definition.cjs +5 -5
  117. package/date-range-picker/definition.js +2 -2
  118. package/date-range-picker/index.cjs +1 -1
  119. package/date-range-picker/index.js +1 -1
  120. package/date-time-picker/definition.cjs +5 -5
  121. package/date-time-picker/definition.js +2 -2
  122. package/date-time-picker/index.cjs +1 -1
  123. package/date-time-picker/index.js +1 -1
  124. package/dial-pad/definition.cjs +5 -5
  125. package/dial-pad/definition.js +2 -2
  126. package/dial-pad/index.cjs +4 -4
  127. package/dial-pad/index.js +9 -8
  128. package/dialog/definition.cjs +5 -5
  129. package/dialog/definition.js +2 -2
  130. package/dialog/index.cjs +4 -4
  131. package/dialog/index.js +12 -11
  132. package/divider/definition.cjs +1 -1
  133. package/divider/definition.js +1 -1
  134. package/empty-state/definition.cjs +5 -5
  135. package/empty-state/definition.js +2 -2
  136. package/empty-state/index.cjs +2 -2
  137. package/empty-state/index.js +6 -5
  138. package/fab/definition.cjs +5 -5
  139. package/fab/definition.js +2 -2
  140. package/fab/index.cjs +2 -2
  141. package/fab/index.js +5 -4
  142. package/file-picker/definition.cjs +5 -5
  143. package/file-picker/definition.js +2 -2
  144. package/file-picker/index.cjs +6 -6
  145. package/file-picker/index.js +9 -8
  146. package/flag/definition.cjs +6 -0
  147. package/flag/definition.js +3 -0
  148. package/flag/index.cjs +10 -0
  149. package/flag/index.js +61 -0
  150. package/header/definition.cjs +1 -1
  151. package/header/definition.js +1 -1
  152. package/icon/definition.cjs +1 -0
  153. package/icon/definition.js +1 -0
  154. package/icon/index.cjs +1 -1
  155. package/icon/index.js +1 -0
  156. package/index.cjs +183 -174
  157. package/index.js +48 -45
  158. package/layout/definition.cjs +1 -1
  159. package/layout/definition.js +1 -1
  160. package/lib/button/button.d.ts +1 -0
  161. package/lib/components.d.ts +2 -0
  162. package/lib/country/countries-data.d.ts +1 -0
  163. package/lib/country/{country-code-to-flag-icon.d.ts → utils.d.ts} +0 -3
  164. package/lib/country-group/country-group.d.ts +829 -0
  165. package/lib/country-group/country-group.template.d.ts +3 -0
  166. package/lib/country-group/definition.d.ts +3 -0
  167. package/lib/country-group/index.d.ts +1 -0
  168. package/lib/country-group/locale.d.ts +3 -0
  169. package/lib/date-picker/date-picker.d.ts +4 -0
  170. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  171. package/lib/date-time-picker/date-time-picker.d.ts +4 -0
  172. package/lib/flag/definition.d.ts +3 -0
  173. package/lib/flag/flag.d.ts +8 -0
  174. package/lib/flag/flag.template.d.ts +3 -0
  175. package/lib/flag/index.d.ts +1 -0
  176. package/lib/icon/icon.d.ts +1 -2
  177. package/lib/searchable-select/option-tag.d.ts +3 -1
  178. package/lib/searchable-select/searchable-select.d.ts +3 -1
  179. package/lib/tag-name-map.d.ts +2 -1
  180. package/lib/time-picker/time-picker.d.ts +2 -0
  181. package/locales/de-DE.cjs +1 -0
  182. package/locales/de-DE.js +1 -0
  183. package/locales/en-GB.cjs +1 -0
  184. package/locales/en-GB.js +1 -0
  185. package/locales/en-US.cjs +1 -0
  186. package/locales/en-US.js +1 -0
  187. package/locales/ja-JP.cjs +1 -0
  188. package/locales/ja-JP.js +1 -0
  189. package/locales/zh-CN.cjs +1 -0
  190. package/locales/zh-CN.js +1 -0
  191. package/menu/definition.cjs +5 -5
  192. package/menu/definition.js +1 -1
  193. package/menu/index.cjs +1 -1
  194. package/menu/index.js +1 -1
  195. package/menu-item/definition.cjs +6 -6
  196. package/menu-item/definition.js +1 -1
  197. package/menu-item/index.cjs +1 -1
  198. package/menu-item/index.js +1 -1
  199. package/nav/definition.cjs +1 -1
  200. package/nav/definition.js +1 -1
  201. package/nav-disclosure/definition.cjs +5 -5
  202. package/nav-disclosure/definition.js +2 -2
  203. package/nav-disclosure/index.cjs +2 -2
  204. package/nav-disclosure/index.js +6 -5
  205. package/nav-item/definition.cjs +5 -5
  206. package/nav-item/definition.js +2 -2
  207. package/nav-item/index.cjs +2 -2
  208. package/nav-item/index.js +5 -4
  209. package/note/definition.cjs +5 -5
  210. package/note/definition.js +2 -2
  211. package/note/index.cjs +2 -2
  212. package/note/index.js +5 -4
  213. package/number-field/definition.cjs +5 -5
  214. package/number-field/definition.js +2 -2
  215. package/number-field/index.cjs +2 -2
  216. package/number-field/index.js +6 -5
  217. package/option/definition.cjs +5 -5
  218. package/option/definition.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +4 -4
  222. package/pagination/definition.cjs +5 -5
  223. package/pagination/definition.js +2 -2
  224. package/pagination/index.cjs +1 -1
  225. package/pagination/index.js +1 -1
  226. package/popover/definition.cjs +5 -5
  227. package/popover/definition.js +2 -2
  228. package/popover/index.cjs +4 -4
  229. package/popover/index.js +7 -6
  230. package/popup/definition.cjs +4 -4
  231. package/popup/definition.js +1 -1
  232. package/popup/index.cjs +1 -1
  233. package/popup/index.js +1 -1
  234. package/progress/definition.cjs +1 -1
  235. package/progress/definition.js +1 -1
  236. package/radio/definition.cjs +1 -1
  237. package/radio/definition.js +1 -1
  238. package/radio-group/definition.cjs +5 -5
  239. package/radio-group/definition.js +2 -2
  240. package/radio-group/index.cjs +1 -1
  241. package/radio-group/index.js +1 -1
  242. package/range-slider/definition.cjs +5 -5
  243. package/range-slider/definition.js +2 -2
  244. package/range-slider/index.cjs +1 -1
  245. package/range-slider/index.js +22 -19
  246. package/rich-text-editor/definition.cjs +32 -32
  247. package/rich-text-editor/definition.js +2 -2
  248. package/rich-text-editor/index.cjs +1 -1
  249. package/rich-text-editor/index.js +2 -2
  250. package/rich-text-view/definition.cjs +1 -1
  251. package/rich-text-view/definition.js +1 -1
  252. package/searchable-select/definition.cjs +4 -4
  253. package/searchable-select/definition.js +2 -2
  254. package/searchable-select/index.cjs +6 -4
  255. package/searchable-select/index.js +76 -73
  256. package/select/definition.cjs +5 -5
  257. package/select/definition.js +2 -2
  258. package/select/index.cjs +1 -1
  259. package/select/index.js +1 -1
  260. package/selectable-box/definition.cjs +5 -5
  261. package/selectable-box/definition.js +2 -2
  262. package/selectable-box/index.cjs +1 -1
  263. package/selectable-box/index.js +1 -1
  264. package/shared/icon/utils.d.ts +1 -0
  265. package/shared/localization/Locale.d.ts +2 -0
  266. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  267. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  268. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  269. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  270. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  271. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  272. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  273. package/shared/picker-field/picker-field.d.ts +2 -0
  274. package/side-drawer/definition.cjs +1 -1
  275. package/side-drawer/definition.js +1 -1
  276. package/simple-color-picker/definition.cjs +5 -5
  277. package/simple-color-picker/definition.js +2 -2
  278. package/simple-color-picker/index.cjs +2 -2
  279. package/simple-color-picker/index.js +6 -5
  280. package/slider/definition.cjs +5 -5
  281. package/slider/definition.js +1 -1
  282. package/slider/index.cjs +1 -1
  283. package/slider/index.js +1 -1
  284. package/split-button/definition.cjs +5 -5
  285. package/split-button/definition.js +2 -2
  286. package/split-button/index.cjs +2 -2
  287. package/split-button/index.js +7 -6
  288. package/status/definition.cjs +5 -5
  289. package/status/definition.js +2 -2
  290. package/status/index.cjs +2 -2
  291. package/status/index.js +5 -4
  292. package/switch/definition.cjs +5 -5
  293. package/switch/definition.js +2 -2
  294. package/switch/index.cjs +2 -2
  295. package/switch/index.js +6 -5
  296. package/tab/definition.cjs +5 -5
  297. package/tab/definition.js +2 -2
  298. package/tab/index.cjs +1 -1
  299. package/tab/index.js +1 -1
  300. package/tab-panel/definition.cjs +1 -1
  301. package/tab-panel/definition.js +1 -1
  302. package/table/definition.cjs +17 -17
  303. package/table/definition.js +2 -2
  304. package/table/index.cjs +3 -3
  305. package/table/index.js +6 -5
  306. package/tabs/definition.cjs +6 -6
  307. package/tabs/definition.js +2 -2
  308. package/tabs/index.cjs +1 -1
  309. package/tabs/index.js +1 -1
  310. package/tag/definition.cjs +5 -5
  311. package/tag/definition.js +2 -2
  312. package/tag/index.cjs +4 -4
  313. package/tag/index.js +6 -5
  314. package/tag-group/definition.cjs +1 -1
  315. package/tag-group/definition.js +1 -1
  316. package/text-area/definition.cjs +5 -5
  317. package/text-area/definition.js +2 -2
  318. package/text-area/index.cjs +1 -1
  319. package/text-area/index.js +1 -1
  320. package/text-field/definition.cjs +5 -5
  321. package/text-field/definition.js +1 -1
  322. package/text-field/index.cjs +1 -1
  323. package/text-field/index.js +1 -1
  324. package/time-picker/definition.cjs +4 -4
  325. package/time-picker/definition.js +2 -2
  326. package/time-picker/index.cjs +1 -1
  327. package/time-picker/index.js +1 -1
  328. package/toggletip/definition.cjs +5 -5
  329. package/toggletip/definition.js +1 -1
  330. package/toggletip/index.cjs +1 -1
  331. package/toggletip/index.js +1 -1
  332. package/tooltip/definition.cjs +5 -5
  333. package/tooltip/definition.js +1 -1
  334. package/tooltip/index.cjs +1 -1
  335. package/tooltip/index.js +1 -1
  336. package/tree-item/definition.cjs +5 -5
  337. package/tree-item/definition.js +2 -2
  338. package/tree-item/index.cjs +1 -1
  339. package/tree-item/index.js +1 -1
  340. package/tree-view/definition.cjs +5 -5
  341. package/tree-view/definition.js +2 -2
  342. package/tree-view/index.cjs +1 -1
  343. package/tree-view/index.js +1 -1
  344. package/unbundled/definition11.cjs +6 -0
  345. package/unbundled/definition11.js +6 -0
  346. package/unbundled/definition14.cjs +1 -0
  347. package/unbundled/definition14.js +1 -0
  348. package/unbundled/definition2.cjs +5 -75
  349. package/unbundled/definition2.js +1 -71
  350. package/unbundled/definition28.cjs +1 -0
  351. package/unbundled/definition28.js +1 -0
  352. package/unbundled/definition31.cjs +2 -1189
  353. package/unbundled/definition31.js +1 -1188
  354. package/unbundled/definition32.cjs +207 -1835
  355. package/unbundled/definition32.js +203 -1807
  356. package/unbundled/definition33.cjs +83 -311
  357. package/unbundled/definition33.js +79 -235
  358. package/unbundled/definition34.cjs +1887 -25
  359. package/unbundled/definition34.js +1857 -24
  360. package/unbundled/definition35.cjs +315 -121
  361. package/unbundled/definition35.js +236 -114
  362. package/unbundled/definition36.cjs +25 -405
  363. package/unbundled/definition36.js +22 -397
  364. package/unbundled/definition37.cjs +47 -142
  365. package/unbundled/definition37.js +44 -139
  366. package/unbundled/definition38.cjs +345 -330
  367. package/unbundled/definition38.js +343 -328
  368. package/unbundled/definition39.cjs +183 -235
  369. package/unbundled/definition39.js +181 -233
  370. package/unbundled/definition40.cjs +377 -47
  371. package/unbundled/definition40.js +372 -42
  372. package/unbundled/definition41.cjs +256 -57
  373. package/unbundled/definition41.js +255 -56
  374. package/unbundled/definition42.cjs +45 -432
  375. package/unbundled/definition42.js +41 -428
  376. package/unbundled/definition43.cjs +63 -49
  377. package/unbundled/definition43.js +61 -47
  378. package/unbundled/definition44.cjs +438 -30
  379. package/unbundled/definition44.js +434 -25
  380. package/unbundled/definition45.cjs +46 -84
  381. package/unbundled/definition45.js +43 -81
  382. package/unbundled/definition46.cjs +29 -54
  383. package/unbundled/definition46.js +24 -50
  384. package/unbundled/definition47.cjs +93 -21
  385. package/unbundled/definition47.js +91 -16
  386. package/unbundled/definition48.cjs +49 -33
  387. package/unbundled/definition48.js +46 -30
  388. package/unbundled/definition49.cjs +22 -347
  389. package/unbundled/definition49.js +16 -344
  390. package/unbundled/definition50.cjs +34 -211
  391. package/unbundled/definition50.js +30 -207
  392. package/unbundled/definition51.cjs +282 -242
  393. package/unbundled/definition51.js +275 -235
  394. package/unbundled/definition52.cjs +211 -51
  395. package/unbundled/definition52.js +209 -48
  396. package/unbundled/definition53.cjs +275 -131
  397. package/unbundled/definition53.js +272 -127
  398. package/unbundled/definition54.cjs +50 -261
  399. package/unbundled/definition54.js +48 -260
  400. package/unbundled/definition55.cjs +126 -443
  401. package/unbundled/definition55.js +123 -441
  402. package/unbundled/definition56.cjs +234 -3596
  403. package/unbundled/definition56.js +229 -3428
  404. package/unbundled/definition57.cjs +407 -728
  405. package/unbundled/definition57.js +405 -726
  406. package/unbundled/definition58.cjs +3618 -106
  407. package/unbundled/definition58.js +3449 -100
  408. package/unbundled/definition59.cjs +624 -868
  409. package/unbundled/definition59.js +619 -863
  410. package/unbundled/definition60.cjs +106 -108
  411. package/unbundled/definition60.js +102 -104
  412. package/unbundled/definition61.cjs +1040 -71
  413. package/unbundled/definition61.js +1035 -65
  414. package/unbundled/definition62.cjs +105 -169
  415. package/unbundled/definition62.js +101 -165
  416. package/unbundled/definition63.cjs +70 -113
  417. package/unbundled/definition63.js +65 -109
  418. package/unbundled/definition64.cjs +181 -53
  419. package/unbundled/definition64.js +178 -50
  420. package/unbundled/definition65.cjs +109 -76
  421. package/unbundled/definition65.js +109 -75
  422. package/unbundled/definition66.cjs +58 -21
  423. package/unbundled/definition66.js +55 -15
  424. package/unbundled/definition67.cjs +81 -74
  425. package/unbundled/definition67.js +79 -73
  426. package/unbundled/definition68.cjs +19 -344
  427. package/unbundled/definition68.js +14 -335
  428. package/unbundled/definition69.cjs +88 -26
  429. package/unbundled/definition69.js +85 -22
  430. package/unbundled/definition7.cjs +18 -3
  431. package/unbundled/definition7.js +18 -3
  432. package/unbundled/definition70.cjs +330 -111
  433. package/unbundled/definition70.js +320 -108
  434. package/unbundled/definition71.cjs +26 -271
  435. package/unbundled/definition71.js +21 -267
  436. package/unbundled/definition72.cjs +134 -27
  437. package/unbundled/definition72.js +125 -25
  438. package/unbundled/definition73.cjs +245 -113
  439. package/unbundled/definition73.js +242 -104
  440. package/unbundled/definition74.cjs +28 -212
  441. package/unbundled/definition74.js +26 -202
  442. package/unbundled/definition75.cjs +117 -479
  443. package/unbundled/definition75.js +109 -475
  444. package/unbundled/definition76.cjs +232 -0
  445. package/unbundled/definition76.js +213 -0
  446. package/unbundled/definition77.cjs +533 -0
  447. package/unbundled/definition77.js +513 -0
  448. package/unbundled/numberConverter.cjs +91 -0
  449. package/unbundled/numberConverter.js +74 -0
  450. package/unbundled/picker-field.template.cjs +2 -0
  451. package/unbundled/picker-field.template.js +2 -0
  452. package/unbundled/utils.cjs +1439 -0
  453. package/unbundled/utils.js +1428 -0
  454. package/unbundled/vivid-element.cjs +1 -1
  455. package/unbundled/vivid-element.js +1 -1
  456. package/video-player/definition.cjs +1 -1
  457. package/video-player/definition.js +1 -1
  458. package/vivid.api.json +513 -0
  459. /package/{lib/icon/icon.placeholder.d.ts → shared/icon/icon-placeholder.d.ts} +0 -0
@@ -1,411 +1,426 @@
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.start = "";
57
+ this.end = "";
58
+ this.setFormValue = (value, state) => {
59
+ if (isFormAssociatedTryingToSetFormValue(value)) return;
60
+ super.setFormValue(value, state);
52
61
  };
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();
62
+ this._numCalendars = 2;
63
+ this._hideDatesOutsideMonth = true;
64
+ this._textFieldSize = "30";
65
+ }
66
+ /**
67
+ * @internal
68
+ */
69
+ initialStartChanged() {
70
+ if (!this.dirtyValue) {
71
+ this.start = this.initialStart;
72
+ this.dirtyValue = false;
61
73
  }
62
74
  }
63
75
  /**
64
76
  * @internal
65
77
  */
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);
78
+ initialEndChanged() {
79
+ if (!this.dirtyValue) {
80
+ this.end = this.initialEnd;
81
+ this.dirtyValue = false;
82
+ }
77
83
  }
84
+ #isInternalValueUpdate = false;
78
85
  /**
79
86
  * @internal
80
87
  */
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);
88
+ startChanged() {
89
+ if (this.start && !require_calendar_picker_template.isValidDateStr(this.start)) {
90
+ this.start = "";
91
+ return;
92
+ }
93
+ this.currentStart = this.start;
94
+ this.dirtyValue = true;
95
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
91
96
  }
92
97
  /**
93
98
  * @internal
94
99
  */
95
- _endLongPress() {
96
- this._clearLongPressTimer();
97
- window.setTimeout(() => {
98
- if (this._suppressNextClick) this._suppressNextClick = false;
99
- }, 0);
100
+ endChanged() {
101
+ if (this.end && !require_calendar_picker_template.isValidDateStr(this.end)) {
102
+ this.end = "";
103
+ return;
104
+ }
105
+ this.currentEnd = this.end;
106
+ this.dirtyValue = true;
107
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
100
108
  }
101
109
  /**
102
110
  * @internal
103
- * @returns true if long press completed (timer fired), false otherwise
104
111
  */
105
- _endKeyboardLongPress() {
106
- const wasLongPress = this._keyboardLongPressCompleted;
107
- this._clearLongPressTimer();
108
- window.setTimeout(() => {
109
- this._keyboardLongPressCompleted = false;
110
- }, 0);
111
- return wasLongPress;
112
+ currentStartChanged() {
113
+ this.start = this.currentStart;
112
114
  }
113
115
  /**
114
116
  * @internal
115
117
  */
116
- _cancelLongPress() {
117
- this._clearLongPressTimer();
118
+ currentEndChanged() {
119
+ this.end = this.currentEnd;
118
120
  }
119
- _clearLongPressTimer() {
120
- if (this._longPressTimeoutId !== null) {
121
- clearTimeout(this._longPressTimeoutId);
122
- this._longPressTimeoutId = null;
121
+ #updateValues(range) {
122
+ this.#isInternalValueUpdate = true;
123
+ if (range.start !== void 0) {
124
+ this.start = range.start;
125
+ this.$emit("input:start");
126
+ }
127
+ if (range.end !== void 0) {
128
+ this.end = range.end;
129
+ this.$emit("input:end");
123
130
  }
131
+ this.#isInternalValueUpdate = false;
132
+ this.$emit("input");
133
+ this.$emit("change");
134
+ this.#handleChangedValues();
135
+ }
136
+ #handleChangedValues() {
137
+ if (this.start && this.end) {
138
+ if (require_calendar_picker_template.compareDateStr(this.start, this.end) > 0) {
139
+ this.#updateValues({
140
+ start: this.end,
141
+ end: this.start
142
+ });
143
+ return;
144
+ }
145
+ this.value = formatRange(this.start, this.end);
146
+ } else this.value = "";
147
+ this._updatePresentationValue();
148
+ const dateToEnsureVisibilityOf = this.start || this.end;
149
+ if (dateToEnsureVisibilityOf) this._adjustSelectedMonthToEnsureVisibilityOf(dateToEnsureVisibilityOf);
150
+ this.#updateFormValue();
124
151
  }
125
152
  /**
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
153
+ * @internal
130
154
  */
131
- focus() {
132
- const digitBtns = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
133
- (this._textFieldEl || digitBtns?.[0])?.focus();
155
+ _updatePresentationValue() {
156
+ if (this.start && this.end) this._presentationValue = formatPresentationDateRange({
157
+ start: this.start,
158
+ end: this.end
159
+ }, this.locale.calendarPicker);
160
+ else this._presentationValue = "";
134
161
  }
135
162
  /**
136
163
  * @internal
137
164
  */
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
- });
165
+ nameChanged(previous, next) {
166
+ super.nameChanged(previous, next);
167
+ this.#updateFormValue();
168
+ }
169
+ #updateFormValue() {
170
+ if (!this.name || !this.start || !this.end) this.setFormValue(null);
171
+ else {
172
+ const formData = new FormData();
173
+ formData.append(this.name, this.start);
174
+ formData.append(this.name, this.end);
175
+ this.setFormValue(formData);
176
+ }
146
177
  }
147
178
  /**
148
179
  * @internal
149
180
  */
150
- _clearErrorAnnouncement() {
151
- this._errorAnnouncement = "";
152
- this._forceAnnouncementToggle = false;
181
+ connectedCallback() {
182
+ super.connectedCallback();
183
+ /* v8 ignore else -- @preserve */
184
+ if (!this.start) this.start = this.initialStart;
185
+ /* v8 ignore else -- @preserve */
186
+ if (!this.end) this.end = this.initialEnd;
153
187
  }
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;
188
+ #getVisibleRange() {
189
+ const candidates = [this.start, this.end].filter(isDefined);
190
+ const isPartialRange = candidates.length === 1;
191
+ if (this._hoverDate && isPartialRange) candidates.push(this._hoverDate);
192
+ const [start, end] = candidates.sort(require_calendar_picker_template.compareDateStr);
193
+ return {
194
+ start,
195
+ end
196
+ };
188
197
  }
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();
198
+ /**
199
+ * @internal
200
+ */
201
+ _isDateAriaSelected(date) {
202
+ return this._isDateInSelectedRange(date);
203
+ }
204
+ /**
205
+ * @internal
206
+ */
207
+ _isDateInSelectedRange(date) {
208
+ const { start, end } = this.#getVisibleRange();
209
+ if (start && end) return require_calendar_picker_template.compareDateStr(date, start) >= 0 && require_calendar_picker_template.compareDateStr(date, end) <= 0;
210
+ return false;
211
+ }
212
+ /**
213
+ * @internal
214
+ */
215
+ _isDateRangeStart(date) {
216
+ return date === this.#getVisibleRange().start;
217
+ }
218
+ /**
219
+ * @internal
220
+ */
221
+ _isDateRangeEnd(date) {
222
+ return date === this.#getVisibleRange().end;
223
+ }
224
+ /**
225
+ * @internal
226
+ */
227
+ _getSelectedDates() {
228
+ const dates = [];
229
+ if (this.start) dates.push(this.start);
230
+ if (this.end) dates.push(this.end);
231
+ return dates;
232
+ }
233
+ /**
234
+ * @internal
235
+ */
236
+ _onDateClick(date) {
237
+ if (this.start && this.end) this.#updateValues({
238
+ start: date,
239
+ end: ""
240
+ });
241
+ else if (this.start) {
242
+ this.#updateValues({ end: date });
243
+ this._closePopup();
244
+ } else if (this.end) {
245
+ this.#updateValues({ start: date });
246
+ this._closePopup();
247
+ } else this.#updateValues({ start: date });
248
+ }
249
+ /**
250
+ * @internal
251
+ */
252
+ get _textFieldPlaceholder() {
253
+ return formatRange(this.locale.calendarPicker.dateFormatPlaceholder, this.locale.calendarPicker.dateFormatPlaceholder);
254
+ }
255
+ /**
256
+ * @internal
257
+ */
258
+ _onTextFieldChange() {
259
+ if (this._presentationValue === "") {
260
+ this.#updateValues({
261
+ start: "",
262
+ end: ""
263
+ });
264
+ return;
213
265
  }
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
- }
266
+ try {
267
+ const { start, end } = parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
268
+ this.#updateValues({
269
+ start,
270
+ end
271
+ });
272
+ } catch (_) {
273
+ const invalidPresentationValue = this._presentationValue;
274
+ this.#updateValues({
275
+ start: "",
276
+ end: ""
277
+ });
278
+ this._presentationValue = invalidPresentationValue;
279
+ return;
225
280
  }
226
281
  }
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
- }
282
+ /**
283
+ * @internal
284
+ */
285
+ _onDateMouseEnter(date) {
286
+ this._hoverDate = date;
287
+ }
288
+ /**
289
+ * @internal
290
+ */
291
+ _onDateMouseLeave() {
292
+ this._hoverDate = void 0;
293
+ }
294
+ /**
295
+ * @internal
296
+ */
297
+ _getCustomValidationError() {
298
+ if (this._isPresentationValueInvalid()) return this.locale.calendarPicker.invalidDateRangeError;
299
+ 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));
300
+ 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));
301
+ return null;
302
+ }
303
+ /**
304
+ * @internal
305
+ */
306
+ _isPresentationValueInvalid() {
307
+ if (this._presentationValue === "") return false;
308
+ try {
309
+ parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
310
+ return false;
311
+ } catch (_) {
312
+ return true;
240
313
  }
241
314
  }
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();
315
+ /**
316
+ * @internal
317
+ */
318
+ _onClearClick() {
319
+ this.#updateValues({
320
+ start: "",
321
+ end: ""
322
+ });
323
+ super._onClearClick();
250
324
  }
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 })
325
+ /**
326
+ * @internal
327
+ */
328
+ formResetCallback() {
329
+ this.#updateValues({
330
+ start: this.initialStart,
331
+ end: this.initialEnd
261
332
  });
333
+ super.formResetCallback();
334
+ }
335
+ /**
336
+ * @internal
337
+ */
338
+ get _pickerButtonLabel() {
339
+ if (this.start && this.end) return this.locale.calendarPicker.changeDatesLabel(formatPresentationDateRange({
340
+ start: this.start,
341
+ end: this.end
342
+ }, this.locale.calendarPicker));
343
+ else return this.locale.calendarPicker.chooseDatesLabel;
344
+ }
345
+ /**
346
+ * @internal
347
+ */
348
+ get _dialogLabel() {
349
+ return this.locale.calendarPicker.chooseDatesLabel;
350
+ }
351
+ /**
352
+ * @internal
353
+ */
354
+ _focusableElsWithinDialog() {
355
+ return this._dialogEl.querySelectorAll("button, .vwc-button");
356
+ }
357
+ /**
358
+ * @internal
359
+ */
360
+ get _pickerButtonIcon() {
361
+ return "calendar-line";
262
362
  }
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
363
  };
364
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
365
+ mode: "fromView",
366
+ attribute: "start"
367
+ })], DateRangePicker.prototype, "initialStart", void 0);
368
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
369
+ mode: "fromView",
370
+ attribute: "end"
371
+ })], DateRangePicker.prototype, "initialEnd", void 0);
372
+ require_decorate.__decorate([_microsoft_fast_element.observable], DateRangePicker.prototype, "start", void 0);
373
+ require_decorate.__decorate([_microsoft_fast_element.observable], DateRangePicker.prototype, "end", void 0);
374
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "current-start" })], DateRangePicker.prototype, "currentStart", void 0);
375
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "current-end" })], DateRangePicker.prototype, "currentEnd", void 0);
376
+ require_decorate.__decorate([_microsoft_fast_element.observable], DateRangePicker.prototype, "_numCalendars", void 0);
377
+ require_decorate.__decorate([_microsoft_fast_element.observable], DateRangePicker.prototype, "_hoverDate", void 0);
378
+ require_decorate.__decorate([_microsoft_fast_element.volatile], DateRangePicker.prototype, "_pickerButtonLabel", null);
376
379
  //#endregion
377
- //#region src/lib/dial-pad/definition.ts
380
+ //#region src/lib/date-range-picker/date-range-picker.template.ts
381
+ var DateRangePickerTemplate = (context) => {
382
+ return require_picker_field_template.PickerFieldTemplate(context, require_calendar_picker_template.CalendarPickerTemplate(context), {
383
+ withSeparator: false,
384
+ padded: true
385
+ });
386
+ };
387
+ //#endregion
388
+ //#region src/lib/date-range-picker/definition.ts
378
389
  /**
379
390
  * @internal
380
391
  */
381
- var dialPadDefinition = require_vivid_element.defineVividComponent("dial-pad", DialPad, DialPadTemplate, [
382
- require_definition$2.buttonDefinition,
392
+ var dateRangePickerDefinition = require_vivid_element.defineVividComponent("date-range-picker", DateRangePicker, DateRangePickerTemplate, [
393
+ require_definition$1.buttonDefinition,
394
+ require_definition$2.popupDefinition,
383
395
  require_definition$3.textFieldDefinition,
384
- require_definition$1.iconDefinition,
396
+ require_definition$4.dividerDefinition,
385
397
  require_definition.visuallyHiddenDefinition
386
- ], { styles: dial_pad_default });
398
+ ], {
399
+ styles: [require_picker_field_template.picker_field_default, require_calendar_picker_template.calendar_picker_default],
400
+ shadowOptions: { delegatesFocus: true }
401
+ });
387
402
  /**
388
- * Registers the dial-pad element with the design system.
403
+ * Registers the date-range-picker element with the design system.
389
404
  *
390
405
  * @param prefix - the prefix to use for the component name
391
406
  */
392
- var registerDialPad = require_vivid_element.createRegisterFunction(dialPadDefinition);
407
+ var registerDateRangePicker = require_vivid_element.createRegisterFunction(dateRangePickerDefinition);
393
408
  //#endregion
394
- Object.defineProperty(exports, "DialPad", {
409
+ Object.defineProperty(exports, "DateRangePicker", {
395
410
  enumerable: true,
396
411
  get: function() {
397
- return DialPad;
412
+ return DateRangePicker;
398
413
  }
399
414
  });
400
- Object.defineProperty(exports, "dialPadDefinition", {
415
+ Object.defineProperty(exports, "dateRangePickerDefinition", {
401
416
  enumerable: true,
402
417
  get: function() {
403
- return dialPadDefinition;
418
+ return dateRangePickerDefinition;
404
419
  }
405
420
  });
406
- Object.defineProperty(exports, "registerDialPad", {
421
+ Object.defineProperty(exports, "registerDateRangePicker", {
407
422
  enumerable: true,
408
423
  get: function() {
409
- return registerDialPad;
424
+ return registerDateRangePicker;
410
425
  }
411
426
  });