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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +1 -1
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input-otp.js +1 -1
  36. package/components/ion-input-password-toggle.js +1 -1
  37. package/components/ion-input.js +1 -1
  38. package/components/ion-item-divider.js +1 -1
  39. package/components/ion-item-group.js +1 -1
  40. package/components/ion-item-option.js +1 -1
  41. package/components/ion-item-options.js +1 -1
  42. package/components/ion-item-sliding.js +1 -1
  43. package/components/ion-item.js +1 -1
  44. package/components/ion-label.js +1 -1
  45. package/components/ion-list-header.js +1 -1
  46. package/components/ion-list.js +1 -1
  47. package/components/ion-loading.js +1 -1
  48. package/components/ion-menu-button.js +1 -1
  49. package/components/ion-menu-toggle.js +1 -1
  50. package/components/ion-menu.js +1 -1
  51. package/components/ion-modal.js +1 -1
  52. package/components/ion-nav.js +1 -1
  53. package/components/ion-note.js +1 -1
  54. package/components/ion-picker-column-option.js +1 -1
  55. package/components/ion-picker-column.js +1 -1
  56. package/components/ion-popover.js +1 -1
  57. package/components/ion-progress-bar.js +1 -1
  58. package/components/ion-radio-group.js +1 -1
  59. package/components/ion-radio.js +1 -1
  60. package/components/ion-range.js +1 -1
  61. package/components/ion-refresher-content.js +1 -1
  62. package/components/ion-refresher.js +1 -1
  63. package/components/ion-reorder-group.js +1 -1
  64. package/components/ion-reorder.js +1 -1
  65. package/components/ion-ripple-effect.js +1 -1
  66. package/components/ion-router-link.js +1 -1
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +1 -1
  70. package/components/ion-searchbar.js +1 -1
  71. package/components/ion-segment-button.js +1 -1
  72. package/components/ion-segment-content.js +1 -1
  73. package/components/ion-segment-view.js +1 -1
  74. package/components/ion-segment.js +1 -1
  75. package/components/ion-select-modal.js +1 -1
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select-popover.js +1 -1
  78. package/components/ion-select.js +1 -1
  79. package/components/ion-skeleton-text.js +1 -1
  80. package/components/ion-spinner.js +1 -1
  81. package/components/ion-split-pane.js +1 -1
  82. package/components/ion-tab-bar.js +1 -1
  83. package/components/ion-tab-button.js +1 -1
  84. package/components/ion-tab.js +1 -1
  85. package/components/ion-tabs.js +1 -1
  86. package/components/ion-text.js +1 -1
  87. package/components/ion-textarea.js +1 -1
  88. package/components/ion-thumbnail.js +1 -1
  89. package/components/ion-title.js +1 -1
  90. package/components/ion-toast.js +1 -1
  91. package/components/ion-toggle.js +1 -1
  92. package/components/ion-toolbar.js +1 -1
  93. package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
  94. package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
  95. package/components/p-BG9RNTmW.js +4 -0
  96. package/components/p-BSQPZ79H.js +4 -0
  97. package/components/p-BnTB62Lu.js +4 -0
  98. package/components/p-BwKpO3Is.js +4 -0
  99. package/components/p-CEktCi-l.js +4 -0
  100. package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
  101. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  102. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  103. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  104. package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
  105. package/components/p-CwcD5kE9.js +4 -0
  106. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  107. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  108. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  109. package/components/p-D1-tlI3U.js +4 -0
  110. package/components/p-D2D6VdCA.js +4 -0
  111. package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
  112. package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
  113. package/components/p-DK0D_QD_.js +4 -0
  114. package/components/p-DXTfY6aF.js +4 -0
  115. package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
  116. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  117. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  118. package/components/p-Dtmv7Nm_.js +4 -0
  119. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  120. package/components/p-FV45cfy9.js +4 -0
  121. package/components/p-LMGfIvTf.js +4 -0
  122. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  123. package/components/p-jOtMJMv8.js +4 -0
  124. package/components/p-xjzudrQv.js +4 -0
  125. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  126. package/dist/cjs/config-DWdFbSNK.js +35 -0
  127. package/dist/cjs/index-Cueg3U4w.js +429 -0
  128. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  129. package/dist/cjs/index.cjs.js +7 -7
  130. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
  132. package/dist/cjs/ion-alert.cjs.entry.js +65 -26
  133. package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
  134. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  143. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  144. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
  145. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-img.cjs.entry.js +4 -2
  147. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
  148. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  149. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-loading.cjs.entry.js +11 -6
  154. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  155. package/dist/cjs/ion-modal.cjs.entry.js +24 -33
  156. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  157. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  158. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  159. package/dist/cjs/ion-popover.cjs.entry.js +10 -6
  160. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
  164. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
  167. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
  172. package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
  173. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  176. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-toast.cjs.entry.js +7 -6
  180. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  181. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  182. package/dist/cjs/ionic.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  185. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
  186. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  187. package/dist/collection/collection-manifest.json +6 -10
  188. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  190. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  191. package/dist/collection/components/alert/alert.ios.css +280 -10
  192. package/dist/collection/components/alert/alert.js +59 -21
  193. package/dist/collection/components/alert/alert.md.css +269 -20
  194. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  195. package/dist/collection/components/datetime/datetime.js +10 -17
  196. package/dist/collection/components/datetime/datetime.md.css +42 -1
  197. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  198. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  199. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  200. package/dist/collection/components/img/img.js +6 -1
  201. package/dist/collection/components/input/input.js +8 -8
  202. package/dist/collection/components/loading/loading.js +7 -3
  203. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  204. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  205. package/dist/collection/components/modal/modal.ios.css +0 -8
  206. package/dist/collection/components/modal/modal.js +23 -18
  207. package/dist/collection/components/modal/modal.md.css +0 -8
  208. package/dist/collection/components/nav/nav.js +4 -219
  209. package/dist/collection/components/picker-column/picker-column.css +3 -0
  210. package/dist/collection/components/picker-column/picker-column.js +4 -11
  211. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  212. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  213. package/dist/collection/components/popover/popover.ios.css +15 -0
  214. package/dist/collection/components/popover/popover.js +7 -3
  215. package/dist/collection/components/popover/popover.md.css +15 -0
  216. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  217. package/dist/collection/components/radio/radio.js +4 -4
  218. package/dist/collection/components/range/range.js +3 -3
  219. package/dist/collection/components/refresher/refresher.js +1 -1
  220. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  221. package/dist/collection/components/reorder/reorder.js +1 -1
  222. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  223. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  224. package/dist/collection/components/route/route.js +1 -1
  225. package/dist/collection/components/router/utils/dom.js +22 -3
  226. package/dist/collection/components/router-link/router-link.js +2 -2
  227. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  228. package/dist/collection/components/row/row.js +1 -1
  229. package/dist/collection/components/searchbar/searchbar.js +9 -9
  230. package/dist/collection/components/segment/segment.js +2 -2
  231. package/dist/collection/components/segment-button/segment-button.js +2 -2
  232. package/dist/collection/components/segment-content/segment-content.js +1 -1
  233. package/dist/collection/components/segment-view/segment-view.js +2 -2
  234. package/dist/collection/components/select/select.ios.css +33 -0
  235. package/dist/collection/components/select/select.js +323 -16
  236. package/dist/collection/components/select/select.md.css +33 -0
  237. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  238. package/dist/collection/components/select-modal/select-modal.js +79 -26
  239. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  240. package/dist/collection/components/select-option/select-option.js +67 -3
  241. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  242. package/dist/collection/components/select-popover/select-popover.js +78 -26
  243. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  244. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  245. package/dist/collection/components/spinner/spinner.js +1 -1
  246. package/dist/collection/components/split-pane/split-pane.js +2 -2
  247. package/dist/collection/components/tab/tab.js +2 -2
  248. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  249. package/dist/collection/components/tab-button/tab-button.js +2 -2
  250. package/dist/collection/components/tabs/tabs.js +1 -1
  251. package/dist/collection/components/text/text.js +2 -2
  252. package/dist/collection/components/textarea/textarea.js +2 -2
  253. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  254. package/dist/collection/components/title/title.js +2 -2
  255. package/dist/collection/components/toast/toast.js +2 -2
  256. package/dist/collection/components/toggle/toggle.js +3 -3
  257. package/dist/collection/components/toolbar/toolbar.js +2 -2
  258. package/dist/collection/index.js +1 -1
  259. package/dist/collection/utils/overlay-control-label.js +45 -0
  260. package/dist/collection/utils/overlays.js +26 -30
  261. package/dist/collection/utils/platform.js +2 -2
  262. package/dist/collection/utils/sanitization/index.js +274 -18
  263. package/dist/collection/utils/select-option-render.js +119 -0
  264. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  265. package/dist/docs.json +556 -1272
  266. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  267. package/dist/esm/config-BwKpO3Is.js +31 -0
  268. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  269. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  270. package/dist/esm/index-DQSkZyOJ.js +424 -0
  271. package/dist/esm/index.js +5 -4
  272. package/dist/esm/ion-accordion_2.entry.js +2 -2
  273. package/dist/esm/ion-action-sheet.entry.js +28 -8
  274. package/dist/esm/ion-alert.entry.js +64 -25
  275. package/dist/esm/ion-app_8.entry.js +24 -10
  276. package/dist/esm/ion-avatar_3.entry.js +2 -2
  277. package/dist/esm/ion-back-button.entry.js +2 -2
  278. package/dist/esm/ion-backdrop.entry.js +1 -1
  279. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  280. package/dist/esm/ion-button_2.entry.js +1 -1
  281. package/dist/esm/ion-card_5.entry.js +1 -1
  282. package/dist/esm/ion-checkbox.entry.js +1 -1
  283. package/dist/esm/ion-chip.entry.js +1 -1
  284. package/dist/esm/ion-col_3.entry.js +2 -2
  285. package/dist/esm/ion-datetime-button.entry.js +5 -11
  286. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
  287. package/dist/esm/ion-fab_3.entry.js +2 -2
  288. package/dist/esm/ion-img.entry.js +5 -3
  289. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
  290. package/dist/esm/ion-input-otp.entry.js +1 -1
  291. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  292. package/dist/esm/ion-input.entry.js +6 -6
  293. package/dist/esm/ion-item-option_3.entry.js +1 -1
  294. package/dist/esm/ion-item_8.entry.js +4 -4
  295. package/dist/esm/ion-loading.entry.js +10 -5
  296. package/dist/esm/ion-menu_3.entry.js +4 -4
  297. package/dist/esm/ion-modal.entry.js +24 -33
  298. package/dist/esm/ion-nav_2.entry.js +4 -117
  299. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  300. package/dist/esm/ion-picker-column.entry.js +5 -11
  301. package/dist/esm/ion-popover.entry.js +10 -6
  302. package/dist/esm/ion-progress-bar.entry.js +2 -2
  303. package/dist/esm/ion-radio_2.entry.js +4 -4
  304. package/dist/esm/ion-range.entry.js +4 -4
  305. package/dist/esm/ion-refresher_2.entry.js +6 -5
  306. package/dist/esm/ion-reorder_2.entry.js +4 -4
  307. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  308. package/dist/esm/ion-route_4.entry.js +19 -5
  309. package/dist/esm/ion-searchbar.entry.js +7 -7
  310. package/dist/esm/ion-segment-content.entry.js +1 -1
  311. package/dist/esm/ion-segment-view.entry.js +2 -2
  312. package/dist/esm/ion-segment_2.entry.js +5 -5
  313. package/dist/esm/ion-select-modal.entry.js +85 -31
  314. package/dist/esm/ion-select_3.entry.js +411 -53
  315. package/dist/esm/ion-spinner.entry.js +2 -2
  316. package/dist/esm/ion-split-pane.entry.js +3 -3
  317. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  318. package/dist/esm/ion-tab_2.entry.js +3 -3
  319. package/dist/esm/ion-text.entry.js +3 -3
  320. package/dist/esm/ion-textarea.entry.js +3 -3
  321. package/dist/esm/ion-toast.entry.js +6 -5
  322. package/dist/esm/ion-toggle.entry.js +5 -5
  323. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  324. package/dist/esm/ionic.js +3 -3
  325. package/dist/esm/loader.js +3 -3
  326. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  327. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
  328. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  329. package/dist/html.html-data.json +52 -80
  330. package/dist/ionic/index.esm.js +1 -1
  331. package/dist/ionic/ionic.esm.js +1 -1
  332. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  333. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  334. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  335. package/dist/ionic/p-129d3ed9.entry.js +4 -0
  336. package/dist/ionic/p-1d9e649a.entry.js +4 -0
  337. package/dist/ionic/p-2b3a2a38.entry.js +4 -0
  338. package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
  339. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  340. package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
  341. package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
  342. package/dist/ionic/p-3d719e91.entry.js +4 -0
  343. package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
  344. package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
  345. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  346. package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
  347. package/dist/ionic/p-570a212e.entry.js +4 -0
  348. package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
  349. package/dist/ionic/p-686de5dc.entry.js +4 -0
  350. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  351. package/dist/ionic/p-73d06afe.entry.js +4 -0
  352. package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
  353. package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
  354. package/dist/ionic/p-7cb5cf53.entry.js +4 -0
  355. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  356. package/dist/ionic/p-845eb5d5.entry.js +4 -0
  357. package/dist/ionic/p-88f33e44.entry.js +4 -0
  358. package/dist/ionic/p-89c9c057.entry.js +4 -0
  359. package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
  360. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  361. package/dist/ionic/p-8cde6208.entry.js +4 -0
  362. package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
  363. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  364. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  365. package/dist/ionic/p-BDtODLZ4.js +4 -0
  366. package/dist/ionic/p-BSQPZ79H.js +4 -0
  367. package/dist/ionic/p-BwKpO3Is.js +4 -0
  368. package/dist/ionic/p-CGqbOURp.js +4 -0
  369. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  370. package/dist/ionic/p-DCOvXkOm.js +4 -0
  371. package/dist/ionic/p-DZigX5id.js +4 -0
  372. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  373. package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
  374. package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
  375. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  376. package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
  377. package/dist/ionic/p-b7737b44.entry.js +4 -0
  378. package/dist/ionic/p-ba99d16b.entry.js +4 -0
  379. package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
  380. package/dist/ionic/p-cf68f89c.entry.js +4 -0
  381. package/dist/ionic/p-d183a4ba.entry.js +4 -0
  382. package/dist/ionic/p-d57560ff.entry.js +4 -0
  383. package/dist/ionic/p-d5be2815.entry.js +4 -0
  384. package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
  385. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  386. package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
  387. package/dist/ionic/p-f09f9642.entry.js +4 -0
  388. package/dist/ionic/p-f2ae690a.entry.js +4 -0
  389. package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
  390. package/dist/ionic/p-f88310b9.entry.js +4 -0
  391. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  392. package/dist/types/components/img/img.d.ts +2 -0
  393. package/dist/types/components/input/input.d.ts +1 -1
  394. package/dist/types/components/modal/modal.d.ts +11 -4
  395. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  396. package/dist/types/components/nav/nav.d.ts +2 -22
  397. package/dist/types/components/route/route.d.ts +1 -1
  398. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  399. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  400. package/dist/types/components/select/select-interface.d.ts +31 -0
  401. package/dist/types/components/select/select.d.ts +18 -0
  402. package/dist/types/components/select-option/select-option.d.ts +42 -1
  403. package/dist/types/components.d.ts +74 -311
  404. package/dist/types/index.d.ts +1 -1
  405. package/dist/types/interface.d.ts +0 -1
  406. package/dist/types/utils/config.d.ts +0 -8
  407. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  408. package/dist/types/utils/overlays.d.ts +11 -9
  409. package/dist/types/utils/sanitization/index.d.ts +58 -2
  410. package/dist/types/utils/select-option-render.d.ts +53 -0
  411. package/hydrate/index.js +1355 -1261
  412. package/hydrate/index.mjs +1355 -1261
  413. package/package.json +37 -5
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -4
  416. package/components/ion-picker-legacy.d.ts +0 -11
  417. package/components/ion-picker-legacy.js +0 -4
  418. package/components/p-BIPPbW0M.js +0 -4
  419. package/components/p-BUYFy35a.js +0 -4
  420. package/components/p-BWEZufiK.js +0 -4
  421. package/components/p-BjfgFSSR.js +0 -4
  422. package/components/p-BqpciLfi.js +0 -4
  423. package/components/p-BsPelv04.js +0 -4
  424. package/components/p-BsQPAqo9.js +0 -4
  425. package/components/p-CRNiQiYf.js +0 -4
  426. package/components/p-CU5rbWAW.js +0 -4
  427. package/components/p-DOFCbuQR.js +0 -4
  428. package/components/p-W5nO8mX_.js +0 -4
  429. package/components/p-k_E4tX5Z.js +0 -4
  430. package/components/p-nyXeHk23.js +0 -4
  431. package/dist/cjs/config-xninhj0J.js +0 -201
  432. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  433. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  434. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  435. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  436. package/dist/collection/components/picker-legacy/picker.js +0 -890
  437. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  441. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  442. package/dist/esm/config-DQCONYYp.js +0 -195
  443. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  444. package/dist/ionic/p-06c232a4.entry.js +0 -4
  445. package/dist/ionic/p-0dc33652.entry.js +0 -4
  446. package/dist/ionic/p-20b1a044.entry.js +0 -4
  447. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  448. package/dist/ionic/p-27d30585.entry.js +0 -4
  449. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  450. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  451. package/dist/ionic/p-485fda23.entry.js +0 -4
  452. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  453. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  454. package/dist/ionic/p-50e1194a.entry.js +0 -4
  455. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  456. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  457. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  458. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  459. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  460. package/dist/ionic/p-D-3ycHmd.js +0 -4
  461. package/dist/ionic/p-DzWaWHGc.js +0 -4
  462. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  463. package/dist/ionic/p-SNAkTDfm.js +0 -4
  464. package/dist/ionic/p-a21add2f.entry.js +0 -4
  465. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  466. package/dist/ionic/p-c38b648e.entry.js +0 -4
  467. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  468. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  469. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  470. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  471. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  472. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  473. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  474. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  475. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  476. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, e as config, f as printIonWarning, h, g as getElement, d as Host } from './index-tcQvqkiX.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
- import { s as shallowEqualStringMap, l as assert } from './helpers-HEqiOzXb.js';
6
+ import { l as assert } from './helpers-HEqiOzXb.js';
7
7
  import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-B_dQk_WE.js';
8
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
9
9
  import { a as attachComponent } from './framework-delegate-FnPGymXL.js';
10
10
 
11
11
  const VIEW_STATE_NEW = 1;
@@ -43,15 +43,6 @@ class ViewController {
43
43
  this.state = VIEW_STATE_DESTROYED;
44
44
  }
45
45
  }
46
- const matches = (view, id, params) => {
47
- if (!view) {
48
- return false;
49
- }
50
- if (view.component !== id) {
51
- return false;
52
- }
53
- return shallowEqualStringMap(view.params, params);
54
- };
55
46
  const convertToView = (page, params) => {
56
47
  if (!page) {
57
48
  return null;
@@ -85,7 +76,6 @@ const Nav = class {
85
76
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
86
77
  this.transInstr = [];
87
78
  this.gestureOrAnimationInProgress = false;
88
- this.useRouter = false;
89
79
  this.isTransitioning = false;
90
80
  this.destroyed = false;
91
81
  this.views = [];
@@ -111,14 +101,9 @@ const Nav = class {
111
101
  */
112
102
  return;
113
103
  }
114
- if (!this.useRouter) {
115
- if (this.root !== undefined) {
116
- this.setRoot(this.root, this.rootParams);
117
- }
118
- }
104
+ this.setRoot(this.root, this.rootParams);
119
105
  }
120
106
  componentWillLoad() {
121
- this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
122
107
  if (this.swipeGesture === undefined) {
123
108
  const mode = getIonMode(this);
124
109
  this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
@@ -283,78 +268,6 @@ const Nav = class {
283
268
  opts,
284
269
  }, done);
285
270
  }
286
- /**
287
- * Called by the router to update the view.
288
- *
289
- * @param id The component tag.
290
- * @param params The component params.
291
- * @param direction A direction hint.
292
- * @param animation an AnimationBuilder.
293
- *
294
- * @return the status.
295
- * @internal
296
- */
297
- setRouteId(id, params, direction, animation) {
298
- const active = this.getActiveSync();
299
- if (matches(active, id, params)) {
300
- return Promise.resolve({
301
- changed: false,
302
- element: active.element,
303
- });
304
- }
305
- let resolve;
306
- const promise = new Promise((r) => (resolve = r));
307
- let finish;
308
- const commonOpts = {
309
- updateURL: false,
310
- viewIsReady: (enteringEl) => {
311
- let mark;
312
- const p = new Promise((r) => (mark = r));
313
- resolve({
314
- changed: true,
315
- element: enteringEl,
316
- markVisible: async () => {
317
- mark();
318
- await finish;
319
- },
320
- });
321
- return p;
322
- },
323
- };
324
- if (direction === 'root') {
325
- finish = this.setRoot(id, params, commonOpts);
326
- }
327
- else {
328
- // Look for a view matching the target in the view stack.
329
- const viewController = this.views.find((v) => matches(v, id, params));
330
- if (viewController) {
331
- finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
332
- }
333
- else if (direction === 'forward') {
334
- finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
335
- }
336
- else if (direction === 'back') {
337
- finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
338
- }
339
- }
340
- return promise;
341
- }
342
- /**
343
- * Called by <ion-router> to retrieve the current component.
344
- *
345
- * @internal
346
- */
347
- async getRouteId() {
348
- const active = this.getActiveSync();
349
- if (active) {
350
- return {
351
- id: active.element.tagName,
352
- params: active.params,
353
- element: active.element,
354
- };
355
- }
356
- return undefined;
357
- }
358
271
  /**
359
272
  * Get the active view.
360
273
  */
@@ -420,25 +333,6 @@ const Nav = class {
420
333
  ti.reject = reject;
421
334
  });
422
335
  ti.done = done;
423
- /**
424
- * If using router, check to see if navigation hooks
425
- * will allow us to perform this transition. This
426
- * is required in order for hooks to work with
427
- * the ion-back-button or swipe to go back.
428
- */
429
- if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
430
- const router = document.querySelector('ion-router');
431
- if (router) {
432
- const canTransition = await router.canTransition();
433
- if (canTransition === false) {
434
- return false;
435
- }
436
- if (typeof canTransition === 'string') {
437
- router.push(canTransition, ti.opts.direction || 'back');
438
- return false;
439
- }
440
- }
441
- }
442
336
  // Normalize empty
443
337
  if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
444
338
  ti.insertViews = undefined;
@@ -459,13 +353,6 @@ const Nav = class {
459
353
  ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
460
354
  }
461
355
  ti.resolve(result.hasCompleted);
462
- if (ti.opts.updateURL !== false && this.useRouter) {
463
- const router = document.querySelector('ion-router');
464
- if (router) {
465
- const direction = result.direction === 'back' ? 'back' : 'forward';
466
- router.navChanged(direction);
467
- }
468
- }
469
356
  }
470
357
  failed(rejectReason, ti) {
471
358
  if (this.destroyed) {
@@ -895,7 +782,7 @@ const Nav = class {
895
782
  }
896
783
  }
897
784
  render() {
898
- return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
785
+ return h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
899
786
  }
900
787
  get el() { return getElement(this); }
901
788
  static get watchers() { return {
@@ -4,11 +4,11 @@
4
4
  import { r as registerInstance, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { b as inheritAttributes } from './helpers-HEqiOzXb.js';
6
6
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
7
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
8
8
 
9
9
  const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
10
10
 
11
- const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-base)}`;
11
+ const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-primary, #0054e9)}:host(.ion-color.option-active),:host(.ion-color[part~=active]){color:var(--ion-color-base)}`;
12
12
 
13
13
  const PickerColumnOption = class {
14
14
  constructor(hostRef) {
@@ -32,12 +32,6 @@ const PickerColumnOption = class {
32
32
  * If `true`, the user cannot interact with the picker column option.
33
33
  */
34
34
  this.disabled = false;
35
- /**
36
- * The color to use from your application's color palette.
37
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
38
- * For more information on colors, see [theming](/docs/theming/basics).
39
- */
40
- this.color = 'primary';
41
35
  }
42
36
  /**
43
37
  * The aria-label of the option has changed after the
@@ -97,10 +91,10 @@ const PickerColumnOption = class {
97
91
  render() {
98
92
  const { color, disabled, ariaLabel } = this;
99
93
  const mode = getIonMode(this);
100
- return (h(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses(color, {
94
+ return (h(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses(color, {
101
95
  [mode]: true,
102
96
  ['option-disabled']: disabled,
103
- }) }, h("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
97
+ }) }, h("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
104
98
  }
105
99
  get el() { return getElement(this); }
106
100
  static get watchers() { return {
@@ -5,11 +5,11 @@ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement
5
5
  import { d as doc } from './index-ZjP4CjeZ.js';
6
6
  import { r as raf } from './helpers-HEqiOzXb.js';
7
7
  import { b as hapticSelectionStart, a as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-DzAMWJuk.js';
8
- import { a as isPlatform, b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
+ import { a as isPlatform, b as getIonMode } from './ionic-global-pMW1XhFZ.js';
9
9
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
10
10
  import './capacitor-CFERIeaU.js';
11
11
 
12
- const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
12
+ const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color:focus) .picker-opts{background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
13
13
 
14
14
  const PickerColumn = class {
15
15
  constructor(hostRef) {
@@ -25,12 +25,6 @@ const PickerColumn = class {
25
25
  * If `true`, the user cannot interact with the picker.
26
26
  */
27
27
  this.disabled = false;
28
- /**
29
- * The color to use from your application's color palette.
30
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
31
- * For more information on colors, see [theming](/docs/theming/basics).
32
- */
33
- this.color = 'primary';
34
28
  /**
35
29
  * If `true`, tapping the picker will
36
30
  * reveal a number input keyboard that lets
@@ -548,14 +542,14 @@ const PickerColumn = class {
548
542
  render() {
549
543
  const { color, disabled, isActive, numericInput } = this;
550
544
  const mode = getIonMode(this);
551
- return (h(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses(color, {
545
+ return (h(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses(color, {
552
546
  [mode]: true,
553
547
  ['picker-column-active']: isActive,
554
548
  ['picker-column-numeric-input']: numericInput,
555
549
  ['picker-column-disabled']: disabled,
556
- }) }, h("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), h("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
550
+ }) }, h("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), h("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
557
551
  this.scrollEl = el;
558
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), h("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
552
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), h("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
559
553
  }
560
554
  get el() { return getElement(this); }
561
555
  static get watchers() { return {
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
- import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-Dg0q2_tJ.js';
5
+ import { B as BACKDROP, h as prepareOverlay, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, n as focusFirstDescendant, f as dismiss, g as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-DVgWBV3s.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
7
7
  import { g as getElementRoot, r as raf, f as addEventListener, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
9
- import { b as getIonMode, a as isPlatform } from './ionic-global-Cp_eT4sZ.js';
9
+ import { b as getIonMode, a as isPlatform } from './ionic-global-pMW1XhFZ.js';
10
10
  import { g as getClassMap } from './theme-DiVJyqlX.js';
11
11
  import { e as deepReady, w as waitForMount } from './index-B_dQk_WE.js';
12
12
  import { c as createAnimation } from './animation-DLJpuoEz.js';
@@ -1088,9 +1088,9 @@ const mdLeaveAnimation = (baseEl) => {
1088
1088
  .addAnimation([backdropAnimation, wrapperAnimation]);
1089
1089
  };
1090
1090
 
1091
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1091
+ const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.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)}}`;
1092
1092
 
1093
- const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1093
+ const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.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}`;
1094
1094
 
1095
1095
  const Popover = class {
1096
1096
  constructor(hostRef) {
@@ -1304,6 +1304,10 @@ const Popover = class {
1304
1304
  this.headerResizeObserver.disconnect();
1305
1305
  this.headerResizeObserver = undefined;
1306
1306
  }
1307
+ // Clean up aria-hidden if removed without dismiss() being called
1308
+ if (this.presented) {
1309
+ cleanupRootFocusTrapAccessibility();
1310
+ }
1307
1311
  }
1308
1312
  componentWillLoad() {
1309
1313
  var _a, _b;
@@ -1542,9 +1546,9 @@ const Popover = class {
1542
1546
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1543
1547
  const desktop = isPlatform('desktop');
1544
1548
  const enableArrow = arrow && !parentPopover;
1545
- return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1549
+ return (h(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1546
1550
  zIndex: `${20000 + this.overlayIndex}`,
1547
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1551
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1548
1552
  }
1549
1553
  get el() { return getElement(this); }
1550
1554
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, e as config, h, d as Host } from './index-tcQvqkiX.js';
5
5
  import { e as clamp } from './helpers-HEqiOzXb.js';
6
6
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
7
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
8
8
 
9
9
  const progressBarIosCss = () => `:host{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);--progress-background:var(--ion-color-primary, #0054e9);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.buffer-circles-container,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute}.buffer-circles{right:-10px;left:-10px;}.progress,.progress-buffer-bar,.buffer-circles-container{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:var(--background);z-index:1}.buffer-circles-container{overflow:hidden}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background-image:radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);background-repeat:repeat-x;background-position:5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed){-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}:host(.ion-color) .buffer-circles{background-image:radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%)}:host(.ion-color) .progress,:host(.ion-color) .progress-indeterminate{background:var(--ion-color-base)}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{border-radius:9999px;height:4px}:host(.progress-bar-solid){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}`;
10
10
 
@@ -40,7 +40,7 @@ const ProgressBar = class {
40
40
  const mode = getIonMode(this);
41
41
  // If the progress is displayed as a solid bar.
42
42
  const progressSolid = buffer === 1;
43
- return (h(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
43
+ return (h(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
44
44
  [mode]: true,
45
45
  [`progress-bar-${type}`]: true,
46
46
  'progress-paused': paused,
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement
5
5
  import { f as addEventListener, m as removeEventListener, a as renderHiddenInput } from './helpers-HEqiOzXb.js';
6
6
  import { i as isOptionSelected } from './compare-with-utils-sObYyvOy.js';
7
7
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
8
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
9
9
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
10
10
 
11
11
  const radioIosCss = () => `:host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color-checked:var(--ion-color-primary, #0054e9)}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{-webkit-margin-start:0;margin-inline-start:0}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:"";opacity:0.2}:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}.native-wrapper .radio-icon{width:0.9375rem;height:1.5rem}`;
@@ -136,7 +136,7 @@ const Radio = class {
136
136
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
137
137
  const mode = getIonMode(this);
138
138
  const inItem = hostContext('ion-item', el);
139
- return (h(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
139
+ return (h(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
140
140
  [mode]: true,
141
141
  'in-item': inItem,
142
142
  'radio-checked': checked,
@@ -147,10 +147,10 @@ const Radio = class {
147
147
  // Focus and active styling should not apply when the radio is in an item
148
148
  'ion-activatable': !inItem,
149
149
  'ion-focusable': !inItem,
150
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
150
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
151
151
  'label-text-wrapper': true,
152
152
  'label-text-wrapper-hidden': !hasLabel,
153
- }, part: "label" }, h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
153
+ }, part: "label" }, h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
154
154
  }
155
155
  get el() { return getElement(this); }
156
156
  static get watchers() { return {
@@ -6,7 +6,7 @@ import { f as findClosestIonContent, d as disableContentScrollY, r as resetConte
6
6
  import { j as isSafeNumber, e as clamp, d as debounceEvent, i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-HEqiOzXb.js';
7
7
  import { i as isRTL } from './dir-C53feagD.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
9
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
9
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
10
10
 
11
11
  function getDecimalPlaces(n) {
12
12
  if (!isSafeNumber(n))
@@ -792,7 +792,7 @@ const Range = class {
792
792
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
793
793
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
794
794
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
795
- return (h(Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
795
+ return (h(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
796
796
  [mode]: true,
797
797
  'in-item': inItem,
798
798
  'range-disabled': disabled,
@@ -806,10 +806,10 @@ const Range = class {
806
806
  'range-item-end-adjustment': needsEndAdjustment,
807
807
  'range-value-min': valueAtMin,
808
808
  'range-value-max': valueAtMax,
809
- }) }, h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
809
+ }) }, h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
810
810
  'label-text-wrapper': true,
811
811
  'label-text-wrapper-hidden': !hasLabel,
812
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
812
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
813
813
  }
814
814
  get el() { return getElement(this); }
815
815
  static get watchers() { return {
@@ -6,10 +6,11 @@ import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
6
6
  import { I as ION_CONTENT_CLASS_SELECTOR, b as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, g as getScrollElement } from './index-MEDq2S8l.js';
7
7
  import { c as componentOnReady, t as transitionEndAsync, e as clamp, g as getElementRoot, r as raf } from './helpers-HEqiOzXb.js';
8
8
  import { d as hapticImpact, I as ImpactStyle } from './haptic-DzAMWJuk.js';
9
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
9
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
10
10
  import { c as createAnimation } from './animation-DLJpuoEz.js';
11
- import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-DQCONYYp.js';
12
- import { h as arrowDown, i as caretBackSharp } from './index-DV3sJJW8.js';
11
+ import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-BwKpO3Is.js';
12
+ import { s as sanitizeDOMString } from './index-DQSkZyOJ.js';
13
+ import { l as arrowDown, m as caretBackSharp } from './index-AlrZKoWR.js';
13
14
  import { S as SPINNERS } from './spinner-configs-D4RIp70E.js';
14
15
  import './capacitor-CFERIeaU.js';
15
16
  import './index-ZjP4CjeZ.js';
@@ -916,7 +917,7 @@ const Refresher = class {
916
917
  }
917
918
  render() {
918
919
  const mode = getIonMode(this);
919
- return (h(Host, { key: '80fa313b0d77161680836bdd6aa334d02c549b41', slot: "fixed", class: {
920
+ return (h(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
920
921
  [mode]: true,
921
922
  // Used internally for styling
922
923
  [`refresher-${mode}`]: true,
@@ -981,7 +982,7 @@ const RefresherContent = class {
981
982
  const pullingIcon = this.pullingIcon;
982
983
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
983
984
  const mode = getIonMode(this);
984
- return (h(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
985
+ return (h(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, h("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, h("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, h("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, h("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
985
986
  }
986
987
  get el() { return getElement(this); }
987
988
  };
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, d as Host, g as getElement, c as createEvent } from './index-tcQvqkiX.js';
5
- import { j as reorderThreeOutline, k as reorderTwoSharp } from './index-DV3sJJW8.js';
6
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
5
+ import { n as reorderThreeOutline, o as reorderTwoSharp } from './index-AlrZKoWR.js';
6
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
7
7
  import { f as findClosestIonContent, g as getScrollElement } from './index-MEDq2S8l.js';
8
8
  import { r as raf } from './helpers-HEqiOzXb.js';
9
9
  import { b as hapticSelectionStart, a as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-DzAMWJuk.js';
@@ -30,7 +30,7 @@ const Reorder = class {
30
30
  render() {
31
31
  const mode = getIonMode(this);
32
32
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
33
- return (h(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
33
+ return (h(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, h("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, h("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
34
34
  }
35
35
  get el() { return getElement(this); }
36
36
  };
@@ -293,7 +293,7 @@ const ReorderGroup = class {
293
293
  }
294
294
  render() {
295
295
  const mode = getIonMode(this);
296
- return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
296
+ return (h(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
297
297
  [mode]: true,
298
298
  'reorder-enabled': !this.disabled,
299
299
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, a as readTask, w as writeTask, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
5
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
6
6
 
7
7
  const rippleEffectCss = () => `:host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}`;
8
8
 
@@ -72,7 +72,7 @@ const RippleEffect = class {
72
72
  }
73
73
  render() {
74
74
  const mode = getIonMode(this);
75
- return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
75
+ return (h(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
76
76
  [mode]: true,
77
77
  unbounded: this.unbounded,
78
78
  } }));
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, j as printIonError, f as print
5
5
  import { c as componentOnReady, r as raf, p as debounce } from './helpers-HEqiOzXb.js';
6
6
  import { f as findClosestIonContent, i as isIonContent, g as getScrollElement } from './index-MEDq2S8l.js';
7
7
  import { o as openURL, c as createColorClasses } from './theme-DiVJyqlX.js';
8
- import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
8
+ import { b as getIonMode } from './ionic-global-pMW1XhFZ.js';
9
9
 
10
10
  const Route = class {
11
11
  constructor(hostRef) {
@@ -391,16 +391,30 @@ const scrollToFragment = async (fragment, shouldContinue = () => true) => {
391
391
  return false;
392
392
  }
393
393
  };
394
+ /** How long the router waits for a navigation outlet before giving up and proceeding. */
395
+ const NAV_NODE_TIMEOUT = 500;
394
396
  const waitUntilNavNode = () => {
395
397
  if (searchNavNode(document.body)) {
396
398
  return Promise.resolve();
397
399
  }
398
400
  return new Promise((resolve) => {
399
- window.addEventListener('ionNavWillLoad', () => resolve(), { once: true });
401
+ /**
402
+ * Outlets emit `ionNavWillLoad` as they load, so resolve as soon as one does.
403
+ * A timeout backstops the case where the page has no outlet at all: without it
404
+ * the router would wait forever and its `componentWillLoad` would never settle,
405
+ * which in turn prevents the app from signalling that it has finished loading.
406
+ */
407
+ const done = () => {
408
+ window.removeEventListener('ionNavWillLoad', done);
409
+ clearTimeout(timeout);
410
+ resolve();
411
+ };
412
+ const timeout = setTimeout(done, NAV_NODE_TIMEOUT);
413
+ window.addEventListener('ionNavWillLoad', done, { once: true });
400
414
  });
401
415
  };
402
416
  /** Selector for all the outlets supported by the router. */
403
- const OUTLET_SELECTOR = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';
417
+ const OUTLET_SELECTOR = ':not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';
404
418
  const searchNavNode = (root) => {
405
419
  if (!root) {
406
420
  return undefined;
@@ -1071,10 +1085,10 @@ const RouterLink = class {
1071
1085
  rel: this.rel,
1072
1086
  target: this.target,
1073
1087
  };
1074
- return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
1088
+ return (h(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses(this.color, {
1075
1089
  [mode]: true,
1076
1090
  'ion-activatable': true,
1077
- }) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
1091
+ }) }, h("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), h("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
1078
1092
  }
1079
1093
  };
1080
1094
  RouterLink.style = routerLinkCss();