@ionic/core 8.8.14-dev.11783984044.10eaba06 → 8.8.14-dev.11784037956.17449639

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 (349) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-picker-legacy-column.d.ts +11 -0
  22. package/components/ion-picker-legacy-column.js +4 -0
  23. package/components/ion-picker-legacy.d.ts +11 -0
  24. package/components/ion-picker-legacy.js +4 -0
  25. package/components/ion-popover.js +1 -1
  26. package/components/ion-progress-bar.js +1 -1
  27. package/components/ion-radio.js +1 -1
  28. package/components/ion-range.js +1 -1
  29. package/components/ion-refresher-content.js +1 -1
  30. package/components/ion-refresher.js +1 -1
  31. package/components/ion-reorder-group.js +1 -1
  32. package/components/ion-reorder.js +1 -1
  33. package/components/ion-ripple-effect.js +1 -1
  34. package/components/ion-router-link.js +1 -1
  35. package/components/ion-router-outlet.js +1 -1
  36. package/components/ion-row.js +1 -1
  37. package/components/ion-searchbar.js +1 -1
  38. package/components/ion-segment-button.js +1 -1
  39. package/components/ion-segment-content.js +1 -1
  40. package/components/ion-segment-view.js +1 -1
  41. package/components/ion-segment.js +1 -1
  42. package/components/ion-select-modal.js +1 -1
  43. package/components/ion-select-option.js +1 -1
  44. package/components/ion-select-popover.js +1 -1
  45. package/components/ion-select.js +1 -1
  46. package/components/ion-skeleton-text.js +1 -1
  47. package/components/ion-spinner.js +1 -1
  48. package/components/ion-split-pane.js +1 -1
  49. package/components/ion-tab-bar.js +1 -1
  50. package/components/ion-tab-button.js +1 -1
  51. package/components/ion-tab.js +1 -1
  52. package/components/ion-tabs.js +1 -1
  53. package/components/ion-text.js +1 -1
  54. package/components/ion-textarea.js +1 -1
  55. package/components/ion-thumbnail.js +1 -1
  56. package/components/ion-title.js +1 -1
  57. package/components/ion-toast.js +1 -1
  58. package/components/ion-toggle.js +1 -1
  59. package/components/ion-toolbar.js +1 -1
  60. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  61. package/components/p-B1BWKArA.js +4 -0
  62. package/components/p-B4PlLGHT.js +4 -0
  63. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  64. package/components/p-BFsEcwW9.js +4 -0
  65. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  66. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  67. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  68. package/components/p-CFRyvUvJ.js +4 -0
  69. package/components/p-CU5rbWAW.js +4 -0
  70. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  71. package/components/p-CgLiHbz0.js +4 -0
  72. package/components/p-MLyEeL3Q.js +4 -0
  73. package/components/p-PgMVWD8U.js +4 -0
  74. package/components/p-k_E4tX5Z.js +4 -0
  75. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  76. package/dist/cjs/config-xninhj0J.js +201 -0
  77. package/dist/cjs/index.cjs.js +6 -6
  78. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  79. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  80. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  81. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  82. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  83. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
  84. package/dist/cjs/ion-img.cjs.entry.js +1 -3
  85. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  86. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  87. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  89. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  90. package/dist/cjs/ion-modal.cjs.entry.js +33 -23
  91. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  92. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  93. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  95. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  96. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  100. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  104. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  105. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  112. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  113. package/dist/cjs/ionic.cjs.js +1 -1
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-B9UiYZ4R.js} +30 -27
  116. package/dist/collection/collection-manifest.json +10 -6
  117. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  118. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  119. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  120. package/dist/collection/components/alert/alert.ios.css +10 -280
  121. package/dist/collection/components/alert/alert.js +21 -59
  122. package/dist/collection/components/alert/alert.md.css +20 -269
  123. package/dist/collection/components/img/img.js +1 -6
  124. package/dist/collection/components/input/input.js +8 -8
  125. package/dist/collection/components/loading/loading.js +3 -7
  126. package/dist/collection/components/modal/gestures/sheet.js +8 -0
  127. package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
  128. package/dist/collection/components/modal/modal.ios.css +8 -0
  129. package/dist/collection/components/modal/modal.js +17 -23
  130. package/dist/collection/components/modal/modal.md.css +8 -0
  131. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  132. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  133. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  134. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  135. package/dist/collection/components/picker-legacy/picker.js +890 -0
  136. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  137. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  138. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  139. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  140. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  141. package/dist/collection/components/popover/popover.ios.css +0 -15
  142. package/dist/collection/components/popover/popover.js +3 -7
  143. package/dist/collection/components/popover/popover.md.css +0 -15
  144. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  145. package/dist/collection/components/radio/radio.js +4 -4
  146. package/dist/collection/components/range/range.js +3 -3
  147. package/dist/collection/components/refresher/refresher.js +1 -1
  148. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  149. package/dist/collection/components/reorder/reorder.js +1 -1
  150. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  151. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  152. package/dist/collection/components/router-link/router-link.js +2 -2
  153. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  154. package/dist/collection/components/row/row.js +1 -1
  155. package/dist/collection/components/searchbar/searchbar.js +9 -9
  156. package/dist/collection/components/segment/segment.js +2 -2
  157. package/dist/collection/components/segment-button/segment-button.js +2 -2
  158. package/dist/collection/components/segment-content/segment-content.js +1 -1
  159. package/dist/collection/components/segment-view/segment-view.js +2 -2
  160. package/dist/collection/components/select/select.ios.css +0 -33
  161. package/dist/collection/components/select/select.js +16 -323
  162. package/dist/collection/components/select/select.md.css +0 -33
  163. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  164. package/dist/collection/components/select-modal/select-modal.js +26 -79
  165. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  166. package/dist/collection/components/select-option/select-option.js +3 -67
  167. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  168. package/dist/collection/components/select-popover/select-popover.js +26 -78
  169. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  170. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  171. package/dist/collection/components/spinner/spinner.js +1 -1
  172. package/dist/collection/components/split-pane/split-pane.js +2 -2
  173. package/dist/collection/components/tab/tab.js +2 -2
  174. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  175. package/dist/collection/components/tab-button/tab-button.js +2 -2
  176. package/dist/collection/components/tabs/tabs.js +1 -1
  177. package/dist/collection/components/text/text.js +2 -2
  178. package/dist/collection/components/textarea/textarea.js +2 -2
  179. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  180. package/dist/collection/components/title/title.js +2 -2
  181. package/dist/collection/components/toast/toast.js +2 -2
  182. package/dist/collection/components/toggle/toggle.js +3 -3
  183. package/dist/collection/components/toolbar/toolbar.js +2 -2
  184. package/dist/collection/index.js +1 -1
  185. package/dist/collection/utils/overlays.js +29 -26
  186. package/dist/collection/utils/sanitization/index.js +18 -274
  187. package/dist/docs.json +1177 -485
  188. package/dist/esm/config-DQCONYYp.js +195 -0
  189. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  190. package/dist/esm/index.js +2 -3
  191. package/dist/esm/ion-accordion_2.entry.js +1 -1
  192. package/dist/esm/ion-action-sheet.entry.js +7 -27
  193. package/dist/esm/ion-alert.entry.js +24 -63
  194. package/dist/esm/ion-app_8.entry.js +9 -23
  195. package/dist/esm/ion-avatar_3.entry.js +1 -1
  196. package/dist/esm/ion-back-button.entry.js +1 -1
  197. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  198. package/dist/esm/ion-col_3.entry.js +1 -1
  199. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
  200. package/dist/esm/ion-fab_3.entry.js +1 -1
  201. package/dist/esm/ion-img.entry.js +2 -4
  202. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  203. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  204. package/dist/esm/ion-input.entry.js +5 -5
  205. package/dist/esm/ion-item_8.entry.js +3 -3
  206. package/dist/esm/ion-loading.entry.js +4 -9
  207. package/dist/esm/ion-menu_3.entry.js +2 -2
  208. package/dist/esm/ion-modal.entry.js +33 -23
  209. package/dist/esm/ion-popover.entry.js +5 -9
  210. package/dist/esm/ion-progress-bar.entry.js +1 -1
  211. package/dist/esm/ion-radio_2.entry.js +3 -3
  212. package/dist/esm/ion-range.entry.js +3 -3
  213. package/dist/esm/ion-refresher_2.entry.js +4 -5
  214. package/dist/esm/ion-reorder_2.entry.js +3 -3
  215. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  216. package/dist/esm/ion-route_4.entry.js +2 -2
  217. package/dist/esm/ion-searchbar.entry.js +6 -6
  218. package/dist/esm/ion-segment-content.entry.js +1 -1
  219. package/dist/esm/ion-segment-view.entry.js +2 -2
  220. package/dist/esm/ion-segment_2.entry.js +4 -4
  221. package/dist/esm/ion-select-modal.entry.js +30 -84
  222. package/dist/esm/ion-select_3.entry.js +52 -410
  223. package/dist/esm/ion-spinner.entry.js +1 -1
  224. package/dist/esm/ion-split-pane.entry.js +2 -2
  225. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  226. package/dist/esm/ion-tab_2.entry.js +3 -3
  227. package/dist/esm/ion-text.entry.js +2 -2
  228. package/dist/esm/ion-textarea.entry.js +2 -2
  229. package/dist/esm/ion-toast.entry.js +4 -5
  230. package/dist/esm/ion-toggle.entry.js +4 -4
  231. package/dist/esm/ionic.js +1 -1
  232. package/dist/esm/loader.js +1 -1
  233. package/dist/esm/{overlays-DLNOHWNc.js → overlays-Bmfhux69.js} +31 -28
  234. package/dist/html.html-data.json +79 -51
  235. package/dist/ionic/index.esm.js +1 -1
  236. package/dist/ionic/ionic.esm.js +1 -1
  237. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  238. package/dist/ionic/p-02473803.entry.js +4 -0
  239. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  240. package/dist/ionic/p-20b1a044.entry.js +4 -0
  241. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  242. package/dist/ionic/p-27d30585.entry.js +4 -0
  243. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  244. package/dist/ionic/p-2f529a55.entry.js +4 -0
  245. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  246. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  247. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  248. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  249. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  250. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  251. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  252. package/dist/ionic/p-485fda23.entry.js +4 -0
  253. package/dist/ionic/p-48fa7fb1.entry.js +4 -0
  254. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  255. package/dist/ionic/p-4d9181c7.entry.js +4 -0
  256. package/dist/ionic/p-50e1194a.entry.js +4 -0
  257. package/dist/ionic/p-532eb373.entry.js +4 -0
  258. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  259. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  260. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  261. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  262. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  263. package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
  264. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  265. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  266. package/dist/ionic/p-B0zdMdR0.js +4 -0
  267. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  268. package/dist/ionic/p-DzWaWHGc.js +4 -0
  269. package/dist/ionic/p-a21add2f.entry.js +4 -0
  270. package/dist/ionic/p-ab60b48a.entry.js +4 -0
  271. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  272. package/dist/ionic/{p-c93553d2.entry.js → p-cf91e738.entry.js} +1 -1
  273. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  274. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  275. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  276. package/dist/ionic/p-f994dc44.entry.js +4 -0
  277. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  278. package/dist/ionic/p-fd76f647.entry.js +4 -0
  279. package/dist/ionic/p-fda60562.entry.js +4 -0
  280. package/dist/types/components/img/img.d.ts +0 -2
  281. package/dist/types/components/input/input.d.ts +1 -1
  282. package/dist/types/components/modal/modal.d.ts +4 -11
  283. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  284. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  285. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  286. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  287. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  288. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  289. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  290. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  291. package/dist/types/components/select/select-interface.d.ts +0 -31
  292. package/dist/types/components/select/select.d.ts +0 -18
  293. package/dist/types/components/select-option/select-option.d.ts +1 -42
  294. package/dist/types/components.d.ts +288 -72
  295. package/dist/types/index.d.ts +1 -1
  296. package/dist/types/interface.d.ts +1 -0
  297. package/dist/types/utils/config.d.ts +8 -0
  298. package/dist/types/utils/overlays.d.ts +9 -11
  299. package/dist/types/utils/sanitization/index.d.ts +2 -58
  300. package/hydrate/index.js +1188 -1407
  301. package/hydrate/index.mjs +1188 -1407
  302. package/package.json +5 -37
  303. package/components/p-279dFMvg.js +0 -4
  304. package/components/p-BSQPZ79H.js +0 -4
  305. package/components/p-BwKpO3Is.js +0 -4
  306. package/components/p-C-Rx1zny.js +0 -4
  307. package/components/p-CHzfYZbv.js +0 -4
  308. package/components/p-D4h1H_hh.js +0 -4
  309. package/components/p-LMGfIvTf.js +0 -4
  310. package/components/p-_lHSumhG.js +0 -4
  311. package/components/p-j9Da6cYO.js +0 -4
  312. package/components/p-jOtMJMv8.js +0 -4
  313. package/components/p-uTR_dEqg.js +0 -4
  314. package/dist/cjs/config-DWdFbSNK.js +0 -35
  315. package/dist/cjs/index-Cueg3U4w.js +0 -429
  316. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  317. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  318. package/dist/collection/utils/overlay-control-label.js +0 -45
  319. package/dist/collection/utils/select-option-render.js +0 -119
  320. package/dist/esm/config-BwKpO3Is.js +0 -31
  321. package/dist/esm/index-DQSkZyOJ.js +0 -424
  322. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  323. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  324. package/dist/ionic/p-038eb991.entry.js +0 -4
  325. package/dist/ionic/p-4621c387.entry.js +0 -4
  326. package/dist/ionic/p-4ace7762.entry.js +0 -4
  327. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  328. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  329. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  330. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  331. package/dist/ionic/p-700795f6.entry.js +0 -4
  332. package/dist/ionic/p-79a36078.entry.js +0 -4
  333. package/dist/ionic/p-913b218a.entry.js +0 -4
  334. package/dist/ionic/p-BDtODLZ4.js +0 -4
  335. package/dist/ionic/p-BSQPZ79H.js +0 -4
  336. package/dist/ionic/p-BwKpO3Is.js +0 -4
  337. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  338. package/dist/ionic/p-DCOvXkOm.js +0 -4
  339. package/dist/ionic/p-a9a33367.entry.js +0 -4
  340. package/dist/ionic/p-ad728198.entry.js +0 -4
  341. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  342. package/dist/ionic/p-c08e666a.entry.js +0 -4
  343. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  344. package/dist/ionic/p-ed797c72.entry.js +0 -4
  345. package/dist/ionic/p-f09f9642.entry.js +0 -4
  346. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  347. package/dist/ionic/p-f718fccb.entry.js +0 -4
  348. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  349. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -30,8 +30,6 @@ const Img = class {
30
30
  this.inheritedAttributes = helpers.inheritAttributes(this.el, ['draggable']);
31
31
  }
32
32
  componentDidLoad() {
33
- index.printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
34
- 'Use a native <img> with the loading="lazy" attribute instead.', this.el);
35
33
  this.addIO();
36
34
  }
37
35
  disconnectedCallback() {
@@ -84,7 +82,7 @@ const Img = class {
84
82
  render() {
85
83
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
86
84
  const { draggable } = inheritedAttributes;
87
- return (index.h(index.Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
85
+ return (index.h(index.Host, { key: '9bfaa659b0680189fd29f3acb2fdce7f70be6060', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: 'd484beae0d5cbe0406958bfad40cdd6c05625340', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
88
86
  }
89
87
  get el() { return index.getElement(this); }
90
88
  static get watchers() { return {
@@ -6,8 +6,7 @@
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var index$1 = require('./index-CIrkNXqJ.js');
8
8
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
9
- var config = require('./config-DWdFbSNK.js');
10
- var index$2 = require('./index-Cueg3U4w.js');
9
+ var config = require('./config-xninhj0J.js');
11
10
  require('./helpers-Cv23MFHM.js');
12
11
 
13
12
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -235,7 +234,7 @@ const InfiniteScrollContent = class {
235
234
  renderLoadingText() {
236
235
  const { customHTMLEnabled, loadingText } = this;
237
236
  if (customHTMLEnabled) {
238
- return index.h("div", { class: "infinite-loading-text", innerHTML: index$2.sanitizeDOMString(loadingText) });
237
+ return index.h("div", { class: "infinite-loading-text", innerHTML: config.sanitizeDOMString(loadingText) });
239
238
  }
240
239
  return index.h("div", { class: "infinite-loading-text" }, this.loadingText);
241
240
  }
@@ -62,7 +62,7 @@ const Input = class {
62
62
  /**
63
63
  * Whether auto correction should be enabled when the user is entering/editing the text value.
64
64
  */
65
- this.autocorrect = false;
65
+ this.autocorrect = 'off';
66
66
  /**
67
67
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
68
68
  *
@@ -546,7 +546,7 @@ const Input = class {
546
546
  * TODO(FW-5592): Remove hasStartEndSlots condition
547
547
  */
548
548
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
549
- return (index.h(index.Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: theme.createColorClasses(this.color, {
549
+ return (index.h(index.Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: theme.createColorClasses(this.color, {
550
550
  [mode]: true,
551
551
  'has-value': hasValue,
552
552
  'has-focus': hasFocus,
@@ -557,14 +557,14 @@ const Input = class {
557
557
  'in-item': inItem,
558
558
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
559
559
  'input-disabled': disabled,
560
- }) }, index.h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), index.h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
560
+ }) }, index.h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), index.h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
561
561
  /**
562
562
  * This prevents mobile browsers from
563
563
  * blurring the input when the clear
564
564
  * button is activated.
565
565
  */
566
566
  ev.preventDefault();
567
- }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && index.h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
567
+ }, onClick: this.clearTextInput }, index.h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
568
568
  }
569
569
  get el() { return index.getElement(this); }
570
570
  static get watchers() { return {
@@ -506,11 +506,11 @@ const SkeletonText = class {
506
506
  const animated = this.animated && index.config.getBoolean('animated', true);
507
507
  const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
508
508
  const mode = ionicGlobal.getIonMode(this);
509
- return (index.h(index.Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
509
+ return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
510
510
  [mode]: true,
511
511
  'skeleton-text-animated': animated,
512
512
  'in-media': inMedia,
513
- } }, index.h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
513
+ } }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
514
514
  }
515
515
  get el() { return index.getElement(this); }
516
516
  };
@@ -4,11 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var config = require('./config-DWdFbSNK.js');
7
+ var config = require('./config-xninhj0J.js');
8
8
  var helpers = require('./helpers-Cv23MFHM.js');
9
9
  var lockController = require('./lock-controller-aDB9wrEf.js');
10
- var overlays = require('./overlays-DSmSrd_4.js');
11
- var index$1 = require('./index-Cueg3U4w.js');
10
+ var overlays = require('./overlays-B9UiYZ4R.js');
12
11
  var theme = require('./theme-CeDs6Hcv.js');
13
12
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
14
13
  var animation = require('./animation-BJq0kcy2.js');
@@ -214,10 +213,6 @@ const Loading = class {
214
213
  }
215
214
  disconnectedCallback() {
216
215
  this.triggerController.removeClickListener();
217
- // Clean up aria-hidden if removed without dismiss() being called
218
- if (this.presented) {
219
- overlays.cleanupRootFocusTrapAccessibility();
220
- }
221
216
  }
222
217
  /**
223
218
  * Present the loading overlay after it has been created.
@@ -270,7 +265,7 @@ const Loading = class {
270
265
  renderLoadingMessage(msgId) {
271
266
  const { customHTMLEnabled, message } = this;
272
267
  if (customHTMLEnabled) {
273
- return index.h("div", { class: "loading-content", id: msgId, innerHTML: index$1.sanitizeDOMString(message) });
268
+ return index.h("div", { class: "loading-content", id: msgId, innerHTML: config.sanitizeDOMString(message) });
274
269
  }
275
270
  return (index.h("div", { class: "loading-content", id: msgId }, message));
276
271
  }
@@ -283,9 +278,9 @@ const Loading = class {
283
278
  * Otherwise, don't set aria-labelledby.
284
279
  */
285
280
  const ariaLabelledBy = message !== undefined ? msgId : null;
286
- return (index.h(index.Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
281
+ return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
287
282
  zIndex: `${40000 + this.overlayIndex}`,
288
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, index.h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
283
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
289
284
  }
290
285
  get el() { return index.getElement(this); }
291
286
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
8
- var overlays = require('./overlays-DSmSrd_4.js');
8
+ var overlays = require('./overlays-B9UiYZ4R.js');
9
9
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
10
10
  var hardwareBackButton = require('./hardware-back-button-iUuF_76h.js');
11
11
  var helpers = require('./helpers-Cv23MFHM.js');
@@ -9,7 +9,7 @@ var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
11
  var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-DSmSrd_4.js');
12
+ var overlays = require('./overlays-B9UiYZ4R.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
14
  var index$4 = require('./index-BERfRao3.js');
15
15
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
@@ -332,8 +332,15 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
332
332
  }
333
333
  return false;
334
334
  };
335
+ /**
336
+ * In Firefox, pressing over a text caret in the focusable wrapper can
337
+ * start a native drag that swallows the gesture's pointer events.
338
+ * Cancel native drag while the gesture is active.
339
+ */
340
+ const preventNativeDragStart = (ev) => ev.preventDefault();
335
341
  const onStart = (detail) => {
336
342
  const { deltaY } = detail;
343
+ el.addEventListener('dragstart', preventNativeDragStart);
337
344
  /**
338
345
  * Get the initial scrollY value so
339
346
  * that we can correctly reset the scrollY
@@ -436,6 +443,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
436
443
  onDragMove(eventDetail);
437
444
  };
438
445
  const onEnd = (detail) => {
446
+ el.removeEventListener('dragstart', preventNativeDragStart);
439
447
  const velocity = detail.velocityY;
440
448
  const step = detail.deltaY / height;
441
449
  const isAttemptingDismissWithCanDismiss = step >= 0 && canDismissBlocksGesture;
@@ -1218,7 +1226,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1218
1226
  }
1219
1227
  return true;
1220
1228
  };
1229
+ /**
1230
+ * In Firefox, pressing over a text caret in the focusable wrapper can
1231
+ * start a native drag that swallows the gesture's pointer events.
1232
+ * Cancel native drag while the gesture is active.
1233
+ */
1234
+ const preventNativeDragStart = (ev) => ev.preventDefault();
1221
1235
  const onStart = (detail) => {
1236
+ baseEl.addEventListener('dragstart', preventNativeDragStart);
1222
1237
  /**
1223
1238
  * If canDismiss is anything other than `true`
1224
1239
  * then users should be able to swipe down
@@ -1345,6 +1360,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1345
1360
  onDragMove(eventDetail);
1346
1361
  };
1347
1362
  const onEnd = (detail) => {
1363
+ baseEl.removeEventListener('dragstart', preventNativeDragStart);
1348
1364
  const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
1349
1365
  const eventDetail = {
1350
1366
  currentY: detail.currentY,
@@ -1821,9 +1837,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1821
1837
  hostEl.style.removeProperty('--ion-safe-area-right');
1822
1838
  };
1823
1839
 
1824
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1840
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1825
1841
 
1826
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1842
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1827
1843
 
1828
1844
  const Modal = class {
1829
1845
  constructor(hostRef) {
@@ -1883,20 +1899,13 @@ const Modal = class {
1883
1899
  /**
1884
1900
  * The interaction behavior for the sheet modal when the handle is pressed.
1885
1901
  *
1886
- * Handle behavior is unavailable when the `handle` property is set to
1887
- * `false` or when the `breakpoints` property is not set (using a
1888
- * fullscreen or card modal).
1902
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
1903
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
1889
1904
  *
1890
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
1891
- * cycle between available breakpoints when pressed. This keeps the sheet
1892
- * operable with assistive technology.
1893
- *
1894
- * Set to `"none"` to make the handle purely decorative when pressed and
1895
- * removed from the tab order.
1896
- *
1897
- * Defaults to `"cycle"`.
1905
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
1906
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
1898
1907
  */
1899
- this.handleBehavior = 'cycle';
1908
+ this.handleBehavior = 'none';
1900
1909
  /**
1901
1910
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1902
1911
  */
@@ -2088,10 +2097,6 @@ const Modal = class {
2088
2097
  // Also called in dismiss() — intentional dual cleanup covers both
2089
2098
  // dismiss-then-remove and direct DOM removal without dismiss.
2090
2099
  this.cleanupSafeAreaOverrides();
2091
- // Clean up aria-hidden if removed without dismiss() being called
2092
- if (this.presented) {
2093
- overlays.cleanupRootFocusTrapAccessibility();
2094
- }
2095
2100
  }
2096
2101
  componentWillLoad() {
2097
2102
  var _a;
@@ -2971,20 +2976,25 @@ const Modal = class {
2971
2976
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2972
2977
  const isHandleCycle = handleBehavior === 'cycle';
2973
2978
  const isSheetModalWithHandle = isSheetModal && showHandle;
2974
- return (index$3.h(index$3.Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
2979
+ return (index$3.h(index$3.Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2975
2980
  // Allow the modal to be navigable when the handle is focusable
2976
2981
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2977
2982
  zIndex: `${20000 + this.overlayIndex}`,
2978
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
2983
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '871a7ba7389f477acb011fc3b1c0a27760d0bfa7',
2979
2984
  /*
2980
2985
  role and aria-modal must be used on the
2981
2986
  same element. They must also be set inside the
2982
2987
  shadow DOM otherwise ion-button will not be highlighted
2983
2988
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2989
+
2990
+ tabIndex={-1} is required so present() can move focus to this
2991
+ element (which carries the dialog role) instead of the role-less
2992
+ host. role="dialog" alone does not make an element focusable, so
2993
+ without the tabindex focus() would be a no-op.
2984
2994
  */
2985
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
2995
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '44017261773bc2593d451d2dc805ae83923e679c', class: "modal-handle",
2986
2996
  // Prevents the handle from receiving keyboard focus when it does not cycle
2987
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
2997
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: '006de71db3e69911ce6f4b10550ddb8aa0353997', onSlotchange: this.onSlotChange }))));
2988
2998
  }
2989
2999
  get el() { return index$3.getElement(this); }
2990
3000
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var overlays = require('./overlays-DSmSrd_4.js');
7
+ var overlays = require('./overlays-B9UiYZ4R.js');
8
8
  var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
@@ -1090,9 +1090,9 @@ const mdLeaveAnimation = (baseEl) => {
1090
1090
  .addAnimation([backdropAnimation, wrapperAnimation]);
1091
1091
  };
1092
1092
 
1093
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1093
+ const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1094
1094
 
1095
- const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1095
+ const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1096
1096
 
1097
1097
  const Popover = class {
1098
1098
  constructor(hostRef) {
@@ -1306,10 +1306,6 @@ const Popover = class {
1306
1306
  this.headerResizeObserver.disconnect();
1307
1307
  this.headerResizeObserver = undefined;
1308
1308
  }
1309
- // Clean up aria-hidden if removed without dismiss() being called
1310
- if (this.presented) {
1311
- overlays.cleanupRootFocusTrapAccessibility();
1312
- }
1313
1309
  }
1314
1310
  componentWillLoad() {
1315
1311
  var _a, _b;
@@ -1548,9 +1544,9 @@ const Popover = class {
1548
1544
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1549
1545
  const desktop = ionicGlobal.isPlatform('desktop');
1550
1546
  const enableArrow = arrow && !parentPopover;
1551
- return (index.h(index.Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1547
+ return (index.h(index.Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1552
1548
  zIndex: `${20000 + this.overlayIndex}`,
1553
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, index.h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1549
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, index.h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1554
1550
  }
1555
1551
  get el() { return index.getElement(this); }
1556
1552
  static get watchers() { return {
@@ -42,7 +42,7 @@ const ProgressBar = class {
42
42
  const mode = ionicGlobal.getIonMode(this);
43
43
  // If the progress is displayed as a solid bar.
44
44
  const progressSolid = buffer === 1;
45
- return (index.h(index.Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
45
+ return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
46
46
  [mode]: true,
47
47
  [`progress-bar-${type}`]: true,
48
48
  'progress-paused': paused,
@@ -138,7 +138,7 @@ const Radio = class {
138
138
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
139
139
  const mode = ionicGlobal.getIonMode(this);
140
140
  const inItem = theme.hostContext('ion-item', el);
141
- return (index.h(index.Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
141
+ return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
142
142
  [mode]: true,
143
143
  'in-item': inItem,
144
144
  'radio-checked': checked,
@@ -149,10 +149,10 @@ const Radio = class {
149
149
  // Focus and active styling should not apply when the radio is in an item
150
150
  'ion-activatable': !inItem,
151
151
  'ion-focusable': !inItem,
152
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, index.h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
152
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
153
153
  'label-text-wrapper': true,
154
154
  'label-text-wrapper-hidden': !hasLabel,
155
- }, part: "label" }, index.h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), index.h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
155
+ }, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
156
156
  }
157
157
  get el() { return index.getElement(this); }
158
158
  static get watchers() { return {
@@ -794,7 +794,7 @@ const Range = class {
794
794
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
795
795
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
796
796
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
797
- return (index.h(index.Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
797
+ return (index.h(index.Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
798
798
  [mode]: true,
799
799
  'in-item': inItem,
800
800
  'range-disabled': disabled,
@@ -808,10 +808,10 @@ const Range = class {
808
808
  'range-item-end-adjustment': needsEndAdjustment,
809
809
  'range-value-min': valueAtMin,
810
810
  'range-value-max': valueAtMax,
811
- }) }, index.h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
811
+ }) }, index.h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
812
812
  'label-text-wrapper': true,
813
813
  'label-text-wrapper-hidden': !hasLabel,
814
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, index.h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
814
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, index.h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
815
815
  }
816
816
  get el() { return index.getElement(this); }
817
817
  static get watchers() { return {
@@ -10,8 +10,7 @@ var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var haptic = require('./haptic-ClPPQ_PS.js');
11
11
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
12
12
  var animation = require('./animation-BJq0kcy2.js');
13
- var config = require('./config-DWdFbSNK.js');
14
- var index$3 = require('./index-Cueg3U4w.js');
13
+ var config = require('./config-xninhj0J.js');
15
14
  var index$2 = require('./index-DqmRDbxg.js');
16
15
  var spinnerConfigs = require('./spinner-configs-DxHKnd3-.js');
17
16
  require('./capacitor-DmA66EwP.js');
@@ -919,7 +918,7 @@ const Refresher = class {
919
918
  }
920
919
  render() {
921
920
  const mode = ionicGlobal.getIonMode(this);
922
- return (index.h(index.Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
921
+ return (index.h(index.Host, { key: '80fa313b0d77161680836bdd6aa334d02c549b41', slot: "fixed", class: {
923
922
  [mode]: true,
924
923
  // Used internally for styling
925
924
  [`refresher-${mode}`]: true,
@@ -969,14 +968,14 @@ const RefresherContent = class {
969
968
  renderPullingText() {
970
969
  const { customHTMLEnabled, pullingText } = this;
971
970
  if (customHTMLEnabled) {
972
- return index.h("div", { class: "refresher-pulling-text", innerHTML: index$3.sanitizeDOMString(pullingText) });
971
+ return index.h("div", { class: "refresher-pulling-text", innerHTML: config.sanitizeDOMString(pullingText) });
973
972
  }
974
973
  return index.h("div", { class: "refresher-pulling-text" }, pullingText);
975
974
  }
976
975
  renderRefreshingText() {
977
976
  const { customHTMLEnabled, refreshingText } = this;
978
977
  if (customHTMLEnabled) {
979
- return index.h("div", { class: "refresher-refreshing-text", innerHTML: index$3.sanitizeDOMString(refreshingText) });
978
+ return index.h("div", { class: "refresher-refreshing-text", innerHTML: config.sanitizeDOMString(refreshingText) });
980
979
  }
981
980
  return index.h("div", { class: "refresher-refreshing-text" }, refreshingText);
982
981
  }
@@ -984,7 +983,7 @@ const RefresherContent = class {
984
983
  const pullingIcon = this.pullingIcon;
985
984
  const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
986
985
  const mode = ionicGlobal.getIonMode(this);
987
- return (index.h(index.Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, index.h("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, index.h("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, index.h("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
986
+ return (index.h(index.Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, index.h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, index.h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, index.h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
988
987
  }
989
988
  get el() { return index.getElement(this); }
990
989
  };
@@ -32,7 +32,7 @@ const Reorder = class {
32
32
  render() {
33
33
  const mode = ionicGlobal.getIonMode(this);
34
34
  const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
35
- return (index.h(index.Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, index.h("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, index.h("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
35
+ return (index.h(index.Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, index.h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, index.h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36
36
  }
37
37
  get el() { return index.getElement(this); }
38
38
  };
@@ -295,7 +295,7 @@ const ReorderGroup = class {
295
295
  }
296
296
  render() {
297
297
  const mode = ionicGlobal.getIonMode(this);
298
- return (index.h(index.Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
298
+ return (index.h(index.Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
299
299
  [mode]: true,
300
300
  'reorder-enabled': !this.disabled,
301
301
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -74,7 +74,7 @@ const RippleEffect = class {
74
74
  }
75
75
  render() {
76
76
  const mode = ionicGlobal.getIonMode(this);
77
- return (index.h(index.Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
77
+ return (index.h(index.Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
78
78
  [mode]: true,
79
79
  unbounded: this.unbounded,
80
80
  } }));
@@ -1073,10 +1073,10 @@ const RouterLink = class {
1073
1073
  rel: this.rel,
1074
1074
  target: this.target,
1075
1075
  };
1076
- return (index.h(index.Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: theme.createColorClasses(this.color, {
1076
+ return (index.h(index.Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: theme.createColorClasses(this.color, {
1077
1077
  [mode]: true,
1078
1078
  'ion-activatable': true,
1079
- }) }, index.h("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), index.h("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
1079
+ }) }, index.h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), index.h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
1080
1080
  }
1081
1081
  };
1082
1082
  RouterLink.style = routerLinkCss();
@@ -46,7 +46,7 @@ const Searchbar = class {
46
46
  /**
47
47
  * Set the input's autocorrect property.
48
48
  */
49
- this.autocorrect = false;
49
+ this.autocorrect = 'off';
50
50
  /**
51
51
  * Set the cancel button icon. Only applies to `md` mode.
52
52
  * Defaults to `arrow-back-sharp`.
@@ -470,8 +470,8 @@ const Searchbar = class {
470
470
  const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
471
471
  const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
472
472
  const shouldShowCancelButton = this.shouldShowCancelButton();
473
- const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '73964da43dbd099fc7f3d30cbc4da11087701ac5', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '27335a0e35f6c253c074685fa0b088404927bcbb', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
474
- return (index.h(index.Host, { key: '1b4f6c4e7dffb02e092f0026ce3875822d98a631', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
473
+ const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
474
+ return (index.h(index.Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
475
475
  [mode]: true,
476
476
  'searchbar-animated': animated,
477
477
  'searchbar-disabled': this.disabled,
@@ -481,14 +481,14 @@ const Searchbar = class {
481
481
  'searchbar-has-focus': this.focused,
482
482
  'searchbar-should-show-clear': this.shouldShowClearButton(),
483
483
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
484
- }) }, index.h("div", { key: '587e1950e329cfb9d3658be5b2a6491e7af9321a', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '7f78a3d22cce03af277a538b4d9f85faddf1fa80', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '9fd3e458978b64e9e3358bcbb26471753f6ff2a6', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: 'c7864c85923668dfa25f5fc4a70c7dbf6da191b7', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
484
+ }) }, index.h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
485
485
  /**
486
486
  * This prevents mobile browsers from
487
487
  * blurring the input when the clear
488
488
  * button is activated.
489
489
  */
490
490
  ev.preventDefault();
491
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '47e7a15c6c6d4df4c54c62b042842e499627da05', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
491
+ }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
492
492
  }
493
493
  get el() { return index.getElement(this); }
494
494
  static get watchers() { return {