@ionic/core 8.3.1-dev.11726167750.15400355 → 8.3.1-dev.11726172907.15a1af41

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 (550) 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/focus-visible.js +8 -1
  6. package/components/index2.js +1 -2
  7. package/components/index4.js +1 -4
  8. package/components/index5.js +27 -3
  9. package/components/index6.js +114 -20
  10. package/components/index7.js +163 -27
  11. package/components/input-shims.js +2 -2
  12. package/components/input.utils.js +1 -2
  13. package/components/ion-accordion-group.js +1 -2
  14. package/components/ion-accordion.js +1 -1
  15. package/components/ion-app.js +6 -75
  16. package/components/ion-back-button.js +1 -1
  17. package/components/ion-breadcrumb.js +1 -1
  18. package/components/ion-datetime-button.js +1 -2
  19. package/components/ion-datetime.js +2 -3
  20. package/components/ion-fab-button.js +1 -1
  21. package/components/ion-footer.js +1 -1
  22. package/components/ion-header.js +1 -1
  23. package/components/ion-infinite-scroll.js +1 -1
  24. package/components/ion-input-password-toggle.js +2 -3
  25. package/components/ion-input.js +1 -1
  26. package/components/ion-item-sliding.js +1 -1
  27. package/components/ion-menu-button.js +1 -1
  28. package/components/ion-menu.js +1 -2
  29. package/components/ion-modal.js +2 -4
  30. package/components/ion-nav.js +1 -2
  31. package/components/ion-picker-legacy.js +1 -2
  32. package/components/ion-range.js +2 -3
  33. package/components/ion-refresher-content.js +1 -1
  34. package/components/ion-refresher.js +1 -1
  35. package/components/ion-reorder-group.js +1 -1
  36. package/components/ion-reorder.js +1 -1
  37. package/components/ion-searchbar.js +1 -1
  38. package/components/ion-select.js +1 -1
  39. package/components/ion-toast.js +1 -3
  40. package/components/ion-toggle.js +1 -1
  41. package/components/ionic-global.js +219 -2
  42. package/components/item.js +1 -1
  43. package/components/keyboard-controller.js +1 -1
  44. package/components/notch-controller.js +1 -1
  45. package/components/overlays.js +1 -4
  46. package/components/picker-column.js +1 -2
  47. package/components/popover.js +1 -2
  48. package/components/status-tap.js +1 -1
  49. package/dist/cjs/{animation-b4fdf128.js → animation-f43e6366.js} +2 -2
  50. package/dist/cjs/{app-globals-21afee77.js → app-globals-aa7aec45.js} +1 -1
  51. package/dist/cjs/{button-active-3f2f60b4.js → button-active-1164881e.js} +2 -2
  52. package/dist/cjs/{capacitor-c04564bf.js → capacitor-094870c0.js} +3 -3
  53. package/dist/cjs/{data-21dc0f81.js → data-c6182804.js} +3 -3
  54. package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-ca81ce81.js} +8 -0
  55. package/dist/cjs/{haptic-f6b37aa3.js → haptic-188baa8e.js} +1 -1
  56. package/dist/cjs/{index-f05acd21.js → index-23381b18.js} +7 -8
  57. package/dist/cjs/{index-9509ecad.js → index-60f4c4b4.js} +7 -6
  58. package/dist/cjs/{index-9cd00dc3.js → index-afc28d19.js} +6 -9
  59. package/dist/cjs/{index-5b6a7459.js → index-b3550209.js} +2 -2
  60. package/dist/cjs/{index-73f75efb.js → index-b9e25ecd.js} +19 -13
  61. package/dist/cjs/index.cjs.js +8 -11
  62. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-833981ee.js} +16 -16
  63. package/dist/cjs/{input.utils-611cde0b.js → input.utils-a4020823.js} +3 -4
  64. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -4
  65. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -10
  66. package/dist/cjs/ion-alert.cjs.entry.js +7 -10
  67. package/dist/cjs/ion-app_8.cjs.entry.js +21 -91
  68. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-button_2.cjs.entry.js +5 -6
  73. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -8
  78. package/dist/cjs/ion-datetime_3.cjs.entry.js +94 -97
  79. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -4
  82. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -8
  83. package/dist/cjs/ion-input.cjs.entry.js +4 -6
  84. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -4
  85. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-loading.cjs.entry.js +4 -7
  87. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -9
  88. package/dist/cjs/ion-modal.cjs.entry.js +47 -50
  89. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -4
  90. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -6
  92. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  93. package/dist/cjs/ion-popover.cjs.entry.js +8 -11
  94. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  95. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  96. package/dist/cjs/ion-range.cjs.entry.js +8 -9
  97. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -8
  98. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -7
  99. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-select_3.cjs.entry.js +4 -7
  104. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  105. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -6
  107. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  108. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-textarea.cjs.entry.js +4 -6
  110. package/dist/cjs/ion-toast.cjs.entry.js +29 -32
  111. package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
  112. package/dist/cjs/ionic-global-4503ea83.js +462 -0
  113. package/dist/cjs/ionic.cjs.js +4 -4
  114. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-dac99bf0.js} +4 -6
  115. package/dist/cjs/{keyboard-0272231f.js → keyboard-6d170faf.js} +1 -1
  116. package/dist/cjs/{keyboard-af1bb365.js → keyboard-c79a662b.js} +4 -3
  117. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-a6533765.js} +9 -9
  118. package/dist/cjs/loader.cjs.js +3 -3
  119. package/dist/cjs/{md.transition-ededf99f.js → md.transition-65b7c8b6.js} +4 -6
  120. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-b33a54ec.js} +3 -3
  121. package/dist/cjs/{overlays-0123d7d4.js → overlays-44027b72.js} +9 -12
  122. package/dist/cjs/{status-tap-37681226.js → status-tap-643bbfa4.js} +3 -3
  123. package/dist/collection/collection-manifest.json +1 -1
  124. package/dist/collection/components/app/app.js +5 -75
  125. package/dist/collection/components/input/input.js +1 -1
  126. package/dist/collection/components/searchbar/searchbar.js +1 -1
  127. package/dist/collection/global/ionic-global.js +70 -1
  128. package/dist/collection/utils/focus-visible.js +7 -0
  129. package/dist/docs.json +108 -108
  130. package/dist/esm/{animation-eab5a4ca.js → animation-840e1209.js} +1 -1
  131. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-537d56c1.js} +1 -1
  132. package/dist/esm/{button-active-f6503382.js → button-active-dba2328e.js} +2 -2
  133. package/dist/esm/{capacitor-59395cbd.js → capacitor-fcd09564.js} +1 -1
  134. package/dist/esm/{data-ae11fd43.js → data-8389220e.js} +1 -1
  135. package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-b960316e.js} +8 -1
  136. package/dist/esm/{haptic-ac164e4c.js → haptic-6d16c679.js} +1 -1
  137. package/dist/esm/{index-fe1782b1.js → index-07e10d19.js} +2 -5
  138. package/dist/esm/{index-79b30591.js → index-3f9b7dcc.js} +2 -1
  139. package/dist/esm/{index-5cc724f3.js → index-40662748.js} +1 -1
  140. package/dist/esm/{index-28849c61.js → index-4e02bb5d.js} +19 -13
  141. package/dist/esm/{index-3ad7f18b.js → index-a4bd9891.js} +4 -5
  142. package/dist/esm/index.js +8 -11
  143. package/dist/esm/{input-shims-0314bbe5.js → input-shims-d4681aea.js} +5 -5
  144. package/dist/esm/{input.utils-09c71bc7.js → input.utils-c7e363b4.js} +1 -2
  145. package/dist/esm/ion-accordion_2.entry.js +2 -3
  146. package/dist/esm/ion-action-sheet.entry.js +7 -10
  147. package/dist/esm/ion-alert.entry.js +7 -10
  148. package/dist/esm/ion-app_8.entry.js +11 -81
  149. package/dist/esm/ion-avatar_3.entry.js +2 -2
  150. package/dist/esm/ion-back-button.entry.js +2 -2
  151. package/dist/esm/ion-backdrop.entry.js +2 -2
  152. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  153. package/dist/esm/ion-button_2.entry.js +2 -3
  154. package/dist/esm/ion-card_5.entry.js +2 -2
  155. package/dist/esm/ion-checkbox.entry.js +2 -2
  156. package/dist/esm/ion-chip.entry.js +2 -2
  157. package/dist/esm/ion-col_3.entry.js +2 -2
  158. package/dist/esm/ion-datetime-button.entry.js +3 -4
  159. package/dist/esm/ion-datetime_3.entry.js +8 -11
  160. package/dist/esm/ion-fab_3.entry.js +2 -2
  161. package/dist/esm/ion-img.entry.js +2 -2
  162. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -4
  163. package/dist/esm/ion-input-password-toggle.entry.js +2 -3
  164. package/dist/esm/ion-input.entry.js +4 -6
  165. package/dist/esm/ion-item-option_3.entry.js +3 -4
  166. package/dist/esm/ion-item_8.entry.js +2 -2
  167. package/dist/esm/ion-loading.entry.js +4 -7
  168. package/dist/esm/ion-menu_3.entry.js +5 -8
  169. package/dist/esm/ion-modal.entry.js +9 -12
  170. package/dist/esm/ion-nav_2.entry.js +3 -4
  171. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  172. package/dist/esm/ion-picker-column.entry.js +4 -5
  173. package/dist/esm/ion-picker.entry.js +1 -1
  174. package/dist/esm/ion-popover.entry.js +5 -8
  175. package/dist/esm/ion-progress-bar.entry.js +2 -2
  176. package/dist/esm/ion-radio_2.entry.js +2 -2
  177. package/dist/esm/ion-range.entry.js +3 -4
  178. package/dist/esm/ion-refresher_2.entry.js +6 -8
  179. package/dist/esm/ion-reorder_2.entry.js +5 -7
  180. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  181. package/dist/esm/ion-route_4.entry.js +2 -2
  182. package/dist/esm/ion-searchbar.entry.js +2 -2
  183. package/dist/esm/ion-segment_2.entry.js +2 -2
  184. package/dist/esm/ion-select_3.entry.js +4 -7
  185. package/dist/esm/ion-spinner.entry.js +2 -2
  186. package/dist/esm/ion-split-pane.entry.js +2 -2
  187. package/dist/esm/ion-tab-bar_2.entry.js +5 -6
  188. package/dist/esm/ion-tab_2.entry.js +1 -1
  189. package/dist/esm/ion-text.entry.js +2 -2
  190. package/dist/esm/ion-textarea.entry.js +4 -6
  191. package/dist/esm/ion-toast.entry.js +4 -7
  192. package/dist/esm/ion-toggle.entry.js +4 -5
  193. package/dist/esm/ionic-global-b1979612.js +448 -0
  194. package/dist/esm/ionic.js +5 -5
  195. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-e50705d1.js} +4 -6
  196. package/dist/esm/{keyboard-52278bd7.js → keyboard-630cb801.js} +4 -3
  197. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-00b92ab3.js} +2 -2
  198. package/dist/esm/{keyboard-73175e24.js → keyboard-f89a5eae.js} +1 -1
  199. package/dist/esm/loader.js +4 -4
  200. package/dist/esm/{md.transition-5106a0d2.js → md.transition-58674b20.js} +4 -6
  201. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-e45ab374.js} +1 -1
  202. package/dist/esm/{overlays-9c75ec54.js → overlays-a2dfa4a7.js} +1 -4
  203. package/dist/esm/{status-tap-f472b09f.js → status-tap-a9f0d61d.js} +3 -3
  204. package/dist/esm-es5/animation-840e1209.js +4 -0
  205. package/dist/esm-es5/app-globals-537d56c1.js +4 -0
  206. package/dist/esm-es5/{button-active-f6503382.js → button-active-dba2328e.js} +1 -1
  207. package/dist/esm-es5/capacitor-fcd09564.js +4 -0
  208. package/dist/esm-es5/data-8389220e.js +4 -0
  209. package/dist/esm-es5/focus-visible-b960316e.js +4 -0
  210. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-6d16c679.js} +1 -1
  211. package/dist/esm-es5/index-07e10d19.js +4 -0
  212. package/dist/esm-es5/index-3f9b7dcc.js +4 -0
  213. package/dist/esm-es5/index-40662748.js +4 -0
  214. package/dist/esm-es5/index-4e02bb5d.js +5 -0
  215. package/dist/esm-es5/index-a4bd9891.js +4 -0
  216. package/dist/esm-es5/index.js +1 -1
  217. package/dist/esm-es5/input-shims-d4681aea.js +4 -0
  218. package/dist/esm-es5/input.utils-c7e363b4.js +4 -0
  219. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  221. package/dist/esm-es5/ion-alert.entry.js +1 -1
  222. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  223. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  224. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  225. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  226. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  227. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  228. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  229. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  230. package/dist/esm-es5/ion-chip.entry.js +1 -1
  231. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  232. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  233. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  234. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  235. package/dist/esm-es5/ion-img.entry.js +1 -1
  236. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  237. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  238. package/dist/esm-es5/ion-input.entry.js +1 -1
  239. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  240. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  241. package/dist/esm-es5/ion-loading.entry.js +1 -1
  242. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  243. package/dist/esm-es5/ion-modal.entry.js +1 -1
  244. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  245. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  246. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  247. package/dist/esm-es5/ion-picker.entry.js +1 -1
  248. package/dist/esm-es5/ion-popover.entry.js +1 -1
  249. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  250. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  251. package/dist/esm-es5/ion-range.entry.js +1 -1
  252. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  253. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  254. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  255. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  256. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  257. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  258. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  259. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  260. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  261. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  262. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  263. package/dist/esm-es5/ion-text.entry.js +1 -1
  264. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  265. package/dist/esm-es5/ion-toast.entry.js +1 -1
  266. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  267. package/dist/esm-es5/ionic-global-b1979612.js +4 -0
  268. package/dist/esm-es5/ionic.js +1 -1
  269. package/dist/esm-es5/ios.transition-e50705d1.js +4 -0
  270. package/dist/esm-es5/keyboard-630cb801.js +4 -0
  271. package/dist/esm-es5/keyboard-controller-00b92ab3.js +4 -0
  272. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-f89a5eae.js} +1 -1
  273. package/dist/esm-es5/loader.js +1 -1
  274. package/dist/esm-es5/md.transition-58674b20.js +4 -0
  275. package/dist/esm-es5/notch-controller-e45ab374.js +4 -0
  276. package/dist/esm-es5/overlays-a2dfa4a7.js +4 -0
  277. package/dist/esm-es5/status-tap-a9f0d61d.js +4 -0
  278. package/dist/html.html-data.json +102 -102
  279. package/dist/ionic/index.esm.js +1 -1
  280. package/dist/ionic/ionic.esm.js +1 -1
  281. package/dist/ionic/ionic.js +1 -1
  282. package/dist/ionic/{p-f8c8b9ba.entry.js → p-00c9cfa0.entry.js} +1 -1
  283. package/dist/ionic/{p-6e85e450.entry.js → p-00cbf542.entry.js} +1 -1
  284. package/dist/ionic/p-01b0e865.system.js +4 -0
  285. package/dist/ionic/{p-9146695e.system.js → p-0476b3cc.system.js} +1 -1
  286. package/dist/ionic/p-073dacf3.entry.js +4 -0
  287. package/dist/ionic/p-07e807fb.js +4 -0
  288. package/dist/ionic/p-0a31c7b9.system.entry.js +4 -0
  289. package/dist/ionic/{p-7243df6f.entry.js → p-0a7a7ab9.entry.js} +1 -1
  290. package/dist/ionic/{p-93f37ceb.system.entry.js → p-0bee79fc.system.entry.js} +1 -1
  291. package/dist/ionic/p-0f1ba402.entry.js +4 -0
  292. package/dist/ionic/{p-9172535c.entry.js → p-11cf4ee1.entry.js} +1 -1
  293. package/dist/ionic/{p-8d44cf1f.entry.js → p-1253d402.entry.js} +1 -1
  294. package/dist/ionic/p-16917861.system.js +4 -0
  295. package/dist/ionic/p-179c573b.system.entry.js +4 -0
  296. package/dist/ionic/{p-854f9b64.entry.js → p-1c6bb45f.entry.js} +1 -1
  297. package/dist/ionic/p-20ffa318.entry.js +4 -0
  298. package/dist/ionic/{p-53854390.entry.js → p-21a0f452.entry.js} +1 -1
  299. package/dist/ionic/p-23889fd8.entry.js +4 -0
  300. package/dist/ionic/p-25a2d298.js +4 -0
  301. package/dist/ionic/p-28b059c3.system.entry.js +4 -0
  302. package/dist/ionic/p-2d8341d0.system.js +4 -0
  303. package/dist/ionic/p-2f2fd67f.entry.js +4 -0
  304. package/dist/ionic/{p-cdb11938.system.entry.js → p-2f8773b2.system.entry.js} +1 -1
  305. package/dist/ionic/{p-9b6c6302.system.entry.js → p-30c57db4.system.entry.js} +1 -1
  306. package/dist/ionic/p-31f1eb81.entry.js +4 -0
  307. package/dist/ionic/{p-973f0b15.system.entry.js → p-3657cf1a.system.entry.js} +1 -1
  308. package/dist/ionic/p-37fbd57a.system.entry.js +4 -0
  309. package/dist/ionic/{p-49bc6544.entry.js → p-39166cd5.entry.js} +1 -1
  310. package/dist/ionic/{p-4a82bd1c.system.entry.js → p-39ed01f6.system.entry.js} +1 -1
  311. package/dist/ionic/{p-89a0a446.entry.js → p-3eca6ffb.entry.js} +1 -1
  312. package/dist/ionic/{p-233e6c93.entry.js → p-3ef8ff43.entry.js} +1 -1
  313. package/dist/ionic/p-4175803c.system.js +4 -0
  314. package/dist/ionic/p-41ec2afd.entry.js +4 -0
  315. package/dist/ionic/{p-6817cf42.system.entry.js → p-444c76ee.system.entry.js} +1 -1
  316. package/dist/ionic/{p-89b61afc.js → p-4525cc2f.js} +1 -1
  317. package/dist/ionic/p-460070eb.system.js +4 -0
  318. package/dist/ionic/p-466434d4.system.js +4 -0
  319. package/dist/ionic/p-46db4410.system.entry.js +4 -0
  320. package/dist/ionic/{p-06e58c4e.js → p-47c92e81.js} +1 -1
  321. package/dist/ionic/p-480cfc61.entry.js +4 -0
  322. package/dist/ionic/p-487a3ae7.system.js +5 -0
  323. package/dist/ionic/p-4a274d8d.entry.js +4 -0
  324. package/dist/ionic/p-4b528ed3.js +5 -0
  325. package/dist/ionic/{p-d60342e3.js → p-4ee57cf5.js} +1 -1
  326. package/dist/ionic/p-4fbde654.js +4 -0
  327. package/dist/ionic/p-51b9d14a.js +4 -0
  328. package/dist/ionic/p-52371477.system.entry.js +4 -0
  329. package/dist/ionic/p-5328e386.system.entry.js +4 -0
  330. package/dist/ionic/p-57eb8bf5.entry.js +4 -0
  331. package/dist/ionic/p-58812aa8.system.entry.js +4 -0
  332. package/dist/ionic/{p-ab8a2ff1.entry.js → p-5a0f3c6f.entry.js} +1 -1
  333. package/dist/ionic/{p-b06ac4a5.system.js → p-5b6645a1.system.js} +1 -1
  334. package/dist/ionic/p-5c456cd2.system.entry.js +4 -0
  335. package/dist/ionic/p-5e03c97e.system.entry.js +4 -0
  336. package/dist/ionic/p-5fb843ce.entry.js +4 -0
  337. package/dist/ionic/p-5fd711d1.entry.js +4 -0
  338. package/dist/ionic/{p-c7e16491.js → p-60c38dee.js} +1 -1
  339. package/dist/ionic/{p-293ed6ac.system.entry.js → p-6418a407.system.entry.js} +1 -1
  340. package/dist/ionic/p-67bb048a.system.entry.js +4 -0
  341. package/dist/ionic/p-69f80fd3.entry.js +4 -0
  342. package/dist/ionic/{p-72ffd137.system.entry.js → p-6a95a932.system.entry.js} +1 -1
  343. package/dist/ionic/{p-1dfc11b3.system.js → p-6c810800.system.js} +1 -1
  344. package/dist/ionic/p-73216388.entry.js +4 -0
  345. package/dist/ionic/p-736d36fb.system.js +4 -0
  346. package/dist/ionic/p-73b45a64.entry.js +4 -0
  347. package/dist/ionic/{p-a879ecb7.system.entry.js → p-765a2b13.system.entry.js} +1 -1
  348. package/dist/ionic/{p-003eecb9.entry.js → p-77cda5c7.entry.js} +1 -1
  349. package/dist/ionic/p-7a86440f.entry.js +4 -0
  350. package/dist/ionic/{p-00b01a55.system.entry.js → p-7cbcee2c.system.entry.js} +1 -1
  351. package/dist/ionic/{p-313ccc01.system.entry.js → p-7f85fd7d.system.entry.js} +1 -1
  352. package/dist/ionic/{p-34b11c24.js → p-809941d0.js} +1 -1
  353. package/dist/ionic/p-82b38b14.system.js +4 -0
  354. package/dist/ionic/p-833104fe.system.entry.js +4 -0
  355. package/dist/ionic/{p-d743e981.js → p-84030740.js} +1 -1
  356. package/dist/ionic/{p-27281edd.js → p-845c8117.js} +1 -1
  357. package/dist/ionic/{p-960803fc.system.entry.js → p-84e08e08.system.entry.js} +1 -1
  358. package/dist/ionic/{p-f88ebc36.entry.js → p-861785a6.entry.js} +1 -1
  359. package/dist/ionic/p-86b6a057.system.entry.js +4 -0
  360. package/dist/ionic/p-877dee4e.system.entry.js +4 -0
  361. package/dist/ionic/{p-3c8e5c23.system.js → p-886a05f9.system.js} +1 -1
  362. package/dist/ionic/{p-e3e1e3de.entry.js → p-8c13b08d.entry.js} +1 -1
  363. package/dist/ionic/{p-f687573e.system.js → p-8ff1e95d.system.js} +1 -1
  364. package/dist/ionic/p-902f1e0d.entry.js +4 -0
  365. package/dist/ionic/p-90b717c3.entry.js +4 -0
  366. package/dist/ionic/{p-5e842258.entry.js → p-91459095.entry.js} +1 -1
  367. package/dist/ionic/p-958d1ddf.entry.js +4 -0
  368. package/dist/ionic/p-9647f627.system.entry.js +4 -0
  369. package/dist/ionic/p-969bb0cd.system.entry.js +4 -0
  370. package/dist/ionic/p-98612ecd.system.entry.js +4 -0
  371. package/dist/ionic/p-99322726.js +4 -0
  372. package/dist/ionic/p-9a41931a.system.js +4 -0
  373. package/dist/ionic/{p-dfb78785.system.js → p-9ced646a.system.js} +1 -1
  374. package/dist/ionic/{p-92d7a3d1.entry.js → p-9ea9eef2.entry.js} +1 -1
  375. package/dist/ionic/p-9fa489bf.system.js +4 -0
  376. package/dist/ionic/p-9fb5d3f0.js +4 -0
  377. package/dist/ionic/p-a60688ea.system.entry.js +4 -0
  378. package/dist/ionic/p-a7c80b6e.js +4 -0
  379. package/dist/ionic/p-a97cc6e0.entry.js +4 -0
  380. package/dist/ionic/{p-322c5fb4.system.js → p-aa037934.system.js} +1 -1
  381. package/dist/ionic/p-aa28a06a.system.entry.js +4 -0
  382. package/dist/ionic/p-ab51df52.js +4 -0
  383. package/dist/ionic/{p-a93873de.system.js → p-abe01542.system.js} +1 -1
  384. package/dist/ionic/{p-5da94421.system.js → p-ad4a3c01.system.js} +2 -2
  385. package/dist/ionic/{p-836d39d4.system.entry.js → p-b6fbbe81.system.entry.js} +1 -1
  386. package/dist/ionic/{p-6562e0a9.system.entry.js → p-b760b2fa.system.entry.js} +1 -1
  387. package/dist/ionic/p-b84b226d.entry.js +4 -0
  388. package/dist/ionic/p-b95e719d.js +4 -0
  389. package/dist/ionic/p-b9d74da7.system.js +4 -0
  390. package/dist/ionic/p-bb816352.system.entry.js +4 -0
  391. package/dist/ionic/{p-372ae7f4.system.js → p-bc088eb6.system.js} +1 -1
  392. package/dist/ionic/p-bc0d6e7d.system.entry.js +4 -0
  393. package/dist/ionic/p-bc60a88f.entry.js +4 -0
  394. package/dist/ionic/{p-2200e26b.entry.js → p-c0e7cab8.entry.js} +1 -1
  395. package/dist/ionic/{p-16207409.system.entry.js → p-c1c1b3c1.system.entry.js} +1 -1
  396. package/dist/ionic/{p-9ea607bd.system.js → p-c9525721.system.js} +2 -2
  397. package/dist/ionic/{p-4a0a4204.system.entry.js → p-ca2083bc.system.entry.js} +1 -1
  398. package/dist/ionic/{p-fd0cb4ef.entry.js → p-cc35239f.entry.js} +1 -1
  399. package/dist/ionic/{p-4c8fceb0.entry.js → p-cd6bd33e.entry.js} +1 -1
  400. package/dist/ionic/p-cf05bb26.entry.js +4 -0
  401. package/dist/ionic/{p-2ca6eac2.system.entry.js → p-cf7d3a87.system.entry.js} +1 -1
  402. package/dist/ionic/p-d247bdc6.js +4 -0
  403. package/dist/ionic/{p-01503bbd.system.entry.js → p-d312edb3.system.entry.js} +1 -1
  404. package/dist/ionic/p-d32dc2ca.system.entry.js +4 -0
  405. package/dist/ionic/{p-68c4df55.entry.js → p-d52f8930.entry.js} +1 -1
  406. package/dist/ionic/{p-fcd71204.system.entry.js → p-d7bd9057.system.entry.js} +1 -1
  407. package/dist/ionic/{p-8985cdb6.system.js → p-dab508d0.system.js} +1 -1
  408. package/dist/ionic/{p-773d118d.entry.js → p-ddd6d918.entry.js} +1 -1
  409. package/dist/ionic/{p-ce705aac.system.entry.js → p-de6fd4fb.system.entry.js} +1 -1
  410. package/dist/ionic/p-df2f4a29.entry.js +4 -0
  411. package/dist/ionic/{p-9ece8dcf.entry.js → p-e00617fb.entry.js} +1 -1
  412. package/dist/ionic/p-e079f4f4.system.entry.js +4 -0
  413. package/dist/ionic/p-e35fa668.js +4 -0
  414. package/dist/ionic/p-e44c11d0.entry.js +4 -0
  415. package/dist/ionic/{p-af999a31.entry.js → p-e4f401d7.entry.js} +1 -1
  416. package/dist/ionic/p-e6867fc0.js +4 -0
  417. package/dist/ionic/{p-19ea7bff.system.js → p-eae596b8.system.js} +1 -1
  418. package/dist/ionic/{p-25928b83.system.entry.js → p-eecf5384.system.entry.js} +1 -1
  419. package/dist/ionic/p-efd6e0d2.system.entry.js +4 -0
  420. package/dist/ionic/p-f0e951e5.system.entry.js +4 -0
  421. package/dist/ionic/{p-bd25d639.system.entry.js → p-f3bc485f.system.entry.js} +1 -1
  422. package/dist/ionic/{p-772dacba.system.entry.js → p-f41cce45.system.entry.js} +1 -1
  423. package/dist/ionic/p-f4a57fb7.js +4 -0
  424. package/dist/ionic/p-f7f11c42.js +4 -0
  425. package/dist/ionic/p-f8234ebd.js +4 -0
  426. package/dist/types/components/app/app.d.ts +0 -2
  427. package/dist/types/global/ionic-global.d.ts +2 -0
  428. package/dist/types/utils/focus-visible.d.ts +1 -0
  429. package/hydrate/index.d.ts +4 -4
  430. package/hydrate/index.js +155 -140
  431. package/hydrate/index.mjs +155 -140
  432. package/package.json +3 -3
  433. package/components/hardware-back-button.js +0 -115
  434. package/components/index8.js +0 -128
  435. package/components/index9.js +0 -167
  436. package/dist/cjs/hardware-back-button-9e8a2c4f.js +0 -122
  437. package/dist/cjs/index-5915f9b3.js +0 -38
  438. package/dist/cjs/index-c8d52405.js +0 -10
  439. package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
  440. package/dist/esm/hardware-back-button-06ef3c3e.js +0 -116
  441. package/dist/esm/index-9b0d46f4.js +0 -34
  442. package/dist/esm/index-a5d50daf.js +0 -7
  443. package/dist/esm/ionic-global-c81d82ab.js +0 -231
  444. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  445. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  446. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  447. package/dist/esm-es5/data-ae11fd43.js +0 -4
  448. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  449. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +0 -4
  450. package/dist/esm-es5/index-28849c61.js +0 -5
  451. package/dist/esm-es5/index-3ad7f18b.js +0 -4
  452. package/dist/esm-es5/index-5cc724f3.js +0 -4
  453. package/dist/esm-es5/index-79b30591.js +0 -4
  454. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  455. package/dist/esm-es5/index-a5d50daf.js +0 -4
  456. package/dist/esm-es5/index-fe1782b1.js +0 -4
  457. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  458. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  459. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  460. package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
  461. package/dist/esm-es5/keyboard-52278bd7.js +0 -4
  462. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  463. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  464. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  465. package/dist/esm-es5/overlays-9c75ec54.js +0 -4
  466. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  467. package/dist/ionic/p-0303d0f8.js +0 -4
  468. package/dist/ionic/p-0373d924.system.entry.js +0 -4
  469. package/dist/ionic/p-0574e87e.js +0 -4
  470. package/dist/ionic/p-05beda73.entry.js +0 -4
  471. package/dist/ionic/p-06fee233.js +0 -4
  472. package/dist/ionic/p-0c06e09b.system.js +0 -4
  473. package/dist/ionic/p-0fa0c92b.entry.js +0 -4
  474. package/dist/ionic/p-100b83fd.system.entry.js +0 -4
  475. package/dist/ionic/p-17474161.system.js +0 -4
  476. package/dist/ionic/p-176b372f.entry.js +0 -4
  477. package/dist/ionic/p-1e4371bd.js +0 -4
  478. package/dist/ionic/p-21cfd4de.entry.js +0 -4
  479. package/dist/ionic/p-21e5e7e4.js +0 -4
  480. package/dist/ionic/p-22c020db.system.entry.js +0 -4
  481. package/dist/ionic/p-25180df3.system.js +0 -5
  482. package/dist/ionic/p-2690b1de.js +0 -4
  483. package/dist/ionic/p-2b7827c7.js +0 -4
  484. package/dist/ionic/p-2b7c93b4.entry.js +0 -4
  485. package/dist/ionic/p-2c4bdd9d.entry.js +0 -4
  486. package/dist/ionic/p-2ea1ca4f.system.entry.js +0 -4
  487. package/dist/ionic/p-3c968c7f.system.entry.js +0 -4
  488. package/dist/ionic/p-4b0fedb7.system.entry.js +0 -4
  489. package/dist/ionic/p-521eca2e.entry.js +0 -4
  490. package/dist/ionic/p-5417b9bb.entry.js +0 -4
  491. package/dist/ionic/p-5e66bcf2.entry.js +0 -4
  492. package/dist/ionic/p-69066a53.js +0 -4
  493. package/dist/ionic/p-6b8893dd.entry.js +0 -4
  494. package/dist/ionic/p-6d7931cc.system.entry.js +0 -4
  495. package/dist/ionic/p-7251fed5.entry.js +0 -4
  496. package/dist/ionic/p-72812e99.js +0 -4
  497. package/dist/ionic/p-755b27f0.system.entry.js +0 -4
  498. package/dist/ionic/p-75c0dc65.system.entry.js +0 -4
  499. package/dist/ionic/p-7740e32c.system.js +0 -4
  500. package/dist/ionic/p-792919fd.system.js +0 -4
  501. package/dist/ionic/p-7b30edcc.js +0 -4
  502. package/dist/ionic/p-7c50965e.entry.js +0 -4
  503. package/dist/ionic/p-8836d0eb.system.entry.js +0 -4
  504. package/dist/ionic/p-88e63c7d.js +0 -4
  505. package/dist/ionic/p-8b6232a6.system.entry.js +0 -4
  506. package/dist/ionic/p-8ed31163.system.entry.js +0 -4
  507. package/dist/ionic/p-95823c62.system.entry.js +0 -4
  508. package/dist/ionic/p-96cc4814.js +0 -4
  509. package/dist/ionic/p-98871496.system.js +0 -4
  510. package/dist/ionic/p-9c23044d.entry.js +0 -4
  511. package/dist/ionic/p-9cc3bcc5.system.entry.js +0 -4
  512. package/dist/ionic/p-9f3008d4.system.js +0 -4
  513. package/dist/ionic/p-9fef1364.entry.js +0 -4
  514. package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
  515. package/dist/ionic/p-a15ddedb.system.js +0 -4
  516. package/dist/ionic/p-a3711608.system.entry.js +0 -4
  517. package/dist/ionic/p-a41699db.entry.js +0 -4
  518. package/dist/ionic/p-a440397c.js +0 -4
  519. package/dist/ionic/p-a4565eb5.system.js +0 -4
  520. package/dist/ionic/p-a4d51b8d.system.js +0 -4
  521. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  522. package/dist/ionic/p-a72fb8a1.system.entry.js +0 -4
  523. package/dist/ionic/p-a90e2708.system.entry.js +0 -4
  524. package/dist/ionic/p-abe101da.system.js +0 -4
  525. package/dist/ionic/p-b0568945.system.entry.js +0 -4
  526. package/dist/ionic/p-b4c950f8.entry.js +0 -4
  527. package/dist/ionic/p-b54fc1ae.entry.js +0 -4
  528. package/dist/ionic/p-b7657e8d.entry.js +0 -4
  529. package/dist/ionic/p-baffaf8d.system.entry.js +0 -4
  530. package/dist/ionic/p-bfa2e81c.entry.js +0 -4
  531. package/dist/ionic/p-c34659b9.entry.js +0 -4
  532. package/dist/ionic/p-c45bd24c.entry.js +0 -4
  533. package/dist/ionic/p-c468af8a.system.js +0 -4
  534. package/dist/ionic/p-c61cc894.js +0 -4
  535. package/dist/ionic/p-cff5585e.system.entry.js +0 -4
  536. package/dist/ionic/p-d47265c8.js +0 -4
  537. package/dist/ionic/p-d6841eac.js +0 -4
  538. package/dist/ionic/p-d77e12ca.entry.js +0 -4
  539. package/dist/ionic/p-d836d43e.js +0 -5
  540. package/dist/ionic/p-da263d8e.entry.js +0 -4
  541. package/dist/ionic/p-df83e308.system.entry.js +0 -4
  542. package/dist/ionic/p-e3a5da9d.entry.js +0 -4
  543. package/dist/ionic/p-e3f13b08.js +0 -4
  544. package/dist/ionic/p-ecb57d24.system.entry.js +0 -4
  545. package/dist/ionic/p-ecceeb90.js +0 -4
  546. package/dist/ionic/p-efaffe74.entry.js +0 -4
  547. package/dist/ionic/p-f1acf541.system.entry.js +0 -4
  548. package/dist/ionic/p-f50ae0d5.system.entry.js +0 -4
  549. package/dist/ionic/p-f9a53abb.system.js +0 -4
  550. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -1,7 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { setPlatformHelpers, setMode, getMode } from '@stencil/core/internal/client';
4
+ import { setPlatformHelpers, setMode, Build, getMode } from '@stencil/core/internal/client';
5
+
6
+ const win = typeof window !== 'undefined' ? window : undefined;
7
+ const doc = typeof document !== 'undefined' ? document : undefined;
5
8
 
6
9
  // TODO(FW-2832): types
7
10
  class Config {
@@ -78,6 +81,153 @@ const startsWith = (input, search) => {
78
81
  const IONIC_PREFIX = 'ionic:';
79
82
  const IONIC_SESSION_KEY = 'ionic-persist-config';
80
83
 
84
+ /**
85
+ * Logs a warning to the console with an Ionic prefix
86
+ * to indicate the library that is warning the developer.
87
+ *
88
+ * @param message - The string message to be logged to the console.
89
+ */
90
+ const printIonWarning = (message, ...params) => {
91
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
92
+ };
93
+ /*
94
+ * Logs an error to the console with an Ionic prefix
95
+ * to indicate the library that is warning the developer.
96
+ *
97
+ * @param message - The string message to be logged to the console.
98
+ * @param params - Additional arguments to supply to the console.error.
99
+ */
100
+ const printIonError = (message, ...params) => {
101
+ return console.error(`[Ionic Error]: ${message}`, ...params);
102
+ };
103
+ /**
104
+ * Prints an error informing developers that an implementation requires an element to be used
105
+ * within a specific selector.
106
+ *
107
+ * @param el The web component element this is requiring the element.
108
+ * @param targetSelectors The selector or selectors that were not found.
109
+ */
110
+ const printRequiredElementError = (el, ...targetSelectors) => {
111
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
112
+ };
113
+
114
+ /**
115
+ * CloseWatcher is a newer API that lets
116
+ * use detect the hardware back button event
117
+ * in a web browser: https://caniuse.com/?search=closewatcher
118
+ * However, not every browser supports it yet.
119
+ *
120
+ * This needs to be a function so that we can
121
+ * check the config once it has been set.
122
+ * Otherwise, this code would be evaluated the
123
+ * moment this file is evaluated which could be
124
+ * before the config is set.
125
+ */
126
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
127
+ /**
128
+ * When hardwareBackButton: false in config,
129
+ * we need to make sure we also block the default
130
+ * webview behavior. If we don't then it will be
131
+ * possible for users to navigate backward while
132
+ * an overlay is still open. Additionally, it will
133
+ * give the appearance that the hardwareBackButton
134
+ * config is not working as the page transition
135
+ * will still happen.
136
+ */
137
+ const blockHardwareBackButton = () => {
138
+ document.addEventListener('backbutton', () => { }); // eslint-disable-line
139
+ };
140
+ const startHardwareBackButton = () => {
141
+ const doc = document;
142
+ let busy = false;
143
+ const backButtonCallback = () => {
144
+ if (busy) {
145
+ return;
146
+ }
147
+ let index = 0;
148
+ let handlers = [];
149
+ const ev = new CustomEvent('ionBackButton', {
150
+ bubbles: false,
151
+ detail: {
152
+ register(priority, handler) {
153
+ handlers.push({ priority, handler, id: index++ });
154
+ },
155
+ },
156
+ });
157
+ doc.dispatchEvent(ev);
158
+ const executeAction = async (handlerRegister) => {
159
+ try {
160
+ if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
161
+ const result = handlerRegister.handler(processHandlers);
162
+ if (result != null) {
163
+ await result;
164
+ }
165
+ }
166
+ }
167
+ catch (e) {
168
+ console.error(e);
169
+ }
170
+ };
171
+ const processHandlers = () => {
172
+ if (handlers.length > 0) {
173
+ let selectedHandler = {
174
+ priority: Number.MIN_SAFE_INTEGER,
175
+ handler: () => undefined,
176
+ id: -1,
177
+ };
178
+ handlers.forEach((handler) => {
179
+ if (handler.priority >= selectedHandler.priority) {
180
+ selectedHandler = handler;
181
+ }
182
+ });
183
+ busy = true;
184
+ handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
185
+ executeAction(selectedHandler).then(() => (busy = false));
186
+ }
187
+ };
188
+ processHandlers();
189
+ };
190
+ /**
191
+ * If the CloseWatcher is defined then
192
+ * we don't want to also listen for the native
193
+ * backbutton event otherwise we may get duplicate
194
+ * events firing.
195
+ */
196
+ if (shouldUseCloseWatcher()) {
197
+ let watcher;
198
+ const configureWatcher = () => {
199
+ watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
200
+ watcher = new win.CloseWatcher();
201
+ /**
202
+ * Once a close request happens
203
+ * the watcher gets destroyed.
204
+ * As a result, we need to re-configure
205
+ * the watcher so we can respond to other
206
+ * close requests.
207
+ */
208
+ watcher.onclose = () => {
209
+ backButtonCallback();
210
+ configureWatcher();
211
+ };
212
+ };
213
+ configureWatcher();
214
+ }
215
+ else {
216
+ doc.addEventListener('backbutton', backButtonCallback);
217
+ }
218
+ };
219
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
220
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
221
+
222
+ const hardwareBackButton = /*#__PURE__*/Object.freeze({
223
+ __proto__: null,
224
+ shouldUseCloseWatcher: shouldUseCloseWatcher,
225
+ blockHardwareBackButton: blockHardwareBackButton,
226
+ startHardwareBackButton: startHardwareBackButton,
227
+ OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
228
+ MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY
229
+ });
230
+
81
231
  const getPlatforms = (win) => setupPlatforms(win);
82
232
  const isPlatform = (winOrPlatform, platform) => {
83
233
  if (typeof winOrPlatform === 'string') {
@@ -171,6 +321,33 @@ let defaultMode;
171
321
  const getIonMode = (ref) => {
172
322
  return (ref && getMode(ref)) || defaultMode;
173
323
  };
324
+ const rIC = (callback) => {
325
+ if ('requestIdleCallback' in window) {
326
+ window.requestIdleCallback(callback);
327
+ }
328
+ else {
329
+ setTimeout(callback, 32);
330
+ }
331
+ };
332
+ const needInputShims = () => {
333
+ /**
334
+ * iOS always needs input shims
335
+ */
336
+ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
337
+ if (needsShimsIOS) {
338
+ return true;
339
+ }
340
+ /**
341
+ * Android only needs input shims when running
342
+ * in the browser and only if the browser is using the
343
+ * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
344
+ */
345
+ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
346
+ if (isAndroidMobileWeb) {
347
+ return true;
348
+ }
349
+ return false;
350
+ };
174
351
  const initialize = (userConfig = {}) => {
175
352
  if (typeof window === 'undefined') {
176
353
  return;
@@ -226,6 +403,46 @@ const initialize = (userConfig = {}) => {
226
403
  }
227
404
  return defaultMode;
228
405
  });
406
+ // `IonApp` code
407
+ // ----------------------------------------------
408
+ if (Build.isBrowser) {
409
+ rIC(async () => {
410
+ const isHybrid = isPlatform(window, 'hybrid');
411
+ if (!config.getBoolean('_testing')) {
412
+ import('./index7.js').then((module) => module.startTapClick(config));
413
+ }
414
+ if (config.getBoolean('statusTap', isHybrid)) {
415
+ import('./status-tap.js').then((module) => module.startStatusTap());
416
+ }
417
+ if (config.getBoolean('inputShims', needInputShims())) {
418
+ /**
419
+ * needInputShims() ensures that only iOS and Android
420
+ * platforms proceed into this block.
421
+ */
422
+ const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
423
+ import('./input-shims.js').then((module) => module.startInputShims(config, platform));
424
+ }
425
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
426
+ const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
427
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
428
+ hardwareBackButtonModule.startHardwareBackButton();
429
+ }
430
+ else {
431
+ /**
432
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
433
+ * then the close watcher will not be used.
434
+ */
435
+ if (shouldUseCloseWatcher()) {
436
+ 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.');
437
+ }
438
+ hardwareBackButtonModule.blockHardwareBackButton();
439
+ }
440
+ if (typeof window !== 'undefined') {
441
+ import('./keyboard2.js').then((module) => module.startKeyboardAssist(window));
442
+ }
443
+ import('./focus-visible.js').then((module) => (module.initFocusVisibleUtility()));
444
+ });
445
+ }
229
446
  };
230
447
 
231
- export { isPlatform as a, getIonMode as b, config as c, getPlatforms as g, initialize as i };
448
+ export { MENU_BACK_BUTTON_PRIORITY as M, OVERLAY_BACK_BUTTON_PRIORITY as O, isPlatform as a, getIonMode as b, config as c, doc as d, printIonError as e, printRequiredElementError as f, getPlatforms as g, initialize as i, printIonWarning as p, shouldUseCloseWatcher as s, win as w };
@@ -4,7 +4,7 @@
4
4
  import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
5
  import { d as inheritAttributes, r as raf } from './helpers.js';
6
6
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme.js';
7
- import { f as chevronForward } from './index7.js';
7
+ import { f as chevronForward } from './index5.js';
8
8
  import { b as getIonMode } from './ionic-global.js';
9
9
  import { d as defineCustomElement$2 } from './icon.js';
10
10
  import { d as defineCustomElement$1 } from './ripple-effect.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win, d as doc } from './index5.js';
4
+ import { w as win, d as doc } from './ionic-global.js';
5
5
  import { K as Keyboard, a as KeyboardResize } from './keyboard.js';
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index5.js';
4
+ import { w as win } from './ionic-global.js';
5
5
  import { r as raf } from './helpers.js';
6
6
 
7
7
  /**
@@ -1,13 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index5.js';
4
+ import { O as OVERLAY_BACK_BUTTON_PRIORITY, s as shouldUseCloseWatcher, b as getIonMode, c as config, d as doc, p as printIonWarning } from './ionic-global.js';
5
5
  import { f as focusVisibleElement, c as componentOnReady, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers.js';
6
- import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button.js';
7
- import { b as getIonMode, c as config } from './ionic-global.js';
8
6
  import { C as CoreDelegate } from './framework-delegate.js';
9
7
  import { B as BACKDROP_NO_SCROLL } from './gesture-controller.js';
10
- import { p as printIonWarning } from './index6.js';
11
8
 
12
9
  /**
13
10
  * This query string selects elements that
@@ -2,10 +2,9 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
- import { d as doc } from './index5.js';
5
+ import { a as isPlatform, b as getIonMode, d as doc } from './ionic-global.js';
6
6
  import { r as raf, g as getElementRoot } from './helpers.js';
7
7
  import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic.js';
8
- import { a as isPlatform, b as getIonMode } from './ionic-global.js';
9
8
  import { c as createColorClasses } from './theme.js';
10
9
 
11
10
  const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
@@ -6,8 +6,7 @@ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate.js';
7
7
  import { r as raf, g as getElementRoot, a as addEventListener, j as hasLazyBuild } from './helpers.js';
8
8
  import { c as createLockController } from './lock-controller.js';
9
- import { p as printIonWarning } from './index6.js';
10
- import { b as getIonMode, a as isPlatform } from './ionic-global.js';
9
+ import { p as printIonWarning, b as getIonMode, a as isPlatform } from './ionic-global.js';
11
10
  import { g as getClassMap } from './theme.js';
12
11
  import { e as deepReady, w as waitForMount } from './index2.js';
13
12
  import { c as createAnimation } from './animation.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { readTask, writeTask } from '@stencil/core/internal/client';
5
- import { a as findClosestIonContent, s as scrollToTop } from './index8.js';
5
+ import { a as findClosestIonContent, s as scrollToTop } from './index6.js';
6
6
  import { c as componentOnReady } from './helpers.js';
7
7
 
8
8
  const startStatusTap = () => {
@@ -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-4503ea83.js');
7
7
 
8
8
  let animationPrefix;
9
9
  const getAnimationPrefix = (el) => {
@@ -66,7 +66,7 @@ const createAnimation = (animationId) => {
66
66
  const _afterAddWriteFunctions = [];
67
67
  const webAnimations = [];
68
68
  const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
69
- (index.win !== undefined && typeof index.win.AnimationEffect === 'function');
69
+ (ionicGlobal.win !== undefined && typeof ionicGlobal.win.AnimationEffect === 'function');
70
70
  /**
71
71
  * This is a feature detection for Web Animations.
72
72
  *
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index$1 = require('./index-73f75efb.js');
7
- const haptic = require('./haptic-f6b37aa3.js');
6
+ const index$1 = require('./index-b9e25ecd.js');
7
+ const haptic = require('./haptic-188baa8e.js');
8
8
  const index = require('./index-ee07ed59.js');
9
9
 
10
10
  const createButtonActiveGesture = (el, isButton) => {
@@ -3,11 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-c8d52405.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
7
7
 
8
8
  const getCapacitor = () => {
9
- if (index.win !== undefined) {
10
- return index.win.Capacitor;
9
+ if (ionicGlobal.win !== undefined) {
10
+ return ionicGlobal.win.Capacitor;
11
11
  }
12
12
  return undefined;
13
13
  };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-5915f9b3.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
7
7
 
8
8
  /**
9
9
  * Returns true if the selected day is equal to the reference day
@@ -37,7 +37,7 @@ const warnIfValueOutOfBounds = (value, min, max) => {
37
37
  const valueArray = Array.isArray(value) ? value : [value];
38
38
  for (const val of valueArray) {
39
39
  if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) {
40
- index.printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
40
+ ionicGlobal.printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
41
41
  `Min: ${JSON.stringify(min)}\n` +
42
42
  `Max: ${JSON.stringify(max)}\n` +
43
43
  `Value: ${JSON.stringify(value)}`);
@@ -254,7 +254,7 @@ function parseDate(val) {
254
254
  }
255
255
  if (parse === null) {
256
256
  // wasn't able to parse the ISO datetime
257
- index.printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
257
+ ionicGlobal.printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
258
258
  return undefined;
259
259
  }
260
260
  // ensure all the parse values exist with at least 0
@@ -19,6 +19,13 @@ const FOCUS_KEYS = [
19
19
  'Home',
20
20
  'End',
21
21
  ];
22
+ let focusVisibleUtility = null;
23
+ const initFocusVisibleUtility = () => {
24
+ if (!focusVisibleUtility) {
25
+ focusVisibleUtility = startFocusVisible();
26
+ }
27
+ return focusVisibleUtility;
28
+ };
22
29
  const startFocusVisible = (rootEl) => {
23
30
  let currentFocus = [];
24
31
  let keyboardMode = true;
@@ -74,4 +81,5 @@ const startFocusVisible = (rootEl) => {
74
81
  };
75
82
  };
76
83
 
84
+ exports.initFocusVisibleUtility = initFocusVisibleUtility;
77
85
  exports.startFocusVisible = startFocusVisible;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const capacitor = require('./capacitor-c04564bf.js');
6
+ const capacitor = require('./capacitor-094870c0.js');
7
7
 
8
8
  exports.ImpactStyle = void 0;
9
9
  (function (ImpactStyle) {
@@ -3,9 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
7
- const index$1 = require('./index-73f75efb.js');
8
- const index = require('./index-5915f9b3.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
7
+ const index = require('./index-b9e25ecd.js');
9
8
  const helpers = require('./helpers-afaa9001.js');
10
9
 
11
10
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -103,7 +102,7 @@ const createFocusController = () => {
103
102
  }
104
103
  break;
105
104
  default:
106
- index.printIonWarning(`Unrecognized focus manager priority value ${priority}`);
105
+ ionicGlobal.printIonWarning(`Unrecognized focus manager priority value ${priority}`);
107
106
  break;
108
107
  }
109
108
  }
@@ -122,13 +121,13 @@ const createFocusController = () => {
122
121
  };
123
122
  const LAST_FOCUS = 'ion-last-focus';
124
123
 
125
- const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-cf40433b.js'); });
126
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-ededf99f.js'); });
124
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-dac99bf0.js'); });
125
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-65b7c8b6.js'); });
127
126
  const focusController = createFocusController();
128
127
  // TODO(FW-2832): types
129
128
  const transition = (opts) => {
130
129
  return new Promise((resolve, reject) => {
131
- index$1.writeTask(() => {
130
+ index.writeTask(() => {
132
131
  beforeTransition(opts);
133
132
  runTransition(opts).then((result) => {
134
133
  if (result.animation) {
@@ -169,7 +168,7 @@ const beforeTransition = (opts) => {
169
168
  };
170
169
  const runTransition = async (opts) => {
171
170
  const animationBuilder = await getAnimationBuilder(opts);
172
- const ani = animationBuilder && index$1.Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation
171
+ const ani = animationBuilder && index.Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation
173
172
  return ani;
174
173
  };
175
174
  const afterTransition = (opts) => {
@@ -3,11 +3,12 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-c8d52405.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
7
7
  const helpers = require('./helpers-afaa9001.js');
8
+ require('./index-b9e25ecd.js');
8
9
 
9
10
  const startTapClick = (config) => {
10
- if (index.doc === undefined) {
11
+ if (ionicGlobal.doc === undefined) {
11
12
  return;
12
13
  }
13
14
  let lastActivated = 0;
@@ -110,9 +111,9 @@ const startTapClick = (config) => {
110
111
  active.classList.remove(ACTIVATED);
111
112
  }
112
113
  };
113
- index.doc.addEventListener('ionGestureCaptured', cancelActive);
114
- index.doc.addEventListener('pointerdown', pointerDown, true);
115
- index.doc.addEventListener('pointerup', pointerUp, true);
114
+ ionicGlobal.doc.addEventListener('ionGestureCaptured', cancelActive);
115
+ ionicGlobal.doc.addEventListener('pointerdown', pointerDown, true);
116
+ ionicGlobal.doc.addEventListener('pointerup', pointerUp, true);
116
117
  /**
117
118
  * Tap click effects such as the ripple effect should
118
119
  * not happen when scrolling. For example, if a user scrolls
@@ -125,7 +126,7 @@ const startTapClick = (config) => {
125
126
  * starts, so this lets us avoid having to listen for
126
127
  * ion-content's scroll events.
127
128
  */
128
- index.doc.addEventListener('pointercancel', cancelActive, true);
129
+ ionicGlobal.doc.addEventListener('pointercancel', cancelActive, true);
129
130
  };
130
131
  // TODO(FW-2832): type
131
132
  const getActivatableTarget = (ev) => {
@@ -3,12 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index$1 = require('./index-c8d52405.js');
7
- const hardwareBackButton = require('./hardware-back-button-9e8a2c4f.js');
8
- const index = require('./index-5915f9b3.js');
6
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
9
7
  const helpers = require('./helpers-afaa9001.js');
10
- const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
11
- const animation = require('./animation-b4fdf128.js');
8
+ const animation = require('./animation-f43e6366.js');
12
9
 
13
10
  /**
14
11
  * baseAnimation
@@ -170,7 +167,7 @@ const createMenuController = () => {
170
167
  const menuRefs = menus.filter((m) => m.side === menu && !m.disabled);
171
168
  if (menuRefs.length >= 1) {
172
169
  if (menuRefs.length > 1 && logOnMultipleSideMenus) {
173
- index.printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
170
+ ionicGlobal.printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
174
171
  }
175
172
  return menuRefs[0].el;
176
173
  }
@@ -179,7 +176,7 @@ const createMenuController = () => {
179
176
  const sideMenuRefs = menus.filter((m) => m.side === menu);
180
177
  if (sideMenuRefs.length >= 1) {
181
178
  if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
182
- index.printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
179
+ ionicGlobal.printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
183
180
  }
184
181
  return sideMenuRefs[0].el;
185
182
  }
@@ -275,10 +272,10 @@ const createMenuController = () => {
275
272
  registerAnimation('reveal', menuRevealAnimation);
276
273
  registerAnimation('push', menuPushAnimation);
277
274
  registerAnimation('overlay', menuOverlayAnimation);
278
- index$1.doc === null || index$1.doc === void 0 ? void 0 : index$1.doc.addEventListener('ionBackButton', (ev) => {
275
+ ionicGlobal.doc === null || ionicGlobal.doc === void 0 ? void 0 : ionicGlobal.doc.addEventListener('ionBackButton', (ev) => {
279
276
  const openMenu = _getOpenSync();
280
277
  if (openMenu) {
281
- ev.detail.register(hardwareBackButton.MENU_BACK_BUTTON_PRIORITY, () => {
278
+ ev.detail.register(ionicGlobal.MENU_BACK_BUTTON_PRIORITY, () => {
282
279
  return openMenu.close();
283
280
  });
284
281
  }
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const helpers = require('./helpers-afaa9001.js');
7
- const index = require('./index-5915f9b3.js');
7
+ const ionicGlobal = require('./ionic-global-4503ea83.js');
8
8
 
9
9
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
10
10
  const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
@@ -92,7 +92,7 @@ const scrollByPoint = (el, x, y, durationMs) => {
92
92
  * within either the `ion-content` selector or the `.ion-content-scroll-host` class.
93
93
  */
94
94
  const printIonContentErrorMsg = (el) => {
95
- return index.printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
95
+ return ionicGlobal.printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
96
96
  };
97
97
  /**
98
98
  * Several components in Ionic need to prevent scrolling
@@ -27,7 +27,7 @@ const NAMESPACE = 'ionic';
27
27
  const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: true, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: true, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: true, experimentalSlotFixes: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
28
28
 
29
29
  /*
30
- Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com
30
+ Stencil Client Platform v4.21.0 | MIT Licensed | https://stenciljs.com
31
31
  */
32
32
  var __defProp = Object.defineProperty;
33
33
  var __export = (target, all) => {
@@ -654,17 +654,19 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
654
654
  if (nonce != null) {
655
655
  styleElm.setAttribute("nonce", nonce);
656
656
  }
657
- const injectStyle = (
658
- /**
659
- * we render a scoped component
660
- */
661
- !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) || /**
662
- * we are using shadow dom and render the style tag within the shadowRoot
663
- */
664
- cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD"
665
- );
666
- if (injectStyle) {
667
- styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector("link"));
657
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
658
+ if (styleContainerNode.nodeName === "HEAD") {
659
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
660
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : document.querySelector("style");
661
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
662
+ } else if ("host" in styleContainerNode) {
663
+ styleContainerNode.prepend(styleElm);
664
+ } else {
665
+ styleContainerNode.append(styleElm);
666
+ }
667
+ }
668
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
669
+ styleContainerNode.insertBefore(styleElm, null);
668
670
  }
669
671
  }
670
672
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
@@ -762,7 +764,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
762
764
  if (memberName === "list") {
763
765
  isProp = false;
764
766
  } else if (oldValue == null || elm[memberName] != n) {
765
- elm[memberName] = n;
767
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
768
+ elm[memberName] = n;
769
+ } else {
770
+ elm.setAttribute(memberName, n);
771
+ }
766
772
  }
767
773
  } else {
768
774
  elm[memberName] = newValue;