@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
package/hydrate/index.mjs CHANGED
@@ -126,7 +126,7 @@ const NAMESPACE = 'ionic';
126
126
  const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", 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, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, 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 };
127
127
 
128
128
  /*
129
- Stencil Hydrate Platform v4.20.0 | MIT Licensed | https://stenciljs.com
129
+ Stencil Hydrate Platform v4.21.0 | MIT Licensed | https://stenciljs.com
130
130
  */
131
131
  var __defProp = Object.defineProperty;
132
132
  var __export = (target, all) => {
@@ -604,17 +604,19 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
604
604
  if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
605
605
  styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
606
606
  }
607
- const injectStyle = (
608
- /**
609
- * we render a scoped component
610
- */
611
- !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) || /**
612
- * we are using shadow dom and render the style tag within the shadowRoot
613
- */
614
- cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD"
615
- );
616
- if (injectStyle) {
617
- styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector("link"));
607
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
608
+ if (styleContainerNode.nodeName === "HEAD") {
609
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
610
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : document.querySelector("style");
611
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
612
+ } else if ("host" in styleContainerNode) {
613
+ styleContainerNode.prepend(styleElm);
614
+ } else {
615
+ styleContainerNode.append(styleElm);
616
+ }
617
+ }
618
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
619
+ styleContainerNode.insertBefore(styleElm, null);
618
620
  }
619
621
  }
620
622
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
@@ -706,7 +708,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
706
708
  if (memberName === "list") {
707
709
  isProp = false;
708
710
  } else if (oldValue == null || elm[memberName] != n) {
709
- elm[memberName] = n;
711
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
712
+ elm[memberName] = n;
713
+ } else {
714
+ elm.setAttribute(memberName, n);
715
+ }
710
716
  }
711
717
  } else {
712
718
  elm[memberName] = newValue;
@@ -2766,6 +2772,55 @@ class Config {
2766
2772
  }
2767
2773
  const config = /*@__PURE__*/ new Config();
2768
2774
 
2775
+ const win$1 = typeof window !== 'undefined' ? window : undefined;
2776
+ const doc = typeof document !== 'undefined' ? document : undefined;
2777
+
2778
+ /**
2779
+ * CloseWatcher is a newer API that lets
2780
+ * use detect the hardware back button event
2781
+ * in a web browser: https://caniuse.com/?search=closewatcher
2782
+ * However, not every browser supports it yet.
2783
+ *
2784
+ * This needs to be a function so that we can
2785
+ * check the config once it has been set.
2786
+ * Otherwise, this code would be evaluated the
2787
+ * moment this file is evaluated which could be
2788
+ * before the config is set.
2789
+ */
2790
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
2791
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
2792
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
2793
+
2794
+ /**
2795
+ * Logs a warning to the console with an Ionic prefix
2796
+ * to indicate the library that is warning the developer.
2797
+ *
2798
+ * @param message - The string message to be logged to the console.
2799
+ */
2800
+ const printIonWarning = (message, ...params) => {
2801
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
2802
+ };
2803
+ /*
2804
+ * Logs an error to the console with an Ionic prefix
2805
+ * to indicate the library that is warning the developer.
2806
+ *
2807
+ * @param message - The string message to be logged to the console.
2808
+ * @param params - Additional arguments to supply to the console.error.
2809
+ */
2810
+ const printIonError = (message, ...params) => {
2811
+ return console.error(`[Ionic Error]: ${message}`, ...params);
2812
+ };
2813
+ /**
2814
+ * Prints an error informing developers that an implementation requires an element to be used
2815
+ * within a specific selector.
2816
+ *
2817
+ * @param el The web component element this is requiring the element.
2818
+ * @param targetSelectors The selector or selectors that were not found.
2819
+ */
2820
+ const printRequiredElementError = (el, ...targetSelectors) => {
2821
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
2822
+ };
2823
+
2769
2824
  const getPlatforms = (win) => setupPlatforms(win);
2770
2825
  const isPlatform = (winOrPlatform, platform) => {
2771
2826
  if (typeof winOrPlatform === 'string') {
@@ -3206,36 +3261,6 @@ class Accordion {
3206
3261
  }
3207
3262
  let accordionIds = 0;
3208
3263
 
3209
- /**
3210
- * Logs a warning to the console with an Ionic prefix
3211
- * to indicate the library that is warning the developer.
3212
- *
3213
- * @param message - The string message to be logged to the console.
3214
- */
3215
- const printIonWarning = (message, ...params) => {
3216
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3217
- };
3218
- /*
3219
- * Logs an error to the console with an Ionic prefix
3220
- * to indicate the library that is warning the developer.
3221
- *
3222
- * @param message - The string message to be logged to the console.
3223
- * @param params - Additional arguments to supply to the console.error.
3224
- */
3225
- const printIonError = (message, ...params) => {
3226
- return console.error(`[Ionic Error]: ${message}`, ...params);
3227
- };
3228
- /**
3229
- * Prints an error informing developers that an implementation requires an element to be used
3230
- * within a specific selector.
3231
- *
3232
- * @param el The web component element this is requiring the element.
3233
- * @param targetSelectors The selector or selectors that were not found.
3234
- */
3235
- const printRequiredElementError = (el, ...targetSelectors) => {
3236
- return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
3237
- };
3238
-
3239
3264
  const accordionGroupIosCss = ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}";
3240
3265
  var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
3241
3266
 
@@ -3474,9 +3499,6 @@ class AccordionGroup {
3474
3499
  }; }
3475
3500
  }
3476
3501
 
3477
- const win$1 = typeof window !== 'undefined' ? window : undefined;
3478
- const doc = typeof document !== 'undefined' ? document : undefined;
3479
-
3480
3502
  const getCapacitor = () => {
3481
3503
  if (win$1 !== undefined) {
3482
3504
  return win$1.Capacitor;
@@ -4451,22 +4473,6 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
4451
4473
  }
4452
4474
  };
4453
4475
 
4454
- /**
4455
- * CloseWatcher is a newer API that lets
4456
- * use detect the hardware back button event
4457
- * in a web browser: https://caniuse.com/?search=closewatcher
4458
- * However, not every browser supports it yet.
4459
- *
4460
- * This needs to be a function so that we can
4461
- * check the config once it has been set.
4462
- * Otherwise, this code would be evaluated the
4463
- * moment this file is evaluated which could be
4464
- * before the config is set.
4465
- */
4466
- const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
4467
- const OVERLAY_BACK_BUTTON_PRIORITY = 100;
4468
- const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
4469
-
4470
4476
  // TODO(FW-2832): types
4471
4477
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
4472
4478
  var _a;
@@ -7291,6 +7297,84 @@ const buttonClass$2 = (button) => {
7291
7297
  return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
7292
7298
  };
7293
7299
 
7300
+ const ION_FOCUSED = 'ion-focused';
7301
+ const ION_FOCUSABLE = 'ion-focusable';
7302
+ const FOCUS_KEYS = [
7303
+ 'Tab',
7304
+ 'ArrowDown',
7305
+ 'Space',
7306
+ 'Escape',
7307
+ ' ',
7308
+ 'Shift',
7309
+ 'Enter',
7310
+ 'ArrowLeft',
7311
+ 'ArrowRight',
7312
+ 'ArrowUp',
7313
+ 'Home',
7314
+ 'End',
7315
+ ];
7316
+ let focusVisibleUtility = null;
7317
+ const initFocusVisibleUtility = () => {
7318
+ if (!focusVisibleUtility) {
7319
+ focusVisibleUtility = startFocusVisible();
7320
+ }
7321
+ return focusVisibleUtility;
7322
+ };
7323
+ const startFocusVisible = (rootEl) => {
7324
+ let currentFocus = [];
7325
+ let keyboardMode = true;
7326
+ const ref = rootEl ? rootEl.shadowRoot : document;
7327
+ const root = rootEl ? rootEl : document.body;
7328
+ const setFocus = (elements) => {
7329
+ currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
7330
+ elements.forEach((el) => el.classList.add(ION_FOCUSED));
7331
+ currentFocus = elements;
7332
+ };
7333
+ const pointerDown = () => {
7334
+ keyboardMode = false;
7335
+ setFocus([]);
7336
+ };
7337
+ const onKeydown = (ev) => {
7338
+ keyboardMode = FOCUS_KEYS.includes(ev.key);
7339
+ if (!keyboardMode) {
7340
+ setFocus([]);
7341
+ }
7342
+ };
7343
+ const onFocusin = (ev) => {
7344
+ if (keyboardMode && ev.composedPath !== undefined) {
7345
+ const toFocus = ev.composedPath().filter((el) => {
7346
+ // TODO(FW-2832): type
7347
+ if (el.classList) {
7348
+ return el.classList.contains(ION_FOCUSABLE);
7349
+ }
7350
+ return false;
7351
+ });
7352
+ setFocus(toFocus);
7353
+ }
7354
+ };
7355
+ const onFocusout = () => {
7356
+ if (ref.activeElement === root) {
7357
+ setFocus([]);
7358
+ }
7359
+ };
7360
+ ref.addEventListener('keydown', onKeydown);
7361
+ ref.addEventListener('focusin', onFocusin);
7362
+ ref.addEventListener('focusout', onFocusout);
7363
+ ref.addEventListener('touchstart', pointerDown, { passive: true });
7364
+ ref.addEventListener('mousedown', pointerDown);
7365
+ const destroy = () => {
7366
+ ref.removeEventListener('keydown', onKeydown);
7367
+ ref.removeEventListener('focusin', onFocusin);
7368
+ ref.removeEventListener('focusout', onFocusout);
7369
+ ref.removeEventListener('touchstart', pointerDown);
7370
+ ref.removeEventListener('mousedown', pointerDown);
7371
+ };
7372
+ return {
7373
+ destroy,
7374
+ setFocus,
7375
+ };
7376
+ };
7377
+
7294
7378
  const appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";
7295
7379
  var IonAppStyle0 = appCss;
7296
7380
 
@@ -7298,8 +7382,6 @@ class App {
7298
7382
  constructor(hostRef) {
7299
7383
  registerInstance(this, hostRef);
7300
7384
  }
7301
- componentDidLoad() {
7302
- }
7303
7385
  /**
7304
7386
  * @internal
7305
7387
  * Used to set focus on an element that uses `ion-focusable`.
@@ -7311,13 +7393,12 @@ class App {
7311
7393
  * presented as a result of keyboard action.)
7312
7394
  */
7313
7395
  async setFocus(elements) {
7314
- if (this.focusVisible) {
7315
- this.focusVisible.setFocus(elements);
7316
- }
7396
+ const focusVisible = initFocusVisibleUtility();
7397
+ focusVisible.setFocus(elements);
7317
7398
  }
7318
7399
  render() {
7319
7400
  const mode = getIonMode$1(this);
7320
- return (hAsync(Host, { key: 'a562850f242d9d45573e35efdd4bd178254677ef', class: {
7401
+ return (hAsync(Host, { key: 'b4132f59a7b043db8f7d178a81e7fec6eb1cb0d7', class: {
7321
7402
  [mode]: true,
7322
7403
  'ion-page': true,
7323
7404
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -9123,77 +9204,6 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
9123
9204
  }
9124
9205
  };
9125
9206
 
9126
- const ION_FOCUSED = 'ion-focused';
9127
- const ION_FOCUSABLE = 'ion-focusable';
9128
- const FOCUS_KEYS = [
9129
- 'Tab',
9130
- 'ArrowDown',
9131
- 'Space',
9132
- 'Escape',
9133
- ' ',
9134
- 'Shift',
9135
- 'Enter',
9136
- 'ArrowLeft',
9137
- 'ArrowRight',
9138
- 'ArrowUp',
9139
- 'Home',
9140
- 'End',
9141
- ];
9142
- const startFocusVisible = (rootEl) => {
9143
- let currentFocus = [];
9144
- let keyboardMode = true;
9145
- const ref = rootEl ? rootEl.shadowRoot : document;
9146
- const root = rootEl ? rootEl : document.body;
9147
- const setFocus = (elements) => {
9148
- currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
9149
- elements.forEach((el) => el.classList.add(ION_FOCUSED));
9150
- currentFocus = elements;
9151
- };
9152
- const pointerDown = () => {
9153
- keyboardMode = false;
9154
- setFocus([]);
9155
- };
9156
- const onKeydown = (ev) => {
9157
- keyboardMode = FOCUS_KEYS.includes(ev.key);
9158
- if (!keyboardMode) {
9159
- setFocus([]);
9160
- }
9161
- };
9162
- const onFocusin = (ev) => {
9163
- if (keyboardMode && ev.composedPath !== undefined) {
9164
- const toFocus = ev.composedPath().filter((el) => {
9165
- // TODO(FW-2832): type
9166
- if (el.classList) {
9167
- return el.classList.contains(ION_FOCUSABLE);
9168
- }
9169
- return false;
9170
- });
9171
- setFocus(toFocus);
9172
- }
9173
- };
9174
- const onFocusout = () => {
9175
- if (ref.activeElement === root) {
9176
- setFocus([]);
9177
- }
9178
- };
9179
- ref.addEventListener('keydown', onKeydown);
9180
- ref.addEventListener('focusin', onFocusin);
9181
- ref.addEventListener('focusout', onFocusout);
9182
- ref.addEventListener('touchstart', pointerDown, { passive: true });
9183
- ref.addEventListener('mousedown', pointerDown);
9184
- const destroy = () => {
9185
- ref.removeEventListener('keydown', onKeydown);
9186
- ref.removeEventListener('focusin', onFocusin);
9187
- ref.removeEventListener('focusout', onFocusout);
9188
- ref.removeEventListener('touchstart', pointerDown);
9189
- ref.removeEventListener('mousedown', pointerDown);
9190
- };
9191
- return {
9192
- destroy,
9193
- setFocus,
9194
- };
9195
- };
9196
-
9197
9207
  /**
9198
9208
  * Returns true if the selected day is equal to the reference day
9199
9209
  */
@@ -33253,7 +33263,7 @@ exports.hydrateApp = hydrateApp;
33253
33263
  }
33254
33264
 
33255
33265
  /*
33256
- Stencil Hydrate Runner v4.20.0 | MIT Licensed | https://stenciljs.com
33266
+ Stencil Hydrate Runner v4.21.0 | MIT Licensed | https://stenciljs.com
33257
33267
  */
33258
33268
  var __defProp = Object.defineProperty;
33259
33269
  var __export = (target, all) => {
@@ -45234,6 +45244,11 @@ patchPropAttributes(
45234
45244
  type: "submit"
45235
45245
  }
45236
45246
  );
45247
+ Object.defineProperty(MockButtonElement.prototype, "form", {
45248
+ get() {
45249
+ return this.hasAttribute("form") ? this.getAttribute("form") : null;
45250
+ }
45251
+ });
45237
45252
  var MockImageElement = class extends MockHTMLElement {
45238
45253
  constructor(ownerDocument) {
45239
45254
  super(ownerDocument, "img");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.3.1-dev.11726167750.15400355",
3
+ "version": "8.3.1-dev.11726172907.15a1af41",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -31,7 +31,7 @@
31
31
  "loader/"
32
32
  ],
33
33
  "dependencies": {
34
- "@stencil/core": "4.20.0",
34
+ "@stencil/core": "^4.19.2",
35
35
  "ionicons": "^7.2.2",
36
36
  "tslib": "^2.1.0"
37
37
  },
@@ -48,7 +48,7 @@
48
48
  "@rollup/plugin-node-resolve": "^8.4.0",
49
49
  "@rollup/plugin-virtual": "^2.0.3",
50
50
  "@stencil/angular-output-target": "^0.8.4",
51
- "@stencil/react-output-target": "0.5.3",
51
+ "@stencil/react-output-target": "^0.6.0",
52
52
  "@stencil/sass": "^3.0.9",
53
53
  "@stencil/vue-output-target": "^0.8.9",
54
54
  "@types/jest": "^29.5.6",
@@ -1,115 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { w as win } from './index5.js';
5
- import { c as config } from './ionic-global.js';
6
-
7
- /**
8
- * CloseWatcher is a newer API that lets
9
- * use detect the hardware back button event
10
- * in a web browser: https://caniuse.com/?search=closewatcher
11
- * However, not every browser supports it yet.
12
- *
13
- * This needs to be a function so that we can
14
- * check the config once it has been set.
15
- * Otherwise, this code would be evaluated the
16
- * moment this file is evaluated which could be
17
- * before the config is set.
18
- */
19
- const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
20
- /**
21
- * When hardwareBackButton: false in config,
22
- * we need to make sure we also block the default
23
- * webview behavior. If we don't then it will be
24
- * possible for users to navigate backward while
25
- * an overlay is still open. Additionally, it will
26
- * give the appearance that the hardwareBackButton
27
- * config is not working as the page transition
28
- * will still happen.
29
- */
30
- const blockHardwareBackButton = () => {
31
- document.addEventListener('backbutton', () => { }); // eslint-disable-line
32
- };
33
- const startHardwareBackButton = () => {
34
- const doc = document;
35
- let busy = false;
36
- const backButtonCallback = () => {
37
- if (busy) {
38
- return;
39
- }
40
- let index = 0;
41
- let handlers = [];
42
- const ev = new CustomEvent('ionBackButton', {
43
- bubbles: false,
44
- detail: {
45
- register(priority, handler) {
46
- handlers.push({ priority, handler, id: index++ });
47
- },
48
- },
49
- });
50
- doc.dispatchEvent(ev);
51
- const executeAction = async (handlerRegister) => {
52
- try {
53
- if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
54
- const result = handlerRegister.handler(processHandlers);
55
- if (result != null) {
56
- await result;
57
- }
58
- }
59
- }
60
- catch (e) {
61
- console.error(e);
62
- }
63
- };
64
- const processHandlers = () => {
65
- if (handlers.length > 0) {
66
- let selectedHandler = {
67
- priority: Number.MIN_SAFE_INTEGER,
68
- handler: () => undefined,
69
- id: -1,
70
- };
71
- handlers.forEach((handler) => {
72
- if (handler.priority >= selectedHandler.priority) {
73
- selectedHandler = handler;
74
- }
75
- });
76
- busy = true;
77
- handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
78
- executeAction(selectedHandler).then(() => (busy = false));
79
- }
80
- };
81
- processHandlers();
82
- };
83
- /**
84
- * If the CloseWatcher is defined then
85
- * we don't want to also listen for the native
86
- * backbutton event otherwise we may get duplicate
87
- * events firing.
88
- */
89
- if (shouldUseCloseWatcher()) {
90
- let watcher;
91
- const configureWatcher = () => {
92
- watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
93
- watcher = new win.CloseWatcher();
94
- /**
95
- * Once a close request happens
96
- * the watcher gets destroyed.
97
- * As a result, we need to re-configure
98
- * the watcher so we can respond to other
99
- * close requests.
100
- */
101
- watcher.onclose = () => {
102
- backButtonCallback();
103
- configureWatcher();
104
- };
105
- };
106
- configureWatcher();
107
- }
108
- else {
109
- doc.addEventListener('backbutton', backButtonCallback);
110
- }
111
- };
112
- const OVERLAY_BACK_BUTTON_PRIORITY = 100;
113
- const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
114
-
115
- export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shouldUseCloseWatcher, startHardwareBackButton };
@@ -1,128 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { c as componentOnReady } from './helpers.js';
5
- import { b as printRequiredElementError } from './index6.js';
6
-
7
- const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
8
- const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
9
- const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';
10
- /**
11
- * Selector used for implementations reliant on `<ion-content>` for scroll event changes.
12
- *
13
- * Developers should use the `.ion-content-scroll-host` selector to target the element emitting
14
- * scroll events. With virtual scroll implementations this will be the host element for
15
- * the scroll viewport.
16
- */
17
- const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;
18
- const isIonContent = (el) => el.tagName === ION_CONTENT_TAG_NAME;
19
- /**
20
- * Waits for the element host fully initialize before
21
- * returning the inner scroll element.
22
- *
23
- * For `ion-content` the scroll target will be the result
24
- * of the `getScrollElement` function.
25
- *
26
- * For custom implementations it will be the element host
27
- * or a selector within the host, if supplied through `scrollTarget`.
28
- */
29
- const getScrollElement = async (el) => {
30
- if (isIonContent(el)) {
31
- await new Promise((resolve) => componentOnReady(el, resolve));
32
- return el.getScrollElement();
33
- }
34
- return el;
35
- };
36
- /**
37
- * Queries the element matching the selector for IonContent.
38
- * See ION_CONTENT_SELECTOR for the selector used.
39
- */
40
- const findIonContent = (el) => {
41
- /**
42
- * First we try to query the custom scroll host selector in cases where
43
- * the implementation is using an outer `ion-content` with an inner custom
44
- * scroll container.
45
- */
46
- const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);
47
- if (customContentHost) {
48
- return customContentHost;
49
- }
50
- return el.querySelector(ION_CONTENT_SELECTOR);
51
- };
52
- /**
53
- * Queries the closest element matching the selector for IonContent.
54
- */
55
- const findClosestIonContent = (el) => {
56
- return el.closest(ION_CONTENT_SELECTOR);
57
- };
58
- /**
59
- * Scrolls to the top of the element. If an `ion-content` is found, it will scroll
60
- * using the public API `scrollToTop` with a duration.
61
- */
62
- const scrollToTop = (el, durationMs) => {
63
- if (isIonContent(el)) {
64
- const content = el;
65
- return content.scrollToTop(durationMs);
66
- }
67
- return Promise.resolve(el.scrollTo({
68
- top: 0,
69
- left: 0,
70
- behavior: durationMs > 0 ? 'smooth' : 'auto',
71
- }));
72
- };
73
- /**
74
- * Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll
75
- * using the public API `scrollByPoint` with a duration.
76
- */
77
- const scrollByPoint = (el, x, y, durationMs) => {
78
- if (isIonContent(el)) {
79
- const content = el;
80
- return content.scrollByPoint(x, y, durationMs);
81
- }
82
- return Promise.resolve(el.scrollBy({
83
- top: y,
84
- left: x,
85
- behavior: durationMs > 0 ? 'smooth' : 'auto',
86
- }));
87
- };
88
- /**
89
- * Prints an error informing developers that an implementation requires an element to be used
90
- * within either the `ion-content` selector or the `.ion-content-scroll-host` class.
91
- */
92
- const printIonContentErrorMsg = (el) => {
93
- return printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
94
- };
95
- /**
96
- * Several components in Ionic need to prevent scrolling
97
- * during a gesture (card modal, range, item sliding, etc).
98
- * Use this utility to account for ion-content and custom content hosts.
99
- */
100
- const disableContentScrollY = (contentEl) => {
101
- if (isIonContent(contentEl)) {
102
- const ionContent = contentEl;
103
- const initialScrollY = ionContent.scrollY;
104
- ionContent.scrollY = false;
105
- /**
106
- * This should be passed into resetContentScrollY
107
- * so that we can revert ion-content's scrollY to the
108
- * correct state. For example, if scrollY = false
109
- * initially, we do not want to enable scrolling
110
- * when we call resetContentScrollY.
111
- */
112
- return initialScrollY;
113
- }
114
- else {
115
- contentEl.style.setProperty('overflow', 'hidden');
116
- return true;
117
- }
118
- };
119
- const resetContentScrollY = (contentEl, initialScrollY) => {
120
- if (isIonContent(contentEl)) {
121
- contentEl.scrollY = initialScrollY;
122
- }
123
- else {
124
- contentEl.style.removeProperty('overflow');
125
- }
126
- };
127
-
128
- export { ION_CONTENT_CLASS_SELECTOR as I, findClosestIonContent as a, ION_CONTENT_ELEMENT_SELECTOR as b, scrollByPoint as c, disableContentScrollY as d, findIonContent as f, getScrollElement as g, isIonContent as i, printIonContentErrorMsg as p, resetContentScrollY as r, scrollToTop as s };