@ionic/core 8.8.9-dev.11779403760.13ea2a08 → 8.8.9-dev.11780086312.13aac420

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 (1118) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/{p-CDgDBcU9.js → p-9VcRUwdB.js} +1 -1
  99. package/components/p-B6FQ0cKR.js +4 -0
  100. package/components/p-B6HaBl3o.js +4 -0
  101. package/components/p-B8b1Ukl9.js +4 -0
  102. package/components/p-BJoMtgfR.js +4 -0
  103. package/components/p-BJu4LSK8.js +4 -0
  104. package/components/p-BNAG-aVv.js +4 -0
  105. package/components/p-BR3tZJmu.js +4 -0
  106. package/{dist/ionic/p-C8IHbcuP.js → components/p-BS1TtEiJ.js} +1 -1
  107. package/components/p-BUbsoBOV.js +4 -0
  108. package/components/p-BWUpLAtP.js +4 -0
  109. package/components/p-BYDc3hSE.js +4 -0
  110. package/components/p-BagjAGC0.js +4 -0
  111. package/components/p-BeL7B3Bb.js +4 -0
  112. package/components/p-Bg7NsGS9.js +4 -0
  113. package/components/p-BgwEQWW6.js +4 -0
  114. package/components/p-BmVRXR1y.js +4 -0
  115. package/components/p-BxwWvu-b.js +4 -0
  116. package/components/p-C4jPsTQa.js +4 -0
  117. package/components/p-C59ryAuS.js +4 -0
  118. package/components/p-CBzELu-H.js +4 -0
  119. package/components/p-CDXBV7oG.js +4 -0
  120. package/components/p-CDfQnFrd.js +4 -0
  121. package/components/{p-ByW0kK1F.js → p-CEmXdzGo.js} +1 -1
  122. package/components/p-CIGNaXM1.js +4 -0
  123. package/components/p-CO7fmmxt.js +4 -0
  124. package/components/{p-BZCB7f49.js → p-CU1SSH8_.js} +1 -1
  125. package/components/p-CWpbvhwY.js +4 -0
  126. package/components/p-CgqKJg96.js +4 -0
  127. package/components/p-CneGxKsZ.js +4 -0
  128. package/components/p-CoA-aqGF.js +4 -0
  129. package/components/p-Csw8xuz4.js +4 -0
  130. package/components/p-CtWGkNnJ.js +4 -0
  131. package/components/p-Cy5XSfIk.js +4 -0
  132. package/components/p-Cz5nLPGT.js +4 -0
  133. package/{dist/ionic/p-CuGhCBt7.js → components/p-D13Eaw-8.js} +1 -1
  134. package/components/p-D6NJwNJN.js +4 -0
  135. package/components/p-D6Ynv7Xh.js +4 -0
  136. package/components/p-DJztqcrH.js +4 -0
  137. package/components/p-DL2W2mt3.js +4 -0
  138. package/components/p-DYdpXONG.js +4 -0
  139. package/components/p-DbISMmiI.js +4 -0
  140. package/components/p-DgbT0exM.js +4 -0
  141. package/components/p-DiVJyqlX.js +4 -0
  142. package/components/p-DrIm1s9R.js +4 -0
  143. package/components/p-DvOO1fxp.js +4 -0
  144. package/components/p-DxXmSp9Y.js +4 -0
  145. package/components/p-FBcnjE5W.js +4 -0
  146. package/components/p-GCtnx-UP.js +4 -0
  147. package/components/p-JQ4ZNN1D.js +4 -0
  148. package/components/p-OOMJP0jy.js +4 -0
  149. package/components/p-Q1-Xy3As.js +4 -0
  150. package/components/p-SBseW5KJ.js +4 -0
  151. package/components/{p-zWP0sUV_.js → p-YLXPWgVj.js} +1 -1
  152. package/components/p-ZjP4CjeZ.js +4 -0
  153. package/{dist/ionic/p-B2-sg7NJ.js → components/p-ak_d-z48.js} +1 -1
  154. package/components/{p-re70ahxF.js → p-cyNmxje6.js} +1 -1
  155. package/components/p-nPoOPlPt.js +4 -0
  156. package/components/p-vEbVo2hO.js +4 -0
  157. package/css/core.css +1 -1
  158. package/css/core.css.map +1 -1
  159. package/css/display.css +1 -1
  160. package/css/display.css.map +1 -1
  161. package/css/flex-utils.css +1 -1
  162. package/css/flex-utils.css.map +1 -1
  163. package/css/float-elements.css.map +1 -1
  164. package/css/global.bundle.css.map +1 -1
  165. package/css/ionic-swiper.css +1 -1
  166. package/css/ionic-swiper.css.map +1 -1
  167. package/css/ionic.bundle.css +1 -1
  168. package/css/ionic.bundle.css.map +1 -1
  169. package/css/normalize.css.map +1 -1
  170. package/css/padding.css.map +1 -1
  171. package/css/palettes/dark.always.css.map +1 -1
  172. package/css/palettes/dark.class.css.map +1 -1
  173. package/css/palettes/dark.system.css.map +1 -1
  174. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  175. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  176. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  177. package/css/palettes/high-contrast.always.css.map +1 -1
  178. package/css/palettes/high-contrast.class.css.map +1 -1
  179. package/css/palettes/high-contrast.system.css.map +1 -1
  180. package/css/structure.css.map +1 -1
  181. package/css/text-alignment.css.map +1 -1
  182. package/css/text-transformation.css.map +1 -1
  183. package/css/typography.css.map +1 -1
  184. package/css/utils.bundle.css +1 -1
  185. package/css/utils.bundle.css.map +1 -1
  186. package/dist/cjs/{animation-BZJ2wKuM.js → animation-Dg4yiuR2.js} +3 -3
  187. package/dist/cjs/{app-globals-C-d5fQ35.js → app-globals-CLI8xCmk.js} +1 -1
  188. package/dist/cjs/{button-active-B_20Nxkv.js → button-active-FscMI17-.js} +2 -2
  189. package/dist/cjs/{capacitor-CXqhdZym.js → capacitor-DmA66EwP.js} +3 -3
  190. package/dist/cjs/{config-BiqQSDrb.js → config-BukYi_pW.js} +7 -60
  191. package/dist/cjs/{data-DuOuKG7I.js → data-BYlBjkMU.js} +6 -6
  192. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  193. package/dist/cjs/{framework-delegate-Dx9FrqAC.js → framework-delegate-CRgp8o_p.js} +2 -4
  194. package/dist/cjs/{haptic-CQJGW58i.js → haptic-ClPPQ_PS.js} +1 -1
  195. package/dist/cjs/hardware-back-button-C4rMJ5uI.js +121 -0
  196. package/dist/cjs/{helpers-DJYxKN5U.js → helpers-CxTYJdbT.js} +4 -57
  197. package/dist/cjs/{index-DSNlrgfO.js → index-C845Ti6K.js} +4 -4
  198. package/dist/cjs/{index-BekUBS8C.js → index-CFUwM5x_.js} +15 -15
  199. package/dist/cjs/{index-CzcLEdQ5.js → index-CqT-2gKy.js} +4 -41
  200. package/dist/cjs/index-DkNv4J_i.js +10 -0
  201. package/dist/cjs/{index-CgAbCW6L.js → index-DqmRDbxg.js} +0 -2
  202. package/dist/cjs/{index-BJrpF9T3.js → index-MbaBbWXk.js} +2 -2
  203. package/dist/cjs/{index-CwxYd6UD.js → index-YcSftOMz.js} +8 -9
  204. package/dist/cjs/index.cjs.js +14 -14
  205. package/dist/cjs/{input-shims-VyZciSxi.js → input-shims-CPL2J8F-.js} +17 -18
  206. package/dist/cjs/{input.utils-Ct5KzpYv.js → input.utils-DmeJ8dmo.js} +5 -5
  207. package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
  208. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -40
  209. package/dist/cjs/ion-alert.cjs.entry.js +44 -76
  210. package/dist/cjs/ion-app_8.cjs.entry.js +175 -296
  211. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
  212. package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
  213. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  214. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
  215. package/dist/cjs/ion-button_2.cjs.entry.js +22 -59
  216. package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
  217. package/dist/cjs/ion-checkbox.cjs.entry.js +16 -34
  218. package/dist/cjs/ion-chip.cjs.entry.js +9 -50
  219. package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
  220. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
  221. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +29 -742
  222. package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
  223. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  224. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -91
  225. package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
  226. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
  227. package/dist/cjs/ion-input.cjs.entry.js +34 -124
  228. package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
  229. package/dist/cjs/ion-item_8.cjs.entry.js +49 -115
  230. package/dist/cjs/ion-loading.cjs.entry.js +22 -20
  231. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
  232. package/dist/cjs/ion-modal.cjs.entry.js +142 -262
  233. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  234. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
  235. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  236. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  237. package/dist/cjs/ion-popover.cjs.entry.js +23 -21
  238. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
  239. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -35
  240. package/dist/cjs/ion-range.cjs.entry.js +13 -20
  241. package/dist/cjs/ion-refresher_2.cjs.entry.js +21 -39
  242. package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
  243. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  244. package/dist/cjs/ion-route_4.cjs.entry.js +9 -10
  245. package/dist/cjs/ion-searchbar.cjs.entry.js +24 -137
  246. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  247. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
  248. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
  249. package/dist/cjs/ion-select-modal.cjs.entry.js +40 -119
  250. package/dist/cjs/ion-select_3.cjs.entry.js +115 -500
  251. package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
  252. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
  253. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +23 -147
  254. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  255. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  256. package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
  257. package/dist/cjs/ion-toast.cjs.entry.js +46 -69
  258. package/dist/cjs/ion-toggle.cjs.entry.js +25 -82
  259. package/dist/cjs/ionic-global-Bc3kJi1Z.js +151 -0
  260. package/dist/cjs/ionic.cjs.js +4 -4
  261. package/dist/cjs/{ios.transition-CyNNpj1i.js → ios.transition-trBiC95R.js} +5 -7
  262. package/dist/cjs/{keyboard-VLGMzWBE.js → keyboard-UuAS4D_9.js} +1 -1
  263. package/dist/cjs/{keyboard-controller-CCTvHp9l.js → keyboard-controller-GXBiBRKS.js} +9 -11
  264. package/dist/cjs/{keyboard-CA6RtoWx.js → keyboard-hHzlEQpk.js} +3 -4
  265. package/dist/cjs/loader.cjs.js +4 -4
  266. package/dist/cjs/{md.transition-BEfrfWKW.js → md.transition-CUQECuvD.js} +5 -6
  267. package/dist/cjs/{notch-controller-BTZCPOsd.js → notch-controller-sD-lTpdc.js} +4 -4
  268. package/dist/cjs/{overlays-BuMIwR8B.js → overlays-DIfHxkst.js} +42 -117
  269. package/dist/cjs/{status-tap-CTY2dMsZ.js → status-tap-CCJk5VgT.js} +3 -4
  270. package/dist/cjs/{swipe-back-jJFi5KCB.js → swipe-back-BGhTQ1CU.js} +2 -3
  271. package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
  272. package/dist/cjs/validity-BpS37YFM.js +19 -0
  273. package/dist/collection/collection-manifest.json +1 -12
  274. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  275. package/dist/collection/components/accordion/accordion.js +27 -41
  276. package/dist/collection/components/accordion/accordion.md.css +59 -67
  277. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  278. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  279. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  280. package/dist/collection/components/action-sheet/action-sheet.ios.css +11 -155
  281. package/dist/collection/components/action-sheet/action-sheet.js +18 -33
  282. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -155
  283. package/dist/collection/components/alert/alert.ios.css +19 -219
  284. package/dist/collection/components/alert/alert.js +35 -68
  285. package/dist/collection/components/alert/alert.md.css +15 -229
  286. package/dist/collection/components/app/app.js +83 -15
  287. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  288. package/dist/collection/components/avatar/avatar.js +4 -120
  289. package/dist/collection/components/avatar/avatar.md.css +0 -51
  290. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  291. package/dist/collection/components/back-button/back-button.js +19 -27
  292. package/dist/collection/components/back-button/back-button.md.css +48 -60
  293. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  294. package/dist/collection/components/backdrop/backdrop.js +6 -12
  295. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  296. package/dist/collection/components/badge/badge.ios.css +12 -139
  297. package/dist/collection/components/badge/badge.js +9 -145
  298. package/dist/collection/components/badge/badge.md.css +12 -123
  299. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  300. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  301. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  302. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  303. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  304. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  305. package/dist/collection/components/button/button.ios.css +46 -154
  306. package/dist/collection/components/button/button.js +27 -63
  307. package/dist/collection/components/button/button.md.css +50 -150
  308. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  309. package/dist/collection/components/buttons/buttons.js +9 -15
  310. package/dist/collection/components/buttons/buttons.md.css +3 -55
  311. package/dist/collection/components/card/card.ios.css +14 -65
  312. package/dist/collection/components/card/card.js +10 -41
  313. package/dist/collection/components/card/card.md.css +14 -65
  314. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  315. package/dist/collection/components/card-content/card-content.js +10 -12
  316. package/dist/collection/components/card-content/card-content.md.css +35 -20
  317. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  318. package/dist/collection/components/card-header/card-header.js +10 -13
  319. package/dist/collection/components/card-header/card-header.md.css +15 -27
  320. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  321. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  322. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  323. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  324. package/dist/collection/components/card-title/card-title.js +8 -11
  325. package/dist/collection/components/card-title/card-title.md.css +0 -73
  326. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  327. package/dist/collection/components/checkbox/checkbox.js +14 -70
  328. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  329. package/dist/collection/components/chip/chip.ios.css +14 -67
  330. package/dist/collection/components/chip/chip.js +8 -108
  331. package/dist/collection/components/chip/chip.md.css +14 -67
  332. package/dist/collection/components/col/col.css +4 -192
  333. package/dist/collection/components/col/col.js +61 -211
  334. package/dist/collection/components/content/content.css +2 -8
  335. package/dist/collection/components/content/content.js +11 -16
  336. package/dist/collection/components/datetime/datetime.ios.css +106 -302
  337. package/dist/collection/components/datetime/datetime.js +20 -98
  338. package/dist/collection/components/datetime/datetime.md.css +96 -293
  339. package/dist/collection/components/datetime/utils/data.js +5 -5
  340. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  341. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  342. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  343. package/dist/collection/components/fab/fab.css +1 -25
  344. package/dist/collection/components/fab/fab.js +5 -9
  345. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  346. package/dist/collection/components/fab-button/fab-button.js +21 -36
  347. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  348. package/dist/collection/components/fab-list/fab-list.css +0 -12
  349. package/dist/collection/components/fab-list/fab-list.js +5 -9
  350. package/dist/collection/components/footer/footer.ios.css +2 -14
  351. package/dist/collection/components/footer/footer.js +16 -21
  352. package/dist/collection/components/footer/footer.md.css +0 -12
  353. package/dist/collection/components/grid/grid.css +0 -12
  354. package/dist/collection/components/grid/grid.js +5 -9
  355. package/dist/collection/components/header/header.ios.css +10 -25
  356. package/dist/collection/components/header/header.js +19 -50
  357. package/dist/collection/components/header/header.md.css +8 -23
  358. package/dist/collection/components/header/header.utils.js +5 -5
  359. package/dist/collection/components/img/img.js +2 -8
  360. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  361. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  362. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  363. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  364. package/dist/collection/components/input/input.ios.css +135 -223
  365. package/dist/collection/components/input/input.js +37 -148
  366. package/dist/collection/components/input/input.md.css +207 -193
  367. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  368. package/dist/collection/components/input-otp/input-otp.js +6 -73
  369. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  371. package/dist/collection/components/item/item.ios.css +69 -109
  372. package/dist/collection/components/item/item.js +20 -50
  373. package/dist/collection/components/item/item.md.css +68 -120
  374. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  375. package/dist/collection/components/item-divider/item-divider.js +8 -11
  376. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  377. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  378. package/dist/collection/components/item-group/item-group.js +7 -13
  379. package/dist/collection/components/item-group/item-group.md.css +0 -12
  380. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  381. package/dist/collection/components/item-option/item-option.js +9 -73
  382. package/dist/collection/components/item-option/item-option.md.css +29 -136
  383. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  384. package/dist/collection/components/item-options/item-options.js +7 -13
  385. package/dist/collection/components/item-options/item-options.md.css +34 -77
  386. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  387. package/dist/collection/components/item-sliding/item-sliding.js +35 -421
  388. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  389. package/dist/collection/components/label/label.ios.css +0 -18
  390. package/dist/collection/components/label/label.js +8 -11
  391. package/dist/collection/components/label/label.md.css +0 -18
  392. package/dist/collection/components/list/list.ios.css +14 -54
  393. package/dist/collection/components/list/list.js +9 -48
  394. package/dist/collection/components/list/list.md.css +16 -56
  395. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  396. package/dist/collection/components/list-header/list-header.js +8 -11
  397. package/dist/collection/components/list-header/list-header.md.css +38 -82
  398. package/dist/collection/components/loading/loading.ios.css +1 -13
  399. package/dist/collection/components/loading/loading.js +16 -15
  400. package/dist/collection/components/loading/loading.md.css +1 -13
  401. package/dist/collection/components/menu/menu.ios.css +3 -15
  402. package/dist/collection/components/menu/menu.js +7 -12
  403. package/dist/collection/components/menu/menu.md.css +3 -15
  404. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  405. package/dist/collection/components/menu-button/menu-button.js +10 -26
  406. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  407. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  408. package/dist/collection/components/modal/animations/sheet.js +2 -8
  409. package/dist/collection/components/modal/gestures/sheet.js +10 -76
  410. package/dist/collection/components/modal/modal.ios.css +70 -178
  411. package/dist/collection/components/modal/modal.js +17 -51
  412. package/dist/collection/components/modal/modal.md.css +70 -178
  413. package/dist/collection/components/nav/nav.css +1 -7
  414. package/dist/collection/components/nav/nav.js +5 -11
  415. package/dist/collection/components/nav-link/nav-link.js +1 -5
  416. package/dist/collection/components/note/note.ios.css +0 -12
  417. package/dist/collection/components/note/note.js +8 -11
  418. package/dist/collection/components/note/note.md.css +0 -12
  419. package/dist/collection/components/picker/picker.ios.css +3 -15
  420. package/dist/collection/components/picker/picker.js +5 -8
  421. package/dist/collection/components/picker/picker.md.css +3 -15
  422. package/dist/collection/components/picker-column/picker-column.css +2 -9
  423. package/dist/collection/components/picker-column/picker-column.js +7 -8
  424. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  425. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  426. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  427. package/dist/collection/components/popover/popover.ios.css +1 -29
  428. package/dist/collection/components/popover/popover.js +20 -19
  429. package/dist/collection/components/popover/popover.md.css +1 -29
  430. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  431. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  432. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  433. package/dist/collection/components/radio/radio.ios.css +91 -134
  434. package/dist/collection/components/radio/radio.js +10 -15
  435. package/dist/collection/components/radio/radio.md.css +91 -134
  436. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  437. package/dist/collection/components/radio-group/radio-group.js +7 -48
  438. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  439. package/dist/collection/components/range/range.ios.css +85 -128
  440. package/dist/collection/components/range/range.js +10 -16
  441. package/dist/collection/components/range/range.md.css +85 -128
  442. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  443. package/dist/collection/components/refresher/refresher.js +8 -11
  444. package/dist/collection/components/refresher/refresher.md.css +2 -15
  445. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  446. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  447. package/dist/collection/components/reorder/reorder.js +6 -33
  448. package/dist/collection/components/reorder/reorder.md.css +0 -6
  449. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  450. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  451. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  452. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  453. package/dist/collection/components/route/route.js +0 -4
  454. package/dist/collection/components/router/router.js +0 -4
  455. package/dist/collection/components/router-link/router-link.css +2 -8
  456. package/dist/collection/components/router-link/router-link.js +5 -9
  457. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  458. package/dist/collection/components/router-outlet/router-outlet.js +40 -10
  459. package/dist/collection/components/row/row.css +0 -16
  460. package/dist/collection/components/row/row.js +2 -9
  461. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  462. package/dist/collection/components/searchbar/searchbar.js +33 -180
  463. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  464. package/dist/collection/components/segment/segment.ios.css +2 -45
  465. package/dist/collection/components/segment/segment.js +8 -11
  466. package/dist/collection/components/segment/segment.md.css +2 -45
  467. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  468. package/dist/collection/components/segment-button/segment-button.js +8 -11
  469. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  470. package/dist/collection/components/segment-content/segment-content.js +1 -1
  471. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  472. package/dist/collection/components/segment-view/segment-view.js +4 -13
  473. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  474. package/dist/collection/components/select/select.ios.css +176 -348
  475. package/dist/collection/components/select/select.js +97 -460
  476. package/dist/collection/components/select/select.md.css +178 -364
  477. package/dist/collection/components/select-modal/select-modal.ios.css +0 -156
  478. package/dist/collection/components/select-modal/select-modal.js +32 -132
  479. package/dist/collection/components/select-modal/select-modal.md.css +0 -139
  480. package/dist/collection/components/select-option/select-option.js +2 -70
  481. package/dist/collection/components/select-popover/select-popover.ios.css +23 -117
  482. package/dist/collection/components/select-popover/select-popover.js +31 -94
  483. package/dist/collection/components/select-popover/select-popover.md.css +22 -117
  484. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  485. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  486. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  487. package/dist/collection/components/spinner/spinner.js +6 -47
  488. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  489. package/dist/collection/components/split-pane/split-pane.js +8 -15
  490. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  491. package/dist/collection/components/tab/tab.js +2 -6
  492. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  493. package/dist/collection/components/tab-bar/tab-bar.js +13 -171
  494. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  495. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  496. package/dist/collection/components/tab-button/tab-button.js +9 -54
  497. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  498. package/dist/collection/components/tabs/tabs.css +1 -7
  499. package/dist/collection/components/tabs/tabs.js +1 -4
  500. package/dist/collection/components/text/text.css +0 -6
  501. package/dist/collection/components/text/text.js +6 -7
  502. package/dist/collection/components/textarea/textarea.ios.css +158 -298
  503. package/dist/collection/components/textarea/textarea.js +24 -162
  504. package/dist/collection/components/textarea/textarea.md.css +159 -312
  505. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  506. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  507. package/dist/collection/components/title/title.ios.css +4 -32
  508. package/dist/collection/components/title/title.js +7 -13
  509. package/dist/collection/components/title/title.md.css +4 -32
  510. package/dist/collection/components/toast/animations/utils.js +1 -1
  511. package/dist/collection/components/toast/toast.ios.css +45 -84
  512. package/dist/collection/components/toast/toast.js +13 -76
  513. package/dist/collection/components/toast/toast.md.css +45 -84
  514. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  515. package/dist/collection/components/toggle/toggle.js +18 -73
  516. package/dist/collection/components/toggle/toggle.md.css +131 -244
  517. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  518. package/dist/collection/components/toolbar/toolbar.js +13 -218
  519. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  520. package/dist/collection/global/ionic-global.js +13 -241
  521. package/dist/collection/index.js +1 -1
  522. package/dist/collection/utils/focus-trap.js +2 -13
  523. package/dist/collection/utils/focus-visible.js +0 -22
  524. package/dist/collection/utils/forms/validity.js +0 -31
  525. package/dist/collection/utils/framework-delegate.js +1 -3
  526. package/dist/collection/utils/hardware-back-button.js +0 -15
  527. package/dist/collection/utils/helpers.js +3 -57
  528. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  529. package/dist/collection/utils/media.js +0 -1
  530. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  531. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  532. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  533. package/dist/collection/utils/overlays.js +31 -97
  534. package/dist/collection/utils/sanitization/index.js +6 -58
  535. package/dist/collection/utils/test/playwright/drag-element.js +9 -32
  536. package/dist/collection/utils/test/playwright/generator.js +23 -48
  537. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  538. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  539. package/dist/collection/utils/theme.js +1 -25
  540. package/dist/collection/utils/transition/ios.transition.js +0 -1
  541. package/dist/docs.json +574 -10095
  542. package/dist/esm/{animation-Cd1EA2ar.js → animation-CnGMT4ji.js} +2 -2
  543. package/dist/esm/{app-globals-9x_U7ofY.js → app-globals-DhZjtldk.js} +1 -1
  544. package/dist/esm/{button-active-B016u5N-.js → button-active-BBx21brx.js} +2 -2
  545. package/dist/esm/{capacitor-13SFuT1K.js → capacitor-CFERIeaU.js} +1 -1
  546. package/dist/esm/{config-DLfuRiEz.js → config-TO1rZH52.js} +8 -60
  547. package/dist/esm/{data-BNKYavC3.js → data-B9iGR5YO.js} +6 -6
  548. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  549. package/dist/esm/{framework-delegate-CjVwn_KZ.js → framework-delegate-CyxE1S_P.js} +2 -4
  550. package/dist/esm/{haptic-CbnKC3go.js → haptic-DzAMWJuk.js} +1 -1
  551. package/dist/esm/hardware-back-button-CTe4XmL7.js +115 -0
  552. package/dist/esm/{helpers-Do7zwvM1.js → helpers-Tl8jw6S2.js} +5 -58
  553. package/dist/esm/{index-D2tu5BUg.js → index-AlrZKoWR.js} +1 -2
  554. package/dist/esm/{index-B2VWavcK.js → index-B-hkiOUh.js} +4 -4
  555. package/dist/esm/{index-BWMvrRiE.js → index-B2KwgBLx.js} +11 -11
  556. package/dist/esm/{index-D3WueHpT.js → index-BtUdxPjv.js} +3 -4
  557. package/dist/esm/{index-Omi_TcwW.js → index-IGIE5vDm.js} +4 -41
  558. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  559. package/dist/esm/{index-BmkLokUL.js → index-hW6eNZ3o.js} +2 -2
  560. package/dist/esm/index.js +14 -13
  561. package/dist/esm/{input-shims-DU23z7Hg.js → input-shims-DbrgeeNb.js} +6 -7
  562. package/dist/esm/{input.utils-C64RbLd_.js → input.utils-Bxa_DQ7-.js} +3 -3
  563. package/dist/esm/ion-accordion_2.entry.js +29 -61
  564. package/dist/esm/ion-action-sheet.entry.js +26 -40
  565. package/dist/esm/ion-alert.entry.js +44 -76
  566. package/dist/esm/ion-app_8.entry.js +175 -296
  567. package/dist/esm/ion-avatar_3.entry.js +13 -125
  568. package/dist/esm/ion-back-button.entry.js +22 -31
  569. package/dist/esm/ion-backdrop.entry.js +7 -10
  570. package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
  571. package/dist/esm/ion-button_2.entry.js +22 -59
  572. package/dist/esm/ion-card_5.entry.js +33 -55
  573. package/dist/esm/ion-checkbox.entry.js +16 -34
  574. package/dist/esm/ion-chip.entry.js +9 -50
  575. package/dist/esm/ion-col_3.entry.js +57 -56
  576. package/dist/esm/ion-datetime-button.entry.js +9 -13
  577. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +30 -741
  578. package/dist/esm/ion-fab_3.entry.js +28 -44
  579. package/dist/esm/ion-img.entry.js +4 -8
  580. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -91
  581. package/dist/esm/ion-input-otp.entry.js +9 -74
  582. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  583. package/dist/esm/ion-input.entry.js +34 -124
  584. package/dist/esm/ion-item-option_3.entry.js +52 -467
  585. package/dist/esm/ion-item_8.entry.js +49 -115
  586. package/dist/esm/ion-loading.entry.js +22 -20
  587. package/dist/esm/ion-menu_3.entry.js +29 -47
  588. package/dist/esm/ion-modal.entry.js +95 -215
  589. package/dist/esm/ion-nav_2.entry.js +11 -14
  590. package/dist/esm/ion-picker-column-option.entry.js +8 -12
  591. package/dist/esm/ion-picker-column.entry.js +13 -13
  592. package/dist/esm/ion-picker.entry.js +6 -10
  593. package/dist/esm/ion-popover.entry.js +23 -21
  594. package/dist/esm/ion-progress-bar.entry.js +9 -27
  595. package/dist/esm/ion-radio_2.entry.js +17 -35
  596. package/dist/esm/ion-range.entry.js +13 -20
  597. package/dist/esm/ion-refresher_2.entry.js +21 -39
  598. package/dist/esm/ion-reorder_2.entry.js +14 -38
  599. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  600. package/dist/esm/ion-route_4.entry.js +9 -10
  601. package/dist/esm/ion-searchbar.entry.js +24 -137
  602. package/dist/esm/ion-segment-content.entry.js +2 -2
  603. package/dist/esm/ion-segment-view.entry.js +3 -13
  604. package/dist/esm/ion-segment_2.entry.js +16 -23
  605. package/dist/esm/ion-select-modal.entry.js +40 -119
  606. package/dist/esm/ion-select_3.entry.js +116 -501
  607. package/dist/esm/ion-spinner.entry.js +8 -30
  608. package/dist/esm/ion-split-pane.entry.js +9 -13
  609. package/dist/esm/ion-tab-bar_2.entry.js +23 -147
  610. package/dist/esm/ion-tab_2.entry.js +7 -8
  611. package/dist/esm/ion-text.entry.js +7 -7
  612. package/dist/esm/ion-textarea.entry.js +23 -137
  613. package/dist/esm/ion-toast.entry.js +21 -44
  614. package/dist/esm/ion-toggle.entry.js +25 -82
  615. package/dist/esm/ionic-global-DfbeLwcV.js +146 -0
  616. package/dist/esm/ionic.js +5 -5
  617. package/dist/esm/{ios.transition-DoQTN5Jk.js → ios.transition--aMF-pDH.js} +5 -7
  618. package/dist/esm/{keyboard-Dnno7-Ci.js → keyboard-CUw4ekVy.js} +1 -1
  619. package/dist/esm/{keyboard-controller-BpOdk6xN.js → keyboard-controller-BaaVITYt.js} +3 -5
  620. package/dist/esm/{keyboard-Ca1zVCcH.js → keyboard-ywgs5efA.js} +3 -4
  621. package/dist/esm/loader.js +5 -5
  622. package/dist/esm/{md.transition-DZydrWwq.js → md.transition-BEVbfm8j.js} +5 -6
  623. package/dist/esm/{notch-controller-klgNWpjJ.js → notch-controller-DAcvKU57.js} +2 -2
  624. package/dist/esm/{overlays-CpQ6Df2g.js → overlays-BDGzTP3L.js} +39 -114
  625. package/dist/esm/{status-tap-fYFdZg6z.js → status-tap-BfJqFSLF.js} +3 -4
  626. package/dist/esm/{swipe-back-BzGqTrrq.js → swipe-back-BZBFwTQV.js} +2 -3
  627. package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
  628. package/dist/esm/validity-DJztqcrH.js +17 -0
  629. package/dist/html.html-data.json +154 -2674
  630. package/dist/ionic/index.esm.js +1 -1
  631. package/dist/ionic/ionic.esm.js +1 -1
  632. package/dist/ionic/p-045a6a42.entry.js +4 -0
  633. package/dist/ionic/p-078037da.entry.js +4 -0
  634. package/dist/ionic/p-0ed06d90.entry.js +4 -0
  635. package/dist/ionic/p-18b5d5ff.entry.js +4 -0
  636. package/dist/ionic/p-19adf785.entry.js +4 -0
  637. package/dist/ionic/p-1d2163ad.entry.js +4 -0
  638. package/dist/ionic/p-23ec35e4.entry.js +4 -0
  639. package/dist/ionic/p-30f5ad9e.entry.js +4 -0
  640. package/dist/ionic/p-34b3a309.entry.js +4 -0
  641. package/dist/ionic/p-370a60ee.entry.js +4 -0
  642. package/dist/ionic/p-3b58996c.entry.js +4 -0
  643. package/dist/ionic/p-460fbe5b.entry.js +4 -0
  644. package/dist/ionic/p-4c8d8c55.entry.js +4 -0
  645. package/dist/ionic/p-4ea520a4.entry.js +4 -0
  646. package/dist/ionic/p-4ed63122.entry.js +4 -0
  647. package/dist/ionic/p-4f3a8ccf.entry.js +4 -0
  648. package/dist/ionic/p-528d4c1d.entry.js +4 -0
  649. package/dist/ionic/p-5430ae94.entry.js +4 -0
  650. package/dist/ionic/p-54ac6e6d.entry.js +4 -0
  651. package/dist/ionic/p-66494f9b.entry.js +4 -0
  652. package/dist/ionic/p-6a56880f.entry.js +4 -0
  653. package/dist/ionic/p-6af16209.entry.js +4 -0
  654. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  655. package/dist/ionic/p-6da572e7.entry.js +4 -0
  656. package/dist/ionic/p-6e99ae8d.entry.js +4 -0
  657. package/dist/ionic/p-7f269aff.entry.js +4 -0
  658. package/dist/ionic/p-7f9db51b.entry.js +4 -0
  659. package/dist/ionic/p-7fe42b71.entry.js +4 -0
  660. package/dist/ionic/p-823eccd3.entry.js +4 -0
  661. package/dist/ionic/p-87125490.entry.js +4 -0
  662. package/dist/ionic/p-898f9d11.entry.js +4 -0
  663. package/dist/ionic/p-8a3a936b.entry.js +4 -0
  664. package/dist/ionic/p-9833cf63.entry.js +4 -0
  665. package/dist/ionic/p-9eeaBrnk.js +4 -0
  666. package/dist/ionic/p-AlrZKoWR.js +4 -0
  667. package/dist/ionic/{p-DKWXAwlR.js → p-B8xlpH8p.js} +1 -1
  668. package/dist/ionic/p-BAt5H1ac.js +4 -0
  669. package/dist/ionic/p-BW_TRJm8.js +4 -0
  670. package/dist/ionic/p-BmVRXR1y.js +4 -0
  671. package/dist/ionic/p-Bum7H1fw.js +4 -0
  672. package/{components/p-oF-CwZ0b.js → dist/ionic/p-BvFYtOdE.js} +1 -1
  673. package/{components/p-Bt0d89x3.js → dist/ionic/p-BxIcPWoV.js} +1 -1
  674. package/dist/ionic/p-C0JvVFMv.js +4 -0
  675. package/dist/ionic/p-CGmVTdWh.js +4 -0
  676. package/dist/ionic/p-CIGNaXM1.js +4 -0
  677. package/dist/ionic/{p-BmEwy3tY.js → p-CKvCXMs9.js} +1 -1
  678. package/dist/ionic/p-CYbRmDdy.js +4 -0
  679. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  680. package/dist/ionic/p-Csx_Ej2k.js +4 -0
  681. package/dist/ionic/p-CtA-yJYy.js +4 -0
  682. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  683. package/{components/p-Cllkut-B.js → dist/ionic/p-D13Eaw-8.js} +1 -1
  684. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  685. package/dist/ionic/p-DB_iPQC-.js +4 -0
  686. package/dist/ionic/p-DJztqcrH.js +4 -0
  687. package/dist/ionic/p-DLbbmF9h.js +4 -0
  688. package/dist/ionic/p-DcSNwXfb.js +4 -0
  689. package/dist/ionic/p-DiVJyqlX.js +4 -0
  690. package/dist/ionic/p-DjriolRs.js +4 -0
  691. package/dist/ionic/p-DtVZDHlS.js +4 -0
  692. package/dist/ionic/p-IGIE5vDm.js +5 -0
  693. package/dist/ionic/p-NFFyoJ4Q.js +4 -0
  694. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  695. package/dist/ionic/p-a39db980.entry.js +4 -0
  696. package/dist/ionic/p-a47ddfb2.entry.js +4 -0
  697. package/dist/ionic/p-a805674e.entry.js +4 -0
  698. package/dist/ionic/p-b553828c.entry.js +4 -0
  699. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  700. package/dist/ionic/p-b8f4a31c.entry.js +4 -0
  701. package/dist/ionic/p-ca31010f.entry.js +4 -0
  702. package/dist/ionic/p-cce0cd26.entry.js +4 -0
  703. package/dist/ionic/p-dc198c3a.entry.js +4 -0
  704. package/dist/ionic/p-e059750f.entry.js +4 -0
  705. package/dist/ionic/p-e0d788e9.entry.js +4 -0
  706. package/dist/ionic/p-e663bc5a.entry.js +4 -0
  707. package/dist/ionic/p-e6cedcd7.entry.js +4 -0
  708. package/dist/ionic/p-e9dd191b.entry.js +4 -0
  709. package/dist/ionic/p-ede28b71.entry.js +4 -0
  710. package/dist/ionic/p-f17d05e3.entry.js +4 -0
  711. package/dist/ionic/p-f5dfb9a3.entry.js +4 -0
  712. package/dist/ionic/p-f7762013.entry.js +4 -0
  713. package/dist/ionic/p-fed27c64.entry.js +4 -0
  714. package/dist/ionic/p-gbVXD275.js +4 -0
  715. package/dist/ionic/p-hNN3VvaC.js +4 -0
  716. package/dist/types/components/accordion/accordion.d.ts +3 -6
  717. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  718. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  719. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  720. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  721. package/dist/types/components/alert/alert.d.ts +2 -3
  722. package/dist/types/components/app/app.d.ts +5 -4
  723. package/dist/types/components/avatar/avatar.d.ts +0 -32
  724. package/dist/types/components/back-button/back-button.d.ts +1 -2
  725. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  726. package/dist/types/components/badge/badge.d.ts +1 -34
  727. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  728. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  729. package/dist/types/components/button/button.d.ts +8 -23
  730. package/dist/types/components/buttons/buttons.d.ts +1 -5
  731. package/dist/types/components/card/card.d.ts +1 -8
  732. package/dist/types/components/card-content/card-content.d.ts +1 -2
  733. package/dist/types/components/card-header/card-header.d.ts +2 -3
  734. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  735. package/dist/types/components/card-title/card-title.d.ts +1 -2
  736. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  737. package/dist/types/components/chip/chip.d.ts +1 -26
  738. package/dist/types/components/col/col.d.ts +5 -52
  739. package/dist/types/components/content/content.d.ts +0 -3
  740. package/dist/types/components/datetime/datetime.d.ts +1 -26
  741. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  742. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  743. package/dist/types/components/fab/fab.d.ts +0 -4
  744. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  745. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  746. package/dist/types/components/footer/footer.d.ts +3 -4
  747. package/dist/types/components/grid/grid.d.ts +0 -4
  748. package/dist/types/components/header/header.d.ts +3 -9
  749. package/dist/types/components/header/header.utils.d.ts +3 -3
  750. package/dist/types/components/img/img.d.ts +0 -3
  751. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  752. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  753. package/dist/types/components/input/input.d.ts +5 -31
  754. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  755. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  756. package/dist/types/components/item/item.d.ts +4 -11
  757. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  758. package/dist/types/components/item-group/item-group.d.ts +0 -4
  759. package/dist/types/components/item-option/item-option.d.ts +1 -18
  760. package/dist/types/components/item-options/item-options.d.ts +0 -4
  761. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  762. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  763. package/dist/types/components/label/label.d.ts +1 -2
  764. package/dist/types/components/list/list.d.ts +1 -15
  765. package/dist/types/components/list-header/list-header.d.ts +1 -2
  766. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  767. package/dist/types/components/loading/loading.d.ts +2 -3
  768. package/dist/types/components/menu/menu.d.ts +0 -3
  769. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  770. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  771. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  772. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  773. package/dist/types/components/modal/modal.d.ts +1 -11
  774. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  775. package/dist/types/components/nav/nav.d.ts +1 -5
  776. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  777. package/dist/types/components/note/note.d.ts +1 -2
  778. package/dist/types/components/picker/picker.d.ts +1 -2
  779. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  780. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  781. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  782. package/dist/types/components/popover/popover.d.ts +5 -6
  783. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  784. package/dist/types/components/radio/radio.d.ts +1 -2
  785. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  786. package/dist/types/components/range/range.d.ts +1 -2
  787. package/dist/types/components/refresher/refresher.d.ts +1 -2
  788. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  789. package/dist/types/components/reorder/reorder.d.ts +0 -9
  790. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  791. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  792. package/dist/types/components/route/route.d.ts +0 -4
  793. package/dist/types/components/router/router.d.ts +0 -4
  794. package/dist/types/components/router-link/router-link.d.ts +0 -4
  795. package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
  796. package/dist/types/components/row/row.d.ts +0 -4
  797. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  798. package/dist/types/components/segment/segment.d.ts +1 -2
  799. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  800. package/dist/types/components/select/select-interface.d.ts +0 -31
  801. package/dist/types/components/select/select.d.ts +14 -66
  802. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  803. package/dist/types/components/select-option/select-option.d.ts +0 -44
  804. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  805. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  806. package/dist/types/components/spinner/spinner.d.ts +0 -15
  807. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  808. package/dist/types/components/tab/tab.d.ts +0 -4
  809. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -37
  810. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  811. package/dist/types/components/tabs/tabs.d.ts +0 -3
  812. package/dist/types/components/text/text.d.ts +1 -2
  813. package/dist/types/components/textarea/textarea.d.ts +4 -53
  814. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  815. package/dist/types/components/title/title.d.ts +0 -4
  816. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  817. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  818. package/dist/types/components/toast/toast.d.ts +2 -19
  819. package/dist/types/components/toggle/toggle.d.ts +1 -15
  820. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  821. package/dist/types/components.d.ts +248 -2125
  822. package/dist/types/global/ionic-global.d.ts +2 -28
  823. package/dist/types/index.d.ts +1 -1
  824. package/dist/types/interface.d.ts +0 -4
  825. package/dist/types/utils/config.d.ts +2 -114
  826. package/dist/types/utils/focus-trap.d.ts +1 -1
  827. package/dist/types/utils/focus-visible.d.ts +0 -13
  828. package/dist/types/utils/forms/validity.d.ts +0 -7
  829. package/dist/types/utils/helpers.d.ts +0 -11
  830. package/dist/types/utils/overlays-interface.d.ts +1 -31
  831. package/dist/types/utils/overlays.d.ts +12 -10
  832. package/dist/types/utils/sanitization/index.d.ts +2 -32
  833. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  834. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  835. package/dist/types/utils/theme.d.ts +0 -9
  836. package/hydrate/index.js +1292 -5914
  837. package/hydrate/index.mjs +1292 -5914
  838. package/package.json +38 -10
  839. package/components/ion-divider.d.ts +0 -11
  840. package/components/ion-divider.js +0 -4
  841. package/components/ion-gallery.d.ts +0 -11
  842. package/components/ion-gallery.js +0 -4
  843. package/components/ion-picker-legacy-column.d.ts +0 -11
  844. package/components/ion-picker-legacy-column.js +0 -4
  845. package/components/ion-picker-legacy.d.ts +0 -11
  846. package/components/ion-picker-legacy.js +0 -4
  847. package/components/p-3Ni1Z654.js +0 -4
  848. package/components/p-7kL3tltU.js +0 -4
  849. package/components/p-B9MABkWm.js +0 -4
  850. package/components/p-BBu2n-9C.js +0 -4
  851. package/components/p-BDcohALy.js +0 -4
  852. package/components/p-BDqjX7Z_.js +0 -4
  853. package/components/p-BJzJdLry.js +0 -4
  854. package/components/p-BYSs-jZz.js +0 -4
  855. package/components/p-B_MdONwD.js +0 -4
  856. package/components/p-BaPtaYEC.js +0 -4
  857. package/components/p-BcbmT6b3.js +0 -4
  858. package/components/p-Bg30AtDZ.js +0 -4
  859. package/components/p-BhkGOA7t.js +0 -4
  860. package/components/p-BjW8SOqw.js +0 -4
  861. package/components/p-Bk9hTY4h.js +0 -4
  862. package/components/p-BqDiJgC_.js +0 -4
  863. package/components/p-BsNpz2u3.js +0 -4
  864. package/components/p-BsSTz5ia.js +0 -4
  865. package/components/p-BwQOIWD7.js +0 -4
  866. package/components/p-C75FIZBC.js +0 -4
  867. package/components/p-C8kBejTT.js +0 -4
  868. package/components/p-CBS0sBAa.js +0 -4
  869. package/components/p-CUAgUmQC.js +0 -4
  870. package/components/p-Cg-xpJhD.js +0 -4
  871. package/components/p-CgSn4J7d.js +0 -4
  872. package/components/p-CgZLVOCc.js +0 -4
  873. package/components/p-Cz4uz3Dy.js +0 -4
  874. package/components/p-CzC_ZSgb.js +0 -4
  875. package/components/p-D1t981Ih.js +0 -4
  876. package/components/p-D2mReIu8.js +0 -4
  877. package/components/p-D6g8ud1e.js +0 -4
  878. package/components/p-DDw-NYxz.js +0 -4
  879. package/components/p-DN_scBC7.js +0 -4
  880. package/components/p-DVcs-2q3.js +0 -4
  881. package/components/p-DXehWlOr.js +0 -4
  882. package/components/p-DaJxRxSQ.js +0 -4
  883. package/components/p-DhXUGFNH.js +0 -4
  884. package/components/p-Dhi5xtNS.js +0 -4
  885. package/components/p-Do7NMUwR.js +0 -4
  886. package/components/p-Dp2x0MpA.js +0 -4
  887. package/components/p-GElQZ38c.js +0 -4
  888. package/components/p-GtzfsjJP.js +0 -4
  889. package/components/p-LB-QPk3e.js +0 -4
  890. package/components/p-NVAi5HQQ.js +0 -4
  891. package/components/p-PzmQ86nh.js +0 -4
  892. package/components/p-Skz67GXZ.js +0 -4
  893. package/components/p-VVrXfwLZ.js +0 -4
  894. package/components/p-WdrzoonY.js +0 -4
  895. package/components/p-XegQjlzJ.js +0 -4
  896. package/components/p-fIOYmaqA.js +0 -4
  897. package/components/p-hpwmNJ2Q.js +0 -4
  898. package/components/p-kKYBfhbe.js +0 -4
  899. package/components/p-lGSe6-vg.js +0 -4
  900. package/components/p-pvh0bjpw.js +0 -4
  901. package/components/p-sToA4Co7.js +0 -4
  902. package/components/p-vXpMhGrs.js +0 -4
  903. package/components/p-wCDzv5Q8.js +0 -4
  904. package/css/ionic/bundle.ionic.css +0 -1
  905. package/css/ionic/bundle.ionic.css.map +0 -1
  906. package/css/ionic/core.ionic.css +0 -1
  907. package/css/ionic/core.ionic.css.map +0 -1
  908. package/css/ionic/global.bundle.ionic.css +0 -1
  909. package/css/ionic/global.bundle.ionic.css.map +0 -1
  910. package/css/ionic/ionic-swiper.ionic.css +0 -1
  911. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  912. package/css/ionic/link.ionic.css +0 -1
  913. package/css/ionic/link.ionic.css.map +0 -1
  914. package/css/ionic/structure.ionic.css +0 -1
  915. package/css/ionic/structure.ionic.css.map +0 -1
  916. package/css/ionic/typography.ionic.css +0 -1
  917. package/css/ionic/typography.ionic.css.map +0 -1
  918. package/css/ionic/utils.bundle.ionic.css +0 -1
  919. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  920. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  921. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  922. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  923. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  924. package/dist/cjs/ion-gallery.cjs.entry.js +0 -510
  925. package/dist/cjs/ionic-global-BW5tRzrz.js +0 -519
  926. package/dist/cjs/list-a-7GSA6K.js +0 -8
  927. package/dist/cjs/overlay-control-label-t9ZFhCtr.js +0 -51
  928. package/dist/cjs/select-option-render-C72N7OsO.js +0 -111
  929. package/dist/cjs/validity-QmuwEptc.js +0 -51
  930. package/dist/cjs/x-BTF99yFH.js +0 -8
  931. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  932. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  933. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -439
  934. package/dist/collection/components/alert/alert.ionic.css +0 -726
  935. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  936. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  937. package/dist/collection/components/badge/badge.ionic.css +0 -275
  938. package/dist/collection/components/button/button.ionic.css +0 -646
  939. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  940. package/dist/collection/components/card/card.ionic.css +0 -144
  941. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  942. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  943. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  944. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  945. package/dist/collection/components/chip/chip.ionic.css +0 -217
  946. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  947. package/dist/collection/components/divider/divider.ionic.css +0 -148
  948. package/dist/collection/components/divider/divider.ios.css +0 -87
  949. package/dist/collection/components/divider/divider.js +0 -94
  950. package/dist/collection/components/divider/divider.md.css +0 -87
  951. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  952. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  953. package/dist/collection/components/gallery/gallery.css +0 -100
  954. package/dist/collection/components/gallery/gallery.js +0 -595
  955. package/dist/collection/components/gallery/test/utils.js +0 -100
  956. package/dist/collection/components/header/header.ionic.css +0 -97
  957. package/dist/collection/components/input/input.ionic.css +0 -889
  958. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  959. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  960. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  961. package/dist/collection/components/item/item.ionic.css +0 -496
  962. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  963. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  964. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  965. package/dist/collection/components/list/list.ionic.css +0 -212
  966. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  967. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  968. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  969. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  970. package/dist/collection/components/modal/modal.ionic.css +0 -247
  971. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  972. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  973. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  974. package/dist/collection/components/picker-legacy/picker.ios.css +0 -312
  975. package/dist/collection/components/picker-legacy/picker.js +0 -891
  976. package/dist/collection/components/picker-legacy/picker.md.css +0 -299
  977. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
  978. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  979. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
  980. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  981. package/dist/collection/components/popover/popover.ionic.css +0 -290
  982. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  983. package/dist/collection/components/radio/radio.ionic.css +0 -422
  984. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  985. package/dist/collection/components/range/range.ionic.css +0 -567
  986. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  987. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  988. package/dist/collection/components/segment/segment.ionic.css +0 -115
  989. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  990. package/dist/collection/components/select/select.ionic.css +0 -810
  991. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -221
  992. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -220
  993. package/dist/collection/components/spinner/spinner.native.css +0 -199
  994. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -227
  995. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -348
  996. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  997. package/dist/collection/components/title/title.ionic.css +0 -127
  998. package/dist/collection/components/toast/toast.ionic.css +0 -394
  999. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  1000. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1001. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1002. package/dist/collection/utils/css-value-validation.js +0 -25
  1003. package/dist/collection/utils/overlay-control-label.js +0 -46
  1004. package/dist/collection/utils/select-option-render.js +0 -106
  1005. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1006. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1007. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1008. package/dist/esm/ion-divider.entry.js +0 -49
  1009. package/dist/esm/ion-gallery.entry.js +0 -508
  1010. package/dist/esm/ionic-global--9mOmThr.js +0 -508
  1011. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1012. package/dist/esm/overlay-control-label-PzmQ86nh.js +0 -48
  1013. package/dist/esm/select-option-render-y_4XoEqH.js +0 -109
  1014. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1015. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1016. package/dist/ionic/p-0030507d.entry.js +0 -4
  1017. package/dist/ionic/p-084c2623.entry.js +0 -4
  1018. package/dist/ionic/p-09f8a57f.entry.js +0 -4
  1019. package/dist/ionic/p-108c0f30.entry.js +0 -4
  1020. package/dist/ionic/p-1439fecb.entry.js +0 -4
  1021. package/dist/ionic/p-199bffb3.entry.js +0 -4
  1022. package/dist/ionic/p-19a1ff9a.entry.js +0 -4
  1023. package/dist/ionic/p-1a026890.entry.js +0 -4
  1024. package/dist/ionic/p-1ad16c09.entry.js +0 -4
  1025. package/dist/ionic/p-2aa7567e.entry.js +0 -4
  1026. package/dist/ionic/p-3656314c.entry.js +0 -4
  1027. package/dist/ionic/p-379cc989.entry.js +0 -4
  1028. package/dist/ionic/p-3f18dfe9.entry.js +0 -4
  1029. package/dist/ionic/p-3f1dbb47.entry.js +0 -4
  1030. package/dist/ionic/p-40d9e029.entry.js +0 -4
  1031. package/dist/ionic/p-410d60c5.entry.js +0 -4
  1032. package/dist/ionic/p-456736d1.entry.js +0 -4
  1033. package/dist/ionic/p-48e3cb9e.entry.js +0 -4
  1034. package/dist/ionic/p-497f6391.entry.js +0 -4
  1035. package/dist/ionic/p-64b4e6eb.entry.js +0 -4
  1036. package/dist/ionic/p-66eb0193.entry.js +0 -4
  1037. package/dist/ionic/p-67c2d349.entry.js +0 -4
  1038. package/dist/ionic/p-7054a1b9.entry.js +0 -4
  1039. package/dist/ionic/p-70ee89c9.entry.js +0 -4
  1040. package/dist/ionic/p-7186786e.entry.js +0 -4
  1041. package/dist/ionic/p-7194f6fa.entry.js +0 -4
  1042. package/dist/ionic/p-76c70824.entry.js +0 -4
  1043. package/dist/ionic/p-7e6112fc.entry.js +0 -4
  1044. package/dist/ionic/p-7f294078.entry.js +0 -4
  1045. package/dist/ionic/p-8458f1b6.entry.js +0 -4
  1046. package/dist/ionic/p-88e7f52a.entry.js +0 -4
  1047. package/dist/ionic/p-89eab395.entry.js +0 -4
  1048. package/dist/ionic/p-93315d96.entry.js +0 -4
  1049. package/dist/ionic/p-9ccfb733.entry.js +0 -4
  1050. package/dist/ionic/p-9dfbe98d.entry.js +0 -4
  1051. package/dist/ionic/p-B4ikoeaj.js +0 -4
  1052. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1053. package/dist/ionic/p-BFBCtvFI.js +0 -4
  1054. package/dist/ionic/p-BQgCYKKG.js +0 -4
  1055. package/dist/ionic/p-BYAxJDlE.js +0 -4
  1056. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1057. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1058. package/dist/ionic/p-CDn0uNJA.js +0 -4
  1059. package/dist/ionic/p-CHE1xWbg.js +0 -4
  1060. package/dist/ionic/p-CK179dBb.js +0 -4
  1061. package/dist/ionic/p-CLHjFE18.js +0 -4
  1062. package/dist/ionic/p-CYhXBSjd.js +0 -4
  1063. package/dist/ionic/p-D1t981Ih.js +0 -4
  1064. package/dist/ionic/p-D2tu5BUg.js +0 -4
  1065. package/dist/ionic/p-DDFhx1YX.js +0 -4
  1066. package/dist/ionic/p-DNGqaUsl.js +0 -4
  1067. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1068. package/dist/ionic/p-DaknVxZR.js +0 -4
  1069. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1070. package/dist/ionic/p-DoyDJ2X5.js +0 -4
  1071. package/dist/ionic/p-E1wtzfO0.js +0 -4
  1072. package/dist/ionic/p-FvDKM4Ax.js +0 -4
  1073. package/dist/ionic/p-IXZW3FBt.js +0 -4
  1074. package/dist/ionic/p-Omi_TcwW.js +0 -5
  1075. package/dist/ionic/p-PoSbs6oh.js +0 -4
  1076. package/dist/ionic/p-PzmQ86nh.js +0 -4
  1077. package/dist/ionic/p-VAJ_3beW.js +0 -4
  1078. package/dist/ionic/p-a3f9be52.entry.js +0 -4
  1079. package/dist/ionic/p-ad4d0138.entry.js +0 -4
  1080. package/dist/ionic/p-b4ba0050.entry.js +0 -4
  1081. package/dist/ionic/p-b4fd91b8.entry.js +0 -4
  1082. package/dist/ionic/p-b653f4c2.entry.js +0 -4
  1083. package/dist/ionic/p-b69add0e.entry.js +0 -4
  1084. package/dist/ionic/p-b7235e85.entry.js +0 -4
  1085. package/dist/ionic/p-bc317965.entry.js +0 -4
  1086. package/dist/ionic/p-bsfLvRbd.js +0 -4
  1087. package/dist/ionic/p-c21a780d.entry.js +0 -4
  1088. package/dist/ionic/p-c5118189.entry.js +0 -4
  1089. package/dist/ionic/p-c684a3b6.entry.js +0 -4
  1090. package/dist/ionic/p-c7139c41.entry.js +0 -4
  1091. package/dist/ionic/p-c94fbdab.entry.js +0 -4
  1092. package/dist/ionic/p-dac1d4de.entry.js +0 -4
  1093. package/dist/ionic/p-dd2981d0.entry.js +0 -4
  1094. package/dist/ionic/p-eTI_FbQJ.js +0 -4
  1095. package/dist/ionic/p-f72200cc.entry.js +0 -4
  1096. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1097. package/dist/ionic/p-fbdbdb3e.entry.js +0 -4
  1098. package/dist/ionic/p-fd519e2b.entry.js +0 -4
  1099. package/dist/ionic/p-ff09d2a5.entry.js +0 -4
  1100. package/dist/ionic/p-u6HLvq0g.js +0 -4
  1101. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1102. package/dist/types/components/divider/divider.d.ts +0 -20
  1103. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1104. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1105. package/dist/types/components/gallery/gallery.d.ts +0 -183
  1106. package/dist/types/components/gallery/test/utils.d.ts +0 -2
  1107. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1108. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1109. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  1110. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  1111. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  1112. package/dist/types/components/picker-legacy/picker.d.ts +0 -159
  1113. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  1114. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  1115. package/dist/types/utils/css-value-validation.d.ts +0 -12
  1116. package/dist/types/utils/overlay-control-label.d.ts +0 -34
  1117. package/dist/types/utils/select-option-render.d.ts +0 -22
  1118. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,24 +1,19 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import caretDownRegular from "@phosphor-icons/core/assets/regular/caret-down.svg";
5
4
  import { Build, Host, h, forceUpdate } from "@stencil/core";
6
- import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
7
5
  import { compareOptions, createNotchController, isOptionSelected, checkInvalidState } from "../../utils/forms/index";
8
6
  import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
9
7
  import { printIonWarning } from "../../utils/logging/index";
10
8
  import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
11
9
  import { isRTL } from "../../utils/rtl/index";
12
- import { sanitizeDOMTree } from "../../utils/sanitization/index";
13
10
  import { createColorClasses, hostContext } from "../../utils/theme";
14
11
  import { watchForOptions } from "../../utils/watch-options";
15
12
  import { caretDownSharp, chevronExpand } from "ionicons/icons";
16
- import { config } from "../../global/config";
17
- import { getIonTheme } from "../../global/ionic-global";
13
+ import { getIonMode } from "../../global/ionic-global";
18
14
  // TODO(FW-2832): types
19
15
  /**
20
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
21
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
16
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
22
17
  *
23
18
  * @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.
24
19
  * @slot start - Content to display at the leading edge of the select.
@@ -42,7 +37,6 @@ export class Select {
42
37
  this.helperTextId = `${this.inputId}-helper-text`;
43
38
  this.errorTextId = `${this.inputId}-error-text`;
44
39
  this.inheritedAttributes = {};
45
- this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
46
40
  this.isExpanded = false;
47
41
  /**
48
42
  * The `hasFocus` state ensures the focus class is
@@ -61,14 +55,6 @@ export class Select {
61
55
  * The text to display on the cancel button.
62
56
  */
63
57
  this.cancelText = 'Cancel';
64
- /**
65
- * If `true`, the cancel button will display an icon instead of the `cancelText`.
66
- * Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`,
67
- * `"alert"`, or `"popover"` interfaces.
68
- * When `cancelIcon` is `true`, the `cancelText` property is ignored for display
69
- * but is used as the accessible label for the icon button.
70
- */
71
- this.cancelIcon = false;
72
58
  /**
73
59
  * If `true`, the user cannot interact with the select.
74
60
  */
@@ -176,9 +162,40 @@ export class Select {
176
162
  this.emitStyle();
177
163
  }
178
164
  setValue(value) {
165
+ if (this.isValueEqual(this.value, value)) {
166
+ return;
167
+ }
179
168
  this.value = value;
180
169
  this.ionChange.emit({ value });
181
170
  }
171
+ isValueEqual(currentValue, newValue) {
172
+ if (this.multiple) {
173
+ const currentArr = Array.isArray(currentValue) ? currentValue : [];
174
+ const newArr = Array.isArray(newValue) ? newValue : [];
175
+ if (currentArr.length !== newArr.length) {
176
+ return false;
177
+ }
178
+ // Multiset compare: each new value must match a distinct current value.
179
+ // A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
180
+ // ['a','b'] when both 'a' and 'b' map to options whose values overlap.
181
+ const remaining = currentArr.slice();
182
+ return newArr.every((val) => {
183
+ const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
184
+ if (idx === -1) {
185
+ return false;
186
+ }
187
+ remaining.splice(idx, 1);
188
+ return true;
189
+ });
190
+ }
191
+ if (currentValue == null && newValue == null) {
192
+ return true;
193
+ }
194
+ if (currentValue == null || newValue == null) {
195
+ return false;
196
+ }
197
+ return compareOptions(currentValue, newValue, this.compareWith);
198
+ }
182
199
  async connectedCallback() {
183
200
  const { el } = this;
184
201
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
@@ -413,10 +430,9 @@ export class Select {
413
430
  .join(' ');
414
431
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
415
432
  const isSelected = isOptionSelected(selectValue, value, this.compareWith);
416
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
417
433
  return {
418
434
  role: isSelected ? 'selected' : '',
419
- text: content !== null && content !== void 0 ? content : '',
435
+ text: option.textContent,
420
436
  cssClass: optClass,
421
437
  handler: () => {
422
438
  this.setValue(value);
@@ -425,9 +441,6 @@ export class Select {
425
441
  'aria-checked': isSelected ? 'true' : 'false',
426
442
  role: 'radio',
427
443
  },
428
- startContent,
429
- endContent,
430
- description: option.description,
431
444
  };
432
445
  });
433
446
  // Add "cancel" button
@@ -448,19 +461,13 @@ export class Select {
448
461
  .filter((cls) => cls !== 'hydrated')
449
462
  .join(' ');
450
463
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
451
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
452
464
  return {
453
465
  type: inputType,
454
466
  cssClass: optClass,
455
- label: content !== null && content !== void 0 ? content : '',
467
+ label: option.textContent || '',
456
468
  value,
457
469
  checked: isOptionSelected(selectValue, value, this.compareWith),
458
470
  disabled: option.disabled,
459
- startContent,
460
- endContent,
461
- description: option.description,
462
- labelPlacement: option.labelPlacement,
463
- justify: option.justify,
464
471
  };
465
472
  });
466
473
  return alertInputs;
@@ -473,9 +480,8 @@ export class Select {
473
480
  .filter((cls) => cls !== 'hydrated')
474
481
  .join(' ');
475
482
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
476
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
477
483
  return {
478
- text: content !== null && content !== void 0 ? content : '',
484
+ text: option.textContent || '',
479
485
  cssClass: optClass,
480
486
  value,
481
487
  checked: isOptionSelected(selectValue, value, this.compareWith),
@@ -486,11 +492,6 @@ export class Select {
486
492
  this.close();
487
493
  }
488
494
  },
489
- startContent,
490
- endContent,
491
- description: option.description,
492
- labelPlacement: option.labelPlacement,
493
- justify: option.justify,
494
495
  };
495
496
  });
496
497
  return popoverOptions;
@@ -498,8 +499,8 @@ export class Select {
498
499
  async openPopover(ev) {
499
500
  const { fill, labelPlacement } = this;
500
501
  const interfaceOptions = this.interfaceOptions;
501
- const theme = getIonTheme(this);
502
- const showBackdrop = theme === 'md' ? false : true;
502
+ const mode = getIonMode(this);
503
+ const showBackdrop = mode === 'md' ? false : true;
503
504
  const multiple = this.multiple;
504
505
  const value = this.value;
505
506
  let event = ev;
@@ -510,7 +511,7 @@ export class Select {
510
511
  * when using a fill in MD mode or if the
511
512
  * label is floating/stacked.
512
513
  */
513
- if (hasFloatingOrStackedLabel || (theme === 'md' && fill !== undefined)) {
514
+ if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
514
515
  size = 'cover';
515
516
  /**
516
517
  * Otherwise the popover
@@ -523,21 +524,15 @@ export class Select {
523
524
  ionShadowTarget: this.nativeWrapperEl,
524
525
  } });
525
526
  }
526
- const options = this.createOverlaySelectOptions(this.childOpts, value);
527
- const hasRichContent = options.some((opt) => opt.startContent || opt.endContent || opt.description);
528
- const popoverOpts = Object.assign(Object.assign({ theme,
527
+ const popoverOpts = Object.assign(Object.assign({ mode,
529
528
  event, alignment: 'center', size,
530
- showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
531
- 'select-popover',
532
- hasRichContent ? 'select-popover-rich-content' : undefined,
533
- interfaceOptions.cssClass,
534
- ], componentProps: {
529
+ showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
535
530
  header: interfaceOptions.header,
536
531
  subHeader: interfaceOptions.subHeader,
537
532
  message: interfaceOptions.message,
538
533
  multiple,
539
534
  value,
540
- options,
535
+ options: this.createOverlaySelectOptions(this.childOpts, value),
541
536
  } });
542
537
  /**
543
538
  * Workaround for Stencil to autodefine
@@ -554,9 +549,9 @@ export class Select {
554
549
  return popoverController.create(popoverOpts);
555
550
  }
556
551
  async openActionSheet() {
557
- const theme = getIonTheme(this);
552
+ const mode = getIonMode(this);
558
553
  const interfaceOptions = this.interfaceOptions;
559
- const actionSheetOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
554
+ const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
560
555
  /**
561
556
  * Workaround for Stencil to autodefine
562
557
  * ion-action-sheet when
@@ -573,8 +568,8 @@ export class Select {
573
568
  async openAlert() {
574
569
  const interfaceOptions = this.interfaceOptions;
575
570
  const inputType = this.multiple ? 'checkbox' : 'radio';
576
- const theme = getIonTheme(this);
577
- const alertOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
571
+ const mode = getIonMode(this);
572
+ const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
578
573
  {
579
574
  text: this.cancelText,
580
575
  role: 'cancel',
@@ -608,11 +603,10 @@ export class Select {
608
603
  }
609
604
  openModal() {
610
605
  const { multiple, value, interfaceOptions } = this;
611
- const theme = getIonTheme(this);
612
- const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode: theme, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
606
+ const mode = getIonMode(this);
607
+ const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
613
608
  header: interfaceOptions.header,
614
609
  cancelText: this.cancelText,
615
- cancelIcon: this.cancelIcon,
616
610
  multiple,
617
611
  value,
618
612
  options: this.createOverlaySelectOptions(this.childOpts, value),
@@ -665,18 +659,12 @@ export class Select {
665
659
  }
666
660
  return;
667
661
  }
668
- /**
669
- * Returns the text to display in the select based on the selected value.
670
- *
671
- * @param useHTML If `true`, the returned text will include any custom HTML content from the selected option. If `false`, the returned text will be plain text without any HTML. Defaults to `false`.
672
- * @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
673
- */
674
- getText(useHTML = false) {
662
+ getText() {
675
663
  const selectedText = this.selectedText;
676
664
  if (selectedText != null && selectedText !== '') {
677
665
  return selectedText;
678
666
  }
679
- return generateText(this.childOpts, this.value, this.compareWith, useHTML);
667
+ return generateText(this.childOpts, this.value, this.compareWith);
680
668
  }
681
669
  setFocus() {
682
670
  if (this.focusEl) {
@@ -690,18 +678,6 @@ export class Select {
690
678
  };
691
679
  this.ionStyle.emit(style);
692
680
  }
693
- getSize() {
694
- const theme = getIonTheme(this);
695
- const { size } = this;
696
- // TODO(ROU-11370): Remove theme check when sizes are defined for all themes.
697
- if (theme !== 'ionic') {
698
- return undefined;
699
- }
700
- if (size === undefined) {
701
- return 'medium';
702
- }
703
- return size;
704
- }
705
681
  renderLabel() {
706
682
  const { label } = this;
707
683
  return (h("div", { class: {
@@ -734,8 +710,8 @@ export class Select {
734
710
  * when fill="outline".
735
711
  */
736
712
  renderLabelContainer() {
737
- const theme = getIonTheme(this);
738
- const hasOutlineFill = theme === 'md' && this.fill === 'outline';
713
+ const mode = getIonMode(this);
714
+ const hasOutlineFill = mode === 'md' && this.fill === 'outline';
739
715
  if (hasOutlineFill) {
740
716
  /**
741
717
  * The outline fill has a special outline
@@ -758,47 +734,6 @@ export class Select {
758
734
  */
759
735
  return this.renderLabel();
760
736
  }
761
- /**
762
- * Wraps text nodes in the select text with span elements
763
- * so spacing can be added between elements without
764
- * changing the display to prevent losing the ellipses
765
- * behavior.
766
- *
767
- * Only wraps when the string contains HTML elements
768
- * alongside text.
769
- */
770
- wrapSelectTextNodes(html) {
771
- const temp = document.createElement('div');
772
- temp.innerHTML = html;
773
- const hasElements = Array.from(temp.childNodes).some((n) => n.nodeType === Node.ELEMENT_NODE);
774
- // Return the plain text
775
- if (!hasElements) {
776
- return html;
777
- }
778
- Array.from(temp.childNodes).forEach((node) => {
779
- var _a, _b, _c, _d;
780
- if (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
781
- const text = node.textContent;
782
- /**
783
- * Split comma separator from the text content
784
- * e.g., ", Bacon" becomes ", " text node + <span>Bacon</span>.
785
- */
786
- const commaMatch = text.match(/^(,\s*)(.*)/);
787
- if (commaMatch) {
788
- const commaNode = document.createTextNode(commaMatch[1]);
789
- const wrapper = document.createElement('span');
790
- wrapper.textContent = commaMatch[2];
791
- (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(wrapper, node);
792
- (_c = wrapper.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(commaNode, wrapper);
793
- return;
794
- }
795
- const wrapper = document.createElement('span');
796
- (_d = node.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(wrapper, node);
797
- wrapper.appendChild(node);
798
- }
799
- });
800
- return temp.innerHTML;
801
- }
802
737
  /**
803
738
  * Renders either the placeholder
804
739
  * or the selected values based on
@@ -806,7 +741,7 @@ export class Select {
806
741
  */
807
742
  renderSelectText() {
808
743
  const { placeholder } = this;
809
- const displayValue = this.getText(true);
744
+ const displayValue = this.getText();
810
745
  let addPlaceholderClass = false;
811
746
  let selectText = displayValue;
812
747
  if (selectText === '' && placeholder !== undefined) {
@@ -818,10 +753,6 @@ export class Select {
818
753
  'select-placeholder': addPlaceholderClass,
819
754
  };
820
755
  const textPart = addPlaceholderClass ? 'placeholder' : 'text';
821
- if (this.customHTMLEnabled) {
822
- const wrapped = this.wrapSelectTextNodes(selectText);
823
- return h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart, innerHTML: wrapped });
824
- }
825
756
  return (h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
826
757
  }
827
758
  /**
@@ -829,17 +760,21 @@ export class Select {
829
760
  * next to the select text.
830
761
  */
831
762
  renderSelectIcon() {
832
- const { isExpanded, selectExpandedIcon, selectCollapsedIcon } = this;
833
- let icon = selectCollapsedIcon;
834
- if (isExpanded) {
835
- icon = selectExpandedIcon;
763
+ const mode = getIonMode(this);
764
+ const { isExpanded, toggleIcon, expandedIcon } = this;
765
+ let icon;
766
+ if (isExpanded && expandedIcon !== undefined) {
767
+ icon = expandedIcon;
768
+ }
769
+ else {
770
+ const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
771
+ icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
836
772
  }
837
773
  return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
838
774
  }
839
775
  get ariaLabel() {
840
776
  var _a;
841
777
  const { placeholder, inheritedAttributes } = this;
842
- // Get the plain text from the selected text
843
778
  const displayValue = this.getText();
844
779
  // The aria label should be preferred over visible text if both are specified
845
780
  const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;
@@ -868,63 +803,6 @@ export class Select {
868
803
  const { disabled, inputId, isExpanded, required } = this;
869
804
  return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
870
805
  }
871
- getShape() {
872
- const theme = getIonTheme(this);
873
- const { shape } = this;
874
- // TODO(ROU-11366): Remove theme check when shapes are defined for all themes.
875
- if (theme === 'ionic' && shape === undefined) {
876
- return 'round';
877
- }
878
- return shape;
879
- }
880
- /**
881
- * Get the icon to use for the expand icon.
882
- * If an icon is set on the component, use that.
883
- * Otherwise, use the icon set in the config.
884
- * If no icon is set in the config, use the default icon.
885
- */
886
- get selectExpandedIcon() {
887
- // Return the expandedIcon or toggleIcon if either is explicitly set
888
- if (this.expandedIcon != null) {
889
- return this.expandedIcon;
890
- }
891
- else if (this.toggleIcon != null) {
892
- return this.toggleIcon;
893
- }
894
- // Determine the theme and map to default icons
895
- const theme = getIonTheme(this);
896
- const defaultIcons = {
897
- ios: chevronExpand,
898
- ionic: caretDownRegular,
899
- md: caretDownSharp,
900
- };
901
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
902
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
903
- // Return the configured select expanded icon or the default icon
904
- return config.get('selectExpandedIcon', defaultIcon);
905
- }
906
- /**
907
- * Get the icon to use for the collapsed icon.
908
- * If an icon is set on the component, use that.
909
- * Otherwise, use the icon set in the config.
910
- * If no icon is set in the config, use the default icon.
911
- */
912
- get selectCollapsedIcon() {
913
- // Return the toggleIcon if it is explicitly set
914
- if (this.toggleIcon) {
915
- return this.toggleIcon;
916
- }
917
- // Determine the theme and map to default icons
918
- const theme = getIonTheme(this);
919
- const defaultIcons = {
920
- ios: chevronExpand,
921
- ionic: caretDownRegular,
922
- md: caretDownSharp,
923
- };
924
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
925
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
926
- return config.get('selectCollapsedIcon', defaultIcon);
927
- }
928
806
  getHintTextId() {
929
807
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
930
808
  if (isInvalid && errorText) {
@@ -962,17 +840,13 @@ export class Select {
962
840
  return (h("div", { class: "select-bottom", part: "bottom" }, this.renderHintText()));
963
841
  }
964
842
  render() {
965
- const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, name, value, hasFocus, } = this;
966
- const theme = getIonTheme(this);
967
- const shape = this.getShape();
843
+ const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value, hasFocus, } = this;
844
+ const mode = getIonMode(this);
968
845
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
969
- const shouldRenderOuterIcon = theme !== 'ionic' && hasFloatingOrStackedLabel;
970
- const shouldRenderInnerIcon = theme === 'ionic' || !hasFloatingOrStackedLabel;
971
846
  const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
972
847
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
973
848
  const inItem = hostContext('ion-item', this.el);
974
- const size = this.getSize();
975
- const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
849
+ const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
976
850
  const hasValue = this.hasValue();
977
851
  const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
978
852
  renderHiddenInput(true, el, name, parseValue(value), disabled);
@@ -994,8 +868,8 @@ export class Select {
994
868
  * TODO(FW-5592): Remove hasStartEndSlots condition
995
869
  */
996
870
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
997
- return (h(Host, { key: 'b5c213595ee043d842a7b7d64aa142955db0ad88', onClick: this.onClick, class: createColorClasses(this.color, {
998
- [theme]: true,
871
+ return (h(Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: createColorClasses(this.color, {
872
+ [mode]: true,
999
873
  'in-item': inItem,
1000
874
  'in-item-color': hostContext('ion-item.ion-color', el),
1001
875
  'select-disabled': disabled,
@@ -1012,33 +886,20 @@ export class Select {
1012
886
  [`select-justify-${justify}`]: justifyEnabled,
1013
887
  [`select-shape-${shape}`]: shape !== undefined,
1014
888
  [`select-label-placement-${labelPlacement}`]: true,
1015
- [`select-size-${size}`]: size !== undefined,
1016
- }) }, h("label", { key: '4b301ea9bc752639b1a5ad2ffbacddda86aba4e9', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'eed3a60c53e9215d3c06857f0b1ad9e2f8fb7d61', class: "select-wrapper-inner", part: "inner" },
1017
- /**
1018
- * For the ionic theme, we render the outline container here
1019
- * instead of higher up, so it can be positioned relative to
1020
- * the native wrapper instead of the <label> element or the
1021
- * entire component. This allows the label text to be positioned
1022
- * above the outline, while staying within the bounds of the
1023
- * <label> element, ensuring that clicking the label text
1024
- * focuses the select.
1025
- */
1026
- theme === 'ionic' && fill === 'outline' && h("div", { key: 'f567c3512f1c1482f5854cc09bcca2067431dc51', class: "select-outline" }), h("slot", { key: '4a332f517ee89bdb6da84c0dee9dea5f35f5a6cd', name: "start" }), h("div", { key: 'e9c541dcfe4b9d3cad4d4c3c094d7666e947cd46', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '3c663f69f85fd87ece0f2da081a3b64e5e140bde', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '336f7c9564b7e19a8b93e2d8a497dbd3e5e4e993', class: "select-highlight" })), this.renderBottomContent()));
889
+ }) }, h("label", { key: 'fa1889b325387da10d1e5fa865aef128bc31aee6', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'e31f4ae38af01dbe3a7551e9e5dca2650ae42ef5', class: "select-wrapper-inner", part: "inner" }, h("slot", { key: '623916631f44446fcf2c1df64788ce530964afea', name: "start" }), h("div", { key: 'cbd2298a7c6666ce6b4443b3967195f96558861c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'ee8c2a236c7f120988f5bab17397204f1b374b57', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '951566d0da3aea0be4921b2951207765b089a7f3', class: "select-highlight" })), this.renderBottomContent()));
1027
890
  }
1028
891
  static get is() { return "ion-select"; }
1029
892
  static get encapsulation() { return "shadow"; }
1030
893
  static get originalStyleUrls() {
1031
894
  return {
1032
895
  "ios": ["select.ios.scss"],
1033
- "md": ["select.md.scss"],
1034
- "ionic": ["select.ionic.scss"]
896
+ "md": ["select.md.scss"]
1035
897
  };
1036
898
  }
1037
899
  static get styleUrls() {
1038
900
  return {
1039
901
  "ios": ["select.ios.css"],
1040
- "md": ["select.md.css"],
1041
- "ionic": ["select.ionic.css"]
902
+ "md": ["select.md.css"]
1042
903
  };
1043
904
  }
1044
905
  static get properties() {
@@ -1063,26 +924,6 @@ export class Select {
1063
924
  "attribute": "cancel-text",
1064
925
  "defaultValue": "'Cancel'"
1065
926
  },
1066
- "cancelIcon": {
1067
- "type": "boolean",
1068
- "mutable": false,
1069
- "complexType": {
1070
- "original": "boolean",
1071
- "resolved": "boolean",
1072
- "references": {}
1073
- },
1074
- "required": false,
1075
- "optional": false,
1076
- "docs": {
1077
- "tags": [],
1078
- "text": "If `true`, the cancel button will display an icon instead of the `cancelText`.\nOnly applies when `interface` is set to `\"modal\"`. Has no effect on `\"action-sheet\"`,\n`\"alert\"`, or `\"popover\"` interfaces.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored for display\nbut is used as the accessible label for the icon button."
1079
- },
1080
- "getter": false,
1081
- "setter": false,
1082
- "reflect": false,
1083
- "attribute": "cancel-icon",
1084
- "defaultValue": "false"
1085
- },
1086
927
  "color": {
1087
928
  "type": "string",
1088
929
  "mutable": false,
@@ -1167,7 +1008,7 @@ export class Select {
1167
1008
  "optional": true,
1168
1009
  "docs": {
1169
1010
  "tags": [],
1170
- "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in the `\"md\"` theme."
1011
+ "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
1171
1012
  },
1172
1013
  "getter": false,
1173
1014
  "setter": false,
@@ -1427,7 +1268,7 @@ export class Select {
1427
1268
  "optional": true,
1428
1269
  "docs": {
1429
1270
  "tags": [],
1430
- "text": "The toggle icon to use. Defaults to `\"chevronExpand\"` for the `\"ios\"` theme,\nor `\"caretDownSharp\"` for the `\"md\"` and `\"ionic\"` themes."
1271
+ "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
1431
1272
  },
1432
1273
  "getter": false,
1433
1274
  "setter": false,
@@ -1446,89 +1287,70 @@ export class Select {
1446
1287
  "optional": true,
1447
1288
  "docs": {
1448
1289
  "tags": [],
1449
- "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `\"md\"` theme will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1290
+ "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1450
1291
  },
1451
1292
  "getter": false,
1452
1293
  "setter": false,
1453
1294
  "reflect": false,
1454
1295
  "attribute": "expanded-icon"
1455
1296
  },
1456
- "required": {
1457
- "type": "boolean",
1458
- "mutable": false,
1459
- "complexType": {
1460
- "original": "boolean",
1461
- "resolved": "boolean",
1462
- "references": {}
1463
- },
1464
- "required": false,
1465
- "optional": false,
1466
- "docs": {
1467
- "tags": [],
1468
- "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1469
- },
1470
- "getter": false,
1471
- "setter": false,
1472
- "reflect": false,
1473
- "attribute": "required",
1474
- "defaultValue": "false"
1475
- },
1476
1297
  "shape": {
1477
1298
  "type": "string",
1478
1299
  "mutable": false,
1479
1300
  "complexType": {
1480
- "original": "'soft' | 'round' | 'rectangular'",
1481
- "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
1301
+ "original": "'round'",
1302
+ "resolved": "\"round\" | undefined",
1482
1303
  "references": {}
1483
1304
  },
1484
1305
  "required": false,
1485
1306
  "optional": true,
1486
1307
  "docs": {
1487
1308
  "tags": [],
1488
- "text": "Set to `\"soft\"` for a select with slightly rounded corners,\n`\"round\"` for a select with fully rounded corners,\nor `\"rectangular\"` for a select without rounded corners.\n\nDefaults to `\"round\"` for the `\"ionic\"` theme, undefined for all other themes."
1309
+ "text": "The shape of the select. If \"round\" it will have an increased border radius."
1489
1310
  },
1490
1311
  "getter": false,
1491
1312
  "setter": false,
1492
1313
  "reflect": false,
1493
1314
  "attribute": "shape"
1494
1315
  },
1495
- "size": {
1496
- "type": "string",
1497
- "mutable": false,
1316
+ "value": {
1317
+ "type": "any",
1318
+ "mutable": true,
1498
1319
  "complexType": {
1499
- "original": "'small' | 'medium' | 'large'",
1500
- "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
1320
+ "original": "any | null",
1321
+ "resolved": "any",
1501
1322
  "references": {}
1502
1323
  },
1503
1324
  "required": false,
1504
1325
  "optional": true,
1505
1326
  "docs": {
1506
1327
  "tags": [],
1507
- "text": "The size of the select. If \"large\" it will increase the height of the select, while\n\"small\" and \"medium\" provide progressively smaller heights.\n\nDefaults to `\"medium\"` for the ionic theme, and undefined for all other themes."
1328
+ "text": "The value of the select."
1508
1329
  },
1509
1330
  "getter": false,
1510
1331
  "setter": false,
1511
1332
  "reflect": false,
1512
- "attribute": "size"
1333
+ "attribute": "value"
1513
1334
  },
1514
- "value": {
1515
- "type": "any",
1516
- "mutable": true,
1335
+ "required": {
1336
+ "type": "boolean",
1337
+ "mutable": false,
1517
1338
  "complexType": {
1518
- "original": "any | null",
1519
- "resolved": "any",
1339
+ "original": "boolean",
1340
+ "resolved": "boolean",
1520
1341
  "references": {}
1521
1342
  },
1522
1343
  "required": false,
1523
- "optional": true,
1344
+ "optional": false,
1524
1345
  "docs": {
1525
1346
  "tags": [],
1526
- "text": "The value of the select."
1347
+ "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1527
1348
  },
1528
1349
  "getter": false,
1529
1350
  "setter": false,
1530
1351
  "reflect": false,
1531
- "attribute": "value"
1352
+ "attribute": "required",
1353
+ "defaultValue": "false"
1532
1354
  }
1533
1355
  };
1534
1356
  }
@@ -1724,210 +1546,25 @@ const parseValue = (value) => {
1724
1546
  }
1725
1547
  return value.toString();
1726
1548
  };
1727
- const generateText = (opts, value, compareWith, useHTML = false) => {
1549
+ const generateText = (opts, value, compareWith) => {
1728
1550
  if (value === undefined) {
1729
1551
  return '';
1730
1552
  }
1731
1553
  if (Array.isArray(value)) {
1732
1554
  return value
1733
- .map((v) => textForValue(opts, v, compareWith, useHTML))
1555
+ .map((v) => textForValue(opts, v, compareWith))
1734
1556
  .filter((opt) => opt !== null)
1735
1557
  .join(', ');
1736
1558
  }
1737
1559
  else {
1738
- return textForValue(opts, value, compareWith, useHTML) || '';
1560
+ return textForValue(opts, value, compareWith) || '';
1739
1561
  }
1740
1562
  };
1741
- /**
1742
- * Returns the display text for a given value from the list of options.
1743
- * When `useHTML` is true, returns sanitized HTML for the select text.
1744
- * When `useHTML` is false, returns plain text for aria-label and other
1745
- * text-only contexts.
1746
- *
1747
- * @param opts - The list of ion-select-option elements.
1748
- * @param value - The value to find the matching option for.
1749
- * @param compareWith - Custom comparison function or property name.
1750
- * @param useHTML - If true, returns HTML string. If false, returns plain text.
1751
- */
1752
- const textForValue = (opts, value, compareWith, useHTML = false) => {
1563
+ const textForValue = (opts, value, compareWith) => {
1753
1564
  const selectOpt = opts.find((opt) => {
1754
1565
  return compareOptions(value, getOptionValue(opt), compareWith);
1755
1566
  });
1756
- const customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
1757
- if (!selectOpt) {
1758
- return null;
1759
- }
1760
- // Return sanitized HTML for the select text
1761
- if (customHTMLEnabled && useHTML) {
1762
- return getOptionContent(selectOpt, undefined, true);
1763
- }
1764
- /**
1765
- * When custom HTML is enabled, extract only the default slot content.
1766
- * This ensures aria-label and other text-only contexts read only
1767
- * the relevant option text.
1768
- */
1769
- if (customHTMLEnabled) {
1770
- const content = getOptionContent(selectOpt);
1771
- if (typeof content === 'string') {
1772
- return content;
1773
- }
1774
- /**
1775
- * Elements were found in the default slot, extract and concatenate
1776
- * their text content while trimming whitespace.
1777
- */
1778
- if (content) {
1779
- const texts = Array.from(content.childNodes)
1780
- .map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
1781
- .filter((t) => t);
1782
- return texts.join(' ') || null;
1783
- }
1784
- // Empty option
1785
- return null;
1786
- }
1787
- return getDefaultSlotPlainText(selectOpt);
1788
- };
1789
- /**
1790
- * Trims whitespace from all text nodes within a DOM tree.
1791
- * This prevents invisible layout shifts and unwanted gaps between
1792
- * elements when HTML content is injected via innerHTML or cloneNode,
1793
- * as browsers preserve whitespace (tabs, newlines, spaces) from
1794
- * the original source markup.
1795
- *
1796
- * @param node The root node to start trimming text nodes from.
1797
- */
1798
- const trimTextNodes = (node) => {
1799
- node.childNodes.forEach((child) => {
1800
- var _a;
1801
- if (child.nodeType === Node.TEXT_NODE) {
1802
- child.textContent = ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
1803
- }
1804
- else if (child.nodeType === Node.ELEMENT_NODE) {
1805
- trimTextNodes(child);
1806
- }
1807
- });
1808
- };
1809
- /**
1810
- * Extracts and clones content from an `ion-select-option` element
1811
- * for rendering within overlay interfaces or the select text when `customHTMLEnabled` is `true`.
1812
- *
1813
- * @param option - The `ion-select-option` element to extract content from.
1814
- * @param slotName - Optional slot name to extract. If omitted, extracts the default slot content.
1815
- * @param useHTML - If `true`, the returned string will include any custom HTML content. If `false`, the returned string will be plain text without any HTML.
1816
- * @returns When `useHTML` is `true`, a sanitized HTML string. When `false`, a
1817
- * div element containing cloned child nodes. Returns `null` if no matching
1818
- * content is found.
1819
- */
1820
- const getOptionContent = (option, slotName, useHTML = false) => {
1821
- let nodes;
1822
- if (slotName) {
1823
- // Named slot: get elements with matching slot attribute
1824
- nodes = Array.from(option.children).filter((el) => el.getAttribute('slot') === slotName);
1825
- }
1826
- else {
1827
- // Default slot: get nodes without a slot attribute
1828
- const defaultSlot = getOptionDefaultSlot(option) || [];
1829
- nodes = defaultSlot.filter((node) => {
1830
- var _a;
1831
- /**
1832
- * Exclude whitespace-only text nodes (newline noise between
1833
- * markup elements). Element nodes are always kept, even when
1834
- * their textContent is empty (e.g. <svg>, <img>).
1835
- */
1836
- if (node.nodeType === Node.TEXT_NODE) {
1837
- return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
1838
- }
1839
- return true;
1840
- });
1841
- }
1842
- if (nodes.length === 0) {
1843
- return null;
1844
- }
1845
- // Return plain text if no elements are found
1846
- if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
1847
- return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
1848
- }
1849
- // Clone each node into a temporary container
1850
- const container = document.createElement('div');
1851
- nodes.forEach((n) => {
1852
- var _a;
1853
- const clone = n.cloneNode(true);
1854
- if (clone.nodeType === Node.TEXT_NODE) {
1855
- clone.textContent = ((_a = clone.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
1856
- }
1857
- else {
1858
- trimTextNodes(clone);
1859
- }
1860
- container.appendChild(clone);
1861
- });
1862
- // Sanitize the cloned DOM in place. Author-written attributes (size,
1863
- // color, shape, etc.) are preserved; event handlers, javascript: URLs,
1864
- // and blocked tags are stripped.
1865
- sanitizeDOMTree(container);
1866
- if (useHTML) {
1867
- return container.innerHTML.trim() || null;
1868
- }
1869
- return container;
1870
- };
1871
- /**
1872
- * Returns the child nodes that belong to the default slot of an
1873
- * option element, excluding any nodes that are assigned to named
1874
- * slots.
1875
- *
1876
- * @param option - The `ion-select-option` element to extract default-slot nodes from.
1877
- * @returns An array of default slot nodes, or `null` if none are found.
1878
- */
1879
- const getOptionDefaultSlot = (option) => {
1880
- const defaultSlotNodes = Array.from(option.childNodes).filter((node) => {
1881
- if (node.nodeType === Node.ELEMENT_NODE) {
1882
- return !node.hasAttribute('slot');
1883
- }
1884
- return node.nodeType === Node.TEXT_NODE;
1885
- });
1886
- if (defaultSlotNodes.length === 0) {
1887
- return null;
1888
- }
1889
- return defaultSlotNodes;
1890
- };
1891
- /**
1892
- * Extracts plain text from only the default slot of an option,
1893
- * excluding content assigned to named slots (start/end).
1894
- */
1895
- const getDefaultSlotPlainText = (option) => {
1896
- const texts = Array.from(option.childNodes)
1897
- .filter((node) => {
1898
- if (node.nodeType === Node.ELEMENT_NODE) {
1899
- return !node.hasAttribute('slot');
1900
- }
1901
- return node.nodeType === Node.TEXT_NODE;
1902
- })
1903
- .filter((node) => node.nodeType === Node.TEXT_NODE)
1904
- .map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
1905
- .filter((t) => t);
1906
- return texts.join(' ');
1907
- };
1908
- /**
1909
- * Extracts the rich content from an `ion-select-option`.
1910
- * When `customHTMLEnabled` is `false`, only the plain text from the
1911
- * default slot is read and the start and end slots are skipped.
1912
- *
1913
- * @param option - The `ion-select-option` element to extract content from.
1914
- * @param customHTMLEnabled - Whether custom HTML rendering is enabled
1915
- * via the `innerHTMLTemplatesEnabled` config.
1916
- */
1917
- const extractOptionContent = (option, customHTMLEnabled) => {
1918
- var _a, _b;
1919
- if (!customHTMLEnabled) {
1920
- return {
1921
- content: getDefaultSlotPlainText(option),
1922
- startContent: undefined,
1923
- endContent: undefined,
1924
- };
1925
- }
1926
- return {
1927
- content: getOptionContent(option),
1928
- startContent: (_a = getOptionContent(option, 'start')) !== null && _a !== void 0 ? _a : undefined,
1929
- endContent: (_b = getOptionContent(option, 'end')) !== null && _b !== void 0 ? _b : undefined,
1930
- };
1567
+ return selectOpt ? selectOpt.textContent : null;
1931
1568
  };
1932
1569
  let selectIds = 0;
1933
1570
  const OPTION_CLASS = 'select-interface-option';