@vonage/vivid 5.15.0 → 5.16.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 (730) hide show
  1. package/README.md +1 -1
  2. package/accordion/definition.cjs +7 -212
  3. package/accordion/definition.js +2 -204
  4. package/accordion/index.cjs +4 -4
  5. package/accordion/index.js +93 -138
  6. package/accordion-item/definition.cjs +6 -146
  7. package/accordion-item/definition.js +2 -139
  8. package/accordion-item/index.cjs +1 -1
  9. package/accordion-item/index.js +6 -2
  10. package/action-group/definition.cjs +5 -69
  11. package/action-group/definition.js +1 -62
  12. package/action-group/index.cjs +4 -4
  13. package/action-group/index.js +16 -46
  14. package/alert/definition.cjs +6 -201
  15. package/alert/definition.js +2 -194
  16. package/alert/index.cjs +15 -15
  17. package/alert/index.js +90 -136
  18. package/audio-player/definition.cjs +6 -463
  19. package/audio-player/definition.js +2 -456
  20. package/audio-player/index.cjs +49 -49
  21. package/audio-player/index.js +234 -308
  22. package/avatar/definition.cjs +6 -117
  23. package/avatar/definition.js +2 -110
  24. package/avatar/index.cjs +14 -14
  25. package/avatar/index.js +44 -84
  26. package/badge/definition.cjs +6 -85
  27. package/badge/definition.js +2 -78
  28. package/badge/index.cjs +4 -4
  29. package/badge/index.js +21 -65
  30. package/banner/definition.cjs +6 -160
  31. package/banner/definition.js +2 -153
  32. package/banner/index.cjs +13 -13
  33. package/banner/index.js +76 -109
  34. package/breadcrumb/definition.cjs +5 -98
  35. package/breadcrumb/definition.js +1 -91
  36. package/breadcrumb/index.cjs +4 -4
  37. package/breadcrumb/index.js +33 -60
  38. package/breadcrumb-item/definition.cjs +7 -47
  39. package/breadcrumb-item/definition.js +3 -40
  40. package/breadcrumb-item/index.cjs +5 -5
  41. package/breadcrumb-item/index.js +20 -32
  42. package/bundled/affix.cjs +10 -10
  43. package/bundled/affix.js +44 -57
  44. package/bundled/anchored.cjs +3 -3
  45. package/bundled/anchored.js +47 -65
  46. package/bundled/aria.cjs +1 -1
  47. package/bundled/aria.js +6 -6
  48. package/bundled/attribute-binding-behaviour.cjs +1 -1
  49. package/bundled/attribute-binding-behaviour.js +17 -30
  50. package/bundled/base-color-picker.cjs +10 -10
  51. package/bundled/base-color-picker.js +115 -202
  52. package/bundled/base-progress.cjs +1 -1
  53. package/bundled/base-progress.js +29 -59
  54. package/bundled/breadcrumb-item.cjs +1 -1
  55. package/bundled/breadcrumb-item.js +11 -20
  56. package/bundled/button.cjs +1 -1
  57. package/bundled/button.js +65 -109
  58. package/bundled/calendar-event.cjs +1 -1
  59. package/bundled/calendar-event.js +11 -34
  60. package/bundled/calendar-picker.template.cjs +77 -77
  61. package/bundled/calendar-picker.template.js +2881 -3297
  62. package/bundled/char-count.cjs +7 -7
  63. package/bundled/char-count.js +31 -46
  64. package/bundled/children.cjs +1 -1
  65. package/bundled/children.js +27 -45
  66. package/bundled/class-names.cjs +1 -1
  67. package/bundled/class-names.js +8 -8
  68. package/bundled/data-grid.options.cjs +1 -1
  69. package/bundled/data-grid.options.js +22 -26
  70. package/bundled/decorate.cjs +1 -0
  71. package/bundled/decorate.js +9 -0
  72. package/bundled/definition.cjs +1 -39
  73. package/bundled/definition.js +5 -122
  74. package/bundled/definition10.cjs +27 -69
  75. package/bundled/definition10.js +173 -362
  76. package/bundled/definition11.cjs +19 -12
  77. package/bundled/definition11.js +77 -93
  78. package/bundled/definition12.cjs +11 -11
  79. package/bundled/definition12.js +122 -217
  80. package/bundled/definition13.cjs +18 -9
  81. package/bundled/definition13.js +76 -42
  82. package/bundled/definition14.cjs +10 -1
  83. package/bundled/definition14.js +28 -19
  84. package/bundled/definition15.cjs +73 -5
  85. package/bundled/definition15.js +194 -28
  86. package/bundled/definition16.cjs +5 -30
  87. package/bundled/definition16.js +16 -79
  88. package/bundled/definition17.cjs +13 -19
  89. package/bundled/definition17.js +81 -105
  90. package/bundled/definition18.cjs +12 -13
  91. package/bundled/definition18.js +67 -147
  92. package/bundled/definition19.cjs +48 -48
  93. package/bundled/definition19.js +365 -699
  94. package/bundled/definition2.cjs +8 -8
  95. package/bundled/definition2.js +80 -124
  96. package/bundled/definition20.cjs +5 -20
  97. package/bundled/definition20.js +11 -106
  98. package/bundled/definition21.cjs +20 -5
  99. package/bundled/definition21.js +57 -18
  100. package/bundled/definition22.cjs +16 -16
  101. package/bundled/definition22.js +79 -141
  102. package/bundled/definition3.cjs +1 -29
  103. package/bundled/definition3.js +183 -195
  104. package/bundled/definition4.cjs +39 -6
  105. package/bundled/definition4.js +71 -41
  106. package/bundled/definition5.cjs +30 -1
  107. package/bundled/definition5.js +48 -351
  108. package/bundled/definition6.cjs +28 -30
  109. package/bundled/definition6.js +110 -265
  110. package/bundled/definition7.cjs +6 -30
  111. package/bundled/definition7.js +22 -291
  112. package/bundled/definition8.cjs +13 -18
  113. package/bundled/definition8.js +150 -143
  114. package/bundled/definition9.cjs +29 -13
  115. package/bundled/definition9.js +157 -232
  116. package/bundled/delegates-aria.cjs +1 -1
  117. package/bundled/delegates-aria.js +56 -90
  118. package/bundled/dialog.cjs +1 -0
  119. package/bundled/dialog.js +6 -0
  120. package/bundled/divider.cjs +1 -1
  121. package/bundled/divider.js +16 -33
  122. package/bundled/dom.cjs +1 -1
  123. package/bundled/dom.js +5 -5
  124. package/bundled/enums.cjs +1 -1
  125. package/bundled/enums.js +16 -9
  126. package/bundled/floating-ui.dom.cjs +1 -1
  127. package/bundled/floating-ui.dom.js +953 -1234
  128. package/bundled/form-associated.cjs +1 -1
  129. package/bundled/form-associated.js +165 -327
  130. package/bundled/form-element.cjs +1 -1
  131. package/bundled/form-element.js +33 -55
  132. package/bundled/host-semantics.cjs +1 -1
  133. package/bundled/host-semantics.js +46 -69
  134. package/bundled/key-codes.cjs +1 -1
  135. package/bundled/key-codes.js +4 -16
  136. package/bundled/linkable.cjs +6 -6
  137. package/bundled/linkable.js +25 -45
  138. package/bundled/listbox.cjs +1 -1
  139. package/bundled/listbox.js +176 -368
  140. package/bundled/localized.cjs +1 -1
  141. package/bundled/localized.js +451 -564
  142. package/bundled/mixins.cjs +20 -20
  143. package/bundled/mixins.js +162 -213
  144. package/bundled/normalize.cjs +1 -1
  145. package/bundled/normalize.js +6 -6
  146. package/bundled/numbers.cjs +1 -1
  147. package/bundled/numbers.js +9 -11
  148. package/bundled/picker-field.template.cjs +23 -23
  149. package/bundled/picker-field.template.js +108 -172
  150. package/bundled/playbackRates.cjs +1 -1
  151. package/bundled/playbackRates.js +10 -10
  152. package/bundled/ref.cjs +1 -1
  153. package/bundled/ref.js +10 -14
  154. package/bundled/repeat.cjs +1 -1
  155. package/bundled/repeat.js +421 -552
  156. package/bundled/scrollIntoView.cjs +1 -1
  157. package/bundled/scrollIntoView.js +26 -32
  158. package/bundled/single-date-picker.cjs +1 -1
  159. package/bundled/single-date-picker.js +23 -38
  160. package/bundled/single-value-picker.cjs +1 -1
  161. package/bundled/single-value-picker.js +58 -86
  162. package/bundled/slider.template.cjs +13 -13
  163. package/bundled/slider.template.js +67 -78
  164. package/bundled/slottable-request.cjs +4 -4
  165. package/bundled/slottable-request.js +1937 -2904
  166. package/bundled/slotted.cjs +1 -1
  167. package/bundled/slotted.js +47 -97
  168. package/bundled/strings.cjs +1 -1
  169. package/bundled/strings.js +6 -6
  170. package/bundled/text-field.cjs +1 -1
  171. package/bundled/text-field.js +4 -4
  172. package/bundled/time-selection-picker.template.cjs +26 -26
  173. package/bundled/time-selection-picker.template.js +355 -555
  174. package/bundled/trapped-focus.cjs +1 -1
  175. package/bundled/trapped-focus.js +18 -25
  176. package/bundled/vivid-element.cjs +4 -5
  177. package/bundled/vivid-element.js +1778 -2794
  178. package/bundled/when.cjs +1 -1
  179. package/bundled/when.js +10 -10
  180. package/bundled/with-contextual-help.cjs +1 -1
  181. package/bundled/with-contextual-help.js +15 -31
  182. package/bundled/with-error-text.cjs +1 -1
  183. package/bundled/with-error-text.js +25 -38
  184. package/bundled/with-success-text.cjs +1 -1
  185. package/bundled/with-success-text.js +8 -15
  186. package/button/definition.cjs +6 -14
  187. package/button/definition.js +3 -4
  188. package/button/index.cjs +1 -1
  189. package/button/index.js +6 -2
  190. package/calendar/definition.cjs +5 -360
  191. package/calendar/definition.js +1 -353
  192. package/calendar/index.cjs +20 -20
  193. package/calendar/index.js +346 -403
  194. package/calendar-event/definition.cjs +6 -58
  195. package/calendar-event/definition.js +2 -51
  196. package/calendar-event/index.cjs +7 -7
  197. package/calendar-event/index.js +25 -41
  198. package/card/definition.cjs +6 -194
  199. package/card/definition.js +2 -187
  200. package/card/index.cjs +34 -34
  201. package/card/index.js +80 -133
  202. package/checkbox/definition.cjs +6 -210
  203. package/checkbox/definition.js +2 -203
  204. package/checkbox/index.cjs +1 -1
  205. package/checkbox/index.js +6 -2
  206. package/color-picker/definition.cjs +6 -1180
  207. package/color-picker/definition.js +2 -1173
  208. package/color-picker/index.cjs +94 -94
  209. package/color-picker/index.js +605 -742
  210. package/combobox/definition.cjs +6 -653
  211. package/combobox/definition.js +2 -646
  212. package/combobox/index.cjs +37 -37
  213. package/combobox/index.js +254 -465
  214. package/contextual-help/definition.cjs +6 -63
  215. package/contextual-help/definition.js +2 -56
  216. package/contextual-help/index.cjs +1 -1
  217. package/contextual-help/index.js +6 -2
  218. package/country/definition.cjs +6 -340
  219. package/country/definition.js +2 -333
  220. package/country/index.cjs +6 -6
  221. package/country/index.js +1209 -308
  222. package/custom-elements.json +550 -1571
  223. package/data-grid/definition.cjs +10 -2363
  224. package/data-grid/definition.js +2 -2352
  225. package/data-grid/index.cjs +61 -61
  226. package/data-grid/index.js +642 -1024
  227. package/date-picker/definition.cjs +6 -152
  228. package/date-picker/definition.js +2 -145
  229. package/date-picker/index.cjs +1 -1
  230. package/date-picker/index.js +66 -114
  231. package/date-range-picker/definition.cjs +6 -469
  232. package/date-range-picker/definition.js +2 -462
  233. package/date-range-picker/index.cjs +1 -1
  234. package/date-range-picker/index.js +218 -338
  235. package/date-time-picker/definition.cjs +6 -285
  236. package/date-time-picker/definition.js +2 -278
  237. package/date-time-picker/index.cjs +4 -4
  238. package/date-time-picker/index.js +116 -211
  239. package/dial-pad/definition.cjs +6 -469
  240. package/dial-pad/definition.js +2 -462
  241. package/dial-pad/index.cjs +42 -42
  242. package/dial-pad/index.js +195 -311
  243. package/dialog/definition.cjs +6 -350
  244. package/dialog/definition.js +2 -343
  245. package/dialog/index.cjs +28 -28
  246. package/dialog/index.js +148 -230
  247. package/divider/definition.cjs +6 -42
  248. package/divider/definition.js +2 -35
  249. package/divider/index.cjs +1 -1
  250. package/divider/index.js +5 -2
  251. package/elevation/definition.cjs +4 -11
  252. package/elevation/definition.js +2 -2
  253. package/elevation/index.cjs +1 -1
  254. package/elevation/index.js +5 -2
  255. package/empty-state/definition.cjs +6 -86
  256. package/empty-state/definition.js +2 -79
  257. package/empty-state/index.cjs +9 -9
  258. package/empty-state/index.js +28 -60
  259. package/fab/definition.cjs +6 -106
  260. package/fab/definition.js +2 -99
  261. package/fab/index.cjs +17 -17
  262. package/fab/index.js +46 -82
  263. package/file-picker/definition.cjs +6 -526
  264. package/file-picker/definition.js +2 -519
  265. package/file-picker/index.cjs +25 -25
  266. package/file-picker/index.js +246 -354
  267. package/header/definition.cjs +5 -78
  268. package/header/definition.js +1 -71
  269. package/header/index.cjs +5 -5
  270. package/header/index.js +28 -42
  271. package/icon/definition.cjs +5 -200
  272. package/icon/definition.js +1 -193
  273. package/icon/index.cjs +1 -1
  274. package/icon/index.js +5 -2
  275. package/index.cjs +350 -356
  276. package/index.js +79 -78
  277. package/layout/definition.cjs +5 -72
  278. package/layout/definition.js +1 -65
  279. package/layout/index.cjs +2 -2
  280. package/layout/index.js +10 -51
  281. package/lib/alert/alert.d.ts +0 -1
  282. package/lib/audio-player/audio-player.d.ts +0 -1
  283. package/lib/banner/banner.d.ts +0 -2
  284. package/lib/button/button.d.ts +0 -1
  285. package/lib/calendar/calendar.d.ts +0 -1
  286. package/lib/card/card.d.ts +0 -2
  287. package/lib/combobox/combobox.d.ts +1 -1
  288. package/lib/data-grid/data-grid-cell.d.ts +0 -3
  289. package/lib/data-grid/data-grid-row.d.ts +0 -3
  290. package/lib/data-grid/data-grid.d.ts +0 -1
  291. package/lib/fab/fab.d.ts +0 -1
  292. package/lib/file-picker/file-picker.d.ts +1 -1
  293. package/lib/icon/icon.d.ts +0 -2
  294. package/lib/menu/menu.d.ts +0 -1
  295. package/lib/menu-item/menu-item.d.ts +0 -1
  296. package/lib/option/option.d.ts +4 -0
  297. package/lib/pagination/pagination.d.ts +0 -7
  298. package/lib/popover/popover.d.ts +0 -5
  299. package/lib/select/select.d.ts +2 -2
  300. package/lib/split-button/split-button.d.ts +0 -2
  301. package/lib/tab/tab.d.ts +0 -2
  302. package/lib/table/table-head.d.ts +1 -0
  303. package/lib/tabs/tabs.d.ts +0 -1
  304. package/lib/tag/tag.d.ts +0 -2
  305. package/lib/text-field/text-field.d.ts +0 -1
  306. package/lib/toggletip/toggletip.d.ts +0 -1
  307. package/lib/tree-item/tree-item.d.ts +0 -2
  308. package/lib/tree-view/tree-view.d.ts +0 -1
  309. package/locales/de-DE.cjs +382 -492
  310. package/locales/de-DE.js +383 -490
  311. package/locales/en-GB.cjs +271 -382
  312. package/locales/en-GB.js +272 -380
  313. package/locales/en-US.cjs +2 -552
  314. package/locales/en-US.js +1 -549
  315. package/locales/ja-JP.cjs +376 -492
  316. package/locales/ja-JP.js +377 -490
  317. package/locales/zh-CN.cjs +378 -495
  318. package/locales/zh-CN.js +379 -493
  319. package/menu/definition.cjs +6 -394
  320. package/menu/definition.js +2 -387
  321. package/menu/index.cjs +1 -1
  322. package/menu/index.js +6 -2
  323. package/menu-item/definition.cjs +7 -14
  324. package/menu-item/definition.js +3 -3
  325. package/menu-item/index.cjs +1 -1
  326. package/menu-item/index.js +6 -2
  327. package/nav/definition.cjs +5 -27
  328. package/nav/definition.js +1 -20
  329. package/nav/index.cjs +3 -3
  330. package/nav/index.js +7 -10
  331. package/nav-disclosure/definition.cjs +6 -122
  332. package/nav-disclosure/definition.js +2 -115
  333. package/nav-disclosure/index.cjs +8 -8
  334. package/nav-disclosure/index.js +49 -86
  335. package/nav-item/definition.cjs +6 -79
  336. package/nav-item/definition.js +2 -72
  337. package/nav-item/index.cjs +2 -2
  338. package/nav-item/index.js +33 -58
  339. package/note/definition.cjs +6 -61
  340. package/note/definition.js +2 -54
  341. package/note/index.cjs +5 -5
  342. package/note/index.js +24 -38
  343. package/number-field/definition.cjs +6 -440
  344. package/number-field/definition.js +2 -433
  345. package/number-field/index.cjs +31 -31
  346. package/number-field/index.js +160 -328
  347. package/option/definition.cjs +6 -13
  348. package/option/definition.js +3 -3
  349. package/option/index.cjs +1 -1
  350. package/option/index.js +6 -2
  351. package/package.json +24 -23
  352. package/pagination/definition.cjs +6 -256
  353. package/pagination/definition.js +2 -249
  354. package/pagination/index.cjs +37 -37
  355. package/pagination/index.js +148 -188
  356. package/popover/definition.cjs +6 -363
  357. package/popover/definition.js +2 -356
  358. package/popover/index.cjs +16 -16
  359. package/popover/index.js +161 -250
  360. package/popup/definition.cjs +5 -13
  361. package/popup/definition.js +3 -4
  362. package/popup/index.cjs +1 -1
  363. package/popup/index.js +6 -2
  364. package/progress/definition.cjs +5 -87
  365. package/progress/definition.js +1 -80
  366. package/progress/index.cjs +9 -9
  367. package/progress/index.js +33 -55
  368. package/progress-ring/definition.cjs +5 -95
  369. package/progress-ring/definition.js +1 -88
  370. package/progress-ring/index.cjs +1 -1
  371. package/progress-ring/index.js +5 -2
  372. package/radio/definition.cjs +5 -231
  373. package/radio/definition.js +1 -224
  374. package/radio/index.cjs +1 -1
  375. package/radio/index.js +5 -2
  376. package/radio-group/definition.cjs +6 -361
  377. package/radio-group/definition.js +2 -354
  378. package/radio-group/index.cjs +10 -10
  379. package/radio-group/index.js +160 -242
  380. package/range-slider/definition.cjs +6 -632
  381. package/range-slider/definition.js +2 -625
  382. package/range-slider/index.cjs +41 -41
  383. package/range-slider/index.js +259 -429
  384. package/rich-text-editor/definition.cjs +32 -15609
  385. package/rich-text-editor/definition.js +2 -15576
  386. package/rich-text-editor/index.cjs +17 -17
  387. package/rich-text-editor/index.js +9061 -11419
  388. package/rich-text-view/definition.cjs +5 -171
  389. package/rich-text-view/definition.js +1 -164
  390. package/rich-text-view/index.cjs +1 -1
  391. package/rich-text-view/index.js +68 -102
  392. package/searchable-select/definition.cjs +5 -1404
  393. package/searchable-select/definition.js +2 -1398
  394. package/searchable-select/index.cjs +94 -94
  395. package/searchable-select/index.js +600 -1019
  396. package/select/definition.cjs +6 -1012
  397. package/select/definition.js +2 -1005
  398. package/select/index.cjs +1 -1
  399. package/select/index.js +6 -2
  400. package/selectable-box/definition.cjs +6 -174
  401. package/selectable-box/definition.js +2 -167
  402. package/selectable-box/index.cjs +18 -18
  403. package/selectable-box/index.js +66 -127
  404. package/side-drawer/definition.cjs +5 -130
  405. package/side-drawer/definition.js +1 -123
  406. package/side-drawer/index.cjs +7 -7
  407. package/side-drawer/index.js +47 -92
  408. package/simple-color-picker/definition.cjs +6 -216
  409. package/simple-color-picker/definition.js +2 -209
  410. package/simple-color-picker/index.cjs +15 -15
  411. package/simple-color-picker/index.js +98 -135
  412. package/slider/definition.cjs +6 -504
  413. package/slider/definition.js +2 -497
  414. package/slider/index.cjs +1 -1
  415. package/slider/index.js +6 -2
  416. package/split-button/definition.cjs +6 -176
  417. package/split-button/definition.js +2 -169
  418. package/split-button/index.cjs +15 -15
  419. package/split-button/index.js +74 -135
  420. package/status/definition.cjs +6 -76
  421. package/status/definition.js +2 -69
  422. package/status/index.cjs +10 -7
  423. package/status/index.js +38 -48
  424. package/styles/core/all.css +6 -5
  425. package/styles/core/theme.css +6 -5
  426. package/styles/core/typography.css +1 -2
  427. package/styles/tokens/theme-dark.css +17 -21
  428. package/styles/tokens/theme-light.css +17 -21
  429. package/styles/tokens/vivid-2-compat.css +1 -2
  430. package/switch/definition.cjs +6 -149
  431. package/switch/definition.js +2 -142
  432. package/switch/index.cjs +8 -8
  433. package/switch/index.js +48 -93
  434. package/tab/definition.cjs +6 -127
  435. package/tab/definition.js +2 -120
  436. package/tab/index.cjs +1 -1
  437. package/tab/index.js +6 -2
  438. package/tab-panel/definition.cjs +5 -29
  439. package/tab-panel/definition.js +1 -22
  440. package/tab-panel/index.cjs +1 -1
  441. package/tab-panel/index.js +5 -2
  442. package/table/definition.cjs +15 -168
  443. package/table/definition.js +1 -151
  444. package/table/index.cjs +20 -16
  445. package/table/index.js +36 -85
  446. package/tabs/definition.cjs +7 -469
  447. package/tabs/definition.js +2 -461
  448. package/tabs/index.cjs +11 -11
  449. package/tabs/index.js +169 -298
  450. package/tag/definition.cjs +6 -176
  451. package/tag/definition.js +2 -169
  452. package/tag/index.cjs +26 -26
  453. package/tag/index.js +65 -126
  454. package/tag-group/definition.cjs +5 -40
  455. package/tag-group/definition.js +1 -33
  456. package/tag-group/index.cjs +4 -4
  457. package/tag-group/index.js +10 -21
  458. package/text-area/definition.cjs +6 -361
  459. package/text-area/definition.js +2 -354
  460. package/text-area/index.cjs +11 -11
  461. package/text-area/index.js +153 -266
  462. package/text-field/definition.cjs +6 -433
  463. package/text-field/definition.js +2 -426
  464. package/text-field/index.cjs +1 -1
  465. package/text-field/index.js +6 -2
  466. package/time-picker/definition.cjs +7 -43
  467. package/time-picker/definition.js +3 -36
  468. package/time-picker/index.cjs +1 -1
  469. package/time-picker/index.js +24 -29
  470. package/toggletip/definition.cjs +6 -161
  471. package/toggletip/definition.js +2 -154
  472. package/toggletip/index.cjs +1 -1
  473. package/toggletip/index.js +6 -2
  474. package/tooltip/definition.cjs +6 -140
  475. package/tooltip/definition.js +2 -133
  476. package/tooltip/index.cjs +1 -1
  477. package/tooltip/index.js +6 -2
  478. package/tree-item/definition.cjs +6 -13
  479. package/tree-item/definition.js +3 -3
  480. package/tree-item/index.cjs +1 -1
  481. package/tree-item/index.js +6 -2
  482. package/tree-view/definition.cjs +6 -318
  483. package/tree-view/definition.js +2 -311
  484. package/tree-view/index.cjs +11 -11
  485. package/tree-view/index.js +145 -190
  486. package/unbundled/affix.cjs +89 -62
  487. package/unbundled/affix.js +58 -55
  488. package/unbundled/anchored.cjs +87 -94
  489. package/unbundled/anchored.js +74 -90
  490. package/unbundled/attribute-binding-behaviour.cjs +37 -43
  491. package/unbundled/attribute-binding-behaviour.js +31 -41
  492. package/unbundled/base-color-picker.cjs +226 -278
  493. package/unbundled/base-color-picker.js +214 -275
  494. package/unbundled/base-progress.cjs +63 -81
  495. package/unbundled/base-progress.js +57 -79
  496. package/unbundled/breadcrumb-item.cjs +24 -28
  497. package/unbundled/breadcrumb-item.js +18 -26
  498. package/unbundled/button.cjs +115 -175
  499. package/unbundled/button.js +109 -173
  500. package/unbundled/calendar-event.cjs +28 -41
  501. package/unbundled/calendar-event.js +22 -39
  502. package/unbundled/calendar-picker.template.cjs +620 -785
  503. package/unbundled/calendar-picker.template.js +560 -774
  504. package/unbundled/char-count.cjs +50 -80
  505. package/unbundled/char-count.js +44 -78
  506. package/unbundled/chunk.cjs +50 -0
  507. package/unbundled/chunk.js +33 -0
  508. package/unbundled/data-grid.options.cjs +80 -29
  509. package/unbundled/data-grid.options.js +51 -23
  510. package/unbundled/decorate.cjs +14 -0
  511. package/unbundled/decorate.js +9 -0
  512. package/unbundled/definition.cjs +42 -226
  513. package/unbundled/definition.js +24 -221
  514. package/unbundled/definition10.cjs +253 -0
  515. package/unbundled/definition10.js +229 -0
  516. package/unbundled/definition11.cjs +397 -0
  517. package/unbundled/definition11.js +379 -0
  518. package/unbundled/definition12.cjs +317 -0
  519. package/unbundled/definition12.js +287 -0
  520. package/unbundled/definition13.cjs +328 -0
  521. package/unbundled/definition13.js +310 -0
  522. package/unbundled/definition14.cjs +406 -0
  523. package/unbundled/definition14.js +388 -0
  524. package/unbundled/definition15.cjs +107 -0
  525. package/unbundled/definition15.js +89 -0
  526. package/unbundled/definition16.cjs +63 -0
  527. package/unbundled/definition16.js +45 -0
  528. package/unbundled/definition17.cjs +151 -0
  529. package/unbundled/definition17.js +133 -0
  530. package/unbundled/definition18.cjs +47 -0
  531. package/unbundled/definition18.js +35 -0
  532. package/unbundled/definition19.cjs +98 -0
  533. package/unbundled/definition19.js +80 -0
  534. package/unbundled/definition2.cjs +179 -401
  535. package/unbundled/definition2.js +161 -395
  536. package/unbundled/definition20.cjs +56 -0
  537. package/unbundled/definition20.js +43 -0
  538. package/unbundled/definition21.cjs +305 -0
  539. package/unbundled/definition21.js +286 -0
  540. package/unbundled/definition22.cjs +174 -0
  541. package/unbundled/definition22.js +156 -0
  542. package/unbundled/definition23.cjs +161 -0
  543. package/unbundled/definition23.js +143 -0
  544. package/unbundled/definition24.cjs +1038 -0
  545. package/unbundled/definition24.js +1020 -0
  546. package/unbundled/definition25.cjs +360 -0
  547. package/unbundled/definition25.js +342 -0
  548. package/unbundled/definition26.cjs +137 -0
  549. package/unbundled/definition26.js +119 -0
  550. package/unbundled/definition27.cjs +235 -0
  551. package/unbundled/definition27.js +211 -0
  552. package/unbundled/definition28.cjs +546 -0
  553. package/unbundled/definition28.js +528 -0
  554. package/unbundled/definition29.cjs +157 -0
  555. package/unbundled/definition29.js +139 -0
  556. package/unbundled/definition3.cjs +131 -285
  557. package/unbundled/definition3.js +113 -280
  558. package/unbundled/definition30.cjs +75 -0
  559. package/unbundled/definition30.js +57 -0
  560. package/unbundled/definition31.cjs +1265 -0
  561. package/unbundled/definition31.js +1247 -0
  562. package/unbundled/definition32.cjs +1908 -0
  563. package/unbundled/definition32.js +1866 -0
  564. package/unbundled/definition33.cjs +261 -0
  565. package/unbundled/definition33.js +183 -0
  566. package/unbundled/definition34.cjs +46 -0
  567. package/unbundled/definition34.js +33 -0
  568. package/unbundled/definition35.cjs +152 -0
  569. package/unbundled/definition35.js +134 -0
  570. package/unbundled/definition36.cjs +426 -0
  571. package/unbundled/definition36.js +408 -0
  572. package/unbundled/definition37.cjs +243 -0
  573. package/unbundled/definition37.js +225 -0
  574. package/unbundled/definition38.cjs +409 -0
  575. package/unbundled/definition38.js +391 -0
  576. package/unbundled/definition39.cjs +298 -0
  577. package/unbundled/definition39.js +280 -0
  578. package/unbundled/definition4.cjs +186 -206
  579. package/unbundled/definition4.js +162 -201
  580. package/unbundled/definition40.cjs +81 -0
  581. package/unbundled/definition40.js +63 -0
  582. package/unbundled/definition41.cjs +100 -0
  583. package/unbundled/definition41.js +82 -0
  584. package/unbundled/definition42.cjs +457 -0
  585. package/unbundled/definition42.js +439 -0
  586. package/unbundled/definition43.cjs +86 -0
  587. package/unbundled/definition43.js +68 -0
  588. package/unbundled/definition44.cjs +60 -0
  589. package/unbundled/definition44.js +41 -0
  590. package/unbundled/definition45.cjs +124 -0
  591. package/unbundled/definition45.js +106 -0
  592. package/unbundled/definition46.cjs +85 -0
  593. package/unbundled/definition46.js +67 -0
  594. package/unbundled/definition47.cjs +52 -0
  595. package/unbundled/definition47.js +31 -0
  596. package/unbundled/definition48.cjs +69 -0
  597. package/unbundled/definition48.js +51 -0
  598. package/unbundled/definition49.cjs +377 -0
  599. package/unbundled/definition49.js +359 -0
  600. package/unbundled/definition5.cjs +69 -298
  601. package/unbundled/definition5.js +44 -293
  602. package/unbundled/definition50.cjs +246 -0
  603. package/unbundled/definition50.js +228 -0
  604. package/unbundled/definition51.cjs +337 -0
  605. package/unbundled/definition51.js +319 -0
  606. package/unbundled/definition52.cjs +86 -0
  607. package/unbundled/definition52.js +67 -0
  608. package/unbundled/definition53.cjs +193 -0
  609. package/unbundled/definition53.js +174 -0
  610. package/unbundled/definition54.cjs +297 -0
  611. package/unbundled/definition54.js +279 -0
  612. package/unbundled/definition55.cjs +510 -0
  613. package/unbundled/definition55.js +492 -0
  614. package/unbundled/definition56.cjs +12728 -0
  615. package/unbundled/definition56.js +12553 -0
  616. package/unbundled/definition57.cjs +837 -0
  617. package/unbundled/definition57.js +819 -0
  618. package/unbundled/definition58.cjs +146 -0
  619. package/unbundled/definition58.js +128 -0
  620. package/unbundled/definition59.cjs +1080 -0
  621. package/unbundled/definition59.js +1062 -0
  622. package/unbundled/definition6.cjs +88 -56
  623. package/unbundled/definition6.js +69 -52
  624. package/unbundled/definition60.cjs +149 -0
  625. package/unbundled/definition60.js +131 -0
  626. package/unbundled/definition61.cjs +116 -0
  627. package/unbundled/definition61.js +97 -0
  628. package/unbundled/definition62.cjs +213 -0
  629. package/unbundled/definition62.js +195 -0
  630. package/unbundled/definition63.cjs +159 -0
  631. package/unbundled/definition63.js +141 -0
  632. package/unbundled/definition64.cjs +86 -0
  633. package/unbundled/definition64.js +68 -0
  634. package/unbundled/definition65.cjs +126 -0
  635. package/unbundled/definition65.js +107 -0
  636. package/unbundled/definition66.cjs +49 -0
  637. package/unbundled/definition66.js +28 -0
  638. package/unbundled/definition67.cjs +119 -0
  639. package/unbundled/definition67.js +101 -0
  640. package/unbundled/definition68.cjs +374 -0
  641. package/unbundled/definition68.js +349 -0
  642. package/unbundled/definition69.cjs +57 -0
  643. package/unbundled/definition69.js +38 -0
  644. package/unbundled/definition7.cjs +190 -0
  645. package/unbundled/definition7.js +166 -0
  646. package/unbundled/definition70.cjs +155 -0
  647. package/unbundled/definition70.js +137 -0
  648. package/unbundled/definition71.cjs +302 -0
  649. package/unbundled/definition71.js +284 -0
  650. package/unbundled/definition72.cjs +49 -0
  651. package/unbundled/definition72.js +38 -0
  652. package/unbundled/definition73.cjs +171 -0
  653. package/unbundled/definition73.js +147 -0
  654. package/unbundled/definition74.cjs +232 -0
  655. package/unbundled/definition74.js +213 -0
  656. package/unbundled/definition75.cjs +52241 -0
  657. package/unbundled/definition75.js +52223 -0
  658. package/unbundled/definition8.cjs +63 -0
  659. package/unbundled/definition8.js +44 -0
  660. package/unbundled/definition9.cjs +183 -0
  661. package/unbundled/definition9.js +165 -0
  662. package/unbundled/delegates-aria.cjs +90 -131
  663. package/unbundled/delegates-aria.js +77 -127
  664. package/unbundled/dialog.cjs +15 -0
  665. package/unbundled/dialog.js +10 -0
  666. package/unbundled/divider.cjs +42 -50
  667. package/unbundled/divider.js +30 -47
  668. package/unbundled/en-US.cjs +447 -0
  669. package/unbundled/en-US.js +443 -0
  670. package/unbundled/enums.cjs +166 -107
  671. package/unbundled/enums.js +95 -94
  672. package/unbundled/form-associated.cjs +408 -464
  673. package/unbundled/form-associated.js +396 -461
  674. package/unbundled/form-element.cjs +74 -83
  675. package/unbundled/form-element.js +68 -81
  676. package/unbundled/host-semantics.cjs +70 -88
  677. package/unbundled/host-semantics.js +57 -84
  678. package/unbundled/key-codes.cjs +16 -10
  679. package/unbundled/key-codes.js +5 -7
  680. package/unbundled/linkable.cjs +35 -56
  681. package/unbundled/linkable.js +27 -52
  682. package/unbundled/listbox.cjs +363 -473
  683. package/unbundled/listbox.js +357 -471
  684. package/unbundled/localized.cjs +79 -74
  685. package/unbundled/localized.js +61 -70
  686. package/unbundled/mixins.cjs +222 -225
  687. package/unbundled/mixins.js +186 -213
  688. package/unbundled/picker-field.template.cjs +188 -218
  689. package/unbundled/picker-field.template.js +165 -209
  690. package/unbundled/playbackRates.cjs +18 -11
  691. package/unbundled/playbackRates.js +13 -9
  692. package/unbundled/scrollIntoView.cjs +38 -44
  693. package/unbundled/scrollIntoView.js +33 -42
  694. package/unbundled/single-date-picker.cjs +48 -45
  695. package/unbundled/single-date-picker.js +43 -43
  696. package/unbundled/single-value-picker.cjs +106 -114
  697. package/unbundled/single-value-picker.js +101 -112
  698. package/unbundled/slider.template.cjs +107 -73
  699. package/unbundled/slider.template.js +67 -62
  700. package/unbundled/slottable-request.cjs +3114 -3503
  701. package/unbundled/slottable-request.js +2995 -3484
  702. package/unbundled/text-field.cjs +9 -5
  703. package/unbundled/text-field.js +4 -3
  704. package/unbundled/time-selection-picker.template.cjs +611 -758
  705. package/unbundled/time-selection-picker.template.js +554 -745
  706. package/unbundled/trapped-focus.cjs +45 -35
  707. package/unbundled/trapped-focus.js +34 -32
  708. package/unbundled/vivid-element.cjs +281 -273
  709. package/unbundled/vivid-element.js +239 -265
  710. package/unbundled/with-contextual-help.cjs +35 -39
  711. package/unbundled/with-contextual-help.js +29 -37
  712. package/unbundled/with-error-text.cjs +45 -55
  713. package/unbundled/with-error-text.js +39 -53
  714. package/unbundled/with-success-text.cjs +18 -22
  715. package/unbundled/with-success-text.js +12 -20
  716. package/video-player/definition.cjs +5 -69602
  717. package/video-player/definition.js +1 -69595
  718. package/video-player/index.cjs +44 -55
  719. package/video-player/index.js +23548 -35488
  720. package/visually-hidden/definition.cjs +5 -30
  721. package/visually-hidden/definition.js +1 -23
  722. package/visually-hidden/index.cjs +1 -1
  723. package/visually-hidden/index.js +5 -2
  724. package/vivid.api.json +197 -2003
  725. package/bundled/index.cjs +0 -1
  726. package/bundled/index.js +0 -6
  727. package/unbundled/_commonjsHelpers.cjs +0 -36
  728. package/unbundled/_commonjsHelpers.js +0 -32
  729. package/unbundled/index.cjs +0 -11
  730. package/unbundled/index.js +0 -9
@@ -1,609 +1,524 @@
1
- 'use strict';
2
-
3
- const dateFns = require('date-fns');
4
- const fastElement = require('@microsoft/fast-element');
5
- const fastWebUtilities = require('@microsoft/fast-web-utilities');
6
- const divider = require('./divider.cjs');
7
- const button_definition = require('./definition.cjs');
8
- const visuallyHidden_definition = require('../visually-hidden/definition.cjs');
9
-
10
- const calendarStyles = ".segments{gap:24px}@media (width >= 648px){.segments{display:inline-flex}}.segment{display:flex;flex-direction:column;gap:12px}.segment .header{display:flex;align-items:center;padding-block:8px}.segment .title{display:flex;flex-grow:1;justify-content:center}.segment .title-action{border-radius:8px;block-size:24px;font:var(--vvd-typography-base-extended);padding-inline:8px}.calendar{display:flex;flex-direction:column;margin-top:8px;gap:4px}.calendar .calendar-separator{margin-inline:10px}.calendar .calendar-weekdays{display:flex;justify-content:center}.calendar .calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:16px;font:var(--vvd-typography-base-condensed);inline-size:40px}.calendar .calendar-week{display:flex;justify-content:center}.calendar .calendar-day{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:28px;font:var(--vvd-typography-base);margin-inline:6px}.calendar .calendar-day.start,.calendar .calendar-day.end{border:2px solid var(--vvd-color-cta-50);background-color:var(--vvd-color-cta-200)}.calendar:focus-visible .calendar .calendar-day.start,.calendar:focus-visible .calendar .calendar-day.end{border-width:3px}.calendar .calendar-day:before,.calendar .calendar-day:after{position:absolute;z-index:-1;display:block;width:20px;height:28px}.calendar .calendar-day:before{right:50%}.calendar .calendar-day:after{left:50%}.calendar .calendar-day.range:before,.calendar .calendar-day.range:after{background-color:var(--vvd-color-cta-50)}.calendar .calendar-day.range:not(.start):before,.calendar .calendar-day.range:not(.end):after{content:\"\"}.calendar .calendar-day.outside-month,.calendar .calendar-day:disabled{color:var(--vvd-color-neutral-400)}.months-separator{margin-inline:-12px}.month-grid{display:flex;flex-direction:column;gap:34px}.month-grid .months-row{display:flex;justify-content:center;gap:29px}.month-grid .month{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:48px;font:var(--vvd-typography-base-extended);text-transform:uppercase}.month-grid .month:disabled{color:var(--vvd-color-neutral-400)}.button{--_connotation-color-primary: var(--vvd-date-picker-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-firm: var(--vvd-date-picker-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-date-picker-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-date-picker-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-dim: var(--vvd-date-picker-accent-dim, var(--vvd-color-neutral-200));--_connotation-color-pale: var(--vvd-date-picker-accent-pale, var(--vvd-color-neutral-300))}.button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.button:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.button.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.button:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.button.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.button.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.button.selected:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: transparent}.button.selected.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: transparent}.button{position:relative;padding:0;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer}.button:disabled{cursor:not-allowed}.button:focus:not(.title-action),.button.title-action:focus-visible{--focus-stroke-gap-color: transparent;color:var(--vvd-color-canvas-text);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))}.button:focus:not(.title-action).start,.button:focus:not(.title-action).end,.button.title-action:focus-visible.start,.button.title-action:focus-visible.end{border-width:3px}.button.current{border:1px solid var(--vvd-color-neutral-200)}.button.selected{border:1px solid var(--vvd-color-neutral-900)}";
11
-
12
- const formatDateStr = (date) => dateFns.formatISO(date, { representation: "date" });
13
- const currentDateStr = (now = /* @__PURE__ */ new Date()) => formatDateStr(now);
14
- const parseDateStr = (dateStr) => {
15
- const [year, month, day] = dateStr.split("-");
16
- return new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
1
+ require("./chunk.cjs");
2
+ const require_definition = require("./definition.cjs");
3
+ const require_decorate = require("./decorate.cjs");
4
+ const require_definition$1 = require("./definition7.cjs");
5
+ const require_divider = require("./divider.cjs");
6
+ let _microsoft_fast_element = require("@microsoft/fast-element");
7
+ let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
8
+ let date_fns = require("date-fns");
9
+ //#region src/shared/picker-field/mixins/calendar-picker.scss?inline
10
+ var calendar_picker_default = ".segments{gap:24px}@media (width>=648px){.segments{display:inline-flex}}.segment{flex-direction:column;gap:12px;display:flex}.segment .header{align-items:center;padding-block:8px;display:flex}.segment .title{flex-grow:1;justify-content:center;display:flex}.segment .title-action{block-size:24px;font:var(--vvd-typography-base-extended);border-radius:8px;padding-inline:8px}.calendar{flex-direction:column;gap:4px;margin-top:8px;display:flex}.calendar .calendar-separator{margin-inline:10px}.calendar .calendar-weekdays{justify-content:center;display:flex}.calendar .calendar-weekday{block-size:16px;font:var(--vvd-typography-base-condensed);justify-content:center;align-items:center;inline-size:40px;display:inline-flex}.calendar .calendar-week{justify-content:center;display:flex}.calendar .calendar-day{aspect-ratio:1;block-size:28px;font:var(--vvd-typography-base);border-radius:50%;justify-content:center;align-items:center;margin-inline:6px;display:inline-flex}.calendar .calendar-day.start,.calendar .calendar-day.end{border:2px solid var(--vvd-color-cta-50);background-color:var(--vvd-color-cta-200)}.calendar:focus-visible .calendar .calendar-day.start,.calendar:focus-visible .calendar .calendar-day.end{border-width:3px}.calendar .calendar-day:before,.calendar .calendar-day:after{z-index:-1;width:20px;height:28px;display:block;position:absolute}.calendar .calendar-day:before{right:50%}.calendar .calendar-day:after{left:50%}.calendar .calendar-day.range:before,.calendar .calendar-day.range:after{background-color:var(--vvd-color-cta-50)}.calendar .calendar-day.range:not(.start):before,.calendar .calendar-day.range:not(.end):after{content:\"\"}.calendar .calendar-day.outside-month,.calendar .calendar-day:disabled{color:var(--vvd-color-neutral-400)}.months-separator{margin-inline:-12px}.month-grid{flex-direction:column;gap:34px;display:flex}.month-grid .months-row{justify-content:center;gap:29px;display:flex}.month-grid .month{aspect-ratio:1;block-size:48px;font:var(--vvd-typography-base-extended);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.month-grid .month:disabled{color:var(--vvd-color-neutral-400)}.button{--_connotation-color-primary:var(--vvd-date-picker-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-firm:var(--vvd-date-picker-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-faint:var(--vvd-date-picker-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-date-picker-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-dim:var(--vvd-date-picker-accent-dim,var(--vvd-color-neutral-200));--_connotation-color-pale:var(--vvd-date-picker-accent-pale,var(--vvd-color-neutral-300));--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.button:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.button.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.button:active:where(:not(.disabled,:disabled)),.button.active:where(:not(.disabled,:disabled)),.button.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}@media (hover:hover){.button.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}}.button.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}.button.selected:disabled,.button.selected.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:transparent}.button{background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer;border:none;padding:0;position:relative}.button:disabled{cursor:not-allowed}.button:focus:not(.title-action),.button.title-action:focus-visible{--focus-stroke-gap-color:transparent;color:var(--vvd-color-canvas-text);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))}.button:focus:not(.title-action).start,.button:focus:not(.title-action).end,.button.title-action:focus-visible.start,.button.title-action:focus-visible.end{border-width:3px}.button.current{border:1px solid var(--vvd-color-neutral-200)}.button.selected{border:1px solid var(--vvd-color-neutral-900)}";
11
+ //#endregion
12
+ //#region src/shared/datetime/dateStr.ts
13
+ var formatDateStr = (date) => (0, date_fns.formatISO)(date, { representation: "date" });
14
+ var currentDateStr = (now = /* @__PURE__ */ new Date()) => formatDateStr(now);
15
+ var parseDateStr = (dateStr) => {
16
+ const [year, month, day] = dateStr.split("-");
17
+ return new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
17
18
  };
18
- const addDays = (dateStr, days) => {
19
- const date = parseDateStr(dateStr);
20
- const resultDate = new Date(date);
21
- resultDate.setDate(resultDate.getDate() + days);
22
- return formatDateStr(resultDate);
19
+ var addDays$1 = (dateStr, days) => {
20
+ const date = parseDateStr(dateStr);
21
+ const resultDate = new Date(date);
22
+ resultDate.setDate(resultDate.getDate() + days);
23
+ return formatDateStr(resultDate);
23
24
  };
24
- const compareDateStr = (a, b) => a > b ? 1 : a < b ? -1 : 0;
25
- const hasThreeComponents = (components) => components.length === 3;
26
- const allComponentsAreNumbers = (components) => components.every((component) => /^\d+$/.test(component));
27
- const isValidDate = ([yearStr, monthStr, dayStr]) => {
28
- const year = parseInt(yearStr);
29
- const month = parseInt(monthStr) - 1;
30
- const day = parseInt(dayStr);
31
- const date = new Date(year, month, day);
32
- return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day;
25
+ var compareDateStr = (a, b) => a > b ? 1 : a < b ? -1 : 0;
26
+ var hasThreeComponents = (components) => components.length === 3;
27
+ var allComponentsAreNumbers = (components) => components.every((component) => /^\d+$/.test(component));
28
+ var isValidDate = ([yearStr, monthStr, dayStr]) => {
29
+ const year = parseInt(yearStr);
30
+ const month = parseInt(monthStr) - 1;
31
+ const day = parseInt(dayStr);
32
+ const date = new Date(year, month, day);
33
+ return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day;
33
34
  };
34
- const isValidDateStr = (string) => {
35
- const components = string.split("-");
36
- return hasThreeComponents(components) && allComponentsAreNumbers(components) && isValidDate(components);
35
+ var isValidDateStr = (string) => {
36
+ const components = string.split("-");
37
+ return hasThreeComponents(components) && allComponentsAreNumbers(components) && isValidDate(components);
37
38
  };
38
-
39
- const formatPresentationDate = (dateStr, locale) => {
40
- const date = parseDateStr(dateStr);
41
- return dateFns.format(date, locale.dateFormat);
39
+ //#endregion
40
+ //#region src/shared/datetime/presentationDate.ts
41
+ var formatPresentationDate = (dateStr, locale) => {
42
+ return (0, date_fns.format)(parseDateStr(dateStr), locale.dateFormat);
42
43
  };
43
- const parsePresentationDate = (presentationDate, locale) => {
44
- const date = dateFns.parse(presentationDate, locale.dateFormat, /* @__PURE__ */ new Date());
45
- return formatDateStr(date);
44
+ /**
45
+ * Parse a presentation date, which is the locale specific format (e.g. DD/MM/YYYY for en-GB).
46
+ * Accepts partial dates, e.g. 1/1/2021 will be parsed as 01/01/2021.
47
+ * Will throw if the date is can't be parsed
48
+ */
49
+ var parsePresentationDate = (presentationDate, locale) => {
50
+ return formatDateStr((0, date_fns.parse)(presentationDate, locale.dateFormat, /* @__PURE__ */ new Date()));
46
51
  };
47
-
48
- const getCurrentMonth = (now = /* @__PURE__ */ new Date()) => ({
49
- month: now.getMonth(),
50
- year: now.getFullYear()
52
+ //#endregion
53
+ //#region src/shared/datetime/month.ts
54
+ var getCurrentMonth = (now = /* @__PURE__ */ new Date()) => ({
55
+ month: now.getMonth(),
56
+ year: now.getFullYear()
51
57
  });
52
- const monthOfDate = (dateStr) => {
53
- const date = parseDateStr(dateStr);
54
- return { month: date.getMonth(), year: date.getFullYear() };
58
+ var monthOfDate = (dateStr) => {
59
+ const date = parseDateStr(dateStr);
60
+ return {
61
+ month: date.getMonth(),
62
+ year: date.getFullYear()
63
+ };
55
64
  };
56
- const addMonths = ({ month, year }, months) => {
57
- const date = new Date(year, month);
58
- date.setMonth(date.getMonth() + months);
59
- return { month: date.getMonth(), year: date.getFullYear() };
65
+ var addMonths = ({ month, year }, months) => {
66
+ const date = new Date(year, month);
67
+ date.setMonth(date.getMonth() + months);
68
+ return {
69
+ month: date.getMonth(),
70
+ year: date.getFullYear()
71
+ };
60
72
  };
61
- const compareMonths = (a, b) => a.year === b.year ? a.month - b.month : a.year - b.year;
62
- const areMonthsEqual = (a, b) => compareMonths(a, b) === 0;
63
- const monthToStr = ({ month, year }) => `${year.toString().padStart(4, "0")}-${(month + 1).toString().padStart(2, "0")}`;
64
-
65
- const yearOfDate = (dateStr) => {
66
- const date = parseDateStr(dateStr);
67
- return date.getFullYear();
73
+ var compareMonths = (a, b) => a.year === b.year ? a.month - b.month : a.year - b.year;
74
+ var areMonthsEqual = (a, b) => compareMonths(a, b) === 0;
75
+ var monthToStr = ({ month, year }) => `${year.toString().padStart(4, "0")}-${(month + 1).toString().padStart(2, "0")}`;
76
+ //#endregion
77
+ //#region src/shared/datetime/year.ts
78
+ var yearOfDate = (dateStr) => {
79
+ return parseDateStr(dateStr).getFullYear();
68
80
  };
69
-
70
- const MonthsPerRow = 4;
71
- const buildMonthPickerGrid = (year, locale) => {
72
- const grid = [];
73
- let row = [];
74
- for (let i = 0; i < 12; i++) {
75
- const month = { month: i, year };
76
- row.push({
77
- label: locale.months.shorthand[i],
78
- monthName: locale.months.name[i],
79
- month
80
- });
81
- if (row.length === MonthsPerRow) {
82
- grid.push(row);
83
- row = [];
84
- }
85
- }
86
- return grid;
81
+ var buildMonthPickerGrid = (year, locale) => {
82
+ const grid = [];
83
+ let row = [];
84
+ for (let i = 0; i < 12; i++) {
85
+ const month = {
86
+ month: i,
87
+ year
88
+ };
89
+ row.push({
90
+ label: locale.months.shorthand[i],
91
+ monthName: locale.months.name[i],
92
+ month
93
+ });
94
+ if (row.length === 4) {
95
+ grid.push(row);
96
+ row = [];
97
+ }
98
+ }
99
+ return grid;
87
100
  };
88
-
89
- const getWeekdays = (locale) => {
90
- const firstDayOfWeek = locale.firstDayOfWeek;
91
- const localeWeekdayToNative = (day) => (day + firstDayOfWeek) % 7;
92
- const days = [];
93
- for (let i = 0; i < 7; i++) {
94
- days.push({
95
- name: locale.weekdays.name[localeWeekdayToNative(i)],
96
- shortName: locale.weekdays.shorthand[localeWeekdayToNative(i)]
97
- });
98
- }
99
- return days;
101
+ //#endregion
102
+ //#region src/shared/picker-field/mixins/calendar-segments/calendarGrid.ts
103
+ var getWeekdays = (locale) => {
104
+ const firstDayOfWeek = locale.firstDayOfWeek;
105
+ const localeWeekdayToNative = (day) => (day + firstDayOfWeek) % 7;
106
+ const days = [];
107
+ for (let i = 0; i < 7; i++) days.push({
108
+ name: locale.weekdays.name[localeWeekdayToNative(i)],
109
+ shortName: locale.weekdays.shorthand[localeWeekdayToNative(i)]
110
+ });
111
+ return days;
100
112
  };
101
- const gridDate = (date, isOutsideMonth2) => ({
102
- date: formatDateStr(date),
103
- label: `${date.getDate()}`,
104
- isOutsideMonth: isOutsideMonth2
113
+ var gridDate = (date, isOutsideMonth) => ({
114
+ date: formatDateStr(date),
115
+ label: `${date.getDate()}`,
116
+ isOutsideMonth
105
117
  });
106
118
  function isOutsideMonth(dayIndexInMonth, daysInMonth) {
107
- return dayIndexInMonth < 0 || dayIndexInMonth >= daysInMonth;
119
+ return dayIndexInMonth < 0 || dayIndexInMonth >= daysInMonth;
108
120
  }
109
- const buildDateGrid = ({ month, year }, getDay) => {
110
- const grid = [];
111
- const firstDay = new Date(year, month, 1);
112
- const lastDay = new Date(year, month + 1, 0);
113
- const firstDayInWeek = getDay(firstDay);
114
- const daysInMonth = lastDay.getDate();
115
- const daysOutsideMonthInLastWeek = 7 - getDay(lastDay);
116
- const totalDaysInCalendar = daysInMonth + firstDayInWeek + daysOutsideMonthInLastWeek;
117
- let week = [];
118
- for (let i = 0; i < totalDaysInCalendar; i++) {
119
- const dayIndexInMonth = i - firstDayInWeek;
120
- week.push(
121
- gridDate(
122
- dateFns.addDays(firstDay, dayIndexInMonth),
123
- isOutsideMonth(dayIndexInMonth, daysInMonth)
124
- )
125
- );
126
- if (week.length === 7) {
127
- grid.push(week);
128
- week = [];
129
- }
130
- }
131
- return grid;
132
- };
133
- const buildCalendarGrid = (month, locale) => {
134
- const { firstDayOfWeek } = locale;
135
- const getShiftedDay = (date) => (date.getDay() - firstDayOfWeek + 7) % 7;
136
- return {
137
- weekdays: getWeekdays(locale),
138
- grid: buildDateGrid(month, getShiftedDay)
139
- };
121
+ var buildDateGrid = ({ month, year }, getDay) => {
122
+ const grid = [];
123
+ const firstDay = new Date(year, month, 1);
124
+ const lastDay = new Date(year, month + 1, 0);
125
+ const firstDayInWeek = getDay(firstDay);
126
+ const daysInMonth = lastDay.getDate();
127
+ const daysOutsideMonthInLastWeek = 7 - getDay(lastDay);
128
+ const totalDaysInCalendar = daysInMonth + firstDayInWeek + daysOutsideMonthInLastWeek;
129
+ let week = [];
130
+ for (let i = 0; i < totalDaysInCalendar; i++) {
131
+ const dayIndexInMonth = i - firstDayInWeek;
132
+ week.push(gridDate((0, date_fns.addDays)(firstDay, dayIndexInMonth), isOutsideMonth(dayIndexInMonth, daysInMonth)));
133
+ if (week.length === 7) {
134
+ grid.push(week);
135
+ week = [];
136
+ }
137
+ }
138
+ return grid;
140
139
  };
141
-
142
- var __defProp$1 = Object.defineProperty;
143
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
144
- var __decorateClass$1 = (decorators, target, key, kind) => {
145
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
146
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
147
- if (decorator = decorators[i])
148
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
149
- if (kind && result) __defProp$1(target, key, result);
150
- return result;
151
- };
152
- const CalendarPicker = (Base) => {
153
- class CalendarPickerElement extends Base {
154
- // --- Core ---
155
- constructor(...args) {
156
- super(...args);
157
- this._selectedMonth = getCurrentMonth();
158
- /**
159
- * Today's date.
160
- * @internal
161
- */
162
- this._currentDate = currentDateStr();
163
- /**
164
- * Today's month.
165
- * @internal
166
- */
167
- this._currentMonth = getCurrentMonth();
168
- this._numCalendars = 1;
169
- // --- Date picker ---
170
- /**
171
- * @internal
172
- */
173
- this._hideDatesOutsideMonth = false;
174
- this._lastFocussedDate = null;
175
- this._monthPickerYear = null;
176
- this._lastFocussedMonth = null;
177
- this.value = "";
178
- }
179
- /**
180
- * @internal
181
- */
182
- _adjustSelectedMonthToEnsureVisibilityOf(date) {
183
- const month = monthOfDate(date);
184
- const firstDisplayedMonth = this._selectedMonth;
185
- const lastDisplayedMonth = addMonths(
186
- this._selectedMonth,
187
- this._numCalendars - 1
188
- );
189
- if (compareMonths(month, firstDisplayedMonth) < 0) {
190
- this._selectedMonth = month;
191
- return true;
192
- } else if (compareMonths(month, lastDisplayedMonth) > 0) {
193
- this._selectedMonth = addMonths(month, 1 - this._numCalendars);
194
- return true;
195
- }
196
- return false;
197
- }
198
- /**
199
- * @internal
200
- */
201
- _isDateInValidRange(date) {
202
- return (!this._resolvedMinDate || compareDateStr(date, this._resolvedMinDate) >= 0) && (!this._resolvedMaxDate || compareDateStr(date, this._resolvedMaxDate) <= 0);
203
- }
204
- #isMonthAfterValidRange(month) {
205
- return this._resolvedMaxDate && compareMonths(month, monthOfDate(this._resolvedMaxDate)) > 0;
206
- }
207
- #isMonthBeforeValidRange(month) {
208
- return this._resolvedMinDate && compareMonths(month, monthOfDate(this._resolvedMinDate)) < 0;
209
- }
210
- /**
211
- * @internal
212
- */
213
- _isMonthInValidRange(month) {
214
- return !(this.#isMonthBeforeValidRange(month) || this.#isMonthAfterValidRange(month));
215
- }
216
- /**
217
- * @internal
218
- */
219
- _closePopup(restoreFocusToTextField = true) {
220
- super._closePopup(restoreFocusToTextField);
221
- this._monthPickerYear = null;
222
- }
223
- /**
224
- * @internal
225
- */
226
- _onPickerButtonClick() {
227
- super._onPickerButtonClick();
228
- if (this._popupOpen) {
229
- fastElement.Updates.process();
230
- const tabbableDate = this._tabbableDate;
231
- if (tabbableDate)
232
- this.shadowRoot.querySelector(
233
- `[data-date="${tabbableDate}"]`
234
- ).focus();
235
- }
236
- }
237
- // --- Calendar header ---
238
- /**
239
- * @internal
240
- */
241
- _onTitleActionClick() {
242
- if (this._inMonthPicker) {
243
- this._monthPickerYear = null;
244
- } else {
245
- this._monthPickerYear = this._selectedMonth.year;
246
- }
247
- }
248
- get _isPrevYearDisabled() {
249
- const currentYear = this._inMonthPicker ? this._monthPickerYear : this._selectedMonth.year;
250
- const prevYear = currentYear - 1;
251
- return this._resolvedMinDate && prevYear < yearOfDate(this._resolvedMinDate);
252
- }
253
- /**
254
- * @internal
255
- */
256
- _onPrevYearClick() {
257
- if (this._inMonthPicker) {
258
- this._monthPickerYear = this._monthPickerYear - 1;
259
- } else {
260
- this._selectedMonth = {
261
- year: this._selectedMonth.year - 1,
262
- month: this._selectedMonth.month
263
- };
264
- }
265
- }
266
- get _isNextYearDisabled() {
267
- const currentYear = this._inMonthPicker ? this._monthPickerYear : this._selectedMonth.year;
268
- const nextYear = currentYear + 1;
269
- return this._resolvedMaxDate && nextYear > yearOfDate(this._resolvedMaxDate);
270
- }
271
- /**
272
- * @internal
273
- */
274
- _onNextYearClick() {
275
- if (this._inMonthPicker) {
276
- this._monthPickerYear = this._monthPickerYear + 1;
277
- } else {
278
- this._selectedMonth = {
279
- year: this._selectedMonth.year + 1,
280
- month: this._selectedMonth.month
281
- };
282
- }
283
- }
284
- /**
285
- * @internal
286
- */
287
- get _isPrevMonthDisabled() {
288
- return this.#isMonthBeforeValidRange(addMonths(this._selectedMonth, -1));
289
- }
290
- /**
291
- * @internal
292
- */
293
- _onPrevMonthClick() {
294
- this._selectedMonth = addMonths(this._selectedMonth, -1);
295
- }
296
- /**
297
- * @internal
298
- */
299
- get _isNextMonthDisabled() {
300
- return this.#isMonthAfterValidRange(addMonths(this._selectedMonth, 1));
301
- }
302
- /**
303
- * @internal
304
- */
305
- _onNextMonthClick() {
306
- this._selectedMonth = addMonths(this._selectedMonth, 1);
307
- }
308
- /**
309
- * @internal
310
- */
311
- get _segments() {
312
- const segments = [];
313
- if (this._inMonthPicker) {
314
- segments.push({
315
- id: 0,
316
- type: "month-picker",
317
- title: `${this._monthPickerYear}`,
318
- titleClickable: true,
319
- titleAriaLabel: this.locale.calendarPicker.showCalendarForMonthLabel(
320
- `${this.locale.calendarPicker.months.name[this._selectedMonth.month]} ${this._selectedMonth.year}`
321
- ),
322
- prevYearButton: true,
323
- nextYearButton: true,
324
- months: buildMonthPickerGrid(
325
- this._monthPickerYear,
326
- this.locale.calendarPicker
327
- )
328
- });
329
- } else {
330
- for (let i = 0; i < this._numCalendars; i++) {
331
- const month = addMonths(this._selectedMonth, i);
332
- const isSingle = this._numCalendars === 1;
333
- const isFirst = i === 0;
334
- const isLast = i === this._numCalendars - 1;
335
- segments.push({
336
- id: i,
337
- type: "calendar",
338
- title: `${this.locale.calendarPicker.months.name[month.month]} ${month.year}`,
339
- titleClickable: isSingle,
340
- titleAriaLabel: this.locale.calendarPicker.changeMonthLabel(
341
- `${this.locale.calendarPicker.months.name[month.month]} ${month.year}`
342
- ),
343
- prevYearButton: isFirst && isSingle,
344
- prevMonthButton: isFirst,
345
- nextMonthButton: isLast,
346
- nextYearButton: isLast && isSingle,
347
- calendar: buildCalendarGrid(month, this.locale.calendarPicker)
348
- });
349
- }
350
- }
351
- return segments;
352
- }
353
- /**
354
- * @internal
355
- */
356
- _isDateSelected(_) {
357
- return false;
358
- }
359
- /**
360
- * @internal
361
- * @private
362
- */
363
- _isDateInSelectedRange(_) {
364
- return false;
365
- }
366
- /**
367
- * @internal
368
- */
369
- _isDateRangeStart(_) {
370
- return false;
371
- }
372
- /**
373
- * @internal
374
- */
375
- _isDateRangeEnd(_) {
376
- return false;
377
- }
378
- /**
379
- * @internal
380
- */
381
- _onDateMouseEnter(_) {
382
- }
383
- /**
384
- * @internal
385
- */
386
- _onDateMouseLeave(_) {
387
- }
388
- /**
389
- * Handle keydown on a date in the calendar.
390
- * @internal
391
- */
392
- _onDateKeydown(date, event) {
393
- let newDate = null;
394
- if (event.key === "ArrowUp") {
395
- newDate = addDays(date, -7);
396
- } else if (event.key === "ArrowDown") {
397
- newDate = addDays(date, 7);
398
- } else if (event.key === "ArrowLeft") {
399
- newDate = addDays(date, -1);
400
- } else if (event.key === "ArrowRight") {
401
- newDate = addDays(date, 1);
402
- }
403
- if (newDate && this._isDateInValidRange(newDate)) {
404
- if (this._adjustSelectedMonthToEnsureVisibilityOf(newDate)) {
405
- fastElement.Updates.process();
406
- }
407
- this._dialogEl.querySelector(
408
- `[data-date="${newDate}"]`
409
- ).focus();
410
- return false;
411
- }
412
- return true;
413
- }
414
- /**
415
- * @internal
416
- */
417
- _onDateFocus(date) {
418
- this._lastFocussedDate = date;
419
- }
420
- get _tabbableDate() {
421
- const datesInSegments = this._segments.filter(
422
- (segment) => segment.type === "calendar"
423
- ).flatMap((segment) => segment.calendar.grid.flat().map((d) => d.date));
424
- const candidates = [
425
- this._lastFocussedDate,
426
- ...this._getSelectedDates(),
427
- currentDateStr(),
428
- ...datesInSegments
429
- ];
430
- const firstVisibleMonth = this._selectedMonth;
431
- const lastVisibleMonth = addMonths(
432
- this._selectedMonth,
433
- this._numCalendars - 1
434
- );
435
- return candidates.find(
436
- (date) => date && compareMonths(monthOfDate(date), firstVisibleMonth) >= 0 && compareMonths(monthOfDate(date), lastVisibleMonth) <= 0 && this._isDateInValidRange(date)
437
- ) ?? null;
438
- }
439
- /**
440
- * @internal
441
- */
442
- get _inMonthPicker() {
443
- return this._monthPickerYear !== null;
444
- }
445
- /**
446
- * Handle month selected in the month picker.
447
- * @internal
448
- */
449
- _onMonthClick(month) {
450
- this._selectedMonth = month;
451
- this._monthPickerYear = null;
452
- }
453
- /**
454
- * Handle keydown on a month in the month picker.
455
- * @internal
456
- */
457
- _onMonthKeydown(month, event) {
458
- let newMonth = null;
459
- if (event.key === "ArrowUp") {
460
- newMonth = addMonths(month, -MonthsPerRow);
461
- } else if (event.key === "ArrowDown") {
462
- newMonth = addMonths(month, MonthsPerRow);
463
- } else if (event.key === "ArrowLeft") {
464
- newMonth = addMonths(month, -1);
465
- } else if (event.key === "ArrowRight") {
466
- newMonth = addMonths(month, 1);
467
- }
468
- if (newMonth && this._isMonthInValidRange(newMonth)) {
469
- if (newMonth.year !== this._monthPickerYear) {
470
- this._monthPickerYear = newMonth.year;
471
- fastElement.Updates.process();
472
- }
473
- this._dialogEl.querySelector(
474
- `[data-month="${monthToStr(newMonth)}"]`
475
- ).focus();
476
- return false;
477
- }
478
- return true;
479
- }
480
- /**
481
- * @internal
482
- */
483
- _onMonthFocus(month) {
484
- this._lastFocussedMonth = month;
485
- }
486
- get _tabbableMonth() {
487
- const monthsInSegments = this._segments.filter(
488
- (segments) => segments.type === "month-picker"
489
- ).flatMap((segment) => segment.months.flat().map((c) => c.month));
490
- const candidates = [
491
- this._lastFocussedMonth,
492
- this._selectedMonth,
493
- getCurrentMonth(),
494
- ...monthsInSegments
495
- ];
496
- return candidates.find(
497
- (month) => month && month.year === this._monthPickerYear && this._isMonthInValidRange(month)
498
- ) ?? null;
499
- }
500
- }
501
- __decorateClass$1([
502
- fastElement.observable
503
- ], CalendarPickerElement.prototype, "_selectedMonth", 2);
504
- __decorateClass$1([
505
- fastElement.volatile
506
- ], CalendarPickerElement.prototype, "_isPrevYearDisabled", 1);
507
- __decorateClass$1([
508
- fastElement.volatile
509
- ], CalendarPickerElement.prototype, "_isNextYearDisabled", 1);
510
- __decorateClass$1([
511
- fastElement.observable
512
- ], CalendarPickerElement.prototype, "_numCalendars", 2);
513
- __decorateClass$1([
514
- fastElement.observable
515
- ], CalendarPickerElement.prototype, "_lastFocussedDate", 2);
516
- __decorateClass$1([
517
- fastElement.volatile
518
- ], CalendarPickerElement.prototype, "_tabbableDate", 1);
519
- __decorateClass$1([
520
- fastElement.observable
521
- ], CalendarPickerElement.prototype, "_monthPickerYear", 2);
522
- __decorateClass$1([
523
- fastElement.observable
524
- ], CalendarPickerElement.prototype, "_lastFocussedMonth", 2);
525
- __decorateClass$1([
526
- fastElement.volatile
527
- ], CalendarPickerElement.prototype, "_tabbableMonth", 1);
528
- return CalendarPickerElement;
140
+ var buildCalendarGrid = (month, locale) => {
141
+ const { firstDayOfWeek } = locale;
142
+ const getShiftedDay = (date) => (date.getDay() - firstDayOfWeek + 7) % 7;
143
+ return {
144
+ weekdays: getWeekdays(locale),
145
+ grid: buildDateGrid(month, getShiftedDay)
146
+ };
529
147
  };
530
-
531
- var __defProp = Object.defineProperty;
532
- var __decorateClass = (decorators, target, key, kind) => {
533
- var result = void 0 ;
534
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
535
- if (decorator = decorators[i])
536
- result = (decorator(target, key, result) ) || result;
537
- if (result) __defProp(target, key, result);
538
- return result;
148
+ //#endregion
149
+ //#region src/shared/picker-field/mixins/calendar-picker.ts
150
+ /**
151
+ * Mixin for pickers that show a calendar. Subclasses need to override the
152
+ * abstract methods to control the calendar.
153
+ */
154
+ var CalendarPicker = (Base) => {
155
+ class CalendarPickerElement extends Base {
156
+ /**
157
+ * @internal
158
+ */
159
+ _adjustSelectedMonthToEnsureVisibilityOf(date) {
160
+ const month = monthOfDate(date);
161
+ const firstDisplayedMonth = this._selectedMonth;
162
+ const lastDisplayedMonth = addMonths(this._selectedMonth, this._numCalendars - 1);
163
+ if (compareMonths(month, firstDisplayedMonth) < 0) {
164
+ this._selectedMonth = month;
165
+ return true;
166
+ } else if (compareMonths(month, lastDisplayedMonth) > 0) {
167
+ this._selectedMonth = addMonths(month, 1 - this._numCalendars);
168
+ return true;
169
+ }
170
+ return false;
171
+ }
172
+ /**
173
+ * @internal
174
+ */
175
+ _isDateInValidRange(date) {
176
+ return (!this._resolvedMinDate || compareDateStr(date, this._resolvedMinDate) >= 0) && (!this._resolvedMaxDate || compareDateStr(date, this._resolvedMaxDate) <= 0);
177
+ }
178
+ #isMonthAfterValidRange(month) {
179
+ return this._resolvedMaxDate && compareMonths(month, monthOfDate(this._resolvedMaxDate)) > 0;
180
+ }
181
+ #isMonthBeforeValidRange(month) {
182
+ return this._resolvedMinDate && compareMonths(month, monthOfDate(this._resolvedMinDate)) < 0;
183
+ }
184
+ /**
185
+ * @internal
186
+ */
187
+ _isMonthInValidRange(month) {
188
+ return !(this.#isMonthBeforeValidRange(month) || this.#isMonthAfterValidRange(month));
189
+ }
190
+ constructor(...args) {
191
+ super(...args);
192
+ this._selectedMonth = getCurrentMonth();
193
+ this._currentDate = currentDateStr();
194
+ this._currentMonth = getCurrentMonth();
195
+ this._numCalendars = 1;
196
+ this._hideDatesOutsideMonth = false;
197
+ this._lastFocussedDate = null;
198
+ this._monthPickerYear = null;
199
+ this._lastFocussedMonth = null;
200
+ this.value = "";
201
+ }
202
+ /**
203
+ * @internal
204
+ */
205
+ _closePopup(restoreFocusToTextField = true) {
206
+ super._closePopup(restoreFocusToTextField);
207
+ this._monthPickerYear = null;
208
+ }
209
+ /**
210
+ * @internal
211
+ */
212
+ _onPickerButtonClick() {
213
+ super._onPickerButtonClick();
214
+ if (this._popupOpen) {
215
+ _microsoft_fast_element.Updates.process();
216
+ const tabbableDate = this._tabbableDate;
217
+ if (tabbableDate) this.shadowRoot.querySelector(`[data-date="${tabbableDate}"]`).focus();
218
+ }
219
+ }
220
+ /**
221
+ * @internal
222
+ */
223
+ _onTitleActionClick() {
224
+ if (this._inMonthPicker) this._monthPickerYear = null;
225
+ else this._monthPickerYear = this._selectedMonth.year;
226
+ }
227
+ /**
228
+ * @internal
229
+ */
230
+ get _isPrevYearDisabled() {
231
+ const prevYear = (this._inMonthPicker ? this._monthPickerYear : this._selectedMonth.year) - 1;
232
+ return this._resolvedMinDate && prevYear < yearOfDate(this._resolvedMinDate);
233
+ }
234
+ /**
235
+ * @internal
236
+ */
237
+ _onPrevYearClick() {
238
+ if (this._inMonthPicker) this._monthPickerYear = this._monthPickerYear - 1;
239
+ else this._selectedMonth = {
240
+ year: this._selectedMonth.year - 1,
241
+ month: this._selectedMonth.month
242
+ };
243
+ }
244
+ /**
245
+ * @internal
246
+ */
247
+ get _isNextYearDisabled() {
248
+ const nextYear = (this._inMonthPicker ? this._monthPickerYear : this._selectedMonth.year) + 1;
249
+ return this._resolvedMaxDate && nextYear > yearOfDate(this._resolvedMaxDate);
250
+ }
251
+ /**
252
+ * @internal
253
+ */
254
+ _onNextYearClick() {
255
+ if (this._inMonthPicker) this._monthPickerYear = this._monthPickerYear + 1;
256
+ else this._selectedMonth = {
257
+ year: this._selectedMonth.year + 1,
258
+ month: this._selectedMonth.month
259
+ };
260
+ }
261
+ /**
262
+ * @internal
263
+ */
264
+ get _isPrevMonthDisabled() {
265
+ return this.#isMonthBeforeValidRange(addMonths(this._selectedMonth, -1));
266
+ }
267
+ /**
268
+ * @internal
269
+ */
270
+ _onPrevMonthClick() {
271
+ this._selectedMonth = addMonths(this._selectedMonth, -1);
272
+ }
273
+ /**
274
+ * @internal
275
+ */
276
+ get _isNextMonthDisabled() {
277
+ return this.#isMonthAfterValidRange(addMonths(this._selectedMonth, 1));
278
+ }
279
+ /**
280
+ * @internal
281
+ */
282
+ _onNextMonthClick() {
283
+ this._selectedMonth = addMonths(this._selectedMonth, 1);
284
+ }
285
+ /**
286
+ * @internal
287
+ */
288
+ get _segments() {
289
+ const segments = [];
290
+ if (this._inMonthPicker) segments.push({
291
+ id: 0,
292
+ type: "month-picker",
293
+ title: `${this._monthPickerYear}`,
294
+ titleClickable: true,
295
+ titleAriaLabel: this.locale.calendarPicker.showCalendarForMonthLabel(`${this.locale.calendarPicker.months.name[this._selectedMonth.month]} ${this._selectedMonth.year}`),
296
+ prevYearButton: true,
297
+ nextYearButton: true,
298
+ months: buildMonthPickerGrid(this._monthPickerYear, this.locale.calendarPicker)
299
+ });
300
+ else for (let i = 0; i < this._numCalendars; i++) {
301
+ const month = addMonths(this._selectedMonth, i);
302
+ const isSingle = this._numCalendars === 1;
303
+ const isFirst = i === 0;
304
+ const isLast = i === this._numCalendars - 1;
305
+ segments.push({
306
+ id: i,
307
+ type: "calendar",
308
+ title: `${this.locale.calendarPicker.months.name[month.month]} ${month.year}`,
309
+ titleClickable: isSingle,
310
+ titleAriaLabel: this.locale.calendarPicker.changeMonthLabel(`${this.locale.calendarPicker.months.name[month.month]} ${month.year}`),
311
+ prevYearButton: isFirst && isSingle,
312
+ prevMonthButton: isFirst,
313
+ nextMonthButton: isLast,
314
+ nextYearButton: isLast && isSingle,
315
+ calendar: buildCalendarGrid(month, this.locale.calendarPicker)
316
+ });
317
+ }
318
+ return segments;
319
+ }
320
+ /**
321
+ * @internal
322
+ */
323
+ _isDateSelected(_) {
324
+ return false;
325
+ }
326
+ /**
327
+ * @internal
328
+ * @private
329
+ */
330
+ _isDateInSelectedRange(_) {
331
+ return false;
332
+ }
333
+ /**
334
+ * @internal
335
+ */
336
+ _isDateRangeStart(_) {
337
+ return false;
338
+ }
339
+ /**
340
+ * @internal
341
+ */
342
+ _isDateRangeEnd(_) {
343
+ return false;
344
+ }
345
+ /**
346
+ * @internal
347
+ */
348
+ _onDateMouseEnter(_) {}
349
+ /**
350
+ * @internal
351
+ */
352
+ _onDateMouseLeave(_) {}
353
+ /**
354
+ * Handle keydown on a date in the calendar.
355
+ * @internal
356
+ */
357
+ _onDateKeydown(date, event) {
358
+ let newDate = null;
359
+ if (event.key === "ArrowUp") newDate = addDays$1(date, -7);
360
+ else if (event.key === "ArrowDown") newDate = addDays$1(date, 7);
361
+ else if (event.key === "ArrowLeft") newDate = addDays$1(date, -1);
362
+ else if (event.key === "ArrowRight") newDate = addDays$1(date, 1);
363
+ if (newDate && this._isDateInValidRange(newDate)) {
364
+ if (this._adjustSelectedMonthToEnsureVisibilityOf(newDate)) _microsoft_fast_element.Updates.process();
365
+ this._dialogEl.querySelector(`[data-date="${newDate}"]`).focus();
366
+ return false;
367
+ }
368
+ return true;
369
+ }
370
+ /**
371
+ * @internal
372
+ */
373
+ _onDateFocus(date) {
374
+ this._lastFocussedDate = date;
375
+ }
376
+ /**
377
+ * Only one date should be in the tab order at a time (tab roving).
378
+ * @internal
379
+ */
380
+ get _tabbableDate() {
381
+ const datesInSegments = this._segments.filter((segment) => segment.type === "calendar").flatMap((segment) => segment.calendar.grid.flat().map((d) => d.date));
382
+ const candidates = [
383
+ this._lastFocussedDate,
384
+ ...this._getSelectedDates(),
385
+ currentDateStr(),
386
+ ...datesInSegments
387
+ ];
388
+ const firstVisibleMonth = this._selectedMonth;
389
+ const lastVisibleMonth = addMonths(this._selectedMonth, this._numCalendars - 1);
390
+ return candidates.find((date) => date && compareMonths(monthOfDate(date), firstVisibleMonth) >= 0 && compareMonths(monthOfDate(date), lastVisibleMonth) <= 0 && this._isDateInValidRange(date)) ?? null;
391
+ }
392
+ /**
393
+ * @internal
394
+ */
395
+ get _inMonthPicker() {
396
+ return this._monthPickerYear !== null;
397
+ }
398
+ /**
399
+ * Handle month selected in the month picker.
400
+ * @internal
401
+ */
402
+ _onMonthClick(month) {
403
+ this._selectedMonth = month;
404
+ this._monthPickerYear = null;
405
+ }
406
+ /**
407
+ * Handle keydown on a month in the month picker.
408
+ * @internal
409
+ */
410
+ _onMonthKeydown(month, event) {
411
+ let newMonth = null;
412
+ if (event.key === "ArrowUp") newMonth = addMonths(month, -4);
413
+ else if (event.key === "ArrowDown") newMonth = addMonths(month, 4);
414
+ else if (event.key === "ArrowLeft") newMonth = addMonths(month, -1);
415
+ else if (event.key === "ArrowRight") newMonth = addMonths(month, 1);
416
+ if (newMonth && this._isMonthInValidRange(newMonth)) {
417
+ if (newMonth.year !== this._monthPickerYear) {
418
+ this._monthPickerYear = newMonth.year;
419
+ _microsoft_fast_element.Updates.process();
420
+ }
421
+ this._dialogEl.querySelector(`[data-month="${monthToStr(newMonth)}"]`).focus();
422
+ return false;
423
+ }
424
+ return true;
425
+ }
426
+ /**
427
+ * @internal
428
+ */
429
+ _onMonthFocus(month) {
430
+ this._lastFocussedMonth = month;
431
+ }
432
+ /**
433
+ * Only one month should be in the tab order at a time (tab roving).
434
+ * @internal
435
+ */
436
+ get _tabbableMonth() {
437
+ const monthsInSegments = this._segments.filter((segments) => segments.type === "month-picker").flatMap((segment) => segment.months.flat().map((c) => c.month));
438
+ return [
439
+ this._lastFocussedMonth,
440
+ this._selectedMonth,
441
+ getCurrentMonth(),
442
+ ...monthsInSegments
443
+ ].find((month) => month && month.year === this._monthPickerYear && this._isMonthInValidRange(month)) ?? null;
444
+ }
445
+ }
446
+ require_decorate.__decorate([_microsoft_fast_element.observable], CalendarPickerElement.prototype, "_selectedMonth", void 0);
447
+ require_decorate.__decorate([_microsoft_fast_element.volatile], CalendarPickerElement.prototype, "_isPrevYearDisabled", null);
448
+ require_decorate.__decorate([_microsoft_fast_element.volatile], CalendarPickerElement.prototype, "_isNextYearDisabled", null);
449
+ require_decorate.__decorate([_microsoft_fast_element.observable], CalendarPickerElement.prototype, "_numCalendars", void 0);
450
+ require_decorate.__decorate([_microsoft_fast_element.observable], CalendarPickerElement.prototype, "_lastFocussedDate", void 0);
451
+ require_decorate.__decorate([_microsoft_fast_element.volatile], CalendarPickerElement.prototype, "_tabbableDate", null);
452
+ require_decorate.__decorate([_microsoft_fast_element.observable], CalendarPickerElement.prototype, "_monthPickerYear", void 0);
453
+ require_decorate.__decorate([_microsoft_fast_element.observable], CalendarPickerElement.prototype, "_lastFocussedMonth", void 0);
454
+ require_decorate.__decorate([_microsoft_fast_element.volatile], CalendarPickerElement.prototype, "_tabbableMonth", null);
455
+ return CalendarPickerElement;
539
456
  };
540
- const ValidDateFilter = {
541
- fromView: (value) => {
542
- if (value && isValidDateStr(value)) {
543
- return value;
544
- }
545
- return "";
546
- },
547
- toView(value) {
548
- return value;
549
- }
457
+ //#endregion
458
+ //#region src/shared/picker-field/mixins/min-max-calendar-picker.ts
459
+ var ValidDateFilter = {
460
+ fromView: (value) => {
461
+ if (value && isValidDateStr(value)) return value;
462
+ return "";
463
+ },
464
+ toView(value) {
465
+ return value;
466
+ }
550
467
  };
551
- const MinMaxCalendarPicker = (SuperClass) => {
552
- class MinMaxDatePickerElement extends SuperClass {
553
- /**
554
- * @internal
555
- */
556
- minChanged(_, newMin) {
557
- /* v8 ignore if -- @preserve */
558
- if (this.proxy instanceof HTMLInputElement) {
559
- this.proxy.min = newMin;
560
- this.validate();
561
- }
562
- }
563
- /**
564
- * @internal
565
- */
566
- get _resolvedMinDate() {
567
- return this.min;
568
- }
569
- /**
570
- * @internal
571
- */
572
- maxChanged(_, newMax) {
573
- /* v8 ignore if -- @preserve */
574
- if (this.proxy instanceof HTMLInputElement) {
575
- this.proxy.max = newMax;
576
- this.validate();
577
- }
578
- }
579
- /**
580
- * The latest accepted date.
581
- * @internal
582
- */
583
- get _resolvedMaxDate() {
584
- return this.max;
585
- }
586
- constructor(...args) {
587
- super(...args);
588
- this.min = "";
589
- this.max = "";
590
- }
591
- }
592
- __decorateClass([
593
- fastElement.attr({ converter: ValidDateFilter })
594
- ], MinMaxDatePickerElement.prototype, "min");
595
- __decorateClass([
596
- fastElement.attr({ converter: ValidDateFilter })
597
- ], MinMaxDatePickerElement.prototype, "max");
598
- return MinMaxDatePickerElement;
468
+ /**
469
+ * Mixin for calendar pickers where min/max is a date.
470
+ */
471
+ var MinMaxCalendarPicker = (SuperClass) => {
472
+ class MinMaxDatePickerElement extends SuperClass {
473
+ /**
474
+ * @internal
475
+ */
476
+ minChanged(_, newMin) {
477
+ /* v8 ignore if -- @preserve */
478
+ if (this.proxy instanceof HTMLInputElement) {
479
+ this.proxy.min = newMin;
480
+ this.validate();
481
+ }
482
+ }
483
+ /**
484
+ * @internal
485
+ */
486
+ get _resolvedMinDate() {
487
+ return this.min;
488
+ }
489
+ /**
490
+ * @internal
491
+ */
492
+ maxChanged(_, newMax) {
493
+ /* v8 ignore if -- @preserve */
494
+ if (this.proxy instanceof HTMLInputElement) {
495
+ this.proxy.max = newMax;
496
+ this.validate();
497
+ }
498
+ }
499
+ /**
500
+ * The latest accepted date.
501
+ * @internal
502
+ */
503
+ get _resolvedMaxDate() {
504
+ return this.max;
505
+ }
506
+ constructor(...args) {
507
+ super(...args);
508
+ this.min = "";
509
+ this.max = "";
510
+ }
511
+ }
512
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: ValidDateFilter })], MinMaxDatePickerElement.prototype, "min", void 0);
513
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: ValidDateFilter })], MinMaxDatePickerElement.prototype, "max", void 0);
514
+ return MinMaxDatePickerElement;
599
515
  };
600
-
516
+ //#endregion
517
+ //#region src/shared/picker-field/mixins/calendar-picker.template.ts
601
518
  function renderDialogHeader(context) {
602
- const buttonTag = context.tagFor(button_definition.Button);
603
- return fastElement.html`<div class="header" tabindex="-1">
604
- ${fastElement.when(
605
- (x) => x.prevYearButton,
606
- fastElement.html`
519
+ const buttonTag = context.tagFor(require_definition$1.Button);
520
+ return _microsoft_fast_element.html`<div class="header" tabindex="-1">
521
+ ${(0, _microsoft_fast_element.when)((x) => x.prevYearButton, _microsoft_fast_element.html`
607
522
  <${buttonTag}
608
523
  tabindex='1'
609
524
  class='vwc-button'
@@ -613,11 +528,8 @@ function renderDialogHeader(context) {
613
528
  ?disabled='${(_, c) => c.parent._isPrevYearDisabled}'
614
529
  @click='${(_, c) => c.parent._onPrevYearClick()}'
615
530
  ></${buttonTag}>
616
- `
617
- )}
618
- ${fastElement.when(
619
- (x) => x.prevMonthButton,
620
- fastElement.html`
531
+ `)}
532
+ ${(0, _microsoft_fast_element.when)((x) => x.prevMonthButton, _microsoft_fast_element.html`
621
533
  <${buttonTag}
622
534
  tabindex='1'
623
535
  class='vwc-button'
@@ -627,12 +539,9 @@ function renderDialogHeader(context) {
627
539
  ?disabled='${(_, c) => c.parent._isPrevMonthDisabled}'
628
540
  @click='${(_, c) => c.parent._onPrevMonthClick()}'
629
541
  ></${buttonTag}>
630
- `
631
- )}
542
+ `)}
632
543
  <div class="title">
633
- ${fastElement.when(
634
- (x) => x.titleClickable,
635
- fastElement.html`
544
+ ${(0, _microsoft_fast_element.when)((x) => x.titleClickable, _microsoft_fast_element.html`
636
545
  <button
637
546
  tabindex="1"
638
547
  id="${(x) => `grid-label-${x.id}`}"
@@ -643,11 +552,8 @@ function renderDialogHeader(context) {
643
552
  >
644
553
  ${(x) => x.title}
645
554
  </button>
646
- `
647
- )}
648
- ${fastElement.when(
649
- (x) => !x.titleClickable,
650
- fastElement.html`
555
+ `)}
556
+ ${(0, _microsoft_fast_element.when)((x) => !x.titleClickable, _microsoft_fast_element.html`
651
557
  <div
652
558
  id="${(x) => `grid-label-${x.id}`}"
653
559
  class="title-action"
@@ -655,13 +561,10 @@ function renderDialogHeader(context) {
655
561
  >
656
562
  ${(x) => x.title}
657
563
  </div>
658
- `
659
- )}
564
+ `)}
660
565
  </div>
661
566
 
662
- ${fastElement.when(
663
- (x) => x.nextMonthButton,
664
- fastElement.html`
567
+ ${(0, _microsoft_fast_element.when)((x) => x.nextMonthButton, _microsoft_fast_element.html`
665
568
  <${buttonTag}
666
569
  tabindex='1'
667
570
  class='vwc-button'
@@ -671,11 +574,8 @@ function renderDialogHeader(context) {
671
574
  ?disabled='${(_, c) => c.parent._isNextMonthDisabled}'
672
575
  @click='${(_, c) => c.parent._onNextMonthClick()}'
673
576
  ></${buttonTag}>
674
- `
675
- )}
676
- ${fastElement.when(
677
- (x) => x.nextYearButton,
678
- fastElement.html`
577
+ `)}
578
+ ${(0, _microsoft_fast_element.when)((x) => x.nextYearButton, _microsoft_fast_element.html`
679
579
  <${buttonTag}
680
580
  tabindex='1'
681
581
  class='vwc-button'
@@ -685,23 +585,20 @@ function renderDialogHeader(context) {
685
585
  ?disabled='${(_, c) => c.parent._isNextYearDisabled}'
686
586
  @click='${(_, c) => c.parent._onNextYearClick()}'
687
587
  ></${buttonTag}>
688
- `
689
- )}
588
+ `)}
690
589
  </div>`;
691
590
  }
692
591
  function renderCalendarGrid(context) {
693
- const dividerTag = context.tagFor(divider.Divider);
694
- const visuallyHiddenTag = context.tagFor(visuallyHidden_definition.VwcVisuallyHiddenElement);
695
- return fastElement.html`
592
+ const dividerTag = context.tagFor(require_divider.Divider);
593
+ const visuallyHiddenTag = context.tagFor(require_definition.VisuallyHidden);
594
+ return _microsoft_fast_element.html`
696
595
  <div
697
596
  class='calendar'
698
597
  role='grid'
699
598
  aria-labelledby='${(x) => `grid-label-${x.id}`}'
700
599
  >
701
600
  <div class='calendar-weekdays' role='row'>
702
- ${fastElement.repeat(
703
- (x) => x.calendar.weekdays,
704
- fastElement.html`
601
+ ${(0, _microsoft_fast_element.repeat)((x) => x.calendar.weekdays, _microsoft_fast_element.html`
705
602
  <div
706
603
  class="calendar-weekday"
707
604
  role="columnheader"
@@ -709,104 +606,42 @@ function renderCalendarGrid(context) {
709
606
  >
710
607
  ${(x) => x.shortName}
711
608
  </div>
712
- `
713
- )}
609
+ `)}
714
610
  </div>
715
611
  <${dividerTag} class='calendar-separator' role='presentation'></${dividerTag}>
716
- ${fastElement.repeat(
717
- (x) => x.calendar.grid,
718
- fastElement.html` <div class="calendar-week" role="row">
719
- ${fastElement.repeat(
720
- (x) => x,
721
- fastElement.html`
722
- ${fastElement.when(
723
- (x, c) => c.parentContext.parentContext.parent._hideDatesOutsideMonth && x.isOutsideMonth,
724
- fastElement.html`<div class="calendar-day"></div>`
725
- )}
726
- ${fastElement.when(
727
- (x, c) => !c.parentContext.parentContext.parent._hideDatesOutsideMonth || !x.isOutsideMonth,
728
- fastElement.html` <span role="gridcell">
612
+ ${(0, _microsoft_fast_element.repeat)((x) => x.calendar.grid, _microsoft_fast_element.html` <div class="calendar-week" role="row">
613
+ ${(0, _microsoft_fast_element.repeat)((x) => x, _microsoft_fast_element.html`
614
+ ${(0, _microsoft_fast_element.when)((x, c) => c.parentContext.parentContext.parent._hideDatesOutsideMonth && x.isOutsideMonth, _microsoft_fast_element.html`<div class="calendar-day"></div>`)}
615
+ ${(0, _microsoft_fast_element.when)((x, c) => !c.parentContext.parentContext.parent._hideDatesOutsideMonth || !x.isOutsideMonth, _microsoft_fast_element.html` <span role="gridcell">
729
616
  <button
730
- class="${(x, c) => fastWebUtilities.classNames(
731
- "calendar-day",
732
- "button",
733
- [
734
- "current",
735
- x.date === c.parentContext.parentContext.parent._currentDate
736
- ],
737
- [
738
- "selected",
739
- c.parentContext.parentContext.parent._isDateSelected(
740
- x.date
741
- )
742
- ],
743
- [
744
- "range",
745
- c.parentContext.parentContext.parent._isDateInSelectedRange(
746
- x.date
747
- )
748
- ],
749
- [
750
- "start",
751
- c.parentContext.parentContext.parent._isDateRangeStart(
752
- x.date
753
- )
754
- ],
755
- [
756
- "end",
757
- c.parentContext.parentContext.parent._isDateRangeEnd(
758
- x.date
759
- )
760
- ],
761
- ["outside-month", x.isOutsideMonth]
762
- )}"
763
- ?disabled="${(x, c) => !c.parentContext.parentContext.parent._isDateInValidRange(
764
- x.date
765
- )}"
617
+ class="${(x, c) => (0, _microsoft_fast_web_utilities.classNames)("calendar-day", "button", ["current", x.date === c.parentContext.parentContext.parent._currentDate], ["selected", c.parentContext.parentContext.parent._isDateSelected(x.date)], ["range", c.parentContext.parentContext.parent._isDateInSelectedRange(x.date)], ["start", c.parentContext.parentContext.parent._isDateRangeStart(x.date)], ["end", c.parentContext.parentContext.parent._isDateRangeEnd(x.date)], ["outside-month", x.isOutsideMonth])}"
618
+ ?disabled="${(x, c) => !c.parentContext.parentContext.parent._isDateInValidRange(x.date)}"
766
619
  tabindex="${(x, c) => x.date === c.parentContext.parentContext.parent._tabbableDate ? 1 : -1}"
767
620
  data-date="${(x) => x.date}"
768
621
  @click="${(x, c) => c.parentContext.parentContext.parent._onDateClick(x.date)}"
769
622
  @focus="${(x, c) => c.parentContext.parentContext.parent._onDateFocus(x.date)}"
770
- @mouseenter="${(x, c) => c.parentContext.parentContext.parent._onDateMouseEnter(
771
- x.date
772
- )}"
773
- @mouseleave="${(x, c) => c.parentContext.parentContext.parent._onDateMouseLeave(
774
- x.date
775
- )}"
776
- @keydown="${(x, c) => c.parentContext.parentContext.parent._onDateKeydown(
777
- x.date,
778
- c.event
779
- )}"
623
+ @mouseenter="${(x, c) => c.parentContext.parentContext.parent._onDateMouseEnter(x.date)}"
624
+ @mouseleave="${(x, c) => c.parentContext.parentContext.parent._onDateMouseLeave(x.date)}"
625
+ @keydown="${(x, c) => c.parentContext.parentContext.parent._onDateKeydown(x.date, c.event)}"
780
626
  >
781
627
  ${(x) => x.label}
782
628
  <${visuallyHiddenTag}>${(x, c) => {
783
- const picker = c.parentContext.parentContext.parent;
784
- const announcements = [];
785
- if (x.date === picker._currentDate) {
786
- announcements.push(
787
- picker.locale.calendarPicker.todayLabel
788
- );
789
- }
790
- if (picker._isDateAriaSelected(x.date)) {
791
- announcements.push(
792
- picker.locale.calendarPicker.selectedLabel
793
- );
794
- }
795
- return announcements.join(" ");
796
- }}</${visuallyHiddenTag}>
629
+ const picker = c.parentContext.parentContext.parent;
630
+ const announcements = [];
631
+ if (x.date === picker._currentDate) announcements.push(picker.locale.calendarPicker.todayLabel);
632
+ if (picker._isDateAriaSelected(x.date)) announcements.push(picker.locale.calendarPicker.selectedLabel);
633
+ return announcements.join(" ");
634
+ }}</${visuallyHiddenTag}>
797
635
  </button>
798
- </span>`
799
- )}
636
+ </span>`)}
800
637
  </div>
801
- `
802
- )}
803
- </div>`
804
- )}`;
638
+ `)}
639
+ </div>`)}`;
805
640
  }
806
641
  function renderMonthPickerGrid(context) {
807
- const dividerTag = context.tagFor(divider.Divider);
808
- const visuallyHiddenTag = context.tagFor(visuallyHidden_definition.VwcVisuallyHiddenElement);
809
- return fastElement.html`
642
+ const dividerTag = context.tagFor(require_divider.Divider);
643
+ const visuallyHiddenTag = context.tagFor(require_definition.VisuallyHidden);
644
+ return _microsoft_fast_element.html`
810
645
  <${dividerTag}
811
646
  class='months-separator'
812
647
  role='presentation'
@@ -816,104 +651,104 @@ function renderMonthPickerGrid(context) {
816
651
  role='grid'
817
652
  aria-labelledby='grid-label'
818
653
  >
819
- ${fastElement.repeat(
820
- (x) => x.months,
821
- fastElement.html`
654
+ ${(0, _microsoft_fast_element.repeat)((x) => x.months, _microsoft_fast_element.html`
822
655
  <div class="months-row" role="row">
823
- ${fastElement.repeat(
824
- (x) => x,
825
- fastElement.html`
656
+ ${(0, _microsoft_fast_element.repeat)((x) => x, _microsoft_fast_element.html`
826
657
  <span role="gridcell">
827
658
  <button
828
- class="${(x, c) => fastWebUtilities.classNames(
829
- "month",
830
- "button",
831
- [
832
- "current",
833
- areMonthsEqual(
834
- x.month,
835
- c.parentContext.parentContext.parent._currentMonth
836
- )
837
- ],
838
- [
839
- "selected",
840
- areMonthsEqual(
841
- x.month,
842
- c.parentContext.parentContext.parent._selectedMonth
843
- )
844
- ]
845
- )}"
846
- tabindex="${(x, c) => c.parentContext.parentContext.parent._tabbableMonth && areMonthsEqual(
847
- x.month,
848
- c.parentContext.parentContext.parent._tabbableMonth
849
- ) ? 1 : -1}"
659
+ class="${(x, c) => (0, _microsoft_fast_web_utilities.classNames)("month", "button", ["current", areMonthsEqual(x.month, c.parentContext.parentContext.parent._currentMonth)], ["selected", areMonthsEqual(x.month, c.parentContext.parentContext.parent._selectedMonth)])}"
660
+ tabindex="${(x, c) => c.parentContext.parentContext.parent._tabbableMonth && areMonthsEqual(x.month, c.parentContext.parentContext.parent._tabbableMonth) ? 1 : -1}"
850
661
  aria-label="${(x) => x.monthName}"
851
662
  data-month="${(x) => monthToStr(x.month)}"
852
- ?disabled="${(x, c) => !c.parentContext.parentContext.parent._isMonthInValidRange(
853
- x.month
854
- )}"
855
- @click="${(x, c) => c.parentContext.parentContext.parent._onMonthClick(
856
- x.month
857
- )}"
858
- @focus="${(x, c) => c.parentContext.parentContext.parent._onMonthFocus(
859
- x.month
860
- )}"
861
- @keydown="${(x, c) => c.parentContext.parentContext.parent._onMonthKeydown(
862
- x.month,
863
- c.event
864
- )}"
663
+ ?disabled="${(x, c) => !c.parentContext.parentContext.parent._isMonthInValidRange(x.month)}"
664
+ @click="${(x, c) => c.parentContext.parentContext.parent._onMonthClick(x.month)}"
665
+ @focus="${(x, c) => c.parentContext.parentContext.parent._onMonthFocus(x.month)}"
666
+ @keydown="${(x, c) => c.parentContext.parentContext.parent._onMonthKeydown(x.month, c.event)}"
865
667
  >
866
668
  ${(x) => x.label}
867
669
  <${visuallyHiddenTag}>${(x, c) => {
868
- const picker = c.parentContext.parentContext.parent;
869
- const announcements = [];
870
- if (areMonthsEqual(x.month, picker._currentMonth)) {
871
- announcements.push(picker.locale.calendarPicker.currentLabel);
872
- }
873
- if (areMonthsEqual(x.month, picker._selectedMonth)) {
874
- announcements.push(
875
- picker.locale.calendarPicker.selectedLabel
876
- );
877
- }
878
- return announcements.join(" ");
879
- }}</${visuallyHiddenTag}>
670
+ const picker = c.parentContext.parentContext.parent;
671
+ const announcements = [];
672
+ if (areMonthsEqual(x.month, picker._currentMonth)) announcements.push(picker.locale.calendarPicker.currentLabel);
673
+ if (areMonthsEqual(x.month, picker._selectedMonth)) announcements.push(picker.locale.calendarPicker.selectedLabel);
674
+ return announcements.join(" ");
675
+ }}</${visuallyHiddenTag}>
880
676
  </button>
881
677
  </span>
882
- `
883
- )}
678
+ `)}
884
679
  </div>
885
- `
886
- )}
680
+ `)}
887
681
  </div>`;
888
682
  }
889
- const CalendarPickerTemplate = (context) => {
890
- return fastElement.html`
683
+ var CalendarPickerTemplate = (context) => {
684
+ return _microsoft_fast_element.html`
891
685
  <div class="segments">
892
- ${fastElement.repeat(
893
- (x) => x._segments,
894
- fastElement.html` <div class="segment">
686
+ ${(0, _microsoft_fast_element.repeat)((x) => x._segments, _microsoft_fast_element.html` <div class="segment">
895
687
  ${renderDialogHeader(context)}
896
- ${fastElement.when(
897
- (x) => x.type === "month-picker",
898
- fastElement.html`${renderMonthPickerGrid(context)}`
899
- )}
900
- ${fastElement.when(
901
- (x) => x.type === "calendar",
902
- fastElement.html`${renderCalendarGrid(context)}`
903
- )}
904
- </div>`
905
- )}
688
+ ${(0, _microsoft_fast_element.when)((x) => x.type === "month-picker", _microsoft_fast_element.html`${renderMonthPickerGrid(context)}`)}
689
+ ${(0, _microsoft_fast_element.when)((x) => x.type === "calendar", _microsoft_fast_element.html`${renderCalendarGrid(context)}`)}
690
+ </div>`)}
906
691
  </div>
907
692
  `;
908
693
  };
909
-
910
- exports.CalendarPicker = CalendarPicker;
911
- exports.CalendarPickerTemplate = CalendarPickerTemplate;
912
- exports.MinMaxCalendarPicker = MinMaxCalendarPicker;
913
- exports.ValidDateFilter = ValidDateFilter;
914
- exports.calendarStyles = calendarStyles;
915
- exports.compareDateStr = compareDateStr;
916
- exports.currentDateStr = currentDateStr;
917
- exports.formatPresentationDate = formatPresentationDate;
918
- exports.isValidDateStr = isValidDateStr;
919
- exports.parsePresentationDate = parsePresentationDate;
694
+ //#endregion
695
+ Object.defineProperty(exports, "CalendarPicker", {
696
+ enumerable: true,
697
+ get: function() {
698
+ return CalendarPicker;
699
+ }
700
+ });
701
+ Object.defineProperty(exports, "CalendarPickerTemplate", {
702
+ enumerable: true,
703
+ get: function() {
704
+ return CalendarPickerTemplate;
705
+ }
706
+ });
707
+ Object.defineProperty(exports, "MinMaxCalendarPicker", {
708
+ enumerable: true,
709
+ get: function() {
710
+ return MinMaxCalendarPicker;
711
+ }
712
+ });
713
+ Object.defineProperty(exports, "ValidDateFilter", {
714
+ enumerable: true,
715
+ get: function() {
716
+ return ValidDateFilter;
717
+ }
718
+ });
719
+ Object.defineProperty(exports, "calendar_picker_default", {
720
+ enumerable: true,
721
+ get: function() {
722
+ return calendar_picker_default;
723
+ }
724
+ });
725
+ Object.defineProperty(exports, "compareDateStr", {
726
+ enumerable: true,
727
+ get: function() {
728
+ return compareDateStr;
729
+ }
730
+ });
731
+ Object.defineProperty(exports, "currentDateStr", {
732
+ enumerable: true,
733
+ get: function() {
734
+ return currentDateStr;
735
+ }
736
+ });
737
+ Object.defineProperty(exports, "formatPresentationDate", {
738
+ enumerable: true,
739
+ get: function() {
740
+ return formatPresentationDate;
741
+ }
742
+ });
743
+ Object.defineProperty(exports, "isValidDateStr", {
744
+ enumerable: true,
745
+ get: function() {
746
+ return isValidDateStr;
747
+ }
748
+ });
749
+ Object.defineProperty(exports, "parsePresentationDate", {
750
+ enumerable: true,
751
+ get: function() {
752
+ return parsePresentationDate;
753
+ }
754
+ });