@ionic/core 8.5.9 → 8.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (801) 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 +30 -24
  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 +197 -82
  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 +6 -4
  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 +122 -44
  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 +7 -10
  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/global.bundle.css +1 -1
  129. package/css/global.bundle.css.map +1 -1
  130. package/css/ionic.bundle.css +1 -1
  131. package/css/ionic.bundle.css.map +1 -1
  132. package/css/structure.css +1 -1
  133. package/css/structure.css.map +1 -1
  134. package/dist/cjs/{animation-ab2d3449.js → animation-0T7gKwOt.js} +2 -2
  135. package/dist/cjs/{button-active-43e2b419.js → button-active-C-4ud7Ht.js} +3 -3
  136. package/dist/cjs/{capacitor-c04564bf.js → capacitor-DmA66EwP.js} +1 -1
  137. package/dist/cjs/{config-f6225ae7.js → config-U7OAuj53.js} +1 -1
  138. package/dist/cjs/{data-94e8d392.js → data-DRqa6oM4.js} +30 -5
  139. package/dist/cjs/{framework-delegate-862d9d00.js → framework-delegate-C7sIJyT5.js} +1 -1
  140. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-dtqlP_q4.js} +1 -1
  141. package/dist/cjs/{haptic-f6b37aa3.js → haptic-ClPPQ_PS.js} +1 -1
  142. package/dist/cjs/{hardware-back-button-3d2b1004.js → hardware-back-button-D90qZxju.js} +2 -2
  143. package/dist/cjs/{helpers-8a48fdea.js → helpers-BITAzJfi.js} +2 -5
  144. package/dist/cjs/{index-dbe01e08.js → index-BDBT0u4l.js} +3 -3
  145. package/dist/cjs/{index-ee07ed59.js → index-CAvQ7Tka.js} +3 -4
  146. package/dist/cjs/{index-073c7cdc.js → index-CPbAsnJK.js} +1 -0
  147. package/dist/cjs/{index-31b07b9c.js → index-CVa6JE57.js} +3 -3
  148. package/dist/cjs/{index-a96d31ae.js → index-CxfLS2mX.js} +8 -9
  149. package/dist/cjs/{index-2e236a04.js → index-DODXXb_r.js} +1676 -675
  150. package/dist/cjs/{index-1eff7149.js → index-y0QaNtCi.js} +6 -7
  151. package/dist/cjs/index.cjs.js +22 -28
  152. package/dist/cjs/{input-shims-415be7ee.js → input-shims-D1Mfgd4s.js} +29 -6
  153. package/dist/cjs/{input.utils-a7957fd6.js → input.utils-DSoBEyUu.js} +3 -3
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -29
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +50 -40
  156. package/dist/cjs/ion-alert.cjs.entry.js +59 -47
  157. package/dist/cjs/ion-app_8.cjs.entry.js +134 -105
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -20
  159. package/dist/cjs/ion-back-button.cjs.entry.js +21 -26
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +13 -10
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +39 -37
  162. package/dist/cjs/ion-button_2.cjs.entry.js +35 -34
  163. package/dist/cjs/ion-card_5.cjs.entry.js +36 -41
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +44 -24
  165. package/dist/cjs/ion-chip.cjs.entry.js +11 -12
  166. package/dist/cjs/ion-col_3.cjs.entry.js +10 -38
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +23 -25
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +318 -191
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +59 -35
  170. package/dist/cjs/ion-img.cjs.entry.js +4 -13
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +38 -25
  172. package/dist/cjs/ion-input-otp.cjs.entry.js +593 -0
  173. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +17 -23
  174. package/dist/cjs/ion-input.cjs.entry.js +86 -62
  175. package/dist/cjs/ion-item-option_3.cjs.entry.js +38 -36
  176. package/dist/cjs/ion-item_8.cjs.entry.js +69 -74
  177. package/dist/cjs/ion-loading.cjs.entry.js +50 -37
  178. package/dist/cjs/ion-menu_3.cjs.entry.js +84 -63
  179. package/dist/cjs/ion-modal.cjs.entry.js +141 -67
  180. package/dist/cjs/ion-nav_2.cjs.entry.js +30 -37
  181. package/dist/cjs/ion-picker-column-option.cjs.entry.js +24 -15
  182. package/dist/cjs/ion-picker-column.cjs.entry.js +32 -21
  183. package/dist/cjs/ion-picker.cjs.entry.js +4 -9
  184. package/dist/cjs/ion-popover.cjs.entry.js +143 -55
  185. package/dist/cjs/ion-progress-bar.cjs.entry.js +24 -15
  186. package/dist/cjs/ion-radio_2.cjs.entry.js +47 -37
  187. package/dist/cjs/ion-range.cjs.entry.js +78 -42
  188. package/dist/cjs/ion-refresher_2.cjs.entry.js +81 -41
  189. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -23
  190. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -9
  191. package/dist/cjs/ion-route_4.cjs.entry.js +52 -40
  192. package/dist/cjs/ion-searchbar.cjs.entry.js +91 -46
  193. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -6
  194. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -10
  195. package/dist/cjs/ion-segment_2.cjs.entry.js +55 -39
  196. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -21
  197. package/dist/cjs/ion-select_3.cjs.entry.js +98 -70
  198. package/dist/cjs/ion-spinner.cjs.entry.js +12 -17
  199. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -15
  200. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +31 -36
  201. package/dist/cjs/ion-tab_2.cjs.entry.js +13 -20
  202. package/dist/cjs/ion-text.cjs.entry.js +6 -12
  203. package/dist/cjs/ion-textarea.cjs.entry.js +79 -47
  204. package/dist/cjs/ion-toast.cjs.entry.js +82 -63
  205. package/dist/cjs/ion-toggle.cjs.entry.js +64 -37
  206. package/dist/cjs/ionic.cjs.js +7 -10
  207. package/dist/cjs/{ios.transition-a131cd4d.js → ios.transition-baEy2tr4.js} +5 -6
  208. package/dist/cjs/{keyboard-0272231f.js → keyboard-UuAS4D_9.js} +1 -1
  209. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-GXBiBRKS.js} +2 -2
  210. package/dist/cjs/{keyboard-af1bb365.js → keyboard-hHzlEQpk.js} +3 -3
  211. package/dist/cjs/loader.cjs.js +3 -8
  212. package/dist/cjs/{md.transition-e018ebe5.js → md.transition-Bvc-JrM5.js} +5 -6
  213. package/dist/cjs/{notch-controller-09b7f358.js → notch-controller-BAbqGXRi.js} +2 -2
  214. package/dist/cjs/{overlays-4c291a05.js → overlays-DRDumz2b.js} +9 -10
  215. package/dist/cjs/{status-tap-f1acefac.js → status-tap-Db3WeCkO.js} +3 -4
  216. package/dist/cjs/{swipe-back-4918e56b.js → swipe-back-D_VN6H9r.js} +5 -5
  217. package/dist/collection/collection-manifest.json +3 -2
  218. package/dist/collection/components/accordion/accordion.js +43 -13
  219. package/dist/collection/components/accordion-group/accordion-group.js +35 -8
  220. package/dist/collection/components/action-sheet/action-sheet.js +84 -31
  221. package/dist/collection/components/alert/alert.js +94 -34
  222. package/dist/collection/components/back-button/back-button.js +30 -14
  223. package/dist/collection/components/backdrop/backdrop.js +18 -3
  224. package/dist/collection/components/badge/badge.js +3 -4
  225. package/dist/collection/components/breadcrumb/breadcrumb.js +57 -26
  226. package/dist/collection/components/breadcrumbs/breadcrumbs.js +24 -10
  227. package/dist/collection/components/button/button.js +74 -33
  228. package/dist/collection/components/buttons/buttons.js +15 -1
  229. package/dist/collection/components/card/card.js +44 -16
  230. package/dist/collection/components/card-header/card-header.js +11 -3
  231. package/dist/collection/components/card-subtitle/card-subtitle.js +3 -4
  232. package/dist/collection/components/card-title/card-title.js +3 -4
  233. package/dist/collection/components/checkbox/checkbox.js +74 -24
  234. package/dist/collection/components/chip/chip.js +15 -4
  235. package/dist/collection/components/col/col.js +72 -50
  236. package/dist/collection/components/content/content.js +43 -9
  237. package/dist/collection/components/datetime/datetime.ios.css +7 -2
  238. package/dist/collection/components/datetime/datetime.js +298 -98
  239. package/dist/collection/components/datetime/datetime.md.css +9 -3
  240. package/dist/collection/components/datetime/utils/data.js +29 -4
  241. package/dist/collection/components/datetime-button/datetime-button.js +21 -11
  242. package/dist/collection/components/fab/fab.js +21 -6
  243. package/dist/collection/components/fab-button/fab-button.js +76 -28
  244. package/dist/collection/components/fab-list/fab-list.js +12 -2
  245. package/dist/collection/components/footer/footer.js +16 -5
  246. package/dist/collection/components/grid/grid.js +6 -1
  247. package/dist/collection/components/header/header.js +15 -4
  248. package/dist/collection/components/img/img.js +6 -6
  249. package/dist/collection/components/infinite-scroll/infinite-scroll.js +35 -7
  250. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +6 -4
  251. package/dist/collection/components/input/input.js +178 -79
  252. package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
  253. package/dist/collection/components/input-otp/input-otp.ios.css +381 -0
  254. package/dist/collection/components/input-otp/input-otp.js +1003 -0
  255. package/dist/collection/components/input-otp/input-otp.md.css +381 -0
  256. package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -11
  257. package/dist/collection/components/item/item.js +56 -21
  258. package/dist/collection/components/item-divider/item-divider.js +15 -5
  259. package/dist/collection/components/item-group/item-group.js +1 -1
  260. package/dist/collection/components/item-option/item-option.js +38 -18
  261. package/dist/collection/components/item-options/item-options.js +8 -2
  262. package/dist/collection/components/item-sliding/item-sliding.js +7 -2
  263. package/dist/collection/components/label/label.js +8 -6
  264. package/dist/collection/components/list/list.js +10 -4
  265. package/dist/collection/components/list-header/list-header.js +8 -8
  266. package/dist/collection/components/loading/loading.js +88 -31
  267. package/dist/collection/components/menu/menu.js +44 -12
  268. package/dist/collection/components/menu-button/menu-button.js +29 -12
  269. package/dist/collection/components/menu-toggle/menu-toggle.js +16 -7
  270. package/dist/collection/components/modal/modal.js +192 -55
  271. package/dist/collection/components/nav/nav.js +25 -12
  272. package/dist/collection/components/nav-link/nav-link.js +19 -9
  273. package/dist/collection/components/note/note.js +5 -6
  274. package/dist/collection/components/picker-column/picker-column.js +34 -10
  275. package/dist/collection/components/picker-column-option/picker-column-option.js +27 -6
  276. package/dist/collection/components/picker-legacy/picker.js +93 -33
  277. package/dist/collection/components/picker-legacy-column/picker-column.js +6 -4
  278. package/dist/collection/components/popover/popover.js +211 -58
  279. package/dist/collection/components/progress-bar/progress-bar.js +32 -7
  280. package/dist/collection/components/radio/radio.js +49 -19
  281. package/dist/collection/components/radio-group/radio-group.js +27 -13
  282. package/dist/collection/components/range/range.js +112 -37
  283. package/dist/collection/components/refresher/refresher.js +69 -7
  284. package/dist/collection/components/refresher-content/refresher-content.js +13 -9
  285. package/dist/collection/components/reorder/reorder.js +1 -1
  286. package/dist/collection/components/reorder-group/reorder-group.js +7 -2
  287. package/dist/collection/components/ripple-effect/ripple-effect.js +13 -2
  288. package/dist/collection/components/route/route.js +24 -9
  289. package/dist/collection/components/route-redirect/route-redirect.js +6 -6
  290. package/dist/collection/components/router/router.js +24 -2
  291. package/dist/collection/components/router-link/router-link.js +26 -14
  292. package/dist/collection/components/router-outlet/router-outlet.js +25 -9
  293. package/dist/collection/components/row/row.js +1 -1
  294. package/dist/collection/components/searchbar/searchbar.js +145 -50
  295. package/dist/collection/components/segment/segment.js +40 -15
  296. package/dist/collection/components/segment-button/segment-button.js +34 -13
  297. package/dist/collection/components/segment-content/segment-content.js +1 -1
  298. package/dist/collection/components/segment-view/segment-view.js +8 -4
  299. package/dist/collection/components/select/select.js +128 -48
  300. package/dist/collection/components/select-modal/select-modal.js +10 -5
  301. package/dist/collection/components/select-option/select-option.js +10 -4
  302. package/dist/collection/components/select-popover/select-popover.js +19 -9
  303. package/dist/collection/components/skeleton-text/skeleton-text.js +8 -3
  304. package/dist/collection/components/spinner/spinner.js +16 -8
  305. package/dist/collection/components/split-pane/split-pane.js +19 -6
  306. package/dist/collection/components/tab/tab.js +16 -9
  307. package/dist/collection/components/tab-bar/tab-bar.js +16 -7
  308. package/dist/collection/components/tab-button/tab-button.js +34 -18
  309. package/dist/collection/components/tabs/tabs.js +6 -4
  310. package/dist/collection/components/text/text.js +5 -6
  311. package/dist/collection/components/textarea/textarea.js +154 -59
  312. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  313. package/dist/collection/components/title/title.js +8 -8
  314. package/dist/collection/components/toast/toast.js +121 -47
  315. package/dist/collection/components/toggle/toggle.js +86 -28
  316. package/dist/collection/components/toolbar/toolbar.js +5 -4
  317. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +23 -0
  318. package/dist/docs.d.ts +8 -0
  319. package/dist/docs.json +4489 -941
  320. package/dist/esm/{animation-8b25e105.js → animation-BWcUKtbn.js} +2 -2
  321. package/dist/esm/{button-active-90f1dbc4.js → button-active-Bxcnevju.js} +3 -3
  322. package/dist/esm/{capacitor-59395cbd.js → capacitor-CFERIeaU.js} +1 -1
  323. package/dist/esm/{config-9898ed97.js → config-AaTyISnm.js} +1 -1
  324. package/dist/esm/{data-0d7ea6eb.js → data-GIsHsYIB.js} +31 -6
  325. package/dist/esm/{framework-delegate-56b467ad.js → framework-delegate-DxcnWic_.js} +1 -1
  326. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-BTEOs1at.js} +1 -1
  327. package/dist/esm/{haptic-ac164e4c.js → haptic-DzAMWJuk.js} +2 -2
  328. package/dist/esm/{hardware-back-button-a7eb8233.js → hardware-back-button-DcH0BbDp.js} +2 -2
  329. package/dist/esm/{helpers-d94bc8ad.js → helpers-1O4D2b7y.js} +3 -6
  330. package/dist/esm/{index-e2cf2ceb.js → index-BLV6ykCk.js} +2 -1
  331. package/dist/esm/{index-527b9e34.js → index-B_U9CtaY.js} +1667 -654
  332. package/dist/esm/{index-9a17db3d.js → index-BlJTBdxG.js} +3 -3
  333. package/dist/esm/{index-be190feb.js → index-CWbP1eJz.js} +3 -3
  334. package/dist/esm/{index-39782642.js → index-CfgBF1SE.js} +4 -6
  335. package/dist/esm/{index-18f31305.js → index-D8sncTHY.js} +5 -6
  336. package/dist/esm/{index-68c0d151.js → index-DfBA5ztX.js} +4 -5
  337. package/dist/esm/index.js +16 -18
  338. package/dist/esm/{input-shims-279903e2.js → input-shims-C3lNp93k.js} +29 -6
  339. package/dist/esm/{input.utils-40504d6d.js → input.utils-zWijNCrx.js} +3 -3
  340. package/dist/esm/ion-accordion_2.entry.js +52 -23
  341. package/dist/esm/ion-action-sheet.entry.js +48 -36
  342. package/dist/esm/ion-alert.entry.js +53 -39
  343. package/dist/esm/ion-app_8.entry.js +99 -68
  344. package/dist/esm/ion-avatar_3.entry.js +8 -16
  345. package/dist/esm/ion-back-button.entry.js +14 -17
  346. package/dist/esm/ion-backdrop.entry.js +12 -7
  347. package/dist/esm/ion-breadcrumb_2.entry.js +37 -33
  348. package/dist/esm/ion-button_2.entry.js +31 -28
  349. package/dist/esm/ion-card_5.entry.js +31 -34
  350. package/dist/esm/ion-checkbox.entry.js +43 -21
  351. package/dist/esm/ion-chip.entry.js +10 -9
  352. package/dist/esm/ion-col_3.entry.js +8 -34
  353. package/dist/esm/ion-datetime-button.entry.js +18 -18
  354. package/dist/esm/ion-datetime_3.entry.js +253 -124
  355. package/dist/esm/ion-fab_3.entry.js +56 -30
  356. package/dist/esm/ion-img.entry.js +3 -10
  357. package/dist/esm/ion-infinite-scroll_2.entry.js +33 -18
  358. package/dist/esm/ion-input-otp.entry.js +591 -0
  359. package/dist/esm/ion-input-password-toggle.entry.js +12 -16
  360. package/dist/esm/ion-input.entry.js +84 -58
  361. package/dist/esm/ion-item-option_3.entry.js +34 -30
  362. package/dist/esm/ion-item_8.entry.js +60 -63
  363. package/dist/esm/ion-loading.entry.js +46 -31
  364. package/dist/esm/ion-menu_3.entry.js +66 -43
  365. package/dist/esm/ion-modal.entry.js +130 -54
  366. package/dist/esm/ion-nav_2.entry.js +17 -22
  367. package/dist/esm/ion-picker-column-option.entry.js +23 -12
  368. package/dist/esm/ion-picker-column.entry.js +29 -16
  369. package/dist/esm/ion-picker.entry.js +4 -7
  370. package/dist/esm/ion-popover.entry.js +137 -47
  371. package/dist/esm/ion-progress-bar.entry.js +22 -11
  372. package/dist/esm/ion-radio_2.entry.js +45 -33
  373. package/dist/esm/ion-range.entry.js +72 -34
  374. package/dist/esm/ion-refresher_2.entry.js +68 -26
  375. package/dist/esm/ion-reorder_2.entry.js +17 -19
  376. package/dist/esm/ion-ripple-effect.entry.js +12 -6
  377. package/dist/esm/ion-route_4.entry.js +35 -21
  378. package/dist/esm/ion-searchbar.entry.js +86 -39
  379. package/dist/esm/ion-segment-content.entry.js +3 -4
  380. package/dist/esm/ion-segment-view.entry.js +8 -8
  381. package/dist/esm/ion-segment_2.entry.js +50 -32
  382. package/dist/esm/ion-select-modal.entry.js +12 -19
  383. package/dist/esm/ion-select_3.entry.js +88 -58
  384. package/dist/esm/ion-spinner.entry.js +8 -11
  385. package/dist/esm/ion-split-pane.entry.js +13 -10
  386. package/dist/esm/ion-tab-bar_2.entry.js +28 -31
  387. package/dist/esm/ion-tab_2.entry.js +11 -16
  388. package/dist/esm/ion-text.entry.js +5 -9
  389. package/dist/esm/ion-textarea.entry.js +77 -43
  390. package/dist/esm/ion-toast.entry.js +65 -44
  391. package/dist/esm/ion-toggle.entry.js +62 -33
  392. package/dist/esm/ionic.js +5 -7
  393. package/dist/esm/{ios.transition-4047cb68.js → ios.transition-BmXtMRXZ.js} +5 -6
  394. package/dist/esm/{keyboard-73175e24.js → keyboard-CUw4ekVy.js} +1 -1
  395. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-BaaVITYt.js} +2 -2
  396. package/dist/esm/{keyboard-52278bd7.js → keyboard-ywgs5efA.js} +3 -3
  397. package/dist/esm/loader.js +3 -6
  398. package/dist/esm/{md.transition-30ce8d1b.js → md.transition-CLI683c7.js} +5 -6
  399. package/dist/esm/{notch-controller-1a1f7183.js → notch-controller-C5LPspO8.js} +2 -2
  400. package/dist/esm/{overlays-d99dcb0a.js → overlays-8Y2rA-ps.js} +6 -7
  401. package/dist/esm/{status-tap-42a8af65.js → status-tap-7t9T91bG.js} +3 -4
  402. package/dist/esm/{swipe-back-0184f6b3.js → swipe-back-VdaUzLWy.js} +5 -5
  403. package/dist/html.html-data.json +376 -0
  404. package/dist/index.js +1 -1
  405. package/dist/ionic/index.esm.js +1 -1
  406. package/dist/ionic/ionic.esm.js +1 -1
  407. package/dist/ionic/p-0fc6fc38.entry.js +4 -0
  408. package/dist/ionic/p-14ae45e4.entry.js +4 -0
  409. package/dist/ionic/p-15da9760.entry.js +4 -0
  410. package/dist/ionic/p-1739f5f2.entry.js +4 -0
  411. package/dist/ionic/p-18f1813b.entry.js +4 -0
  412. package/dist/ionic/p-2020aa51.entry.js +4 -0
  413. package/dist/ionic/p-2c6c6991.entry.js +4 -0
  414. package/dist/ionic/p-2cfd6b61.entry.js +4 -0
  415. package/dist/ionic/p-2da6a16b.entry.js +4 -0
  416. package/dist/ionic/p-3a4feac2.entry.js +4 -0
  417. package/dist/ionic/p-473877b6.entry.js +4 -0
  418. package/dist/ionic/p-4b7d1f35.entry.js +4 -0
  419. package/dist/ionic/p-4d61f20b.entry.js +4 -0
  420. package/dist/ionic/p-4ddc10ef.entry.js +4 -0
  421. package/dist/ionic/p-56712fd4.entry.js +4 -0
  422. package/dist/ionic/p-66510682.entry.js +4 -0
  423. package/dist/ionic/p-6b666996.entry.js +4 -0
  424. package/dist/ionic/p-7149db7e.entry.js +4 -0
  425. package/dist/ionic/p-73d7ad90.entry.js +4 -0
  426. package/dist/ionic/p-76b697a3.entry.js +4 -0
  427. package/dist/ionic/{p-ed005d9c.js → p-7qk7mxdr.js} +1 -1
  428. package/dist/ionic/p-8957540a.entry.js +4 -0
  429. package/dist/ionic/p-8a8ef46b.entry.js +4 -0
  430. package/dist/ionic/p-8c674371.entry.js +4 -0
  431. package/dist/ionic/p-8f2f76e0.entry.js +4 -0
  432. package/dist/ionic/p-90f87086.entry.js +4 -0
  433. package/dist/ionic/p-91bde659.entry.js +4 -0
  434. package/dist/ionic/p-96389029.entry.js +4 -0
  435. package/dist/ionic/p-97667b9c.entry.js +4 -0
  436. package/dist/ionic/p-9b46b31b.entry.js +4 -0
  437. package/dist/ionic/p-9e699d4a.entry.js +4 -0
  438. package/dist/ionic/p-9eeaBrnk.js +4 -0
  439. package/dist/ionic/p-B1MNHTYX.js +4 -0
  440. package/dist/ionic/p-B3XSxWNQ.js +4 -0
  441. package/dist/ionic/{p-da2b833b.js → p-BLV6ykCk.js} +1 -1
  442. package/dist/ionic/p-BROiNJRB.js +4 -0
  443. package/dist/ionic/p-B_U9CtaY.js +5 -0
  444. package/dist/ionic/{p-f08a92cc.js → p-BhLqfMrf.js} +1 -1
  445. package/dist/ionic/{p-2bb55ebc.js → p-BmQduG8c.js} +1 -1
  446. package/dist/ionic/p-CIGNaXM1.js +4 -0
  447. package/dist/ionic/{p-89b61afc.js → p-CKvCXMs9.js} +1 -1
  448. package/dist/ionic/p-CL-KfWxq.js +4 -0
  449. package/dist/ionic/p-CPgXVSua.js +4 -0
  450. package/dist/ionic/p-CRiGyYOA.js +4 -0
  451. package/dist/ionic/{p-10a1bddc.js → p-CbI9XwwW.js} +1 -1
  452. package/dist/ionic/p-Cl0B-RWe.js +4 -0
  453. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  454. package/dist/ionic/p-D-7TeYC4.js +4 -0
  455. package/dist/ionic/{p-27281edd.js → p-D13Eaw-8.js} +1 -1
  456. package/dist/ionic/{p-0f5e6225.js → p-DCfS5Jk_.js} +1 -1
  457. package/dist/ionic/p-DgdWETCP.js +4 -0
  458. package/dist/ionic/p-Do-uqmtX.js +4 -0
  459. package/dist/ionic/{p-b7b1d91a.js → p-DzH0J0yi.js} +1 -1
  460. package/dist/ionic/p-QwEXyOze.js +4 -0
  461. package/dist/ionic/p-a6282370.entry.js +4 -0
  462. package/dist/ionic/p-a9ac80bd.entry.js +4 -0
  463. package/dist/ionic/p-a9f99c74.entry.js +4 -0
  464. package/dist/ionic/p-aIxOGKys.js +4 -0
  465. package/dist/ionic/p-aa8956c2.entry.js +4 -0
  466. package/dist/ionic/p-b37dbc31.entry.js +4 -0
  467. package/dist/ionic/p-b9f79efc.entry.js +4 -0
  468. package/dist/ionic/p-bNmY-WfR.js +4 -0
  469. package/dist/ionic/p-bc01c127.entry.js +4 -0
  470. package/dist/ionic/p-bec79123.entry.js +4 -0
  471. package/dist/ionic/p-c0335397.entry.js +4 -0
  472. package/dist/ionic/p-c4912ca5.entry.js +4 -0
  473. package/dist/ionic/p-c884d7e3.entry.js +4 -0
  474. package/dist/ionic/p-cb787a4b.entry.js +4 -0
  475. package/dist/ionic/p-cd12ed1c.entry.js +4 -0
  476. package/dist/ionic/p-cf632ee2.entry.js +4 -0
  477. package/dist/ionic/p-d47b85ea.entry.js +4 -0
  478. package/dist/ionic/p-d8ed5df0.entry.js +4 -0
  479. package/dist/ionic/p-e1260ed5.entry.js +4 -0
  480. package/dist/ionic/p-e30ff968.entry.js +4 -0
  481. package/dist/ionic/p-ead42a37.entry.js +4 -0
  482. package/dist/ionic/{p-b6d324f0.js → p-ei_RiGrl.js} +1 -1
  483. package/dist/ionic/p-f83db8cd.entry.js +4 -0
  484. package/dist/ionic/p-fbc5481b.entry.js +4 -0
  485. package/dist/ionic/p-fcc7437b.entry.js +4 -0
  486. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  487. package/dist/types/components/datetime/datetime.d.ts +6 -0
  488. package/dist/types/components/datetime/utils/data.d.ts +3 -1
  489. package/dist/types/components/datetime/utils/manipulation.d.ts +1 -0
  490. package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
  491. package/dist/types/components/input-otp/input-otp.d.ts +268 -0
  492. package/dist/types/components.d.ts +784 -0
  493. package/dist/types/interface.d.ts +1 -0
  494. package/dist/types/stencil-public-runtime.d.ts +29 -1
  495. package/hydrate/index.d.ts +44 -7
  496. package/hydrate/index.js +5495 -2370
  497. package/hydrate/index.mjs +5494 -2369
  498. package/loader/cdn.js +1 -2
  499. package/loader/index.cjs.js +1 -2
  500. package/loader/index.es2017.js +0 -1
  501. package/loader/index.js +1 -2
  502. package/package.json +2 -2
  503. package/dist/cjs/app-globals-ddceb1f4.js +0 -10
  504. package/dist/cjs/index-cc858e97.js +0 -129
  505. package/dist/cjs/ionic-global-6dea5a96.js +0 -152
  506. package/dist/esm/app-globals-dbdbb3df.js +0 -8
  507. package/dist/esm/index-cfd9c1f2.js +0 -121
  508. package/dist/esm/ionic-global-b26f573e.js +0 -147
  509. package/dist/esm/polyfills/core-js.js +0 -11
  510. package/dist/esm/polyfills/dom.js +0 -79
  511. package/dist/esm/polyfills/es5-html-element.js +0 -1
  512. package/dist/esm/polyfills/index.js +0 -34
  513. package/dist/esm/polyfills/system.js +0 -6
  514. package/dist/esm-es5/animation-8b25e105.js +0 -4
  515. package/dist/esm-es5/app-globals-dbdbb3df.js +0 -4
  516. package/dist/esm-es5/button-active-90f1dbc4.js +0 -4
  517. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  518. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +0 -4
  519. package/dist/esm-es5/config-9898ed97.js +0 -4
  520. package/dist/esm-es5/cubic-bezier-fe2083dc.js +0 -4
  521. package/dist/esm-es5/data-0d7ea6eb.js +0 -4
  522. package/dist/esm-es5/dir-babeabeb.js +0 -4
  523. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  524. package/dist/esm-es5/framework-delegate-56b467ad.js +0 -4
  525. package/dist/esm-es5/gesture-controller-314a54f6.js +0 -4
  526. package/dist/esm-es5/haptic-ac164e4c.js +0 -4
  527. package/dist/esm-es5/hardware-back-button-a7eb8233.js +0 -4
  528. package/dist/esm-es5/helpers-d94bc8ad.js +0 -4
  529. package/dist/esm-es5/index-18f31305.js +0 -4
  530. package/dist/esm-es5/index-39782642.js +0 -4
  531. package/dist/esm-es5/index-527b9e34.js +0 -5
  532. package/dist/esm-es5/index-68c0d151.js +0 -4
  533. package/dist/esm-es5/index-9a17db3d.js +0 -4
  534. package/dist/esm-es5/index-a5d50daf.js +0 -4
  535. package/dist/esm-es5/index-be190feb.js +0 -4
  536. package/dist/esm-es5/index-cfd9c1f2.js +0 -5
  537. package/dist/esm-es5/index-e2cf2ceb.js +0 -4
  538. package/dist/esm-es5/index.js +0 -4
  539. package/dist/esm-es5/input-shims-279903e2.js +0 -4
  540. package/dist/esm-es5/input.utils-40504d6d.js +0 -4
  541. package/dist/esm-es5/ion-accordion_2.entry.js +0 -4
  542. package/dist/esm-es5/ion-action-sheet.entry.js +0 -4
  543. package/dist/esm-es5/ion-alert.entry.js +0 -4
  544. package/dist/esm-es5/ion-app_8.entry.js +0 -4
  545. package/dist/esm-es5/ion-avatar_3.entry.js +0 -4
  546. package/dist/esm-es5/ion-back-button.entry.js +0 -4
  547. package/dist/esm-es5/ion-backdrop.entry.js +0 -4
  548. package/dist/esm-es5/ion-breadcrumb_2.entry.js +0 -4
  549. package/dist/esm-es5/ion-button_2.entry.js +0 -4
  550. package/dist/esm-es5/ion-card_5.entry.js +0 -4
  551. package/dist/esm-es5/ion-checkbox.entry.js +0 -4
  552. package/dist/esm-es5/ion-chip.entry.js +0 -4
  553. package/dist/esm-es5/ion-col_3.entry.js +0 -4
  554. package/dist/esm-es5/ion-datetime-button.entry.js +0 -4
  555. package/dist/esm-es5/ion-datetime_3.entry.js +0 -4
  556. package/dist/esm-es5/ion-fab_3.entry.js +0 -4
  557. package/dist/esm-es5/ion-img.entry.js +0 -4
  558. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +0 -4
  559. package/dist/esm-es5/ion-input-password-toggle.entry.js +0 -4
  560. package/dist/esm-es5/ion-input.entry.js +0 -4
  561. package/dist/esm-es5/ion-item-option_3.entry.js +0 -4
  562. package/dist/esm-es5/ion-item_8.entry.js +0 -4
  563. package/dist/esm-es5/ion-loading.entry.js +0 -4
  564. package/dist/esm-es5/ion-menu_3.entry.js +0 -4
  565. package/dist/esm-es5/ion-modal.entry.js +0 -4
  566. package/dist/esm-es5/ion-nav_2.entry.js +0 -4
  567. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  568. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  569. package/dist/esm-es5/ion-picker.entry.js +0 -4
  570. package/dist/esm-es5/ion-popover.entry.js +0 -4
  571. package/dist/esm-es5/ion-progress-bar.entry.js +0 -4
  572. package/dist/esm-es5/ion-radio_2.entry.js +0 -4
  573. package/dist/esm-es5/ion-range.entry.js +0 -4
  574. package/dist/esm-es5/ion-refresher_2.entry.js +0 -4
  575. package/dist/esm-es5/ion-reorder_2.entry.js +0 -4
  576. package/dist/esm-es5/ion-ripple-effect.entry.js +0 -4
  577. package/dist/esm-es5/ion-route_4.entry.js +0 -4
  578. package/dist/esm-es5/ion-searchbar.entry.js +0 -4
  579. package/dist/esm-es5/ion-segment-content.entry.js +0 -4
  580. package/dist/esm-es5/ion-segment-view.entry.js +0 -4
  581. package/dist/esm-es5/ion-segment_2.entry.js +0 -4
  582. package/dist/esm-es5/ion-select-modal.entry.js +0 -4
  583. package/dist/esm-es5/ion-select_3.entry.js +0 -4
  584. package/dist/esm-es5/ion-spinner.entry.js +0 -4
  585. package/dist/esm-es5/ion-split-pane.entry.js +0 -4
  586. package/dist/esm-es5/ion-tab-bar_2.entry.js +0 -4
  587. package/dist/esm-es5/ion-tab_2.entry.js +0 -4
  588. package/dist/esm-es5/ion-text.entry.js +0 -4
  589. package/dist/esm-es5/ion-textarea.entry.js +0 -4
  590. package/dist/esm-es5/ion-toast.entry.js +0 -4
  591. package/dist/esm-es5/ion-toggle.entry.js +0 -4
  592. package/dist/esm-es5/ionic-global-b26f573e.js +0 -4
  593. package/dist/esm-es5/ionic.js +0 -4
  594. package/dist/esm-es5/ios.transition-4047cb68.js +0 -4
  595. package/dist/esm-es5/keyboard-52278bd7.js +0 -4
  596. package/dist/esm-es5/keyboard-73175e24.js +0 -4
  597. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  598. package/dist/esm-es5/loader.js +0 -4
  599. package/dist/esm-es5/lock-controller-316928be.js +0 -4
  600. package/dist/esm-es5/md.transition-30ce8d1b.js +0 -4
  601. package/dist/esm-es5/notch-controller-1a1f7183.js +0 -4
  602. package/dist/esm-es5/overlays-d99dcb0a.js +0 -4
  603. package/dist/esm-es5/spinner-configs-964f7cf3.js +0 -4
  604. package/dist/esm-es5/status-tap-42a8af65.js +0 -4
  605. package/dist/esm-es5/swipe-back-0184f6b3.js +0 -4
  606. package/dist/esm-es5/theme-01f3f29c.js +0 -4
  607. package/dist/esm-es5/watch-options-c2911ace.js +0 -4
  608. package/dist/ionic/ionic.js +0 -127
  609. package/dist/ionic/p-00023f5a.system.js +0 -4
  610. package/dist/ionic/p-012c3ceb.system.js +0 -4
  611. package/dist/ionic/p-019e30a3.system.entry.js +0 -4
  612. package/dist/ionic/p-03480b95.system.entry.js +0 -4
  613. package/dist/ionic/p-08cef0b1.entry.js +0 -4
  614. package/dist/ionic/p-08e01816.system.js +0 -4
  615. package/dist/ionic/p-105b2e8b.entry.js +0 -4
  616. package/dist/ionic/p-117d0013.system.entry.js +0 -4
  617. package/dist/ionic/p-11dca959.entry.js +0 -4
  618. package/dist/ionic/p-12193821.system.js +0 -4
  619. package/dist/ionic/p-12830298.system.entry.js +0 -4
  620. package/dist/ionic/p-14154301.system.entry.js +0 -4
  621. package/dist/ionic/p-14bdb5aa.entry.js +0 -4
  622. package/dist/ionic/p-1706b406.system.entry.js +0 -4
  623. package/dist/ionic/p-171ca87d.system.js +0 -4
  624. package/dist/ionic/p-17e21141.js +0 -4
  625. package/dist/ionic/p-19494658.system.entry.js +0 -4
  626. package/dist/ionic/p-1966a13c.system.js +0 -4
  627. package/dist/ionic/p-1974d5b2.system.js +0 -4
  628. package/dist/ionic/p-1a81ac09.system.js +0 -4
  629. package/dist/ionic/p-1b9c59ab.js +0 -4
  630. package/dist/ionic/p-1d307396.system.js +0 -4
  631. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  632. package/dist/ionic/p-1e4371bd.js +0 -4
  633. package/dist/ionic/p-1e955a45.system.js +0 -4
  634. package/dist/ionic/p-20d469d0.system.js +0 -4
  635. package/dist/ionic/p-21891ead.js +0 -4
  636. package/dist/ionic/p-2233344a.system.js +0 -4
  637. package/dist/ionic/p-2469240b.entry.js +0 -4
  638. package/dist/ionic/p-24a6c8a3.system.entry.js +0 -4
  639. package/dist/ionic/p-257fb777.entry.js +0 -4
  640. package/dist/ionic/p-25b10f81.js +0 -4
  641. package/dist/ionic/p-2b7827c7.js +0 -4
  642. package/dist/ionic/p-2bff0e69.system.entry.js +0 -4
  643. package/dist/ionic/p-31dc303d.entry.js +0 -4
  644. package/dist/ionic/p-3535d6b5.entry.js +0 -4
  645. package/dist/ionic/p-35cdfd77.system.entry.js +0 -4
  646. package/dist/ionic/p-393ffcc2.entry.js +0 -4
  647. package/dist/ionic/p-39fa7dd1.system.entry.js +0 -4
  648. package/dist/ionic/p-3a30f31b.system.entry.js +0 -4
  649. package/dist/ionic/p-3cee5d7c.system.entry.js +0 -4
  650. package/dist/ionic/p-3d2b2787.system.entry.js +0 -4
  651. package/dist/ionic/p-3e1e14d9.system.js +0 -4
  652. package/dist/ionic/p-3ec227cd.system.entry.js +0 -4
  653. package/dist/ionic/p-4090ce24.entry.js +0 -4
  654. package/dist/ionic/p-42f08b26.system.entry.js +0 -4
  655. package/dist/ionic/p-4393fc08.entry.js +0 -4
  656. package/dist/ionic/p-44548aa3.system.entry.js +0 -4
  657. package/dist/ionic/p-4609d030.system.js +0 -4
  658. package/dist/ionic/p-481e0885.entry.js +0 -4
  659. package/dist/ionic/p-4a5be299.system.entry.js +0 -4
  660. package/dist/ionic/p-4c667fce.js +0 -4
  661. package/dist/ionic/p-4cf4172e.entry.js +0 -4
  662. package/dist/ionic/p-4da92dac.entry.js +0 -4
  663. package/dist/ionic/p-4ed5db19.system.js +0 -4
  664. package/dist/ionic/p-4f255d5a.system.js +0 -4
  665. package/dist/ionic/p-57d6e18e.entry.js +0 -4
  666. package/dist/ionic/p-57e55ecb.system.js +0 -4
  667. package/dist/ionic/p-5b67b447.js +0 -4
  668. package/dist/ionic/p-5c9feddc.system.entry.js +0 -4
  669. package/dist/ionic/p-5fac20aa.system.entry.js +0 -4
  670. package/dist/ionic/p-612096e6.system.entry.js +0 -4
  671. package/dist/ionic/p-6201c4ba.entry.js +0 -4
  672. package/dist/ionic/p-625248d0.system.js +0 -4
  673. package/dist/ionic/p-663413be.system.js +0 -4
  674. package/dist/ionic/p-6636a436.js +0 -4
  675. package/dist/ionic/p-66a5d6a8.js +0 -5
  676. package/dist/ionic/p-66df5468.system.entry.js +0 -4
  677. package/dist/ionic/p-67077d48.entry.js +0 -4
  678. package/dist/ionic/p-6835ebdd.system.entry.js +0 -4
  679. package/dist/ionic/p-6a03fc0f.entry.js +0 -4
  680. package/dist/ionic/p-6c474e87.entry.js +0 -4
  681. package/dist/ionic/p-6dd86ff5.system.entry.js +0 -4
  682. package/dist/ionic/p-6ec0c94a.entry.js +0 -4
  683. package/dist/ionic/p-6f832afe.system.entry.js +0 -4
  684. package/dist/ionic/p-707408c5.system.entry.js +0 -4
  685. package/dist/ionic/p-712c0131.entry.js +0 -4
  686. package/dist/ionic/p-721f43f9.entry.js +0 -4
  687. package/dist/ionic/p-72b3050b.system.entry.js +0 -4
  688. package/dist/ionic/p-7445a2e5.system.js +0 -4
  689. package/dist/ionic/p-781e2dbb.system.js +0 -4
  690. package/dist/ionic/p-792919fd.system.js +0 -4
  691. package/dist/ionic/p-7b8c12c3.entry.js +0 -4
  692. package/dist/ionic/p-7c5c7ae1.system.entry.js +0 -4
  693. package/dist/ionic/p-7e3e6ed2.entry.js +0 -4
  694. package/dist/ionic/p-7ffedf77.system.entry.js +0 -4
  695. package/dist/ionic/p-809483ac.js +0 -4
  696. package/dist/ionic/p-81904a80.entry.js +0 -4
  697. package/dist/ionic/p-84096b45.system.js +0 -4
  698. package/dist/ionic/p-8450f761.entry.js +0 -4
  699. package/dist/ionic/p-8460d95a.entry.js +0 -4
  700. package/dist/ionic/p-85b01465.js +0 -4
  701. package/dist/ionic/p-865fe95c.entry.js +0 -4
  702. package/dist/ionic/p-8674af94.entry.js +0 -4
  703. package/dist/ionic/p-890a4ee2.entry.js +0 -4
  704. package/dist/ionic/p-8985cdb6.system.js +0 -4
  705. package/dist/ionic/p-8ab2f7a4.system.entry.js +0 -4
  706. package/dist/ionic/p-8b050e84.system.js +0 -4
  707. package/dist/ionic/p-8b8b4530.system.entry.js +0 -4
  708. package/dist/ionic/p-8d2d39d0.js +0 -4
  709. package/dist/ionic/p-8dacf4e2.entry.js +0 -4
  710. package/dist/ionic/p-8ededb41.js +0 -4
  711. package/dist/ionic/p-94551927.js +0 -4
  712. package/dist/ionic/p-94a18d00.entry.js +0 -4
  713. package/dist/ionic/p-95001a19.js +0 -4
  714. package/dist/ionic/p-965287fb.system.entry.js +0 -4
  715. package/dist/ionic/p-979d4f5c.system.js +0 -4
  716. package/dist/ionic/p-98fd942b.system.entry.js +0 -4
  717. package/dist/ionic/p-9df5043e.system.entry.js +0 -4
  718. package/dist/ionic/p-a0fd2fe5.system.entry.js +0 -4
  719. package/dist/ionic/p-a4866e3e.system.js +0 -4
  720. package/dist/ionic/p-a5dbe0ff.system.entry.js +0 -4
  721. package/dist/ionic/p-a7a97bf4.system.entry.js +0 -4
  722. package/dist/ionic/p-a83e3290.system.js +0 -4
  723. package/dist/ionic/p-a93873de.system.js +0 -4
  724. package/dist/ionic/p-aad57e35.entry.js +0 -4
  725. package/dist/ionic/p-ab7337e1.entry.js +0 -4
  726. package/dist/ionic/p-abe101da.system.js +0 -4
  727. package/dist/ionic/p-ad592db9.entry.js +0 -4
  728. package/dist/ionic/p-aded71ec.js +0 -4
  729. package/dist/ionic/p-ae039072.entry.js +0 -4
  730. package/dist/ionic/p-aebfab05.system.entry.js +0 -4
  731. package/dist/ionic/p-b06ac4a5.system.js +0 -4
  732. package/dist/ionic/p-b22ab9f4.js +0 -4
  733. package/dist/ionic/p-b2e7eda0.system.entry.js +0 -4
  734. package/dist/ionic/p-b445ff65.entry.js +0 -4
  735. package/dist/ionic/p-b4d17da0.system.entry.js +0 -4
  736. package/dist/ionic/p-b8050298.system.entry.js +0 -4
  737. package/dist/ionic/p-b904cfe2.system.entry.js +0 -4
  738. package/dist/ionic/p-b9c793d4.entry.js +0 -4
  739. package/dist/ionic/p-bafc3eae.system.entry.js +0 -4
  740. package/dist/ionic/p-bf184319.system.entry.js +0 -4
  741. package/dist/ionic/p-c16443a8.system.js +0 -4
  742. package/dist/ionic/p-c2160d8c.entry.js +0 -4
  743. package/dist/ionic/p-c468af8a.system.js +0 -4
  744. package/dist/ionic/p-c5b77054.entry.js +0 -4
  745. package/dist/ionic/p-c5bfa3e9.entry.js +0 -4
  746. package/dist/ionic/p-c61cc894.js +0 -4
  747. package/dist/ionic/p-cad82569.entry.js +0 -4
  748. package/dist/ionic/p-d16fab3f.entry.js +0 -4
  749. package/dist/ionic/p-d1eb2d7f.entry.js +0 -4
  750. package/dist/ionic/p-d382f09c.system.js +0 -4
  751. package/dist/ionic/p-d8d84afa.system.js +0 -4
  752. package/dist/ionic/p-d984c1ab.system.entry.js +0 -4
  753. package/dist/ionic/p-dabe3bd4.js +0 -4
  754. package/dist/ionic/p-df069a0d.entry.js +0 -4
  755. package/dist/ionic/p-e1678e42.entry.js +0 -4
  756. package/dist/ionic/p-e673a0a2.system.js +0 -4
  757. package/dist/ionic/p-e727e32d.system.entry.js +0 -4
  758. package/dist/ionic/p-e7f732ef.entry.js +0 -4
  759. package/dist/ionic/p-e8245753.entry.js +0 -4
  760. package/dist/ionic/p-e887b6a9.system.js +0 -4
  761. package/dist/ionic/p-edd2e3c7.entry.js +0 -4
  762. package/dist/ionic/p-f0c9f8e3.system.entry.js +0 -4
  763. package/dist/ionic/p-f0ef39ab.entry.js +0 -4
  764. package/dist/ionic/p-f11a9436.system.js +0 -5
  765. package/dist/ionic/p-f22490a7.system.entry.js +0 -4
  766. package/dist/ionic/p-f6bb9be7.system.entry.js +0 -4
  767. package/dist/ionic/p-f6e7d104.system.js +0 -4
  768. package/dist/ionic/p-f725bf9e.system.js +0 -4
  769. package/dist/ionic/p-f9a87db2.system.entry.js +0 -4
  770. package/dist/ionic/p-fa3f4b96.system.js +0 -4
  771. package/dist/ionic/p-fe063952.system.entry.js +0 -4
  772. package/dist/ionic/p-ffa2125f.entry.js +0 -4
  773. package/loader/package.json +0 -11
  774. /package/dist/cjs/{compare-with-utils-df1001d7.js → compare-with-utils-DSicavqM.js} +0 -0
  775. /package/dist/cjs/{cubic-bezier-f2dccc53.js → cubic-bezier-DAjy1V-e.js} +0 -0
  776. /package/dist/cjs/{dir-94c21456.js → dir-Cn0z1rJH.js} +0 -0
  777. /package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-CCvKiLh3.js} +0 -0
  778. /package/dist/cjs/{index-c8d52405.js → index-DkNv4J_i.js} +0 -0
  779. /package/dist/cjs/{lock-controller-6585a42a.js → lock-controller-aDB9wrEf.js} +0 -0
  780. /package/dist/cjs/{spinner-configs-282fd50a.js → spinner-configs-DxHKnd3-.js} +0 -0
  781. /package/dist/cjs/{theme-d1c573d2.js → theme-CeDs6Hcv.js} +0 -0
  782. /package/dist/cjs/{watch-options-f5f3e158.js → watch-options-CviOsrTS.js} +0 -0
  783. /package/dist/esm/{compare-with-utils-a96ff2ea.js → compare-with-utils-sObYyvOy.js} +0 -0
  784. /package/dist/esm/{cubic-bezier-fe2083dc.js → cubic-bezier-hHmYLOfE.js} +0 -0
  785. /package/dist/esm/{dir-babeabeb.js → dir-C53feagD.js} +0 -0
  786. /package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-BmVRXR1y.js} +0 -0
  787. /package/dist/esm/{index-a5d50daf.js → index-ZjP4CjeZ.js} +0 -0
  788. /package/dist/esm/{lock-controller-316928be.js → lock-controller-B-hirT0v.js} +0 -0
  789. /package/dist/esm/{spinner-configs-964f7cf3.js → spinner-configs-D4RIp70E.js} +0 -0
  790. /package/dist/esm/{theme-01f3f29c.js → theme-DiVJyqlX.js} +0 -0
  791. /package/dist/esm/{watch-options-c2911ace.js → watch-options-Dtdm8lKC.js} +0 -0
  792. /package/dist/ionic/{p-ccd02320.js → p-B-hirT0v.js} +0 -0
  793. /package/dist/ionic/{p-9b97df10.js → p-BTEOs1at.js} +0 -0
  794. /package/dist/ionic/{p-d47265c8.js → p-BmVRXR1y.js} +0 -0
  795. /package/dist/ionic/{p-fb813dab.js → p-C53feagD.js} +0 -0
  796. /package/dist/ionic/{p-f0c2a614.js → p-D4RIp70E.js} +0 -0
  797. /package/dist/ionic/{p-47794def.js → p-DiVJyqlX.js} +0 -0
  798. /package/dist/ionic/{p-459d13d5.js → p-Dtdm8lKC.js} +0 -0
  799. /package/dist/ionic/{p-7b30edcc.js → p-ZjP4CjeZ.js} +0 -0
  800. /package/dist/ionic/{p-2408c236.js → p-hHmYLOfE.js} +0 -0
  801. /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');
@@ -819,48 +940,6 @@ const Datetime = class {
819
940
  this.toggleMonthAndYearView = () => {
820
941
  this.showMonthAndYear = !this.showMonthAndYear;
821
942
  };
822
- this.showMonthAndYear = false;
823
- this.activeParts = [];
824
- this.workingParts = {
825
- month: 5,
826
- day: 28,
827
- year: 2021,
828
- hour: 13,
829
- minute: 52,
830
- ampm: 'pm',
831
- };
832
- this.isTimePopoverOpen = false;
833
- this.forceRenderDate = undefined;
834
- this.color = 'primary';
835
- this.name = this.inputId;
836
- this.disabled = false;
837
- this.formatOptions = undefined;
838
- this.readonly = false;
839
- this.isDateEnabled = undefined;
840
- this.min = undefined;
841
- this.max = undefined;
842
- this.presentation = 'date-time';
843
- this.cancelText = 'Cancel';
844
- this.doneText = 'Done';
845
- this.clearText = 'Clear';
846
- this.yearValues = undefined;
847
- this.monthValues = undefined;
848
- this.dayValues = undefined;
849
- this.hourValues = undefined;
850
- this.minuteValues = undefined;
851
- this.locale = 'default';
852
- this.firstDayOfWeek = 0;
853
- this.titleSelectedDatesFormatter = undefined;
854
- this.multiple = false;
855
- this.highlightedDates = undefined;
856
- this.value = undefined;
857
- this.showDefaultTitle = false;
858
- this.showDefaultButtons = false;
859
- this.showClearButton = false;
860
- this.showDefaultTimeLabel = true;
861
- this.hourCycle = undefined;
862
- this.size = 'fixed';
863
- this.preferWheel = false;
864
943
  }
865
944
  formatOptionsChanged() {
866
945
  const { el, formatOptions, presentation } = this;
@@ -1004,7 +1083,7 @@ const Datetime = class {
1004
1083
  * is that the content will pop into view a frame after. Maybe there
1005
1084
  * is a better way to handle this?
1006
1085
  */
1007
- index$1.writeTask(() => {
1086
+ index.writeTask(() => {
1008
1087
  this.el.classList.add('datetime-ready');
1009
1088
  });
1010
1089
  };
@@ -1037,7 +1116,7 @@ const Datetime = class {
1037
1116
  * As a result, the wrong month will be shown.
1038
1117
  */
1039
1118
  this.showMonthAndYear = false;
1040
- index$1.writeTask(() => {
1119
+ index.writeTask(() => {
1041
1120
  this.el.classList.remove('datetime-ready');
1042
1121
  });
1043
1122
  };
@@ -1193,10 +1272,10 @@ const Datetime = class {
1193
1272
  * OK - Dismisses the datetime and
1194
1273
  * updates the `value` prop.
1195
1274
  */
1196
- 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: {
1197
1276
  ['datetime-action-buttons']: true,
1198
1277
  ['has-clear-button']: this.showClearButton,
1199
- } }, 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)))))))));
1200
1279
  }
1201
1280
  /**
1202
1281
  * Wheel picker render methods
@@ -1214,7 +1293,7 @@ const Datetime = class {
1214
1293
  const renderArray = forcePresentation === 'time-date'
1215
1294
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
1216
1295
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
1217
- return index$1.h("ion-picker", null, renderArray);
1296
+ return index.h("ion-picker", null, renderArray);
1218
1297
  }
1219
1298
  renderDatePickerColumns(forcePresentation) {
1220
1299
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -1273,13 +1352,13 @@ const Datetime = class {
1273
1352
  const todayString = workingParts.day !== null
1274
1353
  ? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
1275
1354
  : `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
1276
- 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) => {
1277
1356
  const { value } = ev.detail;
1278
1357
  const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
1279
1358
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1280
1359
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1281
1360
  ev.stopPropagation();
1282
- } }, 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)))));
1283
1362
  }
1284
1363
  renderIndividualDatePickerColumns(forcePresentation) {
1285
1364
  const { workingParts, isDateEnabled } = this;
@@ -1348,11 +1427,11 @@ const Datetime = class {
1348
1427
  const { disabled, workingParts } = this;
1349
1428
  const activePart = this.getActivePartsWithFallback();
1350
1429
  const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1351
- 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) => {
1352
1431
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1353
1432
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1354
1433
  ev.stopPropagation();
1355
- } }, 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)))));
1356
1435
  }
1357
1436
  renderMonthPickerColumn(months) {
1358
1437
  if (months.length === 0) {
@@ -1360,11 +1439,11 @@ const Datetime = class {
1360
1439
  }
1361
1440
  const { disabled, workingParts } = this;
1362
1441
  const activePart = this.getActivePartsWithFallback();
1363
- 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) => {
1364
1443
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
1365
1444
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1366
1445
  ev.stopPropagation();
1367
- } }, 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)))));
1368
1447
  }
1369
1448
  renderYearPickerColumn(years) {
1370
1449
  if (years.length === 0) {
@@ -1372,11 +1451,11 @@ const Datetime = class {
1372
1451
  }
1373
1452
  const { disabled, workingParts } = this;
1374
1453
  const activePart = this.getActivePartsWithFallback();
1375
- 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) => {
1376
1455
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
1377
1456
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1378
1457
  ev.stopPropagation();
1379
- } }, 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)))));
1380
1459
  }
1381
1460
  renderTimePickerColumns(forcePresentation) {
1382
1461
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1405,22 +1484,22 @@ const Datetime = class {
1405
1484
  if (hoursData.length === 0)
1406
1485
  return [];
1407
1486
  const activePart = this.getActivePartsWithFallback();
1408
- 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) => {
1409
1488
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1410
1489
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1411
1490
  ev.stopPropagation();
1412
- } }, 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)))));
1413
1492
  }
1414
1493
  renderMinutePickerColumn(minutesData) {
1415
1494
  const { disabled, workingParts } = this;
1416
1495
  if (minutesData.length === 0)
1417
1496
  return [];
1418
1497
  const activePart = this.getActivePartsWithFallback();
1419
- 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) => {
1420
1499
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1421
1500
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1422
1501
  ev.stopPropagation();
1423
- } }, 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)))));
1424
1503
  }
1425
1504
  renderDayPeriodPickerColumn(dayPeriodData) {
1426
1505
  const { disabled, workingParts } = this;
@@ -1429,18 +1508,18 @@ const Datetime = class {
1429
1508
  }
1430
1509
  const activePart = this.getActivePartsWithFallback();
1431
1510
  const isDayPeriodRTL = data.isLocaleDayPeriodRTL(this.locale);
1432
- 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) => {
1433
1512
  const hour = data.calculateHourFromAMPM(workingParts, ev.detail.value);
1434
1513
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1435
1514
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1436
1515
  ev.stopPropagation();
1437
- } }, 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)))));
1438
1517
  }
1439
1518
  renderWheelView(forcePresentation) {
1440
1519
  const { locale } = this;
1441
1520
  const showMonthFirst = data.isMonthFirstLocale(locale);
1442
1521
  const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
1443
- return (index$1.h("div", { class: {
1522
+ return (index.h("div", { class: {
1444
1523
  [`wheel-order-${columnOrder}`]: true,
1445
1524
  } }, this.renderWheelPicker(forcePresentation)));
1446
1525
  }
@@ -1449,18 +1528,18 @@ const Datetime = class {
1449
1528
  */
1450
1529
  renderCalendarHeader(mode) {
1451
1530
  const { disabled } = this;
1452
- const expandedIcon = mode === 'ios' ? index$2.chevronDown : index$2.caretUpSharp;
1453
- 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;
1454
1533
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1455
1534
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1456
1535
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1457
1536
  const hostDir = this.el.getAttribute('dir') || undefined;
1458
- 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: {
1459
1538
  'calendar-month-year-toggle': true,
1460
1539
  'ion-activatable': true,
1461
1540
  'ion-focusable': true,
1462
- }, 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) => {
1463
- 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);
1464
1543
  }))));
1465
1544
  }
1466
1545
  renderMonth(month, year) {
@@ -1486,14 +1565,40 @@ const Datetime = class {
1486
1565
  // can free-scroll the calendar.
1487
1566
  const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
1488
1567
  const activePart = this.getActivePartsWithFallback();
1489
- return (index$1.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1568
+ return (index.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1490
1569
  'calendar-month': true,
1491
1570
  // Prevents scroll snap swipe gestures for months outside of the min/max bounds
1492
1571
  'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
1493
- } }, index$1.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$2) => {
1494
- const { day, dayOfWeek } = dateObject;
1495
- const { el, highlightedDates, isDateEnabled, multiple } = this;
1496
- 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 };
1497
1602
  const isCalendarPadding = day === null;
1498
1603
  const { isActive, isToday, ariaLabel, ariaSelected, disabled: isDayDisabled, text, } = getCalendarDayState(this.locale, referenceParts, this.activeParts, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
1499
1604
  const dateIsoString = data.convertDataToISO(referenceParts);
@@ -1523,16 +1628,19 @@ const Datetime = class {
1523
1628
  * Custom highlight styles should not override the style for selected dates,
1524
1629
  * nor apply to "filler days" at the start of the grid.
1525
1630
  */
1526
- if (highlightedDates !== undefined && !isActive && day !== null) {
1631
+ if (highlightedDates !== undefined && !isActive && day !== null && !isAdjacentDay) {
1527
1632
  dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
1528
1633
  }
1529
1634
  let dateParts = undefined;
1530
1635
  // "Filler days" at the beginning of the grid should not get the calendar day
1531
1636
  // CSS parts added to them
1532
- if (!isCalendarPadding) {
1637
+ if (!isCalendarPadding && !isAdjacentDay) {
1533
1638
  dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
1534
1639
  }
1535
- 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", {
1536
1644
  // We need to use !important for the inline styles here because
1537
1645
  // otherwise the CSS shadow parts will override these styles.
1538
1646
  // See https://github.com/WICG/webcomponents/issues/847
@@ -1544,58 +1652,60 @@ const Datetime = class {
1544
1652
  el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
1545
1653
  el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
1546
1654
  }
1547
- }, 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: {
1548
1656
  'calendar-day-padding': isCalendarPadding,
1549
1657
  'calendar-day': true,
1550
1658
  'calendar-day-active': isActive,
1551
1659
  'calendar-day-constrained': isCalDayConstrained,
1552
1660
  'calendar-day-today': isToday,
1661
+ 'calendar-day-adjacent-day': isAdjacentDay,
1553
1662
  }, part: dateParts, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
1554
1663
  if (isCalendarPadding) {
1555
1664
  return;
1556
1665
  }
1557
- this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month,
1558
- day,
1559
- year }));
1560
- // multiple only needs date info, so we can wipe out other fields like time
1561
- if (multiple) {
1562
- this.setActiveParts({
1563
- month,
1564
- day,
1565
- year,
1566
- }, 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();
1567
1672
  }
1568
1673
  else {
1569
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { month,
1570
- day,
1571
- 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
+ }
1572
1682
  }
1573
1683
  }
1574
1684
  }, text)));
1575
1685
  }))));
1576
1686
  }
1577
1687
  renderCalendarBody() {
1578
- 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 }) => {
1579
1689
  return this.renderMonth(month, year);
1580
1690
  })));
1581
1691
  }
1582
1692
  renderCalendar(mode) {
1583
- 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()));
1584
1694
  }
1585
1695
  renderTimeLabel() {
1586
1696
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
1587
1697
  if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
1588
1698
  return;
1589
1699
  }
1590
- return index$1.h("slot", { name: "time-label" }, "Time");
1700
+ return index.h("slot", { name: "time-label" }, "Time");
1591
1701
  }
1592
1702
  renderTimeOverlay() {
1593
1703
  const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
1594
1704
  const computedHourCycle = data.getHourCycle(locale, hourCycle);
1595
1705
  const activePart = this.getActivePartsWithFallback();
1596
1706
  return [
1597
- index$1.h("div", { class: "time-header" }, this.renderTimeLabel()),
1598
- index$1.h("button", { class: {
1707
+ index.h("div", { class: "time-header" }, this.renderTimeLabel()),
1708
+ index.h("button", { class: {
1599
1709
  'time-body': true,
1600
1710
  'time-body-active': isTimePopoverOpen,
1601
1711
  }, part: `time-button${isTimePopoverOpen ? ' active' : ''}`, "aria-expanded": "false", "aria-haspopup": "true", disabled: disabled, onClick: async (ev) => {
@@ -1611,7 +1721,7 @@ const Datetime = class {
1611
1721
  this.isTimePopoverOpen = false;
1612
1722
  }
1613
1723
  } }, data.getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
1614
- 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) => {
1615
1725
  /**
1616
1726
  * Intersection Observers do not consistently fire between Blink and Webkit
1617
1727
  * when toggling the visibility of the popover and trying to scroll the picker
@@ -1659,7 +1769,7 @@ const Datetime = class {
1659
1769
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1660
1770
  return;
1661
1771
  }
1662
- 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())));
1663
1773
  }
1664
1774
  /**
1665
1775
  * Render time picker inside of datetime.
@@ -1671,7 +1781,7 @@ const Datetime = class {
1671
1781
  renderTime() {
1672
1782
  const { presentation } = this;
1673
1783
  const timeOnlyPresentation = presentation === 'time';
1674
- 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()));
1675
1785
  }
1676
1786
  /**
1677
1787
  * Renders the month/year picker that is
@@ -1682,7 +1792,7 @@ const Datetime = class {
1682
1792
  * toggle in the calendar header.
1683
1793
  */
1684
1794
  renderCalendarViewMonthYearPicker() {
1685
- return index$1.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1795
+ return index.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1686
1796
  }
1687
1797
  /**
1688
1798
  * Render entry point
@@ -1732,14 +1842,14 @@ const Datetime = class {
1732
1842
  }
1733
1843
  render() {
1734
1844
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1735
- const mode = ionicGlobal.getIonMode(this);
1845
+ const mode = index.getIonMode(this);
1736
1846
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1737
1847
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1738
1848
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1739
1849
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1740
1850
  const hasWheelVariant = hasDatePresentation && preferWheel;
1741
1851
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1742
- return (index$1.h(index$1.Host, { key: '20e64fb4cfe3fbd74b24038c89e00651d78b500c', "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, {
1743
1853
  [mode]: true,
1744
1854
  ['datetime-readonly']: readonly,
1745
1855
  ['datetime-disabled']: disabled,
@@ -1749,9 +1859,9 @@ const Datetime = class {
1749
1859
  [`datetime-size-${size}`]: true,
1750
1860
  [`datetime-prefer-wheel`]: hasWheelVariant,
1751
1861
  [`datetime-grid`]: isGridStyle,
1752
- })) }, index$1.h("div", { key: '488fe7bf6b9052e208d65206a580d5d65b945a62', 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)));
1753
1863
  }
1754
- get el() { return index$1.getElement(this); }
1864
+ get el() { return index.getElement(this); }
1755
1865
  static get watchers() { return {
1756
1866
  "formatOptions": ["formatOptionsChanged"],
1757
1867
  "disabled": ["disabledChanged"],
@@ -1772,8 +1882,8 @@ const CONFIRM_ROLE = 'datetime-confirm';
1772
1882
  const WHEEL_ITEM_PART = 'wheel-item';
1773
1883
  const WHEEL_ITEM_ACTIVE_PART = `active`;
1774
1884
  Datetime.style = {
1775
- ios: IonDatetimeIosStyle0,
1776
- md: IonDatetimeMdStyle0
1885
+ ios: datetimeIosCss,
1886
+ md: datetimeMdCss
1777
1887
  };
1778
1888
 
1779
1889
  /**
@@ -1821,52 +1931,72 @@ const iosLeaveAnimation = (baseEl) => {
1821
1931
  };
1822
1932
 
1823
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}";
1824
- const IonPickerLegacyIosStyle0 = pickerIosCss;
1825
1934
 
1826
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}";
1827
- const IonPickerLegacyMdStyle0 = pickerMdCss;
1828
1936
 
1829
1937
  const Picker = class {
1830
1938
  constructor(hostRef) {
1831
- index$1.registerInstance(this, hostRef);
1832
- this.didPresent = index$1.createEvent(this, "ionPickerDidPresent", 7);
1833
- this.willPresent = index$1.createEvent(this, "ionPickerWillPresent", 7);
1834
- this.willDismiss = index$1.createEvent(this, "ionPickerWillDismiss", 7);
1835
- this.didDismiss = index$1.createEvent(this, "ionPickerDidDismiss", 7);
1836
- this.didPresentShorthand = index$1.createEvent(this, "didPresent", 7);
1837
- this.willPresentShorthand = index$1.createEvent(this, "willPresent", 7);
1838
- this.willDismissShorthand = index$1.createEvent(this, "willDismiss", 7);
1839
- 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);
1840
1948
  this.delegateController = overlays.createDelegateController(this);
1841
1949
  this.lockController = lockController.createLockController();
1842
1950
  this.triggerController = overlays.createTriggerController();
1843
- this.onBackdropTap = () => {
1844
- this.dismiss(undefined, overlays.BACKDROP);
1845
- };
1846
- this.dispatchCancelHandler = (ev) => {
1847
- const role = ev.detail.role;
1848
- if (overlays.isCancel(role)) {
1849
- const cancelButton = this.buttons.find((b) => b.role === 'cancel');
1850
- this.callButtonHandler(cancelButton);
1851
- }
1852
- };
1853
1951
  this.presented = false;
1854
- this.overlayIndex = undefined;
1855
- this.delegate = undefined;
1952
+ /** @internal */
1856
1953
  this.hasController = false;
1954
+ /**
1955
+ * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1956
+ */
1857
1957
  this.keyboardClose = true;
1858
- this.enterAnimation = undefined;
1859
- this.leaveAnimation = undefined;
1958
+ /**
1959
+ * Array of buttons to be displayed at the top of the picker.
1960
+ */
1860
1961
  this.buttons = [];
1962
+ /**
1963
+ * Array of columns to be displayed in the picker.
1964
+ */
1861
1965
  this.columns = [];
1862
- this.cssClass = undefined;
1966
+ /**
1967
+ * Number of milliseconds to wait before dismissing the picker.
1968
+ */
1863
1969
  this.duration = 0;
1970
+ /**
1971
+ * If `true`, a backdrop will be displayed behind the picker.
1972
+ */
1864
1973
  this.showBackdrop = true;
1974
+ /**
1975
+ * If `true`, the picker will be dismissed when the backdrop is clicked.
1976
+ */
1865
1977
  this.backdropDismiss = true;
1978
+ /**
1979
+ * If `true`, the picker will animate.
1980
+ */
1866
1981
  this.animated = true;
1867
- 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
+ */
1868
1989
  this.isOpen = false;
1869
- 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
+ };
1870
2000
  }
1871
2001
  onIsOpenChange(newValue, oldValue) {
1872
2002
  if (newValue === true && oldValue === false) {
@@ -2005,14 +2135,14 @@ const Picker = class {
2005
2135
  }
2006
2136
  render() {
2007
2137
  const { htmlAttributes } = this;
2008
- const mode = ionicGlobal.getIonMode(this);
2009
- 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: {
2010
2140
  zIndex: `${20000 + this.overlayIndex}`,
2011
2141
  }, class: Object.assign({ [mode]: true,
2012
2142
  // Used internally for styling
2013
- [`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" })));
2014
2144
  }
2015
- get el() { return index$1.getElement(this); }
2145
+ get el() { return index.getElement(this); }
2016
2146
  static get watchers() { return {
2017
2147
  "isOpen": ["onIsOpenChange"],
2018
2148
  "trigger": ["triggerChanged"]
@@ -2028,20 +2158,18 @@ const buttonClass = (button) => {
2028
2158
  return Object.assign({ 'picker-button': true, 'ion-activatable': true }, theme.getClassMap(button.cssClass));
2029
2159
  };
2030
2160
  Picker.style = {
2031
- ios: IonPickerLegacyIosStyle0,
2032
- md: IonPickerLegacyMdStyle0
2161
+ ios: pickerIosCss,
2162
+ md: pickerMdCss
2033
2163
  };
2034
2164
 
2035
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}}";
2036
- const IonPickerLegacyColumnIosStyle0 = pickerColumnIosCss;
2037
2166
 
2038
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)}";
2039
- const IonPickerLegacyColumnMdStyle0 = pickerColumnMdCss;
2040
2168
 
2041
2169
  const PickerColumnCmp = class {
2042
2170
  constructor(hostRef) {
2043
- index$1.registerInstance(this, hostRef);
2044
- this.ionPickerColChange = index$1.createEvent(this, "ionPickerColChange", 7);
2171
+ index.registerInstance(this, hostRef);
2172
+ this.ionPickerColChange = index.createEvent(this, "ionPickerColChange", 7);
2045
2173
  this.optHeight = 0;
2046
2174
  this.rotateFactor = 0;
2047
2175
  this.scaleFactor = 1;
@@ -2056,7 +2184,6 @@ const PickerColumnCmp = class {
2056
2184
  // Ex: column is created with 3 options. User updates the column data
2057
2185
  // to have 5 options. The column will still think it only has 3 options.
2058
2186
  this.colDidChange = false;
2059
- this.col = undefined;
2060
2187
  }
2061
2188
  colChanged() {
2062
2189
  this.colDidChange = true;
@@ -2064,14 +2191,14 @@ const PickerColumnCmp = class {
2064
2191
  async connectedCallback() {
2065
2192
  let pickerRotateFactor = 0;
2066
2193
  let pickerScaleFactor = 0.81;
2067
- const mode = ionicGlobal.getIonMode(this);
2194
+ const mode = index.getIonMode(this);
2068
2195
  if (mode === 'ios') {
2069
2196
  pickerRotateFactor = -0.46;
2070
2197
  pickerScaleFactor = 1;
2071
2198
  }
2072
2199
  this.rotateFactor = pickerRotateFactor;
2073
2200
  this.scaleFactor = pickerScaleFactor;
2074
- 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({
2075
2202
  el: this.el,
2076
2203
  gestureName: 'picker-swipe',
2077
2204
  gesturePriority: 100,
@@ -2304,7 +2431,7 @@ const PickerColumnCmp = class {
2304
2431
  this.emitColChange();
2305
2432
  return;
2306
2433
  }
2307
- 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);
2308
2435
  if (this.velocity === 0 && detail.deltaY === 0) {
2309
2436
  const opt = detail.event.target.closest('.picker-opt');
2310
2437
  if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
@@ -2366,12 +2493,12 @@ const PickerColumnCmp = class {
2366
2493
  }
2367
2494
  render() {
2368
2495
  const col = this.col;
2369
- const mode = ionicGlobal.getIonMode(this);
2370
- return (index$1.h(index$1.Host, { key: '10ef653cbae8e1ed92a23fa17f3396082e35951f', 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: {
2371
2498
  'max-width': this.col.columnWidth,
2372
- } }, col.prefix && (index$1.h("div", { key: '253066708012034206b1d3d466ea48d0a3be3323', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { key: '15fa07307d4d2b4994504a5bf2de8db05b51cd2c', 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: '4db779830b1e6aa6b324e5a72541d4f610ac1ff5', 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))));
2373
2500
  }
2374
- get el() { return index$1.getElement(this); }
2501
+ get el() { return index.getElement(this); }
2375
2502
  static get watchers() { return {
2376
2503
  "col": ["colChanged"]
2377
2504
  }; }
@@ -2381,8 +2508,8 @@ const DECELERATION_FRICTION = 0.97;
2381
2508
  const MAX_PICKER_SPEED = 90;
2382
2509
  const TRANSITION_DURATION = 150;
2383
2510
  PickerColumnCmp.style = {
2384
- ios: IonPickerLegacyColumnIosStyle0,
2385
- md: IonPickerLegacyColumnMdStyle0
2511
+ ios: pickerColumnIosCss,
2512
+ md: pickerColumnMdCss
2386
2513
  };
2387
2514
 
2388
2515
  exports.ion_datetime = Datetime;