voyager-ionic-core 7.7.3 → 7.8.6

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 (610) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -1
  4. package/components/button.js +4 -4
  5. package/components/buttons.js +1 -1
  6. package/components/checkbox.js +1 -1
  7. package/components/data.js +23 -38
  8. package/components/hardware-back-button.js +3 -3
  9. package/components/input-shims.js +5 -5
  10. package/components/ion-app.js +4 -4
  11. package/components/ion-avatar.js +1 -1
  12. package/components/ion-back-button.js +2 -2
  13. package/components/ion-badge.js +2 -2
  14. package/components/ion-breadcrumb.js +4 -4
  15. package/components/ion-breadcrumbs.js +2 -2
  16. package/components/ion-card-content.js +1 -1
  17. package/components/ion-card-header.js +2 -2
  18. package/components/ion-card-subtitle.js +2 -2
  19. package/components/ion-card-title.js +2 -2
  20. package/components/ion-card.js +1 -1
  21. package/components/ion-chip.js +2 -2
  22. package/components/ion-col.js +2 -2
  23. package/components/ion-content.js +3 -3
  24. package/components/ion-datetime-button.js +12 -11
  25. package/components/ion-datetime.js +75 -12
  26. package/components/ion-fab-button.js +2 -2
  27. package/components/ion-fab-list.js +2 -2
  28. package/components/ion-fab.js +2 -2
  29. package/components/ion-footer.js +2 -2
  30. package/components/ion-grid.js +2 -2
  31. package/components/ion-header.js +3 -3
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +2 -2
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input.js +8 -0
  36. package/components/ion-item-divider.js +2 -2
  37. package/components/ion-item-group.js +1 -1
  38. package/components/ion-item-option.js +2 -2
  39. package/components/ion-item-options.js +1 -1
  40. package/components/ion-item-sliding.js +1 -1
  41. package/components/ion-loading.js +2 -2
  42. package/components/ion-menu-button.js +2 -2
  43. package/components/ion-menu-toggle.js +2 -2
  44. package/components/ion-menu.js +3 -3
  45. package/components/ion-modal.js +81 -25
  46. package/components/ion-nav-link.js +1 -1
  47. package/components/ion-nav.js +1 -1
  48. package/components/ion-picker.js +2 -2
  49. package/components/ion-progress-bar.js +1 -1
  50. package/components/ion-range.js +126 -21
  51. package/components/ion-refresher-content.js +1 -1
  52. package/components/ion-refresher.js +1 -1
  53. package/components/ion-reorder-group.js +1 -1
  54. package/components/ion-reorder.js +1 -1
  55. package/components/ion-router-link.js +2 -2
  56. package/components/ion-router-outlet.js +1 -1
  57. package/components/ion-row.js +1 -1
  58. package/components/ion-searchbar.js +35 -6
  59. package/components/ion-segment-button.js +3 -3
  60. package/components/ion-segment.js +2 -2
  61. package/components/ion-select-option.js +1 -1
  62. package/components/ion-skeleton-text.js +2 -2
  63. package/components/ion-split-pane.js +2 -2
  64. package/components/ion-tab-bar.js +2 -2
  65. package/components/ion-tab-button.js +2 -2
  66. package/components/ion-tab.js +2 -2
  67. package/components/ion-tabs.js +1 -1
  68. package/components/ion-text.js +2 -2
  69. package/components/ion-thumbnail.js +1 -1
  70. package/components/ion-title.js +2 -2
  71. package/components/ion-toast.js +2 -2
  72. package/components/ion-toolbar.js +2 -2
  73. package/components/item.js +1 -1
  74. package/components/label.js +1 -1
  75. package/components/list-header.js +2 -2
  76. package/components/list.js +1 -1
  77. package/components/note.js +2 -2
  78. package/components/overlays.js +61 -19
  79. package/components/picker-column-internal.js +8 -4
  80. package/components/picker-column.js +2 -2
  81. package/components/picker-internal.js +2 -2
  82. package/components/popover.js +4 -4
  83. package/components/radio-group.js +1 -1
  84. package/components/ripple-effect.js +1 -1
  85. package/components/select-popover.js +1 -1
  86. package/components/spinner.js +1 -1
  87. package/css/core.css +1 -561
  88. package/css/core.css.map +1 -1
  89. package/css/display.css +1 -131
  90. package/css/display.css.map +1 -1
  91. package/css/flex-utils.css +1 -81
  92. package/css/flex-utils.css.map +1 -1
  93. package/css/float-elements.css +1 -293
  94. package/css/float-elements.css.map +1 -1
  95. package/css/global.bundle.css +1 -457
  96. package/css/global.bundle.css.map +1 -1
  97. package/css/ionic-swiper.css +1 -127
  98. package/css/ionic-swiper.css.map +1 -1
  99. package/css/ionic.bundle.css +1 -1
  100. package/css/ionic.bundle.css.map +1 -1
  101. package/css/normalize.css +1 -150
  102. package/css/normalize.css.map +1 -1
  103. package/css/padding.css +1 -202
  104. package/css/padding.css.map +1 -1
  105. package/css/structure.css +1 -152
  106. package/css/structure.css.map +1 -1
  107. package/css/text-alignment.css +1 -243
  108. package/css/text-alignment.css.map +1 -1
  109. package/css/text-transformation.css +1 -158
  110. package/css/text-transformation.css.map +1 -1
  111. package/css/typography.css +1 -157
  112. package/css/typography.css.map +1 -1
  113. package/css/utils.bundle.css +1 -1100
  114. package/css/utils.bundle.css.map +1 -1
  115. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-c5eb104c.js} +1 -1
  116. package/dist/cjs/{button-active-2d6520ec.js → button-active-181d142e.js} +1 -1
  117. package/dist/cjs/{data-a5109f09.js → data-4487a815.js} +22 -39
  118. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-adba3ac7.js} +5 -5
  119. package/dist/cjs/{index-9bfcb6e8.js → index-1f7c54f8.js} +3 -3
  120. package/dist/cjs/{index-0ffe376d.js → index-22617dd6.js} +51 -7
  121. package/dist/cjs/{index-4c96691f.js → index-5c38afe7.js} +2 -2
  122. package/dist/cjs/index.cjs.js +8 -8
  123. package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-05ac9905.js} +5 -5
  124. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  125. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  126. package/dist/cjs/ion-alert.cjs.entry.js +7 -7
  127. package/dist/cjs/ion-app_8.cjs.entry.js +24 -24
  128. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  129. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  130. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  131. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -8
  132. package/dist/cjs/ion-button_2.cjs.entry.js +6 -6
  133. package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
  134. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  135. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  136. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  137. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -13
  138. package/dist/cjs/ion-datetime_3.cjs.entry.js +80 -20
  139. package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
  140. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  141. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  142. package/dist/cjs/ion-input.cjs.entry.js +10 -2
  143. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  144. package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
  145. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  146. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  147. package/dist/cjs/ion-modal.cjs.entry.js +86 -30
  148. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
  149. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +10 -6
  150. package/dist/cjs/ion-picker-internal.cjs.entry.js +3 -3
  151. package/dist/cjs/ion-popover.cjs.entry.js +9 -9
  152. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  154. package/dist/cjs/ion-range.cjs.entry.js +128 -23
  155. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  156. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  157. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  158. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  159. package/dist/cjs/ion-searchbar.cjs.entry.js +31 -7
  160. package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
  161. package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
  162. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  163. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  164. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  165. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  166. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  167. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  168. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  169. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  170. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-c5503e93.js} +1 -1
  171. package/dist/cjs/ionic.cjs.js +5 -5
  172. package/dist/cjs/{ios.transition-96679580.js → ios.transition-30830fc4.js} +2 -2
  173. package/dist/cjs/loader.cjs.js +4 -4
  174. package/dist/cjs/{md.transition-d6c98822.js → md.transition-7f581866.js} +2 -2
  175. package/dist/cjs/{overlays-db5d96f3.js → overlays-129dfc13.js} +62 -20
  176. package/dist/cjs/{status-tap-7ad5f0fb.js → status-tap-03d82840.js} +1 -1
  177. package/dist/collection/collection-manifest.json +2 -2
  178. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  179. package/dist/collection/components/alert/alert.js +2 -2
  180. package/dist/collection/components/alert/test/a11y/alert.e2e.js +4 -0
  181. package/dist/collection/components/app/app.js +4 -4
  182. package/dist/collection/components/avatar/avatar.js +1 -1
  183. package/dist/collection/components/back-button/back-button.js +2 -2
  184. package/dist/collection/components/backdrop/backdrop.js +1 -1
  185. package/dist/collection/components/badge/badge.js +2 -2
  186. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  187. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  188. package/dist/collection/components/button/button.ios.css +5 -5
  189. package/dist/collection/components/button/button.js +2 -2
  190. package/dist/collection/components/button/button.md.css +4 -5
  191. package/dist/collection/components/buttons/buttons.js +1 -1
  192. package/dist/collection/components/card/card.js +1 -1
  193. package/dist/collection/components/card-content/card-content.js +1 -1
  194. package/dist/collection/components/card-header/card-header.js +2 -2
  195. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  196. package/dist/collection/components/card-title/card-title.js +2 -2
  197. package/dist/collection/components/checkbox/checkbox.js +1 -1
  198. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  199. package/dist/collection/components/chip/chip.js +2 -2
  200. package/dist/collection/components/col/col.js +2 -2
  201. package/dist/collection/components/content/content.js +3 -3
  202. package/dist/collection/components/datetime/datetime.js +56 -12
  203. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
  204. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  205. package/dist/collection/components/datetime/utils/format.js +24 -37
  206. package/dist/collection/components/datetime/utils/validate.js +45 -0
  207. package/dist/collection/components/datetime-button/datetime-button.js +12 -11
  208. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  209. package/dist/collection/components/fab/fab.js +2 -2
  210. package/dist/collection/components/fab-button/fab-button.js +2 -2
  211. package/dist/collection/components/fab-list/fab-list.js +2 -2
  212. package/dist/collection/components/footer/footer.js +2 -2
  213. package/dist/collection/components/grid/grid.js +2 -2
  214. package/dist/collection/components/header/header.ios.css +5 -2
  215. package/dist/collection/components/header/header.js +2 -2
  216. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  217. package/dist/collection/components/img/img.js +1 -1
  218. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  219. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  220. package/dist/collection/components/input/input.js +8 -0
  221. package/dist/collection/components/item/item.js +1 -1
  222. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  223. package/dist/collection/components/item-divider/item-divider.js +2 -2
  224. package/dist/collection/components/item-group/item-group.js +1 -1
  225. package/dist/collection/components/item-option/item-option.js +2 -2
  226. package/dist/collection/components/item-options/item-options.js +1 -1
  227. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  228. package/dist/collection/components/label/label.js +1 -1
  229. package/dist/collection/components/list/list.js +1 -1
  230. package/dist/collection/components/list-header/list-header.js +2 -2
  231. package/dist/collection/components/loading/loading.js +2 -2
  232. package/dist/collection/components/menu/menu.js +3 -3
  233. package/dist/collection/components/menu-button/menu-button.js +2 -2
  234. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  235. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  236. package/dist/collection/components/modal/modal.js +38 -6
  237. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  238. package/dist/collection/components/nav/nav.js +1 -1
  239. package/dist/collection/components/nav-link/nav-link.js +1 -1
  240. package/dist/collection/components/note/note.js +2 -2
  241. package/dist/collection/components/picker/picker.js +2 -2
  242. package/dist/collection/components/picker-column/picker-column.js +2 -2
  243. package/dist/collection/components/picker-column-internal/picker-column-internal.js +8 -4
  244. package/dist/collection/components/picker-internal/picker-internal.js +2 -2
  245. package/dist/collection/components/popover/popover.ios.css +0 -1
  246. package/dist/collection/components/popover/popover.js +2 -2
  247. package/dist/collection/components/popover/popover.md.css +0 -1
  248. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  249. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  250. package/dist/collection/components/radio-group/radio-group.js +1 -1
  251. package/dist/collection/components/range/range.js +126 -21
  252. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  253. package/dist/collection/components/refresher/refresher.js +1 -1
  254. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  255. package/dist/collection/components/reorder/reorder.js +1 -1
  256. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  257. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  258. package/dist/collection/components/router-link/router-link.js +2 -2
  259. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  260. package/dist/collection/components/row/row.js +1 -1
  261. package/dist/collection/components/searchbar/searchbar.js +86 -6
  262. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  263. package/dist/collection/components/segment/segment.js +2 -2
  264. package/dist/collection/components/segment-button/segment-button.js +3 -3
  265. package/dist/collection/components/select-option/select-option.js +1 -1
  266. package/dist/collection/components/select-popover/select-popover.js +1 -1
  267. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  268. package/dist/collection/components/spinner/spinner.js +1 -1
  269. package/dist/collection/components/split-pane/split-pane.js +2 -2
  270. package/dist/collection/components/tab/tab.js +2 -2
  271. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  272. package/dist/collection/components/tab-button/tab-button.js +2 -2
  273. package/dist/collection/components/tabs/tabs.js +1 -1
  274. package/dist/collection/components/text/text.js +2 -2
  275. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  276. package/dist/collection/components/title/title.js +2 -2
  277. package/dist/collection/components/toast/toast.js +2 -2
  278. package/dist/collection/components/toggle/toggle.js +1 -1
  279. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  280. package/dist/collection/components/toolbar/toolbar.js +2 -2
  281. package/dist/collection/utils/hardware-back-button.js +2 -2
  282. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
  283. package/dist/collection/utils/overlays.js +61 -19
  284. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  285. package/dist/docs.json +117 -4
  286. package/dist/esm/{app-globals-5cf6195b.js → app-globals-318eef52.js} +1 -1
  287. package/dist/esm/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  288. package/dist/esm/{data-0f3ab200.js → data-bb424ba8.js} +23 -38
  289. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-6107a37c.js} +5 -5
  290. package/dist/esm/{index-e1b622e3.js → index-6e05b96e.js} +2 -2
  291. package/dist/esm/{index-4c30cddd.js → index-a1a47f01.js} +51 -7
  292. package/dist/esm/{index-348ed70a.js → index-fae1515c.js} +3 -3
  293. package/dist/esm/index.js +8 -8
  294. package/dist/esm/{input-shims-5329bbe8.js → input-shims-a52daa3a.js} +5 -5
  295. package/dist/esm/ion-accordion_2.entry.js +2 -2
  296. package/dist/esm/ion-action-sheet.entry.js +8 -8
  297. package/dist/esm/ion-alert.entry.js +7 -7
  298. package/dist/esm/ion-app_8.entry.js +24 -24
  299. package/dist/esm/ion-avatar_3.entry.js +6 -6
  300. package/dist/esm/ion-back-button.entry.js +4 -4
  301. package/dist/esm/ion-backdrop.entry.js +3 -3
  302. package/dist/esm/ion-breadcrumb_2.entry.js +8 -8
  303. package/dist/esm/ion-button_2.entry.js +6 -6
  304. package/dist/esm/ion-card_5.entry.js +10 -10
  305. package/dist/esm/ion-checkbox.entry.js +3 -3
  306. package/dist/esm/ion-chip.entry.js +4 -4
  307. package/dist/esm/ion-col_3.entry.js +7 -7
  308. package/dist/esm/ion-datetime-button.entry.js +14 -13
  309. package/dist/esm/ion-datetime_3.entry.js +80 -20
  310. package/dist/esm/ion-fab_3.entry.js +8 -8
  311. package/dist/esm/ion-img.entry.js +3 -3
  312. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  313. package/dist/esm/ion-input.entry.js +10 -2
  314. package/dist/esm/ion-item-option_3.entry.js +6 -6
  315. package/dist/esm/ion-item_8.entry.js +14 -14
  316. package/dist/esm/ion-loading.entry.js +6 -6
  317. package/dist/esm/ion-menu_3.entry.js +11 -11
  318. package/dist/esm/ion-modal.entry.js +86 -30
  319. package/dist/esm/ion-nav_2.entry.js +5 -5
  320. package/dist/esm/ion-picker-column-internal.entry.js +10 -6
  321. package/dist/esm/ion-picker-internal.entry.js +3 -3
  322. package/dist/esm/ion-popover.entry.js +9 -9
  323. package/dist/esm/ion-progress-bar.entry.js +3 -3
  324. package/dist/esm/ion-radio_2.entry.js +3 -3
  325. package/dist/esm/ion-range.entry.js +128 -23
  326. package/dist/esm/ion-refresher_2.entry.js +4 -4
  327. package/dist/esm/ion-reorder_2.entry.js +4 -4
  328. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  329. package/dist/esm/ion-route_4.entry.js +4 -4
  330. package/dist/esm/ion-searchbar.entry.js +32 -8
  331. package/dist/esm/ion-segment_2.entry.js +7 -7
  332. package/dist/esm/ion-select_3.entry.js +6 -6
  333. package/dist/esm/ion-spinner.entry.js +3 -3
  334. package/dist/esm/ion-split-pane.entry.js +4 -4
  335. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  336. package/dist/esm/ion-tab_2.entry.js +4 -4
  337. package/dist/esm/ion-text.entry.js +4 -4
  338. package/dist/esm/ion-textarea.entry.js +2 -2
  339. package/dist/esm/ion-toast.entry.js +6 -6
  340. package/dist/esm/ion-toggle.entry.js +2 -2
  341. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  342. package/dist/esm/ionic.js +6 -6
  343. package/dist/esm/{ios.transition-7459f819.js → ios.transition-a50a9a55.js} +2 -2
  344. package/dist/esm/loader.js +5 -5
  345. package/dist/esm/{md.transition-b8224313.js → md.transition-0da92976.js} +2 -2
  346. package/dist/esm/{overlays-19b26885.js → overlays-b874c3c3.js} +62 -20
  347. package/dist/esm/{status-tap-b41ece3c.js → status-tap-dfea3607.js} +1 -1
  348. package/dist/esm-es5/app-globals-318eef52.js +4 -0
  349. package/dist/esm-es5/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  350. package/dist/esm-es5/data-bb424ba8.js +4 -0
  351. package/dist/esm-es5/framework-delegate-ed4ba327.js +2 -2
  352. package/dist/esm-es5/hardware-back-button-6107a37c.js +4 -0
  353. package/dist/esm-es5/index-6e05b96e.js +4 -0
  354. package/dist/esm-es5/index-a1a47f01.js +5 -0
  355. package/dist/esm-es5/{index-348ed70a.js → index-fae1515c.js} +1 -1
  356. package/dist/esm-es5/index.js +1 -1
  357. package/dist/esm-es5/input-shims-a52daa3a.js +4 -0
  358. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  359. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  360. package/dist/esm-es5/ion-alert.entry.js +1 -1
  361. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  362. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  363. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  364. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  365. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  366. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  367. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  368. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  369. package/dist/esm-es5/ion-chip.entry.js +1 -1
  370. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  371. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  372. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  373. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  374. package/dist/esm-es5/ion-img.entry.js +1 -1
  375. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  376. package/dist/esm-es5/ion-input.entry.js +1 -1
  377. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  378. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  379. package/dist/esm-es5/ion-loading.entry.js +1 -1
  380. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  381. package/dist/esm-es5/ion-modal.entry.js +1 -1
  382. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  383. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  384. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  385. package/dist/esm-es5/ion-popover.entry.js +1 -1
  386. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  387. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  388. package/dist/esm-es5/ion-range.entry.js +1 -1
  389. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  390. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  391. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  392. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  393. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  394. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  395. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  396. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  397. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  398. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  399. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  400. package/dist/esm-es5/ion-text.entry.js +1 -1
  401. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  402. package/dist/esm-es5/ion-toast.entry.js +1 -1
  403. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  404. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  405. package/dist/esm-es5/ionic.js +1 -1
  406. package/dist/esm-es5/{ios.transition-7459f819.js → ios.transition-a50a9a55.js} +1 -1
  407. package/dist/esm-es5/loader.js +1 -1
  408. package/dist/esm-es5/md.transition-0da92976.js +4 -0
  409. package/dist/esm-es5/overlays-b874c3c3.js +4 -0
  410. package/dist/esm-es5/{status-tap-b41ece3c.js → status-tap-dfea3607.js} +1 -1
  411. package/dist/html.html-data.json +13 -1
  412. package/dist/ionic/index.esm.js +1 -1
  413. package/dist/ionic/ionic.esm.js +1 -1
  414. package/dist/ionic/ionic.js +1 -1
  415. package/dist/ionic/{p-05253db9.js → p-0047bd0e.js} +1 -1
  416. package/dist/ionic/{p-ebc86ce9.system.entry.js → p-01a1ff55.system.entry.js} +1 -1
  417. package/dist/ionic/{p-2178329b.entry.js → p-01de45e4.entry.js} +1 -1
  418. package/dist/ionic/{p-125f8cdd.system.js → p-0609a7d8.system.js} +1 -1
  419. package/dist/ionic/{p-cfb4d7e0.js → p-08ab4c96.js} +1 -1
  420. package/dist/ionic/{p-76b8bcb8.system.entry.js → p-094cb5ba.system.entry.js} +1 -1
  421. package/dist/ionic/{p-6812d37d.js → p-0aac3a1c.js} +1 -1
  422. package/dist/ionic/{p-de55ec45.js → p-0b743628.js} +1 -1
  423. package/dist/ionic/p-185d82fc.entry.js +4 -0
  424. package/dist/ionic/p-193921ce.entry.js +4 -0
  425. package/dist/ionic/p-1cd372ed.js +4 -0
  426. package/dist/ionic/{p-a6c0a380.js → p-1e151efb.js} +1 -1
  427. package/dist/ionic/{p-7f30ad48.entry.js → p-211d8901.entry.js} +1 -1
  428. package/dist/ionic/p-212f2c37.entry.js +4 -0
  429. package/dist/ionic/p-2433bf5e.system.js +4 -0
  430. package/dist/ionic/p-2732a6ce.entry.js +4 -0
  431. package/dist/ionic/{p-89ca4c4b.system.js → p-280f1fe7.system.js} +1 -1
  432. package/dist/ionic/p-2c1408df.system.js +5 -0
  433. package/dist/ionic/p-2e2808f3.entry.js +4 -0
  434. package/dist/ionic/{p-70fbf4e2.entry.js → p-32086ea4.entry.js} +1 -1
  435. package/dist/ionic/{p-16a61810.entry.js → p-339dee28.entry.js} +1 -1
  436. package/dist/ionic/{p-88e9052d.entry.js → p-34e2b446.entry.js} +1 -1
  437. package/dist/ionic/{p-6e23d039.entry.js → p-374838e4.entry.js} +1 -1
  438. package/dist/ionic/p-3789920e.js +4 -0
  439. package/dist/ionic/{p-bdca4784.js → p-37aab7f7.js} +1 -1
  440. package/dist/ionic/p-3b7d328b.system.entry.js +4 -0
  441. package/dist/ionic/{p-02542247.system.entry.js → p-3b9edd02.system.entry.js} +1 -1
  442. package/dist/ionic/{p-d143fefa.system.entry.js → p-3d23a234.system.entry.js} +1 -1
  443. package/dist/ionic/{p-717e2526.system.entry.js → p-3f75319a.system.entry.js} +2 -2
  444. package/dist/ionic/p-47686f0a.system.entry.js +4 -0
  445. package/dist/ionic/{p-18918a24.system.entry.js → p-47d7ffb4.system.entry.js} +1 -1
  446. package/dist/ionic/{p-7e838f43.system.entry.js → p-48331301.system.entry.js} +1 -1
  447. package/dist/ionic/{p-a3df16b9.system.entry.js → p-491ec3d6.system.entry.js} +1 -1
  448. package/dist/ionic/p-495aabd4.system.entry.js +4 -0
  449. package/dist/ionic/{p-b0aa3806.system.entry.js → p-49616da4.system.entry.js} +1 -1
  450. package/dist/ionic/p-4c68b459.system.entry.js +4 -0
  451. package/dist/ionic/{p-5cb5f63d.system.entry.js → p-4cc54847.system.entry.js} +1 -1
  452. package/dist/ionic/p-4da978ac.entry.js +4 -0
  453. package/dist/ionic/{p-5de920f4.system.entry.js → p-4f9018d4.system.entry.js} +1 -1
  454. package/dist/ionic/{p-baf8eeac.system.entry.js → p-55ae3e14.system.entry.js} +1 -1
  455. package/dist/ionic/{p-9de75bac.system.entry.js → p-56271222.system.entry.js} +1 -1
  456. package/dist/ionic/{p-80aed9fb.system.entry.js → p-565a12d7.system.entry.js} +1 -1
  457. package/dist/ionic/{p-7e16220b.entry.js → p-56b810d5.entry.js} +1 -1
  458. package/dist/ionic/{p-a85d9047.system.entry.js → p-5a0345f7.system.entry.js} +1 -1
  459. package/dist/ionic/{p-f0e54781.system.entry.js → p-5b8d7cdb.system.entry.js} +1 -1
  460. package/dist/ionic/p-5d2011e1.entry.js +4 -0
  461. package/dist/ionic/p-5f3d659f.entry.js +4 -0
  462. package/dist/ionic/p-6236eae6.entry.js +4 -0
  463. package/dist/ionic/{p-4b8a620f.system.entry.js → p-625ef2fb.system.entry.js} +1 -1
  464. package/dist/ionic/{p-6525a8cd.system.js → p-638865d1.system.js} +1 -1
  465. package/dist/ionic/p-662cccde.entry.js +4 -0
  466. package/dist/ionic/p-68416ff0.entry.js +4 -0
  467. package/dist/ionic/{p-91f4e611.system.entry.js → p-686ddecb.system.entry.js} +2 -2
  468. package/dist/ionic/p-6a6550fa.js +4 -0
  469. package/dist/ionic/p-6a6c61b1.system.entry.js +4 -0
  470. package/dist/ionic/p-6afef6c1.system.js +2 -2
  471. package/dist/ionic/{p-abcedc15.system.entry.js → p-6b178502.system.entry.js} +1 -1
  472. package/dist/ionic/{p-2c86025e.system.js → p-6ecddf53.system.js} +1 -1
  473. package/dist/ionic/{p-822730c4.entry.js → p-70929384.entry.js} +1 -1
  474. package/dist/ionic/p-73d70509.system.js +4 -0
  475. package/dist/ionic/{p-c1a871ff.system.entry.js → p-776f7b9e.system.entry.js} +1 -1
  476. package/dist/ionic/p-7872e970.system.entry.js +4 -0
  477. package/dist/ionic/{p-657ccdd6.entry.js → p-804ffec9.entry.js} +1 -1
  478. package/dist/ionic/{p-b27bba38.system.entry.js → p-81c8fa81.system.entry.js} +1 -1
  479. package/dist/ionic/{p-8e651c29.entry.js → p-8294b727.entry.js} +1 -1
  480. package/dist/ionic/p-8528c070.entry.js +4 -0
  481. package/dist/ionic/p-87e81684.system.entry.js +4 -0
  482. package/dist/ionic/p-8954015c.entry.js +4 -0
  483. package/dist/ionic/p-8a1b0abb.system.js +4 -0
  484. package/dist/ionic/{p-2765a571.system.entry.js → p-8a335b91.system.entry.js} +1 -1
  485. package/dist/ionic/{p-479f5926.system.entry.js → p-8eba832c.system.entry.js} +1 -1
  486. package/dist/ionic/{p-b58686e0.entry.js → p-8ed4de58.entry.js} +1 -1
  487. package/dist/ionic/{p-a02ea777.entry.js → p-917bb906.entry.js} +1 -1
  488. package/dist/ionic/{p-ae2b3a7a.system.entry.js → p-93f86b06.system.entry.js} +1 -1
  489. package/dist/ionic/p-9625a2e6.entry.js +4 -0
  490. package/dist/ionic/{p-288649db.system.entry.js → p-9bc8bd0c.system.entry.js} +1 -1
  491. package/dist/ionic/{p-6f59cdbc.system.entry.js → p-9d53b773.system.entry.js} +2 -2
  492. package/dist/ionic/{p-dff97cfa.entry.js → p-9fbfbaef.entry.js} +1 -1
  493. package/dist/ionic/p-a04ecf1a.system.js +4 -0
  494. package/dist/ionic/{p-9998cb62.system.entry.js → p-a3b2d4a7.system.entry.js} +2 -2
  495. package/dist/ionic/{p-973b4db3.entry.js → p-a5cd2e1f.entry.js} +1 -1
  496. package/dist/ionic/p-a5d9fafe.entry.js +4 -0
  497. package/dist/ionic/{p-df504a37.system.js → p-a875459d.system.js} +1 -1
  498. package/dist/ionic/p-ad60590b.entry.js +4 -0
  499. package/dist/ionic/{p-c7288e78.system.entry.js → p-b1bebf4a.system.entry.js} +1 -1
  500. package/dist/ionic/p-b535c93a.entry.js +4 -0
  501. package/dist/ionic/p-b8735394.entry.js +4 -0
  502. package/dist/ionic/p-bb5bbcdf.js +4 -0
  503. package/dist/ionic/p-c379d010.system.entry.js +4 -0
  504. package/dist/ionic/{p-ce1c0a0e.system.entry.js → p-c5ce0862.system.entry.js} +2 -2
  505. package/dist/ionic/p-c76ef1ea.entry.js +4 -0
  506. package/dist/ionic/p-c8580577.system.js +4 -0
  507. package/dist/ionic/{p-2c4bfe1c.entry.js → p-cc0cf2d1.entry.js} +1 -1
  508. package/dist/ionic/{p-15a40a0b.system.entry.js → p-d3a95477.system.entry.js} +1 -1
  509. package/dist/ionic/{p-ceceac26.js → p-d68ecea4.js} +1 -1
  510. package/dist/ionic/p-d873a8c2.system.entry.js +4 -0
  511. package/dist/ionic/{p-079da3df.entry.js → p-dbd77435.entry.js} +1 -1
  512. package/dist/ionic/p-dc2d302c.entry.js +4 -0
  513. package/dist/ionic/{p-7670acd8.entry.js → p-dd2996cf.entry.js} +1 -1
  514. package/dist/ionic/{p-4788693d.entry.js → p-dec423a3.entry.js} +1 -1
  515. package/dist/ionic/{p-2ea71956.system.entry.js → p-deeae694.system.entry.js} +1 -1
  516. package/dist/ionic/p-e06d65b3.system.entry.js +4 -0
  517. package/dist/ionic/{p-cbcffe6e.system.js → p-e0948431.system.js} +1 -1
  518. package/dist/ionic/{p-86813176.system.entry.js → p-e15cfec4.system.entry.js} +1 -1
  519. package/dist/ionic/p-e1bd8d9c.system.entry.js +4 -0
  520. package/dist/ionic/{p-1636923f.system.js → p-e34eefb5.system.js} +1 -1
  521. package/dist/ionic/{p-b6279412.entry.js → p-e57a212a.entry.js} +1 -1
  522. package/dist/ionic/{p-437f4d02.system.entry.js → p-e6ee6ead.system.entry.js} +1 -1
  523. package/dist/ionic/p-e7055fb8.entry.js +4 -0
  524. package/dist/ionic/p-ea723fc4.entry.js +4 -0
  525. package/dist/ionic/p-ead0d463.js +5 -0
  526. package/dist/ionic/p-ed3ad350.entry.js +4 -0
  527. package/dist/ionic/{p-5d7e32ce.js → p-efef9f3a.js} +1 -1
  528. package/dist/ionic/p-f4ccaa64.entry.js +4 -0
  529. package/dist/ionic/{p-bcd9cad8.system.js → p-f4fb429a.system.js} +1 -1
  530. package/dist/ionic/p-f549716b.system.js +4 -0
  531. package/dist/ionic/p-f6a50d5c.entry.js +4 -0
  532. package/dist/ionic/p-fc053a55.entry.js +4 -0
  533. package/dist/ionic/{p-1f19958f.system.entry.js → p-fd059a23.system.entry.js} +1 -1
  534. package/dist/ionic/{p-e4e74b5f.system.entry.js → p-fdcf1482.system.entry.js} +1 -1
  535. package/dist/ionic/{p-3079950e.entry.js → p-fe3ae39d.entry.js} +1 -1
  536. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  537. package/dist/types/components/datetime/datetime.d.ts +10 -1
  538. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  539. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  540. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  541. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  542. package/dist/types/components/input/input.utils.d.ts +1 -1
  543. package/dist/types/components/range/range.d.ts +29 -0
  544. package/dist/types/components/searchbar/searchbar.d.ts +37 -0
  545. package/dist/types/components/toggle/toggle.d.ts +1 -1
  546. package/dist/types/components.d.ts +36 -4
  547. package/dist/types/utils/framework-delegate.d.ts +1 -1
  548. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  549. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  550. package/dist/types/utils/overlays.d.ts +2 -2
  551. package/hydrate/index.js +667 -316
  552. package/package.json +9 -5
  553. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  554. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  555. package/dist/esm-es5/data-0f3ab200.js +0 -4
  556. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  557. package/dist/esm-es5/index-4c30cddd.js +0 -5
  558. package/dist/esm-es5/index-e1b622e3.js +0 -4
  559. package/dist/esm-es5/input-shims-5329bbe8.js +0 -4
  560. package/dist/esm-es5/md.transition-b8224313.js +0 -4
  561. package/dist/esm-es5/overlays-19b26885.js +0 -4
  562. package/dist/ionic/p-021f9d72.entry.js +0 -4
  563. package/dist/ionic/p-02ad4bbe.js +0 -4
  564. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  565. package/dist/ionic/p-12527c4b.entry.js +0 -4
  566. package/dist/ionic/p-1846513c.js +0 -4
  567. package/dist/ionic/p-1a680496.entry.js +0 -4
  568. package/dist/ionic/p-1f16d040.entry.js +0 -4
  569. package/dist/ionic/p-257046d2.system.js +0 -4
  570. package/dist/ionic/p-262024fd.entry.js +0 -4
  571. package/dist/ionic/p-2fd3c3dd.entry.js +0 -4
  572. package/dist/ionic/p-337ac0f5.entry.js +0 -4
  573. package/dist/ionic/p-36be3332.js +0 -4
  574. package/dist/ionic/p-482ea916.system.entry.js +0 -4
  575. package/dist/ionic/p-49f481cc.system.entry.js +0 -4
  576. package/dist/ionic/p-521b3971.entry.js +0 -4
  577. package/dist/ionic/p-644d03d7.system.entry.js +0 -4
  578. package/dist/ionic/p-6b6ca3f5.system.entry.js +0 -4
  579. package/dist/ionic/p-72fa96bf.system.js +0 -5
  580. package/dist/ionic/p-7330c044.system.js +0 -4
  581. package/dist/ionic/p-741a0f0d.system.entry.js +0 -4
  582. package/dist/ionic/p-7a615a5a.entry.js +0 -4
  583. package/dist/ionic/p-84b85535.entry.js +0 -4
  584. package/dist/ionic/p-85f66c3c.entry.js +0 -4
  585. package/dist/ionic/p-860e2539.system.entry.js +0 -4
  586. package/dist/ionic/p-8cc34120.entry.js +0 -4
  587. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  588. package/dist/ionic/p-96084f36.entry.js +0 -4
  589. package/dist/ionic/p-97ca0cb9.system.js +0 -4
  590. package/dist/ionic/p-98aa0553.entry.js +0 -4
  591. package/dist/ionic/p-a1222c24.entry.js +0 -4
  592. package/dist/ionic/p-a4aa6dd2.system.entry.js +0 -4
  593. package/dist/ionic/p-a8459bfb.entry.js +0 -4
  594. package/dist/ionic/p-ae828bd9.system.entry.js +0 -4
  595. package/dist/ionic/p-b4d2f43c.system.js +0 -4
  596. package/dist/ionic/p-b727af6a.entry.js +0 -4
  597. package/dist/ionic/p-ba0fbecc.entry.js +0 -4
  598. package/dist/ionic/p-c1c7309e.entry.js +0 -4
  599. package/dist/ionic/p-cb3065b8.entry.js +0 -4
  600. package/dist/ionic/p-cb9812f7.entry.js +0 -4
  601. package/dist/ionic/p-d425b1de.entry.js +0 -4
  602. package/dist/ionic/p-d6c6541b.system.entry.js +0 -4
  603. package/dist/ionic/p-e1c52dc6.entry.js +0 -4
  604. package/dist/ionic/p-e626800f.system.entry.js +0 -4
  605. package/dist/ionic/p-e94c1402.entry.js +0 -4
  606. package/dist/ionic/p-ed4760ef.entry.js +0 -4
  607. package/dist/ionic/p-ed7a529f.js +0 -5
  608. package/dist/ionic/p-f02c41af.system.js +0 -4
  609. package/dist/ionic/p-f7dce541.js +0 -4
  610. package/dist/ionic/p-fa8d3b01.entry.js +0 -4
@@ -15,7 +15,7 @@ import { config } from "../global/config";
15
15
  * moment this file is evaluated which could be
16
16
  * before the config is set.
17
17
  */
18
- export const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
18
+ export const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
19
19
  /**
20
20
  * When hardwareBackButton: false in config,
21
21
  * we need to make sure we also block the default
@@ -85,7 +85,7 @@ export const startHardwareBackButton = () => {
85
85
  * backbutton event otherwise we may get duplicate
86
86
  * events firing.
87
87
  */
88
- if (shoudUseCloseWatcher()) {
88
+ if (shouldUseCloseWatcher()) {
89
89
  let watcher;
90
90
  const configureWatcher = () => {
91
91
  watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
@@ -96,7 +96,7 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
96
96
  const focusOut = () => {
97
97
  hasKeyboardBeenPresentedForTextField = false;
98
98
  win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
99
- componentEl.removeEventListener('focusout', focusOut, true);
99
+ componentEl.removeEventListener('focusout', focusOut);
100
100
  };
101
101
  /**
102
102
  * When the input is about to receive
@@ -116,13 +116,13 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
116
116
  }
117
117
  jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
118
118
  win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
119
- componentEl.addEventListener('focusout', focusOut, true);
119
+ componentEl.addEventListener('focusout', focusOut);
120
120
  };
121
- componentEl.addEventListener('focusin', focusIn, true);
121
+ componentEl.addEventListener('focusin', focusIn);
122
122
  return () => {
123
- componentEl.removeEventListener('focusin', focusIn, true);
123
+ componentEl.removeEventListener('focusin', focusIn);
124
124
  win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
125
- componentEl.removeEventListener('focusout', focusOut, true);
125
+ componentEl.removeEventListener('focusout', focusOut);
126
126
  };
127
127
  };
128
128
  /**
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { doc } from "./browser/index";
5
- import { shoudUseCloseWatcher } from "./hardware-back-button";
5
+ import { shouldUseCloseWatcher } from "./hardware-back-button";
6
6
  import { config } from "../global/config";
7
7
  import { getIonMode } from "../global/ionic-global";
8
8
  import { CoreDelegate } from "./framework-delegate";
@@ -365,7 +365,7 @@ const connectListeners = (doc) => {
365
365
  * this behavior will be handled via the ionBackButton
366
366
  * event.
367
367
  */
368
- if (!shoudUseCloseWatcher()) {
368
+ if (!shouldUseCloseWatcher()) {
369
369
  doc.addEventListener('keydown', (ev) => {
370
370
  if (ev.key === 'Escape') {
371
371
  const lastOverlay = getPresentedOverlay(doc);
@@ -455,15 +455,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
455
455
  return;
456
456
  }
457
457
  setRootAriaHidden(true);
458
- /**
459
- * Hide all other overlays from screen readers so only this one
460
- * can be read. Note that presenting an overlay always makes
461
- * it the topmost one.
462
- */
463
- if (doc !== undefined) {
464
- const presentedOverlays = getPresentedOverlays(doc);
465
- presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true'));
466
- }
458
+ hideOverlaysFromScreenReaders(overlay.el);
467
459
  overlay.presented = true;
468
460
  overlay.willPresent.emit();
469
461
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -556,7 +548,7 @@ const restoreElementFocus = async (overlayEl) => {
556
548
  }
557
549
  };
558
550
  export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
559
- var _a, _b, _c;
551
+ var _a, _b;
560
552
  if (!overlay.presented) {
561
553
  return false;
562
554
  }
@@ -607,13 +599,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
607
599
  console.error(err);
608
600
  }
609
601
  overlay.el.remove();
610
- /**
611
- * If there are other overlays presented, unhide the new
612
- * topmost one from screen readers.
613
- */
614
- if (doc !== undefined) {
615
- (_c = getPresentedOverlay(doc)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-hidden');
616
- }
602
+ revealOverlaysToScreenReaders();
617
603
  return true;
618
604
  };
619
605
  const getAppRoot = (doc) => {
@@ -809,3 +795,59 @@ export const createTriggerController = () => {
809
795
  removeClickListener,
810
796
  };
811
797
  };
798
+ /**
799
+ * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
800
+ * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
801
+ * events here because those events do not fire when the screen readers moves to a non-focusable
802
+ * element such as text.
803
+ * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
804
+ *
805
+ * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
806
+ * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
807
+ */
808
+ const hideOverlaysFromScreenReaders = (newTopMostOverlay) => {
809
+ var _a;
810
+ if (doc === undefined)
811
+ return;
812
+ const overlays = getPresentedOverlays(doc);
813
+ for (let i = overlays.length - 1; i >= 0; i--) {
814
+ const presentedOverlay = overlays[i];
815
+ const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
816
+ /**
817
+ * If next overlay has aria-hidden then all remaining overlays will have it too.
818
+ * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
819
+ * should not have aria-hidden either so focus can remain in the current overlay.
820
+ */
821
+ if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
822
+ presentedOverlay.setAttribute('aria-hidden', 'true');
823
+ }
824
+ }
825
+ };
826
+ /**
827
+ * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
828
+ * If the top-most overlay is a Toast we potentially need to reveal more overlays since
829
+ * focus is never automatically moved to the Toast.
830
+ */
831
+ const revealOverlaysToScreenReaders = () => {
832
+ if (doc === undefined)
833
+ return;
834
+ const overlays = getPresentedOverlays(doc);
835
+ for (let i = overlays.length - 1; i >= 0; i--) {
836
+ const currentOverlay = overlays[i];
837
+ /**
838
+ * If the current we are looking at is a Toast then we can remove aria-hidden.
839
+ * However, we potentially need to keep looking at the overlay stack because there
840
+ * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
841
+ * overlay too so focus can move there since focus is never automatically moved to the Toast.
842
+ */
843
+ currentOverlay.removeAttribute('aria-hidden');
844
+ /**
845
+ * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
846
+ * since this overlay should always receive focus. As a result, all underlying overlays should still
847
+ * be hidden from screen readers.
848
+ */
849
+ if (currentOverlay.tagName !== 'ION-TOAST') {
850
+ break;
851
+ }
852
+ }
853
+ };
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { newSpecPage } from "@stencil/core/testing";
5
5
  import { Modal } from "../../../components/modal/modal";
6
+ import { Toast } from "../../../components/toast/toast";
6
7
  import { Nav } from "../../../components/nav/nav";
7
8
  import { RouterOutlet } from "../../../components/router-outlet/router-outlet";
8
9
  import { setRootAriaHidden } from "../../overlays";
@@ -150,4 +151,56 @@ describe('aria-hidden on individual overlays', () => {
150
151
  await modalOne.present();
151
152
  expect(modalOne.hasAttribute('aria-hidden')).toEqual(false);
152
153
  });
154
+ it('should not hide previous overlay if top-most overlay is toast', async () => {
155
+ const page = await newSpecPage({
156
+ components: [Modal, Toast],
157
+ html: `
158
+ <ion-modal id="m-one"></ion-modal>
159
+ <ion-modal id="m-two"></ion-modal>
160
+ <ion-toast id="t-one"></ion-toast>
161
+ <ion-toast id="t-two"></ion-toast>
162
+ `,
163
+ });
164
+ const modalOne = page.body.querySelector('ion-modal#m-one');
165
+ const modalTwo = page.body.querySelector('ion-modal#m-two');
166
+ const toastOne = page.body.querySelector('ion-toast#t-one');
167
+ const toastTwo = page.body.querySelector('ion-toast#t-two');
168
+ await modalOne.present();
169
+ await modalTwo.present();
170
+ await toastOne.present();
171
+ await toastTwo.present();
172
+ expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
173
+ expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
174
+ expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
175
+ expect(toastTwo.hasAttribute('aria-hidden')).toEqual(false);
176
+ await toastTwo.dismiss();
177
+ expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
178
+ expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
179
+ expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
180
+ await toastOne.dismiss();
181
+ expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
182
+ expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
183
+ });
184
+ it('should hide previous overlay even with a toast that is not the top-most overlay', async () => {
185
+ const page = await newSpecPage({
186
+ components: [Modal, Toast],
187
+ html: `
188
+ <ion-modal id="m-one"></ion-modal>
189
+ <ion-toast id="t-one"></ion-toast>
190
+ <ion-modal id="m-two"></ion-modal>
191
+ `,
192
+ });
193
+ const modalOne = page.body.querySelector('ion-modal#m-one');
194
+ const modalTwo = page.body.querySelector('ion-modal#m-two');
195
+ const toastOne = page.body.querySelector('ion-toast#t-one');
196
+ await modalOne.present();
197
+ await toastOne.present();
198
+ await modalTwo.present();
199
+ expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
200
+ expect(toastOne.hasAttribute('aria-hidden')).toEqual(true);
201
+ expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
202
+ await modalTwo.dismiss();
203
+ expect(modalOne.hasAttribute('aria-hidden')).toEqual(false);
204
+ expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
205
+ });
153
206
  });
package/dist/docs.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
- "timestamp": "2024-02-24T20:38:59",
2
+ "timestamp": "2024-04-25T02:33:09",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.12.2",
6
- "typescriptVersion": "5.3.3"
5
+ "version": "4.15.0",
6
+ "typescriptVersion": "5.4.4"
7
7
  },
8
8
  "components": [
9
9
  {
@@ -7086,6 +7086,44 @@
7086
7086
  "optional": false,
7087
7087
  "required": false
7088
7088
  },
7089
+ {
7090
+ "name": "formatOptions",
7091
+ "type": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
7092
+ "complexType": {
7093
+ "original": "FormatOptions",
7094
+ "resolved": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
7095
+ "references": {
7096
+ "FormatOptions": {
7097
+ "location": "import",
7098
+ "path": "./datetime-interface",
7099
+ "id": "src/components/datetime/datetime-interface.ts::FormatOptions"
7100
+ }
7101
+ }
7102
+ },
7103
+ "mutable": false,
7104
+ "reflectToAttr": false,
7105
+ "docs": "Formatting options for dates and times.\nShould include a 'date' and/or 'time' object, each of which is of type [Intl.DateTimeFormatOptions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options).",
7106
+ "docsTags": [],
7107
+ "values": [
7108
+ {
7109
+ "type": "undefined"
7110
+ },
7111
+ {
7112
+ "type": "{ date: DateTimeFormatOptions; time?: DateTimeFormatOptions"
7113
+ },
7114
+ {
7115
+ "type": "undefined; }"
7116
+ },
7117
+ {
7118
+ "type": "{ date?: DateTimeFormatOptions"
7119
+ },
7120
+ {
7121
+ "type": "undefined; time: DateTimeFormatOptions; }"
7122
+ }
7123
+ ],
7124
+ "optional": true,
7125
+ "required": false
7126
+ },
7089
7127
  {
7090
7128
  "name": "highlightedDates",
7091
7129
  "type": "((dateIsoString: string) => DatetimeHighlightStyle | undefined) | DatetimeHighlight[] | undefined",
@@ -22393,6 +22431,28 @@
22393
22431
  "optional": false,
22394
22432
  "required": false
22395
22433
  },
22434
+ {
22435
+ "name": "autocapitalize",
22436
+ "type": "string",
22437
+ "complexType": {
22438
+ "original": "string",
22439
+ "resolved": "string",
22440
+ "references": {}
22441
+ },
22442
+ "mutable": false,
22443
+ "attr": "autocapitalize",
22444
+ "reflectToAttr": false,
22445
+ "docs": "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\nAvailable options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.",
22446
+ "docsTags": [],
22447
+ "default": "'default'",
22448
+ "values": [
22449
+ {
22450
+ "type": "string"
22451
+ }
22452
+ ],
22453
+ "optional": false,
22454
+ "required": false
22455
+ },
22396
22456
  {
22397
22457
  "name": "autocomplete",
22398
22458
  "type": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
@@ -22943,6 +23003,54 @@
22943
23003
  "optional": true,
22944
23004
  "required": false
22945
23005
  },
23006
+ {
23007
+ "name": "maxlength",
23008
+ "type": "number | undefined",
23009
+ "complexType": {
23010
+ "original": "number",
23011
+ "resolved": "number | undefined",
23012
+ "references": {}
23013
+ },
23014
+ "mutable": false,
23015
+ "attr": "maxlength",
23016
+ "reflectToAttr": false,
23017
+ "docs": "This attribute specifies the maximum number of characters that the user can enter.",
23018
+ "docsTags": [],
23019
+ "values": [
23020
+ {
23021
+ "type": "number"
23022
+ },
23023
+ {
23024
+ "type": "undefined"
23025
+ }
23026
+ ],
23027
+ "optional": true,
23028
+ "required": false
23029
+ },
23030
+ {
23031
+ "name": "minlength",
23032
+ "type": "number | undefined",
23033
+ "complexType": {
23034
+ "original": "number",
23035
+ "resolved": "number | undefined",
23036
+ "references": {}
23037
+ },
23038
+ "mutable": false,
23039
+ "attr": "minlength",
23040
+ "reflectToAttr": false,
23041
+ "docs": "This attribute specifies the minimum number of characters that the user can enter.",
23042
+ "docsTags": [],
23043
+ "values": [
23044
+ {
23045
+ "type": "number"
23046
+ },
23047
+ {
23048
+ "type": "undefined"
23049
+ }
23050
+ ],
23051
+ "optional": true,
23052
+ "required": false
23053
+ },
22946
23054
  {
22947
23055
  "name": "mode",
22948
23056
  "type": "\"ios\" | \"md\"",
@@ -28616,7 +28724,7 @@
28616
28724
  "mutable": false,
28617
28725
  "attr": "alignment",
28618
28726
  "reflectToAttr": false,
28619
- "docs": "How to control the alignment of the toggle and label on the cross axis.\n``\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
28727
+ "docs": "How to control the alignment of the toggle and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
28620
28728
  "docsTags": [],
28621
28729
  "default": "'center'",
28622
28730
  "values": [
@@ -29369,6 +29477,11 @@
29369
29477
  "docstring": "",
29370
29478
  "path": "src/components/content/content-interface.ts"
29371
29479
  },
29480
+ "src/components/datetime/datetime-interface.ts::FormatOptions": {
29481
+ "declaration": "export type FormatOptions =\n | {\n date: Intl.DateTimeFormatOptions;\n time?: Intl.DateTimeFormatOptions;\n }\n | {\n date?: Intl.DateTimeFormatOptions;\n time: Intl.DateTimeFormatOptions;\n };",
29482
+ "docstring": "",
29483
+ "path": "src/components/datetime/datetime-interface.ts"
29484
+ },
29372
29485
  "src/components/datetime/datetime-interface.ts::DatetimePresentation": {
29373
29486
  "declaration": "export type DatetimePresentation = 'date-time' | 'time-date' | 'date' | 'time' | 'month' | 'year' | 'month-year';",
29374
29487
  "docstring": "",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-ad9a1810.js';
4
+ import { i as initialize } from './ionic-global-94f25d1b.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-4c30cddd.js';
4
+ import { w as writeTask } from './index-a1a47f01.js';
5
5
  import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-554688a5.js';
6
6
  import { createGesture } from './index-2cf77112.js';
7
7
 
@@ -832,7 +832,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
832
832
  }
833
833
  return dayPeriod.toUpperCase();
834
834
  };
835
- const getLocalizedTime = (locale, refParts, hourCycle) => {
835
+ /**
836
+ * Including time zone options may lead to the rendered text showing a
837
+ * different time from what was selected in the Datetime, which could cause
838
+ * confusion.
839
+ */
840
+ const stripTimeZone = (formatOptions) => {
841
+ return Object.assign(Object.assign({}, formatOptions), {
842
+ /**
843
+ * Setting the time zone to UTC ensures that the value shown is always the
844
+ * same as what was selected and safeguards against older Safari bugs with
845
+ * Intl.DateTimeFormat.
846
+ */
847
+ timeZone: 'UTC',
848
+ /**
849
+ * We do not want to display the time zone name
850
+ */
851
+ timeZoneName: undefined });
852
+ };
853
+ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
836
854
  const timeParts = {
837
855
  hour: refParts.hour,
838
856
  minute: refParts.minute,
@@ -840,28 +858,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
840
858
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
841
859
  return 'Invalid Time';
842
860
  }
843
- return new Intl.DateTimeFormat(locale, {
844
- hour: 'numeric',
845
- minute: 'numeric',
846
- /**
847
- * Setting the timeZone to UTC prevents
848
- * new Intl.DatetimeFormat from subtracting
849
- * the user's current timezone offset
850
- * when formatting the time.
851
- */
852
- timeZone: 'UTC',
861
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
853
862
  /**
854
863
  * We use hourCycle here instead of hour12 due to:
855
864
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
856
865
  */
857
- hourCycle,
858
- /**
859
- * Setting Z at the end indicates that this
860
- * date string is in the UTC time zone. This
861
- * prevents new Date from adding the time zone
862
- * offset when getting the ISO string.
863
- */
864
- }).format(new Date(convertDataToISO(Object.assign({
866
+ hourCycle })).format(new Date(convertDataToISO(Object.assign({
865
867
  /**
866
868
  * JS uses a simplified ISO 8601 format which allows for
867
869
  * date-only formats and date-time formats, but not
@@ -947,14 +949,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
947
949
  */
948
950
  return today ? `Today, ${labelString}` : labelString;
949
951
  };
950
- /**
951
- * Gets the day of the week, month, and day
952
- * Used for the header in MD mode.
953
- */
954
- const getMonthAndDay = (locale, refParts) => {
955
- const date = getNormalizedDate(refParts);
956
- return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
957
- };
958
952
  /**
959
953
  * Given a locale and a date object,
960
954
  * return a formatted string that includes
@@ -965,15 +959,6 @@ const getMonthAndYear = (locale, refParts) => {
965
959
  const date = getNormalizedDate(refParts);
966
960
  return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
967
961
  };
968
- /**
969
- * Given a locale and a date object,
970
- * return a formatted string that includes
971
- * the short month, numeric day, and full year.
972
- * Example: Apr 22, 2021
973
- */
974
- const getMonthDayAndYear = (locale, refParts) => {
975
- return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
976
- };
977
962
  /**
978
963
  * Given a locale and a date object,
979
964
  * return a formatted string that includes
@@ -1023,7 +1008,7 @@ const getNormalizedDate = (refParts) => {
1023
1008
  */
1024
1009
  const getLocalizedDateTime = (locale, refParts, options) => {
1025
1010
  const date = getNormalizedDate(refParts);
1026
- return getDateTimeFormat(locale, options).format(date);
1011
+ return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
1027
1012
  };
1028
1013
  /**
1029
1014
  * Given a locale, DatetimeParts, and options
@@ -1622,4 +1607,4 @@ const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, all
1622
1607
  };
1623
1608
  };
1624
1609
 
1625
- export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getMonthAndDay as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getLocalizedDateTime as S, getMonthDayAndYear as T, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
1610
+ export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getLocalizedDateTime as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { c as config } from './ionic-global-ad9a1810.js';
6
- import './index-4c30cddd.js';
5
+ import { c as config } from './ionic-global-94f25d1b.js';
6
+ import './index-a1a47f01.js';
7
7
 
8
8
  /**
9
9
  * CloseWatcher is a newer API that lets
@@ -17,7 +17,7 @@ import './index-4c30cddd.js';
17
17
  * moment this file is evaluated which could be
18
18
  * before the config is set.
19
19
  */
20
- const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
20
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
21
21
  /**
22
22
  * When hardwareBackButton: false in config,
23
23
  * we need to make sure we also block the default
@@ -87,7 +87,7 @@ const startHardwareBackButton = () => {
87
87
  * backbutton event otherwise we may get duplicate
88
88
  * events firing.
89
89
  */
90
- if (shoudUseCloseWatcher()) {
90
+ if (shouldUseCloseWatcher()) {
91
91
  let watcher;
92
92
  const configureWatcher = () => {
93
93
  watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
@@ -113,4 +113,4 @@ const startHardwareBackButton = () => {
113
113
  const OVERLAY_BACK_BUTTON_PRIORITY = 100;
114
114
  const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
115
115
 
116
- export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shoudUseCloseWatcher, startHardwareBackButton };
116
+ export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shouldUseCloseWatcher, startHardwareBackButton };
@@ -2,10 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-b410a047.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-6107a37c.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { c as componentOnReady } from './helpers-be245865.js';
8
- import { b as getIonMode } from './ionic-global-ad9a1810.js';
8
+ import { b as getIonMode } from './ionic-global-94f25d1b.js';
9
9
  import { c as createAnimation } from './animation-6a0c5338.js';
10
10
 
11
11
  /**