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