@ionic/core 9.0.1-dev.11788285010.17561004 → 9.0.1-dev.11788375537.1f38f077

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 (426) 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-gFwXiYC_.js → p-5rFO7X8J.js} +1 -1
  99. package/components/{p-BpLt_Ptn.js → p-7qDu1bID.js} +1 -1
  100. package/components/{p-7PNwKFZi.js → p-B2L09UOs.js} +1 -1
  101. package/components/{p-DcOH6-o5.js → p-BAJ7NctL.js} +1 -1
  102. package/components/{p-Kmrg3Fed.js → p-BE9noJ1O.js} +1 -1
  103. package/components/{p-CgvDC7hC.js → p-BFwL2yyK.js} +1 -1
  104. package/components/{p-DysqCsJu.js → p-BWHBdLfY.js} +1 -1
  105. package/components/{p-SR-LLqp_.js → p-Bcm-GVQM.js} +1 -1
  106. package/{dist/ionic/p-9wczfs_v.js → components/p-BcuLPPAE.js} +1 -1
  107. package/components/p-BhlP16sB.js +4 -0
  108. package/components/{p-H1f2qsk4.js → p-BqE7e5gH.js} +1 -1
  109. package/components/{p-BqBDq1Ma.js → p-C12SAK00.js} +1 -1
  110. package/components/{p-A8MJRBIY.js → p-C8mPeq0D.js} +1 -1
  111. package/components/{p-Bx2saTHs.js → p-CB06XtlF.js} +1 -1
  112. package/components/{p-BgUIV8NQ.js → p-CBhGZ6rF.js} +1 -1
  113. package/components/{p-B8MQjdvk.js → p-CDKY4TZ_.js} +1 -1
  114. package/components/{p-CWETxTjE.js → p-CEkamjav.js} +1 -1
  115. package/components/p-CFtAWaB6.js +4 -0
  116. package/components/{p-DEW7CnUc.js → p-CJTKYpZv.js} +1 -1
  117. package/components/{p-BA_4ZIEg.js → p-CLZPNP7x.js} +1 -1
  118. package/components/{p-tX3UxCnU.js → p-COxY7PLK.js} +1 -1
  119. package/components/p-CQxPXWNM.js +4 -0
  120. package/components/{p-DDdkefwf.js → p-CRcX0EGs.js} +1 -1
  121. package/components/{p-Bg4OwDwb.js → p-CXQzYyda.js} +1 -1
  122. package/components/p-CXpy69Ei.js +4 -0
  123. package/{dist/ionic/p-BZxjcGRP.js → components/p-CdSLe3Q3.js} +1 -1
  124. package/components/p-CoGD-oMG.js +4 -0
  125. package/components/p-CpYeYl3u.js +4 -0
  126. package/components/{p-BFtL8t1r.js → p-CyKlfXdt.js} +1 -1
  127. package/components/{p-CHswSpKy.js → p-D6PwfJ9F.js} +1 -1
  128. package/components/{p-Bnc0m4SW.js → p-D6dNJoqU.js} +1 -1
  129. package/components/{p-eFI3mtEX.js → p-D8BOfNYz.js} +1 -1
  130. package/{dist/ionic/p-D0dfUysx.js → components/p-DG-dUCKp.js} +1 -1
  131. package/{dist/ionic/p-DF_Uqql8.js → components/p-DH0rRXjx.js} +1 -1
  132. package/components/{p-D7ysFE2B.js → p-DMkSsriG.js} +1 -1
  133. package/components/{p-CaiZOhfC.js → p-Dcxr2vKX.js} +1 -1
  134. package/components/{p-B6x5_b9w.js → p-DkEb3SCT.js} +1 -1
  135. package/components/p-Dr-rBSUW.js +4 -0
  136. package/components/{p-DqAI6tg7.js → p-FQTgh7aH.js} +1 -1
  137. package/components/{p-DrehWDfv.js → p-KusMkAnB.js} +1 -1
  138. package/components/p-MHpJ2A_m.js +4 -0
  139. package/components/p-QgdyH-Zs.js +4 -0
  140. package/components/{p-BMfgF-Tv.js → p-RRH-7cpd.js} +1 -1
  141. package/components/{p-CQAjyETU.js → p-U1X_lw_6.js} +1 -1
  142. package/components/p-UKksD3f9.js +4 -0
  143. package/components/{p-v2NpoOHp.js → p-VTfnz_8u.js} +1 -1
  144. package/components/p-fP0QF3iG.js +4 -0
  145. package/components/{p-BPDxVIRr.js → p-l-zxxFre.js} +1 -1
  146. package/components/{p-BrFaQbGY.js → p-mXsQnyWB.js} +1 -1
  147. package/components/p-ntAkt4Ra.js +4 -0
  148. package/components/p-ufB0gCSU.js +4 -0
  149. package/dist/cjs/{animation-D-OqR4a4.js → animation-ihPP_z2n.js} +1 -1
  150. package/dist/cjs/{app-globals-BzgwARwJ.js → app-globals-BlkzA410.js} +1 -1
  151. package/dist/cjs/{button-active-BlWSD7uK.js → button-active-ItGBjzmO.js} +1 -1
  152. package/dist/cjs/{format-D7ig6Vm0.js → format-CPIqtp4x.js} +1 -1
  153. package/dist/cjs/{framework-delegate-BZUx4TnE.js → framework-delegate-DhyWUPGg.js} +1 -1
  154. package/dist/cjs/{hardware-back-button-JOAEFSzc.js → hardware-back-button-D5f_kASb.js} +1 -1
  155. package/dist/cjs/{helpers-Dj5o76mq.js → helpers-BCLkFTTd.js} +1 -1
  156. package/dist/cjs/{index-C8zH6b3d.js → index-49DTLc_Z.js} +2 -2
  157. package/dist/cjs/{index-CZ6vzt_q.js → index-BcyiqD6R.js} +5 -5
  158. package/dist/cjs/{index-BrVMoqUk.js → index-Bgz6BcKx.js} +50 -16
  159. package/dist/cjs/{index-EJLjthTK.js → index-BocV_y-c.js} +2 -1
  160. package/dist/cjs/{index-2sO-zkZ2.js → index-CldjPPyP.js} +4 -4
  161. package/dist/cjs/{index-Csue6G3m.js → index-xum7jdbq.js} +2 -2
  162. package/dist/cjs/index.cjs.js +12 -12
  163. package/dist/cjs/{input-shims-Bh7bnt2v.js → input-shims-Jisy7U7-.js} +3 -3
  164. package/dist/cjs/{input.utils-Cq3g9uHy.js → input.utils-BDTpGrfn.js} +1 -1
  165. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  166. package/dist/cjs/ion-action-sheet.cjs.entry.js +10 -10
  167. package/dist/cjs/ion-alert.cjs.entry.js +10 -10
  168. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  169. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  171. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  172. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  173. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  176. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  177. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  178. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  179. package/dist/cjs/ion-datetime.cjs.entry.js +32 -24
  180. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  181. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  182. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  183. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  184. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  185. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  186. package/dist/cjs/ion-item-option_3.cjs.entry.js +13 -15
  187. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  188. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  189. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  190. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  191. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  193. package/dist/cjs/ion-picker-column.cjs.entry.js +210 -46
  194. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  195. package/dist/cjs/ion-popover.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  197. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  199. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  200. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  201. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  202. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  203. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  204. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  205. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  206. package/dist/cjs/ion-segment_2.cjs.entry.js +14 -10
  207. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
  208. package/dist/cjs/ion-select_3.cjs.entry.js +57 -47
  209. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  210. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  211. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  212. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  213. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  214. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  215. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  216. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  217. package/dist/cjs/{ionic-global-DvgIzM2F.js → ionic-global-BMU-Us1Q.js} +1 -1
  218. package/dist/cjs/ionic.cjs.js +4 -4
  219. package/dist/cjs/{ios.transition-zIgdoSYe.js → ios.transition-OCcCN--B.js} +4 -4
  220. package/dist/cjs/{item-multiple-inputs-DG-ZGm6j.js → item-multiple-inputs-BH9yPC66.js} +1 -1
  221. package/dist/cjs/loader.cjs.js +3 -3
  222. package/dist/cjs/{md.transition-CXeJ9rfh.js → md.transition-D0o2IIbo.js} +4 -4
  223. package/dist/cjs/{overlays-Bg0auTQa.js → overlays-hCtsdAvn.js} +5 -5
  224. package/dist/cjs/{select-option-render-7m1WdFzF.js → select-option-render-BPjGDlsG.js} +2 -2
  225. package/dist/cjs/{slot-mutation-controller-BJEJzx_e.js → slot-mutation-controller-IQ250LoG.js} +1 -1
  226. package/dist/cjs/{status-tap-DxbUM5XX.js → status-tap-Bakl9czs.js} +3 -3
  227. package/dist/cjs/{swipe-back-F_DBt-Aw.js → swipe-back-Cv4OZVJ5.js} +2 -2
  228. package/dist/collection/collection-manifest.json +1 -1
  229. package/dist/collection/components/datetime/datetime.js +25 -17
  230. package/dist/collection/components/item-sliding/item-sliding.js +10 -12
  231. package/dist/collection/components/picker-column/picker-column.js +207 -43
  232. package/dist/collection/components/segment-button/segment-button.js +11 -7
  233. package/dist/collection/components/select/select.js +49 -39
  234. package/dist/collection/utils/test/late-props/late-props.js +69 -0
  235. package/dist/docs.json +279 -48
  236. package/dist/esm/{animation-TxGPYeDn.js → animation-B6KGUJwl.js} +1 -1
  237. package/dist/esm/{app-globals-Do8rJest.js → app-globals-BvutUX8P.js} +1 -1
  238. package/dist/esm/{button-active-ChA4D-ml.js → button-active-DRNebs9r.js} +1 -1
  239. package/dist/esm/{format-CVk5e_GP.js → format-BF3btM7P.js} +1 -1
  240. package/dist/esm/{framework-delegate-DaLWnISz.js → framework-delegate-60cEIAgt.js} +1 -1
  241. package/dist/esm/{hardware-back-button-D8W4L0JP.js → hardware-back-button-rhkwRNk2.js} +1 -1
  242. package/dist/esm/{helpers-BIgoInJU.js → helpers-DLLANtRS.js} +1 -1
  243. package/dist/esm/{index-C8Dsa6li.js → index-BZHVn0iF.js} +4 -4
  244. package/dist/esm/{index-DHw2lZxe.js → index-Bl4BUvBL.js} +2 -2
  245. package/dist/esm/{index-BmOR8tCv.js → index-DOrtAUWV.js} +2 -2
  246. package/dist/esm/{index-C5ZdL0qp.js → index-D_7MeuVD.js} +5 -5
  247. package/dist/esm/{index-elneMH8y.js → index-JgU5uTSY.js} +2 -2
  248. package/dist/esm/{index-CKYcsw8f.js → index-h81G-QbJ.js} +50 -16
  249. package/dist/esm/index.js +12 -12
  250. package/dist/esm/{input-shims-09NN97kF.js → input-shims-C2ipc_XX.js} +3 -3
  251. package/dist/esm/{input.utils-BxyH9l1w.js → input.utils-D-qoPjqr.js} +1 -1
  252. package/dist/esm/ion-accordion_2.entry.js +3 -3
  253. package/dist/esm/ion-action-sheet.entry.js +10 -10
  254. package/dist/esm/ion-alert.entry.js +10 -10
  255. package/dist/esm/ion-app_8.entry.js +12 -12
  256. package/dist/esm/ion-avatar_3.entry.js +2 -2
  257. package/dist/esm/ion-back-button.entry.js +3 -3
  258. package/dist/esm/ion-backdrop.entry.js +2 -2
  259. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  260. package/dist/esm/ion-button_2.entry.js +3 -3
  261. package/dist/esm/ion-card_5.entry.js +3 -3
  262. package/dist/esm/ion-checkbox.entry.js +4 -4
  263. package/dist/esm/ion-chip.entry.js +2 -2
  264. package/dist/esm/ion-col_3.entry.js +2 -2
  265. package/dist/esm/ion-datetime-button.entry.js +4 -4
  266. package/dist/esm/ion-datetime.entry.js +32 -24
  267. package/dist/esm/ion-fab_3.entry.js +3 -3
  268. package/dist/esm/ion-img.entry.js +3 -3
  269. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  270. package/dist/esm/ion-input-otp.entry.js +3 -3
  271. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  272. package/dist/esm/ion-input.entry.js +5 -5
  273. package/dist/esm/ion-item-option_3.entry.js +13 -15
  274. package/dist/esm/ion-item_8.entry.js +3 -3
  275. package/dist/esm/ion-loading.entry.js +8 -8
  276. package/dist/esm/ion-menu_3.entry.js +8 -8
  277. package/dist/esm/ion-modal.entry.js +9 -9
  278. package/dist/esm/ion-nav_2.entry.js +6 -6
  279. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  280. package/dist/esm/ion-picker-column.entry.js +211 -47
  281. package/dist/esm/ion-picker.entry.js +2 -2
  282. package/dist/esm/ion-popover.entry.js +8 -8
  283. package/dist/esm/ion-progress-bar.entry.js +3 -3
  284. package/dist/esm/ion-radio_2.entry.js +4 -4
  285. package/dist/esm/ion-range.entry.js +4 -4
  286. package/dist/esm/ion-refresher_2.entry.js +6 -6
  287. package/dist/esm/ion-reorder_2.entry.js +4 -4
  288. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  289. package/dist/esm/ion-route_4.entry.js +4 -4
  290. package/dist/esm/ion-searchbar.entry.js +3 -3
  291. package/dist/esm/ion-segment-content.entry.js +1 -1
  292. package/dist/esm/ion-segment-view.entry.js +1 -1
  293. package/dist/esm/ion-segment_2.entry.js +14 -10
  294. package/dist/esm/ion-select-modal.entry.js +8 -8
  295. package/dist/esm/ion-select_3.entry.js +57 -47
  296. package/dist/esm/ion-spinner.entry.js +2 -2
  297. package/dist/esm/ion-split-pane.entry.js +2 -2
  298. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  299. package/dist/esm/ion-tab_2.entry.js +3 -3
  300. package/dist/esm/ion-text.entry.js +2 -2
  301. package/dist/esm/ion-textarea.entry.js +5 -5
  302. package/dist/esm/ion-toast.entry.js +8 -8
  303. package/dist/esm/ion-toggle.entry.js +4 -4
  304. package/dist/esm/{ionic-global-lrowsHfi.js → ionic-global-B7I1sdvg.js} +1 -1
  305. package/dist/esm/ionic.js +5 -5
  306. package/dist/esm/{ios.transition-BQhADrk1.js → ios.transition-C-6IaIxe.js} +4 -4
  307. package/dist/esm/{item-multiple-inputs-D_N3fDkD.js → item-multiple-inputs-DI91syHS.js} +1 -1
  308. package/dist/esm/loader.js +4 -4
  309. package/dist/esm/{md.transition-D58NpmRa.js → md.transition-dyqt0t0d.js} +4 -4
  310. package/dist/esm/{overlays-BpnIFlXI.js → overlays-CiFoZEq1.js} +5 -5
  311. package/dist/esm/{select-option-render-lIuu64EV.js → select-option-render-CUJpruSC.js} +2 -2
  312. package/dist/esm/{slot-mutation-controller-rS_T3FDR.js → slot-mutation-controller-wFuztlVD.js} +1 -1
  313. package/dist/esm/{status-tap-CpFQMLl6.js → status-tap-Dn_42wiy.js} +3 -3
  314. package/dist/esm/{swipe-back-rmc7zeNW.js → swipe-back-CqOqrHW7.js} +2 -2
  315. package/dist/ionic/index.esm.js +1 -1
  316. package/dist/ionic/ionic.esm.js +1 -1
  317. package/dist/ionic/{p-d8deff43.entry.js → p-026e2e4c.entry.js} +1 -1
  318. package/dist/ionic/{p-RzUn7cKs.js → p-06ZcwRF5.js} +1 -1
  319. package/dist/ionic/{p-b62bfce8.entry.js → p-082b8125.entry.js} +1 -1
  320. package/dist/ionic/{p-16e9f542.entry.js → p-0b52d921.entry.js} +1 -1
  321. package/dist/ionic/{p-485fb218.entry.js → p-1a20571c.entry.js} +1 -1
  322. package/dist/ionic/{p-90ba736e.entry.js → p-1f66c230.entry.js} +1 -1
  323. package/dist/ionic/{p-a0fee899.entry.js → p-2aabd568.entry.js} +1 -1
  324. package/dist/ionic/{p-295ff427.entry.js → p-2ff12c8a.entry.js} +1 -1
  325. package/dist/ionic/p-326e0d05.entry.js +4 -0
  326. package/dist/ionic/p-392079fa.entry.js +4 -0
  327. package/dist/ionic/{p-48c859fe.entry.js → p-39415b06.entry.js} +1 -1
  328. package/dist/ionic/{p-886d9e66.entry.js → p-3bad6750.entry.js} +1 -1
  329. package/dist/ionic/{p-6f048604.entry.js → p-43bae3f5.entry.js} +1 -1
  330. package/dist/ionic/{p-d3384a40.entry.js → p-47b8b59a.entry.js} +1 -1
  331. package/dist/ionic/p-4dcd329a.entry.js +4 -0
  332. package/dist/ionic/{p-478035a7.entry.js → p-53ba5651.entry.js} +1 -1
  333. package/dist/ionic/{p-bbf6878c.entry.js → p-546b1109.entry.js} +1 -1
  334. package/dist/ionic/{p-8dd4c026.entry.js → p-5dc53bdf.entry.js} +1 -1
  335. package/dist/ionic/{p-1df75f9e.entry.js → p-5ed60413.entry.js} +1 -1
  336. package/dist/ionic/{p-05800a02.entry.js → p-5fce4bf4.entry.js} +1 -1
  337. package/dist/ionic/{p-ddfb7e5f.entry.js → p-6d84fa9f.entry.js} +1 -1
  338. package/dist/ionic/{p-68507e70.entry.js → p-70334101.entry.js} +1 -1
  339. package/dist/ionic/{p-72ad7c64.entry.js → p-7c859f42.entry.js} +1 -1
  340. package/dist/ionic/{p-f376876b.entry.js → p-83aa7d47.entry.js} +1 -1
  341. package/dist/ionic/{p-959df5f8.entry.js → p-8d72244b.entry.js} +1 -1
  342. package/dist/ionic/{p-34b9379b.entry.js → p-8db6e422.entry.js} +1 -1
  343. package/dist/ionic/{p-9e455875.entry.js → p-8e388a30.entry.js} +1 -1
  344. package/dist/ionic/{p-b5f37106.entry.js → p-9452849d.entry.js} +1 -1
  345. package/dist/ionic/{p-75887ee0.entry.js → p-986a1db8.entry.js} +1 -1
  346. package/dist/ionic/{p-a54bcd16.entry.js → p-9e688396.entry.js} +1 -1
  347. package/dist/ionic/{p-cad4eccf.entry.js → p-9eba0d8a.entry.js} +1 -1
  348. package/dist/ionic/{p-8e007f11.entry.js → p-9f2d3987.entry.js} +1 -1
  349. package/{components/p-BSARlp49.js → dist/ionic/p-BC17SPKH.js} +1 -1
  350. package/dist/ionic/p-BRa1Jjxr.js +4 -0
  351. package/dist/ionic/{p-De0eY881.js → p-BRc8gq5v.js} +1 -1
  352. package/{components/p-66ogmUZU.js → dist/ionic/p-BpG7jkT9.js} +1 -1
  353. package/dist/ionic/{p-B1Y7LZhV.js → p-C10K-FJg.js} +1 -1
  354. package/dist/ionic/{p-D9yvytgv.js → p-C2BY_4Wp.js} +1 -1
  355. package/dist/ionic/{p-BZVE25Gu.js → p-CH8tk7Pr.js} +1 -1
  356. package/dist/ionic/{p-CDBop-kz.js → p-CTBfxfjC.js} +1 -1
  357. package/dist/ionic/p-Cc-fFNy8.js +4 -0
  358. package/dist/ionic/p-Cc4w3fVf.js +4 -0
  359. package/{components/p-BuPAFTWI.js → dist/ionic/p-CoEa7CiN.js} +1 -1
  360. package/dist/ionic/p-CvRL-Eju.js +4 -0
  361. package/dist/ionic/{p-DdhHqKj-.js → p-DA52akcQ.js} +1 -1
  362. package/dist/ionic/p-DA88iqXQ.js +4 -0
  363. package/dist/ionic/{p-DXJgZWgi.js → p-DMj-M2c4.js} +1 -1
  364. package/dist/ionic/p-D_IgV7tz.js +4 -0
  365. package/dist/ionic/{p-VquyMbjp.js → p-DoUx_N0R.js} +1 -1
  366. package/dist/ionic/{p-C4IBDDj6.js → p-KJ5pLPiN.js} +1 -1
  367. package/dist/ionic/{p-ByLaqOPm.js → p-Q9w8L_Sw.js} +1 -1
  368. package/dist/ionic/{p-ClrlQU2y.js → p-S1shXW5M.js} +1 -1
  369. package/dist/ionic/{p-1db2afb4.entry.js → p-a2fccdaa.entry.js} +1 -1
  370. package/dist/ionic/{p-fbd83d4c.entry.js → p-ac71362a.entry.js} +1 -1
  371. package/dist/ionic/{p-b7a11b58.entry.js → p-b62c04b2.entry.js} +1 -1
  372. package/dist/ionic/p-b8cd338d.entry.js +4 -0
  373. package/dist/ionic/{p-5f216b79.entry.js → p-ca57763d.entry.js} +1 -1
  374. package/dist/ionic/{p-39a8d4e0.entry.js → p-cc749877.entry.js} +1 -1
  375. package/dist/ionic/{p-56307aea.entry.js → p-d1539609.entry.js} +1 -1
  376. package/dist/ionic/{p-cdc5115e.entry.js → p-d1b888de.entry.js} +1 -1
  377. package/dist/ionic/p-da5a7bcd.entry.js +4 -0
  378. package/dist/ionic/{p-70ee8888.entry.js → p-dadcb3d2.entry.js} +1 -1
  379. package/dist/ionic/{p-0eb50dca.entry.js → p-e090eca3.entry.js} +1 -1
  380. package/dist/ionic/{p-873a315a.entry.js → p-e5a54d99.entry.js} +1 -1
  381. package/dist/ionic/{p-c49165af.entry.js → p-e93cc1e1.entry.js} +1 -1
  382. package/dist/ionic/p-eab77a74.entry.js +4 -0
  383. package/dist/ionic/{p-aebc4d69.entry.js → p-eaeac54e.entry.js} +1 -1
  384. package/dist/ionic/{p-e538f18d.entry.js → p-ecfc9c71.entry.js} +1 -1
  385. package/dist/ionic/{p-5ee2d7b1.entry.js → p-eeb65463.entry.js} +1 -1
  386. package/dist/ionic/{p-881b6954.entry.js → p-f0645c98.entry.js} +1 -1
  387. package/dist/ionic/{p-d8bae128.entry.js → p-f607ad4f.entry.js} +1 -1
  388. package/dist/ionic/{p-61c799d1.entry.js → p-fb4dabbb.entry.js} +1 -1
  389. package/dist/ionic/{p-63bbba8d.entry.js → p-fe80ebb1.entry.js} +1 -1
  390. package/dist/ionic/p-h81G-QbJ.js +6 -0
  391. package/dist/ionic/p-w3KTiug9.js +4 -0
  392. package/{components/p-RFfE9hF6.js → dist/ionic/p-wdSUbx5C.js} +1 -1
  393. package/dist/types/components/picker-column/picker-column.d.ts +42 -0
  394. package/dist/types/components.d.ts +1 -1
  395. package/dist/types/stencil-public-runtime.d.ts +12 -0
  396. package/hydrate/index.js +328 -123
  397. package/hydrate/index.mjs +328 -123
  398. package/loader/index.d.ts +1 -1
  399. package/package.json +2 -2
  400. package/components/p-6Vp915Y7.js +0 -4
  401. package/components/p-AQcCdH2_.js +0 -4
  402. package/components/p-BdwCtX8Y.js +0 -4
  403. package/components/p-BxhE2W85.js +0 -4
  404. package/components/p-CR9OgE6N.js +0 -4
  405. package/components/p-CaZeZIL2.js +0 -4
  406. package/components/p-CqyGR9Aq.js +0 -4
  407. package/components/p-DCWfzDM8.js +0 -4
  408. package/components/p-DQ1IPvZO.js +0 -4
  409. package/components/p-DfdYCsov.js +0 -4
  410. package/components/p-DhOoEIAs.js +0 -4
  411. package/components/p-Dl_7b_UJ.js +0 -4
  412. package/components/p-HVYBAhFx.js +0 -4
  413. package/dist/ionic/p-18d532a3.entry.js +0 -4
  414. package/dist/ionic/p-4437015c.entry.js +0 -4
  415. package/dist/ionic/p-49b9d405.entry.js +0 -4
  416. package/dist/ionic/p-8f464a8f.entry.js +0 -4
  417. package/dist/ionic/p-8f51110d.entry.js +0 -4
  418. package/dist/ionic/p-B5RyLYvl.js +0 -4
  419. package/dist/ionic/p-BQv5i5Kf.js +0 -4
  420. package/dist/ionic/p-BnGA34Pd.js +0 -4
  421. package/dist/ionic/p-C06QNN45.js +0 -4
  422. package/dist/ionic/p-CCVlNZ__.js +0 -4
  423. package/dist/ionic/p-CKYcsw8f.js +0 -5
  424. package/dist/ionic/p-CazSodad.js +0 -4
  425. package/dist/ionic/p-DgUL3JbO.js +0 -4
  426. package/dist/ionic/p-f521b13c.entry.js +0 -4
@@ -8,7 +8,7 @@ import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../..
8
8
  import { printIonWarning } from "../../utils/logging/index";
9
9
  import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
10
10
  import { isRTL } from "../../utils/rtl/index";
11
- import { reflectPropertiesToAttributes, sanitizeDOMTree } from "../../utils/sanitization/index";
11
+ import { blockedTags, reflectPropertiesToAttributes, sanitizeDOMTree } from "../../utils/sanitization/index";
12
12
  import { createSlotMutationController } from "../../utils/slot-mutation-controller";
13
13
  import { createColorClasses, hostContext } from "../../utils/theme";
14
14
  import { watchForOptions } from "../../utils/watch-options";
@@ -947,7 +947,7 @@ export class Select {
947
947
  const hasOutlineFill = mode === 'md' && fill === 'outline';
948
948
  renderHiddenInput(true, el, name, parseValue(value), disabled);
949
949
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || isExpanded));
950
- return (h(Host, { key: '5d1e5bf46d0f204efdcb55cc42cfde52e6db304b', onClick: this.onClick, class: createColorClasses(this.color, {
950
+ return (h(Host, { key: 'b2f161e3706e139e61440cd13e162714b1b75d72', onClick: this.onClick, class: createColorClasses(this.color, {
951
951
  [mode]: true,
952
952
  'in-item': inItem,
953
953
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -965,7 +965,7 @@ export class Select {
965
965
  [`select-justify-${justify}`]: justifyEnabled,
966
966
  [`select-shape-${shape}`]: shape !== undefined,
967
967
  [`select-label-placement-${labelPlacement}`]: true,
968
- }) }, h("label", { key: '15fd1f8e06510ae8472c621cf8cf90e51172e0be', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '7964e3d9351671899793b117896acdda25ec24c4', class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: 'aa309ef155c4025acfd7ed5739b5221c85097b36', name: "start" })), h("div", { key: '23d5a9dfea64a9d81b0b36d9426b15bed98901b9', class: "select-control", part: "control" }, this.renderLabel(), h("div", { key: '810da9fbfa8771e09b5fb768d64e5f04858b5833', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())), h("div", { key: 'bf1c04704326ecfa14cf2e49bb76d3fb45beb08d', class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), h("slot", { key: '76a8bcaeefdcaa908aebd820d93171b08165cee3', name: "end" })), shouldRenderHighlight && h("div", { key: '55a9c417a82323a44e16328fd62a634d9d7c558b', class: "select-highlight" })), this.renderBottomContent()));
968
+ }) }, h("label", { key: '944a2eb468154a21260d181fdaf67828a71eb902', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '927200c53548b1bb4f52d6a167605b724a7b7d0d', class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: '6e14b95e9b95c116b16744d630600e90977782bc', name: "start" })), h("div", { key: '8451ed4300ac005963075be36a04ea8763bc0fdd', class: "select-control", part: "control" }, this.renderLabel(), h("div", { key: '207e7b63f3224a4870579365ac992da6784fb31f', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())), h("div", { key: '5c17367d488db4d570f31b25e33560efa9011500', class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), h("slot", { key: '21fd8c0d9bee8cffef9ef6984cacd31e8f38211c', name: "end" })), shouldRenderHighlight && h("div", { key: '1fff767db9a1ec07b274ef65ff7ae8fb976e6ad2', class: "select-highlight" })), this.renderBottomContent()));
969
969
  }
970
970
  static get is() { return "ion-select"; }
971
971
  static get encapsulation() { return "shadow"; }
@@ -1663,29 +1663,14 @@ const textForValue = (opts, value, compareWith, useHTML = false) => {
1663
1663
  return getOptionContent(selectOpt, undefined, true);
1664
1664
  }
1665
1665
  /**
1666
- * When custom HTML is enabled, extract only the default slot content.
1667
- * This ensures aria-label and other text-only contexts read only
1668
- * the relevant option text.
1666
+ * Every text-only context reads only the default slot, so the start
1667
+ * and end slots stay out of the `aria-label` and the overlay labels.
1668
+ * Both config paths derive that text through the same helper, so they
1669
+ * cannot disagree about what an option's text is. `null` marks an
1670
+ * option with no text, which is dropped from the joined text of a
1671
+ * `multiple` select rather than joined in as an empty entry.
1669
1672
  */
1670
- if (customHTMLEnabled) {
1671
- const content = getOptionContent(selectOpt);
1672
- if (typeof content === 'string') {
1673
- return content;
1674
- }
1675
- /**
1676
- * Elements were found in the default slot, extract and concatenate
1677
- * their text content while trimming whitespace.
1678
- */
1679
- if (content) {
1680
- const texts = Array.from(content.childNodes)
1681
- .map((n) => n.textContent?.trim())
1682
- .filter((t) => t);
1683
- return texts.join(' ') || null;
1684
- }
1685
- // Empty option
1686
- return null;
1687
- }
1688
- return getDefaultSlotPlainText(selectOpt);
1673
+ return getDefaultSlotPlainText(selectOpt) || null;
1689
1674
  };
1690
1675
  /**
1691
1676
  * Trims whitespace from all text nodes within a DOM tree.
@@ -1741,9 +1726,13 @@ const getOptionContent = (option, slotName, useHTML = false) => {
1741
1726
  if (nodes.length === 0) {
1742
1727
  return null;
1743
1728
  }
1744
- // Return plain text if no elements are found
1729
+ /**
1730
+ * Return plain text if no elements are found. This reads the option the
1731
+ * same way the non-custom-HTML path does, so the two do not disagree
1732
+ * about what an option's text is.
1733
+ */
1745
1734
  if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
1746
- return nodes.map((n) => n.textContent?.trim()).join(' ') || null;
1735
+ return getDefaultSlotPlainText(option) || null;
1747
1736
  }
1748
1737
  /**
1749
1738
  * Mirror known custom-element properties (e.g. ion-icon's `icon`)
@@ -1799,22 +1788,43 @@ const getOptionDefaultSlot = (option) => {
1799
1788
  }
1800
1789
  return defaultSlotNodes;
1801
1790
  };
1791
+ /**
1792
+ * Concatenates the text a node renders, skipping the subtrees of tags
1793
+ * whose contents the browser never paints (`script`, `style`, and the
1794
+ * rest of `blockedTags`). `textContent` includes those, so reading it
1795
+ * directly would put stylesheet or script source into the select text
1796
+ * and the `aria-label`.
1797
+ *
1798
+ * @param node - The node to read text from.
1799
+ * @returns The node's rendered text.
1800
+ */
1801
+ const getRenderedTextContent = (node) => {
1802
+ if (node.nodeType === Node.TEXT_NODE) {
1803
+ return node.textContent ?? '';
1804
+ }
1805
+ if (node.nodeType !== Node.ELEMENT_NODE) {
1806
+ return '';
1807
+ }
1808
+ if (blockedTags.includes(node.tagName.toLowerCase())) {
1809
+ return '';
1810
+ }
1811
+ return Array.from(node.childNodes)
1812
+ .map((child) => getRenderedTextContent(child))
1813
+ .join('');
1814
+ };
1802
1815
  /**
1803
1816
  * Extracts plain text from only the default slot of an option,
1804
- * excluding content assigned to named slots (start/end).
1817
+ * excluding content assigned to named slots (start/end). Text is
1818
+ * concatenated with no separator and collapsible whitespace is
1819
+ * collapsed, approximating how the browser renders the option.
1820
+ * NBSP is not collapsible, so it is preserved.
1821
+ *
1822
+ * @param option - The `ion-select-option` element to read text from.
1823
+ * @returns The option's default slot text.
1805
1824
  */
1806
1825
  const getDefaultSlotPlainText = (option) => {
1807
- const texts = Array.from(option.childNodes)
1808
- .filter((node) => {
1809
- if (node.nodeType === Node.ELEMENT_NODE) {
1810
- return !node.hasAttribute('slot');
1811
- }
1812
- return node.nodeType === Node.TEXT_NODE;
1813
- })
1814
- .filter((node) => node.nodeType === Node.TEXT_NODE)
1815
- .map((n) => n.textContent?.trim())
1816
- .filter((t) => t);
1817
- return texts.join(' ');
1826
+ const text = (getOptionDefaultSlot(option) ?? []).map((node) => getRenderedTextContent(node)).join('');
1827
+ return text.replace(/[ \t\n\r\f]+/g, ' ').replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, '');
1818
1828
  };
1819
1829
  /**
1820
1830
  * Extracts the rich content from an `ion-select-option`.
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Test helpers for the custom elements build, where `connectedCallback` runs
3
+ * synchronously as the element is inserted. Frameworks that assign element props after
4
+ * inserting the element leave a window where a component can't read its own props or
5
+ * its children's, and it still has to work.
6
+ */
7
+
8
+ import { initialize } from '/components/index.js';
9
+
10
+ /**
11
+ * Initializes Ionic in the mode the test asked for.
12
+ */
13
+ export const initializeIonic = () => {
14
+ initialize({ mode: new URLSearchParams(location.search).get('ionic:mode') ?? 'ios' });
15
+ };
16
+
17
+ /**
18
+ * Defines the given tags. Safe to call again for tags that are already defined, so each
19
+ * test can ask for whatever it needs.
20
+ */
21
+ export const defineTags = async (tags) => {
22
+ await Promise.all(
23
+ tags.map(async (tag) => {
24
+ const mod = await import(`/components/${tag}.js`);
25
+ mod.defineCustomElement();
26
+ })
27
+ );
28
+ };
29
+
30
+ /**
31
+ * Builds the tree described by `spec` and appends it to `root`. A spec node is
32
+ * `{ tag, props, attrs, children }`, where `children` holds specs or strings. The
33
+ * `attrs` are always set before the element connects, and the `props` are set before
34
+ * connecting when `lateProps` is false, or after the whole tree connects when it is true.
35
+ */
36
+ export const mount = (root, spec, lateProps) => {
37
+ const pending = [];
38
+
39
+ const build = (node) => {
40
+ if (typeof node === 'string') {
41
+ return document.createTextNode(node);
42
+ }
43
+
44
+ const el = document.createElement(node.tag);
45
+
46
+ if (node.attrs) {
47
+ Object.entries(node.attrs).forEach(([key, value]) => el.setAttribute(key, String(value)));
48
+ }
49
+
50
+ if (node.props) {
51
+ if (lateProps) {
52
+ pending.push([el, node.props]);
53
+ } else {
54
+ Object.assign(el, node.props);
55
+ }
56
+ }
57
+
58
+ (node.children || []).forEach((child) => el.appendChild(build(child)));
59
+
60
+ return el;
61
+ };
62
+
63
+ const tree = build(spec);
64
+
65
+ root.appendChild(tree);
66
+
67
+ // Descendants before ancestors, matching the order framework effects run in.
68
+ pending.reverse().forEach(([el, props]) => Object.assign(el, props));
69
+ };