@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a

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 (476) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +1 -1
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input-otp.js +1 -1
  36. package/components/ion-input-password-toggle.js +1 -1
  37. package/components/ion-input.js +1 -1
  38. package/components/ion-item-divider.js +1 -1
  39. package/components/ion-item-group.js +1 -1
  40. package/components/ion-item-option.js +1 -1
  41. package/components/ion-item-options.js +1 -1
  42. package/components/ion-item-sliding.js +1 -1
  43. package/components/ion-item.js +1 -1
  44. package/components/ion-label.js +1 -1
  45. package/components/ion-list-header.js +1 -1
  46. package/components/ion-list.js +1 -1
  47. package/components/ion-loading.js +1 -1
  48. package/components/ion-menu-button.js +1 -1
  49. package/components/ion-menu-toggle.js +1 -1
  50. package/components/ion-menu.js +1 -1
  51. package/components/ion-modal.js +1 -1
  52. package/components/ion-nav.js +1 -1
  53. package/components/ion-note.js +1 -1
  54. package/components/ion-picker-column-option.js +1 -1
  55. package/components/ion-picker-column.js +1 -1
  56. package/components/ion-popover.js +1 -1
  57. package/components/ion-progress-bar.js +1 -1
  58. package/components/ion-radio-group.js +1 -1
  59. package/components/ion-radio.js +1 -1
  60. package/components/ion-range.js +1 -1
  61. package/components/ion-refresher-content.js +1 -1
  62. package/components/ion-refresher.js +1 -1
  63. package/components/ion-reorder-group.js +1 -1
  64. package/components/ion-reorder.js +1 -1
  65. package/components/ion-ripple-effect.js +1 -1
  66. package/components/ion-router-link.js +1 -1
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +1 -1
  70. package/components/ion-searchbar.js +1 -1
  71. package/components/ion-segment-button.js +1 -1
  72. package/components/ion-segment-content.js +1 -1
  73. package/components/ion-segment-view.js +1 -1
  74. package/components/ion-segment.js +1 -1
  75. package/components/ion-select-modal.js +1 -1
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select-popover.js +1 -1
  78. package/components/ion-select.js +1 -1
  79. package/components/ion-skeleton-text.js +1 -1
  80. package/components/ion-spinner.js +1 -1
  81. package/components/ion-split-pane.js +1 -1
  82. package/components/ion-tab-bar.js +1 -1
  83. package/components/ion-tab-button.js +1 -1
  84. package/components/ion-tab.js +1 -1
  85. package/components/ion-tabs.js +1 -1
  86. package/components/ion-text.js +1 -1
  87. package/components/ion-textarea.js +1 -1
  88. package/components/ion-thumbnail.js +1 -1
  89. package/components/ion-title.js +1 -1
  90. package/components/ion-toast.js +1 -1
  91. package/components/ion-toggle.js +1 -1
  92. package/components/ion-toolbar.js +1 -1
  93. package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
  94. package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
  95. package/components/p-BG9RNTmW.js +4 -0
  96. package/components/p-BSQPZ79H.js +4 -0
  97. package/components/p-BnTB62Lu.js +4 -0
  98. package/components/p-BwKpO3Is.js +4 -0
  99. package/components/p-CEktCi-l.js +4 -0
  100. package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
  101. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  102. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  103. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  104. package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
  105. package/components/p-CwcD5kE9.js +4 -0
  106. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  107. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  108. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  109. package/components/p-D1-tlI3U.js +4 -0
  110. package/components/p-D2D6VdCA.js +4 -0
  111. package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
  112. package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
  113. package/components/p-DK0D_QD_.js +4 -0
  114. package/components/p-DXTfY6aF.js +4 -0
  115. package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
  116. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  117. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  118. package/components/p-Dtmv7Nm_.js +4 -0
  119. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  120. package/components/p-FV45cfy9.js +4 -0
  121. package/components/p-LMGfIvTf.js +4 -0
  122. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  123. package/components/p-jOtMJMv8.js +4 -0
  124. package/components/p-xjzudrQv.js +4 -0
  125. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  126. package/dist/cjs/config-DWdFbSNK.js +35 -0
  127. package/dist/cjs/index-Cueg3U4w.js +429 -0
  128. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  129. package/dist/cjs/index.cjs.js +7 -7
  130. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
  132. package/dist/cjs/ion-alert.cjs.entry.js +65 -26
  133. package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
  134. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  143. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  144. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
  145. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-img.cjs.entry.js +4 -2
  147. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
  148. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  149. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-loading.cjs.entry.js +11 -6
  154. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  155. package/dist/cjs/ion-modal.cjs.entry.js +24 -33
  156. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  157. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  158. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  159. package/dist/cjs/ion-popover.cjs.entry.js +10 -6
  160. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
  164. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
  167. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
  172. package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
  173. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  176. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-toast.cjs.entry.js +7 -6
  180. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  181. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  182. package/dist/cjs/ionic.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  185. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
  186. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  187. package/dist/collection/collection-manifest.json +6 -10
  188. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  190. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  191. package/dist/collection/components/alert/alert.ios.css +280 -10
  192. package/dist/collection/components/alert/alert.js +59 -21
  193. package/dist/collection/components/alert/alert.md.css +269 -20
  194. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  195. package/dist/collection/components/datetime/datetime.js +10 -17
  196. package/dist/collection/components/datetime/datetime.md.css +42 -1
  197. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  198. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  199. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  200. package/dist/collection/components/img/img.js +6 -1
  201. package/dist/collection/components/input/input.js +8 -8
  202. package/dist/collection/components/loading/loading.js +7 -3
  203. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  204. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  205. package/dist/collection/components/modal/modal.ios.css +0 -8
  206. package/dist/collection/components/modal/modal.js +23 -18
  207. package/dist/collection/components/modal/modal.md.css +0 -8
  208. package/dist/collection/components/nav/nav.js +4 -219
  209. package/dist/collection/components/picker-column/picker-column.css +3 -0
  210. package/dist/collection/components/picker-column/picker-column.js +4 -11
  211. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  212. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  213. package/dist/collection/components/popover/popover.ios.css +15 -0
  214. package/dist/collection/components/popover/popover.js +7 -3
  215. package/dist/collection/components/popover/popover.md.css +15 -0
  216. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  217. package/dist/collection/components/radio/radio.js +4 -4
  218. package/dist/collection/components/range/range.js +3 -3
  219. package/dist/collection/components/refresher/refresher.js +1 -1
  220. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  221. package/dist/collection/components/reorder/reorder.js +1 -1
  222. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  223. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  224. package/dist/collection/components/route/route.js +1 -1
  225. package/dist/collection/components/router/utils/dom.js +22 -3
  226. package/dist/collection/components/router-link/router-link.js +2 -2
  227. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  228. package/dist/collection/components/row/row.js +1 -1
  229. package/dist/collection/components/searchbar/searchbar.js +9 -9
  230. package/dist/collection/components/segment/segment.js +2 -2
  231. package/dist/collection/components/segment-button/segment-button.js +2 -2
  232. package/dist/collection/components/segment-content/segment-content.js +1 -1
  233. package/dist/collection/components/segment-view/segment-view.js +2 -2
  234. package/dist/collection/components/select/select.ios.css +33 -0
  235. package/dist/collection/components/select/select.js +323 -16
  236. package/dist/collection/components/select/select.md.css +33 -0
  237. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  238. package/dist/collection/components/select-modal/select-modal.js +79 -26
  239. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  240. package/dist/collection/components/select-option/select-option.js +67 -3
  241. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  242. package/dist/collection/components/select-popover/select-popover.js +78 -26
  243. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  244. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  245. package/dist/collection/components/spinner/spinner.js +1 -1
  246. package/dist/collection/components/split-pane/split-pane.js +2 -2
  247. package/dist/collection/components/tab/tab.js +2 -2
  248. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  249. package/dist/collection/components/tab-button/tab-button.js +2 -2
  250. package/dist/collection/components/tabs/tabs.js +1 -1
  251. package/dist/collection/components/text/text.js +2 -2
  252. package/dist/collection/components/textarea/textarea.js +2 -2
  253. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  254. package/dist/collection/components/title/title.js +2 -2
  255. package/dist/collection/components/toast/toast.js +2 -2
  256. package/dist/collection/components/toggle/toggle.js +3 -3
  257. package/dist/collection/components/toolbar/toolbar.js +2 -2
  258. package/dist/collection/index.js +1 -1
  259. package/dist/collection/utils/overlay-control-label.js +45 -0
  260. package/dist/collection/utils/overlays.js +26 -30
  261. package/dist/collection/utils/platform.js +2 -2
  262. package/dist/collection/utils/sanitization/index.js +274 -18
  263. package/dist/collection/utils/select-option-render.js +119 -0
  264. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  265. package/dist/docs.json +556 -1272
  266. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  267. package/dist/esm/config-BwKpO3Is.js +31 -0
  268. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  269. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  270. package/dist/esm/index-DQSkZyOJ.js +424 -0
  271. package/dist/esm/index.js +5 -4
  272. package/dist/esm/ion-accordion_2.entry.js +2 -2
  273. package/dist/esm/ion-action-sheet.entry.js +28 -8
  274. package/dist/esm/ion-alert.entry.js +64 -25
  275. package/dist/esm/ion-app_8.entry.js +24 -10
  276. package/dist/esm/ion-avatar_3.entry.js +2 -2
  277. package/dist/esm/ion-back-button.entry.js +2 -2
  278. package/dist/esm/ion-backdrop.entry.js +1 -1
  279. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  280. package/dist/esm/ion-button_2.entry.js +1 -1
  281. package/dist/esm/ion-card_5.entry.js +1 -1
  282. package/dist/esm/ion-checkbox.entry.js +1 -1
  283. package/dist/esm/ion-chip.entry.js +1 -1
  284. package/dist/esm/ion-col_3.entry.js +2 -2
  285. package/dist/esm/ion-datetime-button.entry.js +5 -11
  286. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
  287. package/dist/esm/ion-fab_3.entry.js +2 -2
  288. package/dist/esm/ion-img.entry.js +5 -3
  289. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
  290. package/dist/esm/ion-input-otp.entry.js +1 -1
  291. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  292. package/dist/esm/ion-input.entry.js +6 -6
  293. package/dist/esm/ion-item-option_3.entry.js +1 -1
  294. package/dist/esm/ion-item_8.entry.js +4 -4
  295. package/dist/esm/ion-loading.entry.js +10 -5
  296. package/dist/esm/ion-menu_3.entry.js +4 -4
  297. package/dist/esm/ion-modal.entry.js +24 -33
  298. package/dist/esm/ion-nav_2.entry.js +4 -117
  299. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  300. package/dist/esm/ion-picker-column.entry.js +5 -11
  301. package/dist/esm/ion-popover.entry.js +10 -6
  302. package/dist/esm/ion-progress-bar.entry.js +2 -2
  303. package/dist/esm/ion-radio_2.entry.js +4 -4
  304. package/dist/esm/ion-range.entry.js +4 -4
  305. package/dist/esm/ion-refresher_2.entry.js +6 -5
  306. package/dist/esm/ion-reorder_2.entry.js +4 -4
  307. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  308. package/dist/esm/ion-route_4.entry.js +19 -5
  309. package/dist/esm/ion-searchbar.entry.js +7 -7
  310. package/dist/esm/ion-segment-content.entry.js +1 -1
  311. package/dist/esm/ion-segment-view.entry.js +2 -2
  312. package/dist/esm/ion-segment_2.entry.js +5 -5
  313. package/dist/esm/ion-select-modal.entry.js +85 -31
  314. package/dist/esm/ion-select_3.entry.js +411 -53
  315. package/dist/esm/ion-spinner.entry.js +2 -2
  316. package/dist/esm/ion-split-pane.entry.js +3 -3
  317. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  318. package/dist/esm/ion-tab_2.entry.js +3 -3
  319. package/dist/esm/ion-text.entry.js +3 -3
  320. package/dist/esm/ion-textarea.entry.js +3 -3
  321. package/dist/esm/ion-toast.entry.js +6 -5
  322. package/dist/esm/ion-toggle.entry.js +5 -5
  323. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  324. package/dist/esm/ionic.js +3 -3
  325. package/dist/esm/loader.js +3 -3
  326. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  327. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
  328. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  329. package/dist/html.html-data.json +52 -80
  330. package/dist/ionic/index.esm.js +1 -1
  331. package/dist/ionic/ionic.esm.js +1 -1
  332. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  333. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  334. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  335. package/dist/ionic/p-129d3ed9.entry.js +4 -0
  336. package/dist/ionic/p-1d9e649a.entry.js +4 -0
  337. package/dist/ionic/p-2b3a2a38.entry.js +4 -0
  338. package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
  339. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  340. package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
  341. package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
  342. package/dist/ionic/p-3d719e91.entry.js +4 -0
  343. package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
  344. package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
  345. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  346. package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
  347. package/dist/ionic/p-570a212e.entry.js +4 -0
  348. package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
  349. package/dist/ionic/p-686de5dc.entry.js +4 -0
  350. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  351. package/dist/ionic/p-73d06afe.entry.js +4 -0
  352. package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
  353. package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
  354. package/dist/ionic/p-7cb5cf53.entry.js +4 -0
  355. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  356. package/dist/ionic/p-845eb5d5.entry.js +4 -0
  357. package/dist/ionic/p-88f33e44.entry.js +4 -0
  358. package/dist/ionic/p-89c9c057.entry.js +4 -0
  359. package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
  360. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  361. package/dist/ionic/p-8cde6208.entry.js +4 -0
  362. package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
  363. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  364. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  365. package/dist/ionic/p-BDtODLZ4.js +4 -0
  366. package/dist/ionic/p-BSQPZ79H.js +4 -0
  367. package/dist/ionic/p-BwKpO3Is.js +4 -0
  368. package/dist/ionic/p-CGqbOURp.js +4 -0
  369. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  370. package/dist/ionic/p-DCOvXkOm.js +4 -0
  371. package/dist/ionic/p-DZigX5id.js +4 -0
  372. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  373. package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
  374. package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
  375. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  376. package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
  377. package/dist/ionic/p-b7737b44.entry.js +4 -0
  378. package/dist/ionic/p-ba99d16b.entry.js +4 -0
  379. package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
  380. package/dist/ionic/p-cf68f89c.entry.js +4 -0
  381. package/dist/ionic/p-d183a4ba.entry.js +4 -0
  382. package/dist/ionic/p-d57560ff.entry.js +4 -0
  383. package/dist/ionic/p-d5be2815.entry.js +4 -0
  384. package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
  385. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  386. package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
  387. package/dist/ionic/p-f09f9642.entry.js +4 -0
  388. package/dist/ionic/p-f2ae690a.entry.js +4 -0
  389. package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
  390. package/dist/ionic/p-f88310b9.entry.js +4 -0
  391. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  392. package/dist/types/components/img/img.d.ts +2 -0
  393. package/dist/types/components/input/input.d.ts +1 -1
  394. package/dist/types/components/modal/modal.d.ts +11 -4
  395. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  396. package/dist/types/components/nav/nav.d.ts +2 -22
  397. package/dist/types/components/route/route.d.ts +1 -1
  398. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  399. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  400. package/dist/types/components/select/select-interface.d.ts +31 -0
  401. package/dist/types/components/select/select.d.ts +18 -0
  402. package/dist/types/components/select-option/select-option.d.ts +42 -1
  403. package/dist/types/components.d.ts +74 -311
  404. package/dist/types/index.d.ts +1 -1
  405. package/dist/types/interface.d.ts +0 -1
  406. package/dist/types/utils/config.d.ts +0 -8
  407. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  408. package/dist/types/utils/overlays.d.ts +11 -9
  409. package/dist/types/utils/sanitization/index.d.ts +58 -2
  410. package/dist/types/utils/select-option-render.d.ts +53 -0
  411. package/hydrate/index.js +1355 -1261
  412. package/hydrate/index.mjs +1355 -1261
  413. package/package.json +37 -5
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -4
  416. package/components/ion-picker-legacy.d.ts +0 -11
  417. package/components/ion-picker-legacy.js +0 -4
  418. package/components/p-BIPPbW0M.js +0 -4
  419. package/components/p-BUYFy35a.js +0 -4
  420. package/components/p-BWEZufiK.js +0 -4
  421. package/components/p-BjfgFSSR.js +0 -4
  422. package/components/p-BqpciLfi.js +0 -4
  423. package/components/p-BsPelv04.js +0 -4
  424. package/components/p-BsQPAqo9.js +0 -4
  425. package/components/p-CRNiQiYf.js +0 -4
  426. package/components/p-CU5rbWAW.js +0 -4
  427. package/components/p-DOFCbuQR.js +0 -4
  428. package/components/p-W5nO8mX_.js +0 -4
  429. package/components/p-k_E4tX5Z.js +0 -4
  430. package/components/p-nyXeHk23.js +0 -4
  431. package/dist/cjs/config-xninhj0J.js +0 -201
  432. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  433. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  434. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  435. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  436. package/dist/collection/components/picker-legacy/picker.js +0 -890
  437. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  441. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  442. package/dist/esm/config-DQCONYYp.js +0 -195
  443. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  444. package/dist/ionic/p-06c232a4.entry.js +0 -4
  445. package/dist/ionic/p-0dc33652.entry.js +0 -4
  446. package/dist/ionic/p-20b1a044.entry.js +0 -4
  447. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  448. package/dist/ionic/p-27d30585.entry.js +0 -4
  449. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  450. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  451. package/dist/ionic/p-485fda23.entry.js +0 -4
  452. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  453. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  454. package/dist/ionic/p-50e1194a.entry.js +0 -4
  455. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  456. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  457. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  458. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  459. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  460. package/dist/ionic/p-D-3ycHmd.js +0 -4
  461. package/dist/ionic/p-DzWaWHGc.js +0 -4
  462. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  463. package/dist/ionic/p-SNAkTDfm.js +0 -4
  464. package/dist/ionic/p-a21add2f.entry.js +0 -4
  465. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  466. package/dist/ionic/p-c38b648e.entry.js +0 -4
  467. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  468. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  469. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  470. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  471. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  472. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  473. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  474. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  475. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  476. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -2,10 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, d as Host, g as getElement, c as createEvent } from './index-tcQvqkiX.js';
5
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
5
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.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-DV3sJJW8.js';
8
+ import { t as close } from './index-AlrZKoWR.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,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { b as inheritAttributes } from './helpers-HEqiOzXb.js';
6
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
6
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
7
7
 
8
8
  const imgCss = () => `:host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}`;
9
9
 
@@ -28,6 +28,8 @@ 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);
31
33
  this.addIO();
32
34
  }
33
35
  disconnectedCallback() {
@@ -80,7 +82,7 @@ const Img = class {
80
82
  render() {
81
83
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
82
84
  const { draggable } = inheritedAttributes;
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) })));
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) })));
84
86
  }
85
87
  get el() { return getElement(this); }
86
88
  static get watchers() { return {
@@ -3,8 +3,9 @@
3
3
  */
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
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
- import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-DQCONYYp.js';
6
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
7
+ import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.js';
8
+ import { s as sanitizeDOMString } from './index-DQSkZyOJ.js';
8
9
  import './helpers-HEqiOzXb.js';
9
10
 
10
11
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, f as printIonWarning, h, F as
5
5
  import { i as inheritAriaAttributes } from './helpers-HEqiOzXb.js';
6
6
  import { i as isRTL } from './dir-C53feagD.js';
7
7
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
8
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
9
9
 
10
10
  const inputOtpIosCss = () => `.sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}`;
11
11
 
@@ -3,8 +3,8 @@
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-DV3sJJW8.js';
7
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
6
+ import { x as eyeOff, y as eye } from './index-AlrZKoWR.js';
7
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
8
8
 
9
9
  const iosInputPasswordToggleCss = () => ``;
10
10
 
@@ -7,8 +7,8 @@ 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 { b as closeCircle, d as closeSharp } from './index-DV3sJJW8.js';
11
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
10
+ import { g as closeCircle, h as closeSharp } from './index-AlrZKoWR.js';
11
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
12
12
  import './index-ZjP4CjeZ.js';
13
13
 
14
14
  const inputIosCss = () => `.sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--background:transparent;--color:initial;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;padding:0 !important;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item[slot=start].sc-ion-input-ios-h,ion-item [slot=start].sc-ion-input-ios-h,ion-item[slot=end].sc-ion-input-ios-h,ion-item [slot=end].sc-ion-input-ios-h{width:auto}.ion-color.sc-ion-input-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-label-placement-floating.sc-ion-input-ios-h,.input-label-placement-stacked.sc-ion-input-ios-h{min-height:56px}.native-input.sc-ion-input-ios{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;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;display:inline-block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;height:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:1}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.cloned-input.sc-ion-input-ios{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-input-ios:disabled{opacity:1}.input-clear-icon.sc-ion-input-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:30px;height:30px;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.in-item-color.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{color:inherit}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.input-wrapper.sc-ion-input-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-input-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;width:100%}.ion-touched.ion-invalid.sc-ion-input-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-ios-h{--highlight-color:var(--highlight-color-valid)}.input-bottom.sc-ion-input-ios{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-input-ios-h,.ion-touched.ion-invalid.sc-ion-input-ios-h{--border-color:var(--highlight-color)}.input-bottom.sc-ion-input-ios .error-text.sc-ion-input-ios{display:none;color:var(--highlight-color-invalid)}.input-bottom.sc-ion-input-ios .helper-text.sc-ion-input-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-ios-h .input-bottom.sc-ion-input-ios .error-text.sc-ion-input-ios{display:block}.ion-touched.ion-invalid.sc-ion-input-ios-h .input-bottom.sc-ion-input-ios .helper-text.sc-ion-input-ios{display:none}.input-bottom.sc-ion-input-ios .counter.sc-ion-input-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios{caret-color:var(--highlight-color)}.label-text-wrapper.sc-ion-input-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-input-ios,.sc-ion-input-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-input-ios,.input-outline-notch-hidden.sc-ion-input-ios{display:none}.input-wrapper.sc-ion-input-ios input.sc-ion-input-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.input-label-placement-start.sc-ion-input-ios-h .input-wrapper.sc-ion-input-ios{-ms-flex-direction:row;flex-direction:row}.input-label-placement-start.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.input-label-placement-end.sc-ion-input-ios-h .input-wrapper.sc-ion-input-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.input-label-placement-end.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.input-label-placement-fixed.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.input-label-placement-fixed.sc-ion-input-ios-h .label-text.sc-ion-input-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.input-label-placement-stacked.sc-ion-input-ios-h .input-wrapper.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h .input-wrapper.sc-ion-input-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:left top;transform-origin:left top;max-width:100%;z-index:2}[dir=rtl].sc-ion-input-ios-h -no-combinator.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h -no-combinator.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h -no-combinator.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h -no-combinator.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.input-label-placement-stacked.sc-ion-input-ios-h:dir(rtl) .label-text-wrapper.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h:dir(rtl) .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:right top;transform-origin:right top}}.input-label-placement-stacked.sc-ion-input-ios-h input.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0}.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios{opacity:0}.has-focus.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios,.has-value.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios{opacity:1}.label-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-input-ios-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-input-ios-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.sc-ion-input-ios-h[disabled].sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[disabled] .sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[readonly].sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[readonly] .sc-ion-input-ios-s>ion-input-password-toggle{visibility:hidden}.sc-ion-input-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px;font-size:inherit}.input-clear-icon.sc-ion-input-ios ion-icon.sc-ion-input-ios{width:18px;height:18px}.input-disabled.sc-ion-input-ios-h{opacity:0.3}.sc-ion-input-ios-s>ion-button[slot=start].button-has-icon-only,.sc-ion-input-ios-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
@@ -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 = 'off';
63
+ this.autocorrect = false;
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: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses(this.color, {
547
+ return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', 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: '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) => {
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) => {
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: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
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()));
566
566
  }
567
567
  get el() { return getElement(this); }
568
568
  static get watchers() { return {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, h, d as Host, g as getElement, c as createEvent, f as printIonWarning } from './index-tcQvqkiX.js';
5
5
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
6
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
6
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
7
7
  import { o as isEndSide } from './helpers-HEqiOzXb.js';
8
8
  import { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-MEDq2S8l.js';
9
9
  import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
@@ -4,8 +4,8 @@
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 { p as chevronForward } from './index-DV3sJJW8.js';
8
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
+ import { e as chevronForward } from './index-AlrZKoWR.js';
8
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.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}`;
11
11
 
@@ -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: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
507
+ return (h(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
508
508
  [mode]: true,
509
509
  'skeleton-text-animated': animated,
510
510
  'in-media': inMedia,
511
- } }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
511
+ } }, h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
512
512
  }
513
513
  get el() { return getElement(this); }
514
514
  };
@@ -2,12 +2,13 @@
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, a as sanitizeDOMString } from './config-DQCONYYp.js';
5
+ import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.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 { 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';
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-DVgWBV3s.js';
9
+ import { s as sanitizeDOMString } from './index-DQSkZyOJ.js';
9
10
  import { g as getClassMap } from './theme-DiVJyqlX.js';
10
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
11
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
11
12
  import { c as createAnimation } from './animation-DLJpuoEz.js';
12
13
  import './index-ZjP4CjeZ.js';
13
14
  import './hardware-back-button-B93Gru0Y.js';
@@ -211,6 +212,10 @@ const Loading = class {
211
212
  }
212
213
  disconnectedCallback() {
213
214
  this.triggerController.removeClickListener();
215
+ // Clean up aria-hidden if removed without dismiss() being called
216
+ if (this.presented) {
217
+ cleanupRootFocusTrapAccessibility();
218
+ }
214
219
  }
215
220
  /**
216
221
  * Present the loading overlay after it has been created.
@@ -276,9 +281,9 @@ const Loading = class {
276
281
  * Otherwise, don't set aria-labelledby.
277
282
  */
278
283
  const ariaLabelledBy = message !== undefined ? msgId : null;
279
- return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
284
+ return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
280
285
  zIndex: `${40000 + this.overlayIndex}`,
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" })));
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" })));
282
287
  }
283
288
  get el() { return getElement(this); }
284
289
  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-Dg0q2_tJ.js';
6
+ import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-DVgWBV3s.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
- import { m as menuController } from './index-Q6UPU0Ay.js';
11
- import { b as getIonMode, a as isPlatform } from './ionic-global-Cp_eT4sZ.js';
10
+ import { m as menuController } from './index-0f4UTH6Z.js';
11
+ import { b as getIonMode, a as isPlatform } from './ionic-global-pMW1XhFZ.js';
12
12
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
13
- import { u as menuOutline, v as menuSharp } from './index-DV3sJJW8.js';
13
+ import { u as menuOutline, v as menuSharp } from './index-AlrZKoWR.js';
14
14
  import './index-ZjP4CjeZ.js';
15
15
  import './framework-delegate-FnPGymXL.js';
16
16
  import './animation-DLJpuoEz.js';
@@ -7,10 +7,10 @@ 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, 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
+ 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-DVgWBV3s.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
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
13
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
14
14
  import { KEYBOARD_DID_OPEN } from './keyboard-ywgs5efA.js';
15
15
  import { c as createAnimation } from './animation-DLJpuoEz.js';
16
16
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
@@ -331,14 +331,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
331
331
  return false;
332
332
  };
333
333
  const onStart = (detail) => {
334
- var _a;
335
334
  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();
342
335
  /**
343
336
  * Get the initial scrollY value so
344
337
  * that we can correctly reset the scrollY
@@ -1224,13 +1217,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1224
1217
  return true;
1225
1218
  };
1226
1219
  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();
1234
1220
  /**
1235
1221
  * If canDismiss is anything other than `true`
1236
1222
  * then users should be able to swipe down
@@ -1833,9 +1819,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1833
1819
  hostEl.style.removeProperty('--ion-safe-area-right');
1834
1820
  };
1835
1821
 
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}`;
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}`;
1837
1823
 
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}`;
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}`;
1839
1825
 
1840
1826
  const Modal = class {
1841
1827
  constructor(hostRef) {
@@ -1895,13 +1881,20 @@ const Modal = class {
1895
1881
  /**
1896
1882
  * The interaction behavior for the sheet modal when the handle is pressed.
1897
1883
  *
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.
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.
1900
1894
  *
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).
1895
+ * Defaults to `"cycle"`.
1903
1896
  */
1904
- this.handleBehavior = 'none';
1897
+ this.handleBehavior = 'cycle';
1905
1898
  /**
1906
1899
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1907
1900
  */
@@ -2093,6 +2086,10 @@ const Modal = class {
2093
2086
  // Also called in dismiss() — intentional dual cleanup covers both
2094
2087
  // dismiss-then-remove and direct DOM removal without dismiss.
2095
2088
  this.cleanupSafeAreaOverrides();
2089
+ // Clean up aria-hidden if removed without dismiss() being called
2090
+ if (this.presented) {
2091
+ cleanupRootFocusTrapAccessibility();
2092
+ }
2096
2093
  }
2097
2094
  componentWillLoad() {
2098
2095
  var _a;
@@ -2972,26 +2969,20 @@ const Modal = class {
2972
2969
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2973
2970
  const isHandleCycle = handleBehavior === 'cycle';
2974
2971
  const isSheetModalWithHandle = isSheetModal && showHandle;
2975
- return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2972
+ return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
2976
2973
  // Allow the modal to be navigable when the handle is focusable
2977
2974
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2978
2975
  zIndex: `${20000 + this.overlayIndex}`,
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',
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',
2980
2977
  /*
2981
2978
  role and aria-modal must be used on the
2982
2979
  same element. They must also be set inside the
2983
2980
  shadow DOM otherwise ion-button will not be highlighted
2984
2981
  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.
2991
2982
  */
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",
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",
2993
2984
  // Prevents the handle from receiving keyboard focus when it does not cycle
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 }))));
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 }))));
2995
2986
  }
2996
2987
  get el() { return getElement(this); }
2997
2988
  static get watchers() { return {