@ionic/core 8.3.1-dev.11726159792.1a6f49de → 8.3.1-dev.11726165401.13e99534

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 (519) hide show
  1. package/components/animation.js +1 -1
  2. package/components/button.js +1 -2
  3. package/components/capacitor.js +1 -1
  4. package/components/data.js +1 -1
  5. package/components/index2.js +1 -2
  6. package/components/index4.js +1 -4
  7. package/components/index5.js +27 -3
  8. package/components/index6.js +114 -20
  9. package/components/index7.js +163 -27
  10. package/components/input-shims.js +2 -2
  11. package/components/input.utils.js +1 -2
  12. package/components/ion-accordion-group.js +1 -2
  13. package/components/ion-accordion.js +1 -1
  14. package/components/ion-app.js +3 -64
  15. package/components/ion-back-button.js +1 -1
  16. package/components/ion-breadcrumb.js +1 -1
  17. package/components/ion-datetime-button.js +1 -2
  18. package/components/ion-datetime.js +2 -3
  19. package/components/ion-fab-button.js +1 -1
  20. package/components/ion-footer.js +1 -1
  21. package/components/ion-header.js +1 -1
  22. package/components/ion-infinite-scroll.js +1 -1
  23. package/components/ion-input-password-toggle.js +2 -3
  24. package/components/ion-input.js +1 -1
  25. package/components/ion-item-sliding.js +1 -1
  26. package/components/ion-menu-button.js +1 -1
  27. package/components/ion-menu.js +1 -2
  28. package/components/ion-modal.js +2 -4
  29. package/components/ion-nav.js +1 -2
  30. package/components/ion-picker-legacy.js +1 -2
  31. package/components/ion-range.js +2 -3
  32. package/components/ion-refresher-content.js +1 -1
  33. package/components/ion-refresher.js +1 -1
  34. package/components/ion-reorder-group.js +1 -1
  35. package/components/ion-reorder.js +1 -1
  36. package/components/ion-searchbar.js +1 -1
  37. package/components/ion-select.js +1 -1
  38. package/components/ion-toast.js +1 -3
  39. package/components/ion-toggle.js +1 -1
  40. package/components/ionic-global.js +220 -2
  41. package/components/item.js +1 -1
  42. package/components/keyboard-controller.js +1 -1
  43. package/components/notch-controller.js +1 -1
  44. package/components/overlays.js +1 -4
  45. package/components/picker-column.js +1 -2
  46. package/components/popover.js +1 -2
  47. package/components/status-tap.js +1 -1
  48. package/dist/cjs/{animation-b4fdf128.js → animation-0e966ffd.js} +2 -2
  49. package/dist/cjs/{app-globals-2cfd442b.js → app-globals-efeec904.js} +1 -1
  50. package/dist/cjs/{button-active-1a40c735.js → button-active-2b9e348c.js} +1 -1
  51. package/dist/cjs/{capacitor-c04564bf.js → capacitor-8b094750.js} +3 -3
  52. package/dist/cjs/{data-21dc0f81.js → data-dbc55c01.js} +3 -3
  53. package/dist/cjs/{haptic-f6b37aa3.js → haptic-90af2b30.js} +1 -1
  54. package/dist/cjs/{index-9509ecad.js → index-205f4d6c.js} +7 -6
  55. package/dist/cjs/{index-5b6a7459.js → index-2329dd7d.js} +2 -2
  56. package/dist/cjs/{index-9bdd4f2a.js → index-2a7fa0c6.js} +7 -8
  57. package/dist/cjs/{index-c170694d.js → index-b0d55bd0.js} +6 -9
  58. package/dist/cjs/index.cjs.js +7 -10
  59. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-850e2ebb.js} +16 -16
  60. package/dist/cjs/{input.utils-611cde0b.js → input.utils-bff12d3f.js} +3 -4
  61. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -3
  62. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -9
  63. package/dist/cjs/ion-alert.cjs.entry.js +6 -9
  64. package/dist/cjs/ion-app_8.cjs.entry.js +19 -81
  65. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  66. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  67. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  68. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  69. package/dist/cjs/ion-button_2.cjs.entry.js +4 -5
  70. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  71. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  73. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-datetime-button.cjs.entry.js +6 -7
  75. package/dist/cjs/ion-datetime_3.cjs.entry.js +93 -96
  76. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  79. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +6 -7
  80. package/dist/cjs/ion-input.cjs.entry.js +3 -5
  81. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -3
  82. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-loading.cjs.entry.js +3 -6
  84. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -8
  85. package/dist/cjs/ion-modal.cjs.entry.js +47 -50
  86. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -3
  87. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -5
  89. package/dist/cjs/ion-popover.cjs.entry.js +7 -10
  90. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  91. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-range.cjs.entry.js +7 -8
  93. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -7
  94. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -6
  95. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-select_3.cjs.entry.js +3 -6
  100. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  102. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -5
  103. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-textarea.cjs.entry.js +3 -5
  105. package/dist/cjs/ion-toast.cjs.entry.js +29 -32
  106. package/dist/cjs/ion-toggle.cjs.entry.js +3 -4
  107. package/dist/cjs/ionic-global-6d67c8d1.js +464 -0
  108. package/dist/cjs/ionic.cjs.js +2 -2
  109. package/dist/cjs/{ios.transition-ac67e283.js → ios.transition-d3b17084.js} +3 -5
  110. package/dist/cjs/{keyboard-af1bb365.js → keyboard-29ccffc1.js} +4 -3
  111. package/dist/cjs/{keyboard-0272231f.js → keyboard-6a572bd2.js} +1 -1
  112. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-fcba95dc.js} +9 -9
  113. package/dist/cjs/loader.cjs.js +2 -2
  114. package/dist/cjs/{md.transition-8ceb4e1a.js → md.transition-fa016453.js} +3 -5
  115. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-f23af294.js} +3 -3
  116. package/dist/cjs/{overlays-4451d3fc.js → overlays-6cdb8aa4.js} +9 -12
  117. package/dist/cjs/{status-tap-e52a48f8.js → status-tap-147ee377.js} +2 -2
  118. package/dist/collection/components/app/app.js +3 -65
  119. package/dist/collection/components/input/input.js +1 -1
  120. package/dist/collection/components/searchbar/searchbar.js +1 -1
  121. package/dist/collection/global/ionic-global.js +71 -1
  122. package/dist/docs.json +107 -107
  123. package/dist/esm/{animation-eab5a4ca.js → animation-bc91b6f2.js} +1 -1
  124. package/dist/esm/{app-globals-b9f6e516.js → app-globals-a405ed0d.js} +1 -1
  125. package/dist/esm/{button-active-13c37337.js → button-active-405f8dfb.js} +1 -1
  126. package/dist/esm/{capacitor-59395cbd.js → capacitor-7a4165d9.js} +1 -1
  127. package/dist/esm/{data-ae11fd43.js → data-a1b4d211.js} +1 -1
  128. package/dist/esm/{haptic-ac164e4c.js → haptic-c00dcaf7.js} +1 -1
  129. package/dist/esm/{index-8579e7fd.js → index-3497dcba.js} +3 -4
  130. package/dist/esm/{index-5cc724f3.js → index-3811e0a3.js} +1 -1
  131. package/dist/esm/{index-97b0ab3f.js → index-52a167d1.js} +2 -5
  132. package/dist/esm/{index-79b30591.js → index-7d7fdaad.js} +2 -1
  133. package/dist/esm/index.js +7 -10
  134. package/dist/esm/{input-shims-0314bbe5.js → input-shims-bc1cc120.js} +5 -5
  135. package/dist/esm/{input.utils-09c71bc7.js → input.utils-7a6034e6.js} +1 -2
  136. package/dist/esm/ion-accordion_2.entry.js +1 -2
  137. package/dist/esm/ion-action-sheet.entry.js +6 -9
  138. package/dist/esm/ion-alert.entry.js +6 -9
  139. package/dist/esm/ion-app_8.entry.js +8 -70
  140. package/dist/esm/ion-avatar_3.entry.js +1 -1
  141. package/dist/esm/ion-back-button.entry.js +1 -1
  142. package/dist/esm/ion-backdrop.entry.js +1 -1
  143. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  144. package/dist/esm/ion-button_2.entry.js +1 -2
  145. package/dist/esm/ion-card_5.entry.js +1 -1
  146. package/dist/esm/ion-checkbox.entry.js +1 -1
  147. package/dist/esm/ion-chip.entry.js +1 -1
  148. package/dist/esm/ion-col_3.entry.js +1 -1
  149. package/dist/esm/ion-datetime-button.entry.js +2 -3
  150. package/dist/esm/ion-datetime_3.entry.js +6 -9
  151. package/dist/esm/ion-fab_3.entry.js +1 -1
  152. package/dist/esm/ion-img.entry.js +1 -1
  153. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -3
  154. package/dist/esm/ion-input-password-toggle.entry.js +1 -2
  155. package/dist/esm/ion-input.entry.js +3 -5
  156. package/dist/esm/ion-item-option_3.entry.js +2 -3
  157. package/dist/esm/ion-item_8.entry.js +1 -1
  158. package/dist/esm/ion-loading.entry.js +3 -6
  159. package/dist/esm/ion-menu_3.entry.js +4 -7
  160. package/dist/esm/ion-modal.entry.js +8 -11
  161. package/dist/esm/ion-nav_2.entry.js +2 -3
  162. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  163. package/dist/esm/ion-picker-column.entry.js +3 -4
  164. package/dist/esm/ion-popover.entry.js +4 -7
  165. package/dist/esm/ion-progress-bar.entry.js +1 -1
  166. package/dist/esm/ion-radio_2.entry.js +1 -1
  167. package/dist/esm/ion-range.entry.js +2 -3
  168. package/dist/esm/ion-refresher_2.entry.js +5 -7
  169. package/dist/esm/ion-reorder_2.entry.js +4 -6
  170. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  171. package/dist/esm/ion-route_4.entry.js +1 -1
  172. package/dist/esm/ion-searchbar.entry.js +1 -1
  173. package/dist/esm/ion-segment_2.entry.js +1 -1
  174. package/dist/esm/ion-select_3.entry.js +3 -6
  175. package/dist/esm/ion-spinner.entry.js +1 -1
  176. package/dist/esm/ion-split-pane.entry.js +1 -1
  177. package/dist/esm/ion-tab-bar_2.entry.js +4 -5
  178. package/dist/esm/ion-text.entry.js +1 -1
  179. package/dist/esm/ion-textarea.entry.js +3 -5
  180. package/dist/esm/ion-toast.entry.js +3 -6
  181. package/dist/esm/ion-toggle.entry.js +3 -4
  182. package/dist/esm/ionic-global-c44ae874.js +449 -0
  183. package/dist/esm/ionic.js +2 -2
  184. package/dist/esm/{ios.transition-beb96e76.js → ios.transition-d4256afc.js} +3 -5
  185. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-63a70cc3.js} +2 -2
  186. package/dist/esm/{keyboard-73175e24.js → keyboard-d793eb55.js} +1 -1
  187. package/dist/esm/{keyboard-52278bd7.js → keyboard-ed2134e3.js} +4 -3
  188. package/dist/esm/loader.js +2 -2
  189. package/dist/esm/{md.transition-d5aa5703.js → md.transition-2e0541c4.js} +3 -5
  190. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-efd4d592.js} +1 -1
  191. package/dist/esm/{overlays-2ea57630.js → overlays-8ea559a8.js} +1 -4
  192. package/dist/esm/{status-tap-a264a37f.js → status-tap-b5cdef45.js} +2 -2
  193. package/dist/esm-es5/animation-bc91b6f2.js +4 -0
  194. package/dist/esm-es5/app-globals-a405ed0d.js +4 -0
  195. package/dist/esm-es5/{button-active-13c37337.js → button-active-405f8dfb.js} +1 -1
  196. package/dist/esm-es5/capacitor-7a4165d9.js +4 -0
  197. package/dist/esm-es5/data-a1b4d211.js +4 -0
  198. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-c00dcaf7.js} +1 -1
  199. package/dist/esm-es5/index-3497dcba.js +4 -0
  200. package/dist/esm-es5/index-3811e0a3.js +4 -0
  201. package/dist/esm-es5/index-52a167d1.js +4 -0
  202. package/dist/esm-es5/index-7d7fdaad.js +4 -0
  203. package/dist/esm-es5/index.js +1 -1
  204. package/dist/esm-es5/input-shims-bc1cc120.js +4 -0
  205. package/dist/esm-es5/input.utils-7a6034e6.js +4 -0
  206. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  207. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  208. package/dist/esm-es5/ion-alert.entry.js +1 -1
  209. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  210. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  211. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  212. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  213. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  214. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  216. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  217. package/dist/esm-es5/ion-chip.entry.js +1 -1
  218. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  219. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  220. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  221. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  222. package/dist/esm-es5/ion-img.entry.js +1 -1
  223. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  224. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  225. package/dist/esm-es5/ion-input.entry.js +1 -1
  226. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  227. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  228. package/dist/esm-es5/ion-loading.entry.js +1 -1
  229. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  230. package/dist/esm-es5/ion-modal.entry.js +1 -1
  231. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  232. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  233. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  234. package/dist/esm-es5/ion-popover.entry.js +1 -1
  235. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  236. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  237. package/dist/esm-es5/ion-range.entry.js +1 -1
  238. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  239. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  240. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  241. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  242. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  243. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  244. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  245. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  246. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  247. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  248. package/dist/esm-es5/ion-text.entry.js +1 -1
  249. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  250. package/dist/esm-es5/ion-toast.entry.js +1 -1
  251. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  252. package/dist/esm-es5/ionic-global-c44ae874.js +4 -0
  253. package/dist/esm-es5/ionic.js +1 -1
  254. package/dist/esm-es5/ios.transition-d4256afc.js +4 -0
  255. package/dist/esm-es5/keyboard-controller-63a70cc3.js +4 -0
  256. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-d793eb55.js} +1 -1
  257. package/dist/esm-es5/keyboard-ed2134e3.js +4 -0
  258. package/dist/esm-es5/loader.js +1 -1
  259. package/dist/esm-es5/md.transition-2e0541c4.js +4 -0
  260. package/dist/esm-es5/notch-controller-efd4d592.js +4 -0
  261. package/dist/esm-es5/overlays-8ea559a8.js +4 -0
  262. package/dist/esm-es5/status-tap-b5cdef45.js +4 -0
  263. package/dist/html.html-data.json +102 -102
  264. package/dist/ionic/index.esm.js +1 -1
  265. package/dist/ionic/ionic.esm.js +1 -1
  266. package/dist/ionic/ionic.js +1 -1
  267. package/dist/ionic/p-002a43eb.system.entry.js +4 -0
  268. package/dist/ionic/p-0170e66d.system.entry.js +4 -0
  269. package/dist/ionic/{p-8884ee37.system.entry.js → p-03852992.system.entry.js} +1 -1
  270. package/dist/ionic/p-06a15c1a.js +4 -0
  271. package/dist/ionic/p-0ae0b773.system.entry.js +4 -0
  272. package/dist/ionic/{p-8cab6a5c.system.entry.js → p-0e13c364.system.entry.js} +1 -1
  273. package/dist/ionic/p-101b8d3c.system.entry.js +4 -0
  274. package/dist/ionic/p-141fffe4.system.js +4 -0
  275. package/dist/ionic/p-1bc17376.js +4 -0
  276. package/dist/ionic/{p-f4d568f8.entry.js → p-1ef8603e.entry.js} +1 -1
  277. package/dist/ionic/p-244f21d9.system.entry.js +4 -0
  278. package/dist/ionic/p-246855ee.js +4 -0
  279. package/dist/ionic/{p-b06ac4a5.system.js → p-2693d3fb.system.js} +1 -1
  280. package/dist/ionic/{p-97f6c01c.system.entry.js → p-27292ed7.system.entry.js} +1 -1
  281. package/dist/ionic/p-2901b77d.entry.js +4 -0
  282. package/dist/ionic/{p-fd70cb80.system.entry.js → p-2a3860b9.system.entry.js} +1 -1
  283. package/dist/ionic/{p-89b61afc.js → p-2b41e073.js} +1 -1
  284. package/dist/ionic/p-2e95ce86.entry.js +4 -0
  285. package/dist/ionic/{p-d7cde2c6.entry.js → p-2f95e4a4.entry.js} +1 -1
  286. package/dist/ionic/p-3231947e.system.entry.js +4 -0
  287. package/dist/ionic/{p-23e0cd37.entry.js → p-325414c0.entry.js} +1 -1
  288. package/dist/ionic/p-3414d514.entry.js +4 -0
  289. package/dist/ionic/p-3936977d.system.entry.js +4 -0
  290. package/dist/ionic/{p-1dfc11b3.system.js → p-4018f881.system.js} +1 -1
  291. package/dist/ionic/p-421103f4.entry.js +4 -0
  292. package/dist/ionic/{p-34b11c24.js → p-43a264be.js} +1 -1
  293. package/dist/ionic/{p-e02807c4.entry.js → p-45fdfccc.entry.js} +1 -1
  294. package/dist/ionic/p-48691dfe.system.entry.js +4 -0
  295. package/dist/ionic/p-48c96b9c.js +4 -0
  296. package/dist/ionic/{p-aa5358cb.system.entry.js → p-48d7aa61.system.entry.js} +1 -1
  297. package/dist/ionic/{p-c6181d52.system.js → p-49530528.system.js} +1 -1
  298. package/dist/ionic/p-4e2452de.entry.js +4 -0
  299. package/dist/ionic/{p-1b57577b.entry.js → p-5222cdd0.entry.js} +1 -1
  300. package/dist/ionic/p-5bacc2dc.entry.js +4 -0
  301. package/dist/ionic/p-5bc2035a.entry.js +4 -0
  302. package/dist/ionic/p-5d706e16.system.js +4 -0
  303. package/dist/ionic/p-61740302.entry.js +4 -0
  304. package/dist/ionic/{p-c7e16491.js → p-646e5cb0.js} +1 -1
  305. package/dist/ionic/p-64bfc41b.entry.js +4 -0
  306. package/dist/ionic/p-65492fd5.entry.js +4 -0
  307. package/dist/ionic/p-66cb9ae9.entry.js +4 -0
  308. package/dist/ionic/{p-27281edd.js → p-67feade9.js} +1 -1
  309. package/dist/ionic/{p-2b37f5bd.entry.js → p-68728b43.entry.js} +1 -1
  310. package/dist/ionic/p-6a304027.js +4 -0
  311. package/dist/ionic/p-6aeef436.system.entry.js +4 -0
  312. package/dist/ionic/{p-491deb33.entry.js → p-6f58c884.entry.js} +1 -1
  313. package/dist/ionic/p-701188f8.system.entry.js +4 -0
  314. package/dist/ionic/{p-96503a77.entry.js → p-702d3b7d.entry.js} +1 -1
  315. package/dist/ionic/p-703c78f0.js +4 -0
  316. package/dist/ionic/{p-1e4371bd.js → p-705a8c00.js} +1 -1
  317. package/dist/ionic/p-740566fc.system.js +4 -0
  318. package/dist/ionic/p-757b4aa4.system.entry.js +4 -0
  319. package/dist/ionic/p-769484a8.system.js +4 -0
  320. package/dist/ionic/{p-6d857105.system.entry.js → p-7a3cc822.system.entry.js} +1 -1
  321. package/dist/ionic/p-7a5a9a11.entry.js +4 -0
  322. package/dist/ionic/{p-7f375f5a.entry.js → p-7b24df04.entry.js} +1 -1
  323. package/dist/ionic/p-7c64f804.entry.js +4 -0
  324. package/dist/ionic/p-7cca9c01.system.js +4 -0
  325. package/dist/ionic/p-8235cab9.system.entry.js +4 -0
  326. package/dist/ionic/{p-1e1b3d99.system.entry.js → p-872bf4d3.system.entry.js} +1 -1
  327. package/dist/ionic/{p-fca0933c.system.entry.js → p-8a2509af.system.entry.js} +1 -1
  328. package/dist/ionic/p-8ac6a104.system.entry.js +4 -0
  329. package/dist/ionic/p-8af57279.js +4 -0
  330. package/dist/ionic/p-8b067044.system.entry.js +4 -0
  331. package/dist/ionic/{p-7de39857.system.entry.js → p-8cf8bda2.system.entry.js} +1 -1
  332. package/dist/ionic/{p-dc65c03b.js → p-92585b67.js} +1 -1
  333. package/dist/ionic/p-9282e480.system.entry.js +4 -0
  334. package/dist/ionic/{p-d4a694c5.system.entry.js → p-95b84628.system.entry.js} +1 -1
  335. package/dist/ionic/p-96eaa7e2.entry.js +4 -0
  336. package/dist/ionic/{p-505121c4.entry.js → p-97195002.entry.js} +1 -1
  337. package/dist/ionic/p-9890a4c4.entry.js +4 -0
  338. package/dist/ionic/{p-a93873de.system.js → p-995f77b5.system.js} +1 -1
  339. package/dist/ionic/p-996a2209.system.js +4 -0
  340. package/dist/ionic/{p-f687573e.system.js → p-999693a8.system.js} +1 -1
  341. package/dist/ionic/{p-eecf3a84.entry.js → p-9cbf03b9.entry.js} +1 -1
  342. package/dist/ionic/{p-98203dbd.system.entry.js → p-9d134a58.system.entry.js} +1 -1
  343. package/dist/ionic/p-a03a1264.system.js +4 -0
  344. package/dist/ionic/{p-19ea7bff.system.js → p-a3d8a4d8.system.js} +1 -1
  345. package/dist/ionic/p-a5537ce0.system.entry.js +4 -0
  346. package/dist/ionic/p-a6af8913.js +4 -0
  347. package/dist/ionic/{p-83f7a890.system.entry.js → p-a861930f.system.entry.js} +1 -1
  348. package/dist/ionic/p-a9fb3848.entry.js +4 -0
  349. package/dist/ionic/p-aa5f8086.system.entry.js +4 -0
  350. package/dist/ionic/p-ab6f49d3.system.entry.js +4 -0
  351. package/dist/ionic/{p-b0fbe12b.entry.js → p-ae2ffc81.entry.js} +1 -1
  352. package/dist/ionic/{p-dfb78785.system.js → p-ae31a576.system.js} +1 -1
  353. package/dist/ionic/{p-0065a3d0.system.entry.js → p-aed2b108.system.entry.js} +1 -1
  354. package/dist/ionic/{p-1f772e46.entry.js → p-b0df97b9.entry.js} +1 -1
  355. package/dist/ionic/p-b46ccde5.js +4 -0
  356. package/dist/ionic/{p-89611183.system.js → p-b5defde7.system.js} +1 -1
  357. package/dist/ionic/p-b6438d56.js +4 -0
  358. package/dist/ionic/{p-8b3ff142.entry.js → p-ba1396d4.entry.js} +1 -1
  359. package/dist/ionic/p-bce90bcc.entry.js +4 -0
  360. package/dist/ionic/p-bd5f5dd5.system.entry.js +4 -0
  361. package/dist/ionic/{p-b0d099be.js → p-bddc8f8e.js} +1 -1
  362. package/dist/ionic/p-be720bce.entry.js +4 -0
  363. package/dist/ionic/p-be7ba661.system.entry.js +4 -0
  364. package/dist/ionic/p-c8414717.entry.js +4 -0
  365. package/dist/ionic/p-c95c6694.entry.js +4 -0
  366. package/dist/ionic/{p-3ba261ac.entry.js → p-cc1e9101.entry.js} +1 -1
  367. package/dist/ionic/{p-3d9ecf70.entry.js → p-cc5c828d.entry.js} +1 -1
  368. package/dist/ionic/p-cc8dc05a.js +4 -0
  369. package/dist/ionic/p-cd78816f.system.js +4 -0
  370. package/dist/ionic/{p-4384e5de.system.entry.js → p-cdc702c5.system.entry.js} +1 -1
  371. package/dist/ionic/p-cdd44009.system.entry.js +4 -0
  372. package/dist/ionic/p-cf4097be.system.js +4 -0
  373. package/dist/ionic/p-d08ba7ce.entry.js +4 -0
  374. package/dist/ionic/p-d599973b.entry.js +4 -0
  375. package/dist/ionic/{p-86deab17.system.entry.js → p-d74676dc.system.entry.js} +1 -1
  376. package/dist/ionic/p-d95bfbd2.entry.js +4 -0
  377. package/dist/ionic/p-da014e9d.entry.js +4 -0
  378. package/dist/ionic/{p-4a963829.system.entry.js → p-dd2e30d9.system.entry.js} +1 -1
  379. package/dist/ionic/{p-9146695e.system.js → p-ddf9c7fa.system.js} +1 -1
  380. package/dist/ionic/{p-21904499.entry.js → p-de1e5d8a.entry.js} +1 -1
  381. package/dist/ionic/p-df41ef98.entry.js +4 -0
  382. package/dist/ionic/{p-d60342e3.js → p-e046c13d.js} +1 -1
  383. package/dist/ionic/{p-76256933.system.entry.js → p-e0b155a5.system.entry.js} +1 -1
  384. package/dist/ionic/p-e0cda956.js +4 -0
  385. package/dist/ionic/{p-289d16f5.system.js → p-e217d369.system.js} +1 -1
  386. package/dist/ionic/p-e5c0076e.system.entry.js +4 -0
  387. package/dist/ionic/{p-2690b1de.js → p-e7aee7cd.js} +1 -1
  388. package/dist/ionic/{p-acaa514f.system.entry.js → p-ea72f71b.system.entry.js} +1 -1
  389. package/dist/ionic/{p-8985cdb6.system.js → p-eb099866.system.js} +1 -1
  390. package/dist/ionic/p-eb8b0915.system.js +4 -0
  391. package/dist/ionic/p-ec7c2905.system.entry.js +4 -0
  392. package/dist/ionic/{p-62bb4a33.system.entry.js → p-ed1491e2.system.entry.js} +1 -1
  393. package/dist/ionic/{p-cf6bad6d.entry.js → p-ed96c9a0.entry.js} +1 -1
  394. package/dist/ionic/p-ee00b4c1.entry.js +4 -0
  395. package/dist/ionic/p-efdc8a89.entry.js +4 -0
  396. package/dist/ionic/{p-89d17c48.system.entry.js → p-f8a3a05d.system.entry.js} +1 -1
  397. package/dist/ionic/{p-4fbf3556.system.entry.js → p-f92ff9d2.system.entry.js} +1 -1
  398. package/dist/ionic/p-f9f735c2.system.entry.js +4 -0
  399. package/dist/ionic/{p-4440f5b4.entry.js → p-fa4b0c41.entry.js} +1 -1
  400. package/dist/ionic/p-fb885b36.system.entry.js +4 -0
  401. package/dist/ionic/{p-9ea607bd.system.js → p-fe533e9b.system.js} +2 -2
  402. package/dist/ionic/p-ff896585.system.js +4 -0
  403. package/dist/types/global/ionic-global.d.ts +2 -0
  404. package/hydrate/index.js +50 -50
  405. package/hydrate/index.mjs +50 -50
  406. package/package.json +1 -1
  407. package/components/hardware-back-button.js +0 -115
  408. package/components/index8.js +0 -128
  409. package/components/index9.js +0 -167
  410. package/dist/cjs/hardware-back-button-1f867b1e.js +0 -122
  411. package/dist/cjs/index-5915f9b3.js +0 -38
  412. package/dist/cjs/index-c8d52405.js +0 -10
  413. package/dist/cjs/ionic-global-86430f67.js +0 -237
  414. package/dist/esm/hardware-back-button-8e2c1354.js +0 -116
  415. package/dist/esm/index-9b0d46f4.js +0 -34
  416. package/dist/esm/index-a5d50daf.js +0 -7
  417. package/dist/esm/ionic-global-8f9440ec.js +0 -231
  418. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  419. package/dist/esm-es5/app-globals-b9f6e516.js +0 -4
  420. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  421. package/dist/esm-es5/data-ae11fd43.js +0 -4
  422. package/dist/esm-es5/hardware-back-button-8e2c1354.js +0 -4
  423. package/dist/esm-es5/index-5cc724f3.js +0 -4
  424. package/dist/esm-es5/index-79b30591.js +0 -4
  425. package/dist/esm-es5/index-8579e7fd.js +0 -4
  426. package/dist/esm-es5/index-97b0ab3f.js +0 -4
  427. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  428. package/dist/esm-es5/index-a5d50daf.js +0 -4
  429. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  430. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  431. package/dist/esm-es5/ionic-global-8f9440ec.js +0 -4
  432. package/dist/esm-es5/ios.transition-beb96e76.js +0 -4
  433. package/dist/esm-es5/keyboard-52278bd7.js +0 -4
  434. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  435. package/dist/esm-es5/md.transition-d5aa5703.js +0 -4
  436. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  437. package/dist/esm-es5/overlays-2ea57630.js +0 -4
  438. package/dist/esm-es5/status-tap-a264a37f.js +0 -4
  439. package/dist/ionic/p-06e58c4e.js +0 -4
  440. package/dist/ionic/p-06fbb310.entry.js +0 -4
  441. package/dist/ionic/p-06fee233.js +0 -4
  442. package/dist/ionic/p-08cfccad.js +0 -4
  443. package/dist/ionic/p-0c06e09b.system.js +0 -4
  444. package/dist/ionic/p-11810112.system.entry.js +0 -4
  445. package/dist/ionic/p-1277436d.system.entry.js +0 -4
  446. package/dist/ionic/p-14c81a66.system.js +0 -4
  447. package/dist/ionic/p-15ef22b3.system.entry.js +0 -4
  448. package/dist/ionic/p-16917251.entry.js +0 -4
  449. package/dist/ionic/p-184f2f63.system.entry.js +0 -4
  450. package/dist/ionic/p-1cacb881.system.entry.js +0 -4
  451. package/dist/ionic/p-1d3ea8c1.entry.js +0 -4
  452. package/dist/ionic/p-1dfe9aa7.entry.js +0 -4
  453. package/dist/ionic/p-2056f176.js +0 -4
  454. package/dist/ionic/p-2afb9310.entry.js +0 -4
  455. package/dist/ionic/p-2b7827c7.js +0 -4
  456. package/dist/ionic/p-2d93a7e5.system.js +0 -4
  457. package/dist/ionic/p-2de64a3f.system.entry.js +0 -4
  458. package/dist/ionic/p-303f64cd.entry.js +0 -4
  459. package/dist/ionic/p-330d7e08.entry.js +0 -4
  460. package/dist/ionic/p-34a6b5a7.entry.js +0 -4
  461. package/dist/ionic/p-382345db.system.entry.js +0 -4
  462. package/dist/ionic/p-46121609.entry.js +0 -4
  463. package/dist/ionic/p-49ffacc0.system.entry.js +0 -4
  464. package/dist/ionic/p-4ad3a2de.entry.js +0 -4
  465. package/dist/ionic/p-4e6aa78c.entry.js +0 -4
  466. package/dist/ionic/p-4fa22b8c.entry.js +0 -4
  467. package/dist/ionic/p-50c38a28.system.entry.js +0 -4
  468. package/dist/ionic/p-52fce436.entry.js +0 -4
  469. package/dist/ionic/p-5749f245.system.entry.js +0 -4
  470. package/dist/ionic/p-586fa05c.system.js +0 -4
  471. package/dist/ionic/p-5ae3649f.system.entry.js +0 -4
  472. package/dist/ionic/p-669c0566.system.js +0 -4
  473. package/dist/ionic/p-66aa91c8.js +0 -4
  474. package/dist/ionic/p-6be871f6.system.entry.js +0 -4
  475. package/dist/ionic/p-6e444bfa.entry.js +0 -4
  476. package/dist/ionic/p-6e4ff107.system.entry.js +0 -4
  477. package/dist/ionic/p-7123a4b9.system.js +0 -4
  478. package/dist/ionic/p-72812e99.js +0 -4
  479. package/dist/ionic/p-792919fd.system.js +0 -4
  480. package/dist/ionic/p-7b30edcc.js +0 -4
  481. package/dist/ionic/p-82ad7191.entry.js +0 -4
  482. package/dist/ionic/p-8302d21c.system.entry.js +0 -4
  483. package/dist/ionic/p-840cdfe8.entry.js +0 -4
  484. package/dist/ionic/p-86895ed7.system.js +0 -4
  485. package/dist/ionic/p-8c1f6a17.entry.js +0 -4
  486. package/dist/ionic/p-8d460677.entry.js +0 -4
  487. package/dist/ionic/p-8ed4381f.js +0 -4
  488. package/dist/ionic/p-96cc4814.js +0 -4
  489. package/dist/ionic/p-985f06f3.entry.js +0 -4
  490. package/dist/ionic/p-98a7aade.js +0 -4
  491. package/dist/ionic/p-9a64afc9.entry.js +0 -4
  492. package/dist/ionic/p-9a957058.system.entry.js +0 -4
  493. package/dist/ionic/p-9beb3fad.js +0 -4
  494. package/dist/ionic/p-9cd1f569.system.js +0 -4
  495. package/dist/ionic/p-a15ddedb.system.js +0 -4
  496. package/dist/ionic/p-ab44e74e.entry.js +0 -4
  497. package/dist/ionic/p-abe101da.system.js +0 -4
  498. package/dist/ionic/p-b032d7ad.system.entry.js +0 -4
  499. package/dist/ionic/p-b0fea0ab.system.entry.js +0 -4
  500. package/dist/ionic/p-b6f09d60.system.entry.js +0 -4
  501. package/dist/ionic/p-bb013b6c.system.entry.js +0 -4
  502. package/dist/ionic/p-be11fb42.system.js +0 -4
  503. package/dist/ionic/p-be32a527.entry.js +0 -4
  504. package/dist/ionic/p-c61cc894.js +0 -4
  505. package/dist/ionic/p-c655f9cc.js +0 -4
  506. package/dist/ionic/p-c7b3353c.entry.js +0 -4
  507. package/dist/ionic/p-ccfe13f3.entry.js +0 -4
  508. package/dist/ionic/p-cdb1dc2f.system.entry.js +0 -4
  509. package/dist/ionic/p-d232cc6e.system.entry.js +0 -4
  510. package/dist/ionic/p-d690dc50.system.entry.js +0 -4
  511. package/dist/ionic/p-d6b5bfa3.entry.js +0 -4
  512. package/dist/ionic/p-d81e5138.entry.js +0 -4
  513. package/dist/ionic/p-da5af268.system.entry.js +0 -4
  514. package/dist/ionic/p-e8cd5bde.js +0 -4
  515. package/dist/ionic/p-ebe1326c.system.js +0 -4
  516. package/dist/ionic/p-ed76b287.entry.js +0 -4
  517. package/dist/ionic/p-f8fbf20f.system.entry.js +0 -4
  518. package/dist/ionic/p-ff417d5d.system.entry.js +0 -4
  519. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -0,0 +1,464 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const index = require('./index-b9e25ecd.js');
7
+
8
+ const win = typeof window !== 'undefined' ? window : undefined;
9
+ const doc = typeof document !== 'undefined' ? document : undefined;
10
+
11
+ // TODO(FW-2832): types
12
+ class Config {
13
+ constructor() {
14
+ this.m = new Map();
15
+ }
16
+ reset(configObj) {
17
+ this.m = new Map(Object.entries(configObj));
18
+ }
19
+ get(key, fallback) {
20
+ const value = this.m.get(key);
21
+ return value !== undefined ? value : fallback;
22
+ }
23
+ getBoolean(key, fallback = false) {
24
+ const val = this.m.get(key);
25
+ if (val === undefined) {
26
+ return fallback;
27
+ }
28
+ if (typeof val === 'string') {
29
+ return val === 'true';
30
+ }
31
+ return !!val;
32
+ }
33
+ getNumber(key, fallback) {
34
+ const val = parseFloat(this.m.get(key));
35
+ return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
36
+ }
37
+ set(key, value) {
38
+ this.m.set(key, value);
39
+ }
40
+ }
41
+ const config = /*@__PURE__*/ new Config();
42
+ const configFromSession = (win) => {
43
+ try {
44
+ const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);
45
+ return configStr !== null ? JSON.parse(configStr) : {};
46
+ }
47
+ catch (e) {
48
+ return {};
49
+ }
50
+ };
51
+ const saveConfig = (win, c) => {
52
+ try {
53
+ win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));
54
+ }
55
+ catch (e) {
56
+ return;
57
+ }
58
+ };
59
+ const configFromURL = (win) => {
60
+ const configObj = {};
61
+ win.location.search
62
+ .slice(1)
63
+ .split('&')
64
+ .map((entry) => entry.split('='))
65
+ .map(([key, value]) => {
66
+ try {
67
+ return [decodeURIComponent(key), decodeURIComponent(value)];
68
+ }
69
+ catch (e) {
70
+ return ['', ''];
71
+ }
72
+ })
73
+ .filter(([key]) => startsWith(key, IONIC_PREFIX))
74
+ .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])
75
+ .forEach(([key, value]) => {
76
+ configObj[key] = value;
77
+ });
78
+ return configObj;
79
+ };
80
+ const startsWith = (input, search) => {
81
+ return input.substr(0, search.length) === search;
82
+ };
83
+ const IONIC_PREFIX = 'ionic:';
84
+ const IONIC_SESSION_KEY = 'ionic-persist-config';
85
+
86
+ /**
87
+ * CloseWatcher is a newer API that lets
88
+ * use detect the hardware back button event
89
+ * in a web browser: https://caniuse.com/?search=closewatcher
90
+ * However, not every browser supports it yet.
91
+ *
92
+ * This needs to be a function so that we can
93
+ * check the config once it has been set.
94
+ * Otherwise, this code would be evaluated the
95
+ * moment this file is evaluated which could be
96
+ * before the config is set.
97
+ */
98
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
99
+ /**
100
+ * When hardwareBackButton: false in config,
101
+ * we need to make sure we also block the default
102
+ * webview behavior. If we don't then it will be
103
+ * possible for users to navigate backward while
104
+ * an overlay is still open. Additionally, it will
105
+ * give the appearance that the hardwareBackButton
106
+ * config is not working as the page transition
107
+ * will still happen.
108
+ */
109
+ const blockHardwareBackButton = () => {
110
+ document.addEventListener('backbutton', () => { }); // eslint-disable-line
111
+ };
112
+ const startHardwareBackButton = () => {
113
+ const doc = document;
114
+ let busy = false;
115
+ const backButtonCallback = () => {
116
+ if (busy) {
117
+ return;
118
+ }
119
+ let index = 0;
120
+ let handlers = [];
121
+ const ev = new CustomEvent('ionBackButton', {
122
+ bubbles: false,
123
+ detail: {
124
+ register(priority, handler) {
125
+ handlers.push({ priority, handler, id: index++ });
126
+ },
127
+ },
128
+ });
129
+ doc.dispatchEvent(ev);
130
+ const executeAction = async (handlerRegister) => {
131
+ try {
132
+ if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
133
+ const result = handlerRegister.handler(processHandlers);
134
+ if (result != null) {
135
+ await result;
136
+ }
137
+ }
138
+ }
139
+ catch (e) {
140
+ console.error(e);
141
+ }
142
+ };
143
+ const processHandlers = () => {
144
+ if (handlers.length > 0) {
145
+ let selectedHandler = {
146
+ priority: Number.MIN_SAFE_INTEGER,
147
+ handler: () => undefined,
148
+ id: -1,
149
+ };
150
+ handlers.forEach((handler) => {
151
+ if (handler.priority >= selectedHandler.priority) {
152
+ selectedHandler = handler;
153
+ }
154
+ });
155
+ busy = true;
156
+ handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
157
+ executeAction(selectedHandler).then(() => (busy = false));
158
+ }
159
+ };
160
+ processHandlers();
161
+ };
162
+ /**
163
+ * If the CloseWatcher is defined then
164
+ * we don't want to also listen for the native
165
+ * backbutton event otherwise we may get duplicate
166
+ * events firing.
167
+ */
168
+ if (shouldUseCloseWatcher()) {
169
+ let watcher;
170
+ const configureWatcher = () => {
171
+ watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
172
+ watcher = new win.CloseWatcher();
173
+ /**
174
+ * Once a close request happens
175
+ * the watcher gets destroyed.
176
+ * As a result, we need to re-configure
177
+ * the watcher so we can respond to other
178
+ * close requests.
179
+ */
180
+ watcher.onclose = () => {
181
+ backButtonCallback();
182
+ configureWatcher();
183
+ };
184
+ };
185
+ configureWatcher();
186
+ }
187
+ else {
188
+ doc.addEventListener('backbutton', backButtonCallback);
189
+ }
190
+ };
191
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
192
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
193
+
194
+ const hardwareBackButton = /*#__PURE__*/Object.freeze({
195
+ __proto__: null,
196
+ shouldUseCloseWatcher: shouldUseCloseWatcher,
197
+ blockHardwareBackButton: blockHardwareBackButton,
198
+ startHardwareBackButton: startHardwareBackButton,
199
+ OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
200
+ MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY
201
+ });
202
+
203
+ /**
204
+ * Logs a warning to the console with an Ionic prefix
205
+ * to indicate the library that is warning the developer.
206
+ *
207
+ * @param message - The string message to be logged to the console.
208
+ */
209
+ const printIonWarning = (message, ...params) => {
210
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
211
+ };
212
+ /*
213
+ * Logs an error to the console with an Ionic prefix
214
+ * to indicate the library that is warning the developer.
215
+ *
216
+ * @param message - The string message to be logged to the console.
217
+ * @param params - Additional arguments to supply to the console.error.
218
+ */
219
+ const printIonError = (message, ...params) => {
220
+ return console.error(`[Ionic Error]: ${message}`, ...params);
221
+ };
222
+ /**
223
+ * Prints an error informing developers that an implementation requires an element to be used
224
+ * within a specific selector.
225
+ *
226
+ * @param el The web component element this is requiring the element.
227
+ * @param targetSelectors The selector or selectors that were not found.
228
+ */
229
+ const printRequiredElementError = (el, ...targetSelectors) => {
230
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
231
+ };
232
+
233
+ const getPlatforms = (win) => setupPlatforms(win);
234
+ const isPlatform = (winOrPlatform, platform) => {
235
+ if (typeof winOrPlatform === 'string') {
236
+ platform = winOrPlatform;
237
+ winOrPlatform = undefined;
238
+ }
239
+ return getPlatforms(winOrPlatform).includes(platform);
240
+ };
241
+ const setupPlatforms = (win = window) => {
242
+ if (typeof win === 'undefined') {
243
+ return [];
244
+ }
245
+ win.Ionic = win.Ionic || {};
246
+ let platforms = win.Ionic.platforms;
247
+ if (platforms == null) {
248
+ platforms = win.Ionic.platforms = detectPlatforms(win);
249
+ platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));
250
+ }
251
+ return platforms;
252
+ };
253
+ const detectPlatforms = (win) => {
254
+ const customPlatformMethods = config.get('platform');
255
+ return Object.keys(PLATFORMS_MAP).filter((p) => {
256
+ const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];
257
+ return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);
258
+ });
259
+ };
260
+ const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
261
+ const isIpad = (win) => {
262
+ // iOS 12 and below
263
+ if (testUserAgent(win, /iPad/i)) {
264
+ return true;
265
+ }
266
+ // iOS 13+
267
+ if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
268
+ return true;
269
+ }
270
+ return false;
271
+ };
272
+ const isIphone = (win) => testUserAgent(win, /iPhone/i);
273
+ const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
274
+ const isAndroid = (win) => testUserAgent(win, /android|sink/i);
275
+ const isAndroidTablet = (win) => {
276
+ return isAndroid(win) && !testUserAgent(win, /mobile/i);
277
+ };
278
+ const isPhablet = (win) => {
279
+ const width = win.innerWidth;
280
+ const height = win.innerHeight;
281
+ const smallest = Math.min(width, height);
282
+ const largest = Math.max(width, height);
283
+ return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;
284
+ };
285
+ const isTablet = (win) => {
286
+ const width = win.innerWidth;
287
+ const height = win.innerHeight;
288
+ const smallest = Math.min(width, height);
289
+ const largest = Math.max(width, height);
290
+ return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);
291
+ };
292
+ const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
293
+ const isDesktop = (win) => !isMobile(win);
294
+ const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
295
+ const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
296
+ const isCapacitorNative = (win) => {
297
+ const capacitor = win['Capacitor'];
298
+ return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative);
299
+ };
300
+ const isElectron = (win) => testUserAgent(win, /electron/i);
301
+ const isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };
302
+ const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
303
+ const matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };
304
+ const PLATFORMS_MAP = {
305
+ ipad: isIpad,
306
+ iphone: isIphone,
307
+ ios: isIOS,
308
+ android: isAndroid,
309
+ phablet: isPhablet,
310
+ tablet: isTablet,
311
+ cordova: isCordova,
312
+ capacitor: isCapacitorNative,
313
+ electron: isElectron,
314
+ pwa: isPWA,
315
+ mobile: isMobile,
316
+ mobileweb: isMobileWeb,
317
+ desktop: isDesktop,
318
+ hybrid: isHybrid,
319
+ };
320
+
321
+ // TODO(FW-2832): types
322
+ let defaultMode;
323
+ const getIonMode = (ref) => {
324
+ return (ref && index.getMode(ref)) || defaultMode;
325
+ };
326
+ const rIC = (callback) => {
327
+ if ('requestIdleCallback' in window) {
328
+ window.requestIdleCallback(callback);
329
+ }
330
+ else {
331
+ setTimeout(callback, 32);
332
+ }
333
+ };
334
+ const needInputShims = () => {
335
+ /**
336
+ * iOS always needs input shims
337
+ */
338
+ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
339
+ if (needsShimsIOS) {
340
+ return true;
341
+ }
342
+ /**
343
+ * Android only needs input shims when running
344
+ * in the browser and only if the browser is using the
345
+ * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
346
+ */
347
+ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
348
+ if (isAndroidMobileWeb) {
349
+ return true;
350
+ }
351
+ return false;
352
+ };
353
+ const initialize = (userConfig = {}) => {
354
+ if (typeof window === 'undefined') {
355
+ return;
356
+ }
357
+ const doc = window.document;
358
+ const win = window;
359
+ const Ionic = (win.Ionic = win.Ionic || {});
360
+ const platformHelpers = {};
361
+ if (userConfig._ael) {
362
+ platformHelpers.ael = userConfig._ael;
363
+ }
364
+ if (userConfig._rel) {
365
+ platformHelpers.rel = userConfig._rel;
366
+ }
367
+ if (userConfig._ce) {
368
+ platformHelpers.ce = userConfig._ce;
369
+ }
370
+ index.setPlatformHelpers(platformHelpers);
371
+ // create the Ionic.config from raw config object (if it exists)
372
+ // and convert Ionic.config into a ConfigApi that has a get() fn
373
+ const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);
374
+ config.reset(configObj);
375
+ if (config.getBoolean('persistConfig')) {
376
+ saveConfig(win, configObj);
377
+ }
378
+ // Setup platforms
379
+ setupPlatforms(win);
380
+ // first see if the mode was set as an attribute on <html>
381
+ // which could have been set by the user, or by pre-rendering
382
+ // otherwise get the mode via config settings, and fallback to md
383
+ Ionic.config = config;
384
+ Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
385
+ config.set('mode', defaultMode);
386
+ doc.documentElement.setAttribute('mode', defaultMode);
387
+ doc.documentElement.classList.add(defaultMode);
388
+ if (config.getBoolean('_testing')) {
389
+ config.set('animated', false);
390
+ }
391
+ const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
392
+ const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);
393
+ index.setMode((elm) => {
394
+ while (elm) {
395
+ const elmMode = elm.mode || elm.getAttribute('mode');
396
+ if (elmMode) {
397
+ if (isAllowedIonicModeValue(elmMode)) {
398
+ return elmMode;
399
+ }
400
+ else if (isIonicElement(elm)) {
401
+ console.warn('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
402
+ }
403
+ }
404
+ elm = elm.parentElement;
405
+ }
406
+ return defaultMode;
407
+ });
408
+ // `IonApp` code
409
+ // ----------------------------------------------
410
+ {
411
+ rIC(async () => {
412
+ const isHybrid = isPlatform(window, 'hybrid');
413
+ if (!config.getBoolean('_testing')) {
414
+ Promise.resolve().then(function () { return require('./index-205f4d6c.js'); }).then((module) => module.startTapClick(config));
415
+ }
416
+ if (config.getBoolean('statusTap', isHybrid)) {
417
+ Promise.resolve().then(function () { return require('./status-tap-147ee377.js'); }).then((module) => module.startStatusTap());
418
+ }
419
+ if (config.getBoolean('inputShims', needInputShims())) {
420
+ /**
421
+ * needInputShims() ensures that only iOS and Android
422
+ * platforms proceed into this block.
423
+ */
424
+ const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
425
+ Promise.resolve().then(function () { return require('./input-shims-850e2ebb.js'); }).then((module) => module.startInputShims(config, platform));
426
+ }
427
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
428
+ const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
429
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
430
+ hardwareBackButtonModule.startHardwareBackButton();
431
+ }
432
+ else {
433
+ /**
434
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
435
+ * then the close watcher will not be used.
436
+ */
437
+ if (shouldUseCloseWatcher()) {
438
+ printIonWarning('experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
439
+ }
440
+ hardwareBackButtonModule.blockHardwareBackButton();
441
+ }
442
+ if (typeof window !== 'undefined') {
443
+ Promise.resolve().then(function () { return require('./keyboard-29ccffc1.js'); }).then((module) => module.startKeyboardAssist(window));
444
+ }
445
+ // TODO
446
+ // import('../../utils/focus-visible').then((module) => (this.focusVisible = module.startFocusVisible()));
447
+ });
448
+ }
449
+ };
450
+
451
+ exports.MENU_BACK_BUTTON_PRIORITY = MENU_BACK_BUTTON_PRIORITY;
452
+ exports.OVERLAY_BACK_BUTTON_PRIORITY = OVERLAY_BACK_BUTTON_PRIORITY;
453
+ exports.config = config;
454
+ exports.doc = doc;
455
+ exports.getIonMode = getIonMode;
456
+ exports.getPlatforms = getPlatforms;
457
+ exports.initialize = initialize;
458
+ exports.isPlatform = isPlatform;
459
+ exports.printIonError = printIonError;
460
+ exports.printIonWarning = printIonWarning;
461
+ exports.printRequiredElementError = printRequiredElementError;
462
+ exports.rIC = rIC;
463
+ exports.shouldUseCloseWatcher = shouldUseCloseWatcher;
464
+ exports.win = win;
@@ -6,8 +6,8 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b9e25ecd.js');
9
- const appGlobals = require('./app-globals-2cfd442b.js');
10
- require('./ionic-global-86430f67.js');
9
+ const appGlobals = require('./app-globals-efeec904.js');
10
+ require('./ionic-global-6d67c8d1.js');
11
11
 
12
12
  /*
13
13
  Stencil Client Patch Browser v4.21.0 | MIT Licensed | https://stenciljs.com
@@ -3,12 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-9bdd4f2a.js');
8
- require('./index-c8d52405.js');
9
- require('./ionic-global-86430f67.js');
6
+ const animation = require('./animation-0e966ffd.js');
7
+ const index = require('./index-2a7fa0c6.js');
8
+ require('./ionic-global-6d67c8d1.js');
10
9
  require('./index-b9e25ecd.js');
11
- require('./index-5915f9b3.js');
12
10
  require('./helpers-afaa9001.js');
13
11
 
14
12
  const DURATION = 540;
@@ -3,9 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const keyboard = require('./keyboard-0272231f.js');
7
- require('./capacitor-c04564bf.js');
8
- require('./index-c8d52405.js');
6
+ const keyboard = require('./keyboard-6a572bd2.js');
7
+ require('./capacitor-8b094750.js');
8
+ require('./ionic-global-6d67c8d1.js');
9
+ require('./index-b9e25ecd.js');
9
10
 
10
11
  const KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';
11
12
  const KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const capacitor = require('./capacitor-c04564bf.js');
6
+ const capacitor = require('./capacitor-8b094750.js');
7
7
 
8
8
  var ExceptionCode;
9
9
  (function (ExceptionCode) {
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-c8d52405.js');
7
- const keyboard = require('./keyboard-0272231f.js');
6
+ const ionicGlobal = require('./ionic-global-6d67c8d1.js');
7
+ const keyboard = require('./keyboard-6a572bd2.js');
8
8
 
9
9
  /**
10
10
  * The element that resizes when the keyboard opens
@@ -19,7 +19,7 @@ const getResizeContainer = (resizeMode) => {
19
19
  * If the webview does not resize then there
20
20
  * is no container to resize.
21
21
  */
22
- if (index.doc === undefined || resizeMode === keyboard.KeyboardResize.None || resizeMode === undefined) {
22
+ if (ionicGlobal.doc === undefined || resizeMode === keyboard.KeyboardResize.None || resizeMode === undefined) {
23
23
  return null;
24
24
  }
25
25
  /**
@@ -28,8 +28,8 @@ const getResizeContainer = (resizeMode) => {
28
28
  * on that. In the event `ion-app` is not available then
29
29
  * we can fall back to `body`.
30
30
  */
31
- const ionApp = index.doc.querySelector('ion-app');
32
- return ionApp !== null && ionApp !== void 0 ? ionApp : index.doc.body;
31
+ const ionApp = ionicGlobal.doc.querySelector('ion-app');
32
+ return ionApp !== null && ionApp !== void 0 ? ionApp : ionicGlobal.doc.body;
33
33
  };
34
34
  /**
35
35
  * Get the height of ion-app or body.
@@ -77,8 +77,8 @@ const createKeyboardController = async (keyboardChangeCallback) => {
77
77
  keyboardVisible = false;
78
78
  fireChangeCallback(keyboardVisible, resizeMode);
79
79
  };
80
- index.win === null || index.win === void 0 ? void 0 : index.win.addEventListener('keyboardWillShow', keyboardWillShowHandler);
81
- index.win === null || index.win === void 0 ? void 0 : index.win.addEventListener('keyboardWillHide', keyboardWillHideHandler);
80
+ ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.addEventListener('keyboardWillShow', keyboardWillShowHandler);
81
+ ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.addEventListener('keyboardWillHide', keyboardWillHideHandler);
82
82
  };
83
83
  const fireChangeCallback = (state, resizeMode) => {
84
84
  if (keyboardChangeCallback) {
@@ -155,8 +155,8 @@ const createKeyboardController = async (keyboardChangeCallback) => {
155
155
  });
156
156
  };
157
157
  const destroy = () => {
158
- index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('keyboardWillShow', keyboardWillShowHandler);
159
- index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('keyboardWillHide', keyboardWillHideHandler);
158
+ ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.removeEventListener('keyboardWillShow', keyboardWillShowHandler);
159
+ ionicGlobal.win === null || ionicGlobal.win === void 0 ? void 0 : ionicGlobal.win.removeEventListener('keyboardWillHide', keyboardWillHideHandler);
160
160
  keyboardWillShowHandler = keyboardWillHideHandler = undefined;
161
161
  };
162
162
  const isKeyboardVisible = () => keyboardVisible;
@@ -6,8 +6,8 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-b9e25ecd.js');
9
- const appGlobals = require('./app-globals-2cfd442b.js');
10
- require('./ionic-global-86430f67.js');
9
+ const appGlobals = require('./app-globals-efeec904.js');
10
+ require('./ionic-global-6d67c8d1.js');
11
11
 
12
12
  const defineCustomElements = async (win, options) => {
13
13
  if (typeof window === 'undefined') return undefined;
@@ -3,12 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-9bdd4f2a.js');
8
- require('./index-c8d52405.js');
9
- require('./ionic-global-86430f67.js');
6
+ const animation = require('./animation-0e966ffd.js');
7
+ const index = require('./index-2a7fa0c6.js');
8
+ require('./ionic-global-6d67c8d1.js');
10
9
  require('./index-b9e25ecd.js');
11
- require('./index-5915f9b3.js');
12
10
  require('./helpers-afaa9001.js');
13
11
 
14
12
  const mdTransitionAnimation = (_, opts) => {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-c8d52405.js');
6
+ const ionicGlobal = require('./ionic-global-6d67c8d1.js');
7
7
  const helpers = require('./helpers-afaa9001.js');
8
8
 
9
9
  /**
@@ -95,8 +95,8 @@ const createNotchController = (el, getNotchSpacerEl, getLabelSlot) => {
95
95
  */
96
96
  width === 0 &&
97
97
  notchSpacerEl.offsetParent === null &&
98
- index.win !== undefined &&
99
- 'IntersectionObserver' in index.win) {
98
+ ionicGlobal.win !== undefined &&
99
+ 'IntersectionObserver' in ionicGlobal.win) {
100
100
  /**
101
101
  * If there is an IO already attached
102
102
  * then that will update the notch