@ionic/core 7.7.2-dev.11707881769.185d2a14 → 7.7.2-dev.11707926434.1affaed4

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 (365) hide show
  1. package/components/action-sheet.js +3 -7
  2. package/components/alert.js +2 -6
  3. package/components/data.js +28 -38
  4. package/components/ion-datetime-button.js +11 -10
  5. package/components/ion-datetime.js +68 -7
  6. package/components/ion-loading.js +2 -6
  7. package/components/ion-modal.js +3 -7
  8. package/components/ion-picker.js +2 -6
  9. package/components/ion-toast.js +2 -6
  10. package/components/item.js +12 -3
  11. package/components/overlays.js +4 -54
  12. package/components/popover.js +2 -6
  13. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-5a17c5e1.js} +1 -1
  14. package/dist/cjs/{button-active-2d6520ec.js → button-active-b8c3f603.js} +1 -1
  15. package/dist/cjs/{data-a5109f09.js → data-6246812e.js} +27 -39
  16. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-d23873bb.js} +2 -2
  17. package/dist/cjs/{index-0ffe376d.js → index-5a471146.js} +22 -25
  18. package/dist/cjs/{index-c3580a90.js → index-84351d21.js} +3 -3
  19. package/dist/cjs/{index-a43f7a0f.js → index-8c679cbf.js} +2 -2
  20. package/dist/cjs/index.cjs.js +8 -8
  21. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  22. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -12
  23. package/dist/cjs/ion-alert.cjs.entry.js +7 -11
  24. package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
  25. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  27. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -12
  35. package/dist/cjs/ion-datetime_3.cjs.entry.js +71 -17
  36. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-item_8.cjs.entry.js +4 -4
  42. package/dist/cjs/ion-loading.cjs.entry.js +6 -10
  43. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  44. package/dist/cjs/ion-modal.cjs.entry.js +8 -12
  45. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  46. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  48. package/dist/cjs/ion-popover.cjs.entry.js +7 -11
  49. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  59. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  63. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-toast.cjs.entry.js +6 -10
  66. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  67. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-7358c23e.js} +1 -1
  68. package/dist/cjs/ionic.cjs.js +7 -7
  69. package/dist/cjs/{ios.transition-c3b11cc3.js → ios.transition-8e40c54e.js} +2 -2
  70. package/dist/cjs/loader.cjs.js +6 -6
  71. package/dist/cjs/{md.transition-82a8c649.js → md.transition-597a2479.js} +2 -2
  72. package/dist/cjs/{overlays-fb7ca451.js → overlays-330df245.js} +6 -56
  73. package/dist/cjs/{status-tap-692f6d32.js → status-tap-b0bfea34.js} +1 -1
  74. package/dist/collection/collection-manifest.json +1 -1
  75. package/dist/collection/components/action-sheet/action-sheet.js +5 -9
  76. package/dist/collection/components/alert/alert.js +4 -8
  77. package/dist/collection/components/datetime/datetime.js +90 -7
  78. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +79 -0
  79. package/dist/collection/components/datetime/test/format.spec.js +65 -1
  80. package/dist/collection/components/datetime/utils/format.js +28 -20
  81. package/dist/collection/components/datetime-button/datetime-button.js +11 -10
  82. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +66 -0
  83. package/dist/collection/components/item/item.js +12 -3
  84. package/dist/collection/components/loading/loading.js +4 -8
  85. package/dist/collection/components/modal/modal.js +5 -9
  86. package/dist/collection/components/picker/picker.js +4 -8
  87. package/dist/collection/components/popover/popover.js +4 -8
  88. package/dist/collection/components/toast/test/toast.spec.js +0 -12
  89. package/dist/collection/components/toast/toast.js +4 -8
  90. package/dist/collection/utils/overlays.js +4 -54
  91. package/dist/collection/utils/test/overlays/overlays.e2e.js +0 -33
  92. package/dist/collection/utils/test/overlays/overlays.spec.js +0 -51
  93. package/dist/docs.json +66 -23
  94. package/dist/esm/{app-globals-5cf6195b.js → app-globals-47226a12.js} +1 -1
  95. package/dist/esm/{button-active-47ac8092.js → button-active-4bee452c.js} +1 -1
  96. package/dist/esm/{data-0f3ab200.js → data-25d50209.js} +28 -38
  97. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-f42b9c80.js} +2 -2
  98. package/dist/esm/{index-47b2066d.js → index-48209844.js} +2 -2
  99. package/dist/esm/{index-0b4beb69.js → index-4b98143d.js} +3 -3
  100. package/dist/esm/{index-4c30cddd.js → index-73881b51.js} +22 -25
  101. package/dist/esm/index.js +8 -8
  102. package/dist/esm/ion-accordion_2.entry.js +2 -2
  103. package/dist/esm/ion-action-sheet.entry.js +8 -12
  104. package/dist/esm/ion-alert.entry.js +7 -11
  105. package/dist/esm/ion-app_8.entry.js +6 -6
  106. package/dist/esm/ion-avatar_3.entry.js +2 -2
  107. package/dist/esm/ion-back-button.entry.js +2 -2
  108. package/dist/esm/ion-backdrop.entry.js +2 -2
  109. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  110. package/dist/esm/ion-button_2.entry.js +2 -2
  111. package/dist/esm/ion-card_5.entry.js +2 -2
  112. package/dist/esm/ion-checkbox.entry.js +2 -2
  113. package/dist/esm/ion-chip.entry.js +2 -2
  114. package/dist/esm/ion-col_3.entry.js +2 -2
  115. package/dist/esm/ion-datetime-button.entry.js +13 -12
  116. package/dist/esm/ion-datetime_3.entry.js +71 -17
  117. package/dist/esm/ion-fab_3.entry.js +2 -2
  118. package/dist/esm/ion-img.entry.js +2 -2
  119. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  120. package/dist/esm/ion-input.entry.js +2 -2
  121. package/dist/esm/ion-item-option_3.entry.js +2 -2
  122. package/dist/esm/ion-item_8.entry.js +4 -4
  123. package/dist/esm/ion-loading.entry.js +6 -10
  124. package/dist/esm/ion-menu_3.entry.js +5 -5
  125. package/dist/esm/ion-modal.entry.js +8 -12
  126. package/dist/esm/ion-nav_2.entry.js +3 -3
  127. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  128. package/dist/esm/ion-picker-internal.entry.js +1 -1
  129. package/dist/esm/ion-popover.entry.js +7 -11
  130. package/dist/esm/ion-progress-bar.entry.js +2 -2
  131. package/dist/esm/ion-radio_2.entry.js +2 -2
  132. package/dist/esm/ion-range.entry.js +2 -2
  133. package/dist/esm/ion-refresher_2.entry.js +2 -2
  134. package/dist/esm/ion-reorder_2.entry.js +2 -2
  135. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  136. package/dist/esm/ion-route_4.entry.js +2 -2
  137. package/dist/esm/ion-searchbar.entry.js +2 -2
  138. package/dist/esm/ion-segment_2.entry.js +2 -2
  139. package/dist/esm/ion-select_3.entry.js +4 -4
  140. package/dist/esm/ion-spinner.entry.js +2 -2
  141. package/dist/esm/ion-split-pane.entry.js +2 -2
  142. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  143. package/dist/esm/ion-tab_2.entry.js +1 -1
  144. package/dist/esm/ion-text.entry.js +2 -2
  145. package/dist/esm/ion-textarea.entry.js +2 -2
  146. package/dist/esm/ion-toast.entry.js +6 -10
  147. package/dist/esm/ion-toggle.entry.js +2 -2
  148. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-778b7863.js} +1 -1
  149. package/dist/esm/ionic.js +8 -8
  150. package/dist/esm/{ios.transition-b76c7020.js → ios.transition-7ff7381d.js} +2 -2
  151. package/dist/esm/loader.js +7 -7
  152. package/dist/esm/{md.transition-564937a7.js → md.transition-28a9a26b.js} +2 -2
  153. package/dist/esm/{overlays-04a9a43f.js → overlays-33ae3ea0.js} +6 -56
  154. package/dist/esm/{status-tap-5a95077d.js → status-tap-2b335fb7.js} +1 -1
  155. package/dist/esm-es5/app-globals-47226a12.js +4 -0
  156. package/dist/esm-es5/{button-active-47ac8092.js → button-active-4bee452c.js} +1 -1
  157. package/dist/esm-es5/data-25d50209.js +4 -0
  158. package/dist/esm-es5/{hardware-back-button-b410a047.js → hardware-back-button-f42b9c80.js} +1 -1
  159. package/dist/esm-es5/{index-47b2066d.js → index-48209844.js} +1 -1
  160. package/dist/esm-es5/{index-0b4beb69.js → index-4b98143d.js} +1 -1
  161. package/dist/esm-es5/{index-4c30cddd.js → index-73881b51.js} +1 -1
  162. package/dist/esm-es5/index.js +1 -1
  163. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  165. package/dist/esm-es5/ion-alert.entry.js +1 -1
  166. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  167. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  168. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  169. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  170. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  173. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  174. package/dist/esm-es5/ion-chip.entry.js +1 -1
  175. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  176. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  177. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  178. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  179. package/dist/esm-es5/ion-img.entry.js +1 -1
  180. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-input.entry.js +1 -1
  182. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  183. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  184. package/dist/esm-es5/ion-loading.entry.js +1 -1
  185. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  186. package/dist/esm-es5/ion-modal.entry.js +1 -1
  187. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  188. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  189. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  190. package/dist/esm-es5/ion-popover.entry.js +1 -1
  191. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  192. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  193. package/dist/esm-es5/ion-range.entry.js +1 -1
  194. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  195. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  196. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  197. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  198. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  199. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  200. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  201. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  202. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  203. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  204. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  205. package/dist/esm-es5/ion-text.entry.js +1 -1
  206. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  207. package/dist/esm-es5/ion-toast.entry.js +1 -1
  208. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  209. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-778b7863.js} +1 -1
  210. package/dist/esm-es5/ionic.js +2 -2
  211. package/dist/esm-es5/{ios.transition-b76c7020.js → ios.transition-7ff7381d.js} +1 -1
  212. package/dist/esm-es5/loader.js +2 -2
  213. package/dist/esm-es5/md.transition-28a9a26b.js +4 -0
  214. package/dist/esm-es5/{overlays-04a9a43f.js → overlays-33ae3ea0.js} +1 -1
  215. package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-2b335fb7.js} +1 -1
  216. package/dist/ionic/index.esm.js +1 -1
  217. package/dist/ionic/ionic.esm.js +1 -1
  218. package/dist/ionic/ionic.js +1 -1
  219. package/dist/ionic/{p-df504a37.system.js → p-001010b6.system.js} +1 -1
  220. package/dist/ionic/{p-1924f2e0.system.entry.js → p-016976a7.system.entry.js} +2 -2
  221. package/dist/ionic/{p-a0b28c69.system.entry.js → p-078fd095.system.entry.js} +1 -1
  222. package/dist/ionic/{p-ae35294f.system.entry.js → p-0ae25399.system.entry.js} +1 -1
  223. package/dist/ionic/p-0b955124.system.js +4 -0
  224. package/dist/ionic/{p-3481d54e.system.entry.js → p-0e29919c.system.entry.js} +1 -1
  225. package/dist/ionic/{p-8794fa00.system.entry.js → p-0eef8b34.system.entry.js} +1 -1
  226. package/dist/ionic/{p-fb9f8495.system.entry.js → p-0fd295ef.system.entry.js} +1 -1
  227. package/dist/ionic/{p-508a4c87.entry.js → p-108f730a.entry.js} +1 -1
  228. package/dist/ionic/{p-5d7e32ce.js → p-1aa7c019.js} +1 -1
  229. package/dist/ionic/{p-601e17b4.entry.js → p-1c531ca2.entry.js} +1 -1
  230. package/dist/ionic/{p-91cb3f9a.entry.js → p-1f583f73.entry.js} +1 -1
  231. package/dist/ionic/{p-ea25b4c8.system.entry.js → p-1f6cdf2c.system.entry.js} +1 -1
  232. package/dist/ionic/{p-717e2526.system.entry.js → p-20a6513f.system.entry.js} +1 -1
  233. package/dist/ionic/{p-cde3ac34.system.entry.js → p-20f7a91e.system.entry.js} +1 -1
  234. package/dist/ionic/{p-74deb358.system.js → p-25b08bc4.system.js} +1 -1
  235. package/dist/ionic/p-26138fed.js +4 -0
  236. package/dist/ionic/{p-bf05cbc7.entry.js → p-2da0a76c.entry.js} +1 -1
  237. package/dist/ionic/{p-70e34286.system.entry.js → p-2f66e177.system.entry.js} +1 -1
  238. package/dist/ionic/{p-5cb5f63d.system.entry.js → p-30c9e049.system.entry.js} +1 -1
  239. package/dist/ionic/{p-16a61810.entry.js → p-333f06ed.entry.js} +1 -1
  240. package/dist/ionic/{p-de55ec45.js → p-341b4519.js} +1 -1
  241. package/dist/ionic/{p-bd314f1e.system.entry.js → p-389ff4d2.system.entry.js} +1 -1
  242. package/dist/ionic/{p-1f16d040.entry.js → p-396c1a55.entry.js} +1 -1
  243. package/dist/ionic/{p-5e23bea8.system.entry.js → p-3a54c070.system.entry.js} +1 -1
  244. package/dist/ionic/{p-275705e5.entry.js → p-3a98f8db.entry.js} +1 -1
  245. package/dist/ionic/{p-502780e4.entry.js → p-3cdbaa49.entry.js} +1 -1
  246. package/dist/ionic/{p-49aba878.js → p-3eb2da31.js} +1 -1
  247. package/dist/ionic/{p-6525a8cd.system.js → p-3f028207.system.js} +1 -1
  248. package/dist/ionic/{p-43a5edee.entry.js → p-400574bf.entry.js} +1 -1
  249. package/dist/ionic/{p-18beebdf.system.entry.js → p-48af4316.system.entry.js} +2 -2
  250. package/dist/ionic/{p-ceceac26.js → p-4b2d5b9c.js} +1 -1
  251. package/dist/ionic/{p-a022b684.system.entry.js → p-4c256bc2.system.entry.js} +1 -1
  252. package/dist/ionic/{p-b7efc743.system.entry.js → p-4dfc27eb.system.entry.js} +1 -1
  253. package/dist/ionic/{p-396083cc.entry.js → p-51f08a9f.entry.js} +1 -1
  254. package/dist/ionic/{p-86813176.system.entry.js → p-58e3ae88.system.entry.js} +1 -1
  255. package/dist/ionic/{p-31450f73.entry.js → p-5b6aa59a.entry.js} +1 -1
  256. package/dist/ionic/{p-4fda5c35.entry.js → p-5e60dbc8.entry.js} +1 -1
  257. package/dist/ionic/{p-1636923f.system.js → p-5eea8b4c.system.js} +1 -1
  258. package/dist/ionic/{p-cd9a7017.system.entry.js → p-5f456b3c.system.entry.js} +1 -1
  259. package/dist/ionic/{p-2e1f014a.system.entry.js → p-61c0f8bf.system.entry.js} +1 -1
  260. package/dist/ionic/{p-a5951821.system.js → p-62a3c609.system.js} +1 -1
  261. package/dist/ionic/{p-f53d074d.system.entry.js → p-680f96e8.system.entry.js} +1 -1
  262. package/dist/ionic/p-68ae6719.system.entry.js +4 -0
  263. package/dist/ionic/{p-5b40d967.entry.js → p-6a34980d.entry.js} +1 -1
  264. package/dist/ionic/p-6b02edd6.js +4 -0
  265. package/dist/ionic/{p-afd6d696.system.entry.js → p-6f38d0c5.system.entry.js} +1 -1
  266. package/dist/ionic/{p-42a9f663.system.entry.js → p-70026e8f.system.entry.js} +1 -1
  267. package/dist/ionic/{p-72fa96bf.system.js → p-76893257.system.js} +1 -1
  268. package/dist/ionic/{p-c1797ec5.system.entry.js → p-78edc0cd.system.entry.js} +1 -1
  269. package/dist/ionic/{p-f0194418.system.entry.js → p-7c32fb95.system.entry.js} +1 -1
  270. package/dist/ionic/p-7c5e8706.entry.js +4 -0
  271. package/dist/ionic/{p-05d560ec.entry.js → p-7dc7514a.entry.js} +1 -1
  272. package/dist/ionic/{p-bd4787eb.entry.js → p-84513dfb.entry.js} +1 -1
  273. package/dist/ionic/{p-e04b9647.system.entry.js → p-84879f61.system.entry.js} +1 -1
  274. package/dist/ionic/{p-1131946f.system.entry.js → p-8569d759.system.entry.js} +1 -1
  275. package/dist/ionic/p-87ae4f6c.system.entry.js +4 -0
  276. package/dist/ionic/{p-eb07b88f.entry.js → p-8a671f16.entry.js} +1 -1
  277. package/dist/ionic/{p-123b4809.js → p-8ddc00f7.js} +1 -1
  278. package/dist/ionic/p-8e16390d.system.js +4 -0
  279. package/dist/ionic/{p-a8a56449.entry.js → p-8ebd9951.entry.js} +1 -1
  280. package/dist/ionic/p-8f1ce253.js +4 -0
  281. package/dist/ionic/{p-c747f89b.system.entry.js → p-92c2178e.system.entry.js} +1 -1
  282. package/dist/ionic/{p-9cd7ba27.system.js → p-95c44e02.system.js} +1 -1
  283. package/dist/ionic/{p-95d5a097.entry.js → p-97eca294.entry.js} +1 -1
  284. package/dist/ionic/{p-a85d9047.system.entry.js → p-9a6ab80a.system.entry.js} +1 -1
  285. package/dist/ionic/{p-e9f9388e.system.js → p-9beb5039.system.js} +1 -1
  286. package/dist/ionic/{p-5928fac9.system.entry.js → p-9f5b40c0.system.entry.js} +1 -1
  287. package/dist/ionic/{p-3d961d93.entry.js → p-9f6397ce.entry.js} +1 -1
  288. package/dist/ionic/{p-5c6a04bd.entry.js → p-a02b2d75.entry.js} +1 -1
  289. package/dist/ionic/{p-88e9052d.entry.js → p-a051c371.entry.js} +1 -1
  290. package/dist/ionic/{p-cb9e71e0.entry.js → p-a19f5ae1.entry.js} +1 -1
  291. package/dist/ionic/{p-7b1ed642.system.entry.js → p-a1bfaa5c.system.entry.js} +1 -1
  292. package/dist/ionic/{p-5c580e89.entry.js → p-a2ad515b.entry.js} +1 -1
  293. package/dist/ionic/{p-3079950e.entry.js → p-aa7ae6aa.entry.js} +1 -1
  294. package/dist/ionic/{p-caeefe16.system.entry.js → p-aaa4ffb3.system.entry.js} +1 -1
  295. package/dist/ionic/{p-abcedc15.system.entry.js → p-ac20160b.system.entry.js} +1 -1
  296. package/dist/ionic/{p-ba97a133.system.entry.js → p-ac979ebf.system.entry.js} +1 -1
  297. package/dist/ionic/{p-dbd70d97.system.entry.js → p-b37e4ee5.system.entry.js} +1 -1
  298. package/dist/ionic/{p-c771a6ef.entry.js → p-b498de69.entry.js} +1 -1
  299. package/dist/ionic/{p-30cd5e7b.js → p-b4d8fe47.js} +1 -1
  300. package/dist/ionic/{p-337ac0f5.entry.js → p-b8c4df21.entry.js} +1 -1
  301. package/dist/ionic/{p-89ca4c4b.system.js → p-b94882a9.system.js} +1 -1
  302. package/dist/ionic/{p-edcada2b.system.entry.js → p-b96699d3.system.entry.js} +1 -1
  303. package/dist/ionic/{p-64856c3c.system.entry.js → p-bc2c03d7.system.entry.js} +1 -1
  304. package/dist/ionic/{p-8f872991.entry.js → p-c3790581.entry.js} +1 -1
  305. package/dist/ionic/p-c5c3710c.js +4 -0
  306. package/dist/ionic/{p-2e14c533.system.js → p-c6fef62b.system.js} +1 -1
  307. package/dist/ionic/{p-aaaa615c.system.entry.js → p-c851b204.system.entry.js} +1 -1
  308. package/dist/ionic/{p-d39ab63d.entry.js → p-ccd419ae.entry.js} +1 -1
  309. package/dist/ionic/{p-68ba8e77.system.entry.js → p-cd055d60.system.entry.js} +1 -1
  310. package/dist/ionic/{p-027f3674.entry.js → p-ce2eabd5.entry.js} +1 -1
  311. package/dist/ionic/{p-b0ff8075.entry.js → p-d7260b87.entry.js} +1 -1
  312. package/dist/ionic/{p-f840d817.entry.js → p-d74ca358.entry.js} +1 -1
  313. package/dist/ionic/{p-657ccdd6.entry.js → p-d8607ede.entry.js} +1 -1
  314. package/dist/ionic/{p-c308f773.entry.js → p-d95c8e90.entry.js} +1 -1
  315. package/dist/ionic/{p-c11bab7e.entry.js → p-dbb4c012.entry.js} +1 -1
  316. package/dist/ionic/{p-0457213c.entry.js → p-dce9bc53.entry.js} +1 -1
  317. package/dist/ionic/{p-7173ba59.system.entry.js → p-df281664.system.entry.js} +1 -1
  318. package/dist/ionic/{p-2327064c.entry.js → p-df468a8f.entry.js} +1 -1
  319. package/dist/ionic/p-e1271366.js +5 -0
  320. package/dist/ionic/{p-b2595011.system.entry.js → p-e68980ff.system.entry.js} +1 -1
  321. package/dist/ionic/{p-1f19958f.system.entry.js → p-e6aaff14.system.entry.js} +1 -1
  322. package/dist/ionic/{p-dcb5711d.entry.js → p-ea8fbf09.entry.js} +1 -1
  323. package/dist/ionic/{p-a3df16b9.system.entry.js → p-eda7a1db.system.entry.js} +1 -1
  324. package/dist/ionic/{p-64db1331.entry.js → p-efe9180b.entry.js} +1 -1
  325. package/dist/ionic/{p-64761c90.entry.js → p-f1ad3b3d.entry.js} +1 -1
  326. package/dist/ionic/{p-94ff532b.entry.js → p-f1cc690e.entry.js} +1 -1
  327. package/dist/ionic/{p-8e651c29.entry.js → p-f46775e4.entry.js} +1 -1
  328. package/dist/ionic/p-f74afe3b.entry.js +4 -0
  329. package/dist/ionic/{p-c39cc96d.system.entry.js → p-f7b43141.system.entry.js} +1 -1
  330. package/dist/ionic/{p-3a7de59c.entry.js → p-f88dd429.entry.js} +1 -1
  331. package/dist/ionic/p-f89ae259.js +4 -0
  332. package/dist/ionic/{p-9056778e.system.entry.js → p-f97b9cdd.system.entry.js} +1 -1
  333. package/dist/ionic/{p-9ec7208d.system.js → p-fd36799d.system.js} +1 -1
  334. package/dist/ionic/{p-7ce40e7b.entry.js → p-fd3f475f.entry.js} +1 -1
  335. package/dist/ionic/{p-d4cadd34.system.js → p-fd9a9db3.system.js} +1 -1
  336. package/dist/ionic/{p-b6279412.entry.js → p-fe92da17.entry.js} +1 -1
  337. package/dist/types/components/action-sheet/action-sheet.d.ts +0 -4
  338. package/dist/types/components/alert/alert.d.ts +0 -4
  339. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  340. package/dist/types/components/datetime/datetime.d.ts +16 -1
  341. package/dist/types/components/datetime/utils/format.d.ts +7 -1
  342. package/dist/types/components/loading/loading.d.ts +0 -4
  343. package/dist/types/components/modal/modal.d.ts +0 -4
  344. package/dist/types/components/picker/picker.d.ts +0 -4
  345. package/dist/types/components/popover/popover.d.ts +0 -4
  346. package/dist/types/components/toast/toast.d.ts +0 -4
  347. package/dist/types/components.d.ts +17 -9
  348. package/hydrate/index.d.ts +1 -1
  349. package/hydrate/index.js +136 -271
  350. package/package.json +4 -4
  351. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  352. package/dist/esm-es5/data-0f3ab200.js +0 -4
  353. package/dist/esm-es5/md.transition-564937a7.js +0 -4
  354. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  355. package/dist/ionic/p-0e23c289.system.entry.js +0 -4
  356. package/dist/ionic/p-21ca1f1c.js +0 -4
  357. package/dist/ionic/p-23c73017.entry.js +0 -4
  358. package/dist/ionic/p-5c2ae448.js +0 -4
  359. package/dist/ionic/p-7330c044.system.js +0 -4
  360. package/dist/ionic/p-a6e465f5.entry.js +0 -4
  361. package/dist/ionic/p-bdca4784.js +0 -4
  362. package/dist/ionic/p-dbcba5a2.js +0 -4
  363. package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
  364. package/dist/ionic/p-ed7a529f.js +0 -5
  365. package/dist/ionic/p-f7dce541.js +0 -4
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v4.12.2 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v4.12.0 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -598,10 +598,6 @@ class MockEvent {
598
598
  stopImmediatePropagation() {
599
599
  this.cancelBubble = true;
600
600
  }
601
- /**
602
- * @ref https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath
603
- * @returns a composed path of the event
604
- */
605
601
  composedPath() {
606
602
  const composedPath = [];
607
603
  let currentElement = this.target;
@@ -613,17 +609,7 @@ class MockEvent {
613
609
  composedPath.push(currentElement.defaultView);
614
610
  break;
615
611
  }
616
- /**
617
- * bubble up the parent chain until we arrive to the HTML element. Here we continue
618
- * with the document object instead of the parent element since the parent element
619
- * is `null` for HTML elements.
620
- */
621
- if (currentElement.parentElement == null && currentElement.tagName === 'HTML') {
622
- currentElement = currentElement.ownerDocument;
623
- }
624
- else {
625
- currentElement = currentElement.parentElement;
626
- }
612
+ currentElement = currentElement.parentElement;
627
613
  }
628
614
  return composedPath;
629
615
  }
@@ -742,9 +728,6 @@ function triggerEventListener(elm, ev) {
742
728
  if (elm.nodeName === "#document" /* NODE_NAMES.DOCUMENT_NODE */) {
743
729
  triggerEventListener(elm.defaultView, ev);
744
730
  }
745
- else if (elm.parentElement == null && elm.tagName === 'HTML') {
746
- triggerEventListener(elm.ownerDocument, ev);
747
- }
748
731
  else {
749
732
  triggerEventListener(elm.parentElement, ev);
750
733
  }
@@ -2650,95 +2633,16 @@ const jQuery = /*!
2650
2633
  return jQuery;
2651
2634
  });
2652
2635
 
2653
- /**
2654
- * Check whether an element of interest matches a given selector.
2655
- *
2656
- * @param selector the selector of interest
2657
- * @param elm an element within which to find matching elements
2658
- * @returns whether the element matches the selector
2659
- */
2660
2636
  function matches(selector, elm) {
2661
- try {
2662
- const r = jQuery.find(selector, undefined, undefined, [elm]);
2663
- return r.length > 0;
2664
- }
2665
- catch (e) {
2666
- updateSelectorError(selector, e);
2667
- throw e;
2668
- }
2637
+ const r = jQuery.find(selector, undefined, undefined, [elm]);
2638
+ return r.length > 0;
2669
2639
  }
2670
- /**
2671
- * Select the first element that matches a given selector
2672
- *
2673
- * @param selector the selector of interest
2674
- * @param elm the element within which to find a matching element
2675
- * @returns the first matching element, or null if none is found
2676
- */
2677
2640
  function selectOne(selector, elm) {
2678
- try {
2679
- const r = jQuery.find(selector, elm, undefined, undefined);
2680
- return r[0] || null;
2681
- }
2682
- catch (e) {
2683
- updateSelectorError(selector, e);
2684
- throw e;
2685
- }
2641
+ const r = jQuery.find(selector, elm, undefined, undefined);
2642
+ return r[0] || null;
2686
2643
  }
2687
- /**
2688
- * Select all elements that match a given selector
2689
- *
2690
- * @param selector the selector of interest
2691
- * @param elm an element within which to find matching elements
2692
- * @returns all matching elements
2693
- */
2694
2644
  function selectAll(selector, elm) {
2695
- try {
2696
- return jQuery.find(selector, elm, undefined, undefined);
2697
- }
2698
- catch (e) {
2699
- updateSelectorError(selector, e);
2700
- throw e;
2701
- }
2702
- }
2703
- /**
2704
- * A manifest of selectors which are known to be problematic in jQuery. See
2705
- * here to track implementation and support:
2706
- * https://github.com/jquery/jquery/issues/5111
2707
- */
2708
- const PROBLEMATIC_SELECTORS = [':scope', ':where', ':is'];
2709
- /**
2710
- * Given a selector and an error object thrown by jQuery, annotate the
2711
- * error's message to add some context as to the probable reason for the error.
2712
- * In particular, if the selector includes a selector which is known to be
2713
- * unsupported in jQuery, then we know that was likely the cause of the
2714
- * error.
2715
- *
2716
- * @param selector our selector of interest
2717
- * @param e an error object that was thrown in the course of using jQuery
2718
- */
2719
- function updateSelectorError(selector, e) {
2720
- const selectorsPresent = PROBLEMATIC_SELECTORS.filter((s) => selector.includes(s));
2721
- if (selectorsPresent.length > 0 && e.message) {
2722
- e.message =
2723
- `At present jQuery does not support the ${humanReadableList(selectorsPresent)} ${selectorsPresent.length === 1 ? 'selector' : 'selectors'}.
2724
- If you need this in your test, consider writing an end-to-end test instead.\n` + e.message;
2725
- }
2726
- }
2727
- /**
2728
- * Format a list of strings in a 'human readable' way.
2729
- *
2730
- * - If one string (['string']), return 'string'
2731
- * - If two strings (['a', 'b']), return 'a and b'
2732
- * - If three or more (['a', 'b', 'c']), return 'a, b and c'
2733
- *
2734
- * @param items a list of strings to format
2735
- * @returns a formatted string
2736
- */
2737
- function humanReadableList(items) {
2738
- if (items.length <= 1) {
2739
- return items.join('');
2740
- }
2741
- return `${items.slice(0, items.length - 1).join(', ')} and ${items[items.length - 1]}`;
2645
+ return jQuery.find(selector, elm, undefined, undefined);
2742
2646
  }
2743
2647
 
2744
2648
  function serializeNodeToHtml(elm, opts = {}) {
@@ -4202,18 +4106,6 @@ class MockHTMLElement extends MockElement {
4202
4106
  set tagName(value) {
4203
4107
  this.nodeName = value;
4204
4108
  }
4205
- /**
4206
- * A node’s parent of type Element is known as its parent element.
4207
- * If the node has a parent of a different type, its parent element
4208
- * is null.
4209
- * @returns MockElement
4210
- */
4211
- get parentElement() {
4212
- if (this.nodeName === 'HTML') {
4213
- return null;
4214
- }
4215
- return super.parentElement;
4216
- }
4217
4109
  get attributes() {
4218
4110
  if (this.__attributeMap == null) {
4219
4111
  const attrMap = createAttributeProxy(true);
@@ -7396,7 +7288,8 @@ const createElm = (e, t, o, n) => {
7396
7288
  const n = t.$elm$ = e.$elm$, s = e.$children$, l = t.$children$, a = t.$tag$, r = t.$text$;
7397
7289
  let i;
7398
7290
  null !== r ? (i = n["s-cr"]) ? i.parentNode.textContent = r : e.$text$ !== r && (n.data = r) : ((isSvgMode = "svg" === a || "foreignObject" !== a && isSvgMode),
7399
- ("slot" === a && !useNativeShadowDom ? BUILD.experimentalSlotFixes : updateElement(e, t, isSvgMode)), null !== s && null !== l ? ((e, t, o, n, s = !1) => {
7291
+ ("slot" === a || updateElement(e, t, isSvgMode)),
7292
+ null !== s && null !== l ? ((e, t, o, n, s = !1) => {
7400
7293
  let l, a, r = 0, i = 0, d = 0, c = 0, $ = t.length - 1, m = t[0], p = t[$], h = n.length - 1, f = n[0], u = n[h];
7401
7294
  for (;r <= $ && i <= h; ) if (null == m) m = t[++r]; else if (null == p) p = t[--$]; else if (null == f) f = n[++i]; else if (null == u) u = n[--h]; else if (isSameVnode(m, f, s)) patch(m, f, s),
7402
7295
  m = t[++r], f = n[++i]; else if (isSameVnode(p, u, s)) patch(p, u, s), p = t[--$],
@@ -7464,9 +7357,9 @@ const createElm = (e, t, o, n) => {
7464
7357
  if (d.$attrsToReflect$ && ($.$attrs$ = $.$attrs$ || {}, d.$attrsToReflect$.map((([e, t]) => $.$attrs$[t] = i[e]))),
7465
7358
  o && $.$attrs$) for (const e of Object.keys($.$attrs$)) i.hasAttribute(e) && ![ "key", "ref", "style", "class" ].includes(e) && ($.$attrs$[e] = i[e]);
7466
7359
  if ($.$tag$ = null, $.$flags$ |= 4, e.$vnode$ = $, $.$elm$ = c.$elm$ = i.shadowRoot || i,
7467
- (scopeId = i["s-sc"]), useNativeShadowDom = supportsShadow,
7468
- (contentRef = i["s-cr"], checkSlotFallbackVisibility = !1),
7469
- patch(c, $, o), BUILD.slotRelocation) {
7360
+ (scopeId = i["s-sc"]), (contentRef = i["s-cr"],
7361
+ useNativeShadowDom = supportsShadow, checkSlotFallbackVisibility = !1), patch(c, $, o),
7362
+ BUILD.slotRelocation) {
7470
7363
  if (plt.$flags$ |= 1, checkSlotRelocate) {
7471
7364
  markSlotContentForRelocation($.$elm$);
7472
7365
  for (const e of relocateNodes) {
@@ -10412,15 +10305,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
10412
10305
  return;
10413
10306
  }
10414
10307
  setRootAriaHidden(true);
10415
- /**
10416
- * Hide all other overlays from screen readers so only this one
10417
- * can be read. Note that presenting an overlay always makes
10418
- * it the topmost one.
10419
- */
10420
- if (doc !== undefined) {
10421
- const presentedOverlays = getPresentedOverlays(doc);
10422
- presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true'));
10423
- }
10424
10308
  overlay.presented = true;
10425
10309
  overlay.willPresent.emit();
10426
10310
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -10443,7 +10327,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
10443
10327
  * from returning focus as a result.
10444
10328
  */
10445
10329
  if (overlay.el.tagName !== 'ION-TOAST') {
10446
- restoreElementFocus(overlay.el);
10330
+ focusPreviousElementOnDismiss(overlay.el);
10447
10331
  }
10448
10332
  /**
10449
10333
  * If the focused element is already
@@ -10454,14 +10338,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
10454
10338
  if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
10455
10339
  overlay.el.focus();
10456
10340
  }
10457
- /**
10458
- * If this overlay was previously dismissed without being
10459
- * the topmost one (such as by manually calling dismiss()),
10460
- * it would still have aria-hidden on being presented again.
10461
- * Removing it here ensures the overlay is visible to screen
10462
- * readers.
10463
- */
10464
- overlay.el.removeAttribute('aria-hidden');
10465
10341
  };
10466
10342
  /**
10467
10343
  * When an overlay component is dismissed,
@@ -10473,7 +10349,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
10473
10349
  * to where they were before they
10474
10350
  * opened the overlay.
10475
10351
  */
10476
- const restoreElementFocus = async (overlayEl) => {
10352
+ const focusPreviousElementOnDismiss = async (overlayEl) => {
10477
10353
  let previousElement = document.activeElement;
10478
10354
  if (!previousElement) {
10479
10355
  return;
@@ -10484,36 +10360,10 @@ const restoreElementFocus = async (overlayEl) => {
10484
10360
  previousElement = shadowRoot.querySelector(focusableQueryString$1) || previousElement;
10485
10361
  }
10486
10362
  await overlayEl.onDidDismiss();
10487
- /**
10488
- * After onDidDismiss, the overlay loses focus
10489
- * because it is removed from the document
10490
- *
10491
- * > An element will also lose focus [...]
10492
- * > if the element is removed from the document)
10493
- *
10494
- * https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event
10495
- *
10496
- * Additionally, `document.activeElement` returns:
10497
- *
10498
- * > The Element which currently has focus,
10499
- * > `<body>` or null if there is
10500
- * > no focused element.
10501
- *
10502
- * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement#value
10503
- *
10504
- * However, if the user has already focused
10505
- * an element sometime between onWillDismiss
10506
- * and onDidDismiss (for example, focusing a
10507
- * text box after tapping a button in an
10508
- * action sheet) then don't restore focus to
10509
- * previous element
10510
- */
10511
- if (document.activeElement === null || document.activeElement === document.body) {
10512
- previousElement.focus();
10513
- }
10363
+ previousElement.focus();
10514
10364
  };
10515
10365
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
10516
- var _a, _b, _c;
10366
+ var _a, _b;
10517
10367
  if (!overlay.presented) {
10518
10368
  return false;
10519
10369
  }
@@ -10564,13 +10414,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
10564
10414
  console.error(err);
10565
10415
  }
10566
10416
  overlay.el.remove();
10567
- /**
10568
- * If there are other overlays presented, unhide the new
10569
- * topmost one from screen readers.
10570
- */
10571
- if (doc !== undefined) {
10572
- (_c = getPresentedOverlay(doc)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-hidden');
10573
- }
10574
10417
  return true;
10575
10418
  };
10576
10419
  const getAppRoot = (doc) => {
@@ -12025,10 +11868,6 @@ class ActionSheet {
12025
11868
  * This can be useful in a button handler for determining which button was
12026
11869
  * clicked to dismiss the action sheet.
12027
11870
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
12028
- *
12029
- * This is a no-op if the overlay has not been presented yet. If you want
12030
- * to remove an overlay from the DOM that was never presented, use the
12031
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
12032
11871
  */
12033
11872
  async dismiss(data, role) {
12034
11873
  const unlock = await this.lockController.lock();
@@ -12137,12 +11976,12 @@ class ActionSheet {
12137
11976
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
12138
11977
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
12139
11978
  const headerID = `action-sheet-${overlayIndex}-header`;
12140
- return (hAsync(Host, Object.assign({ key: 'cd141d12d7d86d3402fd220c4afb61cdbf064c04', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
11979
+ return (hAsync(Host, Object.assign({ key: '98851ef73ef85bb1e364111f090480102929a197', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
12141
11980
  zIndex: `${20000 + this.overlayIndex}`,
12142
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'b6a051e2cf5e101edbf59c8a40a04d8f7107fb3c', tappable: this.backdropDismiss }), hAsync("div", { key: '5bfa2b37a417aaff3776f06d92a8544dfcbf714f', tabindex: "0" }), hAsync("div", { key: '77d5a217803fd7be8f8dbedcd0ef5e59f0fd9800', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '3901d56215f05cdab074e2ec321391281a165097', class: "action-sheet-container" }, hAsync("div", { key: '275f5c7981b2ee44fb632b3d137c7209cbfcf45c', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { id: headerID, class: {
11981
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'e2520342ca16aae4dac0bd7bff59b2150aeb2171', tappable: this.backdropDismiss }), hAsync("div", { key: 'c95f2ec4edde1dc3a8860e68b4a86b82f6797aee', tabindex: "0" }), hAsync("div", { key: '7af9edad368e308508801c8ef2225928ced63159', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'd1d92b4d1814d34eb7d8134ff77ee260ca521a6d', class: "action-sheet-container" }, hAsync("div", { key: 'cc774b45a9992e95bfee788cb484d99364b76d22', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { id: headerID, class: {
12143
11982
  'action-sheet-title': true,
12144
11983
  'action-sheet-has-sub-title': this.subHeader !== undefined,
12145
- } }, header, this.subHeader && hAsync("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b) }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", null)))))), hAsync("div", { key: '4285893438675be9b40838a93c2ff382a1074cd3', tabindex: "0" })));
11984
+ } }, header, this.subHeader && hAsync("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b) }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", null)))))), hAsync("div", { key: '9a013adda7dec101cf0c90feb02f5b7f5582a0b3', tabindex: "0" })));
12146
11985
  }
12147
11986
  get el() { return getElement(this); }
12148
11987
  static get watchers() { return {
@@ -12656,10 +12495,6 @@ class Alert {
12656
12495
  * This can be useful in a button handler for determining which button was
12657
12496
  * clicked to dismiss the alert.
12658
12497
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
12659
- *
12660
- * This is a no-op if the overlay has not been presented yet. If you want
12661
- * to remove an overlay from the DOM that was never presented, use the
12662
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
12663
12498
  */
12664
12499
  async dismiss(data, role) {
12665
12500
  const unlock = await this.lockController.lock();
@@ -12825,9 +12660,9 @@ class Alert {
12825
12660
  * If neither is defined, don't set aria-labelledby.
12826
12661
  */
12827
12662
  const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
12828
- return (hAsync(Host, Object.assign({ key: '4b7f7880dc5f39aa9b61981af0a821ac0350af7f', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
12663
+ return (hAsync(Host, Object.assign({ key: '8327e1aef6c404c2021d43aaa542d86e839817f5', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
12829
12664
  zIndex: `${20000 + overlayIndex}`,
12830
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '961a2684013ac61d59882914fd8d759ddb542fe7', tappable: this.backdropDismiss }), hAsync("div", { key: '2ec08c3719b3cd8a4cae09d2c6ac778ffad5f940', tabindex: "0" }), hAsync("div", { key: 'ee543683d20693c9a9497aca4d41f032aa580c9c', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '55015102b67d080249a8859fc8788f3a82d5ead9', class: "alert-head" }, header && (hAsync("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (hAsync("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'df7bcfb0cb41965f169de05edd631a050d5ce648', tabindex: "0" })));
12665
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '814a4e1b4f7560026b089b762c68401b6277355e', tappable: this.backdropDismiss }), hAsync("div", { key: 'b31ce08019e7223a098d18cb857f72eddc245e98', tabindex: "0" }), hAsync("div", { key: '77efa4b9f7062f55ba0998a09a24550ec0b9b4f5', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '648e0768610ee57f9e5c84b8955da497ec9b0b82', class: "alert-head" }, header && (hAsync("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (hAsync("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'f3d752cce77ca021dc959611ad5078b94b7f3cec', tabindex: "0" })));
12831
12666
  }
12832
12667
  get el() { return getElement(this); }
12833
12668
  static get watchers() { return {
@@ -15913,7 +15748,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
15913
15748
  }
15914
15749
  return dayPeriod.toUpperCase();
15915
15750
  };
15916
- const getLocalizedTime = (locale, refParts, hourCycle) => {
15751
+ /**
15752
+ * Including time zone options may lead to the rendered text showing a
15753
+ * different time from what was selected in the Datetime, which could cause
15754
+ * confusion.
15755
+ */
15756
+ const stripTimeZone = (formatOptions) => {
15757
+ /**
15758
+ * We do not want to display the time zone name
15759
+ */
15760
+ delete formatOptions.timeZoneName;
15761
+ /**
15762
+ * Setting the time zone to UTC ensures that the value shown is always the
15763
+ * same as what was selected and safeguards against older Safari bugs with
15764
+ * Intl.DateTimeFormat.
15765
+ */
15766
+ formatOptions.timeZone = 'UTC';
15767
+ return formatOptions;
15768
+ };
15769
+ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions) => {
15917
15770
  const timeParts = {
15918
15771
  hour: refParts.hour,
15919
15772
  minute: refParts.minute,
@@ -15921,28 +15774,17 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
15921
15774
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
15922
15775
  return 'Invalid Time';
15923
15776
  }
15924
- return new Intl.DateTimeFormat(locale, {
15925
- hour: 'numeric',
15926
- minute: 'numeric',
15927
- /**
15928
- * Setting the timeZone to UTC prevents
15929
- * new Intl.DatetimeFormat from subtracting
15930
- * the user's current timezone offset
15931
- * when formatting the time.
15932
- */
15933
- timeZone: 'UTC',
15777
+ const defaultFormatOptions = { hour: 'numeric', minute: 'numeric' };
15778
+ /**
15779
+ * If any options are provided, don't use any of the defaults.
15780
+ */
15781
+ const options = stripTimeZone(formatOptions !== null && formatOptions !== void 0 ? formatOptions : defaultFormatOptions);
15782
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, options), {
15934
15783
  /**
15935
15784
  * We use hourCycle here instead of hour12 due to:
15936
15785
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
15937
15786
  */
15938
- hourCycle,
15939
- /**
15940
- * Setting Z at the end indicates that this
15941
- * date string is in the UTC time zone. This
15942
- * prevents new Date from adding the time zone
15943
- * offset when getting the ISO string.
15944
- */
15945
- }).format(new Date(convertDataToISO(Object.assign({
15787
+ hourCycle })).format(new Date(convertDataToISO(Object.assign({
15946
15788
  /**
15947
15789
  * JS uses a simplified ISO 8601 format which allows for
15948
15790
  * date-only formats and date-time formats, but not
@@ -16028,14 +15870,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
16028
15870
  */
16029
15871
  return today ? `Today, ${labelString}` : labelString;
16030
15872
  };
16031
- /**
16032
- * Gets the day of the week, month, and day
16033
- * Used for the header in MD mode.
16034
- */
16035
- const getMonthAndDay = (locale, refParts) => {
16036
- const date = getNormalizedDate(refParts);
16037
- return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
16038
- };
16039
15873
  /**
16040
15874
  * Given a locale and a date object,
16041
15875
  * return a formatted string that includes
@@ -16046,15 +15880,6 @@ const getMonthAndYear = (locale, refParts) => {
16046
15880
  const date = getNormalizedDate(refParts);
16047
15881
  return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
16048
15882
  };
16049
- /**
16050
- * Given a locale and a date object,
16051
- * return a formatted string that includes
16052
- * the short month, numeric day, and full year.
16053
- * Example: Apr 22, 2021
16054
- */
16055
- const getMonthDayAndYear = (locale, refParts) => {
16056
- return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
16057
- };
16058
15883
  /**
16059
15884
  * Given a locale and a date object,
16060
15885
  * return a formatted string that includes
@@ -16104,7 +15929,7 @@ const getNormalizedDate = (refParts) => {
16104
15929
  */
16105
15930
  const getLocalizedDateTime = (locale, refParts, options) => {
16106
15931
  const date = getNormalizedDate(refParts);
16107
- return getDateTimeFormat(locale, options).format(date);
15932
+ return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
16108
15933
  };
16109
15934
  /**
16110
15935
  * Given a locale, DatetimeParts, and options
@@ -17460,6 +17285,34 @@ class Datetime {
17460
17285
  this.resolveForceDateScrolling = undefined;
17461
17286
  this.forceRenderDate = undefined;
17462
17287
  };
17288
+ this.checkForPresentationFormatMismatch = () => {
17289
+ const { formatOptions, presentation } = this;
17290
+ // formatOptions is not required
17291
+ if (!formatOptions)
17292
+ return;
17293
+ // If formatOptions is provided, the date and/or time objects are required, depending on the presentation
17294
+ switch (presentation) {
17295
+ case 'date':
17296
+ case 'month-year':
17297
+ case 'month':
17298
+ case 'year':
17299
+ if (formatOptions.date === undefined) {
17300
+ printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, this.el);
17301
+ }
17302
+ break;
17303
+ case 'time':
17304
+ if (formatOptions.time === undefined) {
17305
+ printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, this.el);
17306
+ }
17307
+ break;
17308
+ case 'date-time':
17309
+ case 'time-date':
17310
+ if (formatOptions.date === undefined || formatOptions.time === undefined) {
17311
+ printIonWarning(`Datetime: The '${presentation}' presentation requires both a date and time object in formatOptions.`, this.el);
17312
+ }
17313
+ break;
17314
+ }
17315
+ };
17463
17316
  this.onFocus = () => {
17464
17317
  this.ionFocus.emit();
17465
17318
  };
@@ -17518,6 +17371,7 @@ class Datetime {
17518
17371
  this.color = 'primary';
17519
17372
  this.name = this.inputId;
17520
17373
  this.disabled = false;
17374
+ this.formatOptions = undefined;
17521
17375
  this.readonly = false;
17522
17376
  this.isDateEnabled = undefined;
17523
17377
  this.min = undefined;
@@ -17545,6 +17399,10 @@ class Datetime {
17545
17399
  this.size = 'fixed';
17546
17400
  this.preferWheel = false;
17547
17401
  }
17402
+ formatOptionsChanged() {
17403
+ this.checkForPresentationFormatMismatch();
17404
+ this.errorIfTimeZoneProvided();
17405
+ }
17548
17406
  disabledChanged() {
17549
17407
  this.emitStyle();
17550
17408
  }
@@ -17554,6 +17412,9 @@ class Datetime {
17554
17412
  maxChanged() {
17555
17413
  this.processMaxParts();
17556
17414
  }
17415
+ presentationChanged() {
17416
+ this.checkForPresentationFormatMismatch();
17417
+ }
17557
17418
  get isGridStyle() {
17558
17419
  const { presentation, preferWheel } = this;
17559
17420
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
@@ -17789,7 +17650,7 @@ class Datetime {
17789
17650
  });
17790
17651
  }
17791
17652
  componentWillLoad() {
17792
- const { el, highlightedDates, multiple, presentation, preferWheel } = this;
17653
+ const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
17793
17654
  if (multiple) {
17794
17655
  if (presentation !== 'date') {
17795
17656
  printIonWarning('Multiple date selection is only supported for presentation="date".', el);
@@ -17806,6 +17667,10 @@ class Datetime {
17806
17667
  printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
17807
17668
  }
17808
17669
  }
17670
+ if (formatOptions) {
17671
+ this.checkForPresentationFormatMismatch();
17672
+ this.errorIfTimeZoneProvided();
17673
+ }
17809
17674
  const hourValues = (this.parsedHourValues = convertToArrayOfNumbers(this.hourValues));
17810
17675
  const minuteValues = (this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues));
17811
17676
  const monthValues = (this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues));
@@ -17827,6 +17692,21 @@ class Datetime {
17827
17692
  this.processValue(this.value);
17828
17693
  this.emitStyle();
17829
17694
  }
17695
+ /**
17696
+ * If a time zone is provided in the format options, the rendered text could
17697
+ * differ from what was selected in the Datetime, which could cause
17698
+ * confusion.
17699
+ */
17700
+ errorIfTimeZoneProvided() {
17701
+ var _a, _b, _c, _d;
17702
+ const { formatOptions } = this;
17703
+ if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
17704
+ ((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
17705
+ ((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
17706
+ ((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
17707
+ printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".');
17708
+ }
17709
+ }
17830
17710
  emitStyle() {
17831
17711
  this.ionStyle.emit({
17832
17712
  interactive: true,
@@ -18313,7 +18193,7 @@ class Datetime {
18313
18193
  return hAsync("slot", { name: "time-label" }, "Time");
18314
18194
  }
18315
18195
  renderTimeOverlay() {
18316
- const { disabled, hourCycle, isTimePopoverOpen, locale } = this;
18196
+ const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
18317
18197
  const computedHourCycle = getHourCycle(locale, hourCycle);
18318
18198
  const activePart = this.getActivePartsWithFallback();
18319
18199
  return [
@@ -18333,7 +18213,7 @@ class Datetime {
18333
18213
  await popoverRef.onWillDismiss();
18334
18214
  this.isTimePopoverOpen = false;
18335
18215
  }
18336
- } }, getLocalizedTime(locale, activePart, computedHourCycle)),
18216
+ } }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
18337
18217
  hAsync("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
18338
18218
  /**
18339
18219
  * Intersection Observers do not consistently fire between Blink and Webkit
@@ -18356,7 +18236,8 @@ class Datetime {
18356
18236
  ];
18357
18237
  }
18358
18238
  getHeaderSelectedDateText() {
18359
- const { activeParts, multiple, titleSelectedDatesFormatter } = this;
18239
+ var _a;
18240
+ const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
18360
18241
  const isArray = Array.isArray(activeParts);
18361
18242
  let headerText;
18362
18243
  if (multiple && isArray && activeParts.length !== 1) {
@@ -18372,7 +18253,7 @@ class Datetime {
18372
18253
  }
18373
18254
  else {
18374
18255
  // for exactly 1 day selected (multiple set or not), show a formatted version of that
18375
- headerText = getMonthAndDay(this.locale, this.getActivePartsWithFallback());
18256
+ headerText = 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' });
18376
18257
  }
18377
18258
  return headerText;
18378
18259
  }
@@ -18461,7 +18342,7 @@ class Datetime {
18461
18342
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
18462
18343
  const hasWheelVariant = hasDatePresentation && preferWheel;
18463
18344
  renderHiddenInput(true, el, name, formatValue(value), disabled);
18464
- return (hAsync(Host, { key: 'b00545b7bbba3ccf35d53c1eec4f1614fb830c11', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
18345
+ return (hAsync(Host, { key: 'ff50a7d344831b3af2e7f5cfe52b0a71c8c4b8d1', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
18465
18346
  [mode]: true,
18466
18347
  ['datetime-readonly']: readonly,
18467
18348
  ['datetime-disabled']: disabled,
@@ -18475,9 +18356,11 @@ class Datetime {
18475
18356
  }
18476
18357
  get el() { return getElement(this); }
18477
18358
  static get watchers() { return {
18359
+ "formatOptions": ["formatOptionsChanged"],
18478
18360
  "disabled": ["disabledChanged"],
18479
18361
  "min": ["minChanged"],
18480
18362
  "max": ["maxChanged"],
18363
+ "presentation": ["presentationChanged"],
18481
18364
  "yearValues": ["yearValuesChanged"],
18482
18365
  "monthValues": ["monthValuesChanged"],
18483
18366
  "dayValues": ["dayValuesChanged"],
@@ -18496,6 +18379,7 @@ class Datetime {
18496
18379
  "color": [1],
18497
18380
  "name": [1],
18498
18381
  "disabled": [4],
18382
+ "formatOptions": [16],
18499
18383
  "readonly": [4],
18500
18384
  "isDateEnabled": [16],
18501
18385
  "min": [1025],
@@ -18578,11 +18462,12 @@ class DatetimeButton {
18578
18462
  * to the locale specified on ion-datetime.
18579
18463
  */
18580
18464
  this.setDateTimeText = () => {
18465
+ var _a, _b, _c, _d, _e;
18581
18466
  const { datetimeEl, datetimePresentation } = this;
18582
18467
  if (!datetimeEl) {
18583
18468
  return;
18584
18469
  }
18585
- const { value, locale, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
18470
+ const { value, locale, formatOptions, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
18586
18471
  const parsedValues = this.getParsedDateValues(value);
18587
18472
  /**
18588
18473
  * Both ion-datetime and ion-datetime-button default
@@ -18605,8 +18490,8 @@ class DatetimeButton {
18605
18490
  switch (datetimePresentation) {
18606
18491
  case 'date-time':
18607
18492
  case 'time-date':
18608
- const dateText = getMonthDayAndYear(locale, firstParsedDatetime);
18609
- const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
18493
+ const dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { month: 'short', day: 'numeric', year: 'numeric' });
18494
+ const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
18610
18495
  if (preferWheel) {
18611
18496
  this.dateText = `${dateText} ${timeText}`;
18612
18497
  }
@@ -18629,20 +18514,20 @@ class DatetimeButton {
18629
18514
  this.dateText = headerText;
18630
18515
  }
18631
18516
  else {
18632
- this.dateText = getMonthDayAndYear(locale, firstParsedDatetime);
18517
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _b !== void 0 ? _b : { month: 'short', day: 'numeric', year: 'numeric' });
18633
18518
  }
18634
18519
  break;
18635
18520
  case 'time':
18636
- this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
18521
+ this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
18637
18522
  break;
18638
18523
  case 'month-year':
18639
- this.dateText = getMonthAndYear(locale, firstParsedDatetime);
18524
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _c !== void 0 ? _c : { month: 'long', year: 'numeric' });
18640
18525
  break;
18641
18526
  case 'month':
18642
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { month: 'long' });
18527
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _d !== void 0 ? _d : { month: 'long' });
18643
18528
  break;
18644
18529
  case 'year':
18645
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { year: 'numeric' });
18530
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_e = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _e !== void 0 ? _e : { year: 'numeric' });
18646
18531
  break;
18647
18532
  }
18648
18533
  };
@@ -18871,7 +18756,7 @@ class DatetimeButton {
18871
18756
  render() {
18872
18757
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
18873
18758
  const mode = getIonMode$1(this);
18874
- return (hAsync(Host, { key: '36fe34d4225940611d74bdef5b954d54749d2dca', class: createColorClasses$1(color, {
18759
+ return (hAsync(Host, { key: '861a08f4a239de771875aee9b505e06ac7064b32', class: createColorClasses$1(color, {
18875
18760
  [mode]: true,
18876
18761
  [`${selectedButton}-active`]: datetimeActive,
18877
18762
  ['datetime-button-disabled']: disabled,
@@ -21417,7 +21302,7 @@ class Item {
21417
21302
  const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
21418
21303
  const fillValue = fill || 'none';
21419
21304
  const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
21420
- return (hAsync(Host, { key: '077c9ab04985292f79c30691151d2778a26285fb', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses$1(this.color, {
21305
+ return (hAsync(Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses$1(this.color, {
21421
21306
  item: true,
21422
21307
  [mode]: true,
21423
21308
  'item-lines-default': lines === undefined,
@@ -21431,7 +21316,7 @@ class Item {
21431
21316
  'ion-activatable': canActivate,
21432
21317
  'ion-focusable': this.focusable,
21433
21318
  'item-rtl': document.dir === 'rtl',
21434
- })), role: inList ? 'listitem' : null }, hAsync(TagType, Object.assign({ key: '08bb75c85d0584e9fb7f461e9e06b9b651ef3515' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), hAsync("slot", { key: '3f742b07c4a58eadedf675be4878a3e00070750e', name: "start" }), hAsync("div", { key: '0160b8963434f3107856a2df2fb96f1abb4fdbfe', class: "item-inner" }, hAsync("div", { key: '9439b21474443341f06a651d7c44aef90bd4c591', class: "input-wrapper" }, hAsync("slot", { key: '8034e1337a6c950b7725bc9aa46d55de980827bf' })), hAsync("slot", { key: '690de6d3dd3a238ab7a2d3dfea69daa6647e5134', name: "end" }), showDetail && (hAsync("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), hAsync("div", { key: 'e96885084ca845656fd4d18902528ce7de207c86', class: "item-inner-highlight" })), canActivate && mode === 'md' && hAsync("ion-ripple-effect", null), hAsync("div", { key: '64e5323c380e05aa183e8dd7fbe560d084725f5e', class: "item-highlight" })), hAsync("div", { key: '677132e6193981697f494b215ddc02407fdd96a5', class: "item-bottom" }, hAsync("slot", { key: 'cda34a9208020bbb18ca5313e0bfbf270f024012', name: "error" }), hAsync("slot", { key: 'c1b3541b11ece13309d0e28dd3a95c048dfab43f', name: "helper" }), counterString && hAsync("ion-note", { class: "item-counter" }, counterString))));
21319
+ })), role: inList ? 'listitem' : null }, hAsync(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), hAsync("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), hAsync("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, hAsync("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, hAsync("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), hAsync("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (hAsync("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), hAsync("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && hAsync("ion-ripple-effect", null), hAsync("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), hAsync("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, hAsync("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), hAsync("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && hAsync("ion-note", { class: "item-counter" }, counterString))));
21435
21320
  }
21436
21321
  static get delegatesFocus() { return true; }
21437
21322
  get el() { return getElement(this); }
@@ -22554,10 +22439,6 @@ class Loading {
22554
22439
  * This can be useful in a button handler for determining which button was
22555
22440
  * clicked to dismiss the loading.
22556
22441
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
22557
- *
22558
- * This is a no-op if the overlay has not been presented yet. If you want
22559
- * to remove an overlay from the DOM that was never presented, use the
22560
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
22561
22442
  */
22562
22443
  async dismiss(data, role) {
22563
22444
  const unlock = await this.lockController.lock();
@@ -22599,9 +22480,9 @@ class Loading {
22599
22480
  * Otherwise, don't set aria-labelledby.
22600
22481
  */
22601
22482
  const ariaLabelledBy = message !== undefined ? msgId : null;
22602
- return (hAsync(Host, Object.assign({ key: '95123f54ba1db5e59563d79db075315b43ed20f7', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22483
+ return (hAsync(Host, Object.assign({ key: '81295894ca6e047124918420f2483c092ebf91b9', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22603
22484
  zIndex: `${40000 + this.overlayIndex}`,
22604
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'e113bf123eaad38f2dafce8ea5d2ebef409d0c0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '1268c9480854383c7883a79d597350540ade93c2', tabindex: "0" }), hAsync("div", { key: 'e86fc71504ebd578117dea2232d9740a087d1249', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { class: "loading-spinner" }, hAsync("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '3b91e2492e06aa65ebe77ed2b6ffb9d2f84bdd9c', tabindex: "0" })));
22485
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'db9fbd946cf3eb03c3a70f2e71c49ab233df1879', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'd27b03de0b450c0668d4b4077d76bc5b283f03cf', tabindex: "0" }), hAsync("div", { key: '7112719ddd487365c1e36fc4dec32aac888dbb52', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { class: "loading-spinner" }, hAsync("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '5715dd7dae209ae58e5557cb60f3ae514752b822', tabindex: "0" })));
22605
22486
  }
22606
22487
  get el() { return getElement(this); }
22607
22488
  static get watchers() { return {
@@ -25480,10 +25361,6 @@ class Modal {
25480
25361
  *
25481
25362
  * @param data Any data to emit in the dismiss events.
25482
25363
  * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'.
25483
- *
25484
- * This is a no-op if the overlay has not been presented yet. If you want
25485
- * to remove an overlay from the DOM that was never presented, use the
25486
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
25487
25364
  */
25488
25365
  async dismiss(data, role) {
25489
25366
  var _a;
@@ -25614,9 +25491,9 @@ class Modal {
25614
25491
  const mode = getIonMode$1(this);
25615
25492
  const isCardModal = presentingElement !== undefined && mode === 'ios';
25616
25493
  const isHandleCycle = handleBehavior === 'cycle';
25617
- return (hAsync(Host, Object.assign({ key: '0c2c4369ab2df4ef4660addea5e927c6a0232864', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
25494
+ return (hAsync(Host, Object.assign({ key: '9a305d82f123283b6200c42d67393b378bb309a8', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
25618
25495
  zIndex: `${20000 + this.overlayIndex}`,
25619
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'd044383a776c2ee1703f996caedaedca47f2948f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { class: "modal-shadow" }), hAsync("div", Object.assign({ key: '8d23b6a3cc9069e4d46fa0645cde9db3e6f89507',
25496
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '85e8dc6f19b30fd95db518445929fb0c1d5cdef0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { class: "modal-shadow" }), hAsync("div", Object.assign({ key: '893a0202d91828e60099311442c2677bee5464e2',
25620
25497
  /*
25621
25498
  role and aria-modal must be used on the
25622
25499
  same element. They must also be set inside the
@@ -25625,7 +25502,7 @@ class Modal {
25625
25502
  */
25626
25503
  role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { class: "modal-handle",
25627
25504
  // Prevents the handle from receiving keyboard focus when it does not cycle
25628
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '3fbb689e4bf5575fbb26ad1000f6ac5993f3bf8f' }))));
25505
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '25187bf4c69d9022930227b8b8748a294176be5f' }))));
25629
25506
  }
25630
25507
  get el() { return getElement(this); }
25631
25508
  static get watchers() { return {
@@ -26855,10 +26732,6 @@ class Picker {
26855
26732
  * This can be useful in a button handler for determining which button was
26856
26733
  * clicked to dismiss the picker.
26857
26734
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
26858
- *
26859
- * This is a no-op if the overlay has not been presented yet. If you want
26860
- * to remove an overlay from the DOM that was never presented, use the
26861
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
26862
26735
  */
26863
26736
  async dismiss(data, role) {
26864
26737
  const unlock = await this.lockController.lock();
@@ -26930,11 +26803,11 @@ class Picker {
26930
26803
  render() {
26931
26804
  const { htmlAttributes } = this;
26932
26805
  const mode = getIonMode$1(this);
26933
- return (hAsync(Host, Object.assign({ key: 'c266cc072afaba2da22f70d8b62dc4bc6756d188', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
26806
+ return (hAsync(Host, Object.assign({ key: '8b9049c5315e701dff3f7457be646941bb3cc0df', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
26934
26807
  zIndex: `${20000 + this.overlayIndex}`,
26935
26808
  }, class: Object.assign({ [mode]: true,
26936
26809
  // Used internally for styling
26937
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '35ee3e5028028835580e28ac2c8db65a924d5d6a', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '8b454e6edbcfc45c57d3d8baf7c14b7905921a6e', tabindex: "0" }), hAsync("div", { key: 'e0fee78ec6d097bf0963190f748e5daad602e0f7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: 'ce66bca18fc3e982ad7d6660f27cb1a03fb8247b', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'a58b9523fe16f109dd6de0610717c5077fed964b', class: "picker-columns" }, hAsync("div", { key: 'acd54c0314cff51e8513a08dd9755c4b847c0617', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-column", { col: c })), hAsync("div", { key: '604730bd87582d048d850c6e0a0f29ba33258918', class: "picker-below-highlight" }))), hAsync("div", { key: '93baf5e6e57aec5f084d7d5b24af14e7d8126b5a', tabindex: "0" })));
26810
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '4f62ae6c088108189bfab18b680f0ae50b4cc395', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c5fd2584ca4470c69bf61582cef2ac72289addba', tabindex: "0" }), hAsync("div", { key: '2e68572dd5ddc4911c1e6bca57a2157b47477348', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '218526e531998a4d5a6377499acb42f99b347729', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '4dd711f1fa1f2a4bd24696ae1633da16bbf55879', class: "picker-columns" }, hAsync("div", { key: '440ebd807ca3675b0055e67e0354ac4625ae375d', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-column", { col: c })), hAsync("div", { key: '5cdceda410904470e3742ab416ed3d3a661b6859', class: "picker-below-highlight" }))), hAsync("div", { key: '0c96e8a43a6d4cd4b8b7c9e81c54414eb1d989bf', tabindex: "0" })));
26938
26811
  }
26939
26812
  get el() { return getElement(this); }
26940
26813
  static get watchers() { return {
@@ -29469,10 +29342,6 @@ class Popover {
29469
29342
  * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.
29470
29343
  * @param dismissParentPopover If `true`, dismissing this popover will also dismiss
29471
29344
  * a parent popover if this popover is nested. Defaults to `true`.
29472
- *
29473
- * This is a no-op if the overlay has not been presented yet. If you want
29474
- * to remove an overlay from the DOM that was never presented, use the
29475
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
29476
29345
  */
29477
29346
  async dismiss(data, role, dismissParentPopover = true) {
29478
29347
  const unlock = await this.lockController.lock();
@@ -29524,9 +29393,9 @@ class Popover {
29524
29393
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
29525
29394
  const desktop = isPlatform('desktop');
29526
29395
  const enableArrow = arrow && !parentPopover;
29527
- return (hAsync(Host, Object.assign({ key: '104a5bf92a9bbd2efc71d499a8500e5d55f81711', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
29396
+ return (hAsync(Host, Object.assign({ key: 'f335ae001173483e6a973b2084f8a7b6b895ae5d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
29528
29397
  zIndex: `${20000 + this.overlayIndex}`,
29529
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'ef0baa04c22444d4bc705220235a892308d67586', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '5cc5f5c353de614e484e9cfeacecfca9fbfde0e0', class: "popover-content", part: "content" }, hAsync("slot", { key: '2d85c591cdc85efa98afbf40f676525f1402efcf' })))));
29398
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '8468f39b0a0f30b42ae9cac51950e5f0b9be1069', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'cb4eeaef385187f3c8e566931844e30edd5451c4', class: "popover-content", part: "content" }, hAsync("slot", { key: '80a5739a4beb6eba150503e426104701954c90b9' })))));
29530
29399
  }
29531
29400
  get el() { return getElement(this); }
29532
29401
  static get watchers() { return {
@@ -37073,10 +36942,6 @@ class Toast {
37073
36942
  * This can be useful in a button handler for determining which button was
37074
36943
  * clicked to dismiss the toast.
37075
36944
  * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
37076
- *
37077
- * This is a no-op if the overlay has not been presented yet. If you want
37078
- * to remove an overlay from the DOM that was never presented, use the
37079
- * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.
37080
36945
  */
37081
36946
  async dismiss(data, role) {
37082
36947
  var _a, _b;
@@ -37244,9 +37109,9 @@ class Toast {
37244
37109
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
37245
37110
  printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
37246
37111
  }
37247
- return (hAsync(Host, Object.assign({ key: 'c8d7e7d2baa01d3ed5d65a845bc61acf087c0b18', tabindex: "-1" }, this.htmlAttributes, { style: {
37112
+ return (hAsync(Host, Object.assign({ key: '15a5c3e8d475435c838b70c55ef2e7cc12d6abfb', tabindex: "-1" }, this.htmlAttributes, { style: {
37248
37113
  zIndex: `${60000 + this.overlayIndex}`,
37249
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '27c0feeb89c4efb47c42623a4b036ed84338ed10', class: wrapperClass }, hAsync("div", { key: '41d5a3069f92e4a6acef2793fa4e236cdbdaae88', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '176f497bc990ef2ecc14c7fa90dd3a54a912030a', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
37114
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'a6ed7fb75ab098dc632d1a546b4d5298675c14c1', class: wrapperClass }, hAsync("div", { key: '68ff7219e9abae0b7c2030369ebffd2fe0edf7de', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '6b45ca5e283d3507c682cbe733e27a94460a7f69', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
37250
37115
  }
37251
37116
  get el() { return getElement(this); }
37252
37117
  static get watchers() { return {