@ionic/core 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784238294.131cd99d

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 (363) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-nav.js +1 -1
  22. package/components/ion-picker-legacy-column.d.ts +11 -0
  23. package/components/ion-picker-legacy-column.js +4 -0
  24. package/components/ion-picker-legacy.d.ts +11 -0
  25. package/components/ion-picker-legacy.js +4 -0
  26. package/components/ion-popover.js +1 -1
  27. package/components/ion-progress-bar.js +1 -1
  28. package/components/ion-radio.js +1 -1
  29. package/components/ion-range.js +1 -1
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-ripple-effect.js +1 -1
  35. package/components/ion-router-link.js +1 -1
  36. package/components/ion-router-outlet.js +1 -1
  37. package/components/ion-router.js +1 -1
  38. package/components/ion-row.js +1 -1
  39. package/components/ion-searchbar.js +1 -1
  40. package/components/ion-segment-button.js +1 -1
  41. package/components/ion-segment-content.js +1 -1
  42. package/components/ion-segment-view.js +1 -1
  43. package/components/ion-segment.js +1 -1
  44. package/components/ion-select-modal.js +1 -1
  45. package/components/ion-select-option.js +1 -1
  46. package/components/ion-select-popover.js +1 -1
  47. package/components/ion-select.js +1 -1
  48. package/components/ion-skeleton-text.js +1 -1
  49. package/components/ion-spinner.js +1 -1
  50. package/components/ion-split-pane.js +1 -1
  51. package/components/ion-tab-bar.js +1 -1
  52. package/components/ion-tab-button.js +1 -1
  53. package/components/ion-tab.js +1 -1
  54. package/components/ion-tabs.js +1 -1
  55. package/components/ion-text.js +1 -1
  56. package/components/ion-textarea.js +1 -1
  57. package/components/ion-thumbnail.js +1 -1
  58. package/components/ion-title.js +1 -1
  59. package/components/ion-toast.js +1 -1
  60. package/components/ion-toggle.js +1 -1
  61. package/components/ion-toolbar.js +1 -1
  62. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  63. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  64. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  65. package/components/p-BIPPbW0M.js +4 -0
  66. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  67. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  68. package/components/p-BUYFy35a.js +4 -0
  69. package/components/p-BWEZufiK.js +4 -0
  70. package/components/p-BqpciLfi.js +4 -0
  71. package/components/p-BsQPAqo9.js +4 -0
  72. package/components/p-CRNiQiYf.js +4 -0
  73. package/components/p-CU5rbWAW.js +4 -0
  74. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  75. package/components/p-k_E4tX5Z.js +4 -0
  76. package/components/p-nyXeHk23.js +4 -0
  77. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  78. package/dist/cjs/config-xninhj0J.js +201 -0
  79. package/dist/cjs/index.cjs.js +6 -6
  80. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  81. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  82. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  83. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  85. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
  86. package/dist/cjs/ion-img.cjs.entry.js +1 -3
  87. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  88. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  89. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  91. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-modal.cjs.entry.js +32 -23
  93. package/dist/cjs/ion-nav_2.cjs.entry.js +115 -2
  94. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  95. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  98. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  99. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-route_4.cjs.entry.js +4 -18
  102. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  105. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  107. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  108. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  109. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  112. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  115. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  116. package/dist/cjs/ionic.cjs.js +1 -1
  117. package/dist/cjs/loader.cjs.js +1 -1
  118. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-DdtIYQUH.js} +31 -27
  119. package/dist/collection/collection-manifest.json +10 -6
  120. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  121. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  122. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  123. package/dist/collection/components/alert/alert.ios.css +10 -280
  124. package/dist/collection/components/alert/alert.js +21 -59
  125. package/dist/collection/components/alert/alert.md.css +20 -269
  126. package/dist/collection/components/img/img.js +1 -6
  127. package/dist/collection/components/input/input.js +8 -8
  128. package/dist/collection/components/loading/loading.js +3 -7
  129. package/dist/collection/components/modal/gestures/sheet.js +7 -0
  130. package/dist/collection/components/modal/gestures/swipe-to-close.js +7 -0
  131. package/dist/collection/components/modal/modal.ios.css +8 -0
  132. package/dist/collection/components/modal/modal.js +18 -23
  133. package/dist/collection/components/modal/modal.md.css +8 -0
  134. package/dist/collection/components/nav/nav.js +219 -4
  135. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  136. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  137. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  138. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  139. package/dist/collection/components/picker-legacy/picker.js +890 -0
  140. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  141. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  142. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  143. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  144. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  145. package/dist/collection/components/popover/popover.ios.css +0 -15
  146. package/dist/collection/components/popover/popover.js +3 -7
  147. package/dist/collection/components/popover/popover.md.css +0 -15
  148. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  149. package/dist/collection/components/radio/radio.js +4 -4
  150. package/dist/collection/components/range/range.js +3 -3
  151. package/dist/collection/components/refresher/refresher.js +1 -1
  152. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  153. package/dist/collection/components/reorder/reorder.js +1 -1
  154. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  155. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  156. package/dist/collection/components/route/route.js +1 -1
  157. package/dist/collection/components/router/utils/dom.js +3 -22
  158. package/dist/collection/components/router-link/router-link.js +2 -2
  159. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  160. package/dist/collection/components/row/row.js +1 -1
  161. package/dist/collection/components/searchbar/searchbar.js +9 -9
  162. package/dist/collection/components/segment/segment.js +2 -2
  163. package/dist/collection/components/segment-button/segment-button.js +2 -2
  164. package/dist/collection/components/segment-content/segment-content.js +1 -1
  165. package/dist/collection/components/segment-view/segment-view.js +2 -2
  166. package/dist/collection/components/select/select.ios.css +0 -33
  167. package/dist/collection/components/select/select.js +16 -323
  168. package/dist/collection/components/select/select.md.css +0 -33
  169. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  170. package/dist/collection/components/select-modal/select-modal.js +26 -79
  171. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  172. package/dist/collection/components/select-option/select-option.js +3 -67
  173. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  174. package/dist/collection/components/select-popover/select-popover.js +26 -78
  175. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  176. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  177. package/dist/collection/components/spinner/spinner.js +1 -1
  178. package/dist/collection/components/split-pane/split-pane.js +2 -2
  179. package/dist/collection/components/tab/tab.js +2 -2
  180. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  181. package/dist/collection/components/tab-button/tab-button.js +2 -2
  182. package/dist/collection/components/tabs/tabs.js +1 -1
  183. package/dist/collection/components/text/text.js +2 -2
  184. package/dist/collection/components/textarea/textarea.js +2 -2
  185. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  186. package/dist/collection/components/title/title.js +2 -2
  187. package/dist/collection/components/toast/toast.js +2 -2
  188. package/dist/collection/components/toggle/toggle.js +3 -3
  189. package/dist/collection/components/toolbar/toolbar.js +2 -2
  190. package/dist/collection/index.js +1 -1
  191. package/dist/collection/utils/overlays.js +30 -26
  192. package/dist/collection/utils/sanitization/index.js +18 -274
  193. package/dist/collection/utils/test/playwright/drag-element.js +5 -0
  194. package/dist/docs.json +1189 -497
  195. package/dist/esm/config-DQCONYYp.js +195 -0
  196. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  197. package/dist/esm/index.js +2 -3
  198. package/dist/esm/ion-accordion_2.entry.js +1 -1
  199. package/dist/esm/ion-action-sheet.entry.js +7 -27
  200. package/dist/esm/ion-alert.entry.js +24 -63
  201. package/dist/esm/ion-app_8.entry.js +9 -23
  202. package/dist/esm/ion-avatar_3.entry.js +1 -1
  203. package/dist/esm/ion-back-button.entry.js +1 -1
  204. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  205. package/dist/esm/ion-col_3.entry.js +1 -1
  206. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
  207. package/dist/esm/ion-fab_3.entry.js +1 -1
  208. package/dist/esm/ion-img.entry.js +2 -4
  209. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  210. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  211. package/dist/esm/ion-input.entry.js +5 -5
  212. package/dist/esm/ion-item_8.entry.js +3 -3
  213. package/dist/esm/ion-loading.entry.js +4 -9
  214. package/dist/esm/ion-menu_3.entry.js +2 -2
  215. package/dist/esm/ion-modal.entry.js +32 -23
  216. package/dist/esm/ion-nav_2.entry.js +116 -3
  217. package/dist/esm/ion-popover.entry.js +5 -9
  218. package/dist/esm/ion-progress-bar.entry.js +1 -1
  219. package/dist/esm/ion-radio_2.entry.js +3 -3
  220. package/dist/esm/ion-range.entry.js +3 -3
  221. package/dist/esm/ion-refresher_2.entry.js +4 -5
  222. package/dist/esm/ion-reorder_2.entry.js +3 -3
  223. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  224. package/dist/esm/ion-route_4.entry.js +4 -18
  225. package/dist/esm/ion-searchbar.entry.js +6 -6
  226. package/dist/esm/ion-segment-content.entry.js +1 -1
  227. package/dist/esm/ion-segment-view.entry.js +2 -2
  228. package/dist/esm/ion-segment_2.entry.js +4 -4
  229. package/dist/esm/ion-select-modal.entry.js +30 -84
  230. package/dist/esm/ion-select_3.entry.js +52 -410
  231. package/dist/esm/ion-spinner.entry.js +1 -1
  232. package/dist/esm/ion-split-pane.entry.js +2 -2
  233. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  234. package/dist/esm/ion-tab_2.entry.js +3 -3
  235. package/dist/esm/ion-text.entry.js +2 -2
  236. package/dist/esm/ion-textarea.entry.js +2 -2
  237. package/dist/esm/ion-toast.entry.js +4 -5
  238. package/dist/esm/ion-toggle.entry.js +4 -4
  239. package/dist/esm/ionic.js +1 -1
  240. package/dist/esm/loader.js +1 -1
  241. package/dist/esm/{overlays-DLNOHWNc.js → overlays-Dg0q2_tJ.js} +32 -28
  242. package/dist/html.html-data.json +80 -52
  243. package/dist/ionic/index.esm.js +1 -1
  244. package/dist/ionic/ionic.esm.js +1 -1
  245. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  246. package/dist/ionic/p-0dc33652.entry.js +4 -0
  247. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  248. package/dist/ionic/p-20b1a044.entry.js +4 -0
  249. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  250. package/dist/ionic/p-27d30585.entry.js +4 -0
  251. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  252. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  253. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  254. package/dist/ionic/{p-c93553d2.entry.js → p-34586ead.entry.js} +1 -1
  255. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  256. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  257. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  258. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  259. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  260. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  261. package/dist/ionic/p-485fda23.entry.js +4 -0
  262. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  263. package/dist/ionic/p-5018dfc8.entry.js +4 -0
  264. package/dist/ionic/p-50e1194a.entry.js +4 -0
  265. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  266. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  267. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  268. package/dist/ionic/p-6ebdbebe.entry.js +4 -0
  269. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  270. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  271. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  272. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  273. package/dist/ionic/p-8fce95d5.entry.js +4 -0
  274. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  275. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  276. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  277. package/dist/ionic/p-D-3ycHmd.js +4 -0
  278. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  279. package/dist/ionic/p-DzWaWHGc.js +4 -0
  280. package/dist/ionic/p-a21add2f.entry.js +4 -0
  281. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  282. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  283. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  284. package/dist/ionic/p-e6a4bb56.entry.js +4 -0
  285. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  286. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  287. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  288. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  289. package/dist/types/components/img/img.d.ts +0 -2
  290. package/dist/types/components/input/input.d.ts +1 -1
  291. package/dist/types/components/modal/modal.d.ts +4 -11
  292. package/dist/types/components/nav/nav-interface.d.ts +1 -0
  293. package/dist/types/components/nav/nav.d.ts +22 -2
  294. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  295. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  296. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  297. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  298. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  299. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  300. package/dist/types/components/route/route.d.ts +1 -1
  301. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  302. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  303. package/dist/types/components/select/select-interface.d.ts +0 -31
  304. package/dist/types/components/select/select.d.ts +0 -18
  305. package/dist/types/components/select-option/select-option.d.ts +1 -42
  306. package/dist/types/components.d.ts +303 -74
  307. package/dist/types/index.d.ts +1 -1
  308. package/dist/types/interface.d.ts +1 -0
  309. package/dist/types/utils/config.d.ts +8 -0
  310. package/dist/types/utils/overlays.d.ts +9 -11
  311. package/dist/types/utils/sanitization/index.d.ts +2 -58
  312. package/hydrate/index.js +1296 -1414
  313. package/hydrate/index.mjs +1296 -1414
  314. package/package.json +5 -37
  315. package/components/p-279dFMvg.js +0 -4
  316. package/components/p-BSQPZ79H.js +0 -4
  317. package/components/p-BwKpO3Is.js +0 -4
  318. package/components/p-C-Rx1zny.js +0 -4
  319. package/components/p-CHzfYZbv.js +0 -4
  320. package/components/p-D4h1H_hh.js +0 -4
  321. package/components/p-LMGfIvTf.js +0 -4
  322. package/components/p-_lHSumhG.js +0 -4
  323. package/components/p-j9Da6cYO.js +0 -4
  324. package/components/p-jOtMJMv8.js +0 -4
  325. package/components/p-uTR_dEqg.js +0 -4
  326. package/dist/cjs/config-DWdFbSNK.js +0 -35
  327. package/dist/cjs/index-Cueg3U4w.js +0 -429
  328. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  329. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  330. package/dist/collection/utils/overlay-control-label.js +0 -45
  331. package/dist/collection/utils/select-option-render.js +0 -119
  332. package/dist/esm/config-BwKpO3Is.js +0 -31
  333. package/dist/esm/index-DQSkZyOJ.js +0 -424
  334. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  335. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  336. package/dist/ionic/p-038eb991.entry.js +0 -4
  337. package/dist/ionic/p-4621c387.entry.js +0 -4
  338. package/dist/ionic/p-4ace7762.entry.js +0 -4
  339. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  340. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  341. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  342. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  343. package/dist/ionic/p-700795f6.entry.js +0 -4
  344. package/dist/ionic/p-79a36078.entry.js +0 -4
  345. package/dist/ionic/p-913b218a.entry.js +0 -4
  346. package/dist/ionic/p-BDtODLZ4.js +0 -4
  347. package/dist/ionic/p-BSQPZ79H.js +0 -4
  348. package/dist/ionic/p-BwKpO3Is.js +0 -4
  349. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  350. package/dist/ionic/p-DCOvXkOm.js +0 -4
  351. package/dist/ionic/p-a18dcb3c.entry.js +0 -4
  352. package/dist/ionic/p-a9a33367.entry.js +0 -4
  353. package/dist/ionic/p-ad728198.entry.js +0 -4
  354. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  355. package/dist/ionic/p-c08e666a.entry.js +0 -4
  356. package/dist/ionic/p-c474f471.entry.js +0 -4
  357. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  358. package/dist/ionic/p-ed797c72.entry.js +0 -4
  359. package/dist/ionic/p-f09f9642.entry.js +0 -4
  360. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  361. package/dist/ionic/p-f718fccb.entry.js +0 -4
  362. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  363. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -5,7 +5,7 @@ import { r as registerInstance, h, d as Host, g as getElement, c as createEvent
5
5
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
6
6
  import { i as inheritAriaAttributes } from './helpers-HEqiOzXb.js';
7
7
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-DiVJyqlX.js';
8
- import { t as close } from './index-AlrZKoWR.js';
8
+ import { t as close } from './index-DV3sJJW8.js';
9
9
 
10
10
  const fabCss = () => `:host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}`;
11
11
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
4
+ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { b as inheritAttributes } from './helpers-HEqiOzXb.js';
6
6
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
7
 
@@ -28,8 +28,6 @@ const Img = class {
28
28
  this.inheritedAttributes = inheritAttributes(this.el, ['draggable']);
29
29
  }
30
30
  componentDidLoad() {
31
- printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
32
- 'Use a native <img> with the loading="lazy" attribute instead.', this.el);
33
31
  this.addIO();
34
32
  }
35
33
  disconnectedCallback() {
@@ -82,7 +80,7 @@ const Img = class {
82
80
  render() {
83
81
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
84
82
  const { draggable } = inheritedAttributes;
85
- return (h(Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: getIonMode(this) }, h("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
83
+ return (h(Host, { key: '9bfaa659b0680189fd29f3acb2fdce7f70be6060', class: getIonMode(this) }, h("img", { key: 'd484beae0d5cbe0406958bfad40cdd6c05625340', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
86
84
  }
87
85
  get el() { return getElement(this); }
88
86
  static get watchers() { return {
@@ -4,8 +4,7 @@
4
4
  import { r as registerInstance, c as createEvent, w as writeTask, a as readTask, h, d as Host, g as getElement, e as config } from './index-tcQvqkiX.js';
5
5
  import { f as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-MEDq2S8l.js';
6
6
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
- import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.js';
8
- import { s as sanitizeDOMString } from './index-DQSkZyOJ.js';
7
+ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-DQCONYYp.js';
9
8
  import './helpers-HEqiOzXb.js';
10
9
 
11
10
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
6
- import { x as eyeOff, y as eye } from './index-AlrZKoWR.js';
6
+ import { x as eyeOff, y as eye } from './index-DV3sJJW8.js';
7
7
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
8
 
9
9
  const iosInputPasswordToggleCss = () => ``;
@@ -7,7 +7,7 @@ import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
7
  import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-HEqiOzXb.js';
8
8
  import { c as createSlotMutationController, g as getCounterText } from './input.utils-Y6NgW8bw.js';
9
9
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
10
- import { g as closeCircle, h as closeSharp } from './index-AlrZKoWR.js';
10
+ import { b as closeCircle, d as closeSharp } from './index-DV3sJJW8.js';
11
11
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
12
12
  import './index-ZjP4CjeZ.js';
13
13
 
@@ -60,7 +60,7 @@ const Input = class {
60
60
  /**
61
61
  * Whether auto correction should be enabled when the user is entering/editing the text value.
62
62
  */
63
- this.autocorrect = false;
63
+ this.autocorrect = 'off';
64
64
  /**
65
65
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
66
66
  *
@@ -544,7 +544,7 @@ const Input = class {
544
544
  * TODO(FW-5592): Remove hasStartEndSlots condition
545
545
  */
546
546
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
547
- return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses(this.color, {
547
+ return (h(Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses(this.color, {
548
548
  [mode]: true,
549
549
  'has-value': hasValue,
550
550
  'has-focus': hasFocus,
@@ -555,14 +555,14 @@ const Input = class {
555
555
  'in-item': inItem,
556
556
  'in-item-color': hostContext('ion-item.ion-color', this.el),
557
557
  'input-disabled': disabled,
558
- }) }, h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
558
+ }) }, h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
559
559
  /**
560
560
  * This prevents mobile browsers from
561
561
  * blurring the input when the clear
562
562
  * button is activated.
563
563
  */
564
564
  ev.preventDefault();
565
- }, onClick: this.clearTextInput }, h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
565
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
566
566
  }
567
567
  get el() { return getElement(this); }
568
568
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, i as forceUpdate, h, d as Host, g as getElement, c as createEvent, e as config } from './index-tcQvqkiX.js';
5
5
  import { b as inheritAttributes, r as raf } from './helpers-HEqiOzXb.js';
6
6
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-DiVJyqlX.js';
7
- import { e as chevronForward } from './index-AlrZKoWR.js';
7
+ import { p as chevronForward } from './index-DV3sJJW8.js';
8
8
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
9
9
 
10
10
  const itemIosCss = () => `:host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--color:var(--ion-item-color, var(--ion-text-color, #000));font-size:1rem}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:0.8125rem}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}`;
@@ -504,11 +504,11 @@ const SkeletonText = class {
504
504
  const animated = this.animated && config.getBoolean('animated', true);
505
505
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
506
506
  const mode = getIonMode(this);
507
- return (h(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
507
+ return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
508
508
  [mode]: true,
509
509
  'skeleton-text-animated': animated,
510
510
  'in-media': inMedia,
511
- } }, h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
511
+ } }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
512
512
  }
513
513
  get el() { return getElement(this); }
514
514
  };
@@ -2,11 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
- import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.js';
5
+ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-DQCONYYp.js';
6
6
  import { r as raf } from './helpers-HEqiOzXb.js';
7
7
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
8
- import { c as createDelegateController, d as createTriggerController, B as BACKDROP, h as prepareOverlay, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod } from './overlays-DLNOHWNc.js';
9
- import { s as sanitizeDOMString } from './index-DQSkZyOJ.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-Dg0q2_tJ.js';
10
9
  import { g as getClassMap } from './theme-DiVJyqlX.js';
11
10
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
12
11
  import { c as createAnimation } from './animation-DLJpuoEz.js';
@@ -212,10 +211,6 @@ const Loading = class {
212
211
  }
213
212
  disconnectedCallback() {
214
213
  this.triggerController.removeClickListener();
215
- // Clean up aria-hidden if removed without dismiss() being called
216
- if (this.presented) {
217
- cleanupRootFocusTrapAccessibility();
218
- }
219
214
  }
220
215
  /**
221
216
  * Present the loading overlay after it has been created.
@@ -281,9 +276,9 @@ const Loading = class {
281
276
  * Otherwise, don't set aria-labelledby.
282
277
  */
283
278
  const ariaLabelledBy = message !== undefined ? msgId : null;
284
- return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
279
+ return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
285
280
  zIndex: `${40000 + this.overlayIndex}`,
286
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
281
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
287
282
  }
288
283
  get el() { return getElement(this); }
289
284
  static get watchers() { return {
@@ -3,14 +3,14 @@
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-DLNOHWNc.js';
6
+ import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-Dg0q2_tJ.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller-BTEOs1at.js';
8
8
  import { shouldUseCloseWatcher } from './hardware-back-button-B93Gru0Y.js';
9
9
  import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-HEqiOzXb.js';
10
10
  import { m as menuController } from './index-Q6UPU0Ay.js';
11
11
  import { b as getIonMode, a as isPlatform } from './ionic-global-Cp_eT4sZ.js';
12
12
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
13
- import { u as menuOutline, v as menuSharp } from './index-AlrZKoWR.js';
13
+ import { u as menuOutline, v as menuSharp } from './index-DV3sJJW8.js';
14
14
  import './index-ZjP4CjeZ.js';
15
15
  import './framework-delegate-FnPGymXL.js';
16
16
  import './animation-DLJpuoEz.js';
@@ -7,7 +7,7 @@ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from '.
7
7
  import { e as clamp, g as getElementRoot, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
9
9
  import { g as getCapacitor } from './capacitor-CFERIeaU.js';
10
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, d as createTriggerController, B as BACKDROP, h as prepareOverlay, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, f as dismiss, g as eventMethod } from './overlays-DLNOHWNc.js';
10
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-Dg0q2_tJ.js';
11
11
  import { g as getClassMap } from './theme-DiVJyqlX.js';
12
12
  import { e as deepReady, w as waitForMount } from './index-B_dQk_WE.js';
13
13
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
@@ -331,7 +331,14 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
331
331
  return false;
332
332
  };
333
333
  const onStart = (detail) => {
334
+ var _a;
334
335
  const { deltaY } = detail;
336
+ /**
337
+ * Firefox automatically selects the header text during drag
338
+ * due to the focusable wrapper (tabindex="-1"). Remove any
339
+ * selection that may have occurred.
340
+ */
341
+ (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
335
342
  /**
336
343
  * Get the initial scrollY value so
337
344
  * that we can correctly reset the scrollY
@@ -1217,6 +1224,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1217
1224
  return true;
1218
1225
  };
1219
1226
  const onStart = (detail) => {
1227
+ var _a;
1228
+ /**
1229
+ * Firefox automatically selects the header text during drag
1230
+ * due to the focusable wrapper (tabindex="-1"). Remove any
1231
+ * selection that may have occurred.
1232
+ */
1233
+ (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
1220
1234
  /**
1221
1235
  * If canDismiss is anything other than `true`
1222
1236
  * then users should be able to swipe down
@@ -1819,9 +1833,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1819
1833
  hostEl.style.removeProperty('--ion-safe-area-right');
1820
1834
  };
1821
1835
 
1822
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1836
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1823
1837
 
1824
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1838
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1825
1839
 
1826
1840
  const Modal = class {
1827
1841
  constructor(hostRef) {
@@ -1881,20 +1895,13 @@ const Modal = class {
1881
1895
  /**
1882
1896
  * The interaction behavior for the sheet modal when the handle is pressed.
1883
1897
  *
1884
- * Handle behavior is unavailable when the `handle` property is set to
1885
- * `false` or when the `breakpoints` property is not set (using a
1886
- * fullscreen or card modal).
1887
- *
1888
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
1889
- * cycle between available breakpoints when pressed. This keeps the sheet
1890
- * operable with assistive technology.
1891
- *
1892
- * Set to `"none"` to make the handle purely decorative when pressed and
1893
- * removed from the tab order.
1898
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
1899
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
1894
1900
  *
1895
- * Defaults to `"cycle"`.
1901
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
1902
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
1896
1903
  */
1897
- this.handleBehavior = 'cycle';
1904
+ this.handleBehavior = 'none';
1898
1905
  /**
1899
1906
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1900
1907
  */
@@ -2086,10 +2093,6 @@ const Modal = class {
2086
2093
  // Also called in dismiss() — intentional dual cleanup covers both
2087
2094
  // dismiss-then-remove and direct DOM removal without dismiss.
2088
2095
  this.cleanupSafeAreaOverrides();
2089
- // Clean up aria-hidden if removed without dismiss() being called
2090
- if (this.presented) {
2091
- cleanupRootFocusTrapAccessibility();
2092
- }
2093
2096
  }
2094
2097
  componentWillLoad() {
2095
2098
  var _a;
@@ -2969,20 +2972,26 @@ const Modal = class {
2969
2972
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2970
2973
  const isHandleCycle = handleBehavior === 'cycle';
2971
2974
  const isSheetModalWithHandle = isSheetModal && showHandle;
2972
- return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
2975
+ return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2973
2976
  // Allow the modal to be navigable when the handle is focusable
2974
2977
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2975
2978
  zIndex: `${20000 + this.overlayIndex}`,
2976
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
2979
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: 'dccf3c774355429bc0ea7461d9b1ef941ea91902',
2977
2980
  /*
2978
2981
  role and aria-modal must be used on the
2979
2982
  same element. They must also be set inside the
2980
2983
  shadow DOM otherwise ion-button will not be highlighted
2981
2984
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2985
+
2986
+ tabIndex={-1} is required so present() can move focus to this
2987
+ element (which carries the dialog role) instead of the role-less
2988
+ host. role="dialog" alone does not make an element focusable, so
2989
+ without the tabindex focus() would be a no-op and screen readers
2990
+ may not properly announce the dialog and its content when it opens.
2982
2991
  */
2983
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
2992
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'ba4ebd6364faba46ac8532d1c83cb655ae873a14', class: "modal-handle",
2984
2993
  // Prevents the handle from receiving keyboard focus when it does not cycle
2985
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
2994
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '11d5921a8ebbcd0017d4f28a33d68049253f63f0', onSlotchange: this.onSlotChange }))));
2986
2995
  }
2987
2996
  get el() { return getElement(this); }
2988
2997
  static get watchers() { return {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-tcQvqkiX.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { l as assert } from './helpers-HEqiOzXb.js';
6
+ import { s as shallowEqualStringMap, l as assert } from './helpers-HEqiOzXb.js';
7
7
  import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-B_dQk_WE.js';
8
8
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
9
9
  import { a as attachComponent } from './framework-delegate-FnPGymXL.js';
@@ -43,6 +43,15 @@ class ViewController {
43
43
  this.state = VIEW_STATE_DESTROYED;
44
44
  }
45
45
  }
46
+ const matches = (view, id, params) => {
47
+ if (!view) {
48
+ return false;
49
+ }
50
+ if (view.component !== id) {
51
+ return false;
52
+ }
53
+ return shallowEqualStringMap(view.params, params);
54
+ };
46
55
  const convertToView = (page, params) => {
47
56
  if (!page) {
48
57
  return null;
@@ -76,6 +85,7 @@ const Nav = class {
76
85
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
77
86
  this.transInstr = [];
78
87
  this.gestureOrAnimationInProgress = false;
88
+ this.useRouter = false;
79
89
  this.isTransitioning = false;
80
90
  this.destroyed = false;
81
91
  this.views = [];
@@ -101,9 +111,14 @@ const Nav = class {
101
111
  */
102
112
  return;
103
113
  }
104
- this.setRoot(this.root, this.rootParams);
114
+ if (!this.useRouter) {
115
+ if (this.root !== undefined) {
116
+ this.setRoot(this.root, this.rootParams);
117
+ }
118
+ }
105
119
  }
106
120
  componentWillLoad() {
121
+ this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
107
122
  if (this.swipeGesture === undefined) {
108
123
  const mode = getIonMode(this);
109
124
  this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
@@ -268,6 +283,78 @@ const Nav = class {
268
283
  opts,
269
284
  }, done);
270
285
  }
286
+ /**
287
+ * Called by the router to update the view.
288
+ *
289
+ * @param id The component tag.
290
+ * @param params The component params.
291
+ * @param direction A direction hint.
292
+ * @param animation an AnimationBuilder.
293
+ *
294
+ * @return the status.
295
+ * @internal
296
+ */
297
+ setRouteId(id, params, direction, animation) {
298
+ const active = this.getActiveSync();
299
+ if (matches(active, id, params)) {
300
+ return Promise.resolve({
301
+ changed: false,
302
+ element: active.element,
303
+ });
304
+ }
305
+ let resolve;
306
+ const promise = new Promise((r) => (resolve = r));
307
+ let finish;
308
+ const commonOpts = {
309
+ updateURL: false,
310
+ viewIsReady: (enteringEl) => {
311
+ let mark;
312
+ const p = new Promise((r) => (mark = r));
313
+ resolve({
314
+ changed: true,
315
+ element: enteringEl,
316
+ markVisible: async () => {
317
+ mark();
318
+ await finish;
319
+ },
320
+ });
321
+ return p;
322
+ },
323
+ };
324
+ if (direction === 'root') {
325
+ finish = this.setRoot(id, params, commonOpts);
326
+ }
327
+ else {
328
+ // Look for a view matching the target in the view stack.
329
+ const viewController = this.views.find((v) => matches(v, id, params));
330
+ if (viewController) {
331
+ finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
332
+ }
333
+ else if (direction === 'forward') {
334
+ finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
335
+ }
336
+ else if (direction === 'back') {
337
+ finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
338
+ }
339
+ }
340
+ return promise;
341
+ }
342
+ /**
343
+ * Called by <ion-router> to retrieve the current component.
344
+ *
345
+ * @internal
346
+ */
347
+ async getRouteId() {
348
+ const active = this.getActiveSync();
349
+ if (active) {
350
+ return {
351
+ id: active.element.tagName,
352
+ params: active.params,
353
+ element: active.element,
354
+ };
355
+ }
356
+ return undefined;
357
+ }
271
358
  /**
272
359
  * Get the active view.
273
360
  */
@@ -333,6 +420,25 @@ const Nav = class {
333
420
  ti.reject = reject;
334
421
  });
335
422
  ti.done = done;
423
+ /**
424
+ * If using router, check to see if navigation hooks
425
+ * will allow us to perform this transition. This
426
+ * is required in order for hooks to work with
427
+ * the ion-back-button or swipe to go back.
428
+ */
429
+ if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
430
+ const router = document.querySelector('ion-router');
431
+ if (router) {
432
+ const canTransition = await router.canTransition();
433
+ if (canTransition === false) {
434
+ return false;
435
+ }
436
+ if (typeof canTransition === 'string') {
437
+ router.push(canTransition, ti.opts.direction || 'back');
438
+ return false;
439
+ }
440
+ }
441
+ }
336
442
  // Normalize empty
337
443
  if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
338
444
  ti.insertViews = undefined;
@@ -353,6 +459,13 @@ const Nav = class {
353
459
  ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
354
460
  }
355
461
  ti.resolve(result.hasCompleted);
462
+ if (ti.opts.updateURL !== false && this.useRouter) {
463
+ const router = document.querySelector('ion-router');
464
+ if (router) {
465
+ const direction = result.direction === 'back' ? 'back' : 'forward';
466
+ router.navChanged(direction);
467
+ }
468
+ }
356
469
  }
357
470
  failed(rejectReason, ti) {
358
471
  if (this.destroyed) {
@@ -782,7 +895,7 @@ const Nav = class {
782
895
  }
783
896
  }
784
897
  render() {
785
- return h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
898
+ return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
786
899
  }
787
900
  get el() { return getElement(this); }
788
901
  static get watchers() { return {
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
- import { B as BACKDROP, h as prepareOverlay, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, n as focusFirstDescendant, f as dismiss, g as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-DLNOHWNc.js';
5
+ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-Dg0q2_tJ.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
7
7
  import { g as getElementRoot, r as raf, f as addEventListener, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
@@ -1088,9 +1088,9 @@ const mdLeaveAnimation = (baseEl) => {
1088
1088
  .addAnimation([backdropAnimation, wrapperAnimation]);
1089
1089
  };
1090
1090
 
1091
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1091
+ const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1092
1092
 
1093
- const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1093
+ const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1094
1094
 
1095
1095
  const Popover = class {
1096
1096
  constructor(hostRef) {
@@ -1304,10 +1304,6 @@ const Popover = class {
1304
1304
  this.headerResizeObserver.disconnect();
1305
1305
  this.headerResizeObserver = undefined;
1306
1306
  }
1307
- // Clean up aria-hidden if removed without dismiss() being called
1308
- if (this.presented) {
1309
- cleanupRootFocusTrapAccessibility();
1310
- }
1311
1307
  }
1312
1308
  componentWillLoad() {
1313
1309
  var _a, _b;
@@ -1546,9 +1542,9 @@ const Popover = class {
1546
1542
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1547
1543
  const desktop = isPlatform('desktop');
1548
1544
  const enableArrow = arrow && !parentPopover;
1549
- return (h(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1545
+ return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1550
1546
  zIndex: `${20000 + this.overlayIndex}`,
1551
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1547
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1552
1548
  }
1553
1549
  get el() { return getElement(this); }
1554
1550
  static get watchers() { return {