@ionic/core 8.8.14-dev.11784037956.17449639 → 8.8.14-dev.11784216165.1ecbf364

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 (362) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-nav.js +1 -1
  22. package/components/ion-popover.js +1 -1
  23. package/components/ion-progress-bar.js +1 -1
  24. package/components/ion-radio.js +1 -1
  25. package/components/ion-range.js +1 -1
  26. package/components/ion-refresher-content.js +1 -1
  27. package/components/ion-refresher.js +1 -1
  28. package/components/ion-reorder-group.js +1 -1
  29. package/components/ion-reorder.js +1 -1
  30. package/components/ion-ripple-effect.js +1 -1
  31. package/components/ion-router-link.js +1 -1
  32. package/components/ion-router-outlet.js +1 -1
  33. package/components/ion-router.js +1 -1
  34. package/components/ion-row.js +1 -1
  35. package/components/ion-searchbar.js +1 -1
  36. package/components/ion-segment-button.js +1 -1
  37. package/components/ion-segment-content.js +1 -1
  38. package/components/ion-segment-view.js +1 -1
  39. package/components/ion-segment.js +1 -1
  40. package/components/ion-select-modal.js +1 -1
  41. package/components/ion-select-option.js +1 -1
  42. package/components/ion-select-popover.js +1 -1
  43. package/components/ion-select.js +1 -1
  44. package/components/ion-skeleton-text.js +1 -1
  45. package/components/ion-spinner.js +1 -1
  46. package/components/ion-split-pane.js +1 -1
  47. package/components/ion-tab-bar.js +1 -1
  48. package/components/ion-tab-button.js +1 -1
  49. package/components/ion-tab.js +1 -1
  50. package/components/ion-tabs.js +1 -1
  51. package/components/ion-text.js +1 -1
  52. package/components/ion-textarea.js +1 -1
  53. package/components/ion-thumbnail.js +1 -1
  54. package/components/ion-title.js +1 -1
  55. package/components/ion-toast.js +1 -1
  56. package/components/ion-toggle.js +1 -1
  57. package/components/ion-toolbar.js +1 -1
  58. package/components/p-279dFMvg.js +4 -0
  59. package/components/p-BSQPZ79H.js +4 -0
  60. package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
  61. package/components/p-BwKpO3Is.js +4 -0
  62. package/components/p-C-Rx1zny.js +4 -0
  63. package/components/p-CHzfYZbv.js +4 -0
  64. package/components/p-D4h1H_hh.js +4 -0
  65. package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
  66. package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
  67. package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
  68. package/components/p-LMGfIvTf.js +4 -0
  69. package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
  70. package/components/p-_lHSumhG.js +4 -0
  71. package/components/p-j9Da6cYO.js +4 -0
  72. package/components/p-jOtMJMv8.js +4 -0
  73. package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
  74. package/components/p-uTR_dEqg.js +4 -0
  75. package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
  76. package/dist/cjs/config-DWdFbSNK.js +35 -0
  77. package/dist/cjs/index-Cueg3U4w.js +429 -0
  78. package/dist/cjs/index.cjs.js +6 -6
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
  80. package/dist/cjs/ion-alert.cjs.entry.js +64 -25
  81. package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
  82. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  84. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
  85. package/dist/cjs/ion-img.cjs.entry.js +3 -1
  86. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
  87. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  88. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-loading.cjs.entry.js +10 -5
  90. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  91. package/dist/cjs/ion-modal.cjs.entry.js +23 -33
  92. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -115
  93. package/dist/cjs/ion-popover.cjs.entry.js +9 -5
  94. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  95. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
  98. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-route_4.cjs.entry.js +18 -4
  101. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  102. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  105. package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
  106. package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
  107. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  108. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  110. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  111. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-toast.cjs.entry.js +6 -5
  114. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  115. package/dist/cjs/ionic.cjs.js +1 -1
  116. package/dist/cjs/loader.cjs.js +1 -1
  117. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  118. package/dist/cjs/{overlays-B9UiYZ4R.js → overlays-DSmSrd_4.js} +27 -30
  119. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  120. package/dist/collection/collection-manifest.json +6 -10
  121. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  122. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  123. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  124. package/dist/collection/components/alert/alert.ios.css +280 -10
  125. package/dist/collection/components/alert/alert.js +59 -21
  126. package/dist/collection/components/alert/alert.md.css +269 -20
  127. package/dist/collection/components/img/img.js +6 -1
  128. package/dist/collection/components/input/input.js +8 -8
  129. package/dist/collection/components/loading/loading.js +7 -3
  130. package/dist/collection/components/modal/gestures/sheet.js +0 -8
  131. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -8
  132. package/dist/collection/components/modal/modal.ios.css +0 -8
  133. package/dist/collection/components/modal/modal.js +23 -17
  134. package/dist/collection/components/modal/modal.md.css +0 -8
  135. package/dist/collection/components/nav/nav.js +4 -219
  136. package/dist/collection/components/popover/popover.ios.css +15 -0
  137. package/dist/collection/components/popover/popover.js +7 -3
  138. package/dist/collection/components/popover/popover.md.css +15 -0
  139. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  140. package/dist/collection/components/radio/radio.js +4 -4
  141. package/dist/collection/components/range/range.js +3 -3
  142. package/dist/collection/components/refresher/refresher.js +1 -1
  143. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  144. package/dist/collection/components/reorder/reorder.js +1 -1
  145. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  146. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  147. package/dist/collection/components/route/route.js +1 -1
  148. package/dist/collection/components/router/utils/dom.js +22 -3
  149. package/dist/collection/components/router-link/router-link.js +2 -2
  150. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  151. package/dist/collection/components/row/row.js +1 -1
  152. package/dist/collection/components/searchbar/searchbar.js +9 -9
  153. package/dist/collection/components/segment/segment.js +2 -2
  154. package/dist/collection/components/segment-button/segment-button.js +2 -2
  155. package/dist/collection/components/segment-content/segment-content.js +1 -1
  156. package/dist/collection/components/segment-view/segment-view.js +2 -2
  157. package/dist/collection/components/select/select.ios.css +33 -0
  158. package/dist/collection/components/select/select.js +323 -16
  159. package/dist/collection/components/select/select.md.css +33 -0
  160. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  161. package/dist/collection/components/select-modal/select-modal.js +79 -26
  162. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  163. package/dist/collection/components/select-option/select-option.js +67 -3
  164. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  165. package/dist/collection/components/select-popover/select-popover.js +78 -26
  166. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  167. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  168. package/dist/collection/components/spinner/spinner.js +1 -1
  169. package/dist/collection/components/split-pane/split-pane.js +2 -2
  170. package/dist/collection/components/tab/tab.js +2 -2
  171. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  172. package/dist/collection/components/tab-button/tab-button.js +2 -2
  173. package/dist/collection/components/tabs/tabs.js +1 -1
  174. package/dist/collection/components/text/text.js +2 -2
  175. package/dist/collection/components/textarea/textarea.js +2 -2
  176. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  177. package/dist/collection/components/title/title.js +2 -2
  178. package/dist/collection/components/toast/toast.js +2 -2
  179. package/dist/collection/components/toggle/toggle.js +3 -3
  180. package/dist/collection/components/toolbar/toolbar.js +2 -2
  181. package/dist/collection/index.js +1 -1
  182. package/dist/collection/utils/overlay-control-label.js +45 -0
  183. package/dist/collection/utils/overlays.js +26 -29
  184. package/dist/collection/utils/sanitization/index.js +274 -18
  185. package/dist/collection/utils/select-option-render.js +119 -0
  186. package/dist/docs.json +497 -1189
  187. package/dist/esm/config-BwKpO3Is.js +31 -0
  188. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  189. package/dist/esm/index-DQSkZyOJ.js +424 -0
  190. package/dist/esm/index.js +3 -2
  191. package/dist/esm/ion-accordion_2.entry.js +1 -1
  192. package/dist/esm/ion-action-sheet.entry.js +27 -7
  193. package/dist/esm/ion-alert.entry.js +63 -24
  194. package/dist/esm/ion-app_8.entry.js +23 -9
  195. package/dist/esm/ion-avatar_3.entry.js +1 -1
  196. package/dist/esm/ion-back-button.entry.js +1 -1
  197. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  198. package/dist/esm/ion-col_3.entry.js +1 -1
  199. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
  200. package/dist/esm/ion-fab_3.entry.js +1 -1
  201. package/dist/esm/ion-img.entry.js +4 -2
  202. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
  203. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  204. package/dist/esm/ion-input.entry.js +5 -5
  205. package/dist/esm/ion-item_8.entry.js +3 -3
  206. package/dist/esm/ion-loading.entry.js +9 -4
  207. package/dist/esm/ion-menu_3.entry.js +2 -2
  208. package/dist/esm/ion-modal.entry.js +23 -33
  209. package/dist/esm/ion-nav_2.entry.js +3 -116
  210. package/dist/esm/ion-popover.entry.js +9 -5
  211. package/dist/esm/ion-progress-bar.entry.js +1 -1
  212. package/dist/esm/ion-radio_2.entry.js +3 -3
  213. package/dist/esm/ion-range.entry.js +3 -3
  214. package/dist/esm/ion-refresher_2.entry.js +5 -4
  215. package/dist/esm/ion-reorder_2.entry.js +3 -3
  216. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  217. package/dist/esm/ion-route_4.entry.js +18 -4
  218. package/dist/esm/ion-searchbar.entry.js +6 -6
  219. package/dist/esm/ion-segment-content.entry.js +1 -1
  220. package/dist/esm/ion-segment-view.entry.js +2 -2
  221. package/dist/esm/ion-segment_2.entry.js +4 -4
  222. package/dist/esm/ion-select-modal.entry.js +84 -30
  223. package/dist/esm/ion-select_3.entry.js +410 -52
  224. package/dist/esm/ion-spinner.entry.js +1 -1
  225. package/dist/esm/ion-split-pane.entry.js +2 -2
  226. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  227. package/dist/esm/ion-tab_2.entry.js +3 -3
  228. package/dist/esm/ion-text.entry.js +2 -2
  229. package/dist/esm/ion-textarea.entry.js +2 -2
  230. package/dist/esm/ion-toast.entry.js +5 -4
  231. package/dist/esm/ion-toggle.entry.js +4 -4
  232. package/dist/esm/ionic.js +1 -1
  233. package/dist/esm/loader.js +1 -1
  234. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  235. package/dist/esm/{overlays-Bmfhux69.js → overlays-DLNOHWNc.js} +28 -31
  236. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  237. package/dist/html.html-data.json +52 -80
  238. package/dist/ionic/index.esm.js +1 -1
  239. package/dist/ionic/ionic.esm.js +1 -1
  240. package/dist/ionic/p-038eb991.entry.js +4 -0
  241. package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
  242. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  243. package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
  244. package/dist/ionic/p-4621c387.entry.js +4 -0
  245. package/dist/ionic/p-4ace7762.entry.js +4 -0
  246. package/dist/ionic/p-4bb3eb60.entry.js +4 -0
  247. package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
  248. package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
  249. package/dist/ionic/p-5c3ec490.entry.js +4 -0
  250. package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
  251. package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
  252. package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
  253. package/dist/ionic/p-700795f6.entry.js +4 -0
  254. package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
  255. package/dist/ionic/p-79a36078.entry.js +4 -0
  256. package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
  257. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  258. package/dist/ionic/p-913b218a.entry.js +4 -0
  259. package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
  260. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  261. package/dist/ionic/p-BDtODLZ4.js +4 -0
  262. package/dist/ionic/p-BSQPZ79H.js +4 -0
  263. package/dist/ionic/p-BwKpO3Is.js +4 -0
  264. package/dist/ionic/p-Cg5-OQYy.js +4 -0
  265. package/dist/ionic/p-DCOvXkOm.js +4 -0
  266. package/dist/ionic/p-a18dcb3c.entry.js +4 -0
  267. package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
  268. package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
  269. package/dist/ionic/p-a9a33367.entry.js +4 -0
  270. package/dist/ionic/p-ad728198.entry.js +4 -0
  271. package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
  272. package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
  273. package/dist/ionic/p-bfc8c629.entry.js +4 -0
  274. package/dist/ionic/p-c08e666a.entry.js +4 -0
  275. package/dist/ionic/p-c474f471.entry.js +4 -0
  276. package/dist/ionic/{p-cf91e738.entry.js → p-c93553d2.entry.js} +1 -1
  277. package/dist/ionic/p-ce7992c4.entry.js +4 -0
  278. package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
  279. package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
  280. package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
  281. package/dist/ionic/p-ed797c72.entry.js +4 -0
  282. package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
  283. package/dist/ionic/p-f09f9642.entry.js +4 -0
  284. package/dist/ionic/p-f1c06f82.entry.js +4 -0
  285. package/dist/ionic/p-f718fccb.entry.js +4 -0
  286. package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
  287. package/dist/types/components/img/img.d.ts +2 -0
  288. package/dist/types/components/input/input.d.ts +1 -1
  289. package/dist/types/components/modal/modal.d.ts +11 -4
  290. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  291. package/dist/types/components/nav/nav.d.ts +2 -22
  292. package/dist/types/components/route/route.d.ts +1 -1
  293. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  294. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  295. package/dist/types/components/select/select-interface.d.ts +31 -0
  296. package/dist/types/components/select/select.d.ts +18 -0
  297. package/dist/types/components/select-option/select-option.d.ts +42 -1
  298. package/dist/types/components.d.ts +74 -303
  299. package/dist/types/index.d.ts +1 -1
  300. package/dist/types/interface.d.ts +0 -1
  301. package/dist/types/utils/config.d.ts +0 -8
  302. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  303. package/dist/types/utils/overlays.d.ts +11 -9
  304. package/dist/types/utils/sanitization/index.d.ts +58 -2
  305. package/dist/types/utils/select-option-render.d.ts +53 -0
  306. package/hydrate/index.js +1410 -1292
  307. package/hydrate/index.mjs +1410 -1292
  308. package/package.json +37 -5
  309. package/components/ion-picker-legacy-column.d.ts +0 -11
  310. package/components/ion-picker-legacy-column.js +0 -4
  311. package/components/ion-picker-legacy.d.ts +0 -11
  312. package/components/ion-picker-legacy.js +0 -4
  313. package/components/p-B1BWKArA.js +0 -4
  314. package/components/p-B4PlLGHT.js +0 -4
  315. package/components/p-BFsEcwW9.js +0 -4
  316. package/components/p-CFRyvUvJ.js +0 -4
  317. package/components/p-CU5rbWAW.js +0 -4
  318. package/components/p-CgLiHbz0.js +0 -4
  319. package/components/p-MLyEeL3Q.js +0 -4
  320. package/components/p-PgMVWD8U.js +0 -4
  321. package/components/p-k_E4tX5Z.js +0 -4
  322. package/dist/cjs/config-xninhj0J.js +0 -201
  323. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  324. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  325. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  326. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  327. package/dist/collection/components/picker-legacy/picker.js +0 -890
  328. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  329. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  330. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  331. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  332. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  333. package/dist/esm/config-DQCONYYp.js +0 -195
  334. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  335. package/dist/ionic/p-02473803.entry.js +0 -4
  336. package/dist/ionic/p-20b1a044.entry.js +0 -4
  337. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  338. package/dist/ionic/p-27d30585.entry.js +0 -4
  339. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  340. package/dist/ionic/p-2f529a55.entry.js +0 -4
  341. package/dist/ionic/p-485fda23.entry.js +0 -4
  342. package/dist/ionic/p-48fa7fb1.entry.js +0 -4
  343. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  344. package/dist/ionic/p-4d9181c7.entry.js +0 -4
  345. package/dist/ionic/p-50e1194a.entry.js +0 -4
  346. package/dist/ionic/p-532eb373.entry.js +0 -4
  347. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  348. package/dist/ionic/p-B0zdMdR0.js +0 -4
  349. package/dist/ionic/p-DzWaWHGc.js +0 -4
  350. package/dist/ionic/p-a21add2f.entry.js +0 -4
  351. package/dist/ionic/p-ab60b48a.entry.js +0 -4
  352. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  353. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  354. package/dist/ionic/p-f994dc44.entry.js +0 -4
  355. package/dist/ionic/p-fd76f647.entry.js +0 -4
  356. package/dist/ionic/p-fda60562.entry.js +0 -4
  357. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  358. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  359. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  360. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  361. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  362. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
- import { B as BACKDROP, 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-Bmfhux69.js';
5
+ import { B as BACKDROP, h as prepareOverlay, j as cleanupRootFocusTrapAccessibility, k as setOverlayId, e as present, n as focusFirstDescendant, f as dismiss, g as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-DLNOHWNc.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
7
7
  import { g as getElementRoot, r as raf, f as addEventListener, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
8
8
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
@@ -1088,9 +1088,9 @@ const mdLeaveAnimation = (baseEl) => {
1088
1088
  .addAnimation([backdropAnimation, wrapperAnimation]);
1089
1089
  };
1090
1090
 
1091
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--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 {
@@ -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,
@@ -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 {
@@ -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 {
@@ -8,8 +8,9 @@ import { c as componentOnReady, t as transitionEndAsync, e as clamp, g as getEle
8
8
  import { d as hapticImpact, I as ImpactStyle } from './haptic-DzAMWJuk.js';
9
9
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.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,7 +2,7 @@
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';
5
+ import { n as reorderThreeOutline, o as reorderTwoSharp } from './index-AlrZKoWR.js';
6
6
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
7
  import { f as findClosestIonContent, g as getScrollElement } from './index-MEDq2S8l.js';
8
8
  import { r as raf } from './helpers-HEqiOzXb.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 */,
@@ -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
  } }));
@@ -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();
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, e as config, i as forceUpdate,
5
5
  import { d as debounceEvent, b as inheritAttributes, c as componentOnReady, r as raf } from './helpers-HEqiOzXb.js';
6
6
  import { i as isRTL } from './dir-C53feagD.js';
7
7
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
8
- import { a as arrowBackSharp, s as searchOutline, e as searchSharp, b as closeCircle, d as closeSharp } from './index-DV3sJJW8.js';
8
+ import { a as arrowBackSharp, s as searchOutline, i as searchSharp, g as closeCircle, h as closeSharp } from './index-AlrZKoWR.js';
9
9
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
10
10
 
11
11
  const searchbarIosCss = () => `.sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #0054e9);--clear-button-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:17px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}`;
@@ -44,7 +44,7 @@ const Searchbar = class {
44
44
  /**
45
45
  * Set the input's autocorrect property.
46
46
  */
47
- this.autocorrect = 'off';
47
+ this.autocorrect = false;
48
48
  /**
49
49
  * Set the cancel button icon. Only applies to `md` mode.
50
50
  * Defaults to `arrow-back-sharp`.
@@ -468,8 +468,8 @@ const Searchbar = class {
468
468
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
469
469
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
470
470
  const shouldShowCancelButton = this.shouldShowCancelButton();
471
- const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
472
- return (h(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
471
+ const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '73964da43dbd099fc7f3d30cbc4da11087701ac5', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '27335a0e35f6c253c074685fa0b088404927bcbb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
472
+ return (h(Host, { key: '1b4f6c4e7dffb02e092f0026ce3875822d98a631', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
473
473
  [mode]: true,
474
474
  'searchbar-animated': animated,
475
475
  'searchbar-disabled': this.disabled,
@@ -479,14 +479,14 @@ const Searchbar = class {
479
479
  'searchbar-has-focus': this.focused,
480
480
  'searchbar-should-show-clear': this.shouldShowClearButton(),
481
481
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
482
- }) }, h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
482
+ }) }, h("div", { key: '587e1950e329cfb9d3658be5b2a6491e7af9321a', class: "searchbar-input-container" }, h("input", Object.assign({ key: '7f78a3d22cce03af277a538b4d9f85faddf1fa80', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: '9fd3e458978b64e9e3358bcbb26471753f6ff2a6', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: 'c7864c85923668dfa25f5fc4a70c7dbf6da191b7', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
483
483
  /**
484
484
  * This prevents mobile browsers from
485
485
  * blurring the input when the clear
486
486
  * button is activated.
487
487
  */
488
488
  ev.preventDefault();
489
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
489
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '47e7a15c6c6d4df4c54c62b042842e499627da05', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
490
490
  }
491
491
  get el() { return getElement(this); }
492
492
  static get watchers() { return {
@@ -10,7 +10,7 @@ const SegmentContent = class {
10
10
  registerInstance(this, hostRef);
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
13
+ return (h(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, h("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
14
14
  }
15
15
  };
16
16
  SegmentContent.style = segmentContentCss();
@@ -110,11 +110,11 @@ const SegmentView = class {
110
110
  }
111
111
  render() {
112
112
  const { disabled, isManualScroll, swipeGesture } = this;
113
- return (h(Host, { key: '2a6e0a1046af75b1fa0eed20a5fbbb4634480297', class: {
113
+ return (h(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
114
114
  'segment-view-disabled': disabled,
115
115
  'segment-view-scroll-disabled': isManualScroll === false,
116
116
  'segment-view-swipe-disabled': swipeGesture === false,
117
- } }, h("slot", { key: '644b60d179d0de3fa204e3bef26a3503ceeaf1d6' })));
117
+ } }, h("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
118
118
  }
119
119
  get el() { return getElement(this); }
120
120
  };
@@ -551,14 +551,14 @@ const Segment = class {
551
551
  }
552
552
  render() {
553
553
  const mode = getIonMode(this);
554
- return (h(Host, { key: 'eda6b7b88b7967b55cf9098c59b655b348a42224', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
554
+ return (h(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
555
555
  [mode]: true,
556
556
  'in-toolbar': hostContext('ion-toolbar', this.el),
557
557
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
558
558
  'segment-activated': this.activated,
559
559
  'segment-disabled': this.disabled,
560
560
  'segment-scrollable': this.scrollable,
561
- }) }, h("slot", { key: 'fdb451f235ce59c5bb50c61a13c69160ece2d5df', onSlotchange: this.onSlottedItemsChange })));
561
+ }) }, h("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
562
562
  }
563
563
  get el() { return getElement(this); }
564
564
  static get watchers() { return {
@@ -684,7 +684,7 @@ const SegmentButton = class {
684
684
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
685
685
  const mode = getIonMode(this);
686
686
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
687
- return (h(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
687
+ return (h(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
688
688
  [mode]: true,
689
689
  'in-toolbar': hostContext('ion-toolbar', this.el),
690
690
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -700,7 +700,7 @@ const SegmentButton = class {
700
700
  'ion-activatable': true,
701
701
  'ion-activatable-instant': true,
702
702
  'ion-focusable': true,
703
- } }, h("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, h("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && h("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), h("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
703
+ } }, h("button", Object.assign({ key: '860698be6ceb8f08c0ce3d16ba82d4bb56adf030', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: 'e903a2642ff46797878a941887b5c596d52fd3a3', class: "button-inner" }, h("slot", { key: '5fc6b842ecb7f0ab8df23b344bf6714f38dda89a' })), mode === 'md' && h("ion-ripple-effect", { key: '710aaf6e4fa2b6cb15897a883e88dec17ef3829f' })), h("div", { key: 'a7b036cba32420e9eb3f2d16487df0519ecc5289', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'a0a5f49ea7f2ecab8014f4f9ca473a27db8348b6', part: "indicator-background", class: "segment-button-indicator-background" }))));
704
704
  }
705
705
  get el() { return getElement(this); }
706
706
  static get watchers() { return {
@@ -3,19 +3,22 @@
3
3
  */
4
4
  import { r as registerInstance, h, i as forceUpdate, d as Host, g as getElement } from './index-tcQvqkiX.js';
5
5
  import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
6
- import { s as safeCall } from './overlays-Bmfhux69.js';
6
+ import { a as getOverlayLabelPlacement, g as getOverlayLabelJustify } from './overlay-control-label-BSQPZ79H.js';
7
+ import { s as safeCall } from './overlays-DLNOHWNc.js';
8
+ import { r as renderOptionLabel } from './select-option-render-B8nWZRnd.js';
7
9
  import { g as getClassMap } from './theme-DiVJyqlX.js';
8
10
  import './index-ZjP4CjeZ.js';
9
11
  import './helpers-HEqiOzXb.js';
10
12
  import './hardware-back-button-B93Gru0Y.js';
11
13
  import './framework-delegate-FnPGymXL.js';
12
14
  import './gesture-controller-BTEOs1at.js';
15
+ import './index-DQSkZyOJ.js';
13
16
 
14
- const ionicSelectModalMdCss = () => `.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
17
+ const ionicSelectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ionic,.alert-checkbox-label-text.sc-ion-select-modal-ionic,.alert-radio-label-text.sc-ion-select-modal-ionic,.select-option-label-text.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ionic{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ionic:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic{width:40px;height:40px}.select-option-start.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic{width:24px;height:24px}.select-option-start.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic{width:56px;height:56px}.select-option-start.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic{width:114px;height:56px}.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
15
18
 
16
- const selectModalIosCss = () => `.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
19
+ const selectModalIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios{width:44px;height:44px}.select-option-start.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-select-modal-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-modal-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
17
20
 
18
- const selectModalMdCss = () => `.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
21
+ const selectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md{width:40px;height:40px}.select-option-start.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md{width:24px;height:24px}.select-option-start.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md{width:56px;height:56px}.select-option-start.sc-ion-select-modal-md>video.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>video.sc-ion-select-modal-md{width:114px;height:56px}.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
19
22
 
20
23
  const SelectModal = class {
21
24
  constructor(hostRef) {
@@ -69,41 +72,92 @@ const SelectModal = class {
69
72
  }
70
73
  }
71
74
  renderRadioOptions() {
75
+ const mode = getIonMode(this);
72
76
  const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
73
- return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (h("ion-item", { lines: "none", class: Object.assign({
77
+ return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option, index) => {
78
+ var _a, _b;
79
+ /**
80
+ * Cast to `SelectOverlayOption` to access rich content
81
+ * fields (`startContent`, `endContent`, `description`)
82
+ * that are passed through from `ion-select` but not
83
+ * part of the public `SelectModalOption` interface.
84
+ */
85
+ const richOption = option;
86
+ const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
87
+ const optionLabelOptions = {
88
+ id: `modal-option-${index}`,
89
+ label: richOption.text,
90
+ startContent: richOption.startContent,
91
+ endContent: richOption.endContent,
92
+ description: richOption.description,
93
+ };
94
+ const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio', 'modal');
95
+ const defaultJustify = getOverlayLabelJustify(mode, 'radio', 'modal');
96
+ return (h("ion-item", { lines: "none",
74
97
  // TODO FW-4784
75
- 'item-radio-checked': option.value === checked
76
- }, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyDown: (ev) => {
77
- if (ev.key === 'Enter' && !ev.repeat) {
78
- this.pendingEnterTarget = ev.currentTarget;
79
- }
80
- }, onKeyUp: (ev) => {
81
- if (ev.key === ' ') {
82
- // Space selects and dismisses in one press.
83
- this.closeModal();
84
- }
85
- else if (ev.key === 'Enter') {
86
- const shouldClose = this.pendingEnterTarget === ev.currentTarget;
87
- this.pendingEnterTarget = null;
88
- if (shouldClose) {
98
+ disabled: option.disabled, class: Object.assign({
99
+ // TODO FW-4784
100
+ 'item-radio-checked': option.value === checked
101
+ }, getClassMap(option.cssClass)) }, h("ion-radio", { class: {
102
+ 'select-option-has-rich-content': hasRichContent,
103
+ }, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onClick: () => this.closeModal(), onKeyDown: (ev) => {
104
+ if (ev.key === 'Enter' && !ev.repeat) {
105
+ this.pendingEnterTarget = ev.currentTarget;
106
+ }
107
+ }, onKeyUp: (ev) => {
108
+ if (ev.key === ' ') {
109
+ // Space selects and dismisses in one press.
89
110
  this.closeModal();
90
111
  }
91
- }
92
- } }, option.text))))));
112
+ else if (ev.key === 'Enter') {
113
+ const shouldClose = this.pendingEnterTarget === ev.currentTarget;
114
+ this.pendingEnterTarget = null;
115
+ if (shouldClose) {
116
+ this.closeModal();
117
+ }
118
+ }
119
+ } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
120
+ })));
93
121
  }
94
122
  renderCheckboxOptions() {
95
- return this.options.map((option) => (h("ion-item", { class: Object.assign({
96
- // TODO FW-4784
97
- 'item-checkbox-checked': option.checked
98
- }, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
99
- this.setChecked(ev);
100
- this.callOptionHandler(ev);
123
+ const mode = getIonMode(this);
124
+ return this.options.map((option, index) => {
125
+ var _a, _b;
126
+ /**
127
+ * Cast to `SelectOverlayOption` to access rich content
128
+ * fields (`startContent`, `endContent`, `description`)
129
+ * that are passed through from `ion-select` but not
130
+ * part of the public `SelectModalOption` interface.
131
+ */
132
+ const richOption = option;
133
+ const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
134
+ const optionLabelOptions = {
135
+ id: `modal-option-${index}`,
136
+ label: richOption.text,
137
+ startContent: richOption.startContent,
138
+ endContent: richOption.endContent,
139
+ description: richOption.description,
140
+ };
141
+ const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox', 'modal');
142
+ const defaultJustify = getOverlayLabelJustify(mode, 'checkbox', 'modal');
143
+ return (h("ion-item", {
101
144
  // TODO FW-4784
102
- forceUpdate(this);
103
- } }, option.text))));
145
+ disabled: option.disabled, class: Object.assign({
146
+ // TODO FW-4784
147
+ 'item-checkbox-checked': option.checked
148
+ }, getClassMap(option.cssClass))
149
+ }, h("ion-checkbox", { class: {
150
+ 'select-option-has-rich-content': hasRichContent,
151
+ }, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
152
+ this.setChecked(ev);
153
+ this.callOptionHandler(ev);
154
+ // TODO FW-4784
155
+ forceUpdate(this);
156
+ } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
157
+ });
104
158
  }
105
159
  render() {
106
- return (h(Host, { key: 'fda0bf6f93cd5ec9f3c64f88a52de849e0e140a2', class: getIonMode(this) }, h("ion-header", { key: '27c0b17175a53db9ff159feeeb96451a3f011dab' }, h("ion-toolbar", { key: '91a4155ebc317fbc9f1bb3e26a7e94754b953c9b' }, this.header !== undefined && h("ion-title", { key: 'f6dae8e4e381f322cc90efefd9bb6ef81d4d2f3e' }, this.header), h("ion-buttons", { key: 'e7760532fb2e7e7385ed6e62097d92d96ff20148', slot: "end" }, h("ion-button", { key: '4999b6fc46cba138186546dca67b7950855e6fb7', onClick: () => this.closeModal() }, this.cancelText)))), h("ion-content", { key: 'c73f80a4bc25b9061ea65cf11e5d811c1a4d8704' }, h("ion-list", { key: 'b21905d15b36ad5eb45845e768918d2763cf48b1' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
160
+ return (h(Host, { key: '2cb1ae057b7a66f5d12c926f618f6b945f019803', class: getIonMode(this) }, h("ion-header", { key: 'e41f1c4ad1c71dcc927d210502d6366cea894a14' }, h("ion-toolbar", { key: '1a191dfc8980541469ee4d8996ba4de52cac1ac5' }, this.header !== undefined && h("ion-title", { key: '14ab9cb7d41d15b982c6ccd8ba6cee0e9cb528d9' }, this.header), h("ion-buttons", { key: '80451a2ed3a82138eb1575135cf2ebbd5e8f6e60', slot: "end" }, h("ion-button", { key: '01a315cd739569f3c0b23a4d243d52b69b63dfa7', onClick: () => this.closeModal() }, this.cancelText)))), h("ion-content", { key: 'd953101bae9a91f8108f7a5e411bb1e34338655d' }, h("ion-list", { key: '171a5668afc67b03d2ee87e91cf400b17541bc7f' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
107
161
  }
108
162
  get el() { return getElement(this); }
109
163
  };