@ionic/core 8.0.0-dev.11709632212.139b6f63 → 8.0.0-dev.11711408410.14d71406

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 (947) hide show
  1. package/components/action-sheet.js +11 -6
  2. package/components/alert.js +12 -8
  3. package/components/animation.js +9 -250
  4. package/components/backdrop.js +8 -4
  5. package/components/button.js +25 -9
  6. package/components/buttons.js +10 -6
  7. package/components/checkbox.js +13 -9
  8. package/components/data.js +27 -42
  9. package/components/haptic.js +6 -54
  10. package/components/hardware-back-button.js +3 -3
  11. package/components/helpers.js +1 -57
  12. package/components/index4.js +8 -7
  13. package/components/index6.js +25 -30
  14. package/components/index7.js +124 -25
  15. package/components/index8.js +150 -111
  16. package/components/input-shims.js +1 -1
  17. package/components/input.utils.js +13 -1
  18. package/components/ion-accordion-group.js +9 -6
  19. package/components/ion-accordion.js +10 -6
  20. package/components/ion-app.js +8 -9
  21. package/components/ion-avatar.js +9 -2
  22. package/components/ion-back-button.js +12 -8
  23. package/components/ion-badge.js +9 -5
  24. package/components/ion-breadcrumb.js +11 -7
  25. package/components/ion-breadcrumbs.js +9 -5
  26. package/components/ion-card-content.js +9 -5
  27. package/components/ion-card-header.js +9 -5
  28. package/components/ion-card-subtitle.js +9 -5
  29. package/components/ion-card-title.js +9 -5
  30. package/components/ion-card.js +11 -7
  31. package/components/ion-chip.js +9 -5
  32. package/components/ion-col.js +5 -5
  33. package/components/ion-content.js +10 -10
  34. package/components/ion-datetime-button.js +19 -15
  35. package/components/ion-datetime.js +93 -27
  36. package/components/ion-fab-button.js +10 -6
  37. package/components/ion-fab-list.js +5 -5
  38. package/components/ion-fab.js +5 -5
  39. package/components/ion-footer.js +14 -10
  40. package/components/ion-grid.js +5 -5
  41. package/components/ion-header.js +15 -11
  42. package/components/ion-img.js +5 -2
  43. package/components/ion-infinite-scroll-content.js +12 -8
  44. package/components/ion-infinite-scroll.js +5 -5
  45. package/components/ion-input.js +17 -14
  46. package/components/ion-item-divider.js +9 -5
  47. package/components/ion-item-group.js +9 -5
  48. package/components/ion-item-option.js +9 -5
  49. package/components/ion-item-options.js +9 -5
  50. package/components/ion-item-sliding.js +5 -5
  51. package/components/ion-loading.js +10 -6
  52. package/components/ion-menu-button.js +11 -7
  53. package/components/ion-menu-toggle.js +5 -5
  54. package/components/ion-menu.js +14 -31
  55. package/components/ion-modal.js +45 -10
  56. package/components/ion-nav-link.js +1 -1
  57. package/components/ion-nav.js +6 -5
  58. package/components/ion-note.js +47 -1
  59. package/components/ion-picker-legacy.js +5 -6
  60. package/components/ion-progress-bar.js +8 -4
  61. package/components/ion-range.js +145 -50
  62. package/components/ion-refresher-content.js +9 -8
  63. package/components/ion-refresher.js +10 -6
  64. package/components/ion-reorder-group.js +5 -5
  65. package/components/ion-reorder.js +11 -5
  66. package/components/ion-router-link.js +5 -5
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +5 -2
  70. package/components/ion-searchbar.js +46 -13
  71. package/components/ion-segment-button.js +10 -6
  72. package/components/ion-segment.js +9 -5
  73. package/components/ion-select-option.js +5 -2
  74. package/components/ion-select.js +48 -50
  75. package/components/ion-skeleton-text.js +5 -5
  76. package/components/ion-split-pane.js +10 -6
  77. package/components/ion-tab-bar.js +9 -5
  78. package/components/ion-tab-button.js +9 -5
  79. package/components/ion-tab.js +2 -2
  80. package/components/ion-tabs.js +1 -1
  81. package/components/ion-text.js +5 -5
  82. package/components/ion-textarea.js +15 -12
  83. package/components/ion-thumbnail.js +5 -2
  84. package/components/ion-title.js +9 -5
  85. package/components/ion-toast.js +13 -9
  86. package/components/ion-toggle.js +17 -13
  87. package/components/ion-toolbar.js +9 -5
  88. package/components/ionic-global.js +190 -13
  89. package/components/ios.transition.js +1 -0
  90. package/components/item.js +39 -102
  91. package/components/label.js +12 -8
  92. package/components/list-header.js +9 -5
  93. package/components/list.js +10 -6
  94. package/components/overlays.js +141 -57
  95. package/components/picker-column-option.js +9 -5
  96. package/components/picker-column.js +28 -9
  97. package/components/picker-column2.js +4 -4
  98. package/components/picker.js +6 -2
  99. package/components/popover.js +11 -8
  100. package/components/radio-group.js +5 -3
  101. package/components/radio.js +10 -6
  102. package/components/ripple-effect.js +4 -4
  103. package/components/select-popover.js +21 -20
  104. package/components/spinner.js +6 -6
  105. package/components/status-tap.js +1 -1
  106. package/css/core.ionic.css +13 -0
  107. package/css/core.ionic.css.map +1 -0
  108. package/css/palettes/dark.always.css.map +1 -0
  109. package/css/{themes → palettes}/dark.class.css +4 -4
  110. package/css/palettes/dark.class.css.map +1 -0
  111. package/css/palettes/dark.system.css.map +1 -0
  112. package/css/palettes/high-contrast-dark.always.css.map +1 -0
  113. package/css/{themes → palettes}/high-contrast-dark.class.css +10 -10
  114. package/css/palettes/high-contrast-dark.class.css.map +1 -0
  115. package/css/palettes/high-contrast-dark.system.css.map +1 -0
  116. package/css/palettes/high-contrast.always.css.map +1 -0
  117. package/css/{themes → palettes}/high-contrast.class.css +31 -31
  118. package/css/palettes/high-contrast.class.css.map +1 -0
  119. package/css/palettes/high-contrast.system.css.map +1 -0
  120. package/dist/cjs/{animation-4ad55058.js → animation-b4fdf128.js} +9 -250
  121. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-98e49326.js} +1 -1
  122. package/dist/cjs/{button-active-8f6a8e77.js → button-active-e2ed5329.js} +2 -2
  123. package/dist/cjs/{data-e2bf21de.js → data-f2ccf911.js} +28 -45
  124. package/dist/cjs/{framework-delegate-53817ef1.js → framework-delegate-55f5683a.js} +1 -1
  125. package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
  126. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-f66bce00.js} +5 -5
  127. package/dist/cjs/{helpers-b71ca811.js → helpers-afaa9001.js} +0 -58
  128. package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
  129. package/dist/cjs/{index-88b3bd6f.js → index-5643c839.js} +4 -4
  130. package/dist/cjs/{index-347883f6.js → index-91435ed0.js} +3 -3
  131. package/dist/cjs/{index-7574e3d2.js → index-9509ecad.js} +5 -34
  132. package/dist/cjs/{index-16fc2c94.js → index-f5fcf972.js} +15 -14
  133. package/dist/cjs/index.cjs.js +11 -12
  134. package/dist/cjs/{input-shims-679d87bc.js → input-shims-837af288.js} +4 -3
  135. package/dist/cjs/{input.utils-5175aea1.js → input.utils-01c2fa15.js} +15 -3
  136. package/dist/cjs/ion-accordion_2.cjs.entry.js +20 -13
  137. package/dist/cjs/ion-action-sheet.cjs.entry.js +19 -15
  138. package/dist/cjs/ion-alert.cjs.entry.js +20 -17
  139. package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
  140. package/dist/cjs/ion-avatar_3.cjs.entry.js +22 -8
  141. package/dist/cjs/ion-back-button.cjs.entry.js +13 -9
  142. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -5
  143. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -12
  144. package/dist/cjs/ion-button_2.cjs.entry.js +28 -13
  145. package/dist/cjs/ion-card_5.cjs.entry.js +45 -25
  146. package/dist/cjs/ion-checkbox.cjs.entry.js +15 -11
  147. package/dist/cjs/ion-chip.cjs.entry.js +10 -6
  148. package/dist/cjs/ion-col_3.cjs.entry.js +14 -11
  149. package/dist/cjs/ion-datetime-button.cjs.entry.js +25 -21
  150. package/dist/cjs/ion-datetime_3.cjs.entry.js +175 -112
  151. package/dist/cjs/ion-fab_3.cjs.entry.js +19 -15
  152. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  153. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -15
  154. package/dist/cjs/ion-input.cjs.entry.js +19 -17
  155. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  156. package/dist/cjs/ion-item_8.cjs.entry.js +89 -116
  157. package/dist/cjs/ion-loading.cjs.entry.js +16 -13
  158. package/dist/cjs/ion-menu_3.cjs.entry.js +32 -46
  159. package/dist/cjs/ion-modal.cjs.entry.js +57 -22
  160. package/dist/cjs/ion-nav_2.cjs.entry.js +12 -10
  161. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
  162. package/dist/cjs/ion-picker-column.cjs.entry.js +31 -12
  163. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  164. package/dist/cjs/ion-popover.cjs.entry.js +20 -17
  165. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  166. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  167. package/dist/cjs/ion-range.cjs.entry.js +151 -56
  168. package/dist/cjs/ion-refresher_2.cjs.entry.js +21 -17
  169. package/dist/cjs/ion-reorder_2.cjs.entry.js +17 -12
  170. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-route_4.cjs.entry.js +7 -7
  172. package/dist/cjs/ion-searchbar.cjs.entry.js +41 -13
  173. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  174. package/dist/cjs/ion-select_3.cjs.entry.js +46 -33
  175. package/dist/cjs/ion-spinner.cjs.entry.js +7 -7
  176. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -7
  177. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  178. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  179. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  180. package/dist/cjs/ion-textarea.cjs.entry.js +18 -16
  181. package/dist/cjs/ion-toast.cjs.entry.js +39 -35
  182. package/dist/cjs/ion-toggle.cjs.entry.js +19 -15
  183. package/dist/cjs/ionic-global-94d8021d.js +411 -0
  184. package/dist/cjs/ionic.cjs.js +28 -5
  185. package/dist/cjs/{ios.transition-b102ee38.js → ios.transition-19155451.js} +5 -4
  186. package/dist/cjs/loader.cjs.js +4 -4
  187. package/dist/cjs/{md.transition-a5454240.js → md.transition-1b1135b1.js} +4 -4
  188. package/dist/cjs/{notch-controller-8e0ae870.js → notch-controller-d69150f5.js} +1 -1
  189. package/dist/cjs/{overlays-6b7d156b.js → overlays-de847251.js} +143 -58
  190. package/dist/cjs/{status-tap-b60dcbd8.js → status-tap-3ef7ca2b.js} +4 -4
  191. package/dist/cjs/{swipe-back-72c5c8b7.js → swipe-back-0303a5e4.js} +1 -1
  192. package/dist/collection/collection-manifest.json +1 -1
  193. package/dist/collection/components/accordion/accordion.js +11 -8
  194. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  195. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  196. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +1 -1
  197. package/dist/collection/components/alert/alert.js +15 -12
  198. package/dist/collection/components/alert/test/a11y/alert.e2e.js +5 -1
  199. package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
  200. package/dist/collection/components/app/app.js +11 -7
  201. package/dist/collection/components/avatar/avatar.js +13 -4
  202. package/dist/collection/components/back-button/back-button.js +13 -10
  203. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +1 -1
  204. package/dist/collection/components/backdrop/backdrop.js +12 -6
  205. package/dist/collection/components/badge/badge.js +11 -8
  206. package/dist/collection/components/badge/test/a11y/badge.e2e.js +1 -1
  207. package/dist/collection/components/breadcrumb/breadcrumb.js +12 -9
  208. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  209. package/dist/collection/components/button/button.ios.css +32 -10
  210. package/dist/collection/components/button/button.js +28 -8
  211. package/dist/collection/components/button/button.md.css +28 -13
  212. package/dist/collection/components/button/test/a11y/button.e2e.js +2 -2
  213. package/dist/collection/components/button/test/round/button.e2e.js +39 -4
  214. package/dist/collection/components/buttons/buttons.js +14 -8
  215. package/dist/collection/components/card/card.js +13 -10
  216. package/dist/collection/components/card-content/card-content.js +11 -8
  217. package/dist/collection/components/card-header/card-header.js +12 -9
  218. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  219. package/dist/collection/components/card-title/card-title.js +11 -8
  220. package/dist/collection/components/checkbox/checkbox.js +15 -12
  221. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +1 -1
  222. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  223. package/dist/collection/components/chip/chip.js +11 -8
  224. package/dist/collection/components/col/col.js +9 -5
  225. package/dist/collection/components/content/content.js +13 -10
  226. package/dist/collection/components/datetime/datetime.js +75 -28
  227. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
  228. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  229. package/dist/collection/components/datetime/utils/data.js +3 -3
  230. package/dist/collection/components/datetime/utils/format.js +24 -37
  231. package/dist/collection/components/datetime/utils/validate.js +45 -0
  232. package/dist/collection/components/datetime-button/datetime-button.js +21 -17
  233. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  234. package/dist/collection/components/fab/fab.js +9 -5
  235. package/dist/collection/components/fab-button/fab-button.js +12 -9
  236. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
  237. package/dist/collection/components/fab-list/fab-list.js +9 -5
  238. package/dist/collection/components/footer/footer.js +17 -14
  239. package/dist/collection/components/grid/grid.js +9 -5
  240. package/dist/collection/components/header/header.ios.css +5 -2
  241. package/dist/collection/components/header/header.js +17 -14
  242. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  243. package/dist/collection/components/img/img.js +8 -2
  244. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  245. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  246. package/dist/collection/components/input/input.ios.css +4 -2
  247. package/dist/collection/components/input/input.js +16 -37
  248. package/dist/collection/components/input/input.md.css +6 -4
  249. package/dist/collection/components/input/test/a11y/input.e2e.js +1 -1
  250. package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
  251. package/dist/collection/components/input/test/item/input.e2e.js +21 -0
  252. package/dist/collection/components/input/test/slot/input.e2e.js +8 -0
  253. package/dist/collection/components/item/item.ios.css +6 -198
  254. package/dist/collection/components/item/item.js +33 -178
  255. package/dist/collection/components/item/item.md.css +8 -361
  256. package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
  257. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  258. package/dist/collection/components/item/test/item.spec.js +1 -1
  259. package/dist/collection/components/item-divider/item-divider.js +11 -8
  260. package/dist/collection/components/item-group/item-group.js +13 -7
  261. package/dist/collection/components/item-option/item-option.js +11 -8
  262. package/dist/collection/components/item-options/item-options.js +13 -7
  263. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  264. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +1 -1
  265. package/dist/collection/components/label/label.ios.css +0 -5
  266. package/dist/collection/components/label/label.js +11 -8
  267. package/dist/collection/components/label/label.md.css +0 -75
  268. package/dist/collection/components/label/test/a11y/label.e2e.js +1 -1
  269. package/dist/collection/components/list/list.js +12 -9
  270. package/dist/collection/components/list-header/list-header.js +11 -8
  271. package/dist/collection/components/loading/loading.js +13 -10
  272. package/dist/collection/components/loading/test/a11y/loading.e2e.js +1 -1
  273. package/dist/collection/components/menu/menu.js +26 -35
  274. package/dist/collection/components/menu-button/menu-button.js +12 -9
  275. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -1
  276. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  277. package/dist/collection/components/modal/modal.js +46 -11
  278. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  279. package/dist/collection/components/nav/nav.js +11 -5
  280. package/dist/collection/components/nav-link/nav-link.js +5 -1
  281. package/dist/collection/components/note/note.js +11 -8
  282. package/dist/collection/components/picker/picker.js +8 -5
  283. package/dist/collection/components/picker-column/picker-column.js +30 -10
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  285. package/dist/collection/components/picker-legacy/picker.js +7 -6
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  287. package/dist/collection/components/popover/popover.js +18 -14
  288. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  289. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +1 -1
  290. package/dist/collection/components/radio/radio.js +12 -9
  291. package/dist/collection/components/radio/test/a11y/radio.e2e.js +1 -1
  292. package/dist/collection/components/radio-group/radio-group.js +9 -3
  293. package/dist/collection/components/range/range.js +146 -51
  294. package/dist/collection/components/range/test/a11y/range.e2e.js +1 -1
  295. package/dist/collection/components/range/test/label/range.spec.js +24 -0
  296. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  297. package/dist/collection/components/refresher/refresher.js +11 -8
  298. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +1 -1
  299. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  300. package/dist/collection/components/reorder/reorder.js +13 -6
  301. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  302. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  303. package/dist/collection/components/route/route.js +4 -0
  304. package/dist/collection/components/router/router.js +4 -0
  305. package/dist/collection/components/router-link/router-link.js +9 -5
  306. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +1 -1
  307. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  308. package/dist/collection/components/row/row.js +9 -2
  309. package/dist/collection/components/searchbar/searchbar.js +101 -19
  310. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  311. package/dist/collection/components/segment/segment.js +11 -8
  312. package/dist/collection/components/segment/test/a11y/segment.e2e.js +1 -1
  313. package/dist/collection/components/segment-button/segment-button.js +12 -9
  314. package/dist/collection/components/select/select.ios.css +7 -2
  315. package/dist/collection/components/select/select.js +32 -29
  316. package/dist/collection/components/select/select.md.css +6 -29
  317. package/dist/collection/components/select/test/a11y/select.e2e.js +1 -1
  318. package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
  319. package/dist/collection/components/select/test/select.spec.js +22 -0
  320. package/dist/collection/components/select/test/slot/select.e2e.js +8 -0
  321. package/dist/collection/components/select-option/select-option.js +9 -2
  322. package/dist/collection/components/select-popover/select-popover.js +12 -4
  323. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +1 -1
  324. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  325. package/dist/collection/components/spinner/spinner.js +10 -6
  326. package/dist/collection/components/split-pane/split-pane.js +14 -8
  327. package/dist/collection/components/tab/tab.js +6 -2
  328. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  329. package/dist/collection/components/tab-button/tab-button.js +11 -8
  330. package/dist/collection/components/tabs/tabs.js +4 -1
  331. package/dist/collection/components/text/text.js +7 -6
  332. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +1 -1
  333. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
  334. package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
  335. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +8 -0
  336. package/dist/collection/components/textarea/textarea.ios.css +4 -22
  337. package/dist/collection/components/textarea/textarea.js +15 -36
  338. package/dist/collection/components/textarea/textarea.md.css +6 -17
  339. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  340. package/dist/collection/components/title/title.js +13 -7
  341. package/dist/collection/components/toast/animations/utils.js +1 -1
  342. package/dist/collection/components/toast/test/a11y/toast.e2e.js +2 -2
  343. package/dist/collection/components/toast/toast.js +15 -11
  344. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +1 -1
  345. package/dist/collection/components/toggle/toggle.js +19 -16
  346. package/dist/collection/components/toolbar/toolbar.js +13 -10
  347. package/dist/collection/css/test/a11y/typography.e2e.js +1 -1
  348. package/dist/collection/global/ionic-global.js +160 -12
  349. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  350. package/dist/collection/themes/test/colors/theme.e2e.js +2 -2
  351. package/dist/collection/utils/animation/animation-utils.js +0 -102
  352. package/dist/collection/utils/animation/animation.js +10 -141
  353. package/dist/collection/utils/animation/test/animation.spec.js +0 -89
  354. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
  355. package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
  356. package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
  357. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
  358. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
  359. package/dist/collection/utils/focus-trap.js +78 -0
  360. package/dist/collection/utils/forms/index.js +0 -1
  361. package/dist/collection/utils/hardware-back-button.js +2 -2
  362. package/dist/collection/utils/helpers.js +0 -53
  363. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  364. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  365. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  366. package/dist/collection/utils/native/haptic.js +6 -54
  367. package/dist/collection/utils/overlays.js +64 -53
  368. package/dist/collection/utils/slot-mutation-controller.js +12 -0
  369. package/dist/collection/utils/tap-click/index.js +5 -34
  370. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  371. package/dist/collection/utils/test/playwright/generator.js +48 -25
  372. package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
  373. package/dist/collection/utils/test/playwright/page/utils/set-content.js +14 -2
  374. package/dist/collection/utils/transition/ios.transition.js +1 -0
  375. package/dist/docs.json +3992 -478
  376. package/dist/esm/{animation-a4acf150.js → animation-eab5a4ca.js} +9 -250
  377. package/dist/esm/{app-globals-5cf6195b.js → app-globals-4194f7b0.js} +1 -1
  378. package/dist/esm/{button-active-4407b98c.js → button-active-6f657ae4.js} +2 -2
  379. package/dist/esm/{data-691286f1.js → data-735635b1.js} +27 -42
  380. package/dist/esm/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
  381. package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
  382. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-ff84501f.js} +5 -5
  383. package/dist/esm/{helpers-ae74b3c9.js → helpers-da915de8.js} +1 -57
  384. package/dist/esm/{index-4c30cddd.js → index-3a495cc6.js} +443 -15
  385. package/dist/esm/{index-66871a1d.js → index-4bbc4ca3.js} +2 -2
  386. package/dist/esm/{index-8758824c.js → index-62041d9c.js} +11 -10
  387. package/dist/esm/{index-1f563746.js → index-79b30591.js} +5 -34
  388. package/dist/esm/{index-1eff8599.js → index-e3f4491c.js} +4 -4
  389. package/dist/esm/index.js +11 -12
  390. package/dist/esm/{input-shims-56c1f603.js → input-shims-131a3f9f.js} +4 -3
  391. package/dist/esm/{input.utils-482fc893.js → input.utils-41b26b54.js} +14 -2
  392. package/dist/esm/ion-accordion_2.entry.js +19 -12
  393. package/dist/esm/ion-action-sheet.entry.js +19 -15
  394. package/dist/esm/ion-alert.entry.js +20 -17
  395. package/dist/esm/ion-app_8.entry.js +76 -57
  396. package/dist/esm/ion-avatar_3.entry.js +22 -8
  397. package/dist/esm/ion-back-button.entry.js +13 -9
  398. package/dist/esm/ion-backdrop.entry.js +9 -5
  399. package/dist/esm/ion-breadcrumb_2.entry.js +20 -12
  400. package/dist/esm/ion-button_2.entry.js +25 -10
  401. package/dist/esm/ion-card_5.entry.js +45 -25
  402. package/dist/esm/ion-checkbox.entry.js +15 -11
  403. package/dist/esm/ion-chip.entry.js +10 -6
  404. package/dist/esm/ion-col_3.entry.js +14 -11
  405. package/dist/esm/ion-datetime-button.entry.js +21 -17
  406. package/dist/esm/ion-datetime_3.entry.js +103 -40
  407. package/dist/esm/ion-fab_3.entry.js +19 -15
  408. package/dist/esm/ion-img.entry.js +7 -4
  409. package/dist/esm/ion-infinite-scroll_2.entry.js +18 -15
  410. package/dist/esm/ion-input.entry.js +19 -17
  411. package/dist/esm/ion-item-option_3.entry.js +23 -16
  412. package/dist/esm/ion-item_8.entry.js +89 -116
  413. package/dist/esm/ion-loading.entry.js +16 -13
  414. package/dist/esm/ion-menu_3.entry.js +32 -46
  415. package/dist/esm/ion-modal.entry.js +52 -17
  416. package/dist/esm/ion-nav_2.entry.js +12 -10
  417. package/dist/esm/ion-picker-column-option.entry.js +11 -7
  418. package/dist/esm/ion-picker-column.entry.js +31 -12
  419. package/dist/esm/ion-picker.entry.js +8 -4
  420. package/dist/esm/ion-popover.entry.js +17 -14
  421. package/dist/esm/ion-progress-bar.entry.js +10 -6
  422. package/dist/esm/ion-radio_2.entry.js +16 -10
  423. package/dist/esm/ion-range.entry.js +146 -51
  424. package/dist/esm/ion-refresher_2.entry.js +21 -17
  425. package/dist/esm/ion-reorder_2.entry.js +17 -12
  426. package/dist/esm/ion-ripple-effect.entry.js +5 -5
  427. package/dist/esm/ion-route_4.entry.js +7 -7
  428. package/dist/esm/ion-searchbar.entry.js +41 -13
  429. package/dist/esm/ion-segment_2.entry.js +20 -12
  430. package/dist/esm/ion-select_3.entry.js +46 -33
  431. package/dist/esm/ion-spinner.entry.js +7 -7
  432. package/dist/esm/ion-split-pane.entry.js +11 -7
  433. package/dist/esm/ion-tab-bar_2.entry.js +19 -11
  434. package/dist/esm/ion-tab_2.entry.js +6 -6
  435. package/dist/esm/ion-text.entry.js +6 -6
  436. package/dist/esm/ion-textarea.entry.js +18 -16
  437. package/dist/esm/ion-toast.entry.js +19 -15
  438. package/dist/esm/ion-toggle.entry.js +19 -15
  439. package/dist/esm/ionic-global-d47e129d.js +401 -0
  440. package/dist/esm/ionic.js +29 -6
  441. package/dist/esm/{ios.transition-189b73b7.js → ios.transition-2187a9fd.js} +5 -4
  442. package/dist/esm/loader.js +5 -5
  443. package/dist/esm/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +4 -4
  444. package/dist/esm/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
  445. package/dist/esm/{overlays-c69d2a07.js → overlays-213b5a21.js} +142 -58
  446. package/dist/esm/{status-tap-1d638ee6.js → status-tap-8838c434.js} +4 -4
  447. package/dist/esm/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
  448. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  449. package/dist/esm-es5/app-globals-4194f7b0.js +4 -0
  450. package/dist/esm-es5/{button-active-4407b98c.js → button-active-6f657ae4.js} +1 -1
  451. package/dist/esm-es5/data-735635b1.js +4 -0
  452. package/dist/esm-es5/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
  453. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  454. package/dist/esm-es5/hardware-back-button-ff84501f.js +4 -0
  455. package/dist/esm-es5/helpers-da915de8.js +4 -0
  456. package/dist/esm-es5/index-3a495cc6.js +5 -0
  457. package/dist/esm-es5/index-4bbc4ca3.js +4 -0
  458. package/dist/esm-es5/index-62041d9c.js +4 -0
  459. package/dist/esm-es5/index-79b30591.js +4 -0
  460. package/dist/esm-es5/{index-1eff8599.js → index-e3f4491c.js} +1 -1
  461. package/dist/esm-es5/index.js +1 -1
  462. package/dist/esm-es5/input-shims-131a3f9f.js +4 -0
  463. package/dist/esm-es5/input.utils-41b26b54.js +4 -0
  464. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  465. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  466. package/dist/esm-es5/ion-alert.entry.js +1 -1
  467. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  468. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  469. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  470. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  471. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  472. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  473. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  474. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  475. package/dist/esm-es5/ion-chip.entry.js +1 -1
  476. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  477. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  478. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  479. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  480. package/dist/esm-es5/ion-img.entry.js +1 -1
  481. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  482. package/dist/esm-es5/ion-input.entry.js +1 -1
  483. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  484. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  485. package/dist/esm-es5/ion-loading.entry.js +1 -1
  486. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  487. package/dist/esm-es5/ion-modal.entry.js +1 -1
  488. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  489. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  490. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  491. package/dist/esm-es5/ion-picker.entry.js +1 -1
  492. package/dist/esm-es5/ion-popover.entry.js +1 -1
  493. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  494. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  495. package/dist/esm-es5/ion-range.entry.js +1 -1
  496. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  497. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  498. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  499. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  500. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  501. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  502. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  503. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  504. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  505. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  506. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  507. package/dist/esm-es5/ion-text.entry.js +1 -1
  508. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  509. package/dist/esm-es5/ion-toast.entry.js +1 -1
  510. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  511. package/dist/esm-es5/ionic-global-d47e129d.js +4 -0
  512. package/dist/esm-es5/ionic.js +1 -1
  513. package/dist/esm-es5/ios.transition-2187a9fd.js +4 -0
  514. package/dist/esm-es5/loader.js +1 -1
  515. package/dist/esm-es5/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +1 -1
  516. package/dist/esm-es5/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
  517. package/dist/esm-es5/overlays-213b5a21.js +4 -0
  518. package/dist/esm-es5/status-tap-8838c434.js +4 -0
  519. package/dist/esm-es5/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
  520. package/dist/html.html-data.json +1916 -132
  521. package/dist/ionic/index.esm.js +1 -1
  522. package/dist/ionic/ionic.esm.js +1 -1
  523. package/dist/ionic/ionic.js +1 -1
  524. package/dist/ionic/p-0507489e.system.entry.js +4 -0
  525. package/dist/ionic/p-09b71030.entry.js +4 -0
  526. package/dist/ionic/p-0c0065e8.js +4 -0
  527. package/dist/ionic/p-0daf382b.system.entry.js +4 -0
  528. package/dist/ionic/p-1126b6fb.entry.js +4 -0
  529. package/dist/ionic/p-116239e0.system.entry.js +4 -0
  530. package/dist/ionic/p-11f25a12.system.js +4 -0
  531. package/dist/ionic/{p-de55ec45.js → p-139e8ff1.js} +1 -1
  532. package/dist/ionic/p-13aa1338.entry.js +4 -0
  533. package/dist/ionic/p-16b3b748.system.js +4 -0
  534. package/dist/ionic/p-18d1e318.system.js +4 -0
  535. package/dist/ionic/p-197fca36.system.entry.js +4 -0
  536. package/dist/ionic/{p-8a50f8d6.system.js → p-19ea7bff.system.js} +1 -1
  537. package/dist/ionic/{p-98e6b3b8.system.js → p-1a488d6f.system.js} +1 -1
  538. package/dist/ionic/p-1f04779e.entry.js +4 -0
  539. package/dist/ionic/p-226bdf0f.entry.js +4 -0
  540. package/dist/ionic/p-23132e1f.js +4 -0
  541. package/dist/ionic/p-23a3320b.js +4 -0
  542. package/dist/ionic/p-23e053d0.system.entry.js +4 -0
  543. package/dist/ionic/p-24cc69ab.entry.js +4 -0
  544. package/dist/ionic/p-24e9aa21.entry.js +4 -0
  545. package/dist/ionic/p-29ceda88.js +4 -0
  546. package/dist/ionic/p-2a4641fb.system.entry.js +4 -0
  547. package/dist/ionic/p-2bc784c2.system.entry.js +4 -0
  548. package/dist/ionic/p-2c8cb8c0.system.entry.js +4 -0
  549. package/dist/ionic/p-2fad37de.system.entry.js +4 -0
  550. package/dist/ionic/p-30aed000.system.entry.js +4 -0
  551. package/dist/ionic/{p-892e2567.system.entry.js → p-30b7a6a6.system.entry.js} +2 -2
  552. package/dist/ionic/p-322eb715.system.js +4 -0
  553. package/dist/ionic/{p-8d4d902b.js → p-34b11c24.js} +1 -1
  554. package/dist/ionic/p-35b46c05.entry.js +4 -0
  555. package/dist/ionic/p-365d2cfe.system.entry.js +4 -0
  556. package/dist/ionic/p-385c76dc.system.entry.js +4 -0
  557. package/dist/ionic/p-3ad285e3.system.js +4 -0
  558. package/dist/ionic/p-3b03dd5b.entry.js +4 -0
  559. package/dist/ionic/{p-15708968.js → p-3cc276f4.js} +1 -1
  560. package/dist/ionic/p-3d7001d7.js +4 -0
  561. package/dist/ionic/p-3e47e61e.entry.js +4 -0
  562. package/dist/ionic/p-3e8cfe35.system.entry.js +4 -0
  563. package/dist/ionic/p-3e9e667a.entry.js +4 -0
  564. package/dist/ionic/p-3ecd1809.entry.js +4 -0
  565. package/dist/ionic/p-3ed32307.system.entry.js +4 -0
  566. package/dist/ionic/p-41908d5c.entry.js +4 -0
  567. package/dist/ionic/{p-d9b6b588.entry.js → p-44d8d5c3.entry.js} +1 -1
  568. package/dist/ionic/p-45684f75.system.entry.js +4 -0
  569. package/dist/ionic/p-46e489c1.entry.js +4 -0
  570. package/dist/ionic/p-4c2d5b80.system.js +4 -0
  571. package/dist/ionic/p-4c55c5ce.entry.js +4 -0
  572. package/dist/ionic/p-4c6278ca.system.entry.js +4 -0
  573. package/dist/ionic/p-4e7a18b3.entry.js +4 -0
  574. package/dist/ionic/p-4f30e4c3.system.entry.js +4 -0
  575. package/dist/ionic/p-52698131.entry.js +4 -0
  576. package/dist/ionic/p-56dfd814.entry.js +4 -0
  577. package/dist/ionic/{p-ab427719.entry.js → p-57082094.entry.js} +1 -1
  578. package/dist/ionic/{p-ceceac26.js → p-57a4c6c3.js} +1 -1
  579. package/dist/ionic/{p-c8d61b6c.system.entry.js → p-57b76977.system.entry.js} +1 -1
  580. package/dist/ionic/p-5919403e.js +4 -0
  581. package/dist/ionic/p-5fed4c24.system.entry.js +4 -0
  582. package/dist/ionic/p-605c456e.system.entry.js +4 -0
  583. package/dist/ionic/p-6087c7ac.system.entry.js +4 -0
  584. package/dist/ionic/p-617a8c10.system.entry.js +4 -0
  585. package/dist/ionic/p-62ad354a.system.entry.js +4 -0
  586. package/dist/ionic/{p-0a8a78db.system.entry.js → p-644df0cc.system.entry.js} +1 -1
  587. package/dist/ionic/p-6718dfd8.system.entry.js +4 -0
  588. package/dist/ionic/p-6770c46d.system.entry.js +4 -0
  589. package/dist/ionic/p-6981ada8.entry.js +4 -0
  590. package/dist/ionic/p-69e691df.system.entry.js +4 -0
  591. package/dist/ionic/p-6a5b979b.system.js +4 -0
  592. package/dist/ionic/p-6d1854de.system.entry.js +4 -0
  593. package/dist/ionic/p-70a396e0.entry.js +4 -0
  594. package/dist/ionic/p-716cc857.entry.js +4 -0
  595. package/dist/ionic/p-71784639.entry.js +4 -0
  596. package/dist/ionic/p-72812e99.js +4 -0
  597. package/dist/ionic/{p-f2473724.js → p-72bc8a1c.js} +1 -1
  598. package/dist/ionic/p-75257a79.system.js +5 -0
  599. package/dist/ionic/p-77cdf8f0.system.entry.js +4 -0
  600. package/dist/ionic/{p-1e07fdb2.system.entry.js → p-7c6ba817.system.entry.js} +2 -2
  601. package/dist/ionic/p-7d6993fa.entry.js +4 -0
  602. package/dist/ionic/{p-1ea88de9.system.js → p-7fefe43e.system.js} +2 -2
  603. package/dist/ionic/{p-8fe3c4ef.entry.js → p-820be1bf.entry.js} +1 -1
  604. package/dist/ionic/p-84dd4f6c.system.entry.js +4 -0
  605. package/dist/ionic/{p-19f6ac6c.system.js → p-8635f5e6.system.js} +1 -1
  606. package/dist/ionic/p-89b61afc.js +4 -0
  607. package/dist/ionic/{p-12b55b00.system.entry.js → p-8cd83c08.system.entry.js} +1 -1
  608. package/dist/ionic/p-8fbf7c49.entry.js +4 -0
  609. package/dist/ionic/p-8fd110c6.entry.js +4 -0
  610. package/dist/ionic/p-9146695e.system.js +4 -0
  611. package/dist/ionic/p-92b3df98.system.js +4 -0
  612. package/dist/ionic/{p-973c7550.system.entry.js → p-98ced5a7.system.entry.js} +2 -2
  613. package/dist/ionic/p-9a76dbbb.entry.js +4 -0
  614. package/dist/ionic/p-a15ddedb.system.js +4 -0
  615. package/dist/ionic/p-a5456295.entry.js +4 -0
  616. package/dist/ionic/p-a68b1b19.entry.js +4 -0
  617. package/dist/ionic/p-a93873de.system.js +4 -0
  618. package/dist/ionic/{p-df504a37.system.js → p-ac1eb107.system.js} +1 -1
  619. package/dist/ionic/p-ae2c6708.system.entry.js +4 -0
  620. package/dist/ionic/p-ae3fdd38.entry.js +4 -0
  621. package/dist/ionic/{p-eb9803e9.system.js → p-af732189.system.js} +1 -1
  622. package/dist/ionic/p-afeebbc2.entry.js +4 -0
  623. package/dist/ionic/p-b0bd2f28.system.entry.js +4 -0
  624. package/dist/ionic/p-b0da0e7e.entry.js +4 -0
  625. package/dist/ionic/p-b51e4004.js +4 -0
  626. package/dist/ionic/p-b69db5bf.entry.js +4 -0
  627. package/dist/ionic/{p-9f84474d.entry.js → p-b8df09fa.entry.js} +1 -1
  628. package/dist/ionic/p-bb01995b.entry.js +4 -0
  629. package/dist/ionic/p-bb4431d3.entry.js +4 -0
  630. package/dist/ionic/{p-31e02742.system.js → p-c11232d6.system.js} +1 -1
  631. package/dist/ionic/p-c1d0861e.entry.js +4 -0
  632. package/dist/ionic/p-c78731fc.system.js +4 -0
  633. package/dist/ionic/p-c7e16491.js +4 -0
  634. package/dist/ionic/p-c7e3ef1f.js +4 -0
  635. package/dist/ionic/p-c8985963.system.js +4 -0
  636. package/dist/ionic/p-c957dcbd.system.entry.js +4 -0
  637. package/dist/ionic/p-cb4da696.js +5 -0
  638. package/dist/ionic/p-cc1dabd2.system.entry.js +4 -0
  639. package/dist/ionic/p-cd1250d7.js +4 -0
  640. package/dist/ionic/p-cd94b05a.system.entry.js +4 -0
  641. package/dist/ionic/p-d2a65df9.js +4 -0
  642. package/dist/ionic/p-d6788bde.system.entry.js +4 -0
  643. package/dist/ionic/p-d83f3852.system.entry.js +4 -0
  644. package/dist/ionic/p-de5f6929.system.entry.js +4 -0
  645. package/dist/ionic/{p-89ca4c4b.system.js → p-df92bab7.system.js} +1 -1
  646. package/dist/ionic/p-dff73ffc.system.js +4 -0
  647. package/dist/ionic/p-e399a113.entry.js +4 -0
  648. package/dist/ionic/p-e4cd4316.system.entry.js +4 -0
  649. package/dist/ionic/p-e557901b.entry.js +4 -0
  650. package/dist/ionic/p-e62f29e0.system.entry.js +4 -0
  651. package/dist/ionic/p-e7522003.js +4 -0
  652. package/dist/ionic/p-e86fef55.system.js +4 -0
  653. package/dist/ionic/p-eab67c46.system.entry.js +4 -0
  654. package/dist/ionic/p-ed454419.entry.js +4 -0
  655. package/dist/ionic/p-efdba78a.system.entry.js +4 -0
  656. package/dist/ionic/p-f7a041dc.js +4 -0
  657. package/dist/ionic/p-f85988bd.entry.js +4 -0
  658. package/dist/ionic/p-f9398178.entry.js +4 -0
  659. package/dist/ionic/p-f977c8c5.entry.js +4 -0
  660. package/dist/ionic/p-fe1345b7.js +4 -0
  661. package/dist/ionic/{p-97248203.system.entry.js → p-fea6e789.system.entry.js} +1 -1
  662. package/dist/ionic/p-ff584ff5.entry.js +4 -0
  663. package/dist/ionic/p-ff93a0f3.entry.js +4 -0
  664. package/dist/types/components/accordion/accordion.d.ts +2 -1
  665. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  666. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  667. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  668. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  669. package/dist/types/components/alert/alert.d.ts +3 -2
  670. package/dist/types/components/app/app.d.ts +4 -0
  671. package/dist/types/components/avatar/avatar.d.ts +4 -0
  672. package/dist/types/components/back-button/back-button.d.ts +2 -1
  673. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  674. package/dist/types/components/badge/badge.d.ts +2 -1
  675. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  676. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  677. package/dist/types/components/button/button.d.ts +7 -1
  678. package/dist/types/components/buttons/buttons.d.ts +5 -1
  679. package/dist/types/components/card/card.d.ts +2 -1
  680. package/dist/types/components/card-content/card-content.d.ts +2 -1
  681. package/dist/types/components/card-header/card-header.d.ts +3 -2
  682. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  683. package/dist/types/components/card-title/card-title.d.ts +2 -1
  684. package/dist/types/components/checkbox/checkbox.d.ts +2 -1
  685. package/dist/types/components/chip/chip.d.ts +2 -1
  686. package/dist/types/components/col/col.d.ts +4 -0
  687. package/dist/types/components/content/content.d.ts +3 -0
  688. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  689. package/dist/types/components/datetime/datetime.d.ts +12 -2
  690. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  691. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  692. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  693. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  694. package/dist/types/components/fab/fab.d.ts +4 -0
  695. package/dist/types/components/fab-button/fab-button.d.ts +3 -2
  696. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  697. package/dist/types/components/footer/footer.d.ts +4 -3
  698. package/dist/types/components/grid/grid.d.ts +4 -0
  699. package/dist/types/components/header/header.d.ts +4 -3
  700. package/dist/types/components/img/img.d.ts +3 -0
  701. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  702. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  703. package/dist/types/components/input/input.d.ts +4 -8
  704. package/dist/types/components/item/item.d.ts +4 -35
  705. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  706. package/dist/types/components/item-group/item-group.d.ts +4 -0
  707. package/dist/types/components/item-option/item-option.d.ts +2 -1
  708. package/dist/types/components/item-options/item-options.d.ts +4 -0
  709. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  710. package/dist/types/components/label/label.d.ts +2 -1
  711. package/dist/types/components/list/list.d.ts +2 -1
  712. package/dist/types/components/list-header/list-header.d.ts +2 -1
  713. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  714. package/dist/types/components/loading/loading.d.ts +3 -2
  715. package/dist/types/components/menu/menu-interface.d.ts +1 -0
  716. package/dist/types/components/menu/menu.d.ts +5 -4
  717. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  718. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  719. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  720. package/dist/types/components/modal/modal.d.ts +2 -1
  721. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  722. package/dist/types/components/nav/nav.d.ts +5 -1
  723. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  724. package/dist/types/components/note/note.d.ts +2 -1
  725. package/dist/types/components/picker/picker.d.ts +2 -1
  726. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  727. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  728. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  729. package/dist/types/components/popover/popover-interface.d.ts +3 -7
  730. package/dist/types/components/popover/popover.d.ts +6 -5
  731. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  732. package/dist/types/components/radio/radio.d.ts +2 -1
  733. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  734. package/dist/types/components/range/range.d.ts +31 -1
  735. package/dist/types/components/refresher/refresher.d.ts +2 -1
  736. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  737. package/dist/types/components/reorder/reorder.d.ts +3 -0
  738. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  739. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  740. package/dist/types/components/route/route.d.ts +4 -0
  741. package/dist/types/components/router/router.d.ts +4 -0
  742. package/dist/types/components/router-link/router-link.d.ts +4 -0
  743. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  744. package/dist/types/components/row/row.d.ts +4 -0
  745. package/dist/types/components/searchbar/searchbar.d.ts +46 -7
  746. package/dist/types/components/segment/segment.d.ts +2 -1
  747. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  748. package/dist/types/components/select/select.d.ts +6 -5
  749. package/dist/types/components/select-option/select-option.d.ts +4 -0
  750. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  751. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  752. package/dist/types/components/spinner/spinner.d.ts +4 -0
  753. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  754. package/dist/types/components/tab/tab.d.ts +4 -0
  755. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  756. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  757. package/dist/types/components/tabs/tabs.d.ts +3 -0
  758. package/dist/types/components/text/text.d.ts +2 -1
  759. package/dist/types/components/textarea/textarea.d.ts +4 -8
  760. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  761. package/dist/types/components/title/title.d.ts +4 -0
  762. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  763. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  764. package/dist/types/components/toast/toast.d.ts +3 -2
  765. package/dist/types/components/toggle/toggle.d.ts +3 -2
  766. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  767. package/dist/types/components.d.ts +1220 -206
  768. package/dist/types/global/ionic-global.d.ts +25 -2
  769. package/dist/types/interface.d.ts +3 -0
  770. package/dist/types/utils/animation/animation-utils.d.ts +0 -12
  771. package/dist/types/utils/config.d.ts +17 -2
  772. package/dist/types/utils/focus-trap.d.ts +35 -0
  773. package/dist/types/utils/forms/index.d.ts +0 -1
  774. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  775. package/dist/types/utils/helpers.d.ts +0 -19
  776. package/dist/types/utils/overlays-interface.d.ts +31 -1
  777. package/dist/types/utils/overlays.d.ts +0 -6
  778. package/dist/types/utils/test/playwright/generator.d.ts +9 -2
  779. package/hydrate/index.js +1723 -1180
  780. package/package.json +7 -2
  781. package/components/index9.js +0 -196
  782. package/components/note.js +0 -48
  783. package/css/themes/dark.always.css.map +0 -1
  784. package/css/themes/dark.class.css.map +0 -1
  785. package/css/themes/dark.system.css.map +0 -1
  786. package/css/themes/high-contrast-dark.always.css.map +0 -1
  787. package/css/themes/high-contrast-dark.class.css.map +0 -1
  788. package/css/themes/high-contrast-dark.system.css.map +0 -1
  789. package/css/themes/high-contrast.always.css.map +0 -1
  790. package/css/themes/high-contrast.class.css.map +0 -1
  791. package/css/themes/high-contrast.system.css.map +0 -1
  792. package/dist/cjs/index-5915f9b3.js +0 -38
  793. package/dist/cjs/ionic-global-59a10130.js +0 -230
  794. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
  795. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  796. package/dist/collection/utils/forms/form-controller.js +0 -61
  797. package/dist/collection/utils/test/aria.spec.js +0 -80
  798. package/dist/esm/index-9b0d46f4.js +0 -34
  799. package/dist/esm/ionic-global-ad9a1810.js +0 -224
  800. package/dist/esm-es5/animation-a4acf150.js +0 -4
  801. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  802. package/dist/esm-es5/data-691286f1.js +0 -4
  803. package/dist/esm-es5/haptic-554688a5.js +0 -4
  804. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  805. package/dist/esm-es5/helpers-ae74b3c9.js +0 -4
  806. package/dist/esm-es5/index-1f563746.js +0 -4
  807. package/dist/esm-es5/index-4c30cddd.js +0 -5
  808. package/dist/esm-es5/index-66871a1d.js +0 -4
  809. package/dist/esm-es5/index-8758824c.js +0 -4
  810. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  811. package/dist/esm-es5/input-shims-56c1f603.js +0 -4
  812. package/dist/esm-es5/input.utils-482fc893.js +0 -4
  813. package/dist/esm-es5/ionic-global-ad9a1810.js +0 -4
  814. package/dist/esm-es5/ios.transition-189b73b7.js +0 -4
  815. package/dist/esm-es5/overlays-c69d2a07.js +0 -4
  816. package/dist/esm-es5/status-tap-1d638ee6.js +0 -4
  817. package/dist/ionic/p-00a762c9.entry.js +0 -4
  818. package/dist/ionic/p-0612cdcc.system.entry.js +0 -4
  819. package/dist/ionic/p-069388dd.system.js +0 -4
  820. package/dist/ionic/p-06fee233.js +0 -4
  821. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  822. package/dist/ionic/p-0dca0eee.system.entry.js +0 -4
  823. package/dist/ionic/p-0dfbbdbe.entry.js +0 -4
  824. package/dist/ionic/p-0f25a7bb.system.js +0 -4
  825. package/dist/ionic/p-11bb459e.system.entry.js +0 -4
  826. package/dist/ionic/p-13e8ad2e.entry.js +0 -4
  827. package/dist/ionic/p-16e06393.system.js +0 -4
  828. package/dist/ionic/p-17082c91.system.js +0 -4
  829. package/dist/ionic/p-174856b4.system.js +0 -4
  830. package/dist/ionic/p-174b0d50.system.entry.js +0 -4
  831. package/dist/ionic/p-1a4db355.system.entry.js +0 -4
  832. package/dist/ionic/p-1d545773.entry.js +0 -4
  833. package/dist/ionic/p-1deadb7f.system.js +0 -4
  834. package/dist/ionic/p-1df25966.entry.js +0 -4
  835. package/dist/ionic/p-1f79e54a.entry.js +0 -4
  836. package/dist/ionic/p-2b3544ad.entry.js +0 -4
  837. package/dist/ionic/p-2c768965.entry.js +0 -4
  838. package/dist/ionic/p-2dcf2ec2.system.entry.js +0 -4
  839. package/dist/ionic/p-3209217f.entry.js +0 -4
  840. package/dist/ionic/p-32fb7d95.entry.js +0 -4
  841. package/dist/ionic/p-34d0f143.system.entry.js +0 -4
  842. package/dist/ionic/p-3807cd45.system.entry.js +0 -4
  843. package/dist/ionic/p-385f66bc.entry.js +0 -4
  844. package/dist/ionic/p-3c47c5c8.system.entry.js +0 -4
  845. package/dist/ionic/p-3c51cf97.system.entry.js +0 -4
  846. package/dist/ionic/p-3d77b300.system.entry.js +0 -4
  847. package/dist/ionic/p-415ccddd.entry.js +0 -4
  848. package/dist/ionic/p-42f189f4.js +0 -4
  849. package/dist/ionic/p-446f3909.system.entry.js +0 -4
  850. package/dist/ionic/p-4a8f173c.system.js +0 -4
  851. package/dist/ionic/p-4aba0454.system.entry.js +0 -4
  852. package/dist/ionic/p-4bbc949f.system.entry.js +0 -4
  853. package/dist/ionic/p-4dfe0487.system.entry.js +0 -4
  854. package/dist/ionic/p-4e7abe76.js +0 -4
  855. package/dist/ionic/p-5133c4a3.system.entry.js +0 -4
  856. package/dist/ionic/p-5289aade.js +0 -4
  857. package/dist/ionic/p-5797981d.system.entry.js +0 -4
  858. package/dist/ionic/p-5d530ae5.entry.js +0 -4
  859. package/dist/ionic/p-5d64e680.entry.js +0 -4
  860. package/dist/ionic/p-5d7e32ce.js +0 -4
  861. package/dist/ionic/p-5dbf7222.entry.js +0 -4
  862. package/dist/ionic/p-5e70f800.system.entry.js +0 -4
  863. package/dist/ionic/p-5eabaa80.js +0 -4
  864. package/dist/ionic/p-5f9fbad0.entry.js +0 -4
  865. package/dist/ionic/p-60a92a48.system.entry.js +0 -4
  866. package/dist/ionic/p-640fac4a.system.entry.js +0 -4
  867. package/dist/ionic/p-6525a8cd.system.js +0 -4
  868. package/dist/ionic/p-66e6860f.system.js +0 -4
  869. package/dist/ionic/p-67c4deed.system.entry.js +0 -4
  870. package/dist/ionic/p-6ad90d41.entry.js +0 -4
  871. package/dist/ionic/p-6aeb0272.entry.js +0 -4
  872. package/dist/ionic/p-6d659d62.entry.js +0 -4
  873. package/dist/ionic/p-6dbea874.system.entry.js +0 -4
  874. package/dist/ionic/p-6e14d3ca.system.entry.js +0 -4
  875. package/dist/ionic/p-717c4b72.entry.js +0 -4
  876. package/dist/ionic/p-7292add8.entry.js +0 -4
  877. package/dist/ionic/p-72fa96bf.system.js +0 -5
  878. package/dist/ionic/p-75861cd3.entry.js +0 -4
  879. package/dist/ionic/p-760dbd5e.js +0 -4
  880. package/dist/ionic/p-7e185a31.entry.js +0 -4
  881. package/dist/ionic/p-80704be1.entry.js +0 -4
  882. package/dist/ionic/p-816476b0.system.js +0 -4
  883. package/dist/ionic/p-842777af.js +0 -4
  884. package/dist/ionic/p-8ab308e9.js +0 -4
  885. package/dist/ionic/p-8b8b900d.entry.js +0 -4
  886. package/dist/ionic/p-916a4e14.entry.js +0 -4
  887. package/dist/ionic/p-93e79b55.js +0 -4
  888. package/dist/ionic/p-94f85e19.system.entry.js +0 -4
  889. package/dist/ionic/p-96107183.js +0 -4
  890. package/dist/ionic/p-986a47ee.system.entry.js +0 -4
  891. package/dist/ionic/p-993da5df.entry.js +0 -4
  892. package/dist/ionic/p-9c93fdcd.js +0 -4
  893. package/dist/ionic/p-9d6f351e.js +0 -4
  894. package/dist/ionic/p-9d795c4b.entry.js +0 -4
  895. package/dist/ionic/p-9e3b3f15.system.js +0 -4
  896. package/dist/ionic/p-9ecc1e42.entry.js +0 -4
  897. package/dist/ionic/p-a6cc38d4.js +0 -4
  898. package/dist/ionic/p-aaaefef6.entry.js +0 -4
  899. package/dist/ionic/p-acf70e64.system.entry.js +0 -4
  900. package/dist/ionic/p-b2d58604.system.entry.js +0 -4
  901. package/dist/ionic/p-b434ded7.system.entry.js +0 -4
  902. package/dist/ionic/p-bca27ea7.entry.js +0 -4
  903. package/dist/ionic/p-c68e75ea.system.js +0 -4
  904. package/dist/ionic/p-c6dbc089.system.entry.js +0 -4
  905. package/dist/ionic/p-c880c809.js +0 -4
  906. package/dist/ionic/p-c995da88.system.js +0 -4
  907. package/dist/ionic/p-c9e21694.system.entry.js +0 -4
  908. package/dist/ionic/p-cb944b1a.system.js +0 -4
  909. package/dist/ionic/p-cd0ffc8c.entry.js +0 -4
  910. package/dist/ionic/p-cefbb7b7.entry.js +0 -4
  911. package/dist/ionic/p-d13689a6.entry.js +0 -4
  912. package/dist/ionic/p-d47a1a78.system.entry.js +0 -4
  913. package/dist/ionic/p-d7c78a97.system.entry.js +0 -4
  914. package/dist/ionic/p-d7dc29c5.entry.js +0 -4
  915. package/dist/ionic/p-d84c9fc4.entry.js +0 -4
  916. package/dist/ionic/p-d8643420.system.entry.js +0 -4
  917. package/dist/ionic/p-dd7c79ce.system.entry.js +0 -4
  918. package/dist/ionic/p-de0a7606.system.entry.js +0 -4
  919. package/dist/ionic/p-df6a1571.entry.js +0 -4
  920. package/dist/ionic/p-e1819aee.js +0 -4
  921. package/dist/ionic/p-e311af42.entry.js +0 -4
  922. package/dist/ionic/p-e46adaf1.system.entry.js +0 -4
  923. package/dist/ionic/p-e4eeb3af.entry.js +0 -4
  924. package/dist/ionic/p-e755046f.system.entry.js +0 -4
  925. package/dist/ionic/p-ec77b7ad.system.entry.js +0 -4
  926. package/dist/ionic/p-ed7a529f.js +0 -5
  927. package/dist/ionic/p-ef636601.entry.js +0 -4
  928. package/dist/ionic/p-ef9736b9.entry.js +0 -4
  929. package/dist/ionic/p-f0a7e80b.js +0 -4
  930. package/dist/ionic/p-f7c3d736.system.entry.js +0 -4
  931. package/dist/ionic/p-f7ccf8d9.entry.js +0 -4
  932. package/dist/ionic/p-f7d802e1.entry.js +0 -4
  933. package/dist/ionic/p-fd783a38.system.entry.js +0 -4
  934. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  935. package/dist/types/utils/forms/form-controller.d.ts +0 -15
  936. package/css/{themes → palettes}/dark.always.css +0 -0
  937. package/css/{themes → palettes}/dark.css +0 -0
  938. package/css/{themes → palettes}/dark.css.map +0 -0
  939. package/css/{themes → palettes}/dark.system.css +0 -0
  940. package/css/{themes → palettes}/high-contrast-dark.always.css +1 -1
  941. package/css/{themes → palettes}/high-contrast-dark.css +0 -0
  942. package/css/{themes → palettes}/high-contrast-dark.css.map +0 -0
  943. package/css/{themes → palettes}/high-contrast-dark.system.css +1 -1
  944. package/css/{themes → palettes}/high-contrast.always.css +25 -25
  945. package/css/{themes → palettes}/high-contrast.css +0 -0
  946. package/css/{themes → palettes}/high-contrast.css.map +0 -0
  947. package/css/{themes → palettes}/high-contrast.system.css +25 -25
@@ -5,22 +5,21 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index$1 = require('./index-0ffe376d.js');
8
+ const index = require('./index-2d21d526.js');
9
9
  const focusVisible = require('./focus-visible-7a0ce04f.js');
10
- const helpers = require('./helpers-b71ca811.js');
11
- const index = require('./index-5915f9b3.js');
10
+ const helpers = require('./helpers-afaa9001.js');
11
+ const ionicGlobal = require('./ionic-global-94d8021d.js');
12
12
  const dir = require('./dir-94c21456.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
- const index$2 = require('./index-f52c6d38.js');
15
- const ionicGlobal = require('./ionic-global-59a10130.js');
16
- const data = require('./data-e2bf21de.js');
14
+ const index$1 = require('./index-f52c6d38.js');
15
+ const data = require('./data-f2ccf911.js');
17
16
  const lockController = require('./lock-controller-6585a42a.js');
18
- const overlays = require('./overlays-6b7d156b.js');
19
- const animation = require('./animation-4ad55058.js');
20
- const haptic = require('./haptic-b882e0bb.js');
17
+ const overlays = require('./overlays-de847251.js');
18
+ const animation = require('./animation-b4fdf128.js');
19
+ const haptic = require('./haptic-f6b37aa3.js');
21
20
  require('./index-c8d52405.js');
22
- require('./hardware-back-button-2696acaf.js');
23
- require('./framework-delegate-53817ef1.js');
21
+ require('./hardware-back-button-f66bce00.js');
22
+ require('./framework-delegate-55f5683a.js');
24
23
  require('./gesture-controller-9436f482.js');
25
24
  require('./capacitor-c04564bf.js');
26
25
 
@@ -185,12 +184,57 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
185
184
  return highlightedDates(dateIsoString);
186
185
  }
187
186
  catch (e) {
188
- index.printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
187
+ ionicGlobal.printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
189
188
  }
190
189
  }
191
190
  return undefined;
192
191
  };
193
192
 
193
+ /**
194
+ * If a time zone is provided in the format options, the rendered text could
195
+ * differ from what was selected in the Datetime, which could cause
196
+ * confusion.
197
+ */
198
+ const warnIfTimeZoneProvided = (el, formatOptions) => {
199
+ var _a, _b, _c, _d;
200
+ if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
201
+ ((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
202
+ ((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
203
+ ((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
204
+ ionicGlobal.printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
205
+ }
206
+ };
207
+ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
208
+ // formatOptions is not required
209
+ if (!formatOptions)
210
+ return;
211
+ // If formatOptions is provided, the date and/or time objects are required, depending on the presentation
212
+ switch (presentation) {
213
+ case 'date':
214
+ case 'month-year':
215
+ case 'month':
216
+ case 'year':
217
+ if (formatOptions.date === undefined) {
218
+ ionicGlobal.printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
219
+ }
220
+ break;
221
+ case 'time':
222
+ if (formatOptions.time === undefined) {
223
+ ionicGlobal.printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
224
+ }
225
+ break;
226
+ case 'date-time':
227
+ case 'time-date':
228
+ if (formatOptions.date === undefined && formatOptions.time === undefined) {
229
+ ionicGlobal.printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
230
+ }
231
+ break;
232
+ }
233
+ };
234
+
235
+ const ionicDatetimeMdCss = ":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}";
236
+ const IonDatetimeIonicStyle0 = ionicDatetimeMdCss;
237
+
194
238
  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%}";
195
239
  const IonDatetimeIosStyle0 = datetimeIosCss;
196
240
 
@@ -199,14 +243,14 @@ const IonDatetimeMdStyle0 = datetimeMdCss;
199
243
 
200
244
  const Datetime = class {
201
245
  constructor(hostRef) {
202
- index$1.registerInstance(this, hostRef);
203
- this.ionCancel = index$1.createEvent(this, "ionCancel", 7);
204
- this.ionChange = index$1.createEvent(this, "ionChange", 7);
205
- this.ionValueChange = index$1.createEvent(this, "ionValueChange", 7);
206
- this.ionFocus = index$1.createEvent(this, "ionFocus", 7);
207
- this.ionBlur = index$1.createEvent(this, "ionBlur", 7);
208
- this.ionStyle = index$1.createEvent(this, "ionStyle", 7);
209
- this.ionRender = index$1.createEvent(this, "ionRender", 7);
246
+ index.registerInstance(this, hostRef);
247
+ this.ionCancel = index.createEvent(this, "ionCancel", 7);
248
+ this.ionChange = index.createEvent(this, "ionChange", 7);
249
+ this.ionValueChange = index.createEvent(this, "ionValueChange", 7);
250
+ this.ionFocus = index.createEvent(this, "ionFocus", 7);
251
+ this.ionBlur = index.createEvent(this, "ionBlur", 7);
252
+ this.ionStyle = index.createEvent(this, "ionStyle", 7);
253
+ this.ionRender = index.createEvent(this, "ionRender", 7);
210
254
  this.inputId = `ion-dt-${datetimeIds++}`;
211
255
  this.prevPresentation = null;
212
256
  this.warnIfIncorrectValueUsage = () => {
@@ -220,7 +264,7 @@ const Datetime = class {
220
264
  * Default toString() behavior: a,b
221
265
  * Custom behavior: ['a', 'b']
222
266
  */
223
- index.printIonWarning(`ion-datetime was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
267
+ ionicGlobal.printIonWarning(`ion-datetime was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
224
268
 
225
269
  Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
226
270
  `, this.el);
@@ -469,7 +513,7 @@ const Datetime = class {
469
513
  * scrollIntoView() will scroll entire page
470
514
  * if element is not in viewport. Use scrollLeft instead.
471
515
  */
472
- index$1.writeTask(() => {
516
+ index.writeTask(() => {
473
517
  calendarBodyRef.scrollLeft = startMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
474
518
  const getChangedMonth = (parts) => {
475
519
  const box = calendarBodyRef.getBoundingClientRect();
@@ -560,7 +604,7 @@ const Datetime = class {
560
604
  * but older/slower device may have a flicker
561
605
  * if we did not do this.
562
606
  */
563
- index$1.writeTask(() => {
607
+ index.writeTask(() => {
564
608
  this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
565
609
  calendarBodyRef.scrollLeft = workingMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
566
610
  calendarBodyRef.style.removeProperty('overflow');
@@ -815,6 +859,7 @@ const Datetime = class {
815
859
  this.color = 'primary';
816
860
  this.name = this.inputId;
817
861
  this.disabled = false;
862
+ this.formatOptions = undefined;
818
863
  this.readonly = false;
819
864
  this.isDateEnabled = undefined;
820
865
  this.min = undefined;
@@ -842,6 +887,11 @@ const Datetime = class {
842
887
  this.size = 'fixed';
843
888
  this.preferWheel = false;
844
889
  }
890
+ formatOptionsChanged() {
891
+ const { el, formatOptions, presentation } = this;
892
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
893
+ warnIfTimeZoneProvided(el, formatOptions);
894
+ }
845
895
  disabledChanged() {
846
896
  this.emitStyle();
847
897
  }
@@ -851,6 +901,10 @@ const Datetime = class {
851
901
  maxChanged() {
852
902
  this.processMaxParts();
853
903
  }
904
+ presentationChanged() {
905
+ const { el, formatOptions, presentation } = this;
906
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
907
+ }
854
908
  get isGridStyle() {
855
909
  const { presentation, preferWheel } = this;
856
910
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
@@ -953,6 +1007,7 @@ const Datetime = class {
953
1007
  this.initializeKeyboardListeners();
954
1008
  }
955
1009
  componentDidLoad() {
1010
+ const { el, intersectionTrackerRef } = this;
956
1011
  /**
957
1012
  * If a scrollable element is hidden using `display: none`,
958
1013
  * it will not have a scroll height meaning we cannot scroll elements
@@ -974,18 +1029,18 @@ const Datetime = class {
974
1029
  * is that the content will pop into view a frame after. Maybe there
975
1030
  * is a better way to handle this?
976
1031
  */
977
- index$1.writeTask(() => {
1032
+ index.writeTask(() => {
978
1033
  this.el.classList.add('datetime-ready');
979
1034
  });
980
1035
  };
981
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01 });
1036
+ const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
982
1037
  /**
983
1038
  * Use raf to avoid a race condition between the component loading and
984
1039
  * its display animation starting (such as when shown in a modal). This
985
1040
  * could cause the datetime to start at a visibility of 0, erroneously
986
1041
  * triggering the `hiddenIO` observer below.
987
1042
  */
988
- helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(this.el));
1043
+ helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
989
1044
  /**
990
1045
  * We need to clean up listeners when the datetime is hidden
991
1046
  * in a popover/modal so that we can properly scroll containers
@@ -1007,12 +1062,12 @@ const Datetime = class {
1007
1062
  * As a result, the wrong month will be shown.
1008
1063
  */
1009
1064
  this.showMonthAndYear = false;
1010
- index$1.writeTask(() => {
1065
+ index.writeTask(() => {
1011
1066
  this.el.classList.remove('datetime-ready');
1012
1067
  });
1013
1068
  };
1014
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0 });
1015
- helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(this.el));
1069
+ const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
1070
+ helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
1016
1071
  /**
1017
1072
  * Datetime uses Ionic components that emit
1018
1073
  * ionFocus and ionBlur. These events are
@@ -1086,23 +1141,27 @@ const Datetime = class {
1086
1141
  });
1087
1142
  }
1088
1143
  componentWillLoad() {
1089
- const { el, highlightedDates, multiple, presentation, preferWheel } = this;
1144
+ const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
1090
1145
  if (multiple) {
1091
1146
  if (presentation !== 'date') {
1092
- index.printIonWarning('Multiple date selection is only supported for presentation="date".', el);
1147
+ ionicGlobal.printIonWarning('Multiple date selection is only supported for presentation="date".', el);
1093
1148
  }
1094
1149
  if (preferWheel) {
1095
- index.printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
1150
+ ionicGlobal.printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
1096
1151
  }
1097
1152
  }
1098
1153
  if (highlightedDates !== undefined) {
1099
1154
  if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
1100
- index.printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
1155
+ ionicGlobal.printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
1101
1156
  }
1102
1157
  if (preferWheel) {
1103
- index.printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
1158
+ ionicGlobal.printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
1104
1159
  }
1105
1160
  }
1161
+ if (formatOptions) {
1162
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
1163
+ warnIfTimeZoneProvided(el, formatOptions);
1164
+ }
1106
1165
  const hourValues = (this.parsedHourValues = data.convertToArrayOfNumbers(this.hourValues));
1107
1166
  const minuteValues = (this.parsedMinuteValues = data.convertToArrayOfNumbers(this.minuteValues));
1108
1167
  const monthValues = (this.parsedMonthValues = data.convertToArrayOfNumbers(this.monthValues));
@@ -1159,10 +1218,10 @@ const Datetime = class {
1159
1218
  * OK - Dismisses the datetime and
1160
1219
  * updates the `value` prop.
1161
1220
  */
1162
- return (index$1.h("div", { class: "datetime-footer" }, index$1.h("div", { class: "datetime-buttons" }, index$1.h("div", { class: {
1221
+ return (index.h("div", { class: "datetime-footer" }, index.h("div", { class: "datetime-buttons" }, index.h("div", { class: {
1163
1222
  ['datetime-action-buttons']: true,
1164
1223
  ['has-clear-button']: this.showClearButton,
1165
- } }, 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)))))))));
1224
+ } }, 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)))))))));
1166
1225
  }
1167
1226
  /**
1168
1227
  * Wheel picker render methods
@@ -1180,7 +1239,7 @@ const Datetime = class {
1180
1239
  const renderArray = forcePresentation === 'time-date'
1181
1240
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
1182
1241
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
1183
- return index$1.h("ion-picker", null, renderArray);
1242
+ return index.h("ion-picker", null, renderArray);
1184
1243
  }
1185
1244
  renderDatePickerColumns(forcePresentation) {
1186
1245
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -1215,8 +1274,8 @@ const Datetime = class {
1215
1274
  let items = result.items;
1216
1275
  const parts = result.parts;
1217
1276
  if (isDateEnabled) {
1218
- items = items.map((itemObject, index$1) => {
1219
- const referenceParts = parts[index$1];
1277
+ items = items.map((itemObject, index) => {
1278
+ const referenceParts = parts[index];
1220
1279
  let disabled;
1221
1280
  try {
1222
1281
  /**
@@ -1227,7 +1286,7 @@ const Datetime = class {
1227
1286
  disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
1228
1287
  }
1229
1288
  catch (e) {
1230
- index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1289
+ ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1231
1290
  }
1232
1291
  return Object.assign(Object.assign({}, itemObject), { disabled });
1233
1292
  });
@@ -1239,13 +1298,13 @@ const Datetime = class {
1239
1298
  const todayString = workingParts.day !== null
1240
1299
  ? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
1241
1300
  : `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
1242
- return (index$1.h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1301
+ return (index.h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1243
1302
  const { value } = ev.detail;
1244
1303
  const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
1245
1304
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1246
1305
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1247
1306
  ev.stopPropagation();
1248
- } }, 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)))));
1307
+ } }, 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)))));
1249
1308
  }
1250
1309
  renderIndividualDatePickerColumns(forcePresentation) {
1251
1310
  const { workingParts, isDateEnabled } = this;
@@ -1276,7 +1335,7 @@ const Datetime = class {
1276
1335
  disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
1277
1336
  }
1278
1337
  catch (e) {
1279
- index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1338
+ ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1280
1339
  }
1281
1340
  return Object.assign(Object.assign({}, dayObject), { disabled });
1282
1341
  });
@@ -1314,11 +1373,11 @@ const Datetime = class {
1314
1373
  const { disabled, workingParts } = this;
1315
1374
  const activePart = this.getActivePartsWithFallback();
1316
1375
  const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1317
- return (index$1.h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1376
+ return (index.h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1318
1377
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1319
1378
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1320
1379
  ev.stopPropagation();
1321
- } }, 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)))));
1380
+ } }, 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)))));
1322
1381
  }
1323
1382
  renderMonthPickerColumn(months) {
1324
1383
  if (months.length === 0) {
@@ -1326,11 +1385,11 @@ const Datetime = class {
1326
1385
  }
1327
1386
  const { disabled, workingParts } = this;
1328
1387
  const activePart = this.getActivePartsWithFallback();
1329
- return (index$1.h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1388
+ return (index.h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1330
1389
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
1331
1390
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1332
1391
  ev.stopPropagation();
1333
- } }, 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)))));
1392
+ } }, 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)))));
1334
1393
  }
1335
1394
  renderYearPickerColumn(years) {
1336
1395
  if (years.length === 0) {
@@ -1338,11 +1397,11 @@ const Datetime = class {
1338
1397
  }
1339
1398
  const { disabled, workingParts } = this;
1340
1399
  const activePart = this.getActivePartsWithFallback();
1341
- return (index$1.h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1400
+ return (index.h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1342
1401
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
1343
1402
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1344
1403
  ev.stopPropagation();
1345
- } }, 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)))));
1404
+ } }, 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)))));
1346
1405
  }
1347
1406
  renderTimePickerColumns(forcePresentation) {
1348
1407
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1371,22 +1430,22 @@ const Datetime = class {
1371
1430
  if (hoursData.length === 0)
1372
1431
  return [];
1373
1432
  const activePart = this.getActivePartsWithFallback();
1374
- return (index$1.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1433
+ return (index.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1375
1434
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1376
1435
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
1377
1436
  ev.stopPropagation();
1378
- } }, 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)))));
1437
+ } }, 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)))));
1379
1438
  }
1380
1439
  renderMinutePickerColumn(minutesData) {
1381
1440
  const { disabled, workingParts } = this;
1382
1441
  if (minutesData.length === 0)
1383
1442
  return [];
1384
1443
  const activePart = this.getActivePartsWithFallback();
1385
- return (index$1.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1444
+ return (index.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1386
1445
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1387
1446
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
1388
1447
  ev.stopPropagation();
1389
- } }, 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)))));
1448
+ } }, 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)))));
1390
1449
  }
1391
1450
  renderDayPeriodPickerColumn(dayPeriodData) {
1392
1451
  const { disabled, workingParts } = this;
@@ -1395,38 +1454,38 @@ const Datetime = class {
1395
1454
  }
1396
1455
  const activePart = this.getActivePartsWithFallback();
1397
1456
  const isDayPeriodRTL = data.isLocaleDayPeriodRTL(this.locale);
1398
- return (index$1.h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1457
+ return (index.h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1399
1458
  const hour = data.calculateHourFromAMPM(workingParts, ev.detail.value);
1400
1459
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1401
1460
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
1402
1461
  ev.stopPropagation();
1403
- } }, 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)))));
1462
+ } }, 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)))));
1404
1463
  }
1405
1464
  renderWheelView(forcePresentation) {
1406
1465
  const { locale } = this;
1407
1466
  const showMonthFirst = data.isMonthFirstLocale(locale);
1408
1467
  const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
1409
- return (index$1.h("div", { class: {
1468
+ return (index.h("div", { class: {
1410
1469
  [`wheel-order-${columnOrder}`]: true,
1411
1470
  } }, this.renderWheelPicker(forcePresentation)));
1412
1471
  }
1413
1472
  /**
1414
1473
  * Grid Render Methods
1415
1474
  */
1416
- renderCalendarHeader(mode) {
1475
+ renderCalendarHeader(theme) {
1417
1476
  const { disabled } = this;
1418
- const expandedIcon = mode === 'ios' ? index$2.chevronDown : index$2.caretUpSharp;
1419
- const collapsedIcon = mode === 'ios' ? index$2.chevronForward : index$2.caretDownSharp;
1477
+ const expandedIcon = theme === 'ios' ? index$1.chevronDown : index$1.caretUpSharp;
1478
+ const collapsedIcon = theme === 'ios' ? index$1.chevronForward : index$1.caretDownSharp;
1420
1479
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1421
1480
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1422
1481
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1423
1482
  const hostDir = this.el.getAttribute('dir') || undefined;
1424
- 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: {
1483
+ 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: {
1425
1484
  'calendar-month-year-toggle': true,
1426
1485
  'ion-activatable': true,
1427
1486
  'ion-focusable': true,
1428
- }, 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) => {
1429
- return index$1.h("div", { class: "day-of-week" }, d);
1487
+ }, 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 })), theme === '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, theme, this.firstDayOfWeek % 7).map((d) => {
1488
+ return index.h("div", { class: "day-of-week" }, d);
1430
1489
  }))));
1431
1490
  }
1432
1491
  renderMonth(month, year) {
@@ -1452,11 +1511,11 @@ const Datetime = class {
1452
1511
  // can free-scroll the calendar.
1453
1512
  const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
1454
1513
  const activePart = this.getActivePartsWithFallback();
1455
- return (index$1.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1514
+ return (index.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
1456
1515
  'calendar-month': true,
1457
1516
  // Prevents scroll snap swipe gestures for months outside of the min/max bounds
1458
1517
  'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
1459
- } }, index$1.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$2) => {
1518
+ } }, index.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$1) => {
1460
1519
  const { day, dayOfWeek } = dateObject;
1461
1520
  const { el, highlightedDates, isDateEnabled, multiple } = this;
1462
1521
  const referenceParts = { month, day, year };
@@ -1474,7 +1533,7 @@ const Datetime = class {
1474
1533
  isCalDayDisabled = !isDateEnabled(dateIsoString);
1475
1534
  }
1476
1535
  catch (e) {
1477
- index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
1536
+ ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
1478
1537
  }
1479
1538
  }
1480
1539
  /**
@@ -1498,7 +1557,7 @@ const Datetime = class {
1498
1557
  if (!isCalendarPadding) {
1499
1558
  dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
1500
1559
  }
1501
- return (index$1.h("div", { class: "calendar-day-wrapper" }, index$1.h("button", {
1560
+ return (index.h("div", { class: "calendar-day-wrapper" }, index.h("button", {
1502
1561
  // We need to use !important for the inline styles here because
1503
1562
  // otherwise the CSS shadow parts will override these styles.
1504
1563
  // See https://github.com/WICG/webcomponents/issues/847
@@ -1510,7 +1569,7 @@ const Datetime = class {
1510
1569
  el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
1511
1570
  el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
1512
1571
  }
1513
- }, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$2, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
1572
+ }, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$1, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
1514
1573
  'calendar-day-padding': isCalendarPadding,
1515
1574
  'calendar-day': true,
1516
1575
  'calendar-day-active': isActive,
@@ -1541,27 +1600,27 @@ const Datetime = class {
1541
1600
  }))));
1542
1601
  }
1543
1602
  renderCalendarBody() {
1544
- 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 }) => {
1603
+ 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 }) => {
1545
1604
  return this.renderMonth(month, year);
1546
1605
  })));
1547
1606
  }
1548
- renderCalendar(mode) {
1549
- return (index$1.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1607
+ renderCalendar(theme) {
1608
+ return (index.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
1550
1609
  }
1551
1610
  renderTimeLabel() {
1552
1611
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
1553
1612
  if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
1554
1613
  return;
1555
1614
  }
1556
- return index$1.h("slot", { name: "time-label" }, "Time");
1615
+ return index.h("slot", { name: "time-label" }, "Time");
1557
1616
  }
1558
1617
  renderTimeOverlay() {
1559
- const { disabled, hourCycle, isTimePopoverOpen, locale } = this;
1618
+ const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
1560
1619
  const computedHourCycle = data.getHourCycle(locale, hourCycle);
1561
1620
  const activePart = this.getActivePartsWithFallback();
1562
1621
  return [
1563
- index$1.h("div", { class: "time-header" }, this.renderTimeLabel()),
1564
- index$1.h("button", { class: {
1622
+ index.h("div", { class: "time-header" }, this.renderTimeLabel()),
1623
+ index.h("button", { class: {
1565
1624
  'time-body': true,
1566
1625
  'time-body-active': isTimePopoverOpen,
1567
1626
  }, part: `time-button${isTimePopoverOpen ? ' active' : ''}`, "aria-expanded": "false", "aria-haspopup": "true", disabled: disabled, onClick: async (ev) => {
@@ -1576,8 +1635,8 @@ const Datetime = class {
1576
1635
  await popoverRef.onWillDismiss();
1577
1636
  this.isTimePopoverOpen = false;
1578
1637
  }
1579
- } }, data.getLocalizedTime(locale, activePart, computedHourCycle)),
1580
- index$1.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1638
+ } }, data.getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
1639
+ index.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1581
1640
  /**
1582
1641
  * Intersection Observers do not consistently fire between Blink and Webkit
1583
1642
  * when toggling the visibility of the popover and trying to scroll the picker
@@ -1599,7 +1658,8 @@ const Datetime = class {
1599
1658
  ];
1600
1659
  }
1601
1660
  getHeaderSelectedDateText() {
1602
- const { activeParts, multiple, titleSelectedDatesFormatter } = this;
1661
+ var _a;
1662
+ const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
1603
1663
  const isArray = Array.isArray(activeParts);
1604
1664
  let headerText;
1605
1665
  if (multiple && isArray && activeParts.length !== 1) {
@@ -1609,13 +1669,13 @@ const Datetime = class {
1609
1669
  headerText = titleSelectedDatesFormatter(data.convertDataToISO(activeParts));
1610
1670
  }
1611
1671
  catch (e) {
1612
- index.printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
1672
+ ionicGlobal.printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
1613
1673
  }
1614
1674
  }
1615
1675
  }
1616
1676
  else {
1617
1677
  // for exactly 1 day selected (multiple set or not), show a formatted version of that
1618
- headerText = data.getMonthAndDay(this.locale, this.getActivePartsWithFallback());
1678
+ headerText = data.getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { weekday: 'short', month: 'short', day: 'numeric' });
1619
1679
  }
1620
1680
  return headerText;
1621
1681
  }
@@ -1624,7 +1684,7 @@ const Datetime = class {
1624
1684
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1625
1685
  return;
1626
1686
  }
1627
- 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())));
1687
+ 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())));
1628
1688
  }
1629
1689
  /**
1630
1690
  * Render time picker inside of datetime.
@@ -1636,7 +1696,7 @@ const Datetime = class {
1636
1696
  renderTime() {
1637
1697
  const { presentation } = this;
1638
1698
  const timeOnlyPresentation = presentation === 'time';
1639
- return (index$1.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
1699
+ return (index.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
1640
1700
  }
1641
1701
  /**
1642
1702
  * Renders the month/year picker that is
@@ -1647,13 +1707,13 @@ const Datetime = class {
1647
1707
  * toggle in the calendar header.
1648
1708
  */
1649
1709
  renderCalendarViewMonthYearPicker() {
1650
- return index$1.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1710
+ return index.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
1651
1711
  }
1652
1712
  /**
1653
1713
  * Render entry point
1654
1714
  * All presentation types are rendered from here.
1655
1715
  */
1656
- renderDatetime(mode) {
1716
+ renderDatetime(theme) {
1657
1717
  const { presentation, preferWheel } = this;
1658
1718
  /**
1659
1719
  * Certain presentation types have separate grid and wheel displays.
@@ -1667,7 +1727,7 @@ const Datetime = class {
1667
1727
  case 'date-time':
1668
1728
  return [
1669
1729
  this.renderHeader(),
1670
- this.renderCalendar(mode),
1730
+ this.renderCalendar(theme),
1671
1731
  this.renderCalendarViewMonthYearPicker(),
1672
1732
  this.renderTime(),
1673
1733
  this.renderFooter(),
@@ -1676,7 +1736,7 @@ const Datetime = class {
1676
1736
  return [
1677
1737
  this.renderHeader(),
1678
1738
  this.renderTime(),
1679
- this.renderCalendar(mode),
1739
+ this.renderCalendar(theme),
1680
1740
  this.renderCalendarViewMonthYearPicker(),
1681
1741
  this.renderFooter(),
1682
1742
  ];
@@ -1689,7 +1749,7 @@ const Datetime = class {
1689
1749
  default:
1690
1750
  return [
1691
1751
  this.renderHeader(),
1692
- this.renderCalendar(mode),
1752
+ this.renderCalendar(theme),
1693
1753
  this.renderCalendarViewMonthYearPicker(),
1694
1754
  this.renderFooter(),
1695
1755
  ];
@@ -1697,15 +1757,15 @@ const Datetime = class {
1697
1757
  }
1698
1758
  render() {
1699
1759
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1700
- const mode = ionicGlobal.getIonMode(this);
1760
+ const theme$1 = ionicGlobal.getIonTheme(this);
1701
1761
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1702
1762
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1703
1763
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1704
1764
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1705
1765
  const hasWheelVariant = hasDatePresentation && preferWheel;
1706
1766
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1707
- return (index$1.h(index$1.Host, { key: '2e5ff577327018558a145cff23f03661c2d19c41', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1708
- [mode]: true,
1767
+ return (index.h(index.Host, { key: '54afe8aefdc36f7cc5001d141e2f22b94fc7d9f8', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1768
+ [theme$1]: true,
1709
1769
  ['datetime-readonly']: readonly,
1710
1770
  ['datetime-disabled']: disabled,
1711
1771
  'show-month-and-year': shouldShowMonthAndYear,
@@ -1714,13 +1774,15 @@ const Datetime = class {
1714
1774
  [`datetime-size-${size}`]: true,
1715
1775
  [`datetime-prefer-wheel`]: hasWheelVariant,
1716
1776
  [`datetime-grid`]: isGridStyle,
1717
- })) }, this.renderDatetime(mode)));
1777
+ })) }, index.h("div", { key: '632747f7ee8a54eafb16179f5039ba1df98ecd76', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme$1)));
1718
1778
  }
1719
- get el() { return index$1.getElement(this); }
1779
+ get el() { return index.getElement(this); }
1720
1780
  static get watchers() { return {
1781
+ "formatOptions": ["formatOptionsChanged"],
1721
1782
  "disabled": ["disabledChanged"],
1722
1783
  "min": ["minChanged"],
1723
1784
  "max": ["maxChanged"],
1785
+ "presentation": ["presentationChanged"],
1724
1786
  "yearValues": ["yearValuesChanged"],
1725
1787
  "monthValues": ["monthValuesChanged"],
1726
1788
  "dayValues": ["dayValuesChanged"],
@@ -1733,6 +1795,7 @@ let datetimeIds = 0;
1733
1795
  const WHEEL_ITEM_PART = 'wheel-item';
1734
1796
  const WHEEL_ITEM_ACTIVE_PART = `active`;
1735
1797
  Datetime.style = {
1798
+ ionic: IonDatetimeIonicStyle0,
1736
1799
  ios: IonDatetimeIosStyle0,
1737
1800
  md: IonDatetimeMdStyle0
1738
1801
  };
@@ -1789,15 +1852,15 @@ const IonPickerLegacyMdStyle0 = pickerMdCss;
1789
1852
 
1790
1853
  const Picker = class {
1791
1854
  constructor(hostRef) {
1792
- index$1.registerInstance(this, hostRef);
1793
- this.didPresent = index$1.createEvent(this, "ionPickerDidPresent", 7);
1794
- this.willPresent = index$1.createEvent(this, "ionPickerWillPresent", 7);
1795
- this.willDismiss = index$1.createEvent(this, "ionPickerWillDismiss", 7);
1796
- this.didDismiss = index$1.createEvent(this, "ionPickerDidDismiss", 7);
1797
- this.didPresentShorthand = index$1.createEvent(this, "didPresent", 7);
1798
- this.willPresentShorthand = index$1.createEvent(this, "willPresent", 7);
1799
- this.willDismissShorthand = index$1.createEvent(this, "willDismiss", 7);
1800
- this.didDismissShorthand = index$1.createEvent(this, "didDismiss", 7);
1855
+ index.registerInstance(this, hostRef);
1856
+ this.didPresent = index.createEvent(this, "ionPickerDidPresent", 7);
1857
+ this.willPresent = index.createEvent(this, "ionPickerWillPresent", 7);
1858
+ this.willDismiss = index.createEvent(this, "ionPickerWillDismiss", 7);
1859
+ this.didDismiss = index.createEvent(this, "ionPickerDidDismiss", 7);
1860
+ this.didPresentShorthand = index.createEvent(this, "didPresent", 7);
1861
+ this.willPresentShorthand = index.createEvent(this, "willPresent", 7);
1862
+ this.willDismissShorthand = index.createEvent(this, "willDismiss", 7);
1863
+ this.didDismissShorthand = index.createEvent(this, "didDismiss", 7);
1801
1864
  this.delegateController = overlays.createDelegateController(this);
1802
1865
  this.lockController = lockController.createLockController();
1803
1866
  this.triggerController = overlays.createTriggerController();
@@ -1854,7 +1917,7 @@ const Picker = class {
1854
1917
  overlays.setOverlayId(this.el);
1855
1918
  }
1856
1919
  componentDidLoad() {
1857
- index.printIonWarning('ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
1920
+ ionicGlobal.printIonWarning('ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
1858
1921
  /**
1859
1922
  * If picker was rendered with isOpen="true"
1860
1923
  * then we should open picker immediately.
@@ -1963,14 +2026,14 @@ const Picker = class {
1963
2026
  }
1964
2027
  render() {
1965
2028
  const { htmlAttributes } = this;
1966
- const mode = ionicGlobal.getIonMode(this);
1967
- return (index$1.h(index$1.Host, Object.assign({ key: '1cf2f8a25a3eca7ac59eff969803c85540f102fc', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2029
+ const theme$1 = ionicGlobal.getIonTheme(this);
2030
+ return (index.h(index.Host, Object.assign({ key: '687fd87fb2a0bffcdbd38fe91785d2572d4cd141', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
1968
2031
  zIndex: `${20000 + this.overlayIndex}`,
1969
- }, class: Object.assign({ [mode]: true,
2032
+ }, class: Object.assign({ [theme$1]: true,
1970
2033
  // Used internally for styling
1971
- [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index$1.h("ion-backdrop", { key: '3a70c7c6e0457afda2e9ef4619cb253b583b7805', visible: this.showBackdrop, tappable: this.backdropDismiss }), index$1.h("div", { key: '4c90cf7dfeb9d2bdb5e947739864dbc2d1e327e0', tabindex: "0" }), index$1.h("div", { key: '050098ced341fd86bfcd72595b1f7a52c3b01b46', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index$1.h("div", { key: 'b0d9420fb053d0c71af04c88224a38f804fd99ba', 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: '82cd2788c394079cb8843c240c17e3629eef0953', class: "picker-columns" }, index$1.h("div", { key: '34d2ce59e88b5967e52fe8077ef3a151c6ce38e5', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index$1.h("ion-picker-legacy-column", { col: c })), index$1.h("div", { key: 'b604b101bc0006efc246aea9320d9f44419c531f', class: "picker-below-highlight" }))), index$1.h("div", { key: '70437d735b009386b4f5ae250b555c039c366183', tabindex: "0" })));
2034
+ [`picker-${theme$1}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '053fa3b4c98c0f29e45a74551978a831ac9742cb', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: 'dd3edfc5c879790849087f8ec251ca767d35ec3b', tabindex: "0" }), index.h("div", { key: '9a1b8b2008e5b6f76d35766164909edea71598ef', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: 'af96808e7ab42b45ee922a410860b5cbbca38a34', 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: 'b0a382a73555146c5962a4c94fc54bb3080350b9', class: "picker-columns" }, index.h("div", { key: 'd09fa7270c06d9fccb9ee1043f93f267df1a0bbc', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'c612908bf2523b81cc88e6fc445d52836a00fd45', class: "picker-below-highlight" }))), index.h("div", { key: 'd6254d12e1570d377ca2721f3f3cb040159aec60', tabindex: "0" })));
1972
2035
  }
1973
- get el() { return index$1.getElement(this); }
2036
+ get el() { return index.getElement(this); }
1974
2037
  static get watchers() { return {
1975
2038
  "isOpen": ["onIsOpenChange"],
1976
2039
  "trigger": ["triggerChanged"]
@@ -1998,8 +2061,8 @@ const IonPickerLegacyColumnMdStyle0 = pickerColumnMdCss;
1998
2061
 
1999
2062
  const PickerColumnCmp = class {
2000
2063
  constructor(hostRef) {
2001
- index$1.registerInstance(this, hostRef);
2002
- this.ionPickerColChange = index$1.createEvent(this, "ionPickerColChange", 7);
2064
+ index.registerInstance(this, hostRef);
2065
+ this.ionPickerColChange = index.createEvent(this, "ionPickerColChange", 7);
2003
2066
  this.optHeight = 0;
2004
2067
  this.rotateFactor = 0;
2005
2068
  this.scaleFactor = 1;
@@ -2324,12 +2387,12 @@ const PickerColumnCmp = class {
2324
2387
  }
2325
2388
  render() {
2326
2389
  const col = this.col;
2327
- const mode = ionicGlobal.getIonMode(this);
2328
- return (index$1.h(index$1.Host, { key: '0337ac8379be177501b8d61f0ac0f68ecbb8344d', 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: {
2390
+ const theme$1 = ionicGlobal.getIonTheme(this);
2391
+ return (index.h(index.Host, { key: '665ec7daa2e5f41536847b167146b04a444495c2', class: Object.assign({ [theme$1]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
2329
2392
  'max-width': this.col.columnWidth,
2330
- } }, col.prefix && (index$1.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { key: '013ba8ea1c2fe4fe717386b9cc87484913c234f7', 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", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2393
+ } }, col.prefix && (index.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '6195a1022a90538e9f638a4216910c125a43a8b7', 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", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2331
2394
  }
2332
- get el() { return index$1.getElement(this); }
2395
+ get el() { return index.getElement(this); }
2333
2396
  static get watchers() { return {
2334
2397
  "col": ["colChanged"]
2335
2398
  }; }