@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
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{w as o}from"./p-e35fa668.js";const r=()=>{if(void 0!==o)return o.Capacitor};export{r as g}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{K as e}from"./p-845c8117.js";import"./p-f4a57fb7.js";import"./p-e35fa668.js";import"./p-4b528ed3.js";const t="ionKeyboardDidShow",o="ionKeyboardDidHide";let i={},s={},a=!1;const d=()=>{i={},s={},a=!1},p=t=>{if(e.getEngine())r(t);else{if(!t.visualViewport)return;s=y(t.visualViewport),t.visualViewport.onresize=()=>{w(t),b()||h(t)?f(t):c(t)&&n(t)}}},r=e=>{e.addEventListener("keyboardDidShow",(t=>f(e,t))),e.addEventListener("keyboardDidHide",(()=>n(e)))},f=(e,t)=>{m(e,t),a=!0},n=e=>{j(e),a=!1},b=()=>!a&&i.width===s.width&&(i.height-s.height)*s.scale>150,h=e=>a&&!c(e),c=e=>a&&s.height===e.innerHeight,m=(e,o)=>{const i=new CustomEvent(t,{detail:{keyboardHeight:o?o.keyboardHeight:e.innerHeight-s.height}});e.dispatchEvent(i)},j=e=>{const t=new CustomEvent(o);e.dispatchEvent(t)},w=e=>{i=Object.assign({},s),s=y(e.visualViewport)},y=e=>({width:Math.round(e.width),height:Math.round(e.height),offsetTop:e.offsetTop,offsetLeft:e.offsetLeft,pageTop:e.pageTop,pageLeft:e.pageLeft,scale:e.scale});export{o as KEYBOARD_DID_CLOSE,t as KEYBOARD_DID_OPEN,y as copyVisualViewport,c as keyboardDidClose,b as keyboardDidOpen,h as keyboardDidResize,d as resetKeyboardAssist,n as setKeyboardClose,f as setKeyboardOpen,p as startKeyboardAssist,w as trackViewportChanges}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{c as t}from"./p-60c38dee.js";import{g as o}from"./p-b95e719d.js";import"./p-e35fa668.js";import"./p-4b528ed3.js";import"./p-b51e4004.js";const n=t=>document.querySelector(`${t}.ion-cloned-element`),a=t=>t.shadowRoot||t,e=t=>{const o="ION-TABS"===t.tagName?t:t.querySelector("ion-tabs"),n="ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large";if(null!=o){const t=o.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");return null!=t?t.querySelector(n):null}return t.querySelector(n)},s=(t,o)=>{const n="ION-TABS"===t.tagName?t:t.querySelector("ion-tabs");let a=[];if(null!=n){const t=n.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");null!=t&&(a=t.querySelectorAll("ion-buttons"))}else a=t.querySelectorAll("ion-buttons");for(const t of a){const n=t.closest("ion-header"),a=n&&!n.classList.contains("header-collapse-condense-inactive"),e=t.querySelector("ion-back-button"),s=t.classList.contains("buttons-collapse");if(null!==e&&("start"===t.slot||""===t.slot)&&(s&&a&&o||!s))return e}return null},r=(o,e,s,r,i,l,f,p,d)=>{var $,u;const b=e?`calc(100% - ${i.right+4}px)`:i.left-4+"px",m=e?"right":"left",y=e?"left":"right",X=e?"right":"left";let x=1,v=1,h=`scale(${v})`;const g="scale(1)";if(l&&f){const t=(null===($=l.textContent)||void 0===$?void 0:$.trim())===(null===(u=p.textContent)||void 0===u?void 0:u.trim());x=d.width/f.width,v=(d.height-c)/f.height,h=t?`scale(${x}, ${v})`:`scale(${v})`}const w=a(r).querySelector("ion-icon").getBoundingClientRect(),k=e?w.width/2-(w.right-i.right)+"px":i.left-w.width/2+"px",T=e?`-${window.innerWidth-i.right}px`:`${i.left}px`,j=`${d.top}px`,A=`${i.top}px`,B=s?[{offset:0,transform:`translate3d(${T}, ${A}, 0)`},{offset:1,transform:`translate3d(${k}, ${j}, 0)`}]:[{offset:0,transform:`translate3d(${k}, ${j}, 0)`},{offset:1,transform:`translate3d(${T}, ${A}, 0)`}],I=s?[{offset:0,opacity:1,transform:g},{offset:1,opacity:0,transform:h}]:[{offset:0,opacity:0,transform:h},{offset:1,opacity:1,transform:g}],N=s?[{offset:0,opacity:1,transform:"scale(1)"},{offset:.2,opacity:0,transform:"scale(0.6)"},{offset:1,opacity:0,transform:"scale(0.6)"}]:[{offset:0,opacity:0,transform:"scale(0.6)"},{offset:.6,opacity:0,transform:"scale(0.6)"},{offset:1,opacity:1,transform:"scale(1)"}],O=t(),S=t(),z=t(),q=n("ion-back-button"),C=a(q).querySelector(".button-text"),D=a(q).querySelector("ion-icon");q.text=r.text,q.mode=r.mode,q.icon=r.icon,q.color=r.color,q.disabled=r.disabled,q.style.setProperty("display","block"),q.style.setProperty("position","fixed"),S.addElement(D),O.addElement(C),z.addElement(q),z.beforeStyles({position:"absolute",top:"0px",[X]:"0px"}).beforeAddWrite((()=>{r.style.setProperty("display","none"),q.style.setProperty(m,b)})).afterAddWrite((()=>{r.style.setProperty("display",""),q.style.setProperty("display","none"),q.style.removeProperty(m)})).keyframes(B),O.beforeStyles({"transform-origin":`${m} top`}).keyframes(I),S.beforeStyles({"transform-origin":`${y} center`}).keyframes(N),o.addAnimation([O,S,z])},i=(o,a,e,s,r,i,l,f,p)=>{var d,$;const u=a?"right":"left",b=a?`calc(100% - ${r.right}px)`:`${r.left}px`,m=`${r.top}px`;let y=a?`-${window.innerWidth-l.right-8}px`:`${l.x+8}px`,X=.5;const x="scale(1)";let v=`scale(${X})`;if(f&&p){y=a?`-${window.innerWidth-p.right-8}px`:p.x-8+"px";const t=(null===(d=f.textContent)||void 0===d?void 0:d.trim())===(null===($=s.textContent)||void 0===$?void 0:$.trim());X=p.height/(i.height-c),v=t?`scale(${p.width/i.width}, ${X})`:`scale(${X})`}const h=l.top+l.height/2-r.height*X/2+"px",g=e?[{offset:0,opacity:0,transform:`translate3d(${y}, ${h}, 0) ${v}`},{offset:.1,opacity:0},{offset:1,opacity:1,transform:`translate3d(0px, ${m}, 0) ${x}`}]:[{offset:0,opacity:.99,transform:`translate3d(0px, ${m}, 0) ${x}`},{offset:.6,opacity:0},{offset:1,opacity:0,transform:`translate3d(${y}, ${h}, 0) ${v}`}],w=n("ion-title"),k=t();w.innerText=s.innerText,w.size=s.size,w.color=s.color,k.addElement(w),k.beforeStyles({"transform-origin":`${u} top`,height:`${r.height}px`,display:"",position:"relative",[u]:b}).beforeAddWrite((()=>{s.style.setProperty("opacity","0")})).afterAddWrite((()=>{s.style.setProperty("opacity",""),w.style.setProperty("display","none")})).keyframes(g),o.addAnimation(k)},l=(n,l)=>{var c;try{const f="cubic-bezier(0.32,0.72,0,1)",p="opacity",d="transform",$="0%",u=.8,b="rtl"===n.ownerDocument.dir,m=b?"-99.5%":"99.5%",y=b?"33%":"-33%",X=l.enteringEl,x=l.leavingEl,v="back"===l.direction,h=X.querySelector(":scope > ion-content"),g=X.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *"),w=X.querySelectorAll(":scope > ion-header > ion-toolbar"),k=t(),T=t();if(k.addElement(X).duration((null!==(c=l.duration)&&void 0!==c?c:0)||540).easing(l.easing||f).fill("both").beforeRemoveClass("ion-page-invisible"),x&&null!=n){const o=t();o.addElement(n),k.addAnimation(o)}if(h||0!==w.length||0!==g.length?(T.addElement(h),T.addElement(g)):T.addElement(X.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),k.addAnimation(T),v?T.beforeClearStyles([p]).fromTo("transform",`translateX(${y})`,`translateX(${$})`).fromTo(p,u,1):T.beforeClearStyles([p]).fromTo("transform",`translateX(${m})`,`translateX(${$})`),h){const o=a(h).querySelector(".transition-effect");if(o){const n=o.querySelector(".transition-cover"),a=o.querySelector(".transition-shadow"),e=t(),s=t(),r=t();e.addElement(o).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),s.addElement(n).beforeClearStyles([p]).fromTo(p,0,.1),r.addElement(a).beforeClearStyles([p]).fromTo(p,.03,.7),e.addAnimation([s,r]),T.addAnimation([e])}}const j=X.querySelector("ion-header.header-collapse-condense"),{forward:A,backward:B}=((t,o,n,l,c)=>{const f=s(l,n),p=e(c),d=e(l),$=s(c,n),u=null!==f&&null!==p&&!n,b=null!==d&&null!==$&&n;if(u){const e=p.getBoundingClientRect(),s=f.getBoundingClientRect(),l=a(f).querySelector(".button-text"),c=null==l?void 0:l.getBoundingClientRect(),d=a(p).querySelector(".toolbar-title").getBoundingClientRect();i(t,o,n,p,e,d,s,l,c),r(t,o,n,f,s,l,c,p,d)}else if(b){const e=d.getBoundingClientRect(),s=$.getBoundingClientRect(),l=a($).querySelector(".button-text"),c=null==l?void 0:l.getBoundingClientRect(),f=a(d).querySelector(".toolbar-title").getBoundingClientRect();i(t,o,n,d,e,f,s,l,c),r(t,o,n,$,s,l,c,d,f)}return{forward:u,backward:b}})(k,b,v,X,x);if(w.forEach((o=>{const n=t();n.addElement(o),k.addAnimation(n);const e=t();e.addElement(o.querySelector("ion-title"));const s=t(),r=Array.from(o.querySelectorAll("ion-buttons,[menuToggle]")),i=o.closest("ion-header"),l=null==i?void 0:i.classList.contains("header-collapse-condense-inactive");let c;c=r.filter(v?t=>{const o=t.classList.contains("buttons-collapse");return o&&!l||!o}:t=>!t.classList.contains("buttons-collapse")),s.addElement(c);const f=t();f.addElement(o.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])"));const d=t();d.addElement(a(o).querySelector(".toolbar-background"));const u=t(),X=o.querySelector("ion-back-button");if(X&&u.addElement(X),n.addAnimation([e,s,f,d,u]),s.fromTo(p,.01,1),f.fromTo(p,.01,1),v)l||e.fromTo("transform",`translateX(${y})`,`translateX(${$})`).fromTo(p,.01,1),f.fromTo("transform",`translateX(${y})`,`translateX(${$})`),u.fromTo(p,.01,1);else if(j||e.fromTo("transform",`translateX(${m})`,`translateX(${$})`).fromTo(p,.01,1),f.fromTo("transform",`translateX(${m})`,`translateX(${$})`),d.beforeClearStyles([p,"transform"]),(null==i?void 0:i.translucent)?d.fromTo("transform",b?"translateX(-100%)":"translateX(100%)","translateX(0px)"):d.fromTo(p,.01,"var(--opacity)"),A||u.fromTo(p,.01,1),X&&!A){const o=t();o.addElement(a(X).querySelector(".button-text")).fromTo("transform",b?"translateX(-100px)":"translateX(100px)","translateX(0px)"),n.addAnimation(o)}})),x){const n=t(),e=x.querySelector(":scope > ion-content"),s=x.querySelectorAll(":scope > ion-header > ion-toolbar"),r=x.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");if(e||0!==s.length||0!==r.length?(n.addElement(e),n.addElement(r)):n.addElement(x.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),k.addAnimation(n),v){n.beforeClearStyles([p]).fromTo("transform",`translateX(${$})`,b?"translateX(-100%)":"translateX(100%)");const t=o(x);k.afterAddWrite((()=>{"normal"===k.getDirection()&&t.style.setProperty("display","none")}))}else n.fromTo("transform",`translateX(${$})`,`translateX(${y})`).fromTo(p,1,u);if(e){const o=a(e).querySelector(".transition-effect");if(o){const a=o.querySelector(".transition-cover"),e=o.querySelector(".transition-shadow"),s=t(),r=t(),i=t();s.addElement(o).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),r.addElement(a).beforeClearStyles([p]).fromTo(p,.1,0),i.addElement(e).beforeClearStyles([p]).fromTo(p,.7,.03),s.addAnimation([r,i]),n.addAnimation([s])}}s.forEach((o=>{const n=t();n.addElement(o);const e=t();e.addElement(o.querySelector("ion-title"));const s=t(),r=o.querySelectorAll("ion-buttons,[menuToggle]"),i=o.closest("ion-header"),l=null==i?void 0:i.classList.contains("header-collapse-condense-inactive"),c=Array.from(r).filter((t=>{const o=t.classList.contains("buttons-collapse");return o&&!l||!o}));s.addElement(c);const f=t(),u=o.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])");u.length>0&&f.addElement(u);const m=t();m.addElement(a(o).querySelector(".toolbar-background"));const X=t(),x=o.querySelector("ion-back-button");if(x&&X.addElement(x),n.addAnimation([e,s,f,X,m]),k.addAnimation(n),X.fromTo(p,.99,0),s.fromTo(p,.99,0),f.fromTo(p,.99,0),v){if(l||e.fromTo("transform",`translateX(${$})`,b?"translateX(-100%)":"translateX(100%)").fromTo(p,.99,0),f.fromTo("transform",`translateX(${$})`,b?"translateX(-100%)":"translateX(100%)"),m.beforeClearStyles([p,"transform"]),(null==i?void 0:i.translucent)?m.fromTo("transform","translateX(0px)",b?"translateX(-100%)":"translateX(100%)"):m.fromTo(p,"var(--opacity)",0),x&&!B){const o=t();o.addElement(a(x).querySelector(".button-text")).fromTo("transform",`translateX(${$})`,`translateX(${(b?-124:124)+"px"})`),n.addAnimation(o)}}else l||e.fromTo("transform",`translateX(${$})`,`translateX(${y})`).fromTo(p,.99,0).afterClearStyles([d,p]),f.fromTo("transform",`translateX(${$})`,`translateX(${y})`).afterClearStyles([d,p]),X.afterClearStyles([p]),e.afterClearStyles([p]),s.afterClearStyles([p])}))}return k}catch(t){throw t}},c=10;export{l as iosTransitionAnimation,a as shadow}
@@ -1,8 +1,6 @@
1
1
  import type { ComponentInterface } from '../../stencil-public-runtime';
2
2
  export declare class App implements ComponentInterface {
3
- private focusVisible?;
4
3
  el: HTMLElement;
5
- componentDidLoad(): void;
6
4
  /**
7
5
  * @internal
8
6
  * Used to set focus on an element that uses `ion-focusable`.
@@ -1,4 +1,6 @@
1
1
  import type { IonicConfig, Mode } from '../interface';
2
2
  export declare const getIonMode: (ref?: any) => Mode;
3
+ export declare const rIC: (callback: () => void) => void;
4
+ export declare const needInputShims: () => boolean;
3
5
  export declare const initialize: (userConfig?: IonicConfig) => void;
4
6
  export default initialize;
@@ -2,4 +2,5 @@ export interface FocusVisibleUtility {
2
2
  destroy: () => void;
3
3
  setFocus: (elements: Element[]) => void;
4
4
  }
5
+ export declare const initFocusVisibleUtility: () => FocusVisibleUtility;
5
6
  export declare const startFocusVisible: (rootEl?: HTMLElement) => FocusVisibleUtility;
@@ -137,10 +137,10 @@ export interface SerializeDocumentOptions extends HydrateDocumentOptions {
137
137
  */
138
138
  removeHtmlComments?: boolean;
139
139
  /**
140
- * If set to `false` Stencil will ignore the fact that a component has a `shadow: true`
141
- * flag and serializes it as a scoped component. If set to `true` the component will
142
- * be rendered within a Declarative Shadow DOM.
143
- * @default false
140
+ * If set to `true` the component will be rendered within a Declarative Shadow DOM.
141
+ * If set to `false` Stencil will ignore the contents of the shadow root and render the
142
+ * element as given in provided template.
143
+ * @default true
144
144
  */
145
145
  serializeShadowRoot?: boolean;
146
146
  /**
package/hydrate/index.js CHANGED
@@ -130,7 +130,7 @@ const NAMESPACE = 'ionic';
130
130
  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 };
131
131
 
132
132
  /*
133
- Stencil Hydrate Platform v4.20.0 | MIT Licensed | https://stenciljs.com
133
+ Stencil Hydrate Platform v4.21.0 | MIT Licensed | https://stenciljs.com
134
134
  */
135
135
  var __defProp = Object.defineProperty;
136
136
  var __export = (target, all) => {
@@ -608,17 +608,19 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
608
608
  if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
609
609
  styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
610
610
  }
611
- const injectStyle = (
612
- /**
613
- * we render a scoped component
614
- */
615
- !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) || /**
616
- * we are using shadow dom and render the style tag within the shadowRoot
617
- */
618
- cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD"
619
- );
620
- if (injectStyle) {
621
- styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector("link"));
611
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
612
+ if (styleContainerNode.nodeName === "HEAD") {
613
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
614
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : document.querySelector("style");
615
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
616
+ } else if ("host" in styleContainerNode) {
617
+ styleContainerNode.prepend(styleElm);
618
+ } else {
619
+ styleContainerNode.append(styleElm);
620
+ }
621
+ }
622
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
623
+ styleContainerNode.insertBefore(styleElm, null);
622
624
  }
623
625
  }
624
626
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
@@ -710,7 +712,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
710
712
  if (memberName === "list") {
711
713
  isProp = false;
712
714
  } else if (oldValue == null || elm[memberName] != n) {
713
- elm[memberName] = n;
715
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
716
+ elm[memberName] = n;
717
+ } else {
718
+ elm.setAttribute(memberName, n);
719
+ }
714
720
  }
715
721
  } else {
716
722
  elm[memberName] = newValue;
@@ -2770,6 +2776,55 @@ class Config {
2770
2776
  }
2771
2777
  const config = /*@__PURE__*/ new Config();
2772
2778
 
2779
+ const win$1 = typeof window !== 'undefined' ? window : undefined;
2780
+ const doc = typeof document !== 'undefined' ? document : undefined;
2781
+
2782
+ /**
2783
+ * CloseWatcher is a newer API that lets
2784
+ * use detect the hardware back button event
2785
+ * in a web browser: https://caniuse.com/?search=closewatcher
2786
+ * However, not every browser supports it yet.
2787
+ *
2788
+ * This needs to be a function so that we can
2789
+ * check the config once it has been set.
2790
+ * Otherwise, this code would be evaluated the
2791
+ * moment this file is evaluated which could be
2792
+ * before the config is set.
2793
+ */
2794
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
2795
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
2796
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
2797
+
2798
+ /**
2799
+ * Logs a warning to the console with an Ionic prefix
2800
+ * to indicate the library that is warning the developer.
2801
+ *
2802
+ * @param message - The string message to be logged to the console.
2803
+ */
2804
+ const printIonWarning = (message, ...params) => {
2805
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
2806
+ };
2807
+ /*
2808
+ * Logs an error to the console with an Ionic prefix
2809
+ * to indicate the library that is warning the developer.
2810
+ *
2811
+ * @param message - The string message to be logged to the console.
2812
+ * @param params - Additional arguments to supply to the console.error.
2813
+ */
2814
+ const printIonError = (message, ...params) => {
2815
+ return console.error(`[Ionic Error]: ${message}`, ...params);
2816
+ };
2817
+ /**
2818
+ * Prints an error informing developers that an implementation requires an element to be used
2819
+ * within a specific selector.
2820
+ *
2821
+ * @param el The web component element this is requiring the element.
2822
+ * @param targetSelectors The selector or selectors that were not found.
2823
+ */
2824
+ const printRequiredElementError = (el, ...targetSelectors) => {
2825
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
2826
+ };
2827
+
2773
2828
  const getPlatforms = (win) => setupPlatforms(win);
2774
2829
  const isPlatform = (winOrPlatform, platform) => {
2775
2830
  if (typeof winOrPlatform === 'string') {
@@ -3210,36 +3265,6 @@ class Accordion {
3210
3265
  }
3211
3266
  let accordionIds = 0;
3212
3267
 
3213
- /**
3214
- * Logs a warning to the console with an Ionic prefix
3215
- * to indicate the library that is warning the developer.
3216
- *
3217
- * @param message - The string message to be logged to the console.
3218
- */
3219
- const printIonWarning = (message, ...params) => {
3220
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3221
- };
3222
- /*
3223
- * Logs an error to the console with an Ionic prefix
3224
- * to indicate the library that is warning the developer.
3225
- *
3226
- * @param message - The string message to be logged to the console.
3227
- * @param params - Additional arguments to supply to the console.error.
3228
- */
3229
- const printIonError = (message, ...params) => {
3230
- return console.error(`[Ionic Error]: ${message}`, ...params);
3231
- };
3232
- /**
3233
- * Prints an error informing developers that an implementation requires an element to be used
3234
- * within a specific selector.
3235
- *
3236
- * @param el The web component element this is requiring the element.
3237
- * @param targetSelectors The selector or selectors that were not found.
3238
- */
3239
- const printRequiredElementError = (el, ...targetSelectors) => {
3240
- return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
3241
- };
3242
-
3243
3268
  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}";
3244
3269
  var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
3245
3270
 
@@ -3478,9 +3503,6 @@ class AccordionGroup {
3478
3503
  }; }
3479
3504
  }
3480
3505
 
3481
- const win$1 = typeof window !== 'undefined' ? window : undefined;
3482
- const doc = typeof document !== 'undefined' ? document : undefined;
3483
-
3484
3506
  const getCapacitor = () => {
3485
3507
  if (win$1 !== undefined) {
3486
3508
  return win$1.Capacitor;
@@ -4455,22 +4477,6 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
4455
4477
  }
4456
4478
  };
4457
4479
 
4458
- /**
4459
- * CloseWatcher is a newer API that lets
4460
- * use detect the hardware back button event
4461
- * in a web browser: https://caniuse.com/?search=closewatcher
4462
- * However, not every browser supports it yet.
4463
- *
4464
- * This needs to be a function so that we can
4465
- * check the config once it has been set.
4466
- * Otherwise, this code would be evaluated the
4467
- * moment this file is evaluated which could be
4468
- * before the config is set.
4469
- */
4470
- const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
4471
- const OVERLAY_BACK_BUTTON_PRIORITY = 100;
4472
- const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
4473
-
4474
4480
  // TODO(FW-2832): types
4475
4481
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
4476
4482
  var _a;
@@ -7295,6 +7301,84 @@ const buttonClass$2 = (button) => {
7295
7301
  return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
7296
7302
  };
7297
7303
 
7304
+ const ION_FOCUSED = 'ion-focused';
7305
+ const ION_FOCUSABLE = 'ion-focusable';
7306
+ const FOCUS_KEYS = [
7307
+ 'Tab',
7308
+ 'ArrowDown',
7309
+ 'Space',
7310
+ 'Escape',
7311
+ ' ',
7312
+ 'Shift',
7313
+ 'Enter',
7314
+ 'ArrowLeft',
7315
+ 'ArrowRight',
7316
+ 'ArrowUp',
7317
+ 'Home',
7318
+ 'End',
7319
+ ];
7320
+ let focusVisibleUtility = null;
7321
+ const initFocusVisibleUtility = () => {
7322
+ if (!focusVisibleUtility) {
7323
+ focusVisibleUtility = startFocusVisible();
7324
+ }
7325
+ return focusVisibleUtility;
7326
+ };
7327
+ const startFocusVisible = (rootEl) => {
7328
+ let currentFocus = [];
7329
+ let keyboardMode = true;
7330
+ const ref = rootEl ? rootEl.shadowRoot : document;
7331
+ const root = rootEl ? rootEl : document.body;
7332
+ const setFocus = (elements) => {
7333
+ currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
7334
+ elements.forEach((el) => el.classList.add(ION_FOCUSED));
7335
+ currentFocus = elements;
7336
+ };
7337
+ const pointerDown = () => {
7338
+ keyboardMode = false;
7339
+ setFocus([]);
7340
+ };
7341
+ const onKeydown = (ev) => {
7342
+ keyboardMode = FOCUS_KEYS.includes(ev.key);
7343
+ if (!keyboardMode) {
7344
+ setFocus([]);
7345
+ }
7346
+ };
7347
+ const onFocusin = (ev) => {
7348
+ if (keyboardMode && ev.composedPath !== undefined) {
7349
+ const toFocus = ev.composedPath().filter((el) => {
7350
+ // TODO(FW-2832): type
7351
+ if (el.classList) {
7352
+ return el.classList.contains(ION_FOCUSABLE);
7353
+ }
7354
+ return false;
7355
+ });
7356
+ setFocus(toFocus);
7357
+ }
7358
+ };
7359
+ const onFocusout = () => {
7360
+ if (ref.activeElement === root) {
7361
+ setFocus([]);
7362
+ }
7363
+ };
7364
+ ref.addEventListener('keydown', onKeydown);
7365
+ ref.addEventListener('focusin', onFocusin);
7366
+ ref.addEventListener('focusout', onFocusout);
7367
+ ref.addEventListener('touchstart', pointerDown, { passive: true });
7368
+ ref.addEventListener('mousedown', pointerDown);
7369
+ const destroy = () => {
7370
+ ref.removeEventListener('keydown', onKeydown);
7371
+ ref.removeEventListener('focusin', onFocusin);
7372
+ ref.removeEventListener('focusout', onFocusout);
7373
+ ref.removeEventListener('touchstart', pointerDown);
7374
+ ref.removeEventListener('mousedown', pointerDown);
7375
+ };
7376
+ return {
7377
+ destroy,
7378
+ setFocus,
7379
+ };
7380
+ };
7381
+
7298
7382
  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}";
7299
7383
  var IonAppStyle0 = appCss;
7300
7384
 
@@ -7302,8 +7386,6 @@ class App {
7302
7386
  constructor(hostRef) {
7303
7387
  registerInstance(this, hostRef);
7304
7388
  }
7305
- componentDidLoad() {
7306
- }
7307
7389
  /**
7308
7390
  * @internal
7309
7391
  * Used to set focus on an element that uses `ion-focusable`.
@@ -7315,13 +7397,12 @@ class App {
7315
7397
  * presented as a result of keyboard action.)
7316
7398
  */
7317
7399
  async setFocus(elements) {
7318
- if (this.focusVisible) {
7319
- this.focusVisible.setFocus(elements);
7320
- }
7400
+ const focusVisible = initFocusVisibleUtility();
7401
+ focusVisible.setFocus(elements);
7321
7402
  }
7322
7403
  render() {
7323
7404
  const mode = getIonMode$1(this);
7324
- return (hAsync(Host, { key: 'a562850f242d9d45573e35efdd4bd178254677ef', class: {
7405
+ return (hAsync(Host, { key: 'b4132f59a7b043db8f7d178a81e7fec6eb1cb0d7', class: {
7325
7406
  [mode]: true,
7326
7407
  'ion-page': true,
7327
7408
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -9127,77 +9208,6 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
9127
9208
  }
9128
9209
  };
9129
9210
 
9130
- const ION_FOCUSED = 'ion-focused';
9131
- const ION_FOCUSABLE = 'ion-focusable';
9132
- const FOCUS_KEYS = [
9133
- 'Tab',
9134
- 'ArrowDown',
9135
- 'Space',
9136
- 'Escape',
9137
- ' ',
9138
- 'Shift',
9139
- 'Enter',
9140
- 'ArrowLeft',
9141
- 'ArrowRight',
9142
- 'ArrowUp',
9143
- 'Home',
9144
- 'End',
9145
- ];
9146
- const startFocusVisible = (rootEl) => {
9147
- let currentFocus = [];
9148
- let keyboardMode = true;
9149
- const ref = rootEl ? rootEl.shadowRoot : document;
9150
- const root = rootEl ? rootEl : document.body;
9151
- const setFocus = (elements) => {
9152
- currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
9153
- elements.forEach((el) => el.classList.add(ION_FOCUSED));
9154
- currentFocus = elements;
9155
- };
9156
- const pointerDown = () => {
9157
- keyboardMode = false;
9158
- setFocus([]);
9159
- };
9160
- const onKeydown = (ev) => {
9161
- keyboardMode = FOCUS_KEYS.includes(ev.key);
9162
- if (!keyboardMode) {
9163
- setFocus([]);
9164
- }
9165
- };
9166
- const onFocusin = (ev) => {
9167
- if (keyboardMode && ev.composedPath !== undefined) {
9168
- const toFocus = ev.composedPath().filter((el) => {
9169
- // TODO(FW-2832): type
9170
- if (el.classList) {
9171
- return el.classList.contains(ION_FOCUSABLE);
9172
- }
9173
- return false;
9174
- });
9175
- setFocus(toFocus);
9176
- }
9177
- };
9178
- const onFocusout = () => {
9179
- if (ref.activeElement === root) {
9180
- setFocus([]);
9181
- }
9182
- };
9183
- ref.addEventListener('keydown', onKeydown);
9184
- ref.addEventListener('focusin', onFocusin);
9185
- ref.addEventListener('focusout', onFocusout);
9186
- ref.addEventListener('touchstart', pointerDown, { passive: true });
9187
- ref.addEventListener('mousedown', pointerDown);
9188
- const destroy = () => {
9189
- ref.removeEventListener('keydown', onKeydown);
9190
- ref.removeEventListener('focusin', onFocusin);
9191
- ref.removeEventListener('focusout', onFocusout);
9192
- ref.removeEventListener('touchstart', pointerDown);
9193
- ref.removeEventListener('mousedown', pointerDown);
9194
- };
9195
- return {
9196
- destroy,
9197
- setFocus,
9198
- };
9199
- };
9200
-
9201
9211
  /**
9202
9212
  * Returns true if the selected day is equal to the reference day
9203
9213
  */
@@ -33257,7 +33267,7 @@ exports.hydrateApp = hydrateApp;
33257
33267
  }
33258
33268
 
33259
33269
  /*
33260
- Stencil Hydrate Runner v4.20.0 | MIT Licensed | https://stenciljs.com
33270
+ Stencil Hydrate Runner v4.21.0 | MIT Licensed | https://stenciljs.com
33261
33271
  */
33262
33272
  var __defProp = Object.defineProperty;
33263
33273
  var __export = (target, all) => {
@@ -45238,6 +45248,11 @@ patchPropAttributes(
45238
45248
  type: "submit"
45239
45249
  }
45240
45250
  );
45251
+ Object.defineProperty(MockButtonElement.prototype, "form", {
45252
+ get() {
45253
+ return this.hasAttribute("form") ? this.getAttribute("form") : null;
45254
+ }
45255
+ });
45241
45256
  var MockImageElement = class extends MockHTMLElement {
45242
45257
  constructor(ownerDocument) {
45243
45258
  super(ownerDocument, "img");