@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,393 +1,408 @@
1
- import { o as defineVividComponent, s as createRegisterFunction, t as VividElement } from "./vivid-element.js";
2
- import { n as visuallyHiddenDefinition, r as VisuallyHidden } from "./definition.js";
3
- import { r as Icon, t as iconDefinition } from "./definition2.js";
1
+ import { o as defineVividComponent, s as createRegisterFunction } from "./vivid-element.js";
2
+ import { n as visuallyHiddenDefinition } from "./definition.js";
4
3
  import { t as __decorate } from "./decorate.js";
5
- import { t as Localized } from "./localized.js";
6
- import { i as Button, t as buttonDefinition } from "./definition7.js";
7
- import { n as textFieldDefinition, r as TextField } from "./definition26.js";
8
- import { attr, html, observable, ref, repeat, when } from "@microsoft/fast-element";
9
- import { classNames, keyEnter } from "@microsoft/fast-web-utilities";
10
- //#region src/lib/dial-pad/dial-pad.scss?inline
11
- var dial_pad_default = ":host{inline-size:230px;margin:16px;display:inline-block}.base{box-sizing:border-box;grid-template-rows:80px 1fr auto;display:grid}.base.no-input{grid-template-rows:1fr auto}.digits{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:16px;inline-size:100%;display:grid}.phone-field{grid-column:1/-1;align-self:flex-start}.digit-btn{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.digit-btn:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.digit-btn.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.digit-btn:disabled,.digit-btn.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.digit-btn{--_connotation-color-contrast:var(--vvd-dial-pad-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-soft:var(--vvd-dial-pad-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-pale:var(--vvd-dial-pad-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-dial-pad-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-firm-all:var(--vvd-dial-pad-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-faint:var(--vvd-dial-pad-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-dim:var(--vvd-dial-pad-accent-dim,var(--vvd-color-neutral-200));--vvd-button-accent-firm:var(--_appearance-color-text);box-shadow:0 0 0 1px var(--_appearance-color-outline);border-radius:16px;flex-direction:column;inline-size:100%;display:flex;overflow:hidden}.digit-btn:not(.disabled) .digit-btn-num{color:var(--vvd-color-canvas-text)}.digit-btn:focus-within{--focus-stroke-gap-color:transparent;box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}.call-btn{grid-column:1/-1;margin-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}";
4
+ import { t as buttonDefinition } from "./definition7.js";
5
+ import { t as popupDefinition } from "./definition10.js";
6
+ import { n as textFieldDefinition } from "./definition26.js";
7
+ import { t as dividerDefinition } from "./definition36.js";
8
+ import { n as PickerField, r as picker_field_default, t as PickerFieldTemplate } from "./picker-field.template.js";
9
+ import { a as formatPresentationDate, i as CalendarPicker, l as isValidDateStr, n as MinMaxCalendarPicker, o as parsePresentationDate, s as compareDateStr, t as CalendarPickerTemplate, u as calendar_picker_default } from "./calendar-picker.template.js";
10
+ import { attr, observable, volatile } from "@microsoft/fast-element";
11
+ //#region src/shared/datetime/presentationDateRange.ts
12
+ var formatRange = (from, to) => {
13
+ return `${from} – ${to}`;
14
+ };
15
+ var formatPresentationDateRange = (dateRange, locale) => {
16
+ return formatRange(formatPresentationDate(dateRange.start, locale), formatPresentationDate(dateRange.end, locale));
17
+ };
18
+ /**
19
+ * Parse a presentation date range, which combines two presentation dates with a dash.
20
+ * Will throw if the range can't be parsed
21
+ */
22
+ var parsePresentationDateRange = (presentationDateRange, locale) => {
23
+ const fragments = presentationDateRange.trim().split(/[\s—–-]+/);
24
+ if (fragments.length !== 2) throw new Error(`Invalid date range: ${presentationDateRange}`);
25
+ const [start, end] = fragments.map((fragment) => parsePresentationDate(fragment, locale));
26
+ return {
27
+ start,
28
+ end
29
+ };
30
+ };
12
31
  //#endregion
13
- //#region src/lib/dial-pad/dial-pad.ts
32
+ //#region src/lib/date-range-picker/date-range-picker.ts
33
+ var isFormAssociatedTryingToSetFormValue = (value) => typeof value === "string";
34
+ function isDefined(value) {
35
+ return !!value;
36
+ }
14
37
  /**
15
- * Base class for dial-pad
16
- *
17
38
  * @public
18
- * @component dial-pad
19
- * @event {CustomEvent<undefined>} change - Emitted when the text field value changes
20
- * @event {CustomEvent<undefined>} input - Emitted when the text field value changes
21
- * @event {CustomEvent<undefined>} blur - Emitted when the text field loses focus
22
- * @event {CustomEvent<undefined>} focus - Emitted when the text field receives focus
23
- * @event {CustomEvent<HTMLElement>}keypad-click - Emitted when a digit button is clicked
24
- * @event {CustomEvent<undefined>} dial - Emitted when the call button is clicked
25
- * @event {CustomEvent<undefined>} end-call - Emitted when the end call button is clicked
26
- * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
27
- *
39
+ * @component date-range-picker
40
+ * @slot helper-text - Describes how to use the date-range-picker. Alternative to the `helper-text` attribute.
41
+ * @event {CustomEvent<undefined>} input:start - Event emitted when the start value changes
42
+ * @event {CustomEvent<undefined>} input:end - Event emitted when the end value changes
43
+ * @event {CustomEvent<undefined>} input - Emitted when either the start or end value changes
44
+ * @event {CustomEvent<undefined>} change - Emitted when either the start or end value changes
45
+ * @vueModel start start input:start `event.currentTarget.start`
46
+ * @vueModel end end input:end `event.currentTarget.end`
47
+ * @testAction selectDateRange selectDateRange
48
+ * @testQuery range range
28
49
  */
29
- var DialPad = class extends Localized(VividElement) {
50
+ var DateRangePicker = class extends MinMaxCalendarPicker(CalendarPicker(PickerField)) {
30
51
  constructor(..._args) {
31
52
  super(..._args);
32
- this.helperText = null;
33
- this.placeholder = null;
34
- this.value = "";
35
- this.pattern = "^[0-9#*]*$";
36
- this.disabled = false;
37
- this.pending = false;
38
- this.callActive = false;
39
- this.noCall = false;
40
- this.noInput = false;
41
- this.endCallButtonLabel = null;
42
- this.callButtonLabel = null;
43
- this.deleteAriaLabel = null;
44
- this._longPressTimeoutId = null;
45
- this._suppressNextClick = false;
46
- this._keyboardLongPressCompleted = false;
47
- this._onDial = () => {
48
- if (!this._textFieldEl.checkValidity()) this._announceValidationError(this._textFieldEl.errorValidationMessage ?? "");
49
- else this._clearErrorAnnouncement();
50
- this.callActive ? this.$emit("end-call") : this.$emit("dial");
53
+ this.initialStart = "";
54
+ this.initialEnd = "";
55
+ this.start = "";
56
+ this.end = "";
57
+ this.setFormValue = (value, state) => {
58
+ if (isFormAssociatedTryingToSetFormValue(value)) return;
59
+ super.setFormValue(value, state);
51
60
  };
52
- this.autofocus = false;
53
- this._errorAnnouncement = "";
54
- this._forceAnnouncementToggle = false;
55
- }
56
- valueChanged(_oldValue, newValue) {
57
- if (newValue !== void 0 && newValue !== null && this._textFieldEl && newValue !== this._textFieldEl.value) {
58
- this._textFieldEl.value = newValue;
59
- this._textFieldEl.reportValidity();
61
+ this._numCalendars = 2;
62
+ this._hideDatesOutsideMonth = true;
63
+ this._textFieldSize = "30";
64
+ }
65
+ /**
66
+ * @internal
67
+ */
68
+ initialStartChanged() {
69
+ if (!this.dirtyValue) {
70
+ this.start = this.initialStart;
71
+ this.dirtyValue = false;
60
72
  }
61
73
  }
62
74
  /**
63
75
  * @internal
64
76
  */
65
- _startLongPress(digit, event) {
66
- if (this.disabled || this.callActive || digit !== "0") return;
67
- this._clearLongPressTimer();
68
- const target = event.currentTarget;
69
- this._longPressTimeoutId = window.setTimeout(() => {
70
- this._suppressNextClick = true;
71
- this.value += "+";
72
- this.$emit("keypad-click", target);
73
- this.$emit("input");
74
- this.$emit("change");
75
- }, 600);
77
+ initialEndChanged() {
78
+ if (!this.dirtyValue) {
79
+ this.end = this.initialEnd;
80
+ this.dirtyValue = false;
81
+ }
76
82
  }
83
+ #isInternalValueUpdate = false;
77
84
  /**
78
85
  * @internal
79
86
  */
80
- _startKeyboardLongPress() {
81
- if (this.disabled || this.callActive) return;
82
- if (this._longPressTimeoutId !== null) return;
83
- this._keyboardLongPressCompleted = false;
84
- this._longPressTimeoutId = window.setTimeout(() => {
85
- this._keyboardLongPressCompleted = true;
86
- this.value += "+";
87
- this.$emit("input");
88
- this.$emit("change");
89
- }, 650);
87
+ startChanged() {
88
+ if (this.start && !isValidDateStr(this.start)) {
89
+ this.start = "";
90
+ return;
91
+ }
92
+ this.currentStart = this.start;
93
+ this.dirtyValue = true;
94
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
90
95
  }
91
96
  /**
92
97
  * @internal
93
98
  */
94
- _endLongPress() {
95
- this._clearLongPressTimer();
96
- window.setTimeout(() => {
97
- if (this._suppressNextClick) this._suppressNextClick = false;
98
- }, 0);
99
+ endChanged() {
100
+ if (this.end && !isValidDateStr(this.end)) {
101
+ this.end = "";
102
+ return;
103
+ }
104
+ this.currentEnd = this.end;
105
+ this.dirtyValue = true;
106
+ if (!this.#isInternalValueUpdate) this.#handleChangedValues();
99
107
  }
100
108
  /**
101
109
  * @internal
102
- * @returns true if long press completed (timer fired), false otherwise
103
110
  */
104
- _endKeyboardLongPress() {
105
- const wasLongPress = this._keyboardLongPressCompleted;
106
- this._clearLongPressTimer();
107
- window.setTimeout(() => {
108
- this._keyboardLongPressCompleted = false;
109
- }, 0);
110
- return wasLongPress;
111
+ currentStartChanged() {
112
+ this.start = this.currentStart;
111
113
  }
112
114
  /**
113
115
  * @internal
114
116
  */
115
- _cancelLongPress() {
116
- this._clearLongPressTimer();
117
+ currentEndChanged() {
118
+ this.end = this.currentEnd;
117
119
  }
118
- _clearLongPressTimer() {
119
- if (this._longPressTimeoutId !== null) {
120
- clearTimeout(this._longPressTimeoutId);
121
- this._longPressTimeoutId = null;
120
+ #updateValues(range) {
121
+ this.#isInternalValueUpdate = true;
122
+ if (range.start !== void 0) {
123
+ this.start = range.start;
124
+ this.$emit("input:start");
125
+ }
126
+ if (range.end !== void 0) {
127
+ this.end = range.end;
128
+ this.$emit("input:end");
122
129
  }
130
+ this.#isInternalValueUpdate = false;
131
+ this.$emit("input");
132
+ this.$emit("change");
133
+ this.#handleChangedValues();
134
+ }
135
+ #handleChangedValues() {
136
+ if (this.start && this.end) {
137
+ if (compareDateStr(this.start, this.end) > 0) {
138
+ this.#updateValues({
139
+ start: this.end,
140
+ end: this.start
141
+ });
142
+ return;
143
+ }
144
+ this.value = formatRange(this.start, this.end);
145
+ } else this.value = "";
146
+ this._updatePresentationValue();
147
+ const dateToEnsureVisibilityOf = this.start || this.end;
148
+ if (dateToEnsureVisibilityOf) this._adjustSelectedMonthToEnsureVisibilityOf(dateToEnsureVisibilityOf);
149
+ this.#updateFormValue();
123
150
  }
124
151
  /**
125
- * Moves focus into the Dial Pad. If `no-input` attribute is specified, it will be the first digit
126
- * button. Otherwise, the input field will be focused.
127
- *
128
- * @public
152
+ * @internal
129
153
  */
130
- focus() {
131
- const digitBtns = this.shadowRoot?.querySelectorAll(".digits .digit-btn");
132
- (this._textFieldEl || digitBtns?.[0])?.focus();
154
+ _updatePresentationValue() {
155
+ if (this.start && this.end) this._presentationValue = formatPresentationDateRange({
156
+ start: this.start,
157
+ end: this.end
158
+ }, this.locale.calendarPicker);
159
+ else this._presentationValue = "";
133
160
  }
134
161
  /**
135
162
  * @internal
136
163
  */
137
- _announceValidationError(message) {
138
- this._errorAnnouncement = "";
139
- window.queueMicrotask(() => {
140
- if (message) {
141
- this._forceAnnouncementToggle = !this._forceAnnouncementToggle;
142
- this._errorAnnouncement = `${message}${this._forceAnnouncementToggle ? "​" : ""}`;
143
- } else this._clearErrorAnnouncement();
144
- });
164
+ nameChanged(previous, next) {
165
+ super.nameChanged(previous, next);
166
+ this.#updateFormValue();
167
+ }
168
+ #updateFormValue() {
169
+ if (!this.name || !this.start || !this.end) this.setFormValue(null);
170
+ else {
171
+ const formData = new FormData();
172
+ formData.append(this.name, this.start);
173
+ formData.append(this.name, this.end);
174
+ this.setFormValue(formData);
175
+ }
145
176
  }
146
177
  /**
147
178
  * @internal
148
179
  */
149
- _clearErrorAnnouncement() {
150
- this._errorAnnouncement = "";
151
- this._forceAnnouncementToggle = false;
180
+ connectedCallback() {
181
+ super.connectedCallback();
182
+ /* v8 ignore else -- @preserve */
183
+ if (!this.start) this.start = this.initialStart;
184
+ /* v8 ignore else -- @preserve */
185
+ if (!this.end) this.end = this.initialEnd;
152
186
  }
153
- };
154
- __decorate([attr({ attribute: "helper-text" })], DialPad.prototype, "helperText", void 0);
155
- __decorate([attr], DialPad.prototype, "placeholder", void 0);
156
- __decorate([attr({ mode: "fromView" })], DialPad.prototype, "value", void 0);
157
- __decorate([attr({ mode: "fromView" })], DialPad.prototype, "pattern", void 0);
158
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "disabled", void 0);
159
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "pending", void 0);
160
- __decorate([attr({
161
- attribute: "call-active",
162
- mode: "boolean"
163
- })], DialPad.prototype, "callActive", void 0);
164
- __decorate([attr({
165
- mode: "boolean",
166
- attribute: "no-call"
167
- })], DialPad.prototype, "noCall", void 0);
168
- __decorate([attr({
169
- mode: "boolean",
170
- attribute: "no-input"
171
- })], DialPad.prototype, "noInput", void 0);
172
- __decorate([attr], DialPad.prototype, "size", void 0);
173
- __decorate([attr({ attribute: "end-call-button-label" })], DialPad.prototype, "endCallButtonLabel", void 0);
174
- __decorate([attr({ attribute: "call-button-label" })], DialPad.prototype, "callButtonLabel", void 0);
175
- __decorate([attr({ attribute: "delete-aria-label" })], DialPad.prototype, "deleteAriaLabel", void 0);
176
- __decorate([attr({ mode: "boolean" })], DialPad.prototype, "autofocus", void 0);
177
- __decorate([observable], DialPad.prototype, "_errorAnnouncement", void 0);
178
- //#endregion
179
- //#region src/lib/dial-pad/dial-pad.template.ts
180
- var DialPadButton = class {
181
- constructor(value, label, ariaLabel, icon, id) {
182
- this.value = value;
183
- this.label = label;
184
- this.ariaLabel = ariaLabel;
185
- this.icon = icon;
186
- this.id = id;
187
+ #getVisibleRange() {
188
+ const candidates = [this.start, this.end].filter(isDefined);
189
+ const isPartialRange = candidates.length === 1;
190
+ if (this._hoverDate && isPartialRange) candidates.push(this._hoverDate);
191
+ const [start, end] = candidates.sort(compareDateStr);
192
+ return {
193
+ start,
194
+ end
195
+ };
187
196
  }
188
- };
189
- var DIAL_PAD_BUTTONS = [
190
- new DialPadButton("1", "&nbsp;", "digitOneLabel", "one-solid", "btn1"),
191
- new DialPadButton("2", "ABC", "digitTwoLabel", "two-solid", "btn2"),
192
- new DialPadButton("3", "DEF", "digitThreeLabel", "three-solid", "btn3"),
193
- new DialPadButton("4", "GHI", "digitFourLabel", "four-solid", "btn4"),
194
- new DialPadButton("5", "JKL", "digitFiveLabel", "five-solid", "btn5"),
195
- new DialPadButton("6", "MNO", "digitSixLabel", "six-solid", "btn6"),
196
- new DialPadButton("7", "PQRS", "digitSevenLabel", "seven-solid", "btn7"),
197
- new DialPadButton("8", "TUV", "digitEightLabel", "eight-solid", "btn8"),
198
- new DialPadButton("9", "WXYZ", "digitNineLabel", "nine-solid", "btn9"),
199
- new DialPadButton("*", null, "digitAsteriskLabel", "asterisk-2-solid", "btnAsterisk"),
200
- new DialPadButton("0", "+", "digitZeroLabel", "zero-solid", "btn0"),
201
- new DialPadButton("#", null, "digitHashtagLabel", "hashtag-solid", "btnHashtag")
202
- ];
203
- var getClasses = ({ noInput, size }) => classNames("base", [`size-${size}`, Boolean(size)], ["no-input", Boolean(noInput)]);
204
- function handleKeyDown(x, e) {
205
- if (e.key === keyEnter && !x.pending && !x.disabled && !x.callActive && !x.noCall && x.value.length > 0 && e.target instanceof HTMLInputElement) x._onDial();
206
- else if (e.key === " " || e.key === "Space") {
207
- /* v8 ignore else -- @preserve */
208
- if (e.target instanceof HTMLInputElement) {
209
- e.preventDefault();
210
- /* v8 ignore else -- @preserve */
211
- if (!e.repeat) x._startKeyboardLongPress();
197
+ /**
198
+ * @internal
199
+ */
200
+ _isDateAriaSelected(date) {
201
+ return this._isDateInSelectedRange(date);
202
+ }
203
+ /**
204
+ * @internal
205
+ */
206
+ _isDateInSelectedRange(date) {
207
+ const { start, end } = this.#getVisibleRange();
208
+ if (start && end) return compareDateStr(date, start) >= 0 && compareDateStr(date, end) <= 0;
209
+ return false;
210
+ }
211
+ /**
212
+ * @internal
213
+ */
214
+ _isDateRangeStart(date) {
215
+ return date === this.#getVisibleRange().start;
216
+ }
217
+ /**
218
+ * @internal
219
+ */
220
+ _isDateRangeEnd(date) {
221
+ return date === this.#getVisibleRange().end;
222
+ }
223
+ /**
224
+ * @internal
225
+ */
226
+ _getSelectedDates() {
227
+ const dates = [];
228
+ if (this.start) dates.push(this.start);
229
+ if (this.end) dates.push(this.end);
230
+ return dates;
231
+ }
232
+ /**
233
+ * @internal
234
+ */
235
+ _onDateClick(date) {
236
+ if (this.start && this.end) this.#updateValues({
237
+ start: date,
238
+ end: ""
239
+ });
240
+ else if (this.start) {
241
+ this.#updateValues({ end: date });
242
+ this._closePopup();
243
+ } else if (this.end) {
244
+ this.#updateValues({ start: date });
245
+ this._closePopup();
246
+ } else this.#updateValues({ start: date });
247
+ }
248
+ /**
249
+ * @internal
250
+ */
251
+ get _textFieldPlaceholder() {
252
+ return formatRange(this.locale.calendarPicker.dateFormatPlaceholder, this.locale.calendarPicker.dateFormatPlaceholder);
253
+ }
254
+ /**
255
+ * @internal
256
+ */
257
+ _onTextFieldChange() {
258
+ if (this._presentationValue === "") {
259
+ this.#updateValues({
260
+ start: "",
261
+ end: ""
262
+ });
263
+ return;
212
264
  }
213
- } else {
214
- const elementIndex = DIAL_PAD_BUTTONS.findIndex((x) => x.value === e.key);
215
- if (elementIndex > -1) {
216
- const digit = x.shadowRoot.querySelector(".digits").children[elementIndex];
217
- /* v8 ignore else -- @preserve */
218
- if (digit) {
219
- digit.active = true;
220
- setTimeout(() => {
221
- digit.active = false;
222
- }, 200);
223
- }
265
+ try {
266
+ const { start, end } = parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
267
+ this.#updateValues({
268
+ start,
269
+ end
270
+ });
271
+ } catch (_) {
272
+ const invalidPresentationValue = this._presentationValue;
273
+ this.#updateValues({
274
+ start: "",
275
+ end: ""
276
+ });
277
+ this._presentationValue = invalidPresentationValue;
278
+ return;
224
279
  }
225
280
  }
226
- return true;
227
- }
228
- function handleKeyUp(x, e) {
229
- /* v8 ignore else -- @preserve */
230
- if (e.key === " " || e.key === "Space") {
231
- /* v8 ignore else -- @preserve */
232
- if (e.target instanceof HTMLInputElement) {
233
- e.preventDefault();
234
- if (!x._endKeyboardLongPress() && !x.disabled && !x.callActive) {
235
- x.value += " ";
236
- x.$emit("input");
237
- x.$emit("change");
238
- }
281
+ /**
282
+ * @internal
283
+ */
284
+ _onDateMouseEnter(date) {
285
+ this._hoverDate = date;
286
+ }
287
+ /**
288
+ * @internal
289
+ */
290
+ _onDateMouseLeave() {
291
+ this._hoverDate = void 0;
292
+ }
293
+ /**
294
+ * @internal
295
+ */
296
+ _getCustomValidationError() {
297
+ if (this._isPresentationValueInvalid()) return this.locale.calendarPicker.invalidDateRangeError;
298
+ if (this.min && this.start && compareDateStr(this.start, this.min) < 0) return this.locale.calendarPicker.startDateAfterMinDateError(formatPresentationDate(this.min, this.locale.calendarPicker));
299
+ if (this.max && this.end && compareDateStr(this.end, this.max) > 0) return this.locale.calendarPicker.endDateBeforeMaxDateError(formatPresentationDate(this.max, this.locale.calendarPicker));
300
+ return null;
301
+ }
302
+ /**
303
+ * @internal
304
+ */
305
+ _isPresentationValueInvalid() {
306
+ if (this._presentationValue === "") return false;
307
+ try {
308
+ parsePresentationDateRange(this._presentationValue, this.locale.calendarPicker);
309
+ return false;
310
+ } catch (_) {
311
+ return true;
239
312
  }
240
313
  }
241
- return true;
242
- }
243
- function handleButtonKeyDown(digit, { parent: dialPad, event }) {
244
- /* v8 ignore else -- @preserve */
245
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
246
- event.preventDefault();
247
- /* v8 ignore else -- @preserve */
248
- if (!event.repeat) dialPad._startKeyboardLongPress();
314
+ /**
315
+ * @internal
316
+ */
317
+ _onClearClick() {
318
+ this.#updateValues({
319
+ start: "",
320
+ end: ""
321
+ });
322
+ super._onClearClick();
249
323
  }
250
- return true;
251
- }
252
- function handleButtonKeyUp(digit, { parent: dialPad, event }) {
253
- /* v8 ignore else -- @preserve */
254
- if ((event.key === " " || event.key === "Space") && digit.value === "0") {
255
- event.preventDefault();
256
- /* v8 ignore else -- @preserve */
257
- if (!dialPad._endKeyboardLongPress() && !dialPad.disabled && !dialPad.callActive) onDigitClick(digit, {
258
- parent: dialPad,
259
- event: new MouseEvent("click", { bubbles: true })
324
+ /**
325
+ * @internal
326
+ */
327
+ formResetCallback() {
328
+ this.#updateValues({
329
+ start: this.initialStart,
330
+ end: this.initialEnd
260
331
  });
332
+ super.formResetCallback();
261
333
  }
262
- return true;
263
- }
264
- function syncFieldAndPadValues(x) {
265
- x.value = x._textFieldEl.value;
266
- }
267
- function stopPropagation(_, { event: e }) {
268
- e.stopImmediatePropagation();
269
- }
270
- function deleteLastCharacter(dialPad) {
271
- dialPad.value = dialPad.value.slice(0, -1);
272
- dialPad.$emit("input");
273
- dialPad.$emit("change");
274
- if (dialPad.value === "") dialPad._textFieldEl?.focus();
275
- }
276
- function renderTextField(textFieldTag, buttonTag) {
277
- return html`<${textFieldTag} ${ref("_textFieldEl")} class="phone-field" internal-part type="tel"
278
- value="${(x) => x.value}" placeholder="${(x) => x.placeholder}"
279
- ?disabled="${(x) => x.disabled}" helper-text="${(x) => x.helperText}" pattern="${(x) => x.pattern}"
280
- aria-label="${(x) => x.locale.dialPad.inputLabel}"
281
- @keydown="${(x, c) => handleKeyDown(x, c.event)}"
282
- @keyup="${(x, c) => handleKeyUp(x, c.event)}"
283
- @input="${syncFieldAndPadValues}"
284
- @change="${syncFieldAndPadValues}"
285
- @focus="${stopPropagation}"
286
- @blur="${stopPropagation}"
287
- ?autofocus="${(x) => x.autofocus}"
288
- scale="${(x) => x.size === "condensed" ? "condensed" : "normal"}">
289
- >
290
- ${when((x) => x.value && x.value.length && x.value.length > 0, html`<${buttonTag}
291
- slot="action-items"
292
- size='super-condensed'
293
- icon="backspace-line"
294
- aria-label="${(x) => x.deleteAriaLabel || x.locale.dialPad.deleteButtonLabel}"
295
- appearance='ghost'
296
- ?disabled="${(x) => x.disabled || x.callActive}"
297
- @click="${(x) => deleteLastCharacter(x)}">
298
- </${buttonTag}>`)}
299
- </${textFieldTag}>`;
300
- }
301
- function onDigitClick(digit, { parent: dialPad, event }) {
302
- if (dialPad._suppressNextClick) {
303
- dialPad._suppressNextClick = false;
304
- return;
305
- }
306
- dialPad.value += digit.value;
307
- dialPad.$emit("keypad-click", event.currentTarget);
308
- dialPad.$emit("input");
309
- dialPad.$emit("change");
310
- }
311
- function renderDigits(buttonTag, iconTag) {
312
- return html`
313
- ${repeat((_) => DIAL_PAD_BUTTONS, html`
314
- <${buttonTag}
315
- id="${(x) => x.id}"
316
- value="${(x) => x.value}"
317
- stacked
318
- appearance="ghost-light"
319
- shape="pill"
320
- label="${(x) => x.label === "&nbsp;" ? "\xA0" : x.label}"
321
- size='condensed'
322
- class="digit-btn"
323
- ?autofocus="${(_, c) => c.parent.autofocus && c.parent.noInput && c.index === 0}"
324
- aria-label="${(x, c) => c.parent.locale.dialPad[x.ariaLabel]}"
325
- ?disabled="${(_, c) => c.parent.disabled}"
326
- @pointerdown="${(x, c) => c.parent._startLongPress(x.value, c.event)}"
327
- @pointerup="${(_, c) => c.parent._endLongPress()}"
328
- @pointercancel="${(_, c) => c.parent._cancelLongPress()}"
329
- @pointerleave="${(_, c) => c.parent._cancelLongPress()}"
330
- @keydown="${(x, c) => handleButtonKeyDown(x, {
331
- parent: c.parent,
332
- event: c.event
333
- })}"
334
- @keyup="${(x, c) => handleButtonKeyUp(x, {
335
- parent: c.parent,
336
- event: c.event
337
- })}"
338
- @click="${onDigitClick}">
339
- <${iconTag} slot="icon"
340
- name="${(x) => x.icon}"
341
- class="digit-btn-num"></${iconTag}>
342
- </${buttonTag}>
343
- `, { positioning: true })}
344
- `;
345
- }
346
- function renderDialButton(buttonTag) {
347
- return html`<${buttonTag} class="call-btn"
348
- size="${(x) => x.size === "condensed" ? "normal" : "expanded"}"
349
- appearance="filled"
350
- icon="${(x) => x.callActive ? "disable-call-line" : "call-line"}"
351
- connotation="${(x) => x.callActive ? "alert" : "cta"}"
352
- ?disabled="${(x) => x.disabled}"
353
- ?pending="${(x) => x.pending}"
354
- @click="${(x) => x._onDial()}"
355
- label="${(x) => x.callActive ? x.endCallButtonLabel || x.locale.dialPad.endCallButtonLabel : x.callButtonLabel || x.locale.dialPad.callButtonLabel}">
356
- </${buttonTag}>`;
357
- }
358
- function renderErrorAnnouncement(visuallyHiddenTag) {
359
- return html`<${visuallyHiddenTag} role="alert" aria-atomic="true">
360
- ${(x) => `${x.locale.dialPad.errorLabel} ${x._errorAnnouncement}`}
361
- </${visuallyHiddenTag}>`;
362
- }
363
- var DialPadTemplate = (context) => {
364
- const buttonTag = context.tagFor(Button);
365
- const iconTag = context.tagFor(Icon);
366
- const textFieldTag = context.tagFor(TextField);
367
- const visuallyHiddenTag = context.tagFor(VisuallyHidden);
368
- return html` <div class="${getClasses}">
369
- ${when((x) => !x.noInput, renderTextField(textFieldTag, buttonTag))}
370
- <div class="digits">${renderDigits(buttonTag, iconTag)}</div>
371
- ${when((x) => !x.noCall, renderDialButton(buttonTag))}
372
- ${renderErrorAnnouncement(visuallyHiddenTag)}
373
- </div>`;
334
+ /**
335
+ * @internal
336
+ */
337
+ get _pickerButtonLabel() {
338
+ if (this.start && this.end) return this.locale.calendarPicker.changeDatesLabel(formatPresentationDateRange({
339
+ start: this.start,
340
+ end: this.end
341
+ }, this.locale.calendarPicker));
342
+ else return this.locale.calendarPicker.chooseDatesLabel;
343
+ }
344
+ /**
345
+ * @internal
346
+ */
347
+ get _dialogLabel() {
348
+ return this.locale.calendarPicker.chooseDatesLabel;
349
+ }
350
+ /**
351
+ * @internal
352
+ */
353
+ _focusableElsWithinDialog() {
354
+ return this._dialogEl.querySelectorAll("button, .vwc-button");
355
+ }
356
+ /**
357
+ * @internal
358
+ */
359
+ get _pickerButtonIcon() {
360
+ return "calendar-line";
361
+ }
362
+ };
363
+ __decorate([attr({
364
+ mode: "fromView",
365
+ attribute: "start"
366
+ })], DateRangePicker.prototype, "initialStart", void 0);
367
+ __decorate([attr({
368
+ mode: "fromView",
369
+ attribute: "end"
370
+ })], DateRangePicker.prototype, "initialEnd", void 0);
371
+ __decorate([observable], DateRangePicker.prototype, "start", void 0);
372
+ __decorate([observable], DateRangePicker.prototype, "end", void 0);
373
+ __decorate([attr({ attribute: "current-start" })], DateRangePicker.prototype, "currentStart", void 0);
374
+ __decorate([attr({ attribute: "current-end" })], DateRangePicker.prototype, "currentEnd", void 0);
375
+ __decorate([observable], DateRangePicker.prototype, "_numCalendars", void 0);
376
+ __decorate([observable], DateRangePicker.prototype, "_hoverDate", void 0);
377
+ __decorate([volatile], DateRangePicker.prototype, "_pickerButtonLabel", null);
378
+ //#endregion
379
+ //#region src/lib/date-range-picker/date-range-picker.template.ts
380
+ var DateRangePickerTemplate = (context) => {
381
+ return PickerFieldTemplate(context, CalendarPickerTemplate(context), {
382
+ withSeparator: false,
383
+ padded: true
384
+ });
374
385
  };
375
386
  //#endregion
376
- //#region src/lib/dial-pad/definition.ts
387
+ //#region src/lib/date-range-picker/definition.ts
377
388
  /**
378
389
  * @internal
379
390
  */
380
- var dialPadDefinition = defineVividComponent("dial-pad", DialPad, DialPadTemplate, [
391
+ var dateRangePickerDefinition = defineVividComponent("date-range-picker", DateRangePicker, DateRangePickerTemplate, [
381
392
  buttonDefinition,
393
+ popupDefinition,
382
394
  textFieldDefinition,
383
- iconDefinition,
395
+ dividerDefinition,
384
396
  visuallyHiddenDefinition
385
- ], { styles: dial_pad_default });
397
+ ], {
398
+ styles: [picker_field_default, calendar_picker_default],
399
+ shadowOptions: { delegatesFocus: true }
400
+ });
386
401
  /**
387
- * Registers the dial-pad element with the design system.
402
+ * Registers the date-range-picker element with the design system.
388
403
  *
389
404
  * @param prefix - the prefix to use for the component name
390
405
  */
391
- var registerDialPad = createRegisterFunction(dialPadDefinition);
406
+ var registerDateRangePicker = createRegisterFunction(dateRangePickerDefinition);
392
407
  //#endregion
393
- export { registerDialPad as n, DialPad as r, dialPadDefinition as t };
408
+ export { registerDateRangePicker as n, DateRangePicker as r, dateRangePickerDefinition as t };