voyager-ionic-core 8.5.7 → 8.6.1

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 (811) hide show
  1. package/components/action-sheet.js +37 -23
  2. package/components/alert.js +42 -26
  3. package/components/animation.js +2 -2
  4. package/components/backdrop.js +11 -4
  5. package/components/button-active.js +1 -1
  6. package/components/button.js +53 -29
  7. package/components/buttons.js +14 -4
  8. package/components/capacitor.js +1 -1
  9. package/components/checkbox.js +40 -16
  10. package/components/config.js +1 -1
  11. package/components/content.js +24 -5
  12. package/components/data.js +31 -6
  13. package/components/gesture-controller.js +1 -1
  14. package/components/haptic.js +1 -1
  15. package/components/hardware-back-button.js +2 -2
  16. package/components/header.js +12 -7
  17. package/components/helpers.js +3 -6
  18. package/components/icon.js +1 -2
  19. package/components/index.js +1 -1
  20. package/components/index2.js +1 -1
  21. package/components/index3.js +3 -5
  22. package/components/index4.js +1 -1
  23. package/components/index5.js +2 -2
  24. package/components/index6.js +28 -3
  25. package/components/index7.js +163 -27
  26. package/components/index8.js +1 -1
  27. package/components/index9.js +3 -163
  28. package/components/input-shims.js +25 -2
  29. package/components/input.utils.js +2 -2
  30. package/components/ion-accordion-group.js +20 -7
  31. package/components/ion-accordion.js +32 -14
  32. package/components/ion-app.js +4 -5
  33. package/components/ion-avatar.js +2 -4
  34. package/components/ion-back-button.js +12 -13
  35. package/components/ion-badge.js +2 -5
  36. package/components/ion-breadcrumb.js +22 -20
  37. package/components/ion-breadcrumbs.js +14 -10
  38. package/components/ion-card-content.js +2 -4
  39. package/components/ion-card-header.js +7 -5
  40. package/components/ion-card-subtitle.js +2 -5
  41. package/components/ion-card-title.js +2 -5
  42. package/components/ion-card.js +16 -11
  43. package/components/ion-chip.js +8 -5
  44. package/components/ion-col.js +1 -26
  45. package/components/ion-datetime-button.js +16 -14
  46. package/components/ion-datetime.js +222 -131
  47. package/components/ion-fab-button.js +37 -20
  48. package/components/ion-fab-list.js +7 -2
  49. package/components/ion-fab.js +10 -4
  50. package/components/ion-footer.js +13 -8
  51. package/components/ion-grid.js +4 -2
  52. package/components/ion-img.js +1 -6
  53. package/components/ion-infinite-scroll-content.js +2 -6
  54. package/components/ion-infinite-scroll.js +27 -6
  55. package/components/ion-input-otp.d.ts +11 -0
  56. package/components/ion-input-otp.js +631 -0
  57. package/components/ion-input-password-toggle.js +11 -13
  58. package/components/ion-input.js +79 -51
  59. package/components/ion-item-divider.js +11 -7
  60. package/components/ion-item-group.js +3 -5
  61. package/components/ion-item-option.js +16 -14
  62. package/components/ion-item-options.js +7 -5
  63. package/components/ion-item-sliding.js +8 -5
  64. package/components/ion-loading.js +38 -21
  65. package/components/ion-menu-button.js +17 -12
  66. package/components/ion-menu-toggle.js +11 -7
  67. package/components/ion-menu.js +28 -12
  68. package/components/ion-nav-link.js +7 -7
  69. package/components/ion-nav.js +9 -12
  70. package/components/ion-note.js +4 -7
  71. package/components/ion-picker-legacy.js +47 -27
  72. package/components/ion-progress-bar.js +20 -7
  73. package/components/ion-range.js +69 -29
  74. package/components/ion-refresher-content.js +2 -6
  75. package/components/ion-refresher.js +56 -8
  76. package/components/ion-reorder-group.js +7 -5
  77. package/components/ion-reorder.js +4 -6
  78. package/components/ion-route-redirect.js +0 -2
  79. package/components/ion-route.js +9 -7
  80. package/components/ion-router-link.js +9 -11
  81. package/components/ion-router-outlet.js +12 -10
  82. package/components/ion-router.js +19 -1
  83. package/components/ion-row.js +2 -3
  84. package/components/ion-searchbar.js +82 -33
  85. package/components/ion-segment-button.js +22 -13
  86. package/components/ion-segment-content.js +2 -3
  87. package/components/ion-segment-view.js +7 -7
  88. package/components/ion-segment.js +24 -13
  89. package/components/ion-select-option.js +5 -4
  90. package/components/ion-select.js +68 -34
  91. package/components/ion-skeleton-text.js +6 -4
  92. package/components/ion-split-pane.js +13 -8
  93. package/components/ion-tab-bar.js +9 -8
  94. package/components/ion-tab-button.js +12 -14
  95. package/components/ion-tab.js +5 -8
  96. package/components/ion-tabs.js +5 -6
  97. package/components/ion-text.js +3 -5
  98. package/components/ion-textarea.js +72 -36
  99. package/components/ion-thumbnail.js +2 -3
  100. package/components/ion-toast.js +58 -35
  101. package/components/ion-toggle.js +55 -24
  102. package/components/ionic-global.js +1 -1
  103. package/components/item.js +20 -14
  104. package/components/keyboard-controller.js +2 -2
  105. package/components/keyboard.js +134 -69
  106. package/components/keyboard2.js +69 -134
  107. package/components/label.js +4 -8
  108. package/components/list-header.js +4 -8
  109. package/components/list.js +6 -6
  110. package/components/modal.js +252 -205
  111. package/components/notch-controller.js +1 -1
  112. package/components/overlays.js +3 -3
  113. package/components/picker-column-option.js +20 -7
  114. package/components/picker-column.js +25 -10
  115. package/components/picker-column2.js +8 -11
  116. package/components/picker.js +2 -4
  117. package/components/popover.js +132 -40
  118. package/components/radio-group.js +11 -11
  119. package/components/radio.js +30 -16
  120. package/components/refresher.utils.js +2 -2
  121. package/components/ripple-effect.js +11 -3
  122. package/components/select-modal.js +4 -9
  123. package/components/select-popover.js +6 -9
  124. package/components/spinner.js +5 -6
  125. package/components/swipe-back.js +1 -1
  126. package/components/title.js +4 -8
  127. package/components/toolbar.js +4 -7
  128. package/css/core.css +1 -1
  129. package/css/core.css.map +1 -1
  130. package/css/global.bundle.css +1 -1
  131. package/css/global.bundle.css.map +1 -1
  132. package/css/ionic.bundle.css +1 -1
  133. package/css/ionic.bundle.css.map +1 -1
  134. package/css/structure.css +1 -1
  135. package/css/structure.css.map +1 -1
  136. package/dist/cjs/{animation-ab2d3449.js → animation-0T7gKwOt.js} +2 -2
  137. package/dist/cjs/{button-active-43e2b419.js → button-active-C-4ud7Ht.js} +3 -3
  138. package/dist/cjs/{capacitor-c04564bf.js → capacitor-DmA66EwP.js} +1 -1
  139. package/dist/cjs/{config-f6225ae7.js → config-U7OAuj53.js} +1 -1
  140. package/dist/cjs/{data-94e8d392.js → data-DRqa6oM4.js} +30 -5
  141. package/dist/cjs/{framework-delegate-862d9d00.js → framework-delegate-C7sIJyT5.js} +1 -1
  142. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-dtqlP_q4.js} +1 -1
  143. package/dist/cjs/{haptic-f6b37aa3.js → haptic-ClPPQ_PS.js} +1 -1
  144. package/dist/cjs/{hardware-back-button-3d2b1004.js → hardware-back-button-D90qZxju.js} +2 -2
  145. package/dist/cjs/{helpers-8a48fdea.js → helpers-BITAzJfi.js} +2 -5
  146. package/dist/cjs/{index-dbe01e08.js → index-BDBT0u4l.js} +3 -3
  147. package/dist/cjs/{index-ee07ed59.js → index-CAvQ7Tka.js} +3 -4
  148. package/dist/cjs/{index-073c7cdc.js → index-CPbAsnJK.js} +1 -0
  149. package/dist/cjs/{index-31b07b9c.js → index-CVa6JE57.js} +3 -3
  150. package/dist/cjs/{index-a96d31ae.js → index-CxfLS2mX.js} +8 -9
  151. package/dist/cjs/{index-2e236a04.js → index-DODXXb_r.js} +1676 -675
  152. package/dist/cjs/{index-1eff7149.js → index-y0QaNtCi.js} +6 -7
  153. package/dist/cjs/index.cjs.js +22 -28
  154. package/dist/cjs/{input-shims-415be7ee.js → input-shims-D1Mfgd4s.js} +29 -6
  155. package/dist/cjs/{input.utils-a7957fd6.js → input.utils-DSoBEyUu.js} +3 -3
  156. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -29
  157. package/dist/cjs/ion-action-sheet.cjs.entry.js +50 -40
  158. package/dist/cjs/ion-alert.cjs.entry.js +59 -47
  159. package/dist/cjs/ion-app_8.cjs.entry.js +134 -105
  160. package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -20
  161. package/dist/cjs/ion-back-button.cjs.entry.js +21 -26
  162. package/dist/cjs/ion-backdrop.cjs.entry.js +13 -10
  163. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +39 -37
  164. package/dist/cjs/ion-button_2.cjs.entry.js +54 -37
  165. package/dist/cjs/ion-card_5.cjs.entry.js +36 -41
  166. package/dist/cjs/ion-checkbox.cjs.entry.js +44 -24
  167. package/dist/cjs/ion-chip.cjs.entry.js +11 -12
  168. package/dist/cjs/ion-col_3.cjs.entry.js +10 -38
  169. package/dist/cjs/ion-datetime-button.cjs.entry.js +23 -25
  170. package/dist/cjs/ion-datetime_3.cjs.entry.js +344 -241
  171. package/dist/cjs/ion-fab_3.cjs.entry.js +59 -35
  172. package/dist/cjs/ion-img.cjs.entry.js +4 -13
  173. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +38 -25
  174. package/dist/cjs/ion-input-otp.cjs.entry.js +593 -0
  175. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +17 -23
  176. package/dist/cjs/ion-input.cjs.entry.js +86 -62
  177. package/dist/cjs/ion-item-option_3.cjs.entry.js +40 -37
  178. package/dist/cjs/ion-item_8.cjs.entry.js +69 -74
  179. package/dist/cjs/ion-loading.cjs.entry.js +50 -37
  180. package/dist/cjs/ion-menu_3.cjs.entry.js +84 -63
  181. package/dist/cjs/ion-modal.cjs.entry.js +271 -228
  182. package/dist/cjs/ion-nav_2.cjs.entry.js +30 -37
  183. package/dist/cjs/ion-picker-column-option.cjs.entry.js +24 -15
  184. package/dist/cjs/ion-picker-column.cjs.entry.js +32 -21
  185. package/dist/cjs/ion-picker.cjs.entry.js +4 -9
  186. package/dist/cjs/ion-popover.cjs.entry.js +143 -55
  187. package/dist/cjs/ion-progress-bar.cjs.entry.js +24 -15
  188. package/dist/cjs/ion-radio_2.cjs.entry.js +47 -37
  189. package/dist/cjs/ion-range.cjs.entry.js +78 -42
  190. package/dist/cjs/ion-refresher_2.cjs.entry.js +81 -41
  191. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -23
  192. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -9
  193. package/dist/cjs/ion-route_4.cjs.entry.js +52 -40
  194. package/dist/cjs/ion-searchbar.cjs.entry.js +91 -46
  195. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -6
  196. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -10
  197. package/dist/cjs/ion-segment_2.cjs.entry.js +55 -39
  198. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -21
  199. package/dist/cjs/ion-select_3.cjs.entry.js +98 -70
  200. package/dist/cjs/ion-spinner.cjs.entry.js +12 -17
  201. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -15
  202. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +31 -36
  203. package/dist/cjs/ion-tab_2.cjs.entry.js +13 -20
  204. package/dist/cjs/ion-text.cjs.entry.js +6 -12
  205. package/dist/cjs/ion-textarea.cjs.entry.js +79 -47
  206. package/dist/cjs/ion-toast.cjs.entry.js +82 -63
  207. package/dist/cjs/ion-toggle.cjs.entry.js +64 -37
  208. package/dist/cjs/ionic.cjs.js +7 -10
  209. package/dist/cjs/{ios.transition-a131cd4d.js → ios.transition-baEy2tr4.js} +5 -6
  210. package/dist/cjs/{keyboard-0272231f.js → keyboard-UuAS4D_9.js} +1 -1
  211. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-GXBiBRKS.js} +2 -2
  212. package/dist/cjs/{keyboard-af1bb365.js → keyboard-hHzlEQpk.js} +3 -3
  213. package/dist/cjs/loader.cjs.js +3 -8
  214. package/dist/cjs/{md.transition-e018ebe5.js → md.transition-Bvc-JrM5.js} +5 -6
  215. package/dist/cjs/{notch-controller-09b7f358.js → notch-controller-BAbqGXRi.js} +2 -2
  216. package/dist/cjs/{overlays-4c291a05.js → overlays-DRDumz2b.js} +9 -10
  217. package/dist/cjs/{status-tap-f1acefac.js → status-tap-Db3WeCkO.js} +3 -4
  218. package/dist/cjs/{swipe-back-442ca3d7.js → swipe-back-bLyc4PSi.js} +5 -5
  219. package/dist/collection/collection-manifest.json +3 -2
  220. package/dist/collection/components/accordion/accordion.js +43 -13
  221. package/dist/collection/components/accordion-group/accordion-group.js +35 -8
  222. package/dist/collection/components/action-sheet/action-sheet.js +84 -31
  223. package/dist/collection/components/alert/alert.js +94 -34
  224. package/dist/collection/components/back-button/back-button.js +30 -14
  225. package/dist/collection/components/backdrop/backdrop.js +18 -3
  226. package/dist/collection/components/badge/badge.js +3 -4
  227. package/dist/collection/components/breadcrumb/breadcrumb.js +57 -26
  228. package/dist/collection/components/breadcrumbs/breadcrumbs.js +24 -10
  229. package/dist/collection/components/button/button.js +97 -36
  230. package/dist/collection/components/buttons/buttons.js +15 -1
  231. package/dist/collection/components/card/card.js +44 -16
  232. package/dist/collection/components/card-header/card-header.js +11 -3
  233. package/dist/collection/components/card-subtitle/card-subtitle.js +3 -4
  234. package/dist/collection/components/card-title/card-title.js +3 -4
  235. package/dist/collection/components/checkbox/checkbox.js +74 -24
  236. package/dist/collection/components/chip/chip.js +15 -4
  237. package/dist/collection/components/col/col.js +72 -50
  238. package/dist/collection/components/content/content.js +43 -9
  239. package/dist/collection/components/datetime/datetime.ios.css +7 -2
  240. package/dist/collection/components/datetime/datetime.js +323 -147
  241. package/dist/collection/components/datetime/datetime.md.css +9 -3
  242. package/dist/collection/components/datetime/utils/data.js +29 -4
  243. package/dist/collection/components/datetime-button/datetime-button.js +21 -11
  244. package/dist/collection/components/fab/fab.js +21 -6
  245. package/dist/collection/components/fab-button/fab-button.js +76 -28
  246. package/dist/collection/components/fab-list/fab-list.js +12 -2
  247. package/dist/collection/components/footer/footer.js +16 -5
  248. package/dist/collection/components/grid/grid.js +6 -1
  249. package/dist/collection/components/header/header.js +15 -4
  250. package/dist/collection/components/img/img.js +6 -6
  251. package/dist/collection/components/infinite-scroll/infinite-scroll.js +35 -7
  252. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +6 -4
  253. package/dist/collection/components/input/input.js +178 -79
  254. package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
  255. package/dist/collection/components/input-otp/input-otp.ios.css +381 -0
  256. package/dist/collection/components/input-otp/input-otp.js +1003 -0
  257. package/dist/collection/components/input-otp/input-otp.md.css +381 -0
  258. package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -11
  259. package/dist/collection/components/item/item.js +56 -21
  260. package/dist/collection/components/item-divider/item-divider.js +15 -5
  261. package/dist/collection/components/item-group/item-group.js +1 -1
  262. package/dist/collection/components/item-option/item-option.js +38 -18
  263. package/dist/collection/components/item-options/item-options.js +8 -2
  264. package/dist/collection/components/item-sliding/item-sliding.js +9 -3
  265. package/dist/collection/components/label/label.js +8 -6
  266. package/dist/collection/components/list/list.js +10 -4
  267. package/dist/collection/components/list-header/list-header.js +8 -8
  268. package/dist/collection/components/loading/loading.js +88 -31
  269. package/dist/collection/components/menu/menu.js +44 -12
  270. package/dist/collection/components/menu-button/menu-button.js +29 -12
  271. package/dist/collection/components/menu-toggle/menu-toggle.js +16 -7
  272. package/dist/collection/components/modal/animations/ios.enter.js +1 -41
  273. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  274. package/dist/collection/components/modal/animations/md.enter.js +2 -42
  275. package/dist/collection/components/modal/animations/md.leave.js +2 -24
  276. package/dist/collection/components/modal/gestures/sheet.js +122 -29
  277. package/dist/collection/components/modal/modal.ios.css +0 -10
  278. package/dist/collection/components/modal/modal.js +192 -55
  279. package/dist/collection/components/nav/nav.js +25 -12
  280. package/dist/collection/components/nav-link/nav-link.js +19 -9
  281. package/dist/collection/components/note/note.js +5 -6
  282. package/dist/collection/components/picker-column/picker-column.js +34 -10
  283. package/dist/collection/components/picker-column-option/picker-column-option.js +27 -6
  284. package/dist/collection/components/picker-legacy/picker.js +93 -33
  285. package/dist/collection/components/picker-legacy-column/picker-column.js +7 -5
  286. package/dist/collection/components/popover/popover.js +211 -58
  287. package/dist/collection/components/progress-bar/progress-bar.js +32 -7
  288. package/dist/collection/components/radio/radio.js +49 -19
  289. package/dist/collection/components/radio-group/radio-group.js +27 -13
  290. package/dist/collection/components/range/range.js +112 -37
  291. package/dist/collection/components/refresher/refresher.js +69 -7
  292. package/dist/collection/components/refresher-content/refresher-content.js +13 -9
  293. package/dist/collection/components/reorder/reorder.js +1 -1
  294. package/dist/collection/components/reorder-group/reorder-group.js +7 -2
  295. package/dist/collection/components/ripple-effect/ripple-effect.js +13 -2
  296. package/dist/collection/components/route/route.js +24 -9
  297. package/dist/collection/components/route-redirect/route-redirect.js +6 -6
  298. package/dist/collection/components/router/router.js +24 -2
  299. package/dist/collection/components/router-link/router-link.js +26 -14
  300. package/dist/collection/components/router-outlet/router-outlet.js +25 -9
  301. package/dist/collection/components/row/row.js +1 -1
  302. package/dist/collection/components/searchbar/searchbar.js +146 -51
  303. package/dist/collection/components/segment/segment.js +40 -15
  304. package/dist/collection/components/segment-button/segment-button.js +34 -13
  305. package/dist/collection/components/segment-content/segment-content.js +1 -1
  306. package/dist/collection/components/segment-view/segment-view.js +8 -4
  307. package/dist/collection/components/select/select.js +128 -48
  308. package/dist/collection/components/select-modal/select-modal.js +10 -5
  309. package/dist/collection/components/select-option/select-option.js +10 -4
  310. package/dist/collection/components/select-popover/select-popover.js +19 -9
  311. package/dist/collection/components/skeleton-text/skeleton-text.js +8 -3
  312. package/dist/collection/components/spinner/spinner.js +16 -8
  313. package/dist/collection/components/split-pane/split-pane.js +19 -6
  314. package/dist/collection/components/tab/tab.js +16 -9
  315. package/dist/collection/components/tab-bar/tab-bar.js +16 -7
  316. package/dist/collection/components/tab-button/tab-button.js +34 -18
  317. package/dist/collection/components/tabs/tabs.js +6 -4
  318. package/dist/collection/components/text/text.js +5 -6
  319. package/dist/collection/components/textarea/textarea.js +154 -59
  320. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  321. package/dist/collection/components/title/title.js +8 -8
  322. package/dist/collection/components/toast/toast.js +121 -47
  323. package/dist/collection/components/toggle/toggle.js +86 -28
  324. package/dist/collection/components/toolbar/toolbar.js +5 -4
  325. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +23 -0
  326. package/dist/docs.d.ts +8 -0
  327. package/dist/docs.json +4490 -942
  328. package/dist/esm/{animation-8b25e105.js → animation-BWcUKtbn.js} +2 -2
  329. package/dist/esm/{button-active-90f1dbc4.js → button-active-Bxcnevju.js} +3 -3
  330. package/dist/esm/{capacitor-59395cbd.js → capacitor-CFERIeaU.js} +1 -1
  331. package/dist/esm/{config-9898ed97.js → config-AaTyISnm.js} +1 -1
  332. package/dist/esm/{data-0d7ea6eb.js → data-GIsHsYIB.js} +31 -6
  333. package/dist/esm/{framework-delegate-56b467ad.js → framework-delegate-DxcnWic_.js} +1 -1
  334. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-BTEOs1at.js} +1 -1
  335. package/dist/esm/{haptic-ac164e4c.js → haptic-DzAMWJuk.js} +2 -2
  336. package/dist/esm/{hardware-back-button-a7eb8233.js → hardware-back-button-DcH0BbDp.js} +2 -2
  337. package/dist/esm/{helpers-d94bc8ad.js → helpers-1O4D2b7y.js} +3 -6
  338. package/dist/esm/{index-e2cf2ceb.js → index-BLV6ykCk.js} +2 -1
  339. package/dist/esm/{index-527b9e34.js → index-B_U9CtaY.js} +1667 -654
  340. package/dist/esm/{index-9a17db3d.js → index-BlJTBdxG.js} +3 -3
  341. package/dist/esm/{index-be190feb.js → index-CWbP1eJz.js} +3 -3
  342. package/dist/esm/{index-39782642.js → index-CfgBF1SE.js} +4 -6
  343. package/dist/esm/{index-18f31305.js → index-D8sncTHY.js} +5 -6
  344. package/dist/esm/{index-68c0d151.js → index-DfBA5ztX.js} +4 -5
  345. package/dist/esm/index.js +16 -18
  346. package/dist/esm/{input-shims-279903e2.js → input-shims-C3lNp93k.js} +29 -6
  347. package/dist/esm/{input.utils-40504d6d.js → input.utils-zWijNCrx.js} +3 -3
  348. package/dist/esm/ion-accordion_2.entry.js +52 -23
  349. package/dist/esm/ion-action-sheet.entry.js +48 -36
  350. package/dist/esm/ion-alert.entry.js +53 -39
  351. package/dist/esm/ion-app_8.entry.js +99 -68
  352. package/dist/esm/ion-avatar_3.entry.js +8 -16
  353. package/dist/esm/ion-back-button.entry.js +14 -17
  354. package/dist/esm/ion-backdrop.entry.js +12 -7
  355. package/dist/esm/ion-breadcrumb_2.entry.js +37 -33
  356. package/dist/esm/ion-button_2.entry.js +50 -31
  357. package/dist/esm/ion-card_5.entry.js +31 -34
  358. package/dist/esm/ion-checkbox.entry.js +43 -21
  359. package/dist/esm/ion-chip.entry.js +10 -9
  360. package/dist/esm/ion-col_3.entry.js +8 -34
  361. package/dist/esm/ion-datetime-button.entry.js +18 -18
  362. package/dist/esm/ion-datetime_3.entry.js +279 -174
  363. package/dist/esm/ion-fab_3.entry.js +56 -30
  364. package/dist/esm/ion-img.entry.js +3 -10
  365. package/dist/esm/ion-infinite-scroll_2.entry.js +33 -18
  366. package/dist/esm/ion-input-otp.entry.js +591 -0
  367. package/dist/esm/ion-input-password-toggle.entry.js +12 -16
  368. package/dist/esm/ion-input.entry.js +84 -58
  369. package/dist/esm/ion-item-option_3.entry.js +36 -31
  370. package/dist/esm/ion-item_8.entry.js +60 -63
  371. package/dist/esm/ion-loading.entry.js +46 -31
  372. package/dist/esm/ion-menu_3.entry.js +66 -43
  373. package/dist/esm/ion-modal.entry.js +260 -215
  374. package/dist/esm/ion-nav_2.entry.js +17 -22
  375. package/dist/esm/ion-picker-column-option.entry.js +23 -12
  376. package/dist/esm/ion-picker-column.entry.js +29 -16
  377. package/dist/esm/ion-picker.entry.js +4 -7
  378. package/dist/esm/ion-popover.entry.js +137 -47
  379. package/dist/esm/ion-progress-bar.entry.js +22 -11
  380. package/dist/esm/ion-radio_2.entry.js +45 -33
  381. package/dist/esm/ion-range.entry.js +72 -34
  382. package/dist/esm/ion-refresher_2.entry.js +68 -26
  383. package/dist/esm/ion-reorder_2.entry.js +17 -19
  384. package/dist/esm/ion-ripple-effect.entry.js +12 -6
  385. package/dist/esm/ion-route_4.entry.js +35 -21
  386. package/dist/esm/ion-searchbar.entry.js +86 -39
  387. package/dist/esm/ion-segment-content.entry.js +3 -4
  388. package/dist/esm/ion-segment-view.entry.js +8 -8
  389. package/dist/esm/ion-segment_2.entry.js +50 -32
  390. package/dist/esm/ion-select-modal.entry.js +12 -19
  391. package/dist/esm/ion-select_3.entry.js +88 -58
  392. package/dist/esm/ion-spinner.entry.js +8 -11
  393. package/dist/esm/ion-split-pane.entry.js +13 -10
  394. package/dist/esm/ion-tab-bar_2.entry.js +28 -31
  395. package/dist/esm/ion-tab_2.entry.js +11 -16
  396. package/dist/esm/ion-text.entry.js +5 -9
  397. package/dist/esm/ion-textarea.entry.js +77 -43
  398. package/dist/esm/ion-toast.entry.js +65 -44
  399. package/dist/esm/ion-toggle.entry.js +62 -33
  400. package/dist/esm/ionic.js +5 -7
  401. package/dist/esm/{ios.transition-4047cb68.js → ios.transition-BmXtMRXZ.js} +5 -6
  402. package/dist/esm/{keyboard-73175e24.js → keyboard-CUw4ekVy.js} +1 -1
  403. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-BaaVITYt.js} +2 -2
  404. package/dist/esm/{keyboard-52278bd7.js → keyboard-ywgs5efA.js} +3 -3
  405. package/dist/esm/loader.js +3 -6
  406. package/dist/esm/{md.transition-30ce8d1b.js → md.transition-CLI683c7.js} +5 -6
  407. package/dist/esm/{notch-controller-1a1f7183.js → notch-controller-C5LPspO8.js} +2 -2
  408. package/dist/esm/{overlays-d99dcb0a.js → overlays-8Y2rA-ps.js} +6 -7
  409. package/dist/esm/{status-tap-42a8af65.js → status-tap-7t9T91bG.js} +3 -4
  410. package/dist/esm/{swipe-back-04123e7c.js → swipe-back-D_6Vqlwy.js} +5 -5
  411. package/dist/html.html-data.json +377 -1
  412. package/dist/index.js +1 -1
  413. package/dist/ionic/index.esm.js +1 -1
  414. package/dist/ionic/ionic.esm.js +1 -1
  415. package/dist/ionic/p-0fc6fc38.entry.js +4 -0
  416. package/dist/ionic/p-14ae45e4.entry.js +4 -0
  417. package/dist/ionic/p-15da9760.entry.js +4 -0
  418. package/dist/ionic/p-1739f5f2.entry.js +4 -0
  419. package/dist/ionic/p-18f1813b.entry.js +4 -0
  420. package/dist/ionic/p-2020aa51.entry.js +4 -0
  421. package/dist/ionic/p-2c6c6991.entry.js +4 -0
  422. package/dist/ionic/p-2cfd6b61.entry.js +4 -0
  423. package/dist/ionic/p-2d01ecd5.entry.js +4 -0
  424. package/dist/ionic/p-2da6a16b.entry.js +4 -0
  425. package/dist/ionic/p-3a4feac2.entry.js +4 -0
  426. package/dist/ionic/p-473877b6.entry.js +4 -0
  427. package/dist/ionic/p-4b7d1f35.entry.js +4 -0
  428. package/dist/ionic/p-4d61f20b.entry.js +4 -0
  429. package/dist/ionic/p-4ddc10ef.entry.js +4 -0
  430. package/dist/ionic/p-56712fd4.entry.js +4 -0
  431. package/dist/ionic/p-6b666996.entry.js +4 -0
  432. package/dist/ionic/p-7149db7e.entry.js +4 -0
  433. package/dist/ionic/p-73d7ad90.entry.js +4 -0
  434. package/dist/ionic/p-76b697a3.entry.js +4 -0
  435. package/dist/ionic/{p-ed005d9c.js → p-7qk7mxdr.js} +1 -1
  436. package/dist/ionic/p-81f1b778.entry.js +4 -0
  437. package/dist/ionic/p-8957540a.entry.js +4 -0
  438. package/dist/ionic/p-8a8ef46b.entry.js +4 -0
  439. package/dist/ionic/p-8c674371.entry.js +4 -0
  440. package/dist/ionic/p-8f2f76e0.entry.js +4 -0
  441. package/dist/ionic/p-91bde659.entry.js +4 -0
  442. package/dist/ionic/p-96389029.entry.js +4 -0
  443. package/dist/ionic/p-97667b9c.entry.js +4 -0
  444. package/dist/ionic/p-9b46b31b.entry.js +4 -0
  445. package/dist/ionic/p-9e699d4a.entry.js +4 -0
  446. package/dist/ionic/p-9eeaBrnk.js +4 -0
  447. package/dist/ionic/p-B1MNHTYX.js +4 -0
  448. package/dist/ionic/p-B3XSxWNQ.js +4 -0
  449. package/dist/ionic/{p-da2b833b.js → p-BLV6ykCk.js} +1 -1
  450. package/dist/ionic/p-BROiNJRB.js +4 -0
  451. package/dist/ionic/p-B_U9CtaY.js +5 -0
  452. package/dist/ionic/{p-f08a92cc.js → p-BhLqfMrf.js} +1 -1
  453. package/dist/ionic/{p-2bb55ebc.js → p-BmQduG8c.js} +1 -1
  454. package/dist/ionic/p-CIGNaXM1.js +4 -0
  455. package/dist/ionic/{p-89b61afc.js → p-CKvCXMs9.js} +1 -1
  456. package/dist/ionic/p-CL-KfWxq.js +4 -0
  457. package/dist/ionic/p-CPgXVSua.js +4 -0
  458. package/dist/ionic/p-CRiGyYOA.js +4 -0
  459. package/dist/ionic/{p-10a1bddc.js → p-CbI9XwwW.js} +1 -1
  460. package/dist/ionic/p-Cl0B-RWe.js +4 -0
  461. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  462. package/dist/ionic/{p-27281edd.js → p-D13Eaw-8.js} +1 -1
  463. package/dist/ionic/{p-0f5e6225.js → p-DCfS5Jk_.js} +1 -1
  464. package/dist/ionic/p-DgdWETCP.js +4 -0
  465. package/dist/ionic/p-Do-uqmtX.js +4 -0
  466. package/dist/ionic/p-DonTxalL.js +4 -0
  467. package/dist/ionic/{p-b7b1d91a.js → p-DzH0J0yi.js} +1 -1
  468. package/dist/ionic/p-QwEXyOze.js +4 -0
  469. package/dist/ionic/p-a6282370.entry.js +4 -0
  470. package/dist/ionic/p-a9ac80bd.entry.js +4 -0
  471. package/dist/ionic/p-a9f99c74.entry.js +4 -0
  472. package/dist/ionic/p-aIxOGKys.js +4 -0
  473. package/dist/ionic/p-aa8956c2.entry.js +4 -0
  474. package/dist/ionic/p-b37dbc31.entry.js +4 -0
  475. package/dist/ionic/p-b9f79efc.entry.js +4 -0
  476. package/dist/ionic/p-bNmY-WfR.js +4 -0
  477. package/dist/ionic/p-bb5fc02e.entry.js +4 -0
  478. package/dist/ionic/p-bc01c127.entry.js +4 -0
  479. package/dist/ionic/p-bec79123.entry.js +4 -0
  480. package/dist/ionic/p-c0335397.entry.js +4 -0
  481. package/dist/ionic/p-c448135a.entry.js +4 -0
  482. package/dist/ionic/p-c4912ca5.entry.js +4 -0
  483. package/dist/ionic/p-c884d7e3.entry.js +4 -0
  484. package/dist/ionic/p-cb787a4b.entry.js +4 -0
  485. package/dist/ionic/p-cd12ed1c.entry.js +4 -0
  486. package/dist/ionic/p-cf632ee2.entry.js +4 -0
  487. package/dist/ionic/p-d8ed5df0.entry.js +4 -0
  488. package/dist/ionic/p-e1260ed5.entry.js +4 -0
  489. package/dist/ionic/p-e30ff968.entry.js +4 -0
  490. package/dist/ionic/{p-b6d324f0.js → p-ei_RiGrl.js} +1 -1
  491. package/dist/ionic/p-f83db8cd.entry.js +4 -0
  492. package/dist/ionic/p-fbc5481b.entry.js +4 -0
  493. package/dist/ionic/p-fcc7437b.entry.js +4 -0
  494. package/dist/types/components/button/button.d.ts +11 -0
  495. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  496. package/dist/types/components/datetime/datetime.d.ts +6 -0
  497. package/dist/types/components/datetime/utils/data.d.ts +3 -1
  498. package/dist/types/components/datetime/utils/manipulation.d.ts +1 -0
  499. package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
  500. package/dist/types/components/input-otp/input-otp.d.ts +268 -0
  501. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  502. package/dist/types/components.d.ts +786 -2
  503. package/dist/types/interface.d.ts +1 -0
  504. package/dist/types/stencil-public-runtime.d.ts +29 -1
  505. package/hydrate/index.d.ts +44 -7
  506. package/hydrate/index.js +5671 -2585
  507. package/hydrate/index.mjs +5670 -2584
  508. package/loader/cdn.js +1 -2
  509. package/loader/index.cjs.js +1 -2
  510. package/loader/index.es2017.js +0 -1
  511. package/loader/index.js +1 -2
  512. package/package.json +4 -4
  513. package/dist/cjs/app-globals-ddceb1f4.js +0 -10
  514. package/dist/cjs/index-cc858e97.js +0 -129
  515. package/dist/cjs/ionic-global-6dea5a96.js +0 -152
  516. package/dist/esm/app-globals-dbdbb3df.js +0 -8
  517. package/dist/esm/index-cfd9c1f2.js +0 -121
  518. package/dist/esm/ionic-global-b26f573e.js +0 -147
  519. package/dist/esm/polyfills/core-js.js +0 -11
  520. package/dist/esm/polyfills/dom.js +0 -79
  521. package/dist/esm/polyfills/es5-html-element.js +0 -1
  522. package/dist/esm/polyfills/index.js +0 -34
  523. package/dist/esm/polyfills/system.js +0 -6
  524. package/dist/esm-es5/animation-8b25e105.js +0 -4
  525. package/dist/esm-es5/app-globals-dbdbb3df.js +0 -4
  526. package/dist/esm-es5/button-active-90f1dbc4.js +0 -4
  527. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  528. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +0 -4
  529. package/dist/esm-es5/config-9898ed97.js +0 -4
  530. package/dist/esm-es5/cubic-bezier-fe2083dc.js +0 -4
  531. package/dist/esm-es5/data-0d7ea6eb.js +0 -4
  532. package/dist/esm-es5/dir-babeabeb.js +0 -4
  533. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  534. package/dist/esm-es5/framework-delegate-56b467ad.js +0 -4
  535. package/dist/esm-es5/gesture-controller-314a54f6.js +0 -4
  536. package/dist/esm-es5/haptic-ac164e4c.js +0 -4
  537. package/dist/esm-es5/hardware-back-button-a7eb8233.js +0 -4
  538. package/dist/esm-es5/helpers-d94bc8ad.js +0 -4
  539. package/dist/esm-es5/index-18f31305.js +0 -4
  540. package/dist/esm-es5/index-39782642.js +0 -4
  541. package/dist/esm-es5/index-527b9e34.js +0 -5
  542. package/dist/esm-es5/index-68c0d151.js +0 -4
  543. package/dist/esm-es5/index-9a17db3d.js +0 -4
  544. package/dist/esm-es5/index-a5d50daf.js +0 -4
  545. package/dist/esm-es5/index-be190feb.js +0 -4
  546. package/dist/esm-es5/index-cfd9c1f2.js +0 -5
  547. package/dist/esm-es5/index-e2cf2ceb.js +0 -4
  548. package/dist/esm-es5/index.js +0 -4
  549. package/dist/esm-es5/input-shims-279903e2.js +0 -4
  550. package/dist/esm-es5/input.utils-40504d6d.js +0 -4
  551. package/dist/esm-es5/ion-accordion_2.entry.js +0 -4
  552. package/dist/esm-es5/ion-action-sheet.entry.js +0 -4
  553. package/dist/esm-es5/ion-alert.entry.js +0 -4
  554. package/dist/esm-es5/ion-app_8.entry.js +0 -4
  555. package/dist/esm-es5/ion-avatar_3.entry.js +0 -4
  556. package/dist/esm-es5/ion-back-button.entry.js +0 -4
  557. package/dist/esm-es5/ion-backdrop.entry.js +0 -4
  558. package/dist/esm-es5/ion-breadcrumb_2.entry.js +0 -4
  559. package/dist/esm-es5/ion-button_2.entry.js +0 -4
  560. package/dist/esm-es5/ion-card_5.entry.js +0 -4
  561. package/dist/esm-es5/ion-checkbox.entry.js +0 -4
  562. package/dist/esm-es5/ion-chip.entry.js +0 -4
  563. package/dist/esm-es5/ion-col_3.entry.js +0 -4
  564. package/dist/esm-es5/ion-datetime-button.entry.js +0 -4
  565. package/dist/esm-es5/ion-datetime_3.entry.js +0 -4
  566. package/dist/esm-es5/ion-fab_3.entry.js +0 -4
  567. package/dist/esm-es5/ion-img.entry.js +0 -4
  568. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +0 -4
  569. package/dist/esm-es5/ion-input-password-toggle.entry.js +0 -4
  570. package/dist/esm-es5/ion-input.entry.js +0 -4
  571. package/dist/esm-es5/ion-item-option_3.entry.js +0 -4
  572. package/dist/esm-es5/ion-item_8.entry.js +0 -4
  573. package/dist/esm-es5/ion-loading.entry.js +0 -4
  574. package/dist/esm-es5/ion-menu_3.entry.js +0 -4
  575. package/dist/esm-es5/ion-modal.entry.js +0 -4
  576. package/dist/esm-es5/ion-nav_2.entry.js +0 -4
  577. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  578. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  579. package/dist/esm-es5/ion-picker.entry.js +0 -4
  580. package/dist/esm-es5/ion-popover.entry.js +0 -4
  581. package/dist/esm-es5/ion-progress-bar.entry.js +0 -4
  582. package/dist/esm-es5/ion-radio_2.entry.js +0 -4
  583. package/dist/esm-es5/ion-range.entry.js +0 -4
  584. package/dist/esm-es5/ion-refresher_2.entry.js +0 -4
  585. package/dist/esm-es5/ion-reorder_2.entry.js +0 -4
  586. package/dist/esm-es5/ion-ripple-effect.entry.js +0 -4
  587. package/dist/esm-es5/ion-route_4.entry.js +0 -4
  588. package/dist/esm-es5/ion-searchbar.entry.js +0 -4
  589. package/dist/esm-es5/ion-segment-content.entry.js +0 -4
  590. package/dist/esm-es5/ion-segment-view.entry.js +0 -4
  591. package/dist/esm-es5/ion-segment_2.entry.js +0 -4
  592. package/dist/esm-es5/ion-select-modal.entry.js +0 -4
  593. package/dist/esm-es5/ion-select_3.entry.js +0 -4
  594. package/dist/esm-es5/ion-spinner.entry.js +0 -4
  595. package/dist/esm-es5/ion-split-pane.entry.js +0 -4
  596. package/dist/esm-es5/ion-tab-bar_2.entry.js +0 -4
  597. package/dist/esm-es5/ion-tab_2.entry.js +0 -4
  598. package/dist/esm-es5/ion-text.entry.js +0 -4
  599. package/dist/esm-es5/ion-textarea.entry.js +0 -4
  600. package/dist/esm-es5/ion-toast.entry.js +0 -4
  601. package/dist/esm-es5/ion-toggle.entry.js +0 -4
  602. package/dist/esm-es5/ionic-global-b26f573e.js +0 -4
  603. package/dist/esm-es5/ionic.js +0 -4
  604. package/dist/esm-es5/ios.transition-4047cb68.js +0 -4
  605. package/dist/esm-es5/keyboard-52278bd7.js +0 -4
  606. package/dist/esm-es5/keyboard-73175e24.js +0 -4
  607. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  608. package/dist/esm-es5/loader.js +0 -4
  609. package/dist/esm-es5/lock-controller-316928be.js +0 -4
  610. package/dist/esm-es5/md.transition-30ce8d1b.js +0 -4
  611. package/dist/esm-es5/notch-controller-1a1f7183.js +0 -4
  612. package/dist/esm-es5/overlays-d99dcb0a.js +0 -4
  613. package/dist/esm-es5/spinner-configs-964f7cf3.js +0 -4
  614. package/dist/esm-es5/status-tap-42a8af65.js +0 -4
  615. package/dist/esm-es5/swipe-back-04123e7c.js +0 -4
  616. package/dist/esm-es5/theme-01f3f29c.js +0 -4
  617. package/dist/esm-es5/watch-options-c2911ace.js +0 -4
  618. package/dist/ionic/ionic.js +0 -127
  619. package/dist/ionic/p-00023f5a.system.js +0 -4
  620. package/dist/ionic/p-012c3ceb.system.js +0 -4
  621. package/dist/ionic/p-03480b95.system.entry.js +0 -4
  622. package/dist/ionic/p-08cef0b1.entry.js +0 -4
  623. package/dist/ionic/p-08e01816.system.js +0 -4
  624. package/dist/ionic/p-0af640d6.entry.js +0 -4
  625. package/dist/ionic/p-105b2e8b.entry.js +0 -4
  626. package/dist/ionic/p-117d0013.system.entry.js +0 -4
  627. package/dist/ionic/p-11dca959.entry.js +0 -4
  628. package/dist/ionic/p-12193821.system.js +0 -4
  629. package/dist/ionic/p-12830298.system.entry.js +0 -4
  630. package/dist/ionic/p-14154301.system.entry.js +0 -4
  631. package/dist/ionic/p-1706b406.system.entry.js +0 -4
  632. package/dist/ionic/p-17e21141.js +0 -4
  633. package/dist/ionic/p-19494658.system.entry.js +0 -4
  634. package/dist/ionic/p-1966a13c.system.js +0 -4
  635. package/dist/ionic/p-1974d5b2.system.js +0 -4
  636. package/dist/ionic/p-1a7df1c3.system.js +0 -4
  637. package/dist/ionic/p-1a81ac09.system.js +0 -4
  638. package/dist/ionic/p-1b9c59ab.js +0 -4
  639. package/dist/ionic/p-1d307396.system.js +0 -4
  640. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  641. package/dist/ionic/p-1e4371bd.js +0 -4
  642. package/dist/ionic/p-1e955a45.system.js +0 -4
  643. package/dist/ionic/p-200fc491.js +0 -4
  644. package/dist/ionic/p-20d469d0.system.js +0 -4
  645. package/dist/ionic/p-21891ead.js +0 -4
  646. package/dist/ionic/p-2233344a.system.js +0 -4
  647. package/dist/ionic/p-2469240b.entry.js +0 -4
  648. package/dist/ionic/p-24a6c8a3.system.entry.js +0 -4
  649. package/dist/ionic/p-257fb777.entry.js +0 -4
  650. package/dist/ionic/p-25b10f81.js +0 -4
  651. package/dist/ionic/p-2b7827c7.js +0 -4
  652. package/dist/ionic/p-2bff0e69.system.entry.js +0 -4
  653. package/dist/ionic/p-31dc303d.entry.js +0 -4
  654. package/dist/ionic/p-3535d6b5.entry.js +0 -4
  655. package/dist/ionic/p-35cdfd77.system.entry.js +0 -4
  656. package/dist/ionic/p-393ffcc2.entry.js +0 -4
  657. package/dist/ionic/p-39fa7dd1.system.entry.js +0 -4
  658. package/dist/ionic/p-3a30f31b.system.entry.js +0 -4
  659. package/dist/ionic/p-3e1e14d9.system.js +0 -4
  660. package/dist/ionic/p-42f08b26.system.entry.js +0 -4
  661. package/dist/ionic/p-4609d030.system.js +0 -4
  662. package/dist/ionic/p-481e0885.entry.js +0 -4
  663. package/dist/ionic/p-4a5be299.system.entry.js +0 -4
  664. package/dist/ionic/p-4c667fce.js +0 -4
  665. package/dist/ionic/p-4cf4172e.entry.js +0 -4
  666. package/dist/ionic/p-4da92dac.entry.js +0 -4
  667. package/dist/ionic/p-4ed5db19.system.js +0 -4
  668. package/dist/ionic/p-4f255d5a.system.js +0 -4
  669. package/dist/ionic/p-50cb2e8b.system.entry.js +0 -4
  670. package/dist/ionic/p-57957c0f.entry.js +0 -4
  671. package/dist/ionic/p-57d6e18e.entry.js +0 -4
  672. package/dist/ionic/p-57e55ecb.system.js +0 -4
  673. package/dist/ionic/p-5b67b447.js +0 -4
  674. package/dist/ionic/p-5c9feddc.system.entry.js +0 -4
  675. package/dist/ionic/p-5fac20aa.system.entry.js +0 -4
  676. package/dist/ionic/p-612096e6.system.entry.js +0 -4
  677. package/dist/ionic/p-6201c4ba.entry.js +0 -4
  678. package/dist/ionic/p-625248d0.system.js +0 -4
  679. package/dist/ionic/p-663413be.system.js +0 -4
  680. package/dist/ionic/p-6636a436.js +0 -4
  681. package/dist/ionic/p-66a5d6a8.js +0 -5
  682. package/dist/ionic/p-66df5468.system.entry.js +0 -4
  683. package/dist/ionic/p-67077d48.entry.js +0 -4
  684. package/dist/ionic/p-67cacd6d.entry.js +0 -4
  685. package/dist/ionic/p-6835ebdd.system.entry.js +0 -4
  686. package/dist/ionic/p-6b8530f5.system.entry.js +0 -4
  687. package/dist/ionic/p-6c474e87.entry.js +0 -4
  688. package/dist/ionic/p-6dd86ff5.system.entry.js +0 -4
  689. package/dist/ionic/p-6ec0c94a.entry.js +0 -4
  690. package/dist/ionic/p-6f832afe.system.entry.js +0 -4
  691. package/dist/ionic/p-707408c5.system.entry.js +0 -4
  692. package/dist/ionic/p-712c0131.entry.js +0 -4
  693. package/dist/ionic/p-721f43f9.entry.js +0 -4
  694. package/dist/ionic/p-7445a2e5.system.js +0 -4
  695. package/dist/ionic/p-7611ede3.system.entry.js +0 -4
  696. package/dist/ionic/p-781e2dbb.system.js +0 -4
  697. package/dist/ionic/p-792919fd.system.js +0 -4
  698. package/dist/ionic/p-7b8c12c3.entry.js +0 -4
  699. package/dist/ionic/p-7c5c7ae1.system.entry.js +0 -4
  700. package/dist/ionic/p-7e3e6ed2.entry.js +0 -4
  701. package/dist/ionic/p-7ffedf77.system.entry.js +0 -4
  702. package/dist/ionic/p-809483ac.js +0 -4
  703. package/dist/ionic/p-81904a80.entry.js +0 -4
  704. package/dist/ionic/p-84096b45.system.js +0 -4
  705. package/dist/ionic/p-8450f761.entry.js +0 -4
  706. package/dist/ionic/p-8460d95a.entry.js +0 -4
  707. package/dist/ionic/p-85b01465.js +0 -4
  708. package/dist/ionic/p-865fe95c.entry.js +0 -4
  709. package/dist/ionic/p-8674af94.entry.js +0 -4
  710. package/dist/ionic/p-890a4ee2.entry.js +0 -4
  711. package/dist/ionic/p-891553d8.entry.js +0 -4
  712. package/dist/ionic/p-8985cdb6.system.js +0 -4
  713. package/dist/ionic/p-8b050e84.system.js +0 -4
  714. package/dist/ionic/p-8d2d39d0.js +0 -4
  715. package/dist/ionic/p-8dacf4e2.entry.js +0 -4
  716. package/dist/ionic/p-8ededb41.js +0 -4
  717. package/dist/ionic/p-94551927.js +0 -4
  718. package/dist/ionic/p-95001a19.js +0 -4
  719. package/dist/ionic/p-965287fb.system.entry.js +0 -4
  720. package/dist/ionic/p-979d4f5c.system.js +0 -4
  721. package/dist/ionic/p-98fd942b.system.entry.js +0 -4
  722. package/dist/ionic/p-9df5043e.system.entry.js +0 -4
  723. package/dist/ionic/p-9e753482.system.entry.js +0 -4
  724. package/dist/ionic/p-a0fd2fe5.system.entry.js +0 -4
  725. package/dist/ionic/p-a2c6a9c8.entry.js +0 -4
  726. package/dist/ionic/p-a2dd5b69.system.entry.js +0 -4
  727. package/dist/ionic/p-a4866e3e.system.js +0 -4
  728. package/dist/ionic/p-a5dbe0ff.system.entry.js +0 -4
  729. package/dist/ionic/p-a7a97bf4.system.entry.js +0 -4
  730. package/dist/ionic/p-a835aca8.entry.js +0 -4
  731. package/dist/ionic/p-a83e3290.system.js +0 -4
  732. package/dist/ionic/p-a93873de.system.js +0 -4
  733. package/dist/ionic/p-aad57e35.entry.js +0 -4
  734. package/dist/ionic/p-ab7337e1.entry.js +0 -4
  735. package/dist/ionic/p-abe101da.system.js +0 -4
  736. package/dist/ionic/p-ad592db9.entry.js +0 -4
  737. package/dist/ionic/p-aded71ec.js +0 -4
  738. package/dist/ionic/p-ae039072.entry.js +0 -4
  739. package/dist/ionic/p-aebfab05.system.entry.js +0 -4
  740. package/dist/ionic/p-b06ac4a5.system.js +0 -4
  741. package/dist/ionic/p-b2e7eda0.system.entry.js +0 -4
  742. package/dist/ionic/p-b445ff65.entry.js +0 -4
  743. package/dist/ionic/p-b4d17da0.system.entry.js +0 -4
  744. package/dist/ionic/p-b5432d15.entry.js +0 -4
  745. package/dist/ionic/p-b8050298.system.entry.js +0 -4
  746. package/dist/ionic/p-b904cfe2.system.entry.js +0 -4
  747. package/dist/ionic/p-b9c793d4.entry.js +0 -4
  748. package/dist/ionic/p-bafc3eae.system.entry.js +0 -4
  749. package/dist/ionic/p-bf184319.system.entry.js +0 -4
  750. package/dist/ionic/p-bfb763d0.system.entry.js +0 -4
  751. package/dist/ionic/p-c16443a8.system.js +0 -4
  752. package/dist/ionic/p-c1b7d311.system.entry.js +0 -4
  753. package/dist/ionic/p-c2160d8c.entry.js +0 -4
  754. package/dist/ionic/p-c468af8a.system.js +0 -4
  755. package/dist/ionic/p-c5b77054.entry.js +0 -4
  756. package/dist/ionic/p-c5bfa3e9.entry.js +0 -4
  757. package/dist/ionic/p-c61cc894.js +0 -4
  758. package/dist/ionic/p-cad82569.entry.js +0 -4
  759. package/dist/ionic/p-d16fab3f.entry.js +0 -4
  760. package/dist/ionic/p-d1eb2d7f.entry.js +0 -4
  761. package/dist/ionic/p-d382f09c.system.js +0 -4
  762. package/dist/ionic/p-d8d84afa.system.js +0 -4
  763. package/dist/ionic/p-d984c1ab.system.entry.js +0 -4
  764. package/dist/ionic/p-dabe3bd4.js +0 -4
  765. package/dist/ionic/p-df069a0d.entry.js +0 -4
  766. package/dist/ionic/p-e1678e42.entry.js +0 -4
  767. package/dist/ionic/p-e6068998.system.entry.js +0 -4
  768. package/dist/ionic/p-e673a0a2.system.js +0 -4
  769. package/dist/ionic/p-e727e32d.system.entry.js +0 -4
  770. package/dist/ionic/p-e8245753.entry.js +0 -4
  771. package/dist/ionic/p-e887b6a9.system.js +0 -4
  772. package/dist/ionic/p-f08dfb19.entry.js +0 -4
  773. package/dist/ionic/p-f0c9f8e3.system.entry.js +0 -4
  774. package/dist/ionic/p-f0ef39ab.entry.js +0 -4
  775. package/dist/ionic/p-f11a9436.system.js +0 -5
  776. package/dist/ionic/p-f22490a7.system.entry.js +0 -4
  777. package/dist/ionic/p-f6bb9be7.system.entry.js +0 -4
  778. package/dist/ionic/p-f6e7d104.system.js +0 -4
  779. package/dist/ionic/p-f725bf9e.system.js +0 -4
  780. package/dist/ionic/p-f9a87db2.system.entry.js +0 -4
  781. package/dist/ionic/p-fa3f4b96.system.js +0 -4
  782. package/dist/ionic/p-fe063952.system.entry.js +0 -4
  783. package/loader/package.json +0 -11
  784. /package/dist/cjs/{compare-with-utils-df1001d7.js → compare-with-utils-DSicavqM.js} +0 -0
  785. /package/dist/cjs/{cubic-bezier-f2dccc53.js → cubic-bezier-DAjy1V-e.js} +0 -0
  786. /package/dist/cjs/{dir-94c21456.js → dir-Cn0z1rJH.js} +0 -0
  787. /package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-CCvKiLh3.js} +0 -0
  788. /package/dist/cjs/{index-c8d52405.js → index-DkNv4J_i.js} +0 -0
  789. /package/dist/cjs/{lock-controller-6585a42a.js → lock-controller-aDB9wrEf.js} +0 -0
  790. /package/dist/cjs/{spinner-configs-282fd50a.js → spinner-configs-DxHKnd3-.js} +0 -0
  791. /package/dist/cjs/{theme-d1c573d2.js → theme-CeDs6Hcv.js} +0 -0
  792. /package/dist/cjs/{watch-options-f5f3e158.js → watch-options-CviOsrTS.js} +0 -0
  793. /package/dist/esm/{compare-with-utils-a96ff2ea.js → compare-with-utils-sObYyvOy.js} +0 -0
  794. /package/dist/esm/{cubic-bezier-fe2083dc.js → cubic-bezier-hHmYLOfE.js} +0 -0
  795. /package/dist/esm/{dir-babeabeb.js → dir-C53feagD.js} +0 -0
  796. /package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-BmVRXR1y.js} +0 -0
  797. /package/dist/esm/{index-a5d50daf.js → index-ZjP4CjeZ.js} +0 -0
  798. /package/dist/esm/{lock-controller-316928be.js → lock-controller-B-hirT0v.js} +0 -0
  799. /package/dist/esm/{spinner-configs-964f7cf3.js → spinner-configs-D4RIp70E.js} +0 -0
  800. /package/dist/esm/{theme-01f3f29c.js → theme-DiVJyqlX.js} +0 -0
  801. /package/dist/esm/{watch-options-c2911ace.js → watch-options-Dtdm8lKC.js} +0 -0
  802. /package/dist/ionic/{p-ccd02320.js → p-B-hirT0v.js} +0 -0
  803. /package/dist/ionic/{p-9b97df10.js → p-BTEOs1at.js} +0 -0
  804. /package/dist/ionic/{p-d47265c8.js → p-BmVRXR1y.js} +0 -0
  805. /package/dist/ionic/{p-fb813dab.js → p-C53feagD.js} +0 -0
  806. /package/dist/ionic/{p-f0c2a614.js → p-D4RIp70E.js} +0 -0
  807. /package/dist/ionic/{p-47794def.js → p-DiVJyqlX.js} +0 -0
  808. /package/dist/ionic/{p-459d13d5.js → p-Dtdm8lKC.js} +0 -0
  809. /package/dist/ionic/{p-7b30edcc.js → p-ZjP4CjeZ.js} +0 -0
  810. /package/dist/ionic/{p-2408c236.js → p-hHmYLOfE.js} +0 -0
  811. /package/dist/ionic/{p-de756e5c.js → p-sObYyvOy.js} +0 -0
@@ -3,26 +3,22 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- Object.defineProperty(exports, '__esModule', { value: true });
7
-
8
- const index$1 = require('./index-2e236a04.js');
9
- const focusVisible = require('./focus-visible-7a0ce04f.js');
10
- const helpers = require('./helpers-8a48fdea.js');
11
- const index = require('./index-cc858e97.js');
12
- const dir = require('./dir-94c21456.js');
13
- const theme = require('./theme-d1c573d2.js');
14
- const index$2 = require('./index-073c7cdc.js');
15
- const ionicGlobal = require('./ionic-global-6dea5a96.js');
16
- const data = require('./data-94e8d392.js');
17
- const lockController = require('./lock-controller-6585a42a.js');
18
- const overlays = require('./overlays-4c291a05.js');
19
- const animation = require('./animation-ab2d3449.js');
20
- const haptic = require('./haptic-f6b37aa3.js');
21
- require('./index-c8d52405.js');
22
- require('./hardware-back-button-3d2b1004.js');
23
- require('./framework-delegate-862d9d00.js');
24
- require('./gesture-controller-9436f482.js');
25
- require('./capacitor-c04564bf.js');
6
+ var index = require('./index-DODXXb_r.js');
7
+ var focusVisible = require('./focus-visible-CCvKiLh3.js');
8
+ var helpers = require('./helpers-BITAzJfi.js');
9
+ var dir = require('./dir-Cn0z1rJH.js');
10
+ var theme = require('./theme-CeDs6Hcv.js');
11
+ var index$1 = require('./index-CPbAsnJK.js');
12
+ var data = require('./data-DRqa6oM4.js');
13
+ var lockController = require('./lock-controller-aDB9wrEf.js');
14
+ var overlays = require('./overlays-DRDumz2b.js');
15
+ var animation = require('./animation-0T7gKwOt.js');
16
+ var haptic = require('./haptic-ClPPQ_PS.js');
17
+ require('./index-DkNv4J_i.js');
18
+ require('./hardware-back-button-D90qZxju.js');
19
+ require('./framework-delegate-C7sIJyT5.js');
20
+ require('./gesture-controller-dtqlP_q4.js');
21
+ require('./capacitor-DmA66EwP.js');
26
22
 
27
23
  const isYearDisabled = (refYear, minParts, maxParts) => {
28
24
  if (minParts && minParts.year > refYear) {
@@ -233,24 +229,146 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
233
229
  }
234
230
  };
235
231
 
236
- const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2);font-size:min(1.375rem, 35.2px)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
237
- const IonDatetimeIosStyle0 = datetimeIosCss;
232
+ const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2);font-size:min(1.375rem, 35.2px)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
238
233
 
239
- const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}";
240
- const IonDatetimeMdStyle0 = datetimeMdCss;
234
+ const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active,.calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}";
241
235
 
242
236
  const Datetime = class {
243
237
  constructor(hostRef) {
244
- index$1.registerInstance(this, hostRef);
245
- this.ionCancel = index$1.createEvent(this, "ionCancel", 7);
246
- this.ionChange = index$1.createEvent(this, "ionChange", 7);
247
- this.ionValueChange = index$1.createEvent(this, "ionValueChange", 7);
248
- this.ionFocus = index$1.createEvent(this, "ionFocus", 7);
249
- this.ionBlur = index$1.createEvent(this, "ionBlur", 7);
250
- this.ionStyle = index$1.createEvent(this, "ionStyle", 7);
251
- this.ionRender = index$1.createEvent(this, "ionRender", 7);
238
+ index.registerInstance(this, hostRef);
239
+ this.ionCancel = index.createEvent(this, "ionCancel", 7);
240
+ this.ionChange = index.createEvent(this, "ionChange", 7);
241
+ this.ionValueChange = index.createEvent(this, "ionValueChange", 7);
242
+ this.ionFocus = index.createEvent(this, "ionFocus", 7);
243
+ this.ionBlur = index.createEvent(this, "ionBlur", 7);
244
+ this.ionStyle = index.createEvent(this, "ionStyle", 7);
245
+ this.ionRender = index.createEvent(this, "ionRender", 7);
252
246
  this.inputId = `ion-dt-${datetimeIds++}`;
253
247
  this.prevPresentation = null;
248
+ this.showMonthAndYear = false;
249
+ this.activeParts = [];
250
+ this.workingParts = {
251
+ month: 5,
252
+ day: 28,
253
+ year: 2021,
254
+ hour: 13,
255
+ minute: 52,
256
+ ampm: 'pm',
257
+ isAdjacentDay: false,
258
+ };
259
+ this.isTimePopoverOpen = false;
260
+ /**
261
+ * The color to use from your application's color palette.
262
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
263
+ * For more information on colors, see [theming](/docs/theming/basics).
264
+ */
265
+ this.color = 'primary';
266
+ /**
267
+ * The name of the control, which is submitted with the form data.
268
+ */
269
+ this.name = this.inputId;
270
+ /**
271
+ * If `true`, the user cannot interact with the datetime.
272
+ */
273
+ this.disabled = false;
274
+ /**
275
+ * If `true`, the datetime appears normal but the selected date cannot be changed.
276
+ */
277
+ this.readonly = false;
278
+ /**
279
+ * If `true`, the datetime calendar displays a six-week (42-day) layout,
280
+ * including days from the previous and next months to fill the grid.
281
+ * These adjacent days are selectable unless disabled.
282
+ */
283
+ this.showAdjacentDays = false;
284
+ /**
285
+ * Which values you want to select. `"date"` will show
286
+ * a calendar picker to select the month, day, and year. `"time"`
287
+ * will show a time picker to select the hour, minute, and (optionally)
288
+ * AM/PM. `"date-time"` will show the date picker first and time picker second.
289
+ * `"time-date"` will show the time picker first and date picker second.
290
+ */
291
+ this.presentation = 'date-time';
292
+ /**
293
+ * The text to display on the picker's cancel button.
294
+ */
295
+ this.cancelText = 'Cancel';
296
+ /**
297
+ * The text to display on the picker's "Done" button.
298
+ */
299
+ this.doneText = 'Done';
300
+ /**
301
+ * The text to display on the picker's "Clear" button.
302
+ */
303
+ this.clearText = 'Clear';
304
+ /**
305
+ * The locale to use for `ion-datetime`. This
306
+ * impacts month and day name formatting.
307
+ * The `"default"` value refers to the default
308
+ * locale set by your device.
309
+ */
310
+ this.locale = 'default';
311
+ /**
312
+ * The first day of the week to use for `ion-datetime`. The
313
+ * default value is `0` and represents Sunday.
314
+ */
315
+ this.firstDayOfWeek = 0;
316
+ /**
317
+ * If `true`, multiple dates can be selected at once. Only
318
+ * applies to `presentation="date"` and `preferWheel="false"`.
319
+ */
320
+ this.multiple = false;
321
+ /**
322
+ * If `true`, a header will be shown above the calendar
323
+ * picker. This will include both the slotted title, and
324
+ * the selected date.
325
+ */
326
+ this.showDefaultTitle = false;
327
+ /**
328
+ * If `true`, the default "Cancel" and "OK" buttons
329
+ * will be rendered at the bottom of the `ion-datetime`
330
+ * component. Developers can also use the `button` slot
331
+ * if they want to customize these buttons. If custom
332
+ * buttons are set in the `button` slot then the
333
+ * default buttons will not be rendered.
334
+ */
335
+ this.showDefaultButtons = false;
336
+ /**
337
+ * If `true`, a "Clear" button will be rendered alongside
338
+ * the default "Cancel" and "OK" buttons at the bottom of the `ion-datetime`
339
+ * component. Developers can also use the `button` slot
340
+ * if they want to customize these buttons. If custom
341
+ * buttons are set in the `button` slot then the
342
+ * default buttons will not be rendered.
343
+ */
344
+ this.showClearButton = false;
345
+ /**
346
+ * If `true`, the default "Time" label will be rendered
347
+ * for the time selector of the `ion-datetime` component.
348
+ * Developers can also use the `time-label` slot
349
+ * if they want to customize this label. If a custom
350
+ * label is set in the `time-label` slot then the
351
+ * default label will not be rendered.
352
+ */
353
+ this.showDefaultTimeLabel = true;
354
+ /**
355
+ * If `cover`, the `ion-datetime` will expand to cover the full width of its container.
356
+ * If `fixed`, the `ion-datetime` will have a fixed width.
357
+ */
358
+ this.size = 'fixed';
359
+ /**
360
+ * If `true`, a wheel picker will be rendered instead of a calendar grid
361
+ * where possible. If `false`, a calendar grid will be rendered instead of
362
+ * a wheel picker where possible.
363
+ *
364
+ * A wheel picker can be rendered instead of a grid when `presentation` is
365
+ * one of the following values: `"date"`, `"date-time"`, or `"time-date"`.
366
+ *
367
+ * A wheel picker will always be rendered regardless of
368
+ * the `preferWheel` value when `presentation` is one of the following values:
369
+ * `"time"`, `"month"`, `"month-year"`, or `"year"`.
370
+ */
371
+ this.preferWheel = false;
254
372
  this.warnIfIncorrectValueUsage = () => {
255
373
  const { multiple, value } = this;
256
374
  if (!multiple && Array.isArray(value)) {
@@ -445,12 +563,15 @@ const Datetime = class {
445
563
  };
446
564
  this.focusWorkingDay = (currentMonth) => {
447
565
  /**
448
- * Get the number of padding days so
566
+ * Get the number of offset days so
449
567
  * we know how much to offset our next selector by
450
568
  * to grab the correct calendar-day element.
451
569
  */
452
- const padding = currentMonth.querySelectorAll('.calendar-day-padding');
453
- const { day } = this.workingParts;
570
+ const { day, month, year } = this.workingParts;
571
+ const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
572
+ const offset = firstOfMonth >= this.firstDayOfWeek
573
+ ? firstOfMonth - this.firstDayOfWeek
574
+ : 7 - (this.firstDayOfWeek - firstOfMonth);
454
575
  if (day === null) {
455
576
  return;
456
577
  }
@@ -458,7 +579,7 @@ const Datetime = class {
458
579
  * Get the calendar day element
459
580
  * and focus it.
460
581
  */
461
- const dayEl = currentMonth.querySelector(`.calendar-day-wrapper:nth-of-type(${padding.length + day}) .calendar-day`);
582
+ const dayEl = currentMonth.querySelector(`.calendar-day-wrapper:nth-of-type(${offset + day}) .calendar-day`);
462
583
  if (dayEl) {
463
584
  dayEl.focus();
464
585
  }
@@ -503,7 +624,7 @@ const Datetime = class {
503
624
  const startMonth = months[0];
504
625
  const workingMonth = months[1];
505
626
  const endMonth = months[2];
506
- const mode = ionicGlobal.getIonMode(this);
627
+ const mode = index.getIonMode(this);
507
628
  const needsiOSRubberBandFix = mode === 'ios' && typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1;
508
629
  /**
509
630
  * Before setting up the scroll listener,
@@ -511,7 +632,7 @@ const Datetime = class {
511
632
  * scrollIntoView() will scroll entire page
512
633
  * if element is not in viewport. Use scrollLeft instead.
513
634
  */
514
- index$1.writeTask(() => {
635
+ index.writeTask(() => {
515
636
  calendarBodyRef.scrollLeft = startMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
516
637
  const getChangedMonth = (parts) => {
517
638
  const box = calendarBodyRef.getBoundingClientRect();
@@ -603,7 +724,7 @@ const Datetime = class {
603
724
  * but older/slower device may have a flicker
604
725
  * if we did not do this.
605
726
  */
606
- index$1.writeTask(() => {
727
+ index.writeTask(() => {
607
728
  this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
608
729
  calendarBodyRef.scrollLeft = workingMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
609
730
  calendarBodyRef.style.removeProperty('overflow');
@@ -687,19 +808,18 @@ const Datetime = class {
687
808
  data.warnIfValueOutOfBounds(valueToProcess, minParts, maxParts);
688
809
  }
689
810
  /**
690
- * If there are multiple values, pick an arbitrary one to clamp to. This way,
691
- * if the values are across months, we always show at least one of them. Note
692
- * that the values don't necessarily have to be in order.
811
+ * If there are multiple values, clamp to the last one.
812
+ * This is because the last value is the one that the user
813
+ * has most recently interacted with.
693
814
  */
694
- const singleValue = Array.isArray(valueToProcess) ? valueToProcess[0] : valueToProcess;
815
+ const singleValue = Array.isArray(valueToProcess) ? valueToProcess[valueToProcess.length - 1] : valueToProcess;
695
816
  const targetValue = data.clampDate(singleValue, minParts, maxParts);
696
817
  const { month, day, year, hour, minute } = targetValue;
697
818
  const ampm = data.parseAmPm(hour);
698
819
  /**
699
- * Since `activeParts` indicates a value that
700
- * been explicitly selected either by the
701
- * user or the app, only update `activeParts`
702
- * if the `value` property is set.
820
+ * Since `activeParts` indicates a value that been explicitly selected
821
+ * either by the user or the app, only update `activeParts` if the
822
+ * `value` property is set.
703
823
  */
704
824
  if (hasValue) {
705
825
  if (Array.isArray(valueToProcess)) {
@@ -724,51 +844,28 @@ const Datetime = class {
724
844
  */
725
845
  this.activeParts = [];
726
846
  }
727
- /**
728
- * Only animate if:
729
- * 1. We're using grid style (wheel style pickers should just jump to new value)
730
- * 2. The month and/or year actually changed, and both are defined (otherwise there's nothing to animate to)
731
- * 3. The calendar body is visible (prevents animation when in collapsed datetime-button, for example)
732
- * 4. The month/year picker is not open (since you wouldn't see the animation anyway)
733
- */
734
847
  const didChangeMonth = (month !== undefined && month !== workingParts.month) || (year !== undefined && year !== workingParts.year);
735
848
  const bodyIsVisible = el.classList.contains('datetime-ready');
736
849
  const { isGridStyle, showMonthAndYear } = this;
737
- let areAllSelectedDatesInSameMonth = true;
738
- if (Array.isArray(valueToProcess)) {
739
- const firstMonth = valueToProcess[0].month;
740
- for (const date of valueToProcess) {
741
- if (date.month !== firstMonth) {
742
- areAllSelectedDatesInSameMonth = false;
743
- break;
744
- }
745
- }
850
+ if (isGridStyle && didChangeMonth && bodyIsVisible && !showMonthAndYear) {
851
+ /**
852
+ * Only animate if:
853
+ * 1. We're using grid style (wheel style pickers should just jump to new value)
854
+ * 2. The month and/or year actually changed, and both are defined (otherwise there's nothing to animate to)
855
+ * 3. The calendar body is visible (prevents animation when in collapsed datetime-button, for example)
856
+ * 4. The month/year picker is not open (since you wouldn't see the animation anyway)
857
+ */
858
+ this.animateToDate(targetValue);
746
859
  }
747
- /**
748
- * If there is more than one date selected
749
- * and the dates aren't all in the same month,
750
- * then we should neither animate to the date
751
- * nor update the working parts because we do
752
- * not know which date the user wants to view.
753
- */
754
- if (areAllSelectedDatesInSameMonth) {
755
- if (isGridStyle && didChangeMonth && bodyIsVisible && !showMonthAndYear) {
756
- this.animateToDate(targetValue);
757
- }
758
- else {
759
- /**
760
- * We only need to do this if we didn't just animate to a new month,
761
- * since that calls prevMonth/nextMonth which calls setWorkingParts for us.
762
- */
763
- this.setWorkingParts({
764
- month,
765
- day,
766
- year,
767
- hour,
768
- minute,
769
- ampm,
770
- });
771
- }
860
+ else {
861
+ this.setWorkingParts({
862
+ month,
863
+ day,
864
+ year,
865
+ hour,
866
+ minute,
867
+ ampm,
868
+ });
772
869
  }
773
870
  };
774
871
  this.animateToDate = async (targetValue) => {
@@ -843,48 +940,6 @@ const Datetime = class {
843
940
  this.toggleMonthAndYearView = () => {
844
941
  this.showMonthAndYear = !this.showMonthAndYear;
845
942
  };
846
- this.showMonthAndYear = false;
847
- this.activeParts = [];
848
- this.workingParts = {
849
- month: 5,
850
- day: 28,
851
- year: 2021,
852
- hour: 13,
853
- minute: 52,
854
- ampm: 'pm',
855
- };
856
- this.isTimePopoverOpen = false;
857
- this.forceRenderDate = undefined;
858
- this.color = 'primary';
859
- this.name = this.inputId;
860
- this.disabled = false;
861
- this.formatOptions = undefined;
862
- this.readonly = false;
863
- this.isDateEnabled = undefined;
864
- this.min = undefined;
865
- this.max = undefined;
866
- this.presentation = 'date-time';
867
- this.cancelText = 'Cancel';
868
- this.doneText = 'Done';
869
- this.clearText = 'Clear';
870
- this.yearValues = undefined;
871
- this.monthValues = undefined;
872
- this.dayValues = undefined;
873
- this.hourValues = undefined;
874
- this.minuteValues = undefined;
875
- this.locale = 'default';
876
- this.firstDayOfWeek = 0;
877
- this.titleSelectedDatesFormatter = undefined;
878
- this.multiple = false;
879
- this.highlightedDates = undefined;
880
- this.value = undefined;
881
- this.showDefaultTitle = false;
882
- this.showDefaultButtons = false;
883
- this.showClearButton = false;
884
- this.showDefaultTimeLabel = true;
885
- this.hourCycle = undefined;
886
- this.size = 'fixed';
887
- this.preferWheel = false;
888
943
  }
889
944
  formatOptionsChanged() {
890
945
  const { el, formatOptions, presentation } = this;
@@ -1028,7 +1083,7 @@ const Datetime = class {
1028
1083
  * is that the content will pop into view a frame after. Maybe there
1029
1084
  * is a better way to handle this?
1030
1085
  */
1031
- index$1.writeTask(() => {
1086
+ index.writeTask(() => {
1032
1087
  this.el.classList.add('datetime-ready');
1033
1088
  });
1034
1089
  };
@@ -1061,7 +1116,7 @@ const Datetime = class {
1061
1116
  * As a result, the wrong month will be shown.
1062
1117
  */
1063
1118
  this.showMonthAndYear = false;
1064
- index$1.writeTask(() => {
1119
+ index.writeTask(() => {
1065
1120
  this.el.classList.remove('datetime-ready');
1066
1121
  });
1067
1122
  };
@@ -1217,10 +1272,10 @@ const Datetime = class {
1217
1272
  * OK - Dismisses the datetime and
1218
1273
  * updates the `value` prop.
1219
1274
  */
1220
- return (index$1.h("div", { class: "datetime-footer" }, index$1.h("div", { class: "datetime-buttons" }, index$1.h("div", { class: {
1275
+ return (index.h("div", { class: "datetime-footer" }, index.h("div", { class: "datetime-buttons" }, index.h("div", { class: {
1221
1276
  ['datetime-action-buttons']: true,
1222
1277
  ['has-clear-button']: this.showClearButton,
1223
- } }, index$1.h("slot", { name: "buttons" }, index$1.h("ion-buttons", null, showDefaultButtons && (index$1.h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), index$1.h("div", { class: "datetime-action-buttons-container" }, showClearButton && (index$1.h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (index$1.h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled }, this.doneText)))))))));
1278
+ } }, index.h("slot", { name: "buttons" }, index.h("ion-buttons", null, showDefaultButtons && (index.h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), index.h("div", { class: "datetime-action-buttons-container" }, showClearButton && (index.h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (index.h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled }, this.doneText)))))))));
1224
1279
  }
1225
1280
  /**
1226
1281
  * Wheel picker render methods
@@ -1238,7 +1293,7 @@ const Datetime = class {
1238
1293
  const renderArray = forcePresentation === 'time-date'
1239
1294
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
1240
1295
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
1241
- return index$1.h("ion-picker", null, renderArray);
1296
+ return index.h("ion-picker", null, renderArray);
1242
1297
  }
1243
1298
  renderDatePickerColumns(forcePresentation) {
1244
1299
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -1297,13 +1352,13 @@ const Datetime = class {
1297
1352
  const todayString = workingParts.day !== null
1298
1353
  ? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
1299
1354
  : `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
1300
- return (index$1.h("ion-picker-column", { "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1355
+ return (index.h("ion-picker-column", { "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1301
1356
  const { value } = ev.detail;
1302
1357
  const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
1303
1358
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1304
1359
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1305
1360
  ev.stopPropagation();
1306
- } }, items.map((item) => (index$1.h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1361
+ } }, items.map((item) => (index.h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1307
1362
  }
1308
1363
  renderIndividualDatePickerColumns(forcePresentation) {
1309
1364
  const { workingParts, isDateEnabled } = this;
@@ -1372,11 +1427,11 @@ const Datetime = class {
1372
1427
  const { disabled, workingParts } = this;
1373
1428
  const activePart = this.getActivePartsWithFallback();
1374
1429
  const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1375
- return (index$1.h("ion-picker-column", { "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1430
+ return (index.h("ion-picker-column", { "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1376
1431
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1377
1432
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1378
1433
  ev.stopPropagation();
1379
- } }, days.map((day) => (index$1.h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1434
+ } }, days.map((day) => (index.h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1380
1435
  }
1381
1436
  renderMonthPickerColumn(months) {
1382
1437
  if (months.length === 0) {
@@ -1384,11 +1439,11 @@ const Datetime = class {
1384
1439
  }
1385
1440
  const { disabled, workingParts } = this;
1386
1441
  const activePart = this.getActivePartsWithFallback();
1387
- return (index$1.h("ion-picker-column", { "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1442
+ return (index.h("ion-picker-column", { "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1388
1443
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
1389
1444
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1390
1445
  ev.stopPropagation();
1391
- } }, months.map((month) => (index$1.h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1446
+ } }, months.map((month) => (index.h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1392
1447
  }
1393
1448
  renderYearPickerColumn(years) {
1394
1449
  if (years.length === 0) {
@@ -1396,11 +1451,11 @@ const Datetime = class {
1396
1451
  }
1397
1452
  const { disabled, workingParts } = this;
1398
1453
  const activePart = this.getActivePartsWithFallback();
1399
- return (index$1.h("ion-picker-column", { "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1454
+ return (index.h("ion-picker-column", { "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1400
1455
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
1401
1456
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1402
1457
  ev.stopPropagation();
1403
- } }, years.map((year) => (index$1.h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1458
+ } }, years.map((year) => (index.h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1404
1459
  }
1405
1460
  renderTimePickerColumns(forcePresentation) {
1406
1461
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1429,22 +1484,22 @@ const Datetime = class {
1429
1484
  if (hoursData.length === 0)
1430
1485
  return [];
1431
1486
  const activePart = this.getActivePartsWithFallback();
1432
- return (index$1.h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1487
+ return (index.h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1433
1488
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1434
1489
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1435
1490
  ev.stopPropagation();
1436
- } }, hoursData.map((hour) => (index$1.h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1491
+ } }, hoursData.map((hour) => (index.h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1437
1492
  }
1438
1493
  renderMinutePickerColumn(minutesData) {
1439
1494
  const { disabled, workingParts } = this;
1440
1495
  if (minutesData.length === 0)
1441
1496
  return [];
1442
1497
  const activePart = this.getActivePartsWithFallback();
1443
- return (index$1.h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1498
+ return (index.h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1444
1499
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1445
1500
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1446
1501
  ev.stopPropagation();
1447
- } }, minutesData.map((minute) => (index$1.h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1502
+ } }, minutesData.map((minute) => (index.h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1448
1503
  }
1449
1504
  renderDayPeriodPickerColumn(dayPeriodData) {
1450
1505
  const { disabled, workingParts } = this;
@@ -1453,18 +1508,18 @@ const Datetime = class {
1453
1508
  }
1454
1509
  const activePart = this.getActivePartsWithFallback();
1455
1510
  const isDayPeriodRTL = data.isLocaleDayPeriodRTL(this.locale);
1456
- return (index$1.h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1511
+ return (index.h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1457
1512
  const hour = data.calculateHourFromAMPM(workingParts, ev.detail.value);
1458
1513
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1459
1514
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1460
1515
  ev.stopPropagation();
1461
- } }, dayPeriodData.map((dayPeriod) => (index$1.h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1516
+ } }, dayPeriodData.map((dayPeriod) => (index.h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1462
1517
  }
1463
1518
  renderWheelView(forcePresentation) {
1464
1519
  const { locale } = this;
1465
1520
  const showMonthFirst = data.isMonthFirstLocale(locale);
1466
1521
  const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
1467
- return (index$1.h("div", { class: {
1522
+ return (index.h("div", { class: {
1468
1523
  [`wheel-order-${columnOrder}`]: true,
1469
1524
  } }, this.renderWheelPicker(forcePresentation)));
1470
1525
  }
@@ -1473,18 +1528,18 @@ const Datetime = class {
1473
1528
  */
1474
1529
  renderCalendarHeader(mode) {
1475
1530
  const { disabled } = this;
1476
- const expandedIcon = mode === 'ios' ? index$2.chevronDown : index$2.caretUpSharp;
1477
- const collapsedIcon = mode === 'ios' ? index$2.chevronForward : index$2.caretDownSharp;
1531
+ const expandedIcon = mode === 'ios' ? index$1.chevronDown : index$1.caretUpSharp;
1532
+ const collapsedIcon = mode === 'ios' ? index$1.chevronForward : index$1.caretDownSharp;
1478
1533
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1479
1534
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1480
1535
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1481
1536
  const hostDir = this.el.getAttribute('dir') || undefined;
1482
- return (index$1.h("div", { class: "calendar-header" }, index$1.h("div", { class: "calendar-action-buttons" }, index$1.h("div", { class: "calendar-month-year" }, index$1.h("button", { class: {
1537
+ return (index.h("div", { class: "calendar-header" }, index.h("div", { class: "calendar-action-buttons" }, index.h("div", { class: "calendar-month-year" }, index.h("button", { class: {
1483
1538
  'calendar-month-year-toggle': true,
1484
1539
  'ion-activatable': true,
1485
1540
  'ion-focusable': true,
1486
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index$1.h("span", { id: "toggle-wrapper" }, data.getMonthAndYear(this.locale, this.workingParts), index$1.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && index$1.h("ion-ripple-effect", null))), index$1.h("div", { class: "calendar-next-prev" }, index$1.h("ion-buttons", null, index$1.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, index$1.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$2.chevronBack, lazy: false, flipRtl: true })), index$1.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, index$1.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$2.chevronForward, lazy: false, flipRtl: true }))))), index$1.h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, data.getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1487
- return index$1.h("div", { class: "day-of-week" }, d);
1541
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index.h("span", { id: "toggle-wrapper" }, data.getMonthAndYear(this.locale, this.workingParts), index.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && index.h("ion-ripple-effect", null))), index.h("div", { class: "calendar-next-prev" }, index.h("ion-buttons", null, index.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronBack, lazy: false, flipRtl: true })), index.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronForward, lazy: false, flipRtl: true }))))), index.h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, data.getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1542
+ return index.h("div", { class: "day-of-week" }, d);
1488
1543
  }))));
1489
1544
  }
1490
1545
  renderMonth(month, year) {
@@ -1510,14 +1565,40 @@ const Datetime = class {
1510
1565
  // can free-scroll the calendar.
1511
1566
  const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
1512
1567
  const activePart = this.getActivePartsWithFallback();
1513
- return (index$1.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1568
+ return (index.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1514
1569
  'calendar-month': true,
1515
1570
  // Prevents scroll snap swipe gestures for months outside of the min/max bounds
1516
1571
  'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
1517
- } }, index$1.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$2) => {
1518
- const { day, dayOfWeek } = dateObject;
1519
- const { el, highlightedDates, isDateEnabled, multiple } = this;
1520
- const referenceParts = { month, day, year };
1572
+ } }, index.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7, this.showAdjacentDays).map((dateObject, index$1) => {
1573
+ const { day, dayOfWeek, isAdjacentDay } = dateObject;
1574
+ const { el, highlightedDates, isDateEnabled, multiple, showAdjacentDays } = this;
1575
+ let _month = month;
1576
+ let _year = year;
1577
+ if (showAdjacentDays && isAdjacentDay && day !== null) {
1578
+ if (day > 20) {
1579
+ // Leading with the adjacent day from the previous month
1580
+ // if its a adjacent day and is higher than '20' (last week even in feb)
1581
+ if (month === 1) {
1582
+ _year = year - 1;
1583
+ _month = 12;
1584
+ }
1585
+ else {
1586
+ _month = month - 1;
1587
+ }
1588
+ }
1589
+ else if (day < 15) {
1590
+ // Leading with the adjacent day from the next month
1591
+ // if its a adjacent day and is lower than '15' (first two weeks)
1592
+ if (month === 12) {
1593
+ _year = year + 1;
1594
+ _month = 1;
1595
+ }
1596
+ else {
1597
+ _month = month + 1;
1598
+ }
1599
+ }
1600
+ }
1601
+ const referenceParts = { month: _month, day, year: _year, isAdjacentDay };
1521
1602
  const isCalendarPadding = day === null;
1522
1603
  const { isActive, isToday, ariaLabel, ariaSelected, disabled: isDayDisabled, text, } = getCalendarDayState(this.locale, referenceParts, this.activeParts, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
1523
1604
  const dateIsoString = data.convertDataToISO(referenceParts);
@@ -1547,16 +1628,19 @@ const Datetime = class {
1547
1628
  * Custom highlight styles should not override the style for selected dates,
1548
1629
  * nor apply to "filler days" at the start of the grid.
1549
1630
  */
1550
- if (highlightedDates !== undefined && !isActive && day !== null) {
1631
+ if (highlightedDates !== undefined && !isActive && day !== null && !isAdjacentDay) {
1551
1632
  dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
1552
1633
  }
1553
1634
  let dateParts = undefined;
1554
1635
  // "Filler days" at the beginning of the grid should not get the calendar day
1555
1636
  // CSS parts added to them
1556
- if (!isCalendarPadding) {
1637
+ if (!isCalendarPadding && !isAdjacentDay) {
1557
1638
  dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
1558
1639
  }
1559
- return (index$1.h("div", { class: "calendar-day-wrapper" }, index$1.h("button", {
1640
+ else if (isAdjacentDay) {
1641
+ dateParts = `calendar-day${isCalDayDisabled ? ' disabled' : ''}`;
1642
+ }
1643
+ return (index.h("div", { class: "calendar-day-wrapper" }, index.h("button", {
1560
1644
  // We need to use !important for the inline styles here because
1561
1645
  // otherwise the CSS shadow parts will override these styles.
1562
1646
  // See https://github.com/WICG/webcomponents/issues/847
@@ -1568,58 +1652,60 @@ const Datetime = class {
1568
1652
  el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
1569
1653
  el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
1570
1654
  }
1571
- }, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$2, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
1655
+ }, tabindex: "-1", "data-day": day, "data-month": _month, "data-year": _year, "data-index": index$1, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
1572
1656
  'calendar-day-padding': isCalendarPadding,
1573
1657
  'calendar-day': true,
1574
1658
  'calendar-day-active': isActive,
1575
1659
  'calendar-day-constrained': isCalDayConstrained,
1576
1660
  'calendar-day-today': isToday,
1661
+ 'calendar-day-adjacent-day': isAdjacentDay,
1577
1662
  }, part: dateParts, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
1578
1663
  if (isCalendarPadding) {
1579
1664
  return;
1580
1665
  }
1581
- this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month,
1582
- day,
1583
- year }));
1584
- // multiple only needs date info, so we can wipe out other fields like time
1585
- if (multiple) {
1586
- this.setActiveParts({
1587
- month,
1588
- day,
1589
- year,
1590
- }, isActive);
1666
+ if (isAdjacentDay) {
1667
+ // The user selected a day outside the current month. Ignore this button, as the month will be re-rendered.
1668
+ this.el.blur();
1669
+ this.activeParts = Object.assign(Object.assign({}, activePart), referenceParts);
1670
+ this.animateToDate(referenceParts);
1671
+ this.confirm();
1591
1672
  }
1592
1673
  else {
1593
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { month,
1594
- day,
1595
- year }));
1674
+ this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), referenceParts));
1675
+ // Multiple only needs date info so we can wipe out other fields like time.
1676
+ if (multiple) {
1677
+ this.setActiveParts(referenceParts, isActive);
1678
+ }
1679
+ else {
1680
+ this.setActiveParts(Object.assign(Object.assign({}, activePart), referenceParts));
1681
+ }
1596
1682
  }
1597
1683
  }
1598
1684
  }, text)));
1599
1685
  }))));
1600
1686
  }
1601
1687
  renderCalendarBody() {
1602
- return (index$1.h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, data.generateMonths(this.workingParts, this.forceRenderDate).map(({ month, year }) => {
1688
+ return (index.h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, data.generateMonths(this.workingParts, this.forceRenderDate).map(({ month, year }) => {
1603
1689
  return this.renderMonth(month, year);
1604
1690
  })));
1605
1691
  }
1606
1692
  renderCalendar(mode) {
1607
- return (index$1.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1693
+ return (index.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1608
1694
  }
1609
1695
  renderTimeLabel() {
1610
1696
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
1611
1697
  if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
1612
1698
  return;
1613
1699
  }
1614
- return index$1.h("slot", { name: "time-label" }, "Time");
1700
+ return index.h("slot", { name: "time-label" }, "Time");
1615
1701
  }
1616
1702
  renderTimeOverlay() {
1617
1703
  const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
1618
1704
  const computedHourCycle = data.getHourCycle(locale, hourCycle);
1619
1705
  const activePart = this.getActivePartsWithFallback();
1620
1706
  return [
1621
- index$1.h("div", { class: "time-header" }, this.renderTimeLabel()),
1622
- index$1.h("button", { class: {
1707
+ index.h("div", { class: "time-header" }, this.renderTimeLabel()),
1708
+ index.h("button", { class: {
1623
1709
  'time-body': true,
1624
1710
  'time-body-active': isTimePopoverOpen,
1625
1711
  }, part: `time-button${isTimePopoverOpen ? ' active' : ''}`, "aria-expanded": "false", "aria-haspopup": "true", disabled: disabled, onClick: async (ev) => {
@@ -1635,7 +1721,7 @@ const Datetime = class {
1635
1721
  this.isTimePopoverOpen = false;
1636
1722
  }
1637
1723
  } }, data.getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
1638
- index$1.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1724
+ index.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1639
1725
  /**
1640
1726
  * Intersection Observers do not consistently fire between Blink and Webkit
1641
1727
  * when toggling the visibility of the popover and trying to scroll the picker
@@ -1683,7 +1769,7 @@ const Datetime = class {
1683
1769
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1684
1770
  return;
1685
1771
  }
1686
- return (index$1.h("div", { class: "datetime-header" }, index$1.h("div", { class: "datetime-title" }, index$1.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index$1.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1772
+ return (index.h("div", { class: "datetime-header" }, index.h("div", { class: "datetime-title" }, index.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1687
1773
  }
1688
1774
  /**
1689
1775
  * Render time picker inside of datetime.
@@ -1695,7 +1781,7 @@ const Datetime = class {
1695
1781
  renderTime() {
1696
1782
  const { presentation } = this;
1697
1783
  const timeOnlyPresentation = presentation === 'time';
1698
- return (index$1.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
1784
+ return (index.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
1699
1785
  }
1700
1786
  /**
1701
1787
  * Renders the month/year picker that is
@@ -1706,7 +1792,7 @@ const Datetime = class {
1706
1792
  * toggle in the calendar header.
1707
1793
  */
1708
1794
  renderCalendarViewMonthYearPicker() {
1709
- return index$1.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1795
+ return index.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1710
1796
  }
1711
1797
  /**
1712
1798
  * Render entry point
@@ -1756,14 +1842,14 @@ const Datetime = class {
1756
1842
  }
1757
1843
  render() {
1758
1844
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1759
- const mode = ionicGlobal.getIonMode(this);
1845
+ const mode = index.getIonMode(this);
1760
1846
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1761
1847
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1762
1848
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1763
1849
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1764
1850
  const hasWheelVariant = hasDatePresentation && preferWheel;
1765
1851
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1766
- return (index$1.h(index$1.Host, { key: 'c3dfea8f46fcbcef38eb9e8a69b1b46a4e4b82fd', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1852
+ return (index.h(index.Host, { key: '7ea46c27aa5fb01b748dd4d6eb2340ad13f65175', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1767
1853
  [mode]: true,
1768
1854
  ['datetime-readonly']: readonly,
1769
1855
  ['datetime-disabled']: disabled,
@@ -1773,9 +1859,9 @@ const Datetime = class {
1773
1859
  [`datetime-size-${size}`]: true,
1774
1860
  [`datetime-prefer-wheel`]: hasWheelVariant,
1775
1861
  [`datetime-grid`]: isGridStyle,
1776
- })) }, index$1.h("div", { key: '75c91243cf6a51f44b83d7cf7d8c0c96bfd3c83f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1862
+ })) }, index.h("div", { key: '6964378424c58b053e23279d08eaedf28dfcc315', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1777
1863
  }
1778
- get el() { return index$1.getElement(this); }
1864
+ get el() { return index.getElement(this); }
1779
1865
  static get watchers() { return {
1780
1866
  "formatOptions": ["formatOptionsChanged"],
1781
1867
  "disabled": ["disabledChanged"],
@@ -1796,8 +1882,8 @@ const CONFIRM_ROLE = 'datetime-confirm';
1796
1882
  const WHEEL_ITEM_PART = 'wheel-item';
1797
1883
  const WHEEL_ITEM_ACTIVE_PART = `active`;
1798
1884
  Datetime.style = {
1799
- ios: IonDatetimeIosStyle0,
1800
- md: IonDatetimeMdStyle0
1885
+ ios: datetimeIosCss,
1886
+ md: datetimeMdCss
1801
1887
  };
1802
1888
 
1803
1889
  /**
@@ -1845,52 +1931,72 @@ const iosLeaveAnimation = (baseEl) => {
1845
1931
  };
1846
1932
 
1847
1933
  const pickerIosCss = ".sc-ion-picker-legacy-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-ios-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-ios-h{display:none}.picker-wrapper.sc-ion-picker-legacy-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-ios:active,.picker-button.sc-ion-picker-legacy-ios:focus{outline:none}.picker-columns.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-ios,.picker-below-highlight.sc-ion-picker-legacy-ios{display:none;pointer-events:none}.sc-ion-picker-legacy-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-legacy-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-legacy-ios:last-child .picker-button.sc-ion-picker-legacy-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-legacy-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-legacy-ios,.picker-button.ion-activated.sc-ion-picker-legacy-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:16px}.picker-columns.sc-ion-picker-legacy-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-legacy-ios{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-ios{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}";
1848
- const IonPickerLegacyIosStyle0 = pickerIosCss;
1849
1934
 
1850
1935
  const pickerMdCss = ".sc-ion-picker-legacy-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-md-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-md-h{display:none}.picker-wrapper.sc-ion-picker-legacy-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-md:active,.picker-button.sc-ion-picker-legacy-md:focus{outline:none}.picker-columns.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-md,.picker-below-highlight.sc-ion-picker-legacy-md{display:none;pointer-events:none}.sc-ion-picker-legacy-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-legacy-md,.picker-button.ion-activated.sc-ion-picker-legacy-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-legacy-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-legacy-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}";
1851
- const IonPickerLegacyMdStyle0 = pickerMdCss;
1852
1936
 
1853
1937
  const Picker = class {
1854
1938
  constructor(hostRef) {
1855
- index$1.registerInstance(this, hostRef);
1856
- this.didPresent = index$1.createEvent(this, "ionPickerDidPresent", 7);
1857
- this.willPresent = index$1.createEvent(this, "ionPickerWillPresent", 7);
1858
- this.willDismiss = index$1.createEvent(this, "ionPickerWillDismiss", 7);
1859
- this.didDismiss = index$1.createEvent(this, "ionPickerDidDismiss", 7);
1860
- this.didPresentShorthand = index$1.createEvent(this, "didPresent", 7);
1861
- this.willPresentShorthand = index$1.createEvent(this, "willPresent", 7);
1862
- this.willDismissShorthand = index$1.createEvent(this, "willDismiss", 7);
1863
- this.didDismissShorthand = index$1.createEvent(this, "didDismiss", 7);
1939
+ index.registerInstance(this, hostRef);
1940
+ this.didPresent = index.createEvent(this, "ionPickerDidPresent", 7);
1941
+ this.willPresent = index.createEvent(this, "ionPickerWillPresent", 7);
1942
+ this.willDismiss = index.createEvent(this, "ionPickerWillDismiss", 7);
1943
+ this.didDismiss = index.createEvent(this, "ionPickerDidDismiss", 7);
1944
+ this.didPresentShorthand = index.createEvent(this, "didPresent", 7);
1945
+ this.willPresentShorthand = index.createEvent(this, "willPresent", 7);
1946
+ this.willDismissShorthand = index.createEvent(this, "willDismiss", 7);
1947
+ this.didDismissShorthand = index.createEvent(this, "didDismiss", 7);
1864
1948
  this.delegateController = overlays.createDelegateController(this);
1865
1949
  this.lockController = lockController.createLockController();
1866
1950
  this.triggerController = overlays.createTriggerController();
1867
- this.onBackdropTap = () => {
1868
- this.dismiss(undefined, overlays.BACKDROP);
1869
- };
1870
- this.dispatchCancelHandler = (ev) => {
1871
- const role = ev.detail.role;
1872
- if (overlays.isCancel(role)) {
1873
- const cancelButton = this.buttons.find((b) => b.role === 'cancel');
1874
- this.callButtonHandler(cancelButton);
1875
- }
1876
- };
1877
1951
  this.presented = false;
1878
- this.overlayIndex = undefined;
1879
- this.delegate = undefined;
1952
+ /** @internal */
1880
1953
  this.hasController = false;
1954
+ /**
1955
+ * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1956
+ */
1881
1957
  this.keyboardClose = true;
1882
- this.enterAnimation = undefined;
1883
- this.leaveAnimation = undefined;
1958
+ /**
1959
+ * Array of buttons to be displayed at the top of the picker.
1960
+ */
1884
1961
  this.buttons = [];
1962
+ /**
1963
+ * Array of columns to be displayed in the picker.
1964
+ */
1885
1965
  this.columns = [];
1886
- this.cssClass = undefined;
1966
+ /**
1967
+ * Number of milliseconds to wait before dismissing the picker.
1968
+ */
1887
1969
  this.duration = 0;
1970
+ /**
1971
+ * If `true`, a backdrop will be displayed behind the picker.
1972
+ */
1888
1973
  this.showBackdrop = true;
1974
+ /**
1975
+ * If `true`, the picker will be dismissed when the backdrop is clicked.
1976
+ */
1889
1977
  this.backdropDismiss = true;
1978
+ /**
1979
+ * If `true`, the picker will animate.
1980
+ */
1890
1981
  this.animated = true;
1891
- this.htmlAttributes = undefined;
1982
+ /**
1983
+ * If `true`, the picker will open. If `false`, the picker will close.
1984
+ * Use this if you need finer grained control over presentation, otherwise
1985
+ * just use the pickerController or the `trigger` property.
1986
+ * Note: `isOpen` will not automatically be set back to `false` when
1987
+ * the picker dismisses. You will need to do that in your code.
1988
+ */
1892
1989
  this.isOpen = false;
1893
- this.trigger = undefined;
1990
+ this.onBackdropTap = () => {
1991
+ this.dismiss(undefined, overlays.BACKDROP);
1992
+ };
1993
+ this.dispatchCancelHandler = (ev) => {
1994
+ const role = ev.detail.role;
1995
+ if (overlays.isCancel(role)) {
1996
+ const cancelButton = this.buttons.find((b) => b.role === 'cancel');
1997
+ this.callButtonHandler(cancelButton);
1998
+ }
1999
+ };
1894
2000
  }
1895
2001
  onIsOpenChange(newValue, oldValue) {
1896
2002
  if (newValue === true && oldValue === false) {
@@ -2029,14 +2135,14 @@ const Picker = class {
2029
2135
  }
2030
2136
  render() {
2031
2137
  const { htmlAttributes } = this;
2032
- const mode = ionicGlobal.getIonMode(this);
2033
- return (index$1.h(index$1.Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2138
+ const mode = index.getIonMode(this);
2139
+ return (index.h(index.Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2034
2140
  zIndex: `${20000 + this.overlayIndex}`,
2035
2141
  }, class: Object.assign({ [mode]: true,
2036
2142
  // Used internally for styling
2037
- [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index$1.h("ion-backdrop", { key: '20202ca1d7b6cd5f517a802879b39efb79033cb1', visible: this.showBackdrop, tappable: this.backdropDismiss }), index$1.h("div", { key: '72fe76a1e1748593cdf38deab5100087bfa75983', tabindex: "0", "aria-hidden": "true" }), index$1.h("div", { key: '921954cfc716f3774aab66677563754ff479a44a', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index$1.h("div", { key: '224413950bfcf2a948e58c2554c2a37a4e6d0319', class: "picker-toolbar" }, this.buttons.map((b) => (index$1.h("div", { class: buttonWrapperClass(b) }, index$1.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index$1.h("div", { key: '7e688c2d0705940ec8a9ace493b679e6a9b68860', class: "picker-columns" }, index$1.h("div", { key: '0ec2db79a9ca9e2a0b324b6c4b90176a0eb33df3', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index$1.h("ion-picker-legacy-column", { col: c })), index$1.h("div", { key: 'b8344f4f342fddc3f773435515567ef8f3accbb0', class: "picker-below-highlight" }))), index$1.h("div", { key: '374c7a6b31b0a00ab3913faeea0ec3d6c02274b9', tabindex: "0", "aria-hidden": "true" })));
2143
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (index.h("div", { class: buttonWrapperClass(b) }, index.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index.h("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, index.h("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), index.h("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
2038
2144
  }
2039
- get el() { return index$1.getElement(this); }
2145
+ get el() { return index.getElement(this); }
2040
2146
  static get watchers() { return {
2041
2147
  "isOpen": ["onIsOpenChange"],
2042
2148
  "trigger": ["triggerChanged"]
@@ -2052,20 +2158,18 @@ const buttonClass = (button) => {
2052
2158
  return Object.assign({ 'picker-button': true, 'ion-activatable': true }, theme.getClassMap(button.cssClass));
2053
2159
  };
2054
2160
  Picker.style = {
2055
- ios: IonPickerLegacyIosStyle0,
2056
- md: IonPickerLegacyMdStyle0
2161
+ ios: pickerIosCss,
2162
+ md: pickerMdCss
2057
2163
  };
2058
2164
 
2059
2165
  const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}";
2060
- const IonPickerLegacyColumnIosStyle0 = pickerColumnIosCss;
2061
2166
 
2062
2167
  const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}";
2063
- const IonPickerLegacyColumnMdStyle0 = pickerColumnMdCss;
2064
2168
 
2065
2169
  const PickerColumnCmp = class {
2066
2170
  constructor(hostRef) {
2067
- index$1.registerInstance(this, hostRef);
2068
- this.ionPickerColChange = index$1.createEvent(this, "ionPickerColChange", 7);
2171
+ index.registerInstance(this, hostRef);
2172
+ this.ionPickerColChange = index.createEvent(this, "ionPickerColChange", 7);
2069
2173
  this.optHeight = 0;
2070
2174
  this.rotateFactor = 0;
2071
2175
  this.scaleFactor = 1;
@@ -2080,7 +2184,6 @@ const PickerColumnCmp = class {
2080
2184
  // Ex: column is created with 3 options. User updates the column data
2081
2185
  // to have 5 options. The column will still think it only has 3 options.
2082
2186
  this.colDidChange = false;
2083
- this.col = undefined;
2084
2187
  }
2085
2188
  colChanged() {
2086
2189
  this.colDidChange = true;
@@ -2088,14 +2191,14 @@ const PickerColumnCmp = class {
2088
2191
  async connectedCallback() {
2089
2192
  let pickerRotateFactor = 0;
2090
2193
  let pickerScaleFactor = 0.81;
2091
- const mode = ionicGlobal.getIonMode(this);
2194
+ const mode = index.getIonMode(this);
2092
2195
  if (mode === 'ios') {
2093
2196
  pickerRotateFactor = -0.46;
2094
2197
  pickerScaleFactor = 1;
2095
2198
  }
2096
2199
  this.rotateFactor = pickerRotateFactor;
2097
2200
  this.scaleFactor = pickerScaleFactor;
2098
- this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
2201
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-CAvQ7Tka.js'); })).createGesture({
2099
2202
  el: this.el,
2100
2203
  gestureName: 'picker-swipe',
2101
2204
  gesturePriority: 100,
@@ -2328,7 +2431,7 @@ const PickerColumnCmp = class {
2328
2431
  this.emitColChange();
2329
2432
  return;
2330
2433
  }
2331
- this.velocity = helpers.clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
2434
+ this.velocity = helpers.clamp(-90, detail.velocityY * 23, MAX_PICKER_SPEED);
2332
2435
  if (this.velocity === 0 && detail.deltaY === 0) {
2333
2436
  const opt = detail.event.target.closest('.picker-opt');
2334
2437
  if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
@@ -2383,19 +2486,19 @@ const PickerColumnCmp = class {
2383
2486
  const colEl = this.optsEl;
2384
2487
  if (colEl) {
2385
2488
  // DOM READ
2386
- // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed
2489
+ // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
2387
2490
  this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
2388
2491
  }
2389
2492
  this.refresh(forceRefresh, animated);
2390
2493
  }
2391
2494
  render() {
2392
2495
  const col = this.col;
2393
- const mode = ionicGlobal.getIonMode(this);
2394
- return (index$1.h(index$1.Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
2496
+ const mode = index.getIonMode(this);
2497
+ return (index.h(index.Host, { key: 'ed32d108dd94f0302fb453c31a3497ebae65ec37', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
2395
2498
  'max-width': this.col.columnWidth,
2396
- } }, col.prefix && (index$1.h("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (index$1.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (index$1.h("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2499
+ } }, col.prefix && (index.h("div", { key: '9f0634890e66fd4ae74f826d1eea3431de121393', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '337e996e5be91af16446085fe22436f213b771eb', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index$1) => (index.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index$1 }, o.text)))), col.suffix && (index.h("div", { key: 'd69a132599d78d9e5107f12228978cfce4e43098', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2397
2500
  }
2398
- get el() { return index$1.getElement(this); }
2501
+ get el() { return index.getElement(this); }
2399
2502
  static get watchers() { return {
2400
2503
  "col": ["colChanged"]
2401
2504
  }; }
@@ -2405,8 +2508,8 @@ const DECELERATION_FRICTION = 0.97;
2405
2508
  const MAX_PICKER_SPEED = 90;
2406
2509
  const TRANSITION_DURATION = 150;
2407
2510
  PickerColumnCmp.style = {
2408
- ios: IonPickerLegacyColumnIosStyle0,
2409
- md: IonPickerLegacyColumnMdStyle0
2511
+ ios: pickerColumnIosCss,
2512
+ md: pickerColumnMdCss
2410
2513
  };
2411
2514
 
2412
2515
  exports.ion_datetime = Datetime;