@ionic/core 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784222473.142aed23

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 (360) 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-3hGiN2uq.js +4 -0
  63. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  64. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  65. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  66. package/components/p-BIPPbW0M.js +4 -0
  67. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  68. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  69. package/components/p-BUYFy35a.js +4 -0
  70. package/components/p-BWEZufiK.js +4 -0
  71. package/components/p-BqpciLfi.js +4 -0
  72. package/components/p-BsQPAqo9.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 +18 -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/modal.ios.css +8 -0
  130. package/dist/collection/components/modal/modal.js +18 -23
  131. package/dist/collection/components/modal/modal.md.css +8 -0
  132. package/dist/collection/components/nav/nav.js +219 -4
  133. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  134. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  135. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  136. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  137. package/dist/collection/components/picker-legacy/picker.js +890 -0
  138. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  139. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  140. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  141. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  142. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  143. package/dist/collection/components/popover/popover.ios.css +0 -15
  144. package/dist/collection/components/popover/popover.js +3 -7
  145. package/dist/collection/components/popover/popover.md.css +0 -15
  146. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  147. package/dist/collection/components/radio/radio.js +4 -4
  148. package/dist/collection/components/range/range.js +3 -3
  149. package/dist/collection/components/refresher/refresher.js +1 -1
  150. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  151. package/dist/collection/components/reorder/reorder.js +1 -1
  152. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  153. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  154. package/dist/collection/components/route/route.js +1 -1
  155. package/dist/collection/components/router/utils/dom.js +3 -22
  156. package/dist/collection/components/router-link/router-link.js +2 -2
  157. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  158. package/dist/collection/components/row/row.js +1 -1
  159. package/dist/collection/components/searchbar/searchbar.js +9 -9
  160. package/dist/collection/components/segment/segment.js +2 -2
  161. package/dist/collection/components/segment-button/segment-button.js +2 -2
  162. package/dist/collection/components/segment-content/segment-content.js +1 -1
  163. package/dist/collection/components/segment-view/segment-view.js +2 -2
  164. package/dist/collection/components/select/select.ios.css +0 -33
  165. package/dist/collection/components/select/select.js +16 -323
  166. package/dist/collection/components/select/select.md.css +0 -33
  167. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  168. package/dist/collection/components/select-modal/select-modal.js +26 -79
  169. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  170. package/dist/collection/components/select-option/select-option.js +3 -67
  171. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  172. package/dist/collection/components/select-popover/select-popover.js +26 -78
  173. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  174. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  175. package/dist/collection/components/spinner/spinner.js +1 -1
  176. package/dist/collection/components/split-pane/split-pane.js +2 -2
  177. package/dist/collection/components/tab/tab.js +2 -2
  178. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  179. package/dist/collection/components/tab-button/tab-button.js +2 -2
  180. package/dist/collection/components/tabs/tabs.js +1 -1
  181. package/dist/collection/components/text/text.js +2 -2
  182. package/dist/collection/components/textarea/textarea.js +2 -2
  183. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  184. package/dist/collection/components/title/title.js +2 -2
  185. package/dist/collection/components/toast/toast.js +2 -2
  186. package/dist/collection/components/toggle/toggle.js +3 -3
  187. package/dist/collection/components/toolbar/toolbar.js +2 -2
  188. package/dist/collection/index.js +1 -1
  189. package/dist/collection/utils/overlays.js +30 -26
  190. package/dist/collection/utils/sanitization/index.js +18 -274
  191. package/dist/docs.json +1189 -497
  192. package/dist/esm/config-DQCONYYp.js +195 -0
  193. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  194. package/dist/esm/index.js +2 -3
  195. package/dist/esm/ion-accordion_2.entry.js +1 -1
  196. package/dist/esm/ion-action-sheet.entry.js +7 -27
  197. package/dist/esm/ion-alert.entry.js +24 -63
  198. package/dist/esm/ion-app_8.entry.js +9 -23
  199. package/dist/esm/ion-avatar_3.entry.js +1 -1
  200. package/dist/esm/ion-back-button.entry.js +1 -1
  201. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  202. package/dist/esm/ion-col_3.entry.js +1 -1
  203. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
  204. package/dist/esm/ion-fab_3.entry.js +1 -1
  205. package/dist/esm/ion-img.entry.js +2 -4
  206. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  207. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  208. package/dist/esm/ion-input.entry.js +5 -5
  209. package/dist/esm/ion-item_8.entry.js +3 -3
  210. package/dist/esm/ion-loading.entry.js +4 -9
  211. package/dist/esm/ion-menu_3.entry.js +2 -2
  212. package/dist/esm/ion-modal.entry.js +18 -23
  213. package/dist/esm/ion-nav_2.entry.js +116 -3
  214. package/dist/esm/ion-popover.entry.js +5 -9
  215. package/dist/esm/ion-progress-bar.entry.js +1 -1
  216. package/dist/esm/ion-radio_2.entry.js +3 -3
  217. package/dist/esm/ion-range.entry.js +3 -3
  218. package/dist/esm/ion-refresher_2.entry.js +4 -5
  219. package/dist/esm/ion-reorder_2.entry.js +3 -3
  220. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  221. package/dist/esm/ion-route_4.entry.js +4 -18
  222. package/dist/esm/ion-searchbar.entry.js +6 -6
  223. package/dist/esm/ion-segment-content.entry.js +1 -1
  224. package/dist/esm/ion-segment-view.entry.js +2 -2
  225. package/dist/esm/ion-segment_2.entry.js +4 -4
  226. package/dist/esm/ion-select-modal.entry.js +30 -84
  227. package/dist/esm/ion-select_3.entry.js +52 -410
  228. package/dist/esm/ion-spinner.entry.js +1 -1
  229. package/dist/esm/ion-split-pane.entry.js +2 -2
  230. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  231. package/dist/esm/ion-tab_2.entry.js +3 -3
  232. package/dist/esm/ion-text.entry.js +2 -2
  233. package/dist/esm/ion-textarea.entry.js +2 -2
  234. package/dist/esm/ion-toast.entry.js +4 -5
  235. package/dist/esm/ion-toggle.entry.js +4 -4
  236. package/dist/esm/ionic.js +1 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/{overlays-DLNOHWNc.js → overlays-Dg0q2_tJ.js} +32 -28
  239. package/dist/html.html-data.json +80 -52
  240. package/dist/ionic/index.esm.js +1 -1
  241. package/dist/ionic/ionic.esm.js +1 -1
  242. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  243. package/dist/ionic/p-0cc11f99.entry.js +4 -0
  244. package/dist/ionic/p-0dc33652.entry.js +4 -0
  245. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  246. package/dist/ionic/p-20b1a044.entry.js +4 -0
  247. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  248. package/dist/ionic/p-27d30585.entry.js +4 -0
  249. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  250. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  251. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  252. package/dist/ionic/{p-c93553d2.entry.js → p-34586ead.entry.js} +1 -1
  253. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  254. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  255. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  256. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  257. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  258. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  259. package/dist/ionic/p-485fda23.entry.js +4 -0
  260. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  261. package/dist/ionic/p-5018dfc8.entry.js +4 -0
  262. package/dist/ionic/p-50e1194a.entry.js +4 -0
  263. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  264. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  265. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  266. package/dist/ionic/p-6ebdbebe.entry.js +4 -0
  267. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  268. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  269. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  270. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  271. package/dist/ionic/p-8fce95d5.entry.js +4 -0
  272. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  273. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  274. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  275. package/dist/ionic/p-D-3ycHmd.js +4 -0
  276. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  277. package/dist/ionic/p-DzWaWHGc.js +4 -0
  278. package/dist/ionic/p-a21add2f.entry.js +4 -0
  279. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  280. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  281. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  282. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  283. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  284. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  285. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  286. package/dist/types/components/img/img.d.ts +0 -2
  287. package/dist/types/components/input/input.d.ts +1 -1
  288. package/dist/types/components/modal/modal.d.ts +4 -11
  289. package/dist/types/components/nav/nav-interface.d.ts +1 -0
  290. package/dist/types/components/nav/nav.d.ts +22 -2
  291. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  292. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  293. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  294. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  295. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  296. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  297. package/dist/types/components/route/route.d.ts +1 -1
  298. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  299. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  300. package/dist/types/components/select/select-interface.d.ts +0 -31
  301. package/dist/types/components/select/select.d.ts +0 -18
  302. package/dist/types/components/select-option/select-option.d.ts +1 -42
  303. package/dist/types/components.d.ts +303 -74
  304. package/dist/types/index.d.ts +1 -1
  305. package/dist/types/interface.d.ts +1 -0
  306. package/dist/types/utils/config.d.ts +8 -0
  307. package/dist/types/utils/overlays.d.ts +9 -11
  308. package/dist/types/utils/sanitization/index.d.ts +2 -58
  309. package/hydrate/index.js +1268 -1400
  310. package/hydrate/index.mjs +1268 -1400
  311. package/package.json +5 -37
  312. package/components/p-279dFMvg.js +0 -4
  313. package/components/p-BSQPZ79H.js +0 -4
  314. package/components/p-BwKpO3Is.js +0 -4
  315. package/components/p-C-Rx1zny.js +0 -4
  316. package/components/p-CHzfYZbv.js +0 -4
  317. package/components/p-D4h1H_hh.js +0 -4
  318. package/components/p-LMGfIvTf.js +0 -4
  319. package/components/p-_lHSumhG.js +0 -4
  320. package/components/p-j9Da6cYO.js +0 -4
  321. package/components/p-jOtMJMv8.js +0 -4
  322. package/components/p-uTR_dEqg.js +0 -4
  323. package/dist/cjs/config-DWdFbSNK.js +0 -35
  324. package/dist/cjs/index-Cueg3U4w.js +0 -429
  325. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  326. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  327. package/dist/collection/utils/overlay-control-label.js +0 -45
  328. package/dist/collection/utils/select-option-render.js +0 -119
  329. package/dist/esm/config-BwKpO3Is.js +0 -31
  330. package/dist/esm/index-DQSkZyOJ.js +0 -424
  331. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  332. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  333. package/dist/ionic/p-038eb991.entry.js +0 -4
  334. package/dist/ionic/p-4621c387.entry.js +0 -4
  335. package/dist/ionic/p-4ace7762.entry.js +0 -4
  336. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  337. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  338. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  339. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  340. package/dist/ionic/p-700795f6.entry.js +0 -4
  341. package/dist/ionic/p-79a36078.entry.js +0 -4
  342. package/dist/ionic/p-913b218a.entry.js +0 -4
  343. package/dist/ionic/p-BDtODLZ4.js +0 -4
  344. package/dist/ionic/p-BSQPZ79H.js +0 -4
  345. package/dist/ionic/p-BwKpO3Is.js +0 -4
  346. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  347. package/dist/ionic/p-DCOvXkOm.js +0 -4
  348. package/dist/ionic/p-a18dcb3c.entry.js +0 -4
  349. package/dist/ionic/p-a9a33367.entry.js +0 -4
  350. package/dist/ionic/p-ad728198.entry.js +0 -4
  351. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  352. package/dist/ionic/p-c08e666a.entry.js +0 -4
  353. package/dist/ionic/p-c474f471.entry.js +0 -4
  354. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  355. package/dist/ionic/p-ed797c72.entry.js +0 -4
  356. package/dist/ionic/p-f09f9642.entry.js +0 -4
  357. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  358. package/dist/ionic/p-f718fccb.entry.js +0 -4
  359. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  360. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -30,8 +30,6 @@ const Img = class {
30
30
  this.inheritedAttributes = helpers.inheritAttributes(this.el, ['draggable']);
31
31
  }
32
32
  componentDidLoad() {
33
- index.printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
34
- 'Use a native <img> with the loading="lazy" attribute instead.', this.el);
35
33
  this.addIO();
36
34
  }
37
35
  disconnectedCallback() {
@@ -84,7 +82,7 @@ const Img = class {
84
82
  render() {
85
83
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
86
84
  const { draggable } = inheritedAttributes;
87
- return (index.h(index.Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
85
+ return (index.h(index.Host, { key: '9bfaa659b0680189fd29f3acb2fdce7f70be6060', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: 'd484beae0d5cbe0406958bfad40cdd6c05625340', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
88
86
  }
89
87
  get el() { return index.getElement(this); }
90
88
  static get watchers() { return {
@@ -6,8 +6,7 @@
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var index$1 = require('./index-CIrkNXqJ.js');
8
8
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
9
- var config = require('./config-DWdFbSNK.js');
10
- var index$2 = require('./index-Cueg3U4w.js');
9
+ var config = require('./config-xninhj0J.js');
11
10
  require('./helpers-Cv23MFHM.js');
12
11
 
13
12
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -235,7 +234,7 @@ const InfiniteScrollContent = class {
235
234
  renderLoadingText() {
236
235
  const { customHTMLEnabled, loadingText } = this;
237
236
  if (customHTMLEnabled) {
238
- return index.h("div", { class: "infinite-loading-text", innerHTML: index$2.sanitizeDOMString(loadingText) });
237
+ return index.h("div", { class: "infinite-loading-text", innerHTML: config.sanitizeDOMString(loadingText) });
239
238
  }
240
239
  return index.h("div", { class: "infinite-loading-text" }, this.loadingText);
241
240
  }
@@ -62,7 +62,7 @@ const Input = class {
62
62
  /**
63
63
  * Whether auto correction should be enabled when the user is entering/editing the text value.
64
64
  */
65
- this.autocorrect = false;
65
+ this.autocorrect = 'off';
66
66
  /**
67
67
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
68
68
  *
@@ -546,7 +546,7 @@ const Input = class {
546
546
  * TODO(FW-5592): Remove hasStartEndSlots condition
547
547
  */
548
548
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
549
- return (index.h(index.Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: theme.createColorClasses(this.color, {
549
+ return (index.h(index.Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: theme.createColorClasses(this.color, {
550
550
  [mode]: true,
551
551
  'has-value': hasValue,
552
552
  'has-focus': hasFocus,
@@ -557,14 +557,14 @@ const Input = class {
557
557
  'in-item': inItem,
558
558
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
559
559
  'input-disabled': disabled,
560
- }) }, index.h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), index.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 && (index.h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
560
+ }) }, index.h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), index.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 && (index.h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
561
561
  /**
562
562
  * This prevents mobile browsers from
563
563
  * blurring the input when the clear
564
564
  * button is activated.
565
565
  */
566
566
  ev.preventDefault();
567
- }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && index.h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
567
+ }, onClick: this.clearTextInput }, index.h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
568
568
  }
569
569
  get el() { return index.getElement(this); }
570
570
  static get watchers() { return {
@@ -506,11 +506,11 @@ const SkeletonText = class {
506
506
  const animated = this.animated && index.config.getBoolean('animated', true);
507
507
  const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
508
508
  const mode = ionicGlobal.getIonMode(this);
509
- return (index.h(index.Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
509
+ return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
510
510
  [mode]: true,
511
511
  'skeleton-text-animated': animated,
512
512
  'in-media': inMedia,
513
- } }, index.h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
513
+ } }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
514
514
  }
515
515
  get el() { return index.getElement(this); }
516
516
  };
@@ -4,11 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var config = require('./config-DWdFbSNK.js');
7
+ var config = require('./config-xninhj0J.js');
8
8
  var helpers = require('./helpers-Cv23MFHM.js');
9
9
  var lockController = require('./lock-controller-aDB9wrEf.js');
10
- var overlays = require('./overlays-DSmSrd_4.js');
11
- var index$1 = require('./index-Cueg3U4w.js');
10
+ var overlays = require('./overlays-DdtIYQUH.js');
12
11
  var theme = require('./theme-CeDs6Hcv.js');
13
12
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
14
13
  var animation = require('./animation-BJq0kcy2.js');
@@ -214,10 +213,6 @@ const Loading = class {
214
213
  }
215
214
  disconnectedCallback() {
216
215
  this.triggerController.removeClickListener();
217
- // Clean up aria-hidden if removed without dismiss() being called
218
- if (this.presented) {
219
- overlays.cleanupRootFocusTrapAccessibility();
220
- }
221
216
  }
222
217
  /**
223
218
  * Present the loading overlay after it has been created.
@@ -270,7 +265,7 @@ const Loading = class {
270
265
  renderLoadingMessage(msgId) {
271
266
  const { customHTMLEnabled, message } = this;
272
267
  if (customHTMLEnabled) {
273
- return index.h("div", { class: "loading-content", id: msgId, innerHTML: index$1.sanitizeDOMString(message) });
268
+ return index.h("div", { class: "loading-content", id: msgId, innerHTML: config.sanitizeDOMString(message) });
274
269
  }
275
270
  return (index.h("div", { class: "loading-content", id: msgId }, message));
276
271
  }
@@ -283,9 +278,9 @@ const Loading = class {
283
278
  * Otherwise, don't set aria-labelledby.
284
279
  */
285
280
  const ariaLabelledBy = message !== undefined ? msgId : null;
286
- return (index.h(index.Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
281
+ return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
287
282
  zIndex: `${40000 + this.overlayIndex}`,
288
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, index.h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
283
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
289
284
  }
290
285
  get el() { return index.getElement(this); }
291
286
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
8
- var overlays = require('./overlays-DSmSrd_4.js');
8
+ var overlays = require('./overlays-DdtIYQUH.js');
9
9
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
10
10
  var hardwareBackButton = require('./hardware-back-button-iUuF_76h.js');
11
11
  var helpers = require('./helpers-Cv23MFHM.js');
@@ -9,7 +9,7 @@ var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
11
  var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-DSmSrd_4.js');
12
+ var overlays = require('./overlays-DdtIYQUH.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
14
  var index$4 = require('./index-BERfRao3.js');
15
15
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
@@ -1821,9 +1821,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1821
1821
  hostEl.style.removeProperty('--ion-safe-area-right');
1822
1822
  };
1823
1823
 
1824
- 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}`;
1824
+ 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}`;
1825
1825
 
1826
- 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}`;
1826
+ 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}`;
1827
1827
 
1828
1828
  const Modal = class {
1829
1829
  constructor(hostRef) {
@@ -1883,20 +1883,13 @@ const Modal = class {
1883
1883
  /**
1884
1884
  * The interaction behavior for the sheet modal when the handle is pressed.
1885
1885
  *
1886
- * Handle behavior is unavailable when the `handle` property is set to
1887
- * `false` or when the `breakpoints` property is not set (using a
1888
- * fullscreen or card modal).
1886
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
1887
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
1889
1888
  *
1890
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
1891
- * cycle between available breakpoints when pressed. This keeps the sheet
1892
- * operable with assistive technology.
1893
- *
1894
- * Set to `"none"` to make the handle purely decorative when pressed and
1895
- * removed from the tab order.
1896
- *
1897
- * Defaults to `"cycle"`.
1889
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
1890
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
1898
1891
  */
1899
- this.handleBehavior = 'cycle';
1892
+ this.handleBehavior = 'none';
1900
1893
  /**
1901
1894
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1902
1895
  */
@@ -2088,10 +2081,6 @@ const Modal = class {
2088
2081
  // Also called in dismiss() — intentional dual cleanup covers both
2089
2082
  // dismiss-then-remove and direct DOM removal without dismiss.
2090
2083
  this.cleanupSafeAreaOverrides();
2091
- // Clean up aria-hidden if removed without dismiss() being called
2092
- if (this.presented) {
2093
- overlays.cleanupRootFocusTrapAccessibility();
2094
- }
2095
2084
  }
2096
2085
  componentWillLoad() {
2097
2086
  var _a;
@@ -2971,20 +2960,26 @@ const Modal = class {
2971
2960
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2972
2961
  const isHandleCycle = handleBehavior === 'cycle';
2973
2962
  const isSheetModalWithHandle = isSheetModal && showHandle;
2974
- return (index$3.h(index$3.Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
2963
+ return (index$3.h(index$3.Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2975
2964
  // Allow the modal to be navigable when the handle is focusable
2976
2965
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2977
2966
  zIndex: `${20000 + this.overlayIndex}`,
2978
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
2967
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'dccf3c774355429bc0ea7461d9b1ef941ea91902',
2979
2968
  /*
2980
2969
  role and aria-modal must be used on the
2981
2970
  same element. They must also be set inside the
2982
2971
  shadow DOM otherwise ion-button will not be highlighted
2983
2972
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2973
+
2974
+ tabIndex={-1} is required so present() can move focus to this
2975
+ element (which carries the dialog role) instead of the role-less
2976
+ host. role="dialog" alone does not make an element focusable, so
2977
+ without the tabindex focus() would be a no-op and screen readers
2978
+ may not properly announce the dialog and its content when it opens.
2984
2979
  */
2985
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
2980
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'ba4ebd6364faba46ac8532d1c83cb655ae873a14', class: "modal-handle",
2986
2981
  // Prevents the handle from receiving keyboard focus when it does not cycle
2987
- 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) })), index$3.h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
2982
+ 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) })), index$3.h("slot", { key: '11d5921a8ebbcd0017d4f28a33d68049253f63f0', onSlotchange: this.onSlotChange }))));
2988
2983
  }
2989
2984
  get el() { return index$3.getElement(this); }
2990
2985
  static get watchers() { return {
@@ -45,6 +45,15 @@ class ViewController {
45
45
  this.state = VIEW_STATE_DESTROYED;
46
46
  }
47
47
  }
48
+ const matches = (view, id, params) => {
49
+ if (!view) {
50
+ return false;
51
+ }
52
+ if (view.component !== id) {
53
+ return false;
54
+ }
55
+ return helpers.shallowEqualStringMap(view.params, params);
56
+ };
48
57
  const convertToView = (page, params) => {
49
58
  if (!page) {
50
59
  return null;
@@ -78,6 +87,7 @@ const Nav = class {
78
87
  this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
79
88
  this.transInstr = [];
80
89
  this.gestureOrAnimationInProgress = false;
90
+ this.useRouter = false;
81
91
  this.isTransitioning = false;
82
92
  this.destroyed = false;
83
93
  this.views = [];
@@ -103,9 +113,14 @@ const Nav = class {
103
113
  */
104
114
  return;
105
115
  }
106
- this.setRoot(this.root, this.rootParams);
116
+ if (!this.useRouter) {
117
+ if (this.root !== undefined) {
118
+ this.setRoot(this.root, this.rootParams);
119
+ }
120
+ }
107
121
  }
108
122
  componentWillLoad() {
123
+ this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
109
124
  if (this.swipeGesture === undefined) {
110
125
  const mode = ionicGlobal.getIonMode(this);
111
126
  this.swipeGesture = index.config.getBoolean('swipeBackEnabled', mode === 'ios');
@@ -270,6 +285,78 @@ const Nav = class {
270
285
  opts,
271
286
  }, done);
272
287
  }
288
+ /**
289
+ * Called by the router to update the view.
290
+ *
291
+ * @param id The component tag.
292
+ * @param params The component params.
293
+ * @param direction A direction hint.
294
+ * @param animation an AnimationBuilder.
295
+ *
296
+ * @return the status.
297
+ * @internal
298
+ */
299
+ setRouteId(id, params, direction, animation) {
300
+ const active = this.getActiveSync();
301
+ if (matches(active, id, params)) {
302
+ return Promise.resolve({
303
+ changed: false,
304
+ element: active.element,
305
+ });
306
+ }
307
+ let resolve;
308
+ const promise = new Promise((r) => (resolve = r));
309
+ let finish;
310
+ const commonOpts = {
311
+ updateURL: false,
312
+ viewIsReady: (enteringEl) => {
313
+ let mark;
314
+ const p = new Promise((r) => (mark = r));
315
+ resolve({
316
+ changed: true,
317
+ element: enteringEl,
318
+ markVisible: async () => {
319
+ mark();
320
+ await finish;
321
+ },
322
+ });
323
+ return p;
324
+ },
325
+ };
326
+ if (direction === 'root') {
327
+ finish = this.setRoot(id, params, commonOpts);
328
+ }
329
+ else {
330
+ // Look for a view matching the target in the view stack.
331
+ const viewController = this.views.find((v) => matches(v, id, params));
332
+ if (viewController) {
333
+ finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
334
+ }
335
+ else if (direction === 'forward') {
336
+ finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
337
+ }
338
+ else if (direction === 'back') {
339
+ finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
340
+ }
341
+ }
342
+ return promise;
343
+ }
344
+ /**
345
+ * Called by <ion-router> to retrieve the current component.
346
+ *
347
+ * @internal
348
+ */
349
+ async getRouteId() {
350
+ const active = this.getActiveSync();
351
+ if (active) {
352
+ return {
353
+ id: active.element.tagName,
354
+ params: active.params,
355
+ element: active.element,
356
+ };
357
+ }
358
+ return undefined;
359
+ }
273
360
  /**
274
361
  * Get the active view.
275
362
  */
@@ -335,6 +422,25 @@ const Nav = class {
335
422
  ti.reject = reject;
336
423
  });
337
424
  ti.done = done;
425
+ /**
426
+ * If using router, check to see if navigation hooks
427
+ * will allow us to perform this transition. This
428
+ * is required in order for hooks to work with
429
+ * the ion-back-button or swipe to go back.
430
+ */
431
+ if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
432
+ const router = document.querySelector('ion-router');
433
+ if (router) {
434
+ const canTransition = await router.canTransition();
435
+ if (canTransition === false) {
436
+ return false;
437
+ }
438
+ if (typeof canTransition === 'string') {
439
+ router.push(canTransition, ti.opts.direction || 'back');
440
+ return false;
441
+ }
442
+ }
443
+ }
338
444
  // Normalize empty
339
445
  if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
340
446
  ti.insertViews = undefined;
@@ -355,6 +461,13 @@ const Nav = class {
355
461
  ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
356
462
  }
357
463
  ti.resolve(result.hasCompleted);
464
+ if (ti.opts.updateURL !== false && this.useRouter) {
465
+ const router = document.querySelector('ion-router');
466
+ if (router) {
467
+ const direction = result.direction === 'back' ? 'back' : 'forward';
468
+ router.navChanged(direction);
469
+ }
470
+ }
358
471
  }
359
472
  failed(rejectReason, ti) {
360
473
  if (this.destroyed) {
@@ -784,7 +897,7 @@ const Nav = class {
784
897
  }
785
898
  }
786
899
  render() {
787
- return index.h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
900
+ return index.h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
788
901
  }
789
902
  get el() { return index.getElement(this); }
790
903
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var overlays = require('./overlays-DSmSrd_4.js');
7
+ var overlays = require('./overlays-DdtIYQUH.js');
8
8
  var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
@@ -1090,9 +1090,9 @@ const mdLeaveAnimation = (baseEl) => {
1090
1090
  .addAnimation([backdropAnimation, wrapperAnimation]);
1091
1091
  };
1092
1092
 
1093
- 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)}}`;
1093
+ 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)}}`;
1094
1094
 
1095
- 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}`;
1095
+ 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}`;
1096
1096
 
1097
1097
  const Popover = class {
1098
1098
  constructor(hostRef) {
@@ -1306,10 +1306,6 @@ const Popover = class {
1306
1306
  this.headerResizeObserver.disconnect();
1307
1307
  this.headerResizeObserver = undefined;
1308
1308
  }
1309
- // Clean up aria-hidden if removed without dismiss() being called
1310
- if (this.presented) {
1311
- overlays.cleanupRootFocusTrapAccessibility();
1312
- }
1313
1309
  }
1314
1310
  componentWillLoad() {
1315
1311
  var _a, _b;
@@ -1548,9 +1544,9 @@ const Popover = class {
1548
1544
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1549
1545
  const desktop = ionicGlobal.isPlatform('desktop');
1550
1546
  const enableArrow = arrow && !parentPopover;
1551
- return (index.h(index.Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1547
+ return (index.h(index.Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1552
1548
  zIndex: `${20000 + this.overlayIndex}`,
1553
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, index.h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1549
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, index.h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1554
1550
  }
1555
1551
  get el() { return index.getElement(this); }
1556
1552
  static get watchers() { return {
@@ -42,7 +42,7 @@ const ProgressBar = class {
42
42
  const mode = ionicGlobal.getIonMode(this);
43
43
  // If the progress is displayed as a solid bar.
44
44
  const progressSolid = buffer === 1;
45
- return (index.h(index.Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
45
+ return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
46
46
  [mode]: true,
47
47
  [`progress-bar-${type}`]: true,
48
48
  'progress-paused': paused,
@@ -138,7 +138,7 @@ const Radio = class {
138
138
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
139
139
  const mode = ionicGlobal.getIonMode(this);
140
140
  const inItem = theme.hostContext('ion-item', el);
141
- return (index.h(index.Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
141
+ return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
142
142
  [mode]: true,
143
143
  'in-item': inItem,
144
144
  'radio-checked': checked,
@@ -149,10 +149,10 @@ const Radio = class {
149
149
  // Focus and active styling should not apply when the radio is in an item
150
150
  'ion-activatable': !inItem,
151
151
  'ion-focusable': !inItem,
152
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, index.h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
152
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
153
153
  'label-text-wrapper': true,
154
154
  'label-text-wrapper-hidden': !hasLabel,
155
- }, part: "label" }, index.h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), index.h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
155
+ }, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
156
156
  }
157
157
  get el() { return index.getElement(this); }
158
158
  static get watchers() { return {
@@ -794,7 +794,7 @@ const Range = class {
794
794
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
795
795
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
796
796
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
797
- return (index.h(index.Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
797
+ return (index.h(index.Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
798
798
  [mode]: true,
799
799
  'in-item': inItem,
800
800
  'range-disabled': disabled,
@@ -808,10 +808,10 @@ const Range = class {
808
808
  'range-item-end-adjustment': needsEndAdjustment,
809
809
  'range-value-min': valueAtMin,
810
810
  'range-value-max': valueAtMax,
811
- }) }, index.h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
811
+ }) }, index.h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
812
812
  'label-text-wrapper': true,
813
813
  'label-text-wrapper-hidden': !hasLabel,
814
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, index.h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
814
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, index.h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
815
815
  }
816
816
  get el() { return index.getElement(this); }
817
817
  static get watchers() { return {