@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784243422.11f0110c

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 (350) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-popover.js +1 -1
  22. package/components/ion-progress-bar.js +1 -1
  23. package/components/ion-radio.js +1 -1
  24. package/components/ion-range.js +1 -1
  25. package/components/ion-refresher-content.js +1 -1
  26. package/components/ion-refresher.js +1 -1
  27. package/components/ion-reorder-group.js +1 -1
  28. package/components/ion-reorder.js +1 -1
  29. package/components/ion-ripple-effect.js +1 -1
  30. package/components/ion-router-link.js +1 -1
  31. package/components/ion-router-outlet.js +1 -1
  32. package/components/ion-row.js +1 -1
  33. package/components/ion-searchbar.js +1 -1
  34. package/components/ion-segment-button.js +1 -1
  35. package/components/ion-segment-content.js +1 -1
  36. package/components/ion-segment-view.js +1 -1
  37. package/components/ion-segment.js +1 -1
  38. package/components/ion-select-modal.js +1 -1
  39. package/components/ion-select-option.js +1 -1
  40. package/components/ion-select-popover.js +1 -1
  41. package/components/ion-select.js +1 -1
  42. package/components/ion-skeleton-text.js +1 -1
  43. package/components/ion-spinner.js +1 -1
  44. package/components/ion-split-pane.js +1 -1
  45. package/components/ion-tab-bar.js +1 -1
  46. package/components/ion-tab-button.js +1 -1
  47. package/components/ion-tab.js +1 -1
  48. package/components/ion-tabs.js +1 -1
  49. package/components/ion-text.js +1 -1
  50. package/components/ion-textarea.js +1 -1
  51. package/components/ion-thumbnail.js +1 -1
  52. package/components/ion-title.js +1 -1
  53. package/components/ion-toast.js +1 -1
  54. package/components/ion-toggle.js +1 -1
  55. package/components/ion-toolbar.js +1 -1
  56. package/components/p-279dFMvg.js +4 -0
  57. package/components/p-BSQPZ79H.js +4 -0
  58. package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
  59. package/components/p-BwKpO3Is.js +4 -0
  60. package/components/p-C-Rx1zny.js +4 -0
  61. package/components/p-CHzfYZbv.js +4 -0
  62. package/components/p-D4h1H_hh.js +4 -0
  63. package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
  64. package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
  65. package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
  66. package/components/p-LMGfIvTf.js +4 -0
  67. package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
  68. package/components/p-_lHSumhG.js +4 -0
  69. package/components/p-j9Da6cYO.js +4 -0
  70. package/components/p-jOtMJMv8.js +4 -0
  71. package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
  72. package/components/p-uTR_dEqg.js +4 -0
  73. package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
  74. package/dist/cjs/config-DWdFbSNK.js +35 -0
  75. package/dist/cjs/index-Cueg3U4w.js +429 -0
  76. package/dist/cjs/index.cjs.js +6 -6
  77. package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
  78. package/dist/cjs/ion-alert.cjs.entry.js +64 -25
  79. package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
  80. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  82. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
  83. package/dist/cjs/ion-img.cjs.entry.js +3 -1
  84. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
  85. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  86. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-loading.cjs.entry.js +10 -5
  88. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  89. package/dist/cjs/ion-modal.cjs.entry.js +23 -32
  90. package/dist/cjs/ion-popover.cjs.entry.js +9 -5
  91. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
  95. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  96. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  99. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  102. package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
  103. package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
  104. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  105. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  107. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-toast.cjs.entry.js +6 -5
  111. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  112. package/dist/cjs/ionic.cjs.js +1 -1
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  115. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DSmSrd_4.js} +27 -31
  116. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  117. package/dist/collection/collection-manifest.json +6 -10
  118. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  119. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  120. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  121. package/dist/collection/components/alert/alert.ios.css +280 -10
  122. package/dist/collection/components/alert/alert.js +59 -21
  123. package/dist/collection/components/alert/alert.md.css +269 -20
  124. package/dist/collection/components/img/img.js +6 -1
  125. package/dist/collection/components/input/input.js +8 -8
  126. package/dist/collection/components/loading/loading.js +7 -3
  127. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  128. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  129. package/dist/collection/components/modal/modal.ios.css +0 -8
  130. package/dist/collection/components/modal/modal.js +23 -18
  131. package/dist/collection/components/modal/modal.md.css +0 -8
  132. package/dist/collection/components/popover/popover.ios.css +15 -0
  133. package/dist/collection/components/popover/popover.js +7 -3
  134. package/dist/collection/components/popover/popover.md.css +15 -0
  135. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  136. package/dist/collection/components/radio/radio.js +4 -4
  137. package/dist/collection/components/range/range.js +3 -3
  138. package/dist/collection/components/refresher/refresher.js +1 -1
  139. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  140. package/dist/collection/components/reorder/reorder.js +1 -1
  141. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  142. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  143. package/dist/collection/components/router-link/router-link.js +2 -2
  144. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  145. package/dist/collection/components/row/row.js +1 -1
  146. package/dist/collection/components/searchbar/searchbar.js +9 -9
  147. package/dist/collection/components/segment/segment.js +2 -2
  148. package/dist/collection/components/segment-button/segment-button.js +2 -2
  149. package/dist/collection/components/segment-content/segment-content.js +1 -1
  150. package/dist/collection/components/segment-view/segment-view.js +2 -2
  151. package/dist/collection/components/select/select.ios.css +33 -0
  152. package/dist/collection/components/select/select.js +323 -16
  153. package/dist/collection/components/select/select.md.css +33 -0
  154. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  155. package/dist/collection/components/select-modal/select-modal.js +79 -26
  156. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  157. package/dist/collection/components/select-option/select-option.js +67 -3
  158. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  159. package/dist/collection/components/select-popover/select-popover.js +78 -26
  160. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  161. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  162. package/dist/collection/components/spinner/spinner.js +1 -1
  163. package/dist/collection/components/split-pane/split-pane.js +2 -2
  164. package/dist/collection/components/tab/tab.js +2 -2
  165. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  166. package/dist/collection/components/tab-button/tab-button.js +2 -2
  167. package/dist/collection/components/tabs/tabs.js +1 -1
  168. package/dist/collection/components/text/text.js +2 -2
  169. package/dist/collection/components/textarea/textarea.js +2 -2
  170. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  171. package/dist/collection/components/title/title.js +2 -2
  172. package/dist/collection/components/toast/toast.js +2 -2
  173. package/dist/collection/components/toggle/toggle.js +3 -3
  174. package/dist/collection/components/toolbar/toolbar.js +2 -2
  175. package/dist/collection/index.js +1 -1
  176. package/dist/collection/utils/overlay-control-label.js +45 -0
  177. package/dist/collection/utils/overlays.js +26 -30
  178. package/dist/collection/utils/sanitization/index.js +274 -18
  179. package/dist/collection/utils/select-option-render.js +119 -0
  180. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  181. package/dist/docs.json +485 -1177
  182. package/dist/esm/config-BwKpO3Is.js +31 -0
  183. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  184. package/dist/esm/index-DQSkZyOJ.js +424 -0
  185. package/dist/esm/index.js +3 -2
  186. package/dist/esm/ion-accordion_2.entry.js +1 -1
  187. package/dist/esm/ion-action-sheet.entry.js +27 -7
  188. package/dist/esm/ion-alert.entry.js +63 -24
  189. package/dist/esm/ion-app_8.entry.js +23 -9
  190. package/dist/esm/ion-avatar_3.entry.js +1 -1
  191. package/dist/esm/ion-back-button.entry.js +1 -1
  192. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  193. package/dist/esm/ion-col_3.entry.js +1 -1
  194. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
  195. package/dist/esm/ion-fab_3.entry.js +1 -1
  196. package/dist/esm/ion-img.entry.js +4 -2
  197. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
  198. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  199. package/dist/esm/ion-input.entry.js +5 -5
  200. package/dist/esm/ion-item_8.entry.js +3 -3
  201. package/dist/esm/ion-loading.entry.js +9 -4
  202. package/dist/esm/ion-menu_3.entry.js +2 -2
  203. package/dist/esm/ion-modal.entry.js +23 -32
  204. package/dist/esm/ion-popover.entry.js +9 -5
  205. package/dist/esm/ion-progress-bar.entry.js +1 -1
  206. package/dist/esm/ion-radio_2.entry.js +3 -3
  207. package/dist/esm/ion-range.entry.js +3 -3
  208. package/dist/esm/ion-refresher_2.entry.js +5 -4
  209. package/dist/esm/ion-reorder_2.entry.js +3 -3
  210. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  211. package/dist/esm/ion-route_4.entry.js +2 -2
  212. package/dist/esm/ion-searchbar.entry.js +6 -6
  213. package/dist/esm/ion-segment-content.entry.js +1 -1
  214. package/dist/esm/ion-segment-view.entry.js +2 -2
  215. package/dist/esm/ion-segment_2.entry.js +4 -4
  216. package/dist/esm/ion-select-modal.entry.js +84 -30
  217. package/dist/esm/ion-select_3.entry.js +410 -52
  218. package/dist/esm/ion-spinner.entry.js +1 -1
  219. package/dist/esm/ion-split-pane.entry.js +2 -2
  220. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  221. package/dist/esm/ion-tab_2.entry.js +3 -3
  222. package/dist/esm/ion-text.entry.js +2 -2
  223. package/dist/esm/ion-textarea.entry.js +2 -2
  224. package/dist/esm/ion-toast.entry.js +5 -4
  225. package/dist/esm/ion-toggle.entry.js +4 -4
  226. package/dist/esm/ionic.js +1 -1
  227. package/dist/esm/loader.js +1 -1
  228. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  229. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DLNOHWNc.js} +28 -32
  230. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  231. package/dist/html.html-data.json +51 -79
  232. package/dist/ionic/index.esm.js +1 -1
  233. package/dist/ionic/ionic.esm.js +1 -1
  234. package/dist/ionic/p-038eb991.entry.js +4 -0
  235. package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
  236. package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
  237. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  238. package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
  239. package/dist/ionic/p-4621c387.entry.js +4 -0
  240. package/dist/ionic/p-4ace7762.entry.js +4 -0
  241. package/dist/ionic/p-4bb3eb60.entry.js +4 -0
  242. package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
  243. package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
  244. package/dist/ionic/p-5c3ec490.entry.js +4 -0
  245. package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
  246. package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
  247. package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
  248. package/dist/ionic/p-700795f6.entry.js +4 -0
  249. package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
  250. package/dist/ionic/p-79a36078.entry.js +4 -0
  251. package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
  252. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  253. package/dist/ionic/p-913b218a.entry.js +4 -0
  254. package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
  255. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  256. package/dist/ionic/p-BDtODLZ4.js +4 -0
  257. package/dist/ionic/p-BSQPZ79H.js +4 -0
  258. package/dist/ionic/p-BwKpO3Is.js +4 -0
  259. package/dist/ionic/p-Cg5-OQYy.js +4 -0
  260. package/dist/ionic/p-DCOvXkOm.js +4 -0
  261. package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
  262. package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
  263. package/dist/ionic/p-a9a33367.entry.js +4 -0
  264. package/dist/ionic/p-ad728198.entry.js +4 -0
  265. package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
  266. package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
  267. package/dist/ionic/p-bfc8c629.entry.js +4 -0
  268. package/dist/ionic/p-c08e666a.entry.js +4 -0
  269. package/dist/ionic/{p-34586ead.entry.js → p-c93553d2.entry.js} +1 -1
  270. package/dist/ionic/p-ce7992c4.entry.js +4 -0
  271. package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
  272. package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
  273. package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
  274. package/dist/ionic/p-ed797c72.entry.js +4 -0
  275. package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
  276. package/dist/ionic/p-f09f9642.entry.js +4 -0
  277. package/dist/ionic/p-f1c06f82.entry.js +4 -0
  278. package/dist/ionic/p-f718fccb.entry.js +4 -0
  279. package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
  280. package/dist/types/components/img/img.d.ts +2 -0
  281. package/dist/types/components/input/input.d.ts +1 -1
  282. package/dist/types/components/modal/modal.d.ts +11 -4
  283. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  284. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  285. package/dist/types/components/select/select-interface.d.ts +31 -0
  286. package/dist/types/components/select/select.d.ts +18 -0
  287. package/dist/types/components/select-option/select-option.d.ts +42 -1
  288. package/dist/types/components.d.ts +72 -288
  289. package/dist/types/index.d.ts +1 -1
  290. package/dist/types/interface.d.ts +0 -1
  291. package/dist/types/utils/config.d.ts +0 -8
  292. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  293. package/dist/types/utils/overlays.d.ts +11 -9
  294. package/dist/types/utils/sanitization/index.d.ts +58 -2
  295. package/dist/types/utils/select-option-render.d.ts +53 -0
  296. package/hydrate/index.js +1401 -1182
  297. package/hydrate/index.mjs +1401 -1182
  298. package/package.json +37 -5
  299. package/components/ion-picker-legacy-column.d.ts +0 -11
  300. package/components/ion-picker-legacy-column.js +0 -4
  301. package/components/ion-picker-legacy.d.ts +0 -11
  302. package/components/ion-picker-legacy.js +0 -4
  303. package/components/p-BIPPbW0M.js +0 -4
  304. package/components/p-BUYFy35a.js +0 -4
  305. package/components/p-BWEZufiK.js +0 -4
  306. package/components/p-BqpciLfi.js +0 -4
  307. package/components/p-BsQPAqo9.js +0 -4
  308. package/components/p-CRNiQiYf.js +0 -4
  309. package/components/p-CU5rbWAW.js +0 -4
  310. package/components/p-k_E4tX5Z.js +0 -4
  311. package/components/p-nyXeHk23.js +0 -4
  312. package/dist/cjs/config-xninhj0J.js +0 -201
  313. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  314. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  315. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  316. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  317. package/dist/collection/components/picker-legacy/picker.js +0 -890
  318. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  319. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  320. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  321. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  322. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  323. package/dist/esm/config-DQCONYYp.js +0 -195
  324. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  325. package/dist/ionic/p-0dc33652.entry.js +0 -4
  326. package/dist/ionic/p-20b1a044.entry.js +0 -4
  327. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  328. package/dist/ionic/p-27d30585.entry.js +0 -4
  329. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  330. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  331. package/dist/ionic/p-485fda23.entry.js +0 -4
  332. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  333. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  334. package/dist/ionic/p-50e1194a.entry.js +0 -4
  335. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  336. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  337. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  338. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  339. package/dist/ionic/p-D-3ycHmd.js +0 -4
  340. package/dist/ionic/p-DzWaWHGc.js +0 -4
  341. package/dist/ionic/p-a21add2f.entry.js +0 -4
  342. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  343. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  344. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  345. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  346. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  347. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  348. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  349. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  350. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -1,4 +1,4 @@
1
- import type { ActionSheetOptions, AlertOptions, Animation, AnimationBuilder, FrameworkDelegate, HTMLIonOverlayElement, IonicConfig, LoadingOptions, ModalOptions, OverlayInterface, PickerOptions, PopoverOptions, ToastOptions } from '../interface';
1
+ import type { ActionSheetOptions, AlertOptions, Animation, AnimationBuilder, FrameworkDelegate, HTMLIonOverlayElement, IonicConfig, LoadingOptions, ModalOptions, OverlayInterface, PopoverOptions, ToastOptions } from '../interface';
2
2
  export declare const activeAnimations: WeakMap<OverlayInterface, Animation[]>;
3
3
  export declare const alertController: {
4
4
  create(options: AlertOptions): Promise<HTMLIonAlertElement>;
@@ -20,14 +20,6 @@ export declare const modalController: {
20
20
  dismiss(data?: any, role?: string, id?: string): Promise<boolean>;
21
21
  getTop(): Promise<HTMLIonModalElement | undefined>;
22
22
  };
23
- /**
24
- * @deprecated Use the inline ion-picker component instead.
25
- */
26
- export declare const pickerController: {
27
- create(options: PickerOptions): Promise<HTMLIonPickerLegacyElement>;
28
- dismiss(data?: any, role?: string, id?: string): Promise<boolean>;
29
- getTop(): Promise<HTMLIonPickerLegacyElement | undefined>;
30
- };
31
23
  export declare const popoverController: {
32
24
  create(options: PopoverOptions<import("../interface").ComponentRef>): Promise<HTMLIonPopoverElement>;
33
25
  dismiss(data?: any, role?: string, id?: string): Promise<boolean>;
@@ -86,6 +78,16 @@ export declare const getPresentedOverlay: (doc: Document, overlayTag?: string, i
86
78
  * for main content.
87
79
  */
88
80
  export declare const setRootAriaHidden: (hidden?: boolean) => void;
81
+ /**
82
+ * Cleans up root `aria-hidden` and `backdrop-no-scroll` when
83
+ * an overlay is removed from the DOM without going through
84
+ * the `dismiss()` flow (e.g., when a framework unmounts the
85
+ * overlay during a route change).
86
+ *
87
+ * Should be called from an overlay's `disconnectedCallback`
88
+ * when the overlay was still presented at the time of removal.
89
+ */
90
+ export declare const cleanupRootFocusTrapAccessibility: () => void;
89
91
  export declare const present: <OverlayPresentOptions>(overlay: OverlayInterface, name: keyof IonicConfig, iosEnterAnimation: AnimationBuilder, mdEnterAnimation: AnimationBuilder, opts?: OverlayPresentOptions) => Promise<void>;
90
92
  export declare const dismiss: <OverlayDismissOptions>(overlay: OverlayInterface, data: any | undefined, role: string | undefined, name: keyof IonicConfig, iosLeaveAnimation: AnimationBuilder, mdLeaveAnimation: AnimationBuilder, opts?: OverlayDismissOptions) => Promise<boolean>;
91
93
  export declare const eventMethod: <T>(element: HTMLElement, eventName: string) => Promise<T>;
@@ -1,8 +1,64 @@
1
1
  /**
2
- * Does a simple sanitization of all elements
3
- * in an untrusted string
2
+ * Sanitize an untrusted HTML string.
3
+ *
4
+ * Parses the string into a detached DOM, removes blocked tags, strips
5
+ * attributes outside the narrow `domStringAllowedAttributes` list (refer
6
+ * `sanitizeElement`), and scrubs script-scheme URLs. Returns the sanitized
7
+ * HTML string.
8
+ *
9
+ * Use this when you have an HTML string from an unknown source and need to
10
+ * render it via `innerHTML`. Use `sanitizeDOMTree` instead when you already
11
+ * have a DOM tree and want to sanitize it in place without a string round
12
+ * trip. The two apply the same dangerous-vector scrubbing but different
13
+ * attribute allowlists: this path stays narrow so existing consumers
14
+ * (toast, loading, alert message, etc.) are unaffected, while
15
+ * `sanitizeDOMTree` uses the wider rich-content allowlist.
16
+ *
17
+ * @param untrustedString - The HTML string to sanitize. Pass an
18
+ * `IonicSafeString` to bypass sanitization, or `undefined` to short-circuit.
19
+ * @returns The sanitized HTML string, or `undefined` if the input was
20
+ * `undefined`. Returns `''` if sanitization fails or the input contains
21
+ * an inline `onload=` handler.
4
22
  */
5
23
  export declare const sanitizeDOMString: (untrustedString: IonicSafeString | string | undefined) => string | undefined;
24
+ /**
25
+ * Sanitize an entire trusted DOM tree in place.
26
+ *
27
+ * Removes blocked tags (`script`, `iframe`, etc.) from the subtree and
28
+ * then sanitizes attributes on every remaining element using the wider
29
+ * `richContentAllowedAttributes` allowlist (refer `sanitizeElement`).
30
+ * Component presentational attributes (`size`, `color`, `shape`, inline
31
+ * SVG, `aria-*`, `data-*`) are preserved; `style`, event handlers (`on*`),
32
+ * form/navigation-hijack attributes, script-scheme URLs, and non-image
33
+ * `data:` URLs are stripped.
34
+ *
35
+ * Use this when you have a DOM tree the developer controls (e.g.
36
+ * cloned slot content from a component) and you need to render it
37
+ * elsewhere safely.
38
+ *
39
+ * @param root - The root element whose subtree will be sanitized in
40
+ * place. No-op when the sanitizer is disabled via `Ionic.config`.
41
+ */
42
+ export declare const sanitizeDOMTree: (root: HTMLElement) => void;
43
+ /**
44
+ * Mirror known custom-element DOM properties onto attributes so they
45
+ * survive `cloneNode`. Call this on a DOM subtree before cloning it for
46
+ * rendering elsewhere (e.g. cloning slotted option content into an
47
+ * overlay).
48
+ *
49
+ * Only sets the attribute when the property holds a non-empty string
50
+ * and the attribute isn't already present, so existing attributes
51
+ * take precedence.
52
+ *
53
+ * @param root - The root element whose subtree (and itself) will be
54
+ * inspected.
55
+ */
56
+ export declare const reflectPropertiesToAttributes: (root: Element) => void;
57
+ /**
58
+ * Tags removed entirely (with their subtree) before attribute sanitization.
59
+ * Exported so tests can assert the set without hardcoding it.
60
+ */
61
+ export declare const blockedTags: string[];
6
62
  export declare class IonicSafeString {
7
63
  value: string;
8
64
  constructor(value: string);
@@ -0,0 +1,53 @@
1
+ import type { VNode } from '../stencil-public-runtime';
2
+ import type { RichContentOption as RichContentOpt } from '../components/select/select-interface';
3
+ interface RichContentOption extends RichContentOpt {
4
+ /** Unique identifier for stable virtual DOM keys across re-renders. */
5
+ id: string;
6
+ /** The main label for the option as a string or an HTMLElement. */
7
+ label?: string | HTMLElement;
8
+ }
9
+ /**
10
+ * Converts a DOM node into a Stencil VNode (or text string) so the
11
+ * resulting tree is rendered through the component's normal render
12
+ * path. Rendering through Stencil ensures that scoped CSS classes
13
+ * (e.g. `sc-ion-action-sheet-ionic`) are applied to every element.
14
+ *
15
+ * Highly recommended to pre-sanitize the source DOM (see
16
+ * `getOptionContent` in select.tsx). This function performs pure
17
+ * structural conversion — no security filtering.
18
+ *
19
+ * Preserves attributes only — properties set imperatively on the source
20
+ * element (e.g. `input.value` after a user types) won't carry through.
21
+ * In practice this isn't a concern: interactive controls shouldn't
22
+ * appear in select-option rich content since they'd nest inside the
23
+ * overlay's button/radio/checkbox wrapper, which is invalid HTML and
24
+ * an accessibility issue.
25
+ *
26
+ * @param node - The DOM node to convert. Text nodes become strings,
27
+ * element nodes become VNodes, and any other node types are skipped.
28
+ * @param keyPrefix - String prefix used to build a stable VNode key,
29
+ * so Stencil's diff can preserve elements across re-renders.
30
+ * @param index - Position of this node among its siblings. Combined
31
+ * with `keyPrefix` to form the final unique key.
32
+ * @returns The converted VNode, a text string, or `null` if the node
33
+ * type isn't supported.
34
+ *
35
+ * @internal Exported only so it can be unit tested; not part of the
36
+ * public API.
37
+ */
38
+ export declare const cloneToVNode: (node: Node, keyPrefix: string, index: number) => VNode | string | null;
39
+ /**
40
+ * Renders the label content for a select option within an overlay
41
+ * interface based on the presence of rich content.
42
+ *
43
+ * Span elements should be used when this content renders within buttons,
44
+ * depending on the select interface. Buttons can only have phrasing
45
+ * content to prevent accessibility issues.
46
+ *
47
+ * @param option - The content option data containing label, slots,
48
+ * and description.
49
+ * @param className - The base CSS class for the label element.
50
+ * @param useSpan - Whether to use a span element instead of a div for the label.
51
+ */
52
+ export declare const renderOptionLabel: (option: RichContentOption, className: string, useSpan?: boolean) => HTMLElement | string | undefined;
53
+ export {};