voyager-ionic-core 8.8.17 → 9.0.3

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 (794) 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-1sJ0ZDPe.js +4 -0
  99. package/components/p-5ldEpNdG.js +4 -0
  100. package/components/p-6ZLn6K5e.js +4 -0
  101. package/components/p-B1_TL6RQ.js +4 -0
  102. package/components/p-B4lxwJ8N.js +4 -0
  103. package/components/{p-rCa2eL0j.js → p-BF48Oc0v.js} +1 -1
  104. package/components/p-BJr2B5hZ.js +4 -0
  105. package/components/p-BMPN55of.js +4 -0
  106. package/components/{p-ChIZKXUu.js → p-BQyuFxYc.js} +1 -1
  107. package/components/p-BSQPZ79H.js +4 -0
  108. package/components/p-BT9-hMMz.js +4 -0
  109. package/components/p-BU8a2IhR.js +4 -0
  110. package/components/p-BW_SlU2D.js +4 -0
  111. package/components/p-BWoa-cki.js +4 -0
  112. package/components/p-BYJRZKHa.js +4 -0
  113. package/components/p-B_gJaBk0.js +4 -0
  114. package/components/p-BgkOsq-d.js +4 -0
  115. package/components/p-BhamHSw3.js +4 -0
  116. package/components/p-Bi-it1EH.js +4 -0
  117. package/components/p-C-NbvXu4.js +4 -0
  118. package/components/p-C09TXohi.js +4 -0
  119. package/components/p-C4VpVfrJ.js +4 -0
  120. package/components/p-C8Ck7_Eo.js +4 -0
  121. package/components/p-CEW4RXZO.js +4 -0
  122. package/components/p-CG_zZq_I.js +4 -0
  123. package/components/{p-B9jFTlwE.js → p-CJgnoKcN.js} +1 -1
  124. package/components/p-CMRYD_yR.js +4 -0
  125. package/components/{p-BMI53wYL.js → p-CNLioZ3B.js} +1 -1
  126. package/components/{p--JUspHvy.js → p-COO0eJOA.js} +1 -1
  127. package/components/p-CWAks_S_.js +4 -0
  128. package/{dist/ionic/p-KjNvRoEp.js → components/p-Cd1WaN-0.js} +1 -1
  129. package/components/p-CqbGBmqb.js +4 -0
  130. package/components/p-CrAKlX71.js +4 -0
  131. package/components/p-Ctop2IWW.js +4 -0
  132. package/components/p-Cw6WocLJ.js +4 -0
  133. package/components/p-D0YpjgON.js +4 -0
  134. package/components/{p-DJZp0KTQ.js → p-D5w_FlVa.js} +1 -1
  135. package/components/p-D7-vHX0A.js +4 -0
  136. package/components/p-D7wDJdFn.js +4 -0
  137. package/components/p-DFLJvuRK.js +4 -0
  138. package/components/p-DL13ieTa.js +4 -0
  139. package/components/{p-DqLB8yFQ.js → p-DM1gJSMP.js} +1 -1
  140. package/components/p-DMBiAyOR.js +4 -0
  141. package/components/p-DWCzVL3Y.js +4 -0
  142. package/components/p-DZRZic9C.js +4 -0
  143. package/components/{p-C_hpsif8.js → p-DhNuxvJH.js} +1 -1
  144. package/components/p-DiuOa1vw.js +4 -0
  145. package/components/p-Djmz-ssp.js +4 -0
  146. package/components/p-DnBNYc7u.js +4 -0
  147. package/components/p-Dojwmvde.js +4 -0
  148. package/components/p-DwSXbQSz.js +4 -0
  149. package/components/p-DxhHlJln.js +4 -0
  150. package/components/p-Fl7ZFU74.js +4 -0
  151. package/components/{p-DqZAXv2t.js → p-GGbIHyEF.js} +1 -1
  152. package/components/{p-j5IxBIan.js → p-Hp8t4RMX.js} +1 -1
  153. package/components/p-M34T2gyX.js +4 -0
  154. package/components/p-TWw4e4sO.js +4 -0
  155. package/components/{p-Cfx4M1Bn.js → p-YjMkHuvH.js} +1 -1
  156. package/components/p-byZM6qHV.js +4 -0
  157. package/components/p-cEN43Ahr.js +4 -0
  158. package/components/p-qAXsfUff.js +4 -0
  159. package/dist/cjs/{animation-BJq0kcy2.js → animation-Kd1N7WTN.js} +4 -4
  160. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-b1G4t26O.js} +1 -1
  161. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CQCFubJJ.js} +3 -3
  162. package/dist/cjs/config-CjUbvdPW.js +36 -0
  163. package/dist/cjs/dir-zwDPRE5K.js +30 -0
  164. package/dist/cjs/{format-PxvGiOik.js → format-bHU8N1g5.js} +40 -30
  165. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-d-fWfeI6.js} +5 -7
  166. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-CeJslptU.js} +1 -2
  167. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
  168. package/dist/cjs/{hardware-back-button-iUuF_76h.js → hardware-back-button-Bu4Dzw8l.js} +4 -4
  169. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-7wzdhdeg.js} +15 -11
  170. package/dist/cjs/{index-D81eLYUM.js → index-C74Q3t6a.js} +3 -2
  171. package/dist/cjs/{index-BERfRao3.js → index-CQfEIyLK.js} +5 -5
  172. package/dist/cjs/{index-aC4x3Fk3.js → index-DFNrCX7M.js} +6 -7
  173. package/dist/cjs/{index-CAvQ7Tka.js → index-DRPqwSvU.js} +13 -30
  174. package/dist/cjs/{index-Ct7gcRif.js → index-DXoo08JC.js} +321 -26
  175. package/dist/cjs/{index-CIrkNXqJ.js → index-DtvKGwdh.js} +34 -2
  176. package/dist/cjs/index-KiSZqhYS.js +431 -0
  177. package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
  178. package/dist/cjs/index.cjs.js +19 -18
  179. package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-VJIiKBKv.js} +10 -11
  180. package/dist/cjs/input.utils-EHVE2RK_.js +35 -0
  181. package/dist/cjs/ion-accordion_2.cjs.entry.js +12 -12
  182. package/dist/cjs/ion-action-sheet.cjs.entry.js +92 -44
  183. package/dist/cjs/ion-alert.cjs.entry.js +144 -65
  184. package/dist/cjs/ion-app_8.cjs.entry.js +112 -40
  185. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
  186. package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
  187. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  188. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -7
  189. package/dist/cjs/ion-button_2.cjs.entry.js +12 -8
  190. package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
  191. package/dist/cjs/ion-checkbox.cjs.entry.js +10 -7
  192. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  193. package/dist/cjs/ion-col_3.cjs.entry.js +10 -6
  194. package/dist/cjs/ion-datetime-button.cjs.entry.js +22 -25
  195. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +182 -746
  196. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
  197. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  198. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -6
  199. package/dist/cjs/ion-input-otp.cjs.entry.js +20 -29
  200. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  201. package/dist/cjs/ion-input.cjs.entry.js +58 -70
  202. package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -24
  203. package/dist/cjs/ion-item_8.cjs.entry.js +38 -34
  204. package/dist/cjs/ion-loading.cjs.entry.js +29 -15
  205. package/dist/cjs/ion-menu_3.cjs.entry.js +23 -24
  206. package/dist/cjs/ion-modal.cjs.entry.js +283 -161
  207. package/dist/cjs/ion-nav_2.cjs.entry.js +30 -138
  208. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -13
  209. package/dist/cjs/ion-picker-column.cjs.entry.js +218 -62
  210. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  211. package/dist/cjs/ion-popover.cjs.entry.js +50 -30
  212. package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -5
  213. package/dist/cjs/ion-radio_2.cjs.entry.js +12 -11
  214. package/dist/cjs/ion-range.cjs.entry.js +30 -25
  215. package/dist/cjs/ion-refresher_2.cjs.entry.js +34 -26
  216. package/dist/cjs/ion-reorder_2.cjs.entry.js +10 -9
  217. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  218. package/dist/cjs/ion-route_4.cjs.entry.js +36 -30
  219. package/dist/cjs/ion-searchbar.cjs.entry.js +27 -22
  220. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -6
  222. package/dist/cjs/ion-segment_2.cjs.entry.js +30 -26
  223. package/dist/cjs/ion-select-modal.cjs.entry.js +93 -38
  224. package/dist/cjs/ion-select_3.cjs.entry.js +495 -126
  225. package/dist/cjs/ion-spinner.cjs.entry.js +5 -6
  226. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  227. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +15 -12
  228. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -8
  229. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  230. package/dist/cjs/ion-textarea.cjs.entry.js +56 -65
  231. package/dist/cjs/ion-toast.cjs.entry.js +26 -21
  232. package/dist/cjs/ion-toggle.cjs.entry.js +15 -13
  233. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CYJNT-2P.js} +13 -8
  234. package/dist/cjs/ionic.cjs.js +5 -5
  235. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DYGiD6gM.js} +14 -17
  236. package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
  237. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
  238. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
  239. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
  240. package/dist/cjs/loader.cjs.js +4 -4
  241. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-CrSkaoz6.js} +8 -8
  242. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  243. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-BR21NUIG.js} +98 -58
  244. package/dist/cjs/select-option-render-D8ZEjYji.js +123 -0
  245. package/dist/cjs/slot-mutation-controller-D6IjSEIh.js +397 -0
  246. package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CNP5eD1R.js} +4 -3
  247. package/dist/cjs/{swipe-back-CCMaNiP2.js → swipe-back-CSIJQfu5.js} +5 -5
  248. package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
  249. package/dist/collection/collection-manifest.json +7 -11
  250. package/dist/collection/components/accordion/accordion.js +5 -6
  251. package/dist/collection/components/accordion-group/accordion-group.js +2 -2
  252. package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
  253. package/dist/collection/components/action-sheet/action-sheet.js +77 -31
  254. package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
  255. package/dist/collection/components/alert/alert.ios.css +279 -10
  256. package/dist/collection/components/alert/alert.js +127 -50
  257. package/dist/collection/components/alert/alert.md.css +268 -20
  258. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  259. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  260. package/dist/collection/components/button/button.js +5 -2
  261. package/dist/collection/components/card/card.js +1 -1
  262. package/dist/collection/components/checkbox/checkbox.js +4 -2
  263. package/dist/collection/components/col/col.js +7 -3
  264. package/dist/collection/components/content/content.js +56 -6
  265. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  266. package/dist/collection/components/datetime/datetime.js +146 -77
  267. package/dist/collection/components/datetime/datetime.md.css +42 -1
  268. package/dist/collection/components/datetime/utils/data.js +13 -14
  269. package/dist/collection/components/datetime/utils/format.js +21 -11
  270. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  271. package/dist/collection/components/datetime/utils/parse.js +10 -10
  272. package/dist/collection/components/datetime/utils/state.js +8 -2
  273. package/dist/collection/components/datetime/utils/validate.js +4 -5
  274. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  275. package/dist/collection/components/datetime-button/datetime-button.js +15 -20
  276. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  277. package/dist/collection/components/fab-button/fab-button.js +1 -1
  278. package/dist/collection/components/footer/footer.js +1 -1
  279. package/dist/collection/components/header/header.js +2 -2
  280. package/dist/collection/components/img/img.js +6 -1
  281. package/dist/collection/components/input/input.ios.css +57 -26
  282. package/dist/collection/components/input/input.js +51 -64
  283. package/dist/collection/components/input/input.md.css +79 -43
  284. package/dist/collection/components/input-otp/input-otp.js +15 -24
  285. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -6
  286. package/dist/collection/components/item/item.js +19 -16
  287. package/dist/collection/components/item-divider/item-divider.js +2 -2
  288. package/dist/collection/components/item-group/item-group.js +1 -1
  289. package/dist/collection/components/item-option/item-option.js +2 -2
  290. package/dist/collection/components/item-options/item-options.js +1 -1
  291. package/dist/collection/components/item-sliding/item-sliding.js +12 -16
  292. package/dist/collection/components/label/label.js +2 -2
  293. package/dist/collection/components/list/list.js +2 -2
  294. package/dist/collection/components/list-header/list-header.js +2 -2
  295. package/dist/collection/components/loading/loading.js +17 -5
  296. package/dist/collection/components/menu/menu.js +6 -8
  297. package/dist/collection/components/menu-button/menu-button.js +2 -2
  298. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  299. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  300. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  301. package/dist/collection/components/modal/gestures/sheet.js +42 -34
  302. package/dist/collection/components/modal/gestures/swipe-to-close.js +18 -35
  303. package/dist/collection/components/modal/gestures/utils.js +17 -0
  304. package/dist/collection/components/modal/modal.js +146 -65
  305. package/dist/collection/components/modal/safe-area-utils.js +39 -5
  306. package/dist/collection/components/nav/nav.js +24 -235
  307. package/dist/collection/components/nav-link/nav-link.js +1 -1
  308. package/dist/collection/components/note/note.js +2 -2
  309. package/dist/collection/components/picker/picker.js +1 -2
  310. package/dist/collection/components/picker-column/picker-column.css +3 -0
  311. package/dist/collection/components/picker-column/picker-column.js +212 -58
  312. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  313. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  314. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  315. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  316. package/dist/collection/components/popover/popover.ios.css +15 -0
  317. package/dist/collection/components/popover/popover.js +32 -9
  318. package/dist/collection/components/popover/popover.md.css +15 -0
  319. package/dist/collection/components/popover/utils.js +4 -6
  320. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  321. package/dist/collection/components/radio/radio.js +5 -5
  322. package/dist/collection/components/radio-group/radio-group.js +2 -2
  323. package/dist/collection/components/range/range.js +24 -19
  324. package/dist/collection/components/refresher/refresher.js +19 -13
  325. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  326. package/dist/collection/components/reorder/reorder.js +1 -1
  327. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  328. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  329. package/dist/collection/components/route/route.js +1 -1
  330. package/dist/collection/components/router/router.js +2 -6
  331. package/dist/collection/components/router/utils/dom.js +25 -7
  332. package/dist/collection/components/router/utils/matching.js +6 -9
  333. package/dist/collection/components/router/utils/parser.js +1 -1
  334. package/dist/collection/components/router/utils/path.js +0 -1
  335. package/dist/collection/components/router-link/router-link.js +2 -2
  336. package/dist/collection/components/router-outlet/router-outlet.js +49 -10
  337. package/dist/collection/components/row/row.js +1 -1
  338. package/dist/collection/components/searchbar/searchbar.js +25 -20
  339. package/dist/collection/components/segment/segment.js +9 -11
  340. package/dist/collection/components/segment-button/segment-button.js +15 -9
  341. package/dist/collection/components/segment-content/segment-content.js +1 -1
  342. package/dist/collection/components/segment-view/segment-view.js +3 -4
  343. package/dist/collection/components/select/select.ios.css +96 -69
  344. package/dist/collection/components/select/select.js +405 -92
  345. package/dist/collection/components/select/select.md.css +118 -85
  346. package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
  347. package/dist/collection/components/select-modal/select-modal.js +80 -27
  348. package/dist/collection/components/select-modal/select-modal.md.css +164 -0
  349. package/dist/collection/components/select-option/select-option.js +67 -3
  350. package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
  351. package/dist/collection/components/select-popover/select-popover.js +78 -26
  352. package/dist/collection/components/select-popover/select-popover.md.css +164 -0
  353. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  354. package/dist/collection/components/spinner/spinner.js +2 -3
  355. package/dist/collection/components/split-pane/split-pane.js +2 -2
  356. package/dist/collection/components/tab/tab.js +2 -2
  357. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  358. package/dist/collection/components/tab-button/tab-button.js +6 -4
  359. package/dist/collection/components/tabs/tabs.js +2 -3
  360. package/dist/collection/components/text/text.js +2 -2
  361. package/dist/collection/components/textarea/textarea.ios.css +94 -62
  362. package/dist/collection/components/textarea/textarea.js +47 -57
  363. package/dist/collection/components/textarea/textarea.md.css +103 -77
  364. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  365. package/dist/collection/components/title/title.js +2 -2
  366. package/dist/collection/components/toast/toast.js +12 -9
  367. package/dist/collection/components/toggle/toggle.js +6 -4
  368. package/dist/collection/components/toolbar/toolbar.js +7 -4
  369. package/dist/collection/global/config.js +3 -3
  370. package/dist/collection/global/ionic-global.js +8 -2
  371. package/dist/collection/index.js +1 -1
  372. package/dist/collection/utils/animation/animation.js +3 -3
  373. package/dist/collection/utils/config.js +5 -4
  374. package/dist/collection/utils/content/index.js +30 -0
  375. package/dist/collection/utils/focus-controller/index.js +1 -1
  376. package/dist/collection/utils/focus-trap.js +3 -3
  377. package/dist/collection/utils/forms/index.js +1 -0
  378. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  379. package/dist/collection/utils/framework-delegate.js +4 -6
  380. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  381. package/dist/collection/utils/gesture/index.js +10 -2
  382. package/dist/collection/utils/gesture/listener.js +4 -27
  383. package/dist/collection/utils/hardware-back-button.js +3 -3
  384. package/dist/collection/utils/helpers.js +14 -10
  385. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  386. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  387. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  388. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  389. package/dist/collection/utils/logging/index.js +23 -4
  390. package/dist/collection/utils/menu-controller/index.js +1 -2
  391. package/dist/collection/utils/native/haptic.js +2 -3
  392. package/dist/collection/utils/native/keyboard.js +2 -2
  393. package/dist/collection/utils/native/status-bar.js +1 -1
  394. package/dist/collection/utils/overlay-control-label.js +45 -0
  395. package/dist/collection/utils/overlays.js +87 -48
  396. package/dist/collection/utils/platform.js +4 -5
  397. package/dist/collection/utils/rtl/dir.js +17 -7
  398. package/dist/collection/utils/sanitization/index.js +283 -26
  399. package/dist/collection/utils/select-option-render.js +118 -0
  400. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  401. package/dist/collection/utils/test/late-props/late-props.js +69 -0
  402. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  403. package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
  404. package/dist/collection/utils/test/playwright/drag-element.js +2 -3
  405. package/dist/collection/utils/test/playwright/generator.js +3 -4
  406. package/dist/collection/utils/test/playwright/index.js +1 -0
  407. package/dist/collection/utils/test/playwright/page/event-spy.js +2 -4
  408. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  409. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  410. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  411. package/dist/collection/utils/test/press-keys.js +6 -16
  412. package/dist/collection/utils/theme.js +6 -1
  413. package/dist/collection/utils/transition/ios.transition.js +9 -13
  414. package/dist/collection/utils/transition/md.transition.js +3 -4
  415. package/dist/docs.json +933 -1402
  416. package/dist/esm/{animation-DLJpuoEz.js → animation-BFNVlYum.js} +4 -4
  417. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-BgX0BGL1.js} +1 -1
  418. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BfOvDr3b.js} +3 -3
  419. package/dist/esm/config-DWCzVL3Y.js +32 -0
  420. package/dist/esm/dir-Dojwmvde.js +28 -0
  421. package/dist/esm/{format-CAmvpAez.js → format-DDFE9jM5.js} +41 -31
  422. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BwNhx9NR.js} +5 -7
  423. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-B_gJaBk0.js} +1 -2
  424. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  425. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DmkiRgOT.js} +4 -4
  426. package/dist/esm/{helpers-HEqiOzXb.js → helpers-BSmc0nst.js} +15 -11
  427. package/dist/esm/{index-CfgBF1SE.js → index-BmLuEdV7.js} +13 -30
  428. package/dist/esm/{index-Q6UPU0Ay.js → index-BuPaALjU.js} +6 -7
  429. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  430. package/dist/esm/{index-MEDq2S8l.js → index-C1b9CLFg.js} +33 -3
  431. package/dist/esm/{index-tcQvqkiX.js → index-C23AVPx9.js} +303 -26
  432. package/dist/esm/{index-BRHzoo00.js → index-CJln0gS3.js} +3 -2
  433. package/dist/esm/index-D76bbuoi.js +425 -0
  434. package/dist/esm/{index-B_dQk_WE.js → index-DnA_7Bnx.js} +5 -5
  435. package/dist/esm/index.js +17 -15
  436. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-Dqk-Ou25.js} +10 -11
  437. package/dist/esm/input.utils-rqoH22pW.js +33 -0
  438. package/dist/esm/ion-accordion_2.entry.js +12 -12
  439. package/dist/esm/ion-action-sheet.entry.js +92 -44
  440. package/dist/esm/ion-alert.entry.js +143 -64
  441. package/dist/esm/ion-app_8.entry.js +112 -40
  442. package/dist/esm/ion-avatar_3.entry.js +4 -4
  443. package/dist/esm/ion-back-button.entry.js +6 -5
  444. package/dist/esm/ion-backdrop.entry.js +2 -2
  445. package/dist/esm/ion-breadcrumb_2.entry.js +8 -7
  446. package/dist/esm/ion-button_2.entry.js +12 -8
  447. package/dist/esm/ion-card_5.entry.js +6 -5
  448. package/dist/esm/ion-checkbox.entry.js +10 -7
  449. package/dist/esm/ion-chip.entry.js +3 -3
  450. package/dist/esm/ion-col_3.entry.js +10 -6
  451. package/dist/esm/ion-datetime-button.entry.js +22 -25
  452. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +183 -745
  453. package/dist/esm/ion-fab_3.entry.js +7 -6
  454. package/dist/esm/ion-img.entry.js +7 -4
  455. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -5
  456. package/dist/esm/ion-input-otp.entry.js +20 -29
  457. package/dist/esm/ion-input-password-toggle.entry.js +9 -10
  458. package/dist/esm/ion-input.entry.js +56 -68
  459. package/dist/esm/ion-item-option_3.entry.js +21 -24
  460. package/dist/esm/ion-item_8.entry.js +38 -34
  461. package/dist/esm/ion-loading.entry.js +28 -14
  462. package/dist/esm/ion-menu_3.entry.js +23 -24
  463. package/dist/esm/ion-modal.entry.js +271 -149
  464. package/dist/esm/ion-nav_2.entry.js +30 -138
  465. package/dist/esm/ion-picker-column-option.entry.js +8 -13
  466. package/dist/esm/ion-picker-column.entry.js +218 -62
  467. package/dist/esm/ion-picker.entry.js +4 -4
  468. package/dist/esm/ion-popover.entry.js +50 -30
  469. package/dist/esm/ion-progress-bar.entry.js +6 -5
  470. package/dist/esm/ion-radio_2.entry.js +12 -11
  471. package/dist/esm/ion-range.entry.js +30 -25
  472. package/dist/esm/ion-refresher_2.entry.js +32 -24
  473. package/dist/esm/ion-reorder_2.entry.js +10 -9
  474. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  475. package/dist/esm/ion-route_4.entry.js +36 -30
  476. package/dist/esm/ion-searchbar.entry.js +27 -22
  477. package/dist/esm/ion-segment-content.entry.js +2 -2
  478. package/dist/esm/ion-segment-view.entry.js +5 -6
  479. package/dist/esm/ion-segment_2.entry.js +30 -26
  480. package/dist/esm/ion-select-modal.entry.js +93 -38
  481. package/dist/esm/ion-select_3.entry.js +495 -126
  482. package/dist/esm/ion-spinner.entry.js +5 -6
  483. package/dist/esm/ion-split-pane.entry.js +4 -4
  484. package/dist/esm/ion-tab-bar_2.entry.js +15 -12
  485. package/dist/esm/ion-tab_2.entry.js +8 -8
  486. package/dist/esm/ion-text.entry.js +5 -5
  487. package/dist/esm/ion-textarea.entry.js +55 -64
  488. package/dist/esm/ion-toast.entry.js +25 -20
  489. package/dist/esm/ion-toggle.entry.js +15 -13
  490. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-ZXjCXKH0.js} +13 -8
  491. package/dist/esm/ionic.js +6 -6
  492. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CWAgfQ1r.js} +14 -17
  493. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
  494. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  495. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  496. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  497. package/dist/esm/loader.js +5 -5
  498. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-ZuqDDdDW.js} +8 -8
  499. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  500. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DKE0DgvE.js} +97 -58
  501. package/dist/esm/select-option-render-CRP_teb1.js +121 -0
  502. package/dist/esm/slot-mutation-controller-B5NpUZ-N.js +393 -0
  503. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-Cv9gb3ja.js} +4 -3
  504. package/dist/esm/{swipe-back-ZUWwA-KF.js → swipe-back-De5HlmeM.js} +5 -5
  505. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  506. package/dist/html.html-data.json +54 -82
  507. package/dist/ionic/index.esm.js +1 -1
  508. package/dist/ionic/ionic.esm.js +1 -1
  509. package/dist/ionic/p-099b7f9f.entry.js +4 -0
  510. package/dist/ionic/p-0dcb7bb6.entry.js +4 -0
  511. package/dist/ionic/p-1347880c.entry.js +4 -0
  512. package/dist/ionic/p-191a651e.entry.js +4 -0
  513. package/dist/ionic/p-1f24cb24.entry.js +4 -0
  514. package/dist/ionic/p-271c3640.entry.js +4 -0
  515. package/dist/ionic/p-2ea4bb36.entry.js +4 -0
  516. package/dist/ionic/p-338a02e0.entry.js +4 -0
  517. package/dist/ionic/p-38b9375b.entry.js +4 -0
  518. package/dist/ionic/p-3bba83ee.entry.js +4 -0
  519. package/dist/ionic/p-3e01c744.entry.js +4 -0
  520. package/dist/ionic/p-458715a9.entry.js +4 -0
  521. package/dist/ionic/p-4712a8a9.entry.js +4 -0
  522. package/dist/ionic/p-4c3e50f8.entry.js +4 -0
  523. package/dist/ionic/p-54cbb0a7.entry.js +4 -0
  524. package/dist/ionic/{p-2bb2cb18.entry.js → p-561af487.entry.js} +1 -1
  525. package/dist/ionic/p-5906ea6f.entry.js +4 -0
  526. package/dist/ionic/p-5cc09b40.entry.js +4 -0
  527. package/dist/ionic/p-5d9094ac.entry.js +4 -0
  528. package/dist/ionic/p-612ea3b1.entry.js +4 -0
  529. package/dist/ionic/p-68cc89a6.entry.js +4 -0
  530. package/dist/ionic/{p-dfa8d673.entry.js → p-6e386853.entry.js} +1 -1
  531. package/dist/ionic/p-77c96e08.entry.js +4 -0
  532. package/dist/ionic/p-7bfeccb3.entry.js +4 -0
  533. package/dist/ionic/p-7e394cc3.entry.js +4 -0
  534. package/dist/ionic/{p-0fa9c382.entry.js → p-7fbb3319.entry.js} +1 -1
  535. package/dist/ionic/p-803059b6.entry.js +4 -0
  536. package/dist/ionic/p-837db1b9.entry.js +4 -0
  537. package/dist/ionic/p-85599fe3.entry.js +4 -0
  538. package/dist/ionic/p-8b80d9f9.entry.js +4 -0
  539. package/dist/ionic/p-90f50a65.entry.js +4 -0
  540. package/dist/ionic/p-9595e305.entry.js +4 -0
  541. package/dist/ionic/p-9c5f2691.entry.js +4 -0
  542. package/dist/ionic/p-9ee9c5b6.entry.js +4 -0
  543. package/dist/ionic/p-BMPN55of.js +4 -0
  544. package/dist/ionic/p-BMiZX1LT.js +4 -0
  545. package/dist/ionic/p-BSQPZ79H.js +4 -0
  546. package/dist/ionic/p-BY6BzzPF.js +4 -0
  547. package/dist/ionic/p-B_gJaBk0.js +4 -0
  548. package/dist/ionic/p-BaeKWZ-a.js +4 -0
  549. package/dist/ionic/p-Bd72UYI2.js +4 -0
  550. package/dist/ionic/p-BgOvhHy_.js +4 -0
  551. package/dist/ionic/p-BhamHSw3.js +4 -0
  552. package/dist/ionic/p-BijjLYjT.js +4 -0
  553. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  554. package/dist/ionic/p-C23AVPx9.js +6 -0
  555. package/dist/ionic/p-C8XilMh0.js +4 -0
  556. package/dist/ionic/p-CER8qW8Y.js +4 -0
  557. package/dist/ionic/p-CFuOr1Tu.js +4 -0
  558. package/dist/ionic/p-CM5OBjTW.js +4 -0
  559. package/dist/ionic/p-CMZYmFb4.js +4 -0
  560. package/dist/ionic/p-CkxVYPtX.js +4 -0
  561. package/dist/ionic/p-CmXuiRT6.js +4 -0
  562. package/dist/ionic/p-D0YpjgON.js +4 -0
  563. package/dist/ionic/p-D5t_-oMk.js +4 -0
  564. package/dist/ionic/p-D6rHcCvc.js +4 -0
  565. package/dist/ionic/p-D7jHfs0Y.js +4 -0
  566. package/dist/ionic/p-DLM95R4x.js +4 -0
  567. package/dist/ionic/p-DTxBioUO.js +4 -0
  568. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  569. package/dist/ionic/p-DYUjHcuH.js +4 -0
  570. package/{components/p-BkKAANMJ.js → dist/ionic/p-DZ6Hmc-8.js} +1 -1
  571. package/dist/ionic/p-D_gb-kdd.js +4 -0
  572. package/dist/ionic/p-DajLgJ4d.js +4 -0
  573. package/dist/ionic/p-Do3zTvCA.js +4 -0
  574. package/dist/ionic/p-Dojwmvde.js +4 -0
  575. package/dist/ionic/p-T71k3C35.js +4 -0
  576. package/dist/ionic/p-a8df96c8.entry.js +4 -0
  577. package/dist/ionic/p-a8ff2489.entry.js +4 -0
  578. package/dist/ionic/p-aff52029.entry.js +4 -0
  579. package/dist/ionic/p-b3532b8d.entry.js +4 -0
  580. package/dist/ionic/p-b9b4e85d.entry.js +4 -0
  581. package/dist/ionic/p-byZM6qHV.js +4 -0
  582. package/dist/ionic/{p-c6e49f3f.entry.js → p-ca1b8865.entry.js} +1 -1
  583. package/dist/ionic/p-cc4320d3.entry.js +4 -0
  584. package/dist/ionic/p-d526798a.entry.js +4 -0
  585. package/dist/ionic/p-d6755739.entry.js +4 -0
  586. package/dist/ionic/p-d8c138d9.entry.js +4 -0
  587. package/dist/ionic/p-db449915.entry.js +4 -0
  588. package/dist/ionic/p-dd01be0a.entry.js +4 -0
  589. package/dist/ionic/p-ec00fd0d.entry.js +4 -0
  590. package/dist/ionic/p-ee09ac9d.entry.js +4 -0
  591. package/dist/ionic/{p-37e720da.entry.js → p-efc0cf82.entry.js} +1 -1
  592. package/dist/ionic/p-f0fb23c1.entry.js +4 -0
  593. package/dist/ionic/p-f83b3e0c.entry.js +4 -0
  594. package/dist/ionic/p-fa50d493.entry.js +4 -0
  595. package/dist/ionic/p-zWf7R2xV.js +4 -0
  596. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  597. package/dist/types/components/alert/alert.d.ts +7 -0
  598. package/dist/types/components/content/content.d.ts +12 -0
  599. package/dist/types/components/datetime/datetime.d.ts +5 -1
  600. package/dist/types/components/img/img.d.ts +2 -0
  601. package/dist/types/components/input/input.d.ts +12 -6
  602. package/dist/types/components/modal/gestures/sheet.d.ts +1 -0
  603. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  604. package/dist/types/components/modal/modal-interface.d.ts +9 -0
  605. package/dist/types/components/modal/modal.d.ts +25 -7
  606. package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
  607. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  608. package/dist/types/components/nav/nav.d.ts +2 -22
  609. package/dist/types/components/picker-column/picker-column.d.ts +42 -0
  610. package/dist/types/components/range/range.d.ts +4 -1
  611. package/dist/types/components/refresher/refresher.d.ts +7 -0
  612. package/dist/types/components/route/route.d.ts +1 -1
  613. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  614. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  615. package/dist/types/components/select/select-interface.d.ts +31 -0
  616. package/dist/types/components/select/select.d.ts +30 -6
  617. package/dist/types/components/select-option/select-option.d.ts +42 -1
  618. package/dist/types/components/textarea/textarea.d.ts +12 -5
  619. package/dist/types/components.d.ts +79 -316
  620. package/dist/types/index.d.ts +1 -1
  621. package/dist/types/interface.d.ts +0 -1
  622. package/dist/types/stencil-public-runtime.d.ts +12 -0
  623. package/dist/types/utils/config.d.ts +1 -8
  624. package/dist/types/utils/content/index.d.ts +12 -0
  625. package/dist/types/utils/forms/index.d.ts +1 -0
  626. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  627. package/dist/types/utils/helpers.d.ts +8 -5
  628. package/dist/types/utils/logging/index.d.ts +2 -1
  629. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  630. package/dist/types/utils/overlays.d.ts +20 -9
  631. package/dist/types/utils/rtl/dir.d.ts +10 -4
  632. package/dist/types/utils/sanitization/index.d.ts +58 -2
  633. package/dist/types/utils/select-option-render.d.ts +53 -0
  634. package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
  635. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  636. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  637. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  638. package/hydrate/index.js +2998 -2155
  639. package/hydrate/index.mjs +2998 -2155
  640. package/loader/index.d.ts +1 -1
  641. package/package.json +58 -14
  642. package/components/ion-picker-legacy-column.d.ts +0 -11
  643. package/components/ion-picker-legacy-column.js +0 -4
  644. package/components/ion-picker-legacy.d.ts +0 -11
  645. package/components/ion-picker-legacy.js +0 -4
  646. package/components/p-A3O24YmY.js +0 -4
  647. package/components/p-ABkNVeU9.js +0 -4
  648. package/components/p-B-JJgYSG.js +0 -4
  649. package/components/p-BB42Mlnr.js +0 -4
  650. package/components/p-BLmJ0zRm.js +0 -4
  651. package/components/p-BSEgsdFI.js +0 -4
  652. package/components/p-BTEOs1at.js +0 -4
  653. package/components/p-BlIAuGv2.js +0 -4
  654. package/components/p-Bnsn6KaP.js +0 -4
  655. package/components/p-BsBCoGa-.js +0 -4
  656. package/components/p-Bz0dSlXZ.js +0 -4
  657. package/components/p-C53feagD.js +0 -4
  658. package/components/p-CHqRYvYm.js +0 -4
  659. package/components/p-CQGnMY3n.js +0 -4
  660. package/components/p-CSZf8_j0.js +0 -4
  661. package/components/p-C_xFdyXe.js +0 -4
  662. package/components/p-Cf2jSDS8.js +0 -4
  663. package/components/p-CkMSOsFF.js +0 -4
  664. package/components/p-Cl0B-RWe.js +0 -4
  665. package/components/p-CmR5uXej.js +0 -4
  666. package/components/p-CsNJ1ULL.js +0 -4
  667. package/components/p-CtWGkNnJ.js +0 -4
  668. package/components/p-CzCbeKys.js +0 -4
  669. package/components/p-D-aHdMxW.js +0 -4
  670. package/components/p-D0d8qTwj.js +0 -4
  671. package/components/p-D13Eaw-8.js +0 -4
  672. package/components/p-D3xo7hqU.js +0 -4
  673. package/components/p-D6Ynv7Xh.js +0 -4
  674. package/components/p-DCnGU1fF.js +0 -4
  675. package/components/p-DGZpx6KJ.js +0 -4
  676. package/components/p-DGvrK8dD.js +0 -4
  677. package/components/p-DHTSTb52.js +0 -4
  678. package/components/p-DOFCbuQR.js +0 -4
  679. package/components/p-DRugphUN.js +0 -4
  680. package/components/p-DV5mPYQS.js +0 -4
  681. package/components/p-DWkAgceV.js +0 -4
  682. package/components/p-DiVJyqlX.js +0 -4
  683. package/components/p-KEFO0w3i.js +0 -4
  684. package/components/p-Osve4qkc.js +0 -4
  685. package/components/p-SLS1rDZM.js +0 -4
  686. package/components/p-VWbRkLT7.js +0 -4
  687. package/components/p-aJ6PBUvj.js +0 -4
  688. package/components/p-cyNmxje6.js +0 -4
  689. package/components/p-k_E4tX5Z.js +0 -4
  690. package/components/p-oD4kcBRX.js +0 -4
  691. package/components/p-scxfI1Dd.js +0 -4
  692. package/components/p-yzCsOZE2.js +0 -4
  693. package/dist/cjs/config-xninhj0J.js +0 -201
  694. package/dist/cjs/dir-Cn0z1rJH.js +0 -20
  695. package/dist/cjs/input.utils-DetjmtH2.js +0 -150
  696. package/dist/cjs/notch-controller-18PzRGXd.js +0 -155
  697. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  698. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  699. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  700. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  701. package/dist/collection/components/picker-legacy/picker.js +0 -890
  702. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  703. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  704. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  705. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  706. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  707. package/dist/esm/config-DQCONYYp.js +0 -195
  708. package/dist/esm/dir-C53feagD.js +0 -18
  709. package/dist/esm/input.utils-Y6NgW8bw.js +0 -147
  710. package/dist/esm/notch-controller-DKDjU_O7.js +0 -153
  711. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  712. package/dist/ionic/p-06c232a4.entry.js +0 -4
  713. package/dist/ionic/p-0dc33652.entry.js +0 -4
  714. package/dist/ionic/p-10e833ef.entry.js +0 -4
  715. package/dist/ionic/p-20b1a044.entry.js +0 -4
  716. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  717. package/dist/ionic/p-2394a9a6.entry.js +0 -4
  718. package/dist/ionic/p-27d30585.entry.js +0 -4
  719. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  720. package/dist/ionic/p-2b204c59.entry.js +0 -4
  721. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  722. package/dist/ionic/p-3353c229.entry.js +0 -4
  723. package/dist/ionic/p-33704f20.entry.js +0 -4
  724. package/dist/ionic/p-34586ead.entry.js +0 -4
  725. package/dist/ionic/p-390ca786.entry.js +0 -4
  726. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  727. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  728. package/dist/ionic/p-4745f534.entry.js +0 -4
  729. package/dist/ionic/p-4858af1f.entry.js +0 -4
  730. package/dist/ionic/p-4ac4f3d6.entry.js +0 -4
  731. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  732. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  733. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  734. package/dist/ionic/p-50e1194a.entry.js +0 -4
  735. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  736. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  737. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  738. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  739. package/dist/ionic/p-7c319341.entry.js +0 -4
  740. package/dist/ionic/p-829367ed.entry.js +0 -4
  741. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  742. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  743. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  744. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  745. package/dist/ionic/p-9eeaBrnk.js +0 -4
  746. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  747. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  748. package/dist/ionic/p-BGqMS-oh.js +0 -4
  749. package/dist/ionic/p-BTEOs1at.js +0 -4
  750. package/dist/ionic/p-BUFIpxKM.js +0 -4
  751. package/dist/ionic/p-C0eMdTCW.js +0 -4
  752. package/dist/ionic/p-C53feagD.js +0 -4
  753. package/dist/ionic/p-CFlfIb2g.js +0 -4
  754. package/dist/ionic/p-CKvCXMs9.js +0 -4
  755. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  756. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  757. package/dist/ionic/p-CwdymDLH.js +0 -4
  758. package/dist/ionic/p-Cx3IXROA.js +0 -4
  759. package/dist/ionic/p-D-3ycHmd.js +0 -4
  760. package/dist/ionic/p-D13Eaw-8.js +0 -4
  761. package/dist/ionic/p-DC3RagnA.js +0 -4
  762. package/dist/ionic/p-DIuEbVLu.js +0 -4
  763. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  764. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  765. package/dist/ionic/p-DiVJyqlX.js +0 -4
  766. package/dist/ionic/p-DoJvtrbw.js +0 -4
  767. package/dist/ionic/p-DqN5EA2O.js +0 -4
  768. package/dist/ionic/p-DzWaWHGc.js +0 -4
  769. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  770. package/dist/ionic/p-SNAkTDfm.js +0 -4
  771. package/dist/ionic/p-VAemlbDS.js +0 -4
  772. package/dist/ionic/p-Wk5HzclC.js +0 -4
  773. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  774. package/dist/ionic/p-aaeedb6b.entry.js +0 -4
  775. package/dist/ionic/p-bfc9bb0f.entry.js +0 -4
  776. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  777. package/dist/ionic/p-c38b648e.entry.js +0 -4
  778. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  779. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  780. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  781. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  782. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  783. package/dist/ionic/p-fd7eebc4.entry.js +0 -4
  784. package/dist/ionic/p-mjKAFv89.js +0 -4
  785. package/dist/ionic/p-tcQvqkiX.js +0 -5
  786. package/dist/ionic/p-viFHDgRs.js +0 -4
  787. package/dist/ionic/p-xWb6fgfq.js +0 -4
  788. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  789. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  790. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  791. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  792. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  793. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  794. /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{f as t,r as o,c as a,e as i,j as e,h as s,d as n,g as r}from"./p-C23AVPx9.js";import{E as d}from"./p-DWCzVL3Y.js";import{g as l,r as p}from"./p-CFuOr1Tu.js";import{c}from"./p-B-hirT0v.js";import{O as h,c as m,d as b,i as u,h as g,k as f,e as x,f as w,g as v,s as y,G as k}from"./p-CMZYmFb4.js";import{s as j}from"./p-D7jHfs0Y.js";import{c as D,g as T}from"./p-byZM6qHV.js";import{b as $}from"./p-Do3zTvCA.js";import{c as Y}from"./p-DLM95R4x.js";import{w as z}from"./p-ZjP4CjeZ.js";import{createGesture as C}from"./p-D0YpjgON.js";import"./p-Dojwmvde.js";import"./p-BgOvhHy_.js";import"./p-DYUjHcuH.js";import"./p-B_gJaBk0.js";const M=(t,o)=>Math.floor(t/2-o/2),H=(t,o)=>{const a=Y(),i=Y(),{position:e,top:s,bottom:n}=o,r=l(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":i.fromTo("transform","translateY(-100%)",`translateY(${s})`);break;case"middle":const o=M(t.clientHeight,r.clientHeight);r.style.top=`${o}px`,i.fromTo("opacity",.01,1);break;default:i.fromTo("transform","translateY(100%)",`translateY(${n})`)}return a.easing("cubic-bezier(.155,1.105,.295,1.12)").duration(400).addAnimation(i)},P=(t,o)=>{const a=Y(),i=Y(),{position:e,top:s,bottom:n}=o,r=l(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":i.fromTo("transform",`translateY(${s})`,"translateY(-100%)");break;case"middle":i.fromTo("opacity",.99,0);break;default:i.fromTo("transform",`translateY(${n})`,"translateY(100%)")}return a.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(i)},L=(t,o)=>{const a=Y(),i=Y(),{position:e,top:s,bottom:n}=o,r=l(t).querySelector(".toast-wrapper");switch(i.addElement(r),e){case"top":r.style.setProperty("transform",`translateY(${s})`),i.fromTo("opacity",.01,1);break;case"middle":const o=M(t.clientHeight,r.clientHeight);r.style.top=`${o}px`,i.fromTo("opacity",.01,1);break;default:r.style.setProperty("transform",`translateY(${n})`),i.fromTo("opacity",.01,1)}return a.easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation(i)},O=t=>{const o=Y(),a=Y(),i=l(t).querySelector(".toast-wrapper");return a.addElement(i).fromTo("opacity",.99,0),o.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(a)},A=class{constructor(t){o(this,t),this.didPresent=a(this,"ionToastDidPresent",7),this.willPresent=a(this,"ionToastWillPresent",7),this.willDismiss=a(this,"ionToastWillDismiss",7),this.didDismiss=a(this,"ionToastDidDismiss",7),this.didPresentShorthand=a(this,"didPresent",7),this.willPresentShorthand=a(this,"willPresent",7),this.willDismissShorthand=a(this,"willDismiss",7),this.didDismissShorthand=a(this,"didDismiss",7),this.delegateController=m(this),this.lockController=c(),this.triggerController=b(),this.customHTMLEnabled=i.get("innerHTMLTemplatesEnabled",d),this.presented=!1,this.revealContentToScreenReader=!1,this.hasController=!1,this.duration=i.getNumber("toastDuration",0),this.layout="baseline",this.keyboardClose=!1,this.position="bottom",this.translucent=!1,this.animated=!0,this.isOpen=!1,this.dispatchCancelHandler=t=>{if(u(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}},this.createSwipeGesture=t=>{const o=this.gesture=((t,o,a)=>{const i=l(t).querySelector(".toast-wrapper"),e=t.clientHeight,s=i.getBoundingClientRect();let n=0;const r="middle"===t.position?.5:0,d="top"===t.position?-1:1,p=M(e,s.height),c=[{offset:0,transform:`translateY(-${p+s.height}px)`},{offset:.5,transform:"translateY(0px)"},{offset:1,transform:`translateY(${p+s.height}px)`}],m=Y("toast-swipe-to-dismiss-animation").addElement(i).duration(100);switch(t.position){case"middle":n=e+s.height,m.keyframes(c),m.progressStart(!0,.5);break;case"top":n=s.bottom,m.keyframes([{offset:0,transform:`translateY(${o.top})`},{offset:1,transform:"translateY(-100%)"}]),m.progressStart(!0,0);break;default:n=e-s.top,m.keyframes([{offset:0,transform:`translateY(${o.bottom})`},{offset:1,transform:"translateY(100%)"}]),m.progressStart(!0,0)}const b=t=>t*d/n,u=C({el:i,gestureName:"toast-swipe-to-dismiss",gesturePriority:h,direction:"y",onMove:t=>{const o=r+b(t.deltaY);m.progressStep(o)},onEnd:o=>{const e=o.velocityY,s=(o.deltaY+1e3*e)/n*d;u.enable(!1);let r=!0,l=1,h=0,g=0;if("middle"===t.position){r=s>=.25||s<=-.25,l=1,h=0;const t=i.getBoundingClientRect(),a=t.top-p,e=(p+t.height)*(o.deltaY<=0?-1:1);m.keyframes([{offset:0,transform:`translateY(${a}px)`},{offset:1,transform:`translateY(${r?`${e}px`:"0px"})`}]),g=e-a}else r=s>=.5,l=r?1:0,h=b(o.deltaY),g=(r?1-h:h)*n;const f=Math.min(Math.abs(g)/Math.abs(e),200);m.onFinish((()=>{r?(a(),m.destroy()):("middle"===t.position?m.keyframes(c).progressStart(!0,.5):m.progressStart(!0,0),u.enable(!0))}),{oneTimeCallback:!0}).progressEnd(l,h,f)}});return u})(this.el,t,(()=>{this.dismiss(void 0,k)}));o.enable(!0)},this.destroySwipeGesture=()=>{const{gesture:t}=this;void 0!==t&&(t.destroy(),this.gesture=void 0)},this.prefersSwipeGesture=()=>{const{swipeGesture:t}=this;return"vertical"===t}}swipeGestureChanged(){this.destroySwipeGesture(),this.presented&&this.prefersSwipeGesture()&&this.createSwipeGesture(this.lastPresentedPosition)}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:a}=this;t&&a.addClickListener(o,t)}connectedCallback(){g(this.el),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}componentWillLoad(){this.htmlAttributes?.id||f(this.el)}componentDidLoad(){!0===this.isOpen&&p((()=>this.present())),this.triggerChanged()}async present(){const o=await this.lockController.lock();await this.delegateController.attachViewToDom();const{el:a,position:i}=this,e=function(o,a,i,e){let s;if(s="md"===i?"top"===o?8:-8:"top"===o?10:-10,a&&z){!function(o,a){null===o.offsetParent&&t("[ion-toast] - The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.",a)}(a,e);const i=a.getBoundingClientRect();return"top"===o?s+=i.bottom:"bottom"===o&&(s-=z.innerHeight-i.top),{top:`${s}px`,bottom:`${s}px`}}return{top:`calc(${s}px + var(--ion-safe-area-top, 0px))`,bottom:`calc(${s}px - var(--ion-safe-area-bottom, 0px))`}}(i,this.getAnchorElement(),$(this),a);this.lastPresentedPosition=e,await x(this,"toastEnter",H,L,{position:i,top:e.top,bottom:e.bottom}),this.revealContentToScreenReader=!0,this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss(void 0,"timeout")),this.duration)),this.prefersSwipeGesture()&&this.createSwipeGesture(e),o()}async dismiss(t,o){const a=await this.lockController.lock(),{durationTimeout:i,position:e,lastPresentedPosition:s}=this;i&&clearTimeout(i);const n=await w(this,t,o,"toastLeave",P,O,{position:e,top:s?.top??"",bottom:s?.bottom??""});return n&&(this.delegateController.removeViewFromDom(),this.revealContentToScreenReader=!1),this.lastPresentedPosition=void 0,this.destroySwipeGesture(),a(),n}onDidDismiss(){return v(this.el,"ionToastDidDismiss")}onWillDismiss(){return v(this.el,"ionToastWillDismiss")}getButtons(){return this.buttons?this.buttons.map((t=>"string"==typeof t?{text:t}:t)):[]}getAnchorElement(){const{position:o,positionAnchor:a,el:i}=this;if(void 0!==a)if("middle"!==o||void 0===a){if("string"==typeof a){const o=document.getElementById(a);return null===o?void t(`[ion-toast] - An anchor element with an ID of "${a}" was not found in the DOM.`,i):o}if(a instanceof HTMLElement)return a;t("[ion-toast] - Invalid positionAnchor value:",a,i)}else t('[ion-toast] - The positionAnchor property is ignored when using position="middle".',this.el)}async buttonClick(t){const o=t.role;return u(o)||await this.callButtonHandler(t)?this.dismiss(void 0,o):Promise.resolve()}async callButtonHandler(t){if(t?.handler)try{if(!1===await y(t.handler))return!1}catch(t){e("[ion-toast] - Exception in callButtonHandler:",t)}return!0}renderButtons(t,o){if(0===t.length)return;const a=$(this);return s("div",{class:{"toast-button-group":!0,[`toast-button-group-${o}`]:!0}},t.map((t=>s("button",{...t.htmlAttributes,type:"button",class:B(t),tabIndex:0,onClick:()=>this.buttonClick(t),part:E(t)},s("div",{class:"toast-button-inner"},t.icon&&s("ion-icon",{"aria-hidden":"true",icon:t.icon,slot:void 0===t.text?"icon-only":void 0,class:"toast-button-icon"}),t.text),"md"===a&&s("ion-ripple-effect",{type:void 0!==t.icon&&void 0===t.text?"unbounded":"bounded"})))))}renderToastMessage(t,o=null){const{customHTMLEnabled:a,message:i}=this;return a?s("div",{key:t,"aria-hidden":o,class:"toast-message",part:"message",innerHTML:j(i)}):s("div",{key:t,"aria-hidden":o,class:"toast-message",part:"message"},i)}renderHeader(t,o=null){return s("div",{key:t,class:"toast-header","aria-hidden":o,part:"header"},this.header)}render(){const{layout:o,el:a,revealContentToScreenReader:i,header:e,message:r}=this,d=this.getButtons(),l=d.filter((t=>"start"===t.side)),p=d.filter((t=>"start"!==t.side)),c=$(this),h={"toast-wrapper":!0,[`toast-${this.position}`]:!0,[`toast-layout-${o}`]:!0};return"stacked"===o&&l.length>0&&p.length>0&&t("[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.",a),s(n,{key:"15d2ff8b689e40bb5cae3e304448dadf91b11b88",tabindex:"-1",...this.htmlAttributes,style:{zIndex:`${6e4+this.overlayIndex}`},class:D(this.color,{[c]:!0,...T(this.cssClass),"overlay-hidden":!0,"toast-translucent":this.translucent}),onIonToastWillDismiss:this.dispatchCancelHandler},s("div",{key:"d26cc17a59e3d81810e22ee422398f2cc4c7a05c",class:h,part:"wrapper"},s("div",{key:"f15e1a97f13defcbf96612df4c7ba45999e6244d",class:"toast-container",part:"container"},this.renderButtons(l,"start"),void 0!==this.icon&&s("ion-icon",{key:"639cacec828f969673071e54dc68284050e9f2fd",class:"toast-icon",part:"icon",icon:this.icon,lazy:!1,"aria-hidden":"true"}),s("div",{key:"a07e68cf68e4c507e4515de1a4b43dd8fb3541d3",class:"toast-content",part:"content",role:"status","aria-atomic":"true","aria-live":"polite"},!i&&void 0!==e&&this.renderHeader("oldHeader","true"),!i&&void 0!==r&&this.renderToastMessage("oldMessage","true"),i&&void 0!==e&&this.renderHeader("header"),i&&void 0!==r&&this.renderToastMessage("header")),this.renderButtons(p,"end"))))}get el(){return r(this)}static get watchers(){return{swipeGesture:[{swipeGestureChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}},B=t=>({"toast-button":!0,"toast-button-icon-only":void 0!==t.icon&&void 0===t.text,[`toast-button-${t.role}`]:void 0!==t.role,"ion-focusable":!0,"ion-activatable":!0}),E=t=>u(t.role)?"button cancel":"button";A.style={ios:":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host{inset-inline-start:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);pointer-events:auto}.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-content{-ms-flex:1;flex:1;min-width:0}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-radius:14px;--button-color:var(--ion-color-primary, #0054e9);--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--max-width:700px;--max-height:478px;--start:10px;--end:10px;font-size:clamp(14px, 0.875rem, 43.4px)}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.toast-translucent) .toast-wrapper{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}:host(.ion-color.toast-translucent) .toast-wrapper{background:rgba(var(--ion-color-base-rgb), 0.8)}}.toast-wrapper.toast-middle{opacity:0.01}.toast-content{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:15px;padding-bottom:15px}.toast-header{margin-bottom:2px;font-weight:500}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;min-height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:clamp(17px, 1.0625rem, 21.998px);font-weight:500;overflow:hidden}.toast-button.ion-activated{opacity:0.4}@media (any-hover: hover){.toast-button:hover{opacity:0.6}}",md:":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host{inset-inline-start:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);pointer-events:auto}.toast-wrapper{inset-inline-start:var(--start);inset-inline-end:var(--end)}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-layout-stacked .toast-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.toast-layout-baseline .toast-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{-webkit-margin-start:16px;margin-inline-start:16px}.toast-content{-ms-flex:1;flex:1;min-width:0}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-layout-stacked .toast-button-group{-ms-flex-pack:end;justify-content:end;width:100%}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-800, var(--ion-background-color-step-800, #333333));--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #0054e9);--color:var(--ion-color-step-50, var(--ion-text-color-step-950, #f2f2f2));--max-width:700px;--start:8px;--end:8px;font-size:0.875rem}.toast-wrapper{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}.toast-content{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:14px;padding-bottom:14px}.toast-header{margin-bottom:2px;font-weight:500;line-height:1.25rem}.toast-message{line-height:1.25rem}.toast-layout-baseline .toast-button-group-start{-webkit-margin-start:8px;margin-inline-start:8px}.toast-layout-stacked .toast-button-group-start{-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px}.toast-layout-baseline .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px}.toast-layout-stacked .toast-button-group-end{-webkit-margin-end:8px;margin-inline-end:8px;margin-bottom:8px}.toast-button{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:0.875rem;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}.toast-button-cancel{color:var(--ion-color-step-100, var(--ion-text-color-step-900, #e6e6e6))}.toast-button-icon-only{border-radius:50%;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@media (any-hover: hover){.toast-button:hover{background-color:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08)}.toast-button-cancel:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}"};export{A as ion_toast}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{e as n,f as e,w as i,B as a}from"./p-C23AVPx9.js";import{r as o}from"./p-CFuOr1Tu.js";const r="ionViewWillEnter",t="ionViewDidEnter",s="ionViewWillLeave",c="ionViewDidLeave",u="ionViewWillUnload",l=n=>{n.tabIndex=-1,n.focus()},d=n=>null!==n.offsetParent,f="ion-last-focus",p=e=>{if(n.get("focusManagerPriority",!1)){const n=document.activeElement;null!==n&&e?.contains(n)&&n.setAttribute(f,"true")}},w=i=>{const a=n.get("focusManagerPriority",!1);if(Array.isArray(a)&&!i.contains(document.activeElement)){const n=i.querySelector(`[${f}]`);if(n&&d(n))return void l(n);for(const n of a)switch(n){case"content":const a=i.querySelector('main, [role="main"]');if(a&&d(a))return void l(a);break;case"heading":const o=i.querySelector('h1, [role="heading"][aria-level="1"]');if(o&&d(o))return void l(o);break;case"banner":const r=i.querySelector('header, [role="banner"]');if(r&&d(r))return void l(r);break;default:e(`Unrecognized focus manager priority value ${n}`)}l(i)}},m=n=>new Promise(((e,a)=>{i((()=>{const i=D(n);v(n,i),b(n).then((i=>{i.animation&&i.animation.destroy(),g(n),e(i)}),(e=>{g(n),a(e)})).finally((()=>{W(i,!1)}))}))})),v=(n,e)=>{const i=n.enteringEl,a=n.leavingEl;p(a),M(i,a,n.direction),W(e,!0),n.showGoBack?i.classList.add("can-go-back"):i.classList.remove("can-go-back"),L(i,!1),i.style.setProperty("pointer-events","none"),a&&(L(a,!1),a.style.setProperty("pointer-events","none"))},b=async n=>{const e=await h(n);return e&&a.isBrowser?y(e,n):P(n)},g=n=>{const e=n.enteringEl,i=n.leavingEl;e.classList.remove("ion-page-invisible"),e.style.removeProperty("pointer-events"),void 0!==i&&(i.classList.remove("ion-page-invisible"),i.style.removeProperty("pointer-events")),w(e)},h=async n=>{if(n.leavingEl&&n.animated&&0!==n.duration)return n.animationBuilder?n.animationBuilder:"ios"===n.mode?(await import("./p-CmXuiRT6.js")).iosTransitionAnimation:(await import("./p-BY6BzzPF.js")).mdTransitionAnimation},y=async(n,e)=>{await k(e,!0);const i=n(e.baseEl,e);j(e.enteringEl,e.leavingEl);const a=await V(i,e);return e.progressCallback&&e.progressCallback(void 0),a&&z(e.enteringEl,e.leavingEl),{hasCompleted:a,animation:i}},P=async e=>{const i=e.enteringEl,a=e.leavingEl,o=n.get("focusManagerPriority",!1);return await k(e,o),j(i,a),z(i,a),{hasCompleted:!0}},k=async(n,e)=>{(void 0!==n.deepWait?n.deepWait:e)&&await Promise.all([E(n.enteringEl),E(n.leavingEl)]),await C(n.viewIsReady,n.enteringEl)},C=async(n,e)=>{n&&await n(e)},V=(n,e)=>{const i=e.progressCallback,a=new Promise((e=>{n.onFinish((n=>e(1===n)))}));return i?(n.progressStart(!0),i(n)):n.play(),a},j=(n,e)=>{A(e,s),A(n,r)},z=(n,e)=>{A(n,t),A(e,c)},A=(n,e)=>{if(n){const i=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.dispatchEvent(i)}},B=()=>new Promise((n=>o((()=>o((()=>n())))))),E=async n=>{const e=n;if(e){if(null!=e.componentOnReady){if(null!=await e.componentOnReady())return}else if(null!=e.__registerHost){const n=new Promise((n=>o(n)));return void await n}await Promise.all(Array.from(e.children).map(E))}},L=(n,e)=>{e?(n.setAttribute("aria-hidden","true"),n.classList.add("ion-page-hidden")):(n.hidden=!1,n.removeAttribute("aria-hidden"),n.classList.remove("ion-page-hidden"))},M=(n,e,i)=>{void 0!==n&&(n.style.zIndex="back"===i?"99":"101"),void 0!==e&&(e.style.zIndex="100")},W=(n,e)=>{if(!n)return;const i="header-transitioning";e?n.classList.add(i):n.classList.remove(i)},x=n=>{if(n.classList.contains("ion-page"))return n;return n.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")||n},D=n=>{if("ios"!==n.mode)return null;const e="back"===n.direction?n.leavingEl:n.enteringEl;return e?e.querySelector("ion-header"):null};export{r as L,t as a,s as b,c,u as d,E as e,x as g,A as l,L as s,m as t,B as w}
@@ -192,6 +192,16 @@ export declare class ActionSheet implements ComponentInterface, OverlayInterface
192
192
  connectedCallback(): void;
193
193
  disconnectedCallback(): void;
194
194
  componentWillLoad(): void;
195
+ /**
196
+ * Only create gesture if:
197
+ * 1. A gesture does not already exist
198
+ * 2. App is running in iOS mode
199
+ * 3. A wrapper ref exists
200
+ * 4. A group ref exists
201
+ * 5. The host is still connected, since a reconnect can schedule this and
202
+ * disconnect again before the task runs
203
+ */
204
+ private setupButtonActiveGesture;
195
205
  componentDidLoad(): void;
196
206
  private renderActionSheetButtons;
197
207
  render(): any;
@@ -154,6 +154,13 @@ export declare class Alert implements ComponentInterface, OverlayInterface {
154
154
  connectedCallback(): void;
155
155
  componentWillLoad(): void;
156
156
  disconnectedCallback(): void;
157
+ /**
158
+ * Only create gesture if:
159
+ * 1. A gesture does not already exist
160
+ * 2. App is running in iOS mode
161
+ * 3. A wrapper ref exists
162
+ */
163
+ private setupButtonActiveGesture;
157
164
  componentDidLoad(): void;
158
165
  /**
159
166
  * Present the alert overlay after it has been created.
@@ -19,6 +19,7 @@ export declare class Content implements ComponentInterface {
19
19
  private backgroundContentEl?;
20
20
  private isMainContent;
21
21
  private resizeTimeout;
22
+ private fullscreenResizeObserver?;
22
23
  private inheritedAttributes;
23
24
  private tabsElement;
24
25
  private tabsLoadCallback?;
@@ -36,6 +37,7 @@ export declare class Content implements ComponentInterface {
36
37
  * to transparent.
37
38
  */
38
39
  fullscreen: boolean;
40
+ fullscreenChanged(): void;
39
41
  /**
40
42
  * Controls where the fixed content is placed relative to the main content
41
43
  * in the DOM. This can be used to control the order in which fixed elements
@@ -80,7 +82,17 @@ export declare class Content implements ComponentInterface {
80
82
  ionScrollEnd: EventEmitter<ScrollBaseDetail>;
81
83
  componentWillLoad(): void;
82
84
  connectedCallback(): void;
85
+ componentDidLoad(): void;
83
86
  disconnectedCallback(): void;
87
+ /**
88
+ * Header and footer sizes can change after load without a window resize
89
+ * firing, so the `resize` listener alone misses those changes.
90
+ *
91
+ * Popover content is excluded because `contain: none` lets its offsets drive
92
+ * the host's own height, which would feed back into the observer.
93
+ */
94
+ private setupFullscreenResizeObserver;
95
+ private destroyFullscreenResizeObserver;
84
96
  /**
85
97
  * Rotating certain devices can update
86
98
  * the safe area insets. As a result,
@@ -57,6 +57,10 @@ export declare class Datetime implements ComponentInterface {
57
57
  * Set true only by `visibleCallback`. Lets `hiddenCallback` ignore the
58
58
  * synthetic "not intersecting" entry IntersectionObserver fires on
59
59
  * `observe()` when the host mounts offscreen.
60
+ *
61
+ * Don't reset this in `disconnectedCallback`. Overlays disconnect and
62
+ * reconnect the host without re-creating the observers, so a reset there
63
+ * makes `hiddenCallback` miss the dismissal.
60
64
  */
61
65
  private hasBeenIntersecting;
62
66
  private prevPresentation;
@@ -79,7 +83,7 @@ export declare class Datetime implements ComponentInterface {
79
83
  /**
80
84
  * The color to use from your application's color palette.
81
85
  * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
82
- * For more information on colors, see [theming](/docs/theming/basics).
86
+ * For more information on colors, refer to [theming](/docs/theming/basics).
83
87
  */
84
88
  color?: Color;
85
89
  /**
@@ -1,5 +1,7 @@
1
1
  import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  /**
3
+ * @deprecated
4
+ *
3
5
  * @part image - The inner `img` element.
4
6
  */
5
7
  export declare class Img implements ComponentInterface {
@@ -19,6 +19,8 @@ export declare class Input implements ComponentInterface {
19
19
  private slotMutationController?;
20
20
  private notchController?;
21
21
  private notchSpacerEl;
22
+ private startContainerController?;
23
+ private startContainerEl;
22
24
  private originalIonInput?;
23
25
  /**
24
26
  * `true` if the input was cleared as a result of the user typing
@@ -64,7 +66,7 @@ export declare class Input implements ComponentInterface {
64
66
  /**
65
67
  * Whether auto correction should be enabled when the user is entering/editing the text value.
66
68
  */
67
- autocorrect: 'on' | 'off';
69
+ autocorrect: boolean;
68
70
  /**
69
71
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
70
72
  *
@@ -347,14 +349,18 @@ export declare class Input implements ComponentInterface {
347
349
  */
348
350
  private get hasLabel();
349
351
  /**
350
- * Stops propagation when the label is clicked,
351
- * otherwise, two clicks will be triggered.
352
+ * Stops propagation for clicks on the input's own content (label text,
353
+ * input field) to prevent double-click events. Allows clicks on slotted
354
+ * content to propagate so event delegation works for parent handlers.
355
+ *
356
+ * Only slots belonging directly to this input should be considered.
357
+ * The input itself may have a slot attribute when placed in an item
358
+ * or toolbar, which does not make its content slotted content.
352
359
  */
353
360
  private onLabelClick;
354
361
  /**
355
- * Renders the border container
356
- * when fill="outline".
362
+ * Renders the outline border with a notch for the label.
357
363
  */
358
- private renderLabelContainer;
364
+ private renderOutlineContainer;
359
365
  render(): any;
360
366
  }
@@ -32,4 +32,5 @@ export interface MoveSheetToBreakpointOptions {
32
32
  export declare const createSheetGesture: (baseEl: HTMLIonModalElement, backdropEl: HTMLIonBackdropElement, wrapperEl: HTMLElement, initialBreakpoint: number, backdropBreakpoint: number, animation: Animation, breakpoints: number[] | undefined, expandToScroll: boolean, getCurrentBreakpoint: () => number, onDismiss: () => void, onBreakpointChange: (breakpoint: number) => void, onDragStart: () => void, onDragMove: (detail: ModalDragEventDetail) => void, onDragEnd: (detail: ModalDragEventDetail) => void) => {
33
33
  gesture: import("@utils/gesture").Gesture;
34
34
  moveSheetToBreakpoint: (options: MoveSheetToBreakpointOptions) => Promise<void>;
35
+ resetContentScroll: () => void;
35
36
  };
@@ -1,4 +1,15 @@
1
1
  import type { Animation } from '../../../interface';
2
+ /**
3
+ * Swiping is only possible when the content is scrolled to the top, so that we
4
+ * do not interfere with scrolling, and never on content with a refresher.
5
+ *
6
+ * Note: We cannot solve the refresher case with gesture priority as the iOS
7
+ * native refresh gesture uses a scroll listener in addition to a gesture.
8
+ *
9
+ * Note: Do not use `getScrollElement` here because we need this to be a
10
+ * synchronous operation, and `getScrollElement` is asynchronous.
11
+ */
12
+ export declare const canSwipeOnContent: (contentEl: HTMLElement) => boolean;
2
13
  export declare const handleCanDismiss: (el: HTMLIonModalElement, animation: Animation) => Promise<void>;
3
14
  /**
4
15
  * This function lets us simulate a realistic spring-like animation
@@ -65,4 +65,13 @@ export interface ModalDragEventDetail {
65
65
  * the gesture.
66
66
  */
67
67
  snapBreakpoint?: number;
68
+ /**
69
+ * Whether the modal is attempting to dismiss when the drag gesture
70
+ * ends. A `canDismiss` callback can still cancel the dismiss after
71
+ * this event is emitted, so use `ionModalDidDismiss` to confirm that
72
+ * the modal actually closed.
73
+ *
74
+ * This is only set on `ionDragEnd`.
75
+ */
76
+ isDismissing?: boolean;
68
77
  }
@@ -30,6 +30,7 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
30
30
  private sortedBreakpoints?;
31
31
  private keyboardOpenCallback?;
32
32
  private moveSheetToBreakpoint?;
33
+ private resetSheetContentScroll?;
33
34
  private inheritedAttributes;
34
35
  private statusBarStyle?;
35
36
  private inline;
@@ -39,6 +40,8 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
39
40
  private currentViewIsPortrait?;
40
41
  private viewTransitionAnimation?;
41
42
  private resizeTimeout?;
43
+ private unsubscribeRootSafeAreaTop?;
44
+ private isPresenting;
42
45
  private parentRemovalObserver?;
43
46
  private cachedOriginalParent?;
44
47
  private cachedPageParent?;
@@ -112,11 +115,18 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
112
115
  /**
113
116
  * The interaction behavior for the sheet modal when the handle is pressed.
114
117
  *
115
- * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
116
- * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
118
+ * Handle behavior is unavailable when the `handle` property is set to
119
+ * `false` or when the `breakpoints` property is not set (using a
120
+ * fullscreen or card modal).
117
121
  *
118
- * Handle behavior is unavailable when the `handle` property is set to `false` or
119
- * when the `breakpoints` property is not set (using a fullscreen or card modal).
122
+ * Set to `"cycle"` to make the handle focusable and let the sheet modal
123
+ * cycle between available breakpoints when pressed. This keeps the sheet
124
+ * operable with assistive technology.
125
+ *
126
+ * Set to `"none"` to make the handle purely decorative when pressed and
127
+ * removed from the tab order.
128
+ *
129
+ * Defaults to `"cycle"`.
120
130
  */
121
131
  handleBehavior?: ModalHandleBehavior;
122
132
  /**
@@ -401,9 +411,10 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
401
411
  */
402
412
  private setInitialSafeAreaOverrides;
403
413
  /**
404
- * Resolves the current root --ion-safe-area-top value and sets the
405
- * internal --ion-modal-offset-top property on the host element.
406
- * Called on present and on resize (e.g., device rotation changes safe-area).
414
+ * Sets the internal --ion-modal-offset-top property on the host element,
415
+ * resolving the current root --ion-safe-area-top when no value is given.
416
+ * Called on present, on resize (e.g., device rotation changes safe-area),
417
+ * and whenever the root safe-area value itself changes.
407
418
  */
408
419
  private updateSheetOffsetTop;
409
420
  /**
@@ -453,5 +464,12 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
453
464
  * Clears all safe-area overrides and padding.
454
465
  */
455
466
  private cleanupSafeAreaOverrides;
467
+ /**
468
+ * Re-applies what `cleanupSafeAreaOverrides()` removed for a modal moved
469
+ * while presented. Anything needing no measurement goes on synchronously so
470
+ * the modal is never painted without safe-area. The position-based
471
+ * correction waits a frame for the layout pass it reads.
472
+ */
473
+ private restoreSafeAreaOverrides;
456
474
  render(): any;
457
475
  }
@@ -33,6 +33,12 @@ export interface ModalSafeAreaContext {
33
33
  * Results are cached for the current frame to avoid repeated reflows.
34
34
  */
35
35
  export declare const getRootSafeAreaTop: () => number;
36
+ /**
37
+ * Calls back when the resolved root `--ion-safe-area-top` changes, which no
38
+ * event and no window resize covers. The probe's height tracks the variable, so
39
+ * a change to it becomes a size change the observer can see.
40
+ */
41
+ export declare const onRootSafeAreaTopChange: (callback: (safeAreaTop: number) => void) => (() => void);
36
42
  /**
37
43
  * True when the modal host declares BOTH a non-fullscreen `--width` AND a
38
44
  * non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
@@ -33,7 +33,6 @@ export interface RouterOutletOptions {
33
33
  }
34
34
  export interface NavOptions extends RouterOutletOptions {
35
35
  progressAnimation?: boolean;
36
- updateURL?: boolean;
37
36
  delegate?: FrameworkDelegate;
38
37
  viewIsReady?: (enteringEl: HTMLElement) => Promise<any>;
39
38
  }
@@ -1,13 +1,11 @@
1
- import type { EventEmitter } from '../../stencil-public-runtime';
1
+ import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { AnimationBuilder, ComponentProps, FrameworkDelegate } from '../../interface';
3
- import type { NavOutlet, RouteID, RouteWrite, RouterDirection } from '../router/utils/interface';
4
3
  import type { NavComponent, NavComponentWithProps, NavOptions, TransitionDoneFn } from './nav-interface';
5
4
  import type { ViewController } from './view-controller';
6
- export declare class Nav implements NavOutlet {
5
+ export declare class Nav implements ComponentInterface {
7
6
  private transInstr;
8
7
  private sbAni?;
9
8
  private gestureOrAnimationInProgress;
10
- private useRouter;
11
9
  private isTransitioning;
12
10
  private destroyed;
13
11
  private views;
@@ -141,24 +139,6 @@ export declare class Nav implements NavOutlet {
141
139
  * @param done The transition complete function.
142
140
  */
143
141
  setPages(views: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn): Promise<boolean>;
144
- /**
145
- * Called by the router to update the view.
146
- *
147
- * @param id The component tag.
148
- * @param params The component params.
149
- * @param direction A direction hint.
150
- * @param animation an AnimationBuilder.
151
- *
152
- * @return the status.
153
- * @internal
154
- */
155
- setRouteId(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder): Promise<RouteWrite>;
156
- /**
157
- * Called by <ion-router> to retrieve the current component.
158
- *
159
- * @internal
160
- */
161
- getRouteId(): Promise<RouteID | undefined>;
162
142
  /**
163
143
  * Get the active view.
164
144
  */
@@ -17,6 +17,19 @@ export declare class PickerColumn implements ComponentInterface {
17
17
  private canExitInputMode;
18
18
  private assistiveFocusable?;
19
19
  private updateValueTextOnScroll;
20
+ private scrollEndTimeout?;
21
+ private centeredOption?;
22
+ private isUserScroll;
23
+ /**
24
+ * Where the column halted itself, so the halt's own scroll events are not
25
+ * read as movement.
26
+ */
27
+ private haltedAtScrollTop?;
28
+ /**
29
+ * The haptics for the wheel picker are an iOS-only feature. As a result,
30
+ * they should be disabled on Android.
31
+ */
32
+ private enableHaptics;
20
33
  ariaLabel: string | null;
21
34
  ariaLabelChanged(newValue: string): void;
22
35
  isActive: boolean;
@@ -76,6 +89,7 @@ export declare class PickerColumn implements ComponentInterface {
76
89
  */
77
90
  setFocus(): Promise<void>;
78
91
  connectedCallback(): void;
92
+ disconnectedCallback(): void;
79
93
  private centerPickerItemInView;
80
94
  private setPickerItemActiveState;
81
95
  /**
@@ -93,6 +107,34 @@ export declare class PickerColumn implements ComponentInterface {
93
107
  * start of the scroll interaction.
94
108
  */
95
109
  private setInputModeActive;
110
+ private clearScrollEndTimeout;
111
+ /**
112
+ * Resets the idle timer that commits the centered option.
113
+ */
114
+ private resetScrollEndTimeout;
115
+ /**
116
+ * Capture so the column still commits if an application's own pointerdown
117
+ * handler stops the event before it reaches the document.
118
+ */
119
+ private watchForOutsidePress;
120
+ private stopWatchingForOutsidePress;
121
+ /**
122
+ * Resets everything the current scroll interaction is holding, so nothing
123
+ * pending on it can commit later.
124
+ */
125
+ private discardScroll;
126
+ /**
127
+ * Commits the option that is currently centered under the highlight and ends
128
+ * the scroll interaction.
129
+ */
130
+ private settle;
131
+ /**
132
+ * Commits the option the user can see when they press anything outside of the
133
+ * column during a scroll they started. This runs on pointerdown rather than
134
+ * click so the value is up to date by the time an application's own click
135
+ * handler (a Save button, for example) reads it.
136
+ */
137
+ private onPointerDownOutside;
96
138
  /**
97
139
  * When the column scrolls, the component
98
140
  * needs to determine which item is centered
@@ -88,9 +88,12 @@ export declare class Range implements ComponentInterface {
88
88
  */
89
89
  label?: string;
90
90
  /**
91
- * Show two knobs.
91
+ * If `true`, the range shows two knobs and `value` is an object with `lower`
92
+ * and `upper` properties. If `false`, the range shows one knob and `value` is
93
+ * a number.
92
94
  */
93
95
  dualKnobs: boolean;
96
+ protected dualKnobsChanged(): void;
94
97
  /**
95
98
  * Minimum integer value of the range.
96
99
  */
@@ -113,6 +113,13 @@ export declare class Refresher implements ComponentInterface {
113
113
  private setupMDNativeRefresher;
114
114
  private setupNativeRefresher;
115
115
  componentDidUpdate(): void;
116
+ /**
117
+ * Validate the slot attribute before rendering, while the host still reflects the
118
+ * developer's original markup. `connectedCallback` is too early: in the custom
119
+ * elements build it runs during insertion, before frameworks such as React assign
120
+ * the slot.
121
+ */
122
+ componentWillLoad(): void;
116
123
  connectedCallback(): Promise<void>;
117
124
  disconnectedCallback(): void;
118
125
  /**
@@ -9,7 +9,7 @@ export declare class Route implements ComponentInterface {
9
9
  */
10
10
  url: string;
11
11
  /**
12
- * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`)
12
+ * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-router-outlet`)
13
13
  * when the route matches.
14
14
  *
15
15
  * The value of this property is not always the tagname of the component to load,
@@ -23,6 +23,12 @@ export declare class RouterOutlet implements ComponentInterface, NavOutlet {
23
23
  animated: boolean;
24
24
  /** This property allows to create custom transition using AnimationBuilder functions. */
25
25
  animation?: AnimationBuilder;
26
+ /**
27
+ * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
28
+ * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
29
+ */
30
+ swipeGesture?: boolean;
31
+ swipeGestureChanged(): void;
26
32
  /** @internal */
27
33
  swipeHandler?: SwipeGestureHandler;
28
34
  swipeHandlerChanged(): void;
@@ -34,6 +40,7 @@ export declare class RouterOutlet implements ComponentInterface, NavOutlet {
34
40
  ionNavDidChange: EventEmitter<void>;
35
41
  connectedCallback(): Promise<void>;
36
42
  componentWillLoad(): void;
43
+ private updateGestureEnabled;
37
44
  disconnectedCallback(): void;
38
45
  /** @internal */
39
46
  commit(enteringEl: HTMLElement, leavingEl: HTMLElement | undefined, opts?: RouterOutletOptions): Promise<boolean>;
@@ -52,7 +52,7 @@ export declare class Searchbar implements ComponentInterface {
52
52
  /**
53
53
  * Set the input's autocorrect property.
54
54
  */
55
- autocorrect: 'on' | 'off';
55
+ autocorrect: boolean;
56
56
  /**
57
57
  * Set the cancel button icon. Only applies to `md` mode.
58
58
  * Defaults to `arrow-back-sharp`.
@@ -1,3 +1,6 @@
1
+ import type { ActionSheetButton } from '../action-sheet/action-sheet-interface';
2
+ import type { AlertInput } from '../alert/alert-interface';
3
+ import type { SelectPopoverOption } from '../select-popover/select-popover-interface';
1
4
  export type SelectInterface = 'action-sheet' | 'popover' | 'alert' | 'modal';
2
5
  export type SelectCompareFn = (currentValue: any, compareValue: any) => boolean;
3
6
  export interface SelectChangeEventDetail<T = any> {
@@ -7,3 +10,31 @@ export interface SelectCustomEvent<T = any> extends CustomEvent {
7
10
  detail: SelectChangeEventDetail<T>;
8
11
  target: HTMLIonSelectElement;
9
12
  }
13
+ export interface SelectActionSheetButton extends Omit<ActionSheetButton, 'text'>, RichContentOption {
14
+ /** The main text for the option as a string or an HTMLElement. */
15
+ text?: string | HTMLElement;
16
+ }
17
+ export interface SelectAlertInput extends Omit<AlertInput, 'label'>, RichContentOption {
18
+ /** The main label for the option as a string or an HTMLElement. */
19
+ label?: string | HTMLElement;
20
+ /** Where the label sits relative to the option's selection control. */
21
+ labelPlacement?: 'start' | 'end';
22
+ /** How to pack the label and the option's selection control within a line. */
23
+ justify?: 'start' | 'end' | 'space-between';
24
+ }
25
+ export interface SelectOverlayOption extends Omit<SelectPopoverOption, 'text'>, RichContentOption {
26
+ /** The main text for the option as a string or an HTMLElement. */
27
+ text?: string | HTMLElement;
28
+ /** Where the label sits relative to the option's selection control. */
29
+ labelPlacement?: 'start' | 'end';
30
+ /** How to pack the label and the option's selection control within a line. */
31
+ justify?: 'start' | 'end' | 'space-between';
32
+ }
33
+ export interface RichContentOption {
34
+ /** Content to display at the start of the option. */
35
+ startContent?: HTMLElement;
36
+ /** Content to display at the end of the option. */
37
+ endContent?: HTMLElement;
38
+ /** A description for the option. */
39
+ description?: string;
40
+ }
@@ -18,7 +18,9 @@ import type { SelectChangeEventDetail, SelectInterface, SelectCompareFn } from '
18
18
  * @part error-text - Supporting text displayed beneath the select when the select is invalid and touched.
19
19
  * @part bottom - The container element for helper text, error text, and counter.
20
20
  * @part wrapper - The clickable label element that wraps the entire form field (label text, slots, selected values or placeholder, and toggle icons).
21
- * @part inner - The inner element of the wrapper that manages the slots, selected values or placeholder, and toggle icons.
21
+ * @part start - The wrapper element for the content in the start slot.
22
+ * @part control - The wrapper element containing the label and native select control. When the label is not floating or stacked, this part also contains the dropdown icon.
23
+ * @part end - The wrapper element for the content in the end slot. When the label is floating or stacked, this part also contains the dropdown icon.
22
24
  */
23
25
  export declare class Select implements ComponentInterface {
24
26
  private inputId;
@@ -28,10 +30,14 @@ export declare class Select implements ComponentInterface {
28
30
  private focusEl?;
29
31
  private mutationO?;
30
32
  private inheritedAttributes;
33
+ private slotMutationController?;
31
34
  private nativeWrapperEl;
32
35
  private notchSpacerEl;
33
36
  private validationObserver?;
34
37
  private notchController?;
38
+ private startContainerController?;
39
+ private startContainerEl;
40
+ private customHTMLEnabled;
35
41
  el: HTMLIonSelectElement;
36
42
  isExpanded: boolean;
37
43
  /**
@@ -203,6 +209,7 @@ export declare class Select implements ComponentInterface {
203
209
  ionStyle: EventEmitter<StyleEventDetail>;
204
210
  protected styleChanged(): void;
205
211
  private setValue;
212
+ private isValueEqual;
206
213
  connectedCallback(): Promise<void>;
207
214
  componentWillLoad(): void;
208
215
  componentDidLoad(): void;
@@ -238,6 +245,12 @@ export declare class Select implements ComponentInterface {
238
245
  * was passed.
239
246
  */
240
247
  private get labelText();
248
+ /**
249
+ * Returns the text to display in the select based on the selected value.
250
+ *
251
+ * @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`.
252
+ * @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
253
+ */
241
254
  private getText;
242
255
  private setFocus;
243
256
  private emitStyle;
@@ -259,15 +272,26 @@ export declare class Select implements ComponentInterface {
259
272
  */
260
273
  private get hasLabel();
261
274
  /**
262
- * Stops propagation when the label is clicked,
263
- * otherwise, two clicks will be triggered.
275
+ * Stops propagation for re-dispatched clicks (when already expanded) to
276
+ * prevent double-click events. Allows initial button clicks (from keyboard
277
+ * or mouse) and slotted content clicks to propagate so event delegation
278
+ * works for parent handlers.
264
279
  */
265
280
  private onLabelClick;
266
281
  /**
267
- * Renders the border container
268
- * when fill="outline".
282
+ * Renders the outline border with a notch for the label.
283
+ */
284
+ private renderOutlineContainer;
285
+ /**
286
+ * Wraps text nodes in the select text with span elements
287
+ * so spacing can be added between elements without
288
+ * changing the display to prevent losing the ellipses
289
+ * behavior.
290
+ *
291
+ * Only wraps when the string contains HTML elements
292
+ * alongside text.
269
293
  */
270
- private renderLabelContainer;
294
+ private wrapSelectTextNodes;
271
295
  /**
272
296
  * Renders either the placeholder
273
297
  * or the selected values based on