@ionic/core 8.8.19-dev.11786610762.137bbb21 → 8.8.19-dev.11786735826.1fad7c0a

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 (1240) 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--m5cCjbK.js +4 -0
  99. package/components/{p-CpHPq11n.js → p-30_sZS2V.js} +1 -1
  100. package/components/p-8FN7p701.js +4 -0
  101. package/components/p-B-FxiyeI.js +4 -0
  102. package/components/p-B4uHHhPK.js +4 -0
  103. package/components/p-BMPN55of.js +4 -0
  104. package/components/p-BMS4t-kJ.js +4 -0
  105. package/components/p-BOvLNVKq.js +4 -0
  106. package/components/p-BSQPZ79H.js +4 -0
  107. package/components/p-BWBigMsI.js +4 -0
  108. package/components/p-BZ4-QTes.js +4 -0
  109. package/components/p-BhamHSw3.js +4 -0
  110. package/components/p-BjluhQMI.js +4 -0
  111. package/components/p-BlsIikdZ.js +4 -0
  112. package/components/p-Blug1Vxu.js +4 -0
  113. package/components/p-BmVRXR1y.js +4 -0
  114. package/components/p-BpG8kBfD.js +4 -0
  115. package/components/p-BqPNzJf6.js +4 -0
  116. package/components/p-C5KYjZWD.js +4 -0
  117. package/components/p-C91npEel.js +4 -0
  118. package/components/p-C9BGR5fy.js +4 -0
  119. package/components/p-CD4fmpem.js +4 -0
  120. package/components/p-CEW4RXZO.js +4 -0
  121. package/components/p-CIGNaXM1.js +4 -0
  122. package/components/p-CKhiNOEg.js +4 -0
  123. package/components/p-CO2zzh3W.js +4 -0
  124. package/components/p-CVb3x_r3.js +4 -0
  125. package/components/p-CWLrHG8Y.js +4 -0
  126. package/components/p-CbhUdtjf.js +4 -0
  127. package/components/p-CejmQs3h.js +4 -0
  128. package/components/p-CfnNZz_d.js +4 -0
  129. package/components/p-CmKf4pgI.js +4 -0
  130. package/components/p-Cs5f-uOS.js +4 -0
  131. package/components/p-D7-vHX0A.js +4 -0
  132. package/components/p-DJztqcrH.js +4 -0
  133. package/components/p-DKrhJJV0.js +4 -0
  134. package/components/p-DRfgH82D.js +4 -0
  135. package/components/p-DSzSbVP2.js +4 -0
  136. package/components/p-DV85C0e0.js +4 -0
  137. package/components/p-DVKS-ovH.js +4 -0
  138. package/components/p-DWCzVL3Y.js +4 -0
  139. package/components/p-Dd8ajo9a.js +4 -0
  140. package/components/p-DdnhY_oj.js +4 -0
  141. package/components/p-DgZOZQjJ.js +4 -0
  142. package/components/p-Dmd2xqCe.js +4 -0
  143. package/components/{p-B2SvA6NE.js → p-DwpKZ6rl.js} +1 -1
  144. package/components/p-G0TxqHfe.js +4 -0
  145. package/components/p-GG5GhznE.js +4 -0
  146. package/components/{p-Ch8jco3x.js → p-J-p0EtHR.js} +1 -1
  147. package/components/p-LXu5-6Ti.js +4 -0
  148. package/components/p-LpMHEu3v.js +4 -0
  149. package/components/p-TXPDHL13.js +4 -0
  150. package/components/p-UQSiXX2Z.js +4 -0
  151. package/components/p-UuPYCOZE.js +4 -0
  152. package/components/p-WeeS7GvC.js +4 -0
  153. package/components/p-ZjP4CjeZ.js +4 -0
  154. package/components/{p-CzlL9T_X.js → p-_0JhwClE.js} +1 -1
  155. package/components/p-_IKFD3ID.js +4 -0
  156. package/components/p-byZM6qHV.js +4 -0
  157. package/components/p-hh7qIC-X.js +4 -0
  158. package/components/p-idq4JFo2.js +4 -0
  159. package/components/p-qT1szVjw.js +4 -0
  160. package/components/{p-BZwQa9ey.js → p-ryyf_ItD.js} +1 -1
  161. package/components/p-wzAhIh03.js +4 -0
  162. package/components/p-ypuYdSDB.js +4 -0
  163. package/components/{p-Dovs7FIs.js → p-yuj4Nkm_.js} +1 -1
  164. package/css/core.css +1 -1
  165. package/css/core.css.map +1 -1
  166. package/css/display.css +1 -1
  167. package/css/display.css.map +1 -1
  168. package/css/flex-utils.css +1 -1
  169. package/css/flex-utils.css.map +1 -1
  170. package/css/float-elements.css.map +1 -1
  171. package/css/global.bundle.css.map +1 -1
  172. package/css/ionic-swiper.css +1 -1
  173. package/css/ionic-swiper.css.map +1 -1
  174. package/css/ionic.bundle.css +1 -1
  175. package/css/ionic.bundle.css.map +1 -1
  176. package/css/normalize.css.map +1 -1
  177. package/css/padding.css.map +1 -1
  178. package/css/palettes/dark.always.css.map +1 -1
  179. package/css/palettes/dark.class.css.map +1 -1
  180. package/css/palettes/dark.system.css.map +1 -1
  181. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  182. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  183. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  184. package/css/palettes/high-contrast.always.css.map +1 -1
  185. package/css/palettes/high-contrast.class.css.map +1 -1
  186. package/css/palettes/high-contrast.system.css.map +1 -1
  187. package/css/structure.css.map +1 -1
  188. package/css/text-alignment.css.map +1 -1
  189. package/css/text-transformation.css.map +1 -1
  190. package/css/typography.css.map +1 -1
  191. package/css/utils.bundle.css +1 -1
  192. package/css/utils.bundle.css.map +1 -1
  193. package/dist/cjs/{animation-qlGmEn5Y.js → animation-C0mOHzej.js} +6 -6
  194. package/dist/cjs/{app-globals-CtK-3pCu.js → app-globals-BREG4twP.js} +1 -1
  195. package/dist/cjs/{button-active-CugpWmFI.js → button-active-BKj1rdFx.js} +3 -3
  196. package/dist/cjs/{capacitor-BixsAzyb.js → capacitor-DmA66EwP.js} +3 -3
  197. package/dist/cjs/{config-DWdFbSNK.js → config-CjUbvdPW.js} +5 -4
  198. package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
  199. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  200. package/dist/cjs/{format-COAsdjOc.js → format-pp0Du3K-.js} +40 -30
  201. package/dist/cjs/{framework-delegate-CJT_QJQI.js → framework-delegate-NTLQ5YzV.js} +6 -10
  202. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
  203. package/dist/cjs/{haptic-BFgF-QCg.js → haptic-Ch-X4gRx.js} +3 -4
  204. package/dist/cjs/hardware-back-button-fqpYh-kd.js +121 -0
  205. package/dist/cjs/{helpers-Fh1iXsX9.js → helpers-CaLhEmTE.js} +6 -73
  206. package/dist/cjs/{index-YYUVCfP-.js → index-B7zJsYWS.js} +3 -3
  207. package/dist/cjs/{index-CNicxECl.js → index-BlshL9ib.js} +8 -9
  208. package/dist/cjs/{index-D94mERjz.js → index-Ck9advCT.js} +5 -5
  209. package/dist/cjs/{index-CM8iGvyx.js → index-D2X6b92x.js} +15 -16
  210. package/dist/cjs/{index-DRFkZu3V.js → index-D48vawBq.js} +2 -2
  211. package/dist/cjs/index-DkNv4J_i.js +10 -0
  212. package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
  213. package/dist/cjs/{index-C1knGA9x.js → index-uvry__L4.js} +33 -65
  214. package/dist/cjs/{index-CxDnX7hd.js → index-wOmugbdg.js} +0 -2
  215. package/dist/cjs/index.cjs.js +17 -17
  216. package/dist/cjs/{input-shims-C8NCYfWv.js → input-shims-DvHAFqiP.js} +19 -22
  217. package/dist/cjs/input.utils-BZdMWVrt.js +35 -0
  218. package/dist/cjs/ion-accordion_2.cjs.entry.js +378 -382
  219. package/dist/cjs/ion-action-sheet.cjs.entry.js +178 -86
  220. package/dist/cjs/ion-alert.cjs.entry.js +250 -125
  221. package/dist/cjs/ion-app_8.cjs.entry.js +461 -608
  222. package/dist/cjs/ion-avatar_3.cjs.entry.js +19 -125
  223. package/dist/cjs/ion-back-button.cjs.entry.js +64 -49
  224. package/dist/cjs/ion-backdrop.cjs.entry.js +23 -22
  225. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +211 -169
  226. package/dist/cjs/ion-button_2.cjs.entry.js +152 -117
  227. package/dist/cjs/ion-card_5.cjs.entry.js +109 -79
  228. package/dist/cjs/ion-checkbox.cjs.entry.js +163 -129
  229. package/dist/cjs/ion-chip.cjs.entry.js +21 -56
  230. package/dist/cjs/ion-col_3.cjs.entry.js +186 -61
  231. package/dist/cjs/ion-datetime-button.cjs.entry.js +255 -247
  232. package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
  233. package/dist/cjs/ion-fab_3.cjs.entry.js +154 -112
  234. package/dist/cjs/ion-img.cjs.entry.js +34 -16
  235. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +108 -156
  236. package/dist/cjs/ion-input-otp.cjs.entry.js +435 -437
  237. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +40 -64
  238. package/dist/cjs/ion-input.cjs.entry.js +351 -311
  239. package/dist/cjs/ion-item-option_3.cjs.entry.js +136 -511
  240. package/dist/cjs/ion-item_8.cjs.entry.js +217 -189
  241. package/dist/cjs/ion-loading.cjs.entry.js +151 -68
  242. package/dist/cjs/ion-menu_3.cjs.entry.js +181 -137
  243. package/dist/cjs/ion-modal.cjs.entry.js +570 -500
  244. package/dist/cjs/ion-nav_2.cjs.entry.js +103 -163
  245. package/dist/cjs/ion-picker-column-option.cjs.entry.js +39 -39
  246. package/dist/cjs/ion-picker-column.cjs.entry.js +421 -409
  247. package/dist/cjs/ion-picker.cjs.entry.js +405 -400
  248. package/dist/cjs/ion-popover.cjs.entry.js +323 -211
  249. package/dist/cjs/ion-progress-bar.cjs.entry.js +35 -47
  250. package/dist/cjs/ion-radio_2.cjs.entry.js +216 -161
  251. package/dist/cjs/ion-range.cjs.entry.js +307 -249
  252. package/dist/cjs/ion-refresher_2.cjs.entry.js +174 -121
  253. package/dist/cjs/ion-reorder_2.cjs.entry.js +59 -53
  254. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -26
  255. package/dist/cjs/ion-route_4.cjs.entry.js +178 -75
  256. package/dist/cjs/ion-searchbar.cjs.entry.js +308 -331
  257. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  258. package/dist/cjs/ion-segment-view.cjs.entry.js +28 -27
  259. package/dist/cjs/ion-segment_2.cjs.entry.js +177 -141
  260. package/dist/cjs/ion-select-modal.cjs.entry.js +49 -69
  261. package/dist/cjs/ion-select_3.cjs.entry.js +507 -429
  262. package/dist/cjs/ion-spinner.cjs.entry.js +28 -36
  263. package/dist/cjs/ion-split-pane.cjs.entry.js +34 -25
  264. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +116 -179
  265. package/dist/cjs/ion-tab_2.cjs.entry.js +54 -29
  266. package/dist/cjs/ion-text.cjs.entry.js +13 -7
  267. package/dist/cjs/ion-textarea.cjs.entry.js +303 -309
  268. package/dist/cjs/ion-toast.cjs.entry.js +264 -169
  269. package/dist/cjs/ion-toggle.cjs.entry.js +184 -187
  270. package/dist/cjs/ionic-global-k6hOWWpn.js +156 -0
  271. package/dist/cjs/ionic.cjs.js +4 -4
  272. package/dist/cjs/{ios.transition-BgDCUY4Y.js → ios.transition-KvuRAe2W.js} +14 -20
  273. package/dist/cjs/{item-multiple-inputs-DKn76MYO.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
  274. package/dist/cjs/{keyboard-nne7rvBK.js → keyboard-Cix5TVkD.js} +4 -5
  275. package/dist/cjs/{keyboard-BbZXOwZg.js → keyboard-cHxZlTyz.js} +3 -3
  276. package/dist/cjs/keyboard-controller-PtZoN2GS.js +167 -0
  277. package/dist/cjs/loader.cjs.js +4 -4
  278. package/dist/cjs/{md.transition-Debf4tYr.js → md.transition-Bjl5Ozph.js} +8 -10
  279. package/dist/cjs/{overlay-control-label-DnRLQR1t.js → overlay-control-label-D2sdL2O8.js} +11 -13
  280. package/dist/cjs/{overlays-DYBUkNQu.js → overlays-IlP4H2Gn.js} +60 -336
  281. package/dist/cjs/{select-option-render-BqJEK1N1.js → select-option-render-pULCGldr.js} +3 -4
  282. package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +397 -0
  283. package/dist/cjs/{status-tap-hwqc0yb_.js → status-tap-BR_ujYHg.js} +3 -4
  284. package/dist/cjs/{swipe-back-DqQx5QCp.js → swipe-back-DzQKEl5g.js} +5 -6
  285. package/dist/cjs/{theme-IlOsGAz7.js → theme-Bw0rpaNN.js} +7 -26
  286. package/dist/cjs/validity-BpS37YFM.js +19 -0
  287. package/dist/collection/collection-manifest.json +1 -13
  288. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  289. package/dist/collection/components/accordion/accordion.js +327 -338
  290. package/dist/collection/components/accordion/accordion.md.css +59 -67
  291. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  292. package/dist/collection/components/accordion-group/accordion-group.js +56 -69
  293. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  294. package/dist/collection/components/action-sheet/action-sheet.ios.css +54 -184
  295. package/dist/collection/components/action-sheet/action-sheet.js +166 -76
  296. package/dist/collection/components/action-sheet/action-sheet.md.css +55 -179
  297. package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
  298. package/dist/collection/components/alert/alert.ios.css +54 -247
  299. package/dist/collection/components/alert/alert.js +236 -113
  300. package/dist/collection/components/alert/alert.md.css +56 -243
  301. package/dist/collection/components/app/app.js +86 -15
  302. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  303. package/dist/collection/components/avatar/avatar.js +4 -120
  304. package/dist/collection/components/avatar/avatar.md.css +0 -51
  305. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  306. package/dist/collection/components/back-button/back-button.js +61 -46
  307. package/dist/collection/components/back-button/back-button.md.css +48 -60
  308. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  309. package/dist/collection/components/backdrop/backdrop.js +22 -26
  310. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  311. package/dist/collection/components/badge/badge.ios.css +12 -137
  312. package/dist/collection/components/badge/badge.js +15 -145
  313. package/dist/collection/components/badge/badge.md.css +12 -122
  314. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  315. package/dist/collection/components/breadcrumb/breadcrumb.js +101 -72
  316. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  317. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  318. package/dist/collection/components/breadcrumbs/breadcrumbs.js +112 -99
  319. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  320. package/dist/collection/components/button/button.ios.css +46 -154
  321. package/dist/collection/components/button/button.js +157 -122
  322. package/dist/collection/components/button/button.md.css +50 -150
  323. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  324. package/dist/collection/components/buttons/buttons.js +21 -29
  325. package/dist/collection/components/buttons/buttons.md.css +3 -55
  326. package/dist/collection/components/card/card.ios.css +14 -65
  327. package/dist/collection/components/card/card.js +63 -61
  328. package/dist/collection/components/card/card.md.css +14 -65
  329. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  330. package/dist/collection/components/card-content/card-content.js +10 -12
  331. package/dist/collection/components/card-content/card-content.md.css +35 -20
  332. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  333. package/dist/collection/components/card-header/card-header.js +21 -20
  334. package/dist/collection/components/card-header/card-header.md.css +15 -27
  335. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  336. package/dist/collection/components/card-subtitle/card-subtitle.js +14 -11
  337. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  338. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  339. package/dist/collection/components/card-title/card-title.js +14 -11
  340. package/dist/collection/components/card-title/card-title.md.css +0 -73
  341. package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
  342. package/dist/collection/components/checkbox/checkbox.js +160 -165
  343. package/dist/collection/components/checkbox/checkbox.md.css +118 -243
  344. package/dist/collection/components/chip/chip.ios.css +14 -67
  345. package/dist/collection/components/chip/chip.js +20 -116
  346. package/dist/collection/components/chip/chip.md.css +14 -67
  347. package/dist/collection/components/col/col.css +4 -192
  348. package/dist/collection/components/col/col.js +186 -212
  349. package/dist/collection/components/content/content.css +2 -47
  350. package/dist/collection/components/content/content.js +102 -78
  351. package/dist/collection/components/datetime/datetime.ios.css +148 -304
  352. package/dist/collection/components/datetime/datetime.js +1068 -910
  353. package/dist/collection/components/datetime/datetime.md.css +138 -294
  354. package/dist/collection/components/datetime/utils/data.js +18 -19
  355. package/dist/collection/components/datetime/utils/format.js +21 -11
  356. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  357. package/dist/collection/components/datetime/utils/parse.js +10 -10
  358. package/dist/collection/components/datetime/utils/state.js +8 -2
  359. package/dist/collection/components/datetime/utils/validate.js +4 -5
  360. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -6
  361. package/dist/collection/components/datetime-button/datetime-button.js +253 -246
  362. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -6
  363. package/dist/collection/components/fab/fab.css +1 -25
  364. package/dist/collection/components/fab/fab.js +25 -22
  365. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  366. package/dist/collection/components/fab-button/fab-button.js +117 -83
  367. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  368. package/dist/collection/components/fab-list/fab-list.css +0 -12
  369. package/dist/collection/components/fab-list/fab-list.js +15 -20
  370. package/dist/collection/components/footer/footer.ios.css +6 -33
  371. package/dist/collection/components/footer/footer.js +65 -151
  372. package/dist/collection/components/footer/footer.md.css +0 -40
  373. package/dist/collection/components/grid/grid.css +0 -12
  374. package/dist/collection/components/grid/grid.js +9 -15
  375. package/dist/collection/components/header/header.ios.css +133 -178
  376. package/dist/collection/components/header/header.js +70 -202
  377. package/dist/collection/components/header/header.md.css +9 -199
  378. package/dist/collection/components/header/header.utils.js +13 -6
  379. package/dist/collection/components/img/img.js +34 -16
  380. package/dist/collection/components/infinite-scroll/infinite-scroll.js +76 -164
  381. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  382. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +30 -19
  383. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  384. package/dist/collection/components/input/input.ios.css +191 -247
  385. package/dist/collection/components/input/input.js +357 -340
  386. package/dist/collection/components/input/input.md.css +285 -234
  387. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  388. package/dist/collection/components/input-otp/input-otp.js +432 -437
  389. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  390. package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -60
  391. package/dist/collection/components/item/item.ios.css +80 -120
  392. package/dist/collection/components/item/item.js +113 -102
  393. package/dist/collection/components/item/item.md.css +79 -131
  394. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  395. package/dist/collection/components/item-divider/item-divider.js +23 -21
  396. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  397. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  398. package/dist/collection/components/item-group/item-group.js +7 -13
  399. package/dist/collection/components/item-group/item-group.md.css +0 -12
  400. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  401. package/dist/collection/components/item-option/item-option.js +56 -92
  402. package/dist/collection/components/item-option/item-option.md.css +29 -136
  403. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  404. package/dist/collection/components/item-options/item-options.js +17 -20
  405. package/dist/collection/components/item-options/item-options.md.css +34 -77
  406. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  407. package/dist/collection/components/item-sliding/item-sliding.js +61 -441
  408. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  409. package/dist/collection/components/label/label.ios.css +0 -18
  410. package/dist/collection/components/label/label.js +32 -15
  411. package/dist/collection/components/label/label.md.css +0 -18
  412. package/dist/collection/components/list/list.ios.css +14 -54
  413. package/dist/collection/components/list/list.js +19 -55
  414. package/dist/collection/components/list/list.md.css +16 -56
  415. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  416. package/dist/collection/components/list-header/list-header.js +18 -11
  417. package/dist/collection/components/list-header/list-header.md.css +38 -82
  418. package/dist/collection/components/loading/loading.ios.css +1 -13
  419. package/dist/collection/components/loading/loading.js +143 -62
  420. package/dist/collection/components/loading/loading.md.css +1 -13
  421. package/dist/collection/components/menu/menu.ios.css +3 -15
  422. package/dist/collection/components/menu/menu.js +108 -71
  423. package/dist/collection/components/menu/menu.md.css +3 -15
  424. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  425. package/dist/collection/components/menu-button/menu-button.js +38 -45
  426. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  427. package/dist/collection/components/menu-toggle/menu-toggle.js +25 -21
  428. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  429. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  430. package/dist/collection/components/modal/animations/sheet.js +2 -8
  431. package/dist/collection/components/modal/gestures/sheet.js +32 -86
  432. package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
  433. package/dist/collection/components/modal/modal.ios.css +70 -178
  434. package/dist/collection/components/modal/modal.js +404 -272
  435. package/dist/collection/components/modal/modal.md.css +70 -178
  436. package/dist/collection/components/modal/safe-area-utils.js +6 -7
  437. package/dist/collection/components/modal/test/fixtures.js +3 -0
  438. package/dist/collection/components/nav/nav.css +1 -7
  439. package/dist/collection/components/nav/nav.js +72 -256
  440. package/dist/collection/components/nav/view-controller.js +7 -1
  441. package/dist/collection/components/nav-link/nav-link.js +21 -14
  442. package/dist/collection/components/note/note.ios.css +0 -12
  443. package/dist/collection/components/note/note.js +14 -11
  444. package/dist/collection/components/note/note.md.css +0 -12
  445. package/dist/collection/components/picker/picker.ios.css +3 -15
  446. package/dist/collection/components/picker/picker.js +403 -398
  447. package/dist/collection/components/picker/picker.md.css +3 -15
  448. package/dist/collection/components/picker-column/picker-column.css +5 -9
  449. package/dist/collection/components/picker-column/picker-column.js +418 -409
  450. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  451. package/dist/collection/components/picker-column-option/picker-column-option.js +38 -42
  452. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -7
  453. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  454. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  455. package/dist/collection/components/popover/popover.ios.css +2 -15
  456. package/dist/collection/components/popover/popover.js +313 -199
  457. package/dist/collection/components/popover/popover.md.css +2 -15
  458. package/dist/collection/components/popover/test/fixture.js +1 -0
  459. package/dist/collection/components/popover/utils.js +4 -6
  460. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  461. package/dist/collection/components/progress-bar/progress-bar.js +33 -65
  462. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  463. package/dist/collection/components/radio/radio.ios.css +102 -207
  464. package/dist/collection/components/radio/radio.js +108 -77
  465. package/dist/collection/components/radio/radio.md.css +102 -207
  466. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  467. package/dist/collection/components/radio-group/radio-group.js +107 -113
  468. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  469. package/dist/collection/components/radio-group/test/fixtures.js +2 -0
  470. package/dist/collection/components/range/range.ios.css +85 -128
  471. package/dist/collection/components/range/range.js +303 -245
  472. package/dist/collection/components/range/range.md.css +85 -128
  473. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  474. package/dist/collection/components/refresher/refresher.js +117 -88
  475. package/dist/collection/components/refresher/refresher.md.css +2 -15
  476. package/dist/collection/components/refresher-content/refresher-content.js +47 -31
  477. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  478. package/dist/collection/components/reorder/reorder.js +7 -33
  479. package/dist/collection/components/reorder/reorder.md.css +0 -6
  480. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  481. package/dist/collection/components/reorder-group/reorder-group.js +47 -22
  482. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  483. package/dist/collection/components/ripple-effect/ripple-effect.js +17 -26
  484. package/dist/collection/components/route/route.js +39 -14
  485. package/dist/collection/components/route-redirect/route-redirect.js +31 -0
  486. package/dist/collection/components/router/router.js +37 -37
  487. package/dist/collection/components/router/utils/dom.js +25 -7
  488. package/dist/collection/components/router/utils/matching.js +7 -9
  489. package/dist/collection/components/router/utils/parser.js +1 -1
  490. package/dist/collection/components/router/utils/path.js +0 -1
  491. package/dist/collection/components/router-link/router-link.css +2 -8
  492. package/dist/collection/components/router-link/router-link.js +40 -19
  493. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  494. package/dist/collection/components/router-outlet/router-outlet.js +83 -25
  495. package/dist/collection/components/row/row.css +0 -16
  496. package/dist/collection/components/row/row.js +2 -9
  497. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  498. package/dist/collection/components/searchbar/searchbar.js +321 -380
  499. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  500. package/dist/collection/components/segment/segment.ios.css +2 -45
  501. package/dist/collection/components/segment/segment.js +126 -94
  502. package/dist/collection/components/segment/segment.md.css +2 -45
  503. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  504. package/dist/collection/components/segment-button/segment-button.js +49 -46
  505. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  506. package/dist/collection/components/segment-content/segment-content.js +1 -1
  507. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  508. package/dist/collection/components/segment-view/segment-view.js +28 -27
  509. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  510. package/dist/collection/components/select/select.ios.css +206 -351
  511. package/dist/collection/components/select/select.js +431 -444
  512. package/dist/collection/components/select/select.md.css +230 -383
  513. package/dist/collection/components/select-modal/select-modal.ios.css +45 -293
  514. package/dist/collection/components/select-modal/select-modal.js +37 -79
  515. package/dist/collection/components/select-modal/select-modal.md.css +43 -273
  516. package/dist/collection/components/select-modal/test/fixtures.js +8 -1
  517. package/dist/collection/components/select-option/select-option.js +48 -15
  518. package/dist/collection/components/select-popover/select-popover.ios.css +124 -188
  519. package/dist/collection/components/select-popover/select-popover.js +44 -37
  520. package/dist/collection/components/select-popover/select-popover.md.css +47 -228
  521. package/dist/collection/components/select-popover/test/fixtures.js +8 -1
  522. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  523. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  524. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  525. package/dist/collection/components/spinner/spinner.js +26 -55
  526. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  527. package/dist/collection/components/split-pane/split-pane.js +33 -28
  528. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  529. package/dist/collection/components/tab/tab.js +17 -10
  530. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
  531. package/dist/collection/components/tab-bar/tab-bar.js +44 -190
  532. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
  533. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  534. package/dist/collection/components/tab-button/tab-button.js +68 -74
  535. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  536. package/dist/collection/components/tabs/tabs.css +1 -7
  537. package/dist/collection/components/tabs/tabs.js +33 -23
  538. package/dist/collection/components/text/text.css +0 -6
  539. package/dist/collection/components/text/text.js +12 -7
  540. package/dist/collection/components/textarea/textarea.ios.css +221 -329
  541. package/dist/collection/components/textarea/textarea.js +302 -334
  542. package/dist/collection/components/textarea/textarea.md.css +231 -358
  543. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  544. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  545. package/dist/collection/components/title/title.ios.css +4 -32
  546. package/dist/collection/components/title/title.js +23 -13
  547. package/dist/collection/components/title/title.md.css +4 -39
  548. package/dist/collection/components/toast/animations/utils.js +1 -1
  549. package/dist/collection/components/toast/toast.ios.css +45 -84
  550. package/dist/collection/components/toast/toast.js +232 -178
  551. package/dist/collection/components/toast/toast.md.css +45 -84
  552. package/dist/collection/components/toggle/toggle.ios.css +127 -247
  553. package/dist/collection/components/toggle/toggle.js +175 -177
  554. package/dist/collection/components/toggle/toggle.md.css +127 -245
  555. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  556. package/dist/collection/components/toolbar/toolbar.js +25 -222
  557. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  558. package/dist/collection/global/config.js +4 -6
  559. package/dist/collection/global/ionic-global.js +20 -242
  560. package/dist/collection/index.js +1 -1
  561. package/dist/collection/utils/animation/animation.js +3 -3
  562. package/dist/collection/utils/config.js +5 -4
  563. package/dist/collection/utils/focus-controller/index.js +1 -1
  564. package/dist/collection/utils/focus-trap.js +5 -16
  565. package/dist/collection/utils/focus-visible.js +0 -22
  566. package/dist/collection/utils/forms/index.js +1 -1
  567. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  568. package/dist/collection/utils/forms/validity.js +0 -31
  569. package/dist/collection/utils/framework-delegate.js +5 -9
  570. package/dist/collection/utils/gesture/gesture-controller.js +15 -8
  571. package/dist/collection/utils/gesture/index.js +10 -2
  572. package/dist/collection/utils/gesture/listener.js +1 -1
  573. package/dist/collection/utils/hardware-back-button.js +3 -18
  574. package/dist/collection/utils/helpers.js +5 -72
  575. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  576. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  577. package/dist/collection/utils/keyboard/keyboard-controller.js +6 -8
  578. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  579. package/dist/collection/utils/logging/index.js +23 -4
  580. package/dist/collection/utils/media.js +0 -1
  581. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  582. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  583. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  584. package/dist/collection/utils/menu-controller/index.js +1 -2
  585. package/dist/collection/utils/native/haptic.js +2 -3
  586. package/dist/collection/utils/native/keyboard.js +2 -2
  587. package/dist/collection/utils/native/status-bar.js +1 -1
  588. package/dist/collection/utils/overlay-control-label.js +11 -13
  589. package/dist/collection/utils/overlays.js +45 -312
  590. package/dist/collection/utils/platform.js +4 -5
  591. package/dist/collection/utils/rtl/dir.js +1 -1
  592. package/dist/collection/utils/sanitization/index.js +2 -2
  593. package/dist/collection/utils/select-option-render.js +1 -2
  594. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  595. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  596. package/dist/collection/utils/test/playwright/drag-element.js +11 -35
  597. package/dist/collection/utils/test/playwright/generator.js +25 -51
  598. package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
  599. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -15
  600. package/dist/collection/utils/test/playwright/page/utils/set-content.js +4 -27
  601. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  602. package/dist/collection/utils/test/press-keys.js +10 -17
  603. package/dist/collection/utils/theme.js +7 -26
  604. package/dist/collection/utils/transition/ios.transition.js +9 -14
  605. package/dist/collection/utils/transition/md.transition.js +3 -4
  606. package/dist/docs.json +524 -10028
  607. package/dist/esm/{animation-ChfHU0RG.js → animation-CGFdmGk9.js} +5 -5
  608. package/dist/esm/{app-globals-D1OOQlqq.js → app-globals-CYmMeGdU.js} +1 -1
  609. package/dist/esm/{button-active-CPYK0dNo.js → button-active--80YqSHA.js} +3 -3
  610. package/dist/esm/{capacitor-DG_4yVXz.js → capacitor-CFERIeaU.js} +1 -1
  611. package/dist/esm/{config-BwKpO3Is.js → config-DWCzVL3Y.js} +5 -4
  612. package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
  613. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  614. package/dist/esm/{format-2WlZcMvG.js → format-Dcwga61t.js} +41 -31
  615. package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate--ajhSeKH.js} +6 -10
  616. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
  617. package/dist/esm/{haptic-BWlRCqa-.js → haptic-Cq4UAeka.js} +3 -4
  618. package/dist/esm/hardware-back-button-gLJHMX_F.js +115 -0
  619. package/dist/esm/{helpers-DfF5_wJc.js → helpers-DexiPLIC.js} +7 -73
  620. package/dist/esm/{index-BSDDOljg.js → index-8s8kZKJ7.js} +5 -5
  621. package/dist/esm/{index-DNY2GOUg.js → index-BCgUwrV0.js} +3 -4
  622. package/dist/esm/{index-B4Kq2YNk.js → index-BvabGprD.js} +1 -2
  623. package/dist/esm/{index-Mq5pCWmZ.js → index-CKM1DdGm.js} +3 -3
  624. package/dist/esm/{index-C0EQceqV.js → index-ChhhtsGZ.js} +34 -66
  625. package/dist/esm/{index-7eS8XtuU.js → index-CumkqGQF.js} +12 -13
  626. package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
  627. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  628. package/dist/esm/{index-taYRjZGp.js → index-_Za5VB9w.js} +2 -2
  629. package/dist/esm/index.js +17 -16
  630. package/dist/esm/{input-shims-tZfqB5a5.js → input-shims-BB0AKb_k.js} +11 -14
  631. package/dist/esm/input.utils-B1ValN_N.js +33 -0
  632. package/dist/esm/ion-accordion_2.entry.js +378 -382
  633. package/dist/esm/ion-action-sheet.entry.js +178 -86
  634. package/dist/esm/ion-alert.entry.js +250 -125
  635. package/dist/esm/ion-app_8.entry.js +460 -607
  636. package/dist/esm/ion-avatar_3.entry.js +19 -125
  637. package/dist/esm/ion-back-button.entry.js +64 -49
  638. package/dist/esm/ion-backdrop.entry.js +23 -22
  639. package/dist/esm/ion-breadcrumb_2.entry.js +211 -169
  640. package/dist/esm/ion-button_2.entry.js +152 -117
  641. package/dist/esm/ion-card_5.entry.js +109 -79
  642. package/dist/esm/ion-checkbox.entry.js +163 -129
  643. package/dist/esm/ion-chip.entry.js +21 -56
  644. package/dist/esm/ion-col_3.entry.js +186 -61
  645. package/dist/esm/ion-datetime-button.entry.js +255 -247
  646. package/dist/esm/ion-datetime.entry.js +2768 -0
  647. package/dist/esm/ion-fab_3.entry.js +154 -112
  648. package/dist/esm/ion-img.entry.js +34 -16
  649. package/dist/esm/ion-infinite-scroll_2.entry.js +108 -156
  650. package/dist/esm/ion-input-otp.entry.js +435 -437
  651. package/dist/esm/ion-input-password-toggle.entry.js +40 -64
  652. package/dist/esm/ion-input.entry.js +349 -309
  653. package/dist/esm/ion-item-option_3.entry.js +136 -511
  654. package/dist/esm/ion-item_8.entry.js +217 -189
  655. package/dist/esm/ion-loading.entry.js +151 -68
  656. package/dist/esm/ion-menu_3.entry.js +181 -137
  657. package/dist/esm/ion-modal.entry.js +528 -458
  658. package/dist/esm/ion-nav_2.entry.js +103 -163
  659. package/dist/esm/ion-picker-column-option.entry.js +39 -39
  660. package/dist/esm/ion-picker-column.entry.js +421 -409
  661. package/dist/esm/ion-picker.entry.js +405 -400
  662. package/dist/esm/ion-popover.entry.js +323 -211
  663. package/dist/esm/ion-progress-bar.entry.js +35 -47
  664. package/dist/esm/ion-radio_2.entry.js +216 -161
  665. package/dist/esm/ion-range.entry.js +307 -249
  666. package/dist/esm/ion-refresher_2.entry.js +174 -121
  667. package/dist/esm/ion-reorder_2.entry.js +59 -53
  668. package/dist/esm/ion-ripple-effect.entry.js +18 -26
  669. package/dist/esm/ion-route_4.entry.js +178 -75
  670. package/dist/esm/ion-searchbar.entry.js +308 -331
  671. package/dist/esm/ion-segment-content.entry.js +2 -2
  672. package/dist/esm/ion-segment-view.entry.js +28 -27
  673. package/dist/esm/ion-segment_2.entry.js +177 -141
  674. package/dist/esm/ion-select-modal.entry.js +49 -69
  675. package/dist/esm/ion-select_3.entry.js +507 -429
  676. package/dist/esm/ion-spinner.entry.js +28 -36
  677. package/dist/esm/ion-split-pane.entry.js +34 -25
  678. package/dist/esm/ion-tab-bar_2.entry.js +115 -178
  679. package/dist/esm/ion-tab_2.entry.js +54 -29
  680. package/dist/esm/ion-text.entry.js +13 -7
  681. package/dist/esm/ion-textarea.entry.js +302 -308
  682. package/dist/esm/ion-toast.entry.js +243 -148
  683. package/dist/esm/ion-toggle.entry.js +184 -187
  684. package/dist/esm/ionic-global-BVB7BrLT.js +151 -0
  685. package/dist/esm/ionic.js +5 -5
  686. package/dist/esm/{ios.transition-C3r-0w96.js → ios.transition-BdhybwLl.js} +14 -20
  687. package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
  688. package/dist/esm/{keyboard-BzbtCDwZ.js → keyboard-Cj8mLJeq.js} +4 -5
  689. package/dist/esm/{keyboard-DYGmALa7.js → keyboard-DAF8GNJ9.js} +3 -3
  690. package/dist/esm/keyboard-controller-DEwoa1ev.js +165 -0
  691. package/dist/esm/loader.js +5 -5
  692. package/dist/esm/{md.transition-CPHOF5T9.js → md.transition-B5lqKGCs.js} +8 -10
  693. package/dist/esm/{overlay-control-label-CODBQrPj.js → overlay-control-label-BSQPZ79H.js} +11 -13
  694. package/dist/esm/{overlays-C1NQMs9y.js → overlays-CjWwtvf1.js} +57 -333
  695. package/dist/esm/{select-option-render-BlKZ2H83.js → select-option-render-C4m76VGH.js} +3 -4
  696. package/dist/esm/slot-mutation-controller-u741eD3Z.js +393 -0
  697. package/dist/esm/{status-tap-BueE8Coq.js → status-tap-DpLhkDWs.js} +3 -4
  698. package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-cz4-lyG3.js} +5 -6
  699. package/dist/esm/theme-byZM6qHV.js +48 -0
  700. package/dist/esm/validity-DJztqcrH.js +17 -0
  701. package/dist/html.html-data.json +146 -2713
  702. package/dist/ionic/index.esm.js +1 -1
  703. package/dist/ionic/ionic.esm.js +1 -1
  704. package/dist/ionic/p-06533d51.entry.js +4 -0
  705. package/dist/ionic/p-08443c08.entry.js +4 -0
  706. package/dist/ionic/p-0FNc80PN.js +4 -0
  707. package/dist/ionic/p-141f5b47.entry.js +4 -0
  708. package/dist/ionic/p-14a5e8f5.entry.js +4 -0
  709. package/dist/ionic/p-19269e04.entry.js +4 -0
  710. package/dist/ionic/p-19abbc33.entry.js +4 -0
  711. package/dist/ionic/p-1edf0573.entry.js +4 -0
  712. package/dist/ionic/p-40424a88.entry.js +4 -0
  713. package/dist/ionic/p-4204184c.entry.js +4 -0
  714. package/dist/ionic/p-4bc3ecdb.entry.js +4 -0
  715. package/dist/ionic/p-4eOQC00Z.js +4 -0
  716. package/dist/ionic/p-4eed9ca1.entry.js +4 -0
  717. package/dist/ionic/p-53bac1c9.entry.js +4 -0
  718. package/dist/ionic/p-5506caeb.entry.js +4 -0
  719. package/dist/ionic/p-5521dc1f.entry.js +4 -0
  720. package/dist/ionic/p-5993a77f.entry.js +4 -0
  721. package/dist/ionic/p-5c3626de.entry.js +4 -0
  722. package/dist/ionic/p-5d3b411c.entry.js +4 -0
  723. package/dist/ionic/p-60576951.entry.js +4 -0
  724. package/dist/ionic/p-7116e558.entry.js +4 -0
  725. package/dist/ionic/p-711a8319.entry.js +4 -0
  726. package/dist/ionic/p-71419a55.entry.js +4 -0
  727. package/dist/ionic/p-79325ffe.entry.js +4 -0
  728. package/dist/ionic/p-7bb3e957.entry.js +4 -0
  729. package/dist/ionic/p-82525fb0.entry.js +4 -0
  730. package/dist/ionic/p-84a38904.entry.js +4 -0
  731. package/dist/ionic/p-865fa114.entry.js +4 -0
  732. package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
  733. package/dist/ionic/p-8f204f1e.entry.js +4 -0
  734. package/dist/ionic/p-9055e897.entry.js +4 -0
  735. package/dist/ionic/p-9658e083.entry.js +4 -0
  736. package/dist/ionic/p-988baee1.entry.js +4 -0
  737. package/dist/ionic/p-9nmHvEvw.js +4 -0
  738. package/dist/ionic/p-B-FxiyeI.js +4 -0
  739. package/dist/ionic/p-BB0LlG4y.js +4 -0
  740. package/dist/ionic/p-BMPN55of.js +4 -0
  741. package/dist/ionic/p-BQ8oNV0v.js +4 -0
  742. package/dist/ionic/p-BSQPZ79H.js +4 -0
  743. package/dist/ionic/p-BhamHSw3.js +4 -0
  744. package/dist/ionic/p-BjvtSsVI.js +4 -0
  745. package/dist/ionic/p-BkfAWuv6.js +4 -0
  746. package/dist/ionic/p-BmVRXR1y.js +4 -0
  747. package/dist/ionic/p-BvabGprD.js +4 -0
  748. package/{components/p-Va26YR7l.js → dist/ionic/p-BwIp10KV.js} +1 -1
  749. package/dist/ionic/p-C-94tAim.js +4 -0
  750. package/dist/ionic/p-C6eME8Ey.js +4 -0
  751. package/dist/ionic/p-CIGNaXM1.js +4 -0
  752. package/dist/ionic/p-CKUuSnDR.js +4 -0
  753. package/dist/ionic/p-CMRtMbJc.js +4 -0
  754. package/dist/ionic/p-CPcPmkGv.js +4 -0
  755. package/dist/ionic/p-CQ_4TirR.js +4 -0
  756. package/dist/ionic/p-CaRuIadB.js +4 -0
  757. package/dist/ionic/p-Cdjxf_yg.js +4 -0
  758. package/dist/ionic/p-ChhhtsGZ.js +5 -0
  759. package/dist/ionic/p-CmKf4pgI.js +4 -0
  760. package/dist/ionic/p-D5t_-oMk.js +4 -0
  761. package/dist/ionic/p-D94b61er.js +4 -0
  762. package/dist/ionic/p-DAztxQR0.js +4 -0
  763. package/dist/ionic/p-DCI3rXQo.js +4 -0
  764. package/dist/ionic/p-DDhtUaaA.js +4 -0
  765. package/dist/ionic/p-DJztqcrH.js +4 -0
  766. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  767. package/dist/ionic/p-DkUB-ROc.js +4 -0
  768. package/dist/ionic/p-Dn0mqQ_R.js +4 -0
  769. package/dist/ionic/p-I3In7hMC.js +4 -0
  770. package/dist/ionic/p-T71k3C35.js +4 -0
  771. package/dist/ionic/p-TXPDHL13.js +4 -0
  772. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  773. package/dist/ionic/p-a71232d6.entry.js +4 -0
  774. package/dist/ionic/p-a73d8742.entry.js +4 -0
  775. package/dist/ionic/p-a8421d18.entry.js +4 -0
  776. package/dist/ionic/p-a8c2c343.entry.js +4 -0
  777. package/dist/ionic/p-acf0a6af.entry.js +4 -0
  778. package/dist/ionic/p-ad98e3ff.entry.js +4 -0
  779. package/dist/ionic/p-af5166f5.entry.js +4 -0
  780. package/dist/ionic/p-bc2bad5f.entry.js +4 -0
  781. package/dist/ionic/p-be08d500.entry.js +4 -0
  782. package/dist/ionic/p-be9a4f51.entry.js +4 -0
  783. package/dist/ionic/p-byZM6qHV.js +4 -0
  784. package/dist/ionic/p-ccc5044d.entry.js +4 -0
  785. package/dist/ionic/p-ce32912b.entry.js +4 -0
  786. package/dist/ionic/p-ded69ceb.entry.js +4 -0
  787. package/dist/ionic/p-e0c6e31e.entry.js +4 -0
  788. package/dist/ionic/p-e1e5b507.entry.js +4 -0
  789. package/dist/ionic/p-e8c3e08a.entry.js +4 -0
  790. package/dist/ionic/p-ed5d540d.entry.js +4 -0
  791. package/dist/ionic/p-f046aa37.entry.js +4 -0
  792. package/dist/ionic/p-f2802440.entry.js +4 -0
  793. package/dist/ionic/p-f402f5a4.entry.js +4 -0
  794. package/dist/ionic/p-fe1bfbcf.entry.js +4 -0
  795. package/dist/types/components/accordion/accordion.d.ts +3 -6
  796. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  797. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  798. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  799. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  800. package/dist/types/components/alert/alert.d.ts +2 -3
  801. package/dist/types/components/app/app.d.ts +5 -4
  802. package/dist/types/components/avatar/avatar.d.ts +0 -32
  803. package/dist/types/components/back-button/back-button.d.ts +1 -2
  804. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  805. package/dist/types/components/badge/badge.d.ts +1 -34
  806. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  807. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  808. package/dist/types/components/button/button.d.ts +8 -23
  809. package/dist/types/components/buttons/buttons.d.ts +1 -5
  810. package/dist/types/components/card/card.d.ts +1 -8
  811. package/dist/types/components/card-content/card-content.d.ts +1 -2
  812. package/dist/types/components/card-header/card-header.d.ts +2 -3
  813. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  814. package/dist/types/components/card-title/card-title.d.ts +1 -2
  815. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  816. package/dist/types/components/chip/chip.d.ts +1 -26
  817. package/dist/types/components/col/col.d.ts +5 -52
  818. package/dist/types/components/content/content.d.ts +0 -3
  819. package/dist/types/components/datetime/datetime.d.ts +1 -26
  820. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  821. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  822. package/dist/types/components/fab/fab.d.ts +0 -4
  823. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  824. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  825. package/dist/types/components/footer/footer.d.ts +3 -20
  826. package/dist/types/components/grid/grid.d.ts +0 -4
  827. package/dist/types/components/header/header.d.ts +3 -26
  828. package/dist/types/components/header/header.utils.d.ts +5 -4
  829. package/dist/types/components/img/img.d.ts +1 -2
  830. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  831. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  832. package/dist/types/components/input/input.d.ts +17 -40
  833. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  834. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  835. package/dist/types/components/item/item.d.ts +4 -11
  836. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  837. package/dist/types/components/item-group/item-group.d.ts +0 -4
  838. package/dist/types/components/item-option/item-option.d.ts +1 -18
  839. package/dist/types/components/item-options/item-options.d.ts +0 -4
  840. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  841. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  842. package/dist/types/components/label/label.d.ts +1 -2
  843. package/dist/types/components/list/list.d.ts +1 -15
  844. package/dist/types/components/list-header/list-header.d.ts +1 -2
  845. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  846. package/dist/types/components/loading/loading.d.ts +2 -3
  847. package/dist/types/components/menu/menu.d.ts +0 -3
  848. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  849. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  850. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  851. package/dist/types/components/modal/modal-interface.d.ts +16 -4
  852. package/dist/types/components/modal/modal.d.ts +12 -15
  853. package/dist/types/components/nav/nav-interface.d.ts +1 -10
  854. package/dist/types/components/nav/nav.d.ts +3 -27
  855. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  856. package/dist/types/components/note/note.d.ts +1 -2
  857. package/dist/types/components/picker/picker.d.ts +1 -2
  858. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  859. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  860. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  861. package/dist/types/components/popover/popover.d.ts +5 -6
  862. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  863. package/dist/types/components/radio/radio.d.ts +1 -2
  864. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  865. package/dist/types/components/range/range.d.ts +1 -2
  866. package/dist/types/components/refresher/refresher.d.ts +1 -2
  867. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  868. package/dist/types/components/reorder/reorder.d.ts +0 -9
  869. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  870. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  871. package/dist/types/components/route/route.d.ts +1 -5
  872. package/dist/types/components/router/router.d.ts +0 -4
  873. package/dist/types/components/router-link/router-link.d.ts +0 -4
  874. package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
  875. package/dist/types/components/row/row.d.ts +0 -4
  876. package/dist/types/components/searchbar/searchbar.d.ts +11 -57
  877. package/dist/types/components/segment/segment.d.ts +1 -2
  878. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  879. package/dist/types/components/select/select.d.ts +26 -55
  880. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  881. package/dist/types/components/select-option/select-option.d.ts +4 -7
  882. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  883. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  884. package/dist/types/components/spinner/spinner.d.ts +0 -15
  885. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  886. package/dist/types/components/tab/tab.d.ts +0 -4
  887. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
  888. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
  889. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  890. package/dist/types/components/tabs/tabs.d.ts +0 -3
  891. package/dist/types/components/text/text.d.ts +1 -2
  892. package/dist/types/components/textarea/textarea.d.ts +16 -58
  893. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  894. package/dist/types/components/title/title.d.ts +0 -4
  895. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  896. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  897. package/dist/types/components/toast/toast.d.ts +2 -19
  898. package/dist/types/components/toggle/toggle.d.ts +1 -15
  899. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  900. package/dist/types/components.d.ts +263 -2171
  901. package/dist/types/global/ionic-global.d.ts +2 -28
  902. package/dist/types/index.d.ts +1 -1
  903. package/dist/types/interface.d.ts +0 -4
  904. package/dist/types/utils/config.d.ts +3 -114
  905. package/dist/types/utils/focus-trap.d.ts +1 -1
  906. package/dist/types/utils/focus-visible.d.ts +0 -13
  907. package/dist/types/utils/forms/index.d.ts +1 -1
  908. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  909. package/dist/types/utils/forms/validity.d.ts +0 -7
  910. package/dist/types/utils/helpers.d.ts +0 -22
  911. package/dist/types/utils/logging/index.d.ts +2 -1
  912. package/dist/types/utils/overlay-control-label.d.ts +9 -11
  913. package/dist/types/utils/overlays-interface.d.ts +1 -31
  914. package/dist/types/utils/overlays.d.ts +12 -10
  915. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  916. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  917. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  918. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  919. package/dist/types/utils/theme.d.ts +0 -9
  920. package/hydrate/index.js +10577 -12217
  921. package/hydrate/index.mjs +10577 -12217
  922. package/package.json +56 -17
  923. package/components/ion-divider.d.ts +0 -11
  924. package/components/ion-divider.js +0 -4
  925. package/components/ion-gallery-item.d.ts +0 -11
  926. package/components/ion-gallery-item.js +0 -4
  927. package/components/ion-gallery.d.ts +0 -11
  928. package/components/ion-gallery.js +0 -4
  929. package/components/ion-picker-legacy-column.d.ts +0 -11
  930. package/components/ion-picker-legacy-column.js +0 -4
  931. package/components/ion-picker-legacy.d.ts +0 -11
  932. package/components/ion-picker-legacy.js +0 -4
  933. package/components/p-6hUZIMBp.js +0 -4
  934. package/components/p-9mfpAwJh.js +0 -4
  935. package/components/p-B2aAAEfp.js +0 -4
  936. package/components/p-B2lpqDWK.js +0 -4
  937. package/components/p-BDoEcs72.js +0 -4
  938. package/components/p-BDqjX7Z_.js +0 -4
  939. package/components/p-BE21dB_a.js +0 -4
  940. package/components/p-BFpXpzD-.js +0 -4
  941. package/components/p-BTEOs1at.js +0 -4
  942. package/components/p-BUNIyvqe.js +0 -4
  943. package/components/p-BYSs-jZz.js +0 -4
  944. package/components/p-BYoGvMgh.js +0 -4
  945. package/components/p-BYrCPOBM.js +0 -4
  946. package/components/p-BbVhJs-a.js +0 -4
  947. package/components/p-BhRXIcSN.js +0 -4
  948. package/components/p-BjW8SOqw.js +0 -4
  949. package/components/p-BsiHrVPa.js +0 -4
  950. package/components/p-BwKpO3Is.js +0 -4
  951. package/components/p-Bz8jnuiy.js +0 -4
  952. package/components/p-C-Ea1l5K.js +0 -4
  953. package/components/p-C3X10Pc6.js +0 -4
  954. package/components/p-C53feagD.js +0 -4
  955. package/components/p-CA4M5WkT.js +0 -4
  956. package/components/p-CH6jbAEI.js +0 -4
  957. package/components/p-CJE5t2qs.js +0 -4
  958. package/components/p-CODBQrPj.js +0 -4
  959. package/components/p-CUbb1HkU.js +0 -4
  960. package/components/p-CVYFPBs-.js +0 -4
  961. package/components/p-CVoLDZ7z.js +0 -4
  962. package/components/p-CZrORZXS.js +0 -4
  963. package/components/p-Cc3oC60a.js +0 -4
  964. package/components/p-Cl0B-RWe.js +0 -4
  965. package/components/p-CmoUesXp.js +0 -4
  966. package/components/p-CyNW8ypn.js +0 -4
  967. package/components/p-CzxyxYID.js +0 -4
  968. package/components/p-D0Iqw6OZ.js +0 -4
  969. package/components/p-D0LT3Z3i.js +0 -4
  970. package/components/p-D1t981Ih.js +0 -4
  971. package/components/p-D6tqrIYY.js +0 -4
  972. package/components/p-D9C5yWpF.js +0 -4
  973. package/components/p-DCRXgAoM.js +0 -4
  974. package/components/p-DL5wyRub.js +0 -4
  975. package/components/p-DQlXUUDh.js +0 -4
  976. package/components/p-DRWN7QM2.js +0 -4
  977. package/components/p-DaJxRxSQ.js +0 -4
  978. package/components/p-DbmfFkd1.js +0 -4
  979. package/components/p-Dhi5xtNS.js +0 -4
  980. package/components/p-DnwLgh9U.js +0 -4
  981. package/components/p-DoZB3DcY.js +0 -4
  982. package/components/p-DrrpZB81.js +0 -4
  983. package/components/p-DrzWRqnG.js +0 -4
  984. package/components/p-DylrHLJF.js +0 -4
  985. package/components/p-Dypq4kXE.js +0 -4
  986. package/components/p-DzeMJvWL.js +0 -4
  987. package/components/p-Dzk4Tr0X.js +0 -4
  988. package/components/p-Rkm2AOZ2.js +0 -4
  989. package/components/p-UYngqo1f.js +0 -4
  990. package/components/p-asUhrzOB.js +0 -4
  991. package/components/p-fIOYmaqA.js +0 -4
  992. package/components/p-jlwpz7Ms.js +0 -4
  993. package/components/p-kInyVu79.js +0 -4
  994. package/components/p-miSYSxcc.js +0 -4
  995. package/components/p-paDbTUL9.js +0 -4
  996. package/components/p-vXpMhGrs.js +0 -4
  997. package/components/p-znZTPd7u.js +0 -4
  998. package/css/ionic/bundle.ionic.css +0 -1
  999. package/css/ionic/bundle.ionic.css.map +0 -1
  1000. package/css/ionic/core.ionic.css +0 -1
  1001. package/css/ionic/core.ionic.css.map +0 -1
  1002. package/css/ionic/global.bundle.ionic.css +0 -1
  1003. package/css/ionic/global.bundle.ionic.css.map +0 -1
  1004. package/css/ionic/ionic-swiper.ionic.css +0 -1
  1005. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  1006. package/css/ionic/link.ionic.css +0 -1
  1007. package/css/ionic/link.ionic.css.map +0 -1
  1008. package/css/ionic/structure.ionic.css +0 -1
  1009. package/css/ionic/structure.ionic.css.map +0 -1
  1010. package/css/ionic/typography.ionic.css +0 -1
  1011. package/css/ionic/typography.ionic.css.map +0 -1
  1012. package/css/ionic/utils.bundle.ionic.css +0 -1
  1013. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  1014. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  1015. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  1016. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  1017. package/dist/cjs/clear-button-press-controller-2hAy_qdm.js +0 -45
  1018. package/dist/cjs/input.utils-CYZZsbdf.js +0 -150
  1019. package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3242
  1020. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  1021. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
  1022. package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
  1023. package/dist/cjs/ionic-global-DvEcO0tQ.js +0 -519
  1024. package/dist/cjs/list-a-7GSA6K.js +0 -8
  1025. package/dist/cjs/notch-controller-CFlPw7ER.js +0 -155
  1026. package/dist/cjs/scroll-hide-controller-DAf_DwKc.js +0 -345
  1027. package/dist/cjs/validity-QmuwEptc.js +0 -51
  1028. package/dist/cjs/x-BTF99yFH.js +0 -8
  1029. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  1030. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  1031. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
  1032. package/dist/collection/components/alert/alert.ionic.css +0 -787
  1033. package/dist/collection/components/avatar/avatar.ionic.css +0 -385
  1034. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  1035. package/dist/collection/components/badge/badge.ionic.css +0 -272
  1036. package/dist/collection/components/button/button.ionic.css +0 -644
  1037. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  1038. package/dist/collection/components/card/card.ionic.css +0 -144
  1039. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  1040. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  1041. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  1042. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
  1043. package/dist/collection/components/chip/chip.ionic.css +0 -217
  1044. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  1045. package/dist/collection/components/divider/divider.ionic.css +0 -148
  1046. package/dist/collection/components/divider/divider.ios.css +0 -87
  1047. package/dist/collection/components/divider/divider.js +0 -94
  1048. package/dist/collection/components/divider/divider.md.css +0 -87
  1049. package/dist/collection/components/footer/footer-interface.js +0 -1
  1050. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  1051. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  1052. package/dist/collection/components/gallery/gallery.css +0 -15
  1053. package/dist/collection/components/gallery/gallery.js +0 -679
  1054. package/dist/collection/components/gallery/test/utils.js +0 -100
  1055. package/dist/collection/components/gallery-item/gallery-item.css +0 -49
  1056. package/dist/collection/components/gallery-item/gallery-item.js +0 -99
  1057. package/dist/collection/components/header/header-interface.js +0 -1
  1058. package/dist/collection/components/header/header.ionic.css +0 -250
  1059. package/dist/collection/components/input/input.ionic.css +0 -891
  1060. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  1061. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  1062. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  1063. package/dist/collection/components/item/item.ionic.css +0 -496
  1064. package/dist/collection/components/item-option/item-option.ionic.css +0 -277
  1065. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  1066. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  1067. package/dist/collection/components/list/list.ionic.css +0 -212
  1068. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  1069. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  1070. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  1071. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  1072. package/dist/collection/components/modal/modal.ionic.css +0 -255
  1073. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  1074. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  1075. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  1076. package/dist/collection/components/picker-legacy/picker.ios.css +0 -312
  1077. package/dist/collection/components/picker-legacy/picker.js +0 -891
  1078. package/dist/collection/components/picker-legacy/picker.md.css +0 -299
  1079. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
  1080. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  1081. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
  1082. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  1083. package/dist/collection/components/popover/popover.ionic.css +0 -290
  1084. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  1085. package/dist/collection/components/radio/radio.ionic.css +0 -422
  1086. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  1087. package/dist/collection/components/range/range.ionic.css +0 -567
  1088. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  1089. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
  1090. package/dist/collection/components/segment/segment.ionic.css +0 -115
  1091. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
  1092. package/dist/collection/components/select/select.ionic.css +0 -809
  1093. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
  1094. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
  1095. package/dist/collection/components/spinner/spinner.native.css +0 -199
  1096. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
  1097. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
  1098. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  1099. package/dist/collection/components/title/title.ionic.css +0 -127
  1100. package/dist/collection/components/toast/toast.ionic.css +0 -394
  1101. package/dist/collection/components/toggle/toggle.ionic.css +0 -512
  1102. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1103. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1104. package/dist/collection/utils/css-value-validation.js +0 -39
  1105. package/dist/collection/utils/forms/clear-button-press-controller.js +0 -40
  1106. package/dist/collection/utils/scroll-hide-controller.js +0 -178
  1107. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1108. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1109. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1110. package/dist/esm/clear-button-press-controller-C79TPm5p.js +0 -43
  1111. package/dist/esm/input.utils-fs4B7WL5.js +0 -147
  1112. package/dist/esm/ion-datetime_3.entry.js +0 -3238
  1113. package/dist/esm/ion-divider.entry.js +0 -49
  1114. package/dist/esm/ion-gallery-item.entry.js +0 -57
  1115. package/dist/esm/ion-gallery.entry.js +0 -605
  1116. package/dist/esm/ionic-global-CEwbmRLz.js +0 -508
  1117. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1118. package/dist/esm/notch-controller-CsbpmbOz.js +0 -153
  1119. package/dist/esm/scroll-hide-controller-CfbtPBWv.js +0 -342
  1120. package/dist/esm/theme-DaJxRxSQ.js +0 -67
  1121. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1122. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1123. package/dist/ionic/p--sroV-k-.js +0 -4
  1124. package/dist/ionic/p-00731d20.entry.js +0 -4
  1125. package/dist/ionic/p-03c20a50.entry.js +0 -4
  1126. package/dist/ionic/p-03ec6673.entry.js +0 -4
  1127. package/dist/ionic/p-0405ec57.entry.js +0 -4
  1128. package/dist/ionic/p-04f16322.entry.js +0 -4
  1129. package/dist/ionic/p-09123f89.entry.js +0 -4
  1130. package/dist/ionic/p-15028853.entry.js +0 -4
  1131. package/dist/ionic/p-16c5db90.entry.js +0 -4
  1132. package/dist/ionic/p-1d1dfb68.entry.js +0 -4
  1133. package/dist/ionic/p-231572a0.entry.js +0 -4
  1134. package/dist/ionic/p-2740db6e.entry.js +0 -4
  1135. package/dist/ionic/p-2a6d4601.entry.js +0 -4
  1136. package/dist/ionic/p-2d8fe33c.entry.js +0 -4
  1137. package/dist/ionic/p-2dbc50d9.entry.js +0 -4
  1138. package/dist/ionic/p-32d3095c.entry.js +0 -4
  1139. package/dist/ionic/p-356cd619.entry.js +0 -4
  1140. package/dist/ionic/p-391bdb60.entry.js +0 -4
  1141. package/dist/ionic/p-3b2ab5b4.entry.js +0 -4
  1142. package/dist/ionic/p-4e3e750a.entry.js +0 -4
  1143. package/dist/ionic/p-4fee0df6.entry.js +0 -4
  1144. package/dist/ionic/p-547d010c.entry.js +0 -4
  1145. package/dist/ionic/p-54895118.entry.js +0 -4
  1146. package/dist/ionic/p-6163d04d.entry.js +0 -4
  1147. package/dist/ionic/p-679c1448.entry.js +0 -4
  1148. package/dist/ionic/p-6de524e5.entry.js +0 -4
  1149. package/dist/ionic/p-764d7ea2.entry.js +0 -4
  1150. package/dist/ionic/p-7k7Q1A38.js +0 -4
  1151. package/dist/ionic/p-81BMEE8Q.js +0 -4
  1152. package/dist/ionic/p-8d6d7acb.entry.js +0 -4
  1153. package/dist/ionic/p-96732fe2.entry.js +0 -4
  1154. package/dist/ionic/p-96c4c1b9.entry.js +0 -4
  1155. package/dist/ionic/p-9745f518.entry.js +0 -4
  1156. package/dist/ionic/p-9a40af3c.entry.js +0 -4
  1157. package/dist/ionic/p-9e725104.entry.js +0 -4
  1158. package/dist/ionic/p-B4Kq2YNk.js +0 -4
  1159. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1160. package/dist/ionic/p-BTEOs1at.js +0 -4
  1161. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1162. package/dist/ionic/p-BbWo-T8F.js +0 -4
  1163. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1164. package/dist/ionic/p-Bvz8PHo5.js +0 -4
  1165. package/dist/ionic/p-BwKpO3Is.js +0 -4
  1166. package/dist/ionic/p-C0EQceqV.js +0 -5
  1167. package/dist/ionic/p-C1_a9uRb.js +0 -4
  1168. package/dist/ionic/p-C53feagD.js +0 -4
  1169. package/dist/ionic/p-C6WD6qSF.js +0 -4
  1170. package/dist/ionic/p-C7urd_wE.js +0 -4
  1171. package/dist/ionic/p-CCgRIJJv.js +0 -4
  1172. package/dist/ionic/p-CEkwLb3L.js +0 -4
  1173. package/dist/ionic/p-CGFf6My7.js +0 -4
  1174. package/dist/ionic/p-CLUwRxij.js +0 -4
  1175. package/dist/ionic/p-CODBQrPj.js +0 -4
  1176. package/dist/ionic/p-CP_sVwEm.js +0 -4
  1177. package/dist/ionic/p-CSMWpRc0.js +0 -4
  1178. package/dist/ionic/p-CYYo93al.js +0 -4
  1179. package/dist/ionic/p-Cipl19Qe.js +0 -4
  1180. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  1181. package/dist/ionic/p-CnIzWLAn.js +0 -4
  1182. package/dist/ionic/p-Cvvva6Z7.js +0 -4
  1183. package/dist/ionic/p-D1t981Ih.js +0 -4
  1184. package/dist/ionic/p-DINFwXlp.js +0 -4
  1185. package/dist/ionic/p-DIvCXVmD.js +0 -4
  1186. package/dist/ionic/p-DTsDGZPd.js +0 -4
  1187. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1188. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1189. package/dist/ionic/p-DtQgCTtW.js +0 -4
  1190. package/dist/ionic/p-DuRx6DeQ.js +0 -4
  1191. package/dist/ionic/p-YGLqXqFd.js +0 -4
  1192. package/dist/ionic/p-YIsE5bNG.js +0 -4
  1193. package/dist/ionic/p-a61c2ace.entry.js +0 -4
  1194. package/dist/ionic/p-abb516e3.entry.js +0 -4
  1195. package/dist/ionic/p-b54edee6.entry.js +0 -4
  1196. package/dist/ionic/p-c076ac5c.entry.js +0 -4
  1197. package/dist/ionic/p-c4ff25cb.entry.js +0 -4
  1198. package/dist/ionic/p-c7279756.entry.js +0 -4
  1199. package/dist/ionic/p-c7ebed50.entry.js +0 -4
  1200. package/dist/ionic/p-cd0037e4.entry.js +0 -4
  1201. package/dist/ionic/p-d261938d.entry.js +0 -4
  1202. package/dist/ionic/p-d33dfc12.entry.js +0 -4
  1203. package/dist/ionic/p-d7764330.entry.js +0 -4
  1204. package/dist/ionic/p-defb23a2.entry.js +0 -4
  1205. package/dist/ionic/p-df642ef5.entry.js +0 -4
  1206. package/dist/ionic/p-e2a35249.entry.js +0 -4
  1207. package/dist/ionic/p-e2b952ef.entry.js +0 -4
  1208. package/dist/ionic/p-e77cfd1e.entry.js +0 -4
  1209. package/dist/ionic/p-ecb9d3d3.entry.js +0 -4
  1210. package/dist/ionic/p-efd13adf.entry.js +0 -4
  1211. package/dist/ionic/p-f0904c1d.entry.js +0 -4
  1212. package/dist/ionic/p-f33689f7.entry.js +0 -4
  1213. package/dist/ionic/p-f693efe9.entry.js +0 -4
  1214. package/dist/ionic/p-f788396b.entry.js +0 -4
  1215. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1216. package/dist/ionic/p-fa16fad8.entry.js +0 -4
  1217. package/dist/ionic/p-lMb_45ax.js +0 -4
  1218. package/dist/ionic/p-oadJNPuo.js +0 -4
  1219. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1220. package/dist/ionic/p-wNjWCZVO.js +0 -4
  1221. package/dist/types/components/divider/divider.d.ts +0 -20
  1222. package/dist/types/components/footer/footer-interface.d.ts +0 -1
  1223. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1224. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1225. package/dist/types/components/gallery/gallery.d.ts +0 -218
  1226. package/dist/types/components/gallery/test/utils.d.ts +0 -3
  1227. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
  1228. package/dist/types/components/header/header-interface.d.ts +0 -1
  1229. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1230. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1231. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  1232. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  1233. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  1234. package/dist/types/components/picker-legacy/picker.d.ts +0 -159
  1235. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  1236. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  1237. package/dist/types/utils/css-value-validation.d.ts +0 -21
  1238. package/dist/types/utils/forms/clear-button-press-controller.d.ts +0 -20
  1239. package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
  1240. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,679 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { Host, h } from "@stencil/core";
5
- import { isCssVariable, isValidLengthPercentage } from "../../utils/css-value-validation";
6
- import { raf } from "../../utils/helpers";
7
- import { printIonWarning } from "../../utils/logging/index";
8
- import { getIonTheme } from "../../global/ionic-global";
9
- import { DEFAULT_COLUMNS, DEFAULT_GAP } from "./gallery-constants";
10
- // TODO(FW-7285): Replace with global breakpoints
11
- const BREAKPOINTS = {
12
- xs: 0,
13
- sm: 576,
14
- md: 768,
15
- lg: 992,
16
- xl: 1200,
17
- xxl: 1400,
18
- };
19
- const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
20
- /**
21
- * The tag of the component used to wrap each gallery item.
22
- */
23
- const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
24
- /**
25
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
26
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
27
- *
28
- * @slot - One or more `ion-gallery-item` components, placed in a responsive
29
- * gallery layout.
30
- */
31
- export class Gallery {
32
- constructor() {
33
- // Keep track of whether we've warned about invalid columns, invalid gap,
34
- // and unused order properties to avoid duplicate warnings on screen resize.
35
- this.hasWarnedInvalidColumns = false;
36
- this.hasWarnedInvalidGap = false;
37
- this.hasWarnedUnusedOrder = false;
38
- this.hasWarnedInvalidItems = false;
39
- /**
40
- * The visual layout of the gallery. When `uniform`, rows take up the height
41
- * of the tallest item and are spaced evenly across the gallery. Additionally,
42
- * items will have an aspect ratio of 1/1, forcing them to be square unless a
43
- * height is explicitly set. When `masonry`, items will be positioned under each
44
- * other with only the specified gap between them.
45
- */
46
- this.layout = 'uniform';
47
- /**
48
- * The number of columns to display. Can be set as a number or an object of
49
- * breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
50
- */
51
- this.columns = DEFAULT_COLUMNS;
52
- /**
53
- * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
54
- * values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
55
- * CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel
56
- * values). Can also be set as a breakpoint map
57
- * (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
58
- * space-separated values or CSS keyword values like `inherit`, `auto`, etc.
59
- */
60
- this.gap = DEFAULT_GAP;
61
- /**
62
- * Listen for the slotchange event on the slot. When the gallery's items are
63
- * added or removed, re-collapse wrappers, re-observe items for size changes,
64
- * and recompute the masonry grid.
65
- */
66
- this.onSlotChange = () => {
67
- this.collapseWrappers();
68
- this.observeResizes();
69
- this.scheduleMasonryResize();
70
- };
71
- /**
72
- * Measure the host and children, then compute masonry placement.
73
- */
74
- this.resizeMasonryGrid = () => {
75
- this.masonryRaf = undefined;
76
- if (this.layout !== 'masonry') {
77
- this.clearMasonryStyles();
78
- return;
79
- }
80
- const width = this.el.getBoundingClientRect().width;
81
- const columns = this.getColumnsForWidth(width);
82
- // Skip masonry placement when width/columns does not resolve
83
- // to a valid breakpoint column count.
84
- if (columns === undefined) {
85
- return;
86
- }
87
- const styles = getComputedStyle(this.el);
88
- const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
89
- const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
90
- const items = this.getItems();
91
- this.layoutMasonry(items, rowHeight, rowGap, columns);
92
- };
93
- }
94
- onColumnsOrGapChanged() {
95
- this.syncResponsiveLayout();
96
- }
97
- onLayoutOrOrderChanged() {
98
- this.syncResponsiveLayout();
99
- this.syncItemLayout();
100
- // Wait until the next animation frame to warn about unused order
101
- // to avoid erroneous warnings when the layout and order are updated
102
- // in the same frame.
103
- raf(() => {
104
- this.warnUnusedOrder();
105
- });
106
- }
107
- /**
108
- * Sync the current layout with each item when the gallery's `layout`
109
- * changes.
110
- */
111
- syncItemLayout() {
112
- this.getItems().forEach((item) => {
113
- item.syncGalleryLayout();
114
- });
115
- }
116
- componentDidLoad() {
117
- this.collapseWrappers();
118
- this.updateResponsiveStyles(true);
119
- this.resizeObserver = new ResizeObserver(() => {
120
- this.updateResponsiveStyles();
121
- this.scheduleMasonryResize();
122
- });
123
- this.observeResizes();
124
- this.scheduleMasonryResize();
125
- this.warnUnusedOrder();
126
- }
127
- disconnectedCallback() {
128
- var _a;
129
- if (this.masonryRaf !== undefined) {
130
- cancelAnimationFrame(this.masonryRaf);
131
- this.masonryRaf = undefined;
132
- }
133
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
134
- this.resizeObserver = undefined;
135
- }
136
- /**
137
- * Observe the host and each item for size changes. Items are observed in
138
- * addition to the host so masonry placement is recomputed when an item's
139
- * rendered height changes — most importantly when a dynamically added
140
- * `ion-gallery-item` finishes hydrating, which (unlike an `<img>`) emits no
141
- * `load` event and does not change the host's measured size while collapsed.
142
- */
143
- observeResizes() {
144
- const observer = this.resizeObserver;
145
- if (observer === undefined) {
146
- return;
147
- }
148
- observer.disconnect();
149
- observer.observe(this.el);
150
- this.getItems().forEach((item) => observer.observe(item));
151
- }
152
- /**
153
- * Listen for the load event on child elements.
154
- * When the layout is `masonry`, this listener is used to schedule a resize
155
- * of the masonry grid when the child elements load. This is useful for when
156
- * images take time to load.
157
- */
158
- onChildLoad(ev) {
159
- if (this.layout !== 'masonry') {
160
- return;
161
- }
162
- const target = ev.target;
163
- if (target instanceof Node && this.el.contains(target)) {
164
- this.scheduleMasonryResize();
165
- }
166
- }
167
- /**
168
- * Recompute the gallery column and gap variables and masonry placement when
169
- * columns, gap, layout, or order change.
170
- */
171
- syncResponsiveLayout() {
172
- this.updateResponsiveStyles(true);
173
- this.scheduleMasonryResize();
174
- }
175
- /**
176
- * Batch masonry measurements to a single animation frame.
177
- * This avoids repeated sync layouts during rapid resize/load/slot changes.
178
- */
179
- scheduleMasonryResize() {
180
- if (this.layout !== 'masonry') {
181
- this.clearMasonryStyles();
182
- return;
183
- }
184
- if (this.masonryRaf !== undefined) {
185
- cancelAnimationFrame(this.masonryRaf);
186
- }
187
- this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
188
- }
189
- /**
190
- * Normalize a single column value (`columns` as a number, string, or one entry from
191
- * a `columns` breakpoint map) to a positive integer. Returns `undefined` when
192
- * the input cannot be interpreted as a finite number.
193
- */
194
- sanitizeColumns(columns) {
195
- if (columns === undefined) {
196
- return undefined;
197
- }
198
- const numericColumns = typeof columns === 'number' ? columns : Number(columns);
199
- if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
200
- return undefined;
201
- }
202
- return numericColumns;
203
- }
204
- /**
205
- * Normalize a single gap value (`gap` as a number, a string such as a CSS
206
- * length-percentage or `var()` reference, or one entry from a `gap`
207
- * breakpoint map) to a CSS length string. Returns `undefined` when the
208
- * input cannot be interpreted as a valid CSS length or `var()` reference.
209
- */
210
- sanitizeGap(gap) {
211
- if (gap === undefined) {
212
- return undefined;
213
- }
214
- const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
215
- if (normalizedGap === '' || typeof normalizedGap === 'object') {
216
- return undefined;
217
- }
218
- const numericGap = Number(normalizedGap);
219
- if (Number.isFinite(numericGap)) {
220
- return numericGap < 0 ? undefined : `${numericGap}px`;
221
- }
222
- if (typeof normalizedGap !== 'string') {
223
- return undefined;
224
- }
225
- if (isCssVariable(normalizedGap)) {
226
- return normalizedGap;
227
- }
228
- const isValidCssLength = isValidLengthPercentage(normalizedGap);
229
- return isValidCssLength ? normalizedGap : undefined;
230
- }
231
- /**
232
- * Check if the value is a breakpoint map object.
233
- */
234
- isBreakpointMap(value) {
235
- return typeof value === 'object' && value !== null && !Array.isArray(value);
236
- }
237
- /**
238
- * Check if the breakpoint map has any invalid values for the provided
239
- * sanitizer. A breakpoint map is invalid when there are no valid breakpoint
240
- * keys set (e.g. `{}` or `{ colums: 3 }`), or when a value under a
241
- * breakpoint key fails the sanitizer (e.g. `{ xs: -3 }`, `{ sm: 'foo' }`).
242
- */
243
- hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
244
- let hasBreakpointEntry = false;
245
- for (const breakpoint of BREAKPOINT_ORDER) {
246
- const value = breakpointMap[breakpoint];
247
- if (value !== undefined) {
248
- hasBreakpointEntry = true;
249
- if (sanitizeValue(value) === undefined) {
250
- return true;
251
- }
252
- }
253
- }
254
- return !hasBreakpointEntry;
255
- }
256
- /**
257
- * Resolve a responsive value from a breakpoint map.
258
- * Uses a breakpoint-specific default when custom values are missing/invalid.
259
- */
260
- resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
261
- let resolvedValue;
262
- for (const bp of BREAKPOINT_ORDER) {
263
- const providedValue = breakpointMap[bp];
264
- const sanitizedProvided = sanitizeProvided(providedValue);
265
- const sanitizedDefault = getSanitizedDefault(bp);
266
- const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
267
- if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
268
- resolvedValue = resolved;
269
- }
270
- }
271
- return resolvedValue;
272
- }
273
- /**
274
- * Get the columns from a responsive breakpoint map.
275
- * Returns the columns for the last matching breakpoint.
276
- */
277
- getColumnsFromBreakpointMap(width, breakpointMap) {
278
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
279
- }
280
- /**
281
- * Get the gap from a responsive breakpoint map.
282
- * Returns the gap for the last matching breakpoint.
283
- */
284
- getGapFromBreakpointMap(width, breakpointMap) {
285
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
286
- }
287
- /**
288
- * Warn about an invalid columns value when it is set to a negative number,
289
- * an empty breakpoint map, a map with no supported breakpoint keys,
290
- * or a map with invalid breakpoint values.
291
- */
292
- warnInvalidColumns(columns) {
293
- if (this.hasWarnedInvalidColumns) {
294
- return;
295
- }
296
- printIonWarning(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(columns)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`, this.el);
297
- this.hasWarnedInvalidColumns = true;
298
- }
299
- /**
300
- * Warn about an invalid gap value when it is set to a negative number,
301
- * an empty breakpoint map, a map with no supported breakpoint keys,
302
- * or a map with invalid breakpoint values.
303
- */
304
- warnInvalidGap(gap) {
305
- if (this.hasWarnedInvalidGap) {
306
- return;
307
- }
308
- printIonWarning(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(gap)}). Expected a non-negative number, CSS length string, CSS variable (e.g. var(--app-gap)), or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`, this.el);
309
- this.hasWarnedInvalidGap = true;
310
- }
311
- /**
312
- * Warn when `order` is explicitly set while layout is `uniform`.
313
- */
314
- warnUnusedOrder() {
315
- const { layout } = this;
316
- const order = this.order == null ? undefined : this.order;
317
- if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
318
- return;
319
- }
320
- printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
321
- this.hasWarnedUnusedOrder = true;
322
- }
323
- /**
324
- * Resolve the active columns value for the current width. Falls back to
325
- * the default responsive columns when the provided prop is invalid.
326
- */
327
- getColumnsForWidth(width) {
328
- const { columns } = this;
329
- const isBreakpointColumns = this.isBreakpointMap(columns);
330
- const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
331
- const sanitizedColumns = isBreakpointColumns
332
- ? this.getColumnsFromBreakpointMap(width, columns)
333
- : this.sanitizeColumns(columns);
334
- if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
335
- this.warnInvalidColumns(columns);
336
- }
337
- if (sanitizedColumns !== undefined) {
338
- return sanitizedColumns;
339
- }
340
- return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
341
- }
342
- /**
343
- * Resolve the active gap value for the current width.
344
- */
345
- getGapForWidth(width) {
346
- const { gap } = this;
347
- const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
348
- const isBreakpointGap = this.isBreakpointMap(providedGap);
349
- const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
350
- const sanitizedGap = isBreakpointGap
351
- ? this.getGapFromBreakpointMap(width, providedGap)
352
- : this.sanitizeGap(providedGap);
353
- if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
354
- this.warnInvalidGap(providedGap);
355
- }
356
- if (sanitizedGap !== undefined) {
357
- return sanitizedGap;
358
- }
359
- return this.sanitizeGap(DEFAULT_GAP);
360
- }
361
- /**
362
- * Update the responsive styles for the gallery. This is used to update
363
- * the columns and gap when the component width changes.
364
- */
365
- updateResponsiveStyles(force = false) {
366
- const width = this.el.getBoundingClientRect().width;
367
- // Only update the columns if the component width has changed by more than
368
- // 1px or if the force flag is true. This prevents unnecessary re-renders
369
- // when the component width has not changed.
370
- if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
371
- return;
372
- }
373
- this.lastWidth = width;
374
- const columns = this.getColumnsForWidth(width);
375
- this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
376
- const gap = this.getGapForWidth(width);
377
- this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
378
- }
379
- /**
380
- * Return the `ion-gallery-item` elements to place in the grid. Each item is a
381
- * direct grid cell, whether a direct child or nested inside a pass-through
382
- * wrapper (e.g. a layout `<div>`). Items belonging to a nested `ion-gallery`
383
- * are excluded.
384
- */
385
- getItems() {
386
- return Array.from(this.el.querySelectorAll(GALLERY_ITEM_SELECTOR)).filter((item) => item.closest('ion-gallery') === this.el);
387
- }
388
- /**
389
- * Collapse each pass-through wrapper's box with `display: contents` so its
390
- * items participate in the gallery grid. Restore the box of a wrapper that
391
- * no longer contains items, and warn about children that contain none.
392
- */
393
- collapseWrappers() {
394
- const items = this.getItems();
395
- Array.from(this.el.children).forEach((child) => {
396
- if (child.matches(GALLERY_ITEM_SELECTOR)) {
397
- return;
398
- }
399
- if (!items.some((item) => child.contains(item))) {
400
- // If the wrapper was previously collapsed with `display: contents`
401
- // but now contains no items, clear the display style.
402
- if (child.style.display === 'contents') {
403
- child.style.display = '';
404
- }
405
- this.warnInvalidItems();
406
- return;
407
- }
408
- // Collapse the wrapper's box so its items sit directly in the grid.
409
- child.style.display = 'contents';
410
- });
411
- }
412
- /**
413
- * Warn when the gallery has content that is not wrapped in an
414
- * `ion-gallery-item` component. Items belonging to a nested
415
- * gallery are considered invalid content for the parent gallery.
416
- */
417
- warnInvalidItems() {
418
- if (this.hasWarnedInvalidItems) {
419
- return;
420
- }
421
- printIonWarning(`[ion-gallery] - Gallery items must be wrapped in "ion-gallery-item" components. Direct children that are not "ion-gallery-item" (and do not contain one) are ignored.`, this.el);
422
- this.hasWarnedInvalidItems = true;
423
- }
424
- /**
425
- * Clear the item styles for the given item element.
426
- * This is used to switch between uniform and masonry layouts.
427
- */
428
- clearItemStyles(itemEl) {
429
- itemEl.style.gridRowStart = '';
430
- itemEl.style.gridRowEnd = '';
431
- itemEl.style.gridColumn = '';
432
- itemEl.style.marginBottom = '';
433
- }
434
- /**
435
- * Clear placement styles for all items when leaving masonry mode.
436
- */
437
- clearMasonryStyles() {
438
- this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
439
- }
440
- /**
441
- * Whether the item contains any images that have not finished loading.
442
- * Used to defer masonry placement until the rendered height is final.
443
- */
444
- hasUnloadedImages(itemEl) {
445
- return Array.from(itemEl.querySelectorAll('img')).some((img) => !img.complete || img.naturalHeight === 0);
446
- }
447
- /**
448
- * Convert a rendered item height to the number of grid rows it should span.
449
- * Returns undefined when the item has images that are not fully loaded yet.
450
- */
451
- calculateRowSpan(itemEl, rowHeight, rowGap) {
452
- if (this.hasUnloadedImages(itemEl)) {
453
- return undefined;
454
- }
455
- const height = itemEl.getBoundingClientRect().height;
456
- const itemStyles = getComputedStyle(itemEl);
457
- const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
458
- const denominator = rowHeight + rowGap;
459
- if (!denominator || !Number.isFinite(denominator)) {
460
- return 1;
461
- }
462
- return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
463
- }
464
- /**
465
- * Get the index of the column to position the item in.
466
- * When the order is `best-fit`, the column with the shortest height is
467
- * returned. Otherwise, items are placed in the column that matches their
468
- * natural DOM order.
469
- */
470
- getColumnIndex(index, columnHeights, columns) {
471
- const order = this.getOrder();
472
- if (order === 'best-fit') {
473
- let columnIndex = 0;
474
- for (let i = 1; i < columns; i++) {
475
- if (columnHeights[i] < columnHeights[columnIndex]) {
476
- columnIndex = i;
477
- }
478
- }
479
- return columnIndex;
480
- }
481
- return index % columns;
482
- }
483
- /**
484
- * Apply masonry placement by assigning each item a column and row span.
485
- */
486
- layoutMasonry(items, rowHeight, rowGap, columns) {
487
- const columnHeights = new Array(columns).fill(0);
488
- const lastItemsByColumn = new Array(columns).fill(undefined);
489
- items.forEach((itemEl, i) => {
490
- itemEl.style.marginBottom = '';
491
- const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
492
- if (span === undefined) {
493
- this.clearItemStyles(itemEl);
494
- return;
495
- }
496
- const columnIndex = this.getColumnIndex(i, columnHeights, columns);
497
- const start = columnHeights[columnIndex] + 1;
498
- itemEl.style.gridColumn = `${columnIndex + 1}`;
499
- itemEl.style.gridRowStart = `${start}`;
500
- itemEl.style.gridRowEnd = `span ${span}`;
501
- columnHeights[columnIndex] = start + span - 1;
502
- lastItemsByColumn[columnIndex] = itemEl;
503
- });
504
- // Remove trailing space from the final item in each column while preserving
505
- // spacing between all non-final items.
506
- lastItemsByColumn.forEach((itemEl) => {
507
- if (itemEl === undefined) {
508
- return;
509
- }
510
- itemEl.style.marginBottom = '0px';
511
- const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
512
- if (spanWithoutTrailingGap === undefined) {
513
- this.clearItemStyles(itemEl);
514
- return;
515
- }
516
- itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
517
- });
518
- }
519
- /**
520
- * Resolved order for layout and CSS. Order should be `undefined` for
521
- * the uniform layout. When order is not set, it should be `"sequential"`
522
- * for the masonry layout.
523
- */
524
- getOrder() {
525
- const { layout } = this;
526
- const order = this.order == null ? undefined : this.order;
527
- if (layout === 'uniform') {
528
- return undefined;
529
- }
530
- if (layout === 'masonry' && order === undefined) {
531
- return 'sequential';
532
- }
533
- return order;
534
- }
535
- render() {
536
- const { layout } = this;
537
- const order = this.getOrder();
538
- const theme = getIonTheme(this);
539
- return (h(Host, { key: '4a0a9cdd0da106ac0bd2c188a4c6612edab43b33', class: {
540
- [theme]: true,
541
- [`gallery-layout-${layout}`]: true,
542
- [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
543
- } }, h("slot", { key: 'dc6414ce9762ad7daaedc1583db35e0613a76e11', onSlotchange: this.onSlotChange })));
544
- }
545
- static get is() { return "ion-gallery"; }
546
- static get encapsulation() { return "shadow"; }
547
- static get originalStyleUrls() {
548
- return {
549
- "$": ["gallery.scss"]
550
- };
551
- }
552
- static get styleUrls() {
553
- return {
554
- "$": ["gallery.css"]
555
- };
556
- }
557
- static get properties() {
558
- return {
559
- "layout": {
560
- "type": "string",
561
- "mutable": false,
562
- "complexType": {
563
- "original": "'uniform' | 'masonry'",
564
- "resolved": "\"masonry\" | \"uniform\"",
565
- "references": {}
566
- },
567
- "required": false,
568
- "optional": false,
569
- "docs": {
570
- "tags": [],
571
- "text": "The visual layout of the gallery. When `uniform`, rows take up the height\nof the tallest item and are spaced evenly across the gallery. Additionally,\nitems will have an aspect ratio of 1/1, forcing them to be square unless a\nheight is explicitly set. When `masonry`, items will be positioned under each\nother with only the specified gap between them."
572
- },
573
- "getter": false,
574
- "setter": false,
575
- "reflect": false,
576
- "attribute": "layout",
577
- "defaultValue": "'uniform'"
578
- },
579
- "order": {
580
- "type": "string",
581
- "mutable": false,
582
- "complexType": {
583
- "original": "'sequential' | 'best-fit'",
584
- "resolved": "\"best-fit\" | \"sequential\" | undefined",
585
- "references": {}
586
- },
587
- "required": false,
588
- "optional": true,
589
- "docs": {
590
- "tags": [],
591
- "text": "The order in which items are positioned. Only applies when layout is\n`masonry`. When `sequential`, items are positioned in the order they are\nplaced in the DOM. When `best-fit`, items are positioned under the column\nwith the most available space. Defaults to `sequential` when layout is\n`masonry` and `order` is not explicitly set."
592
- },
593
- "getter": false,
594
- "setter": false,
595
- "reflect": false,
596
- "attribute": "order"
597
- },
598
- "columns": {
599
- "type": "any",
600
- "mutable": false,
601
- "complexType": {
602
- "original": "GalleryColumns",
603
- "resolved": "GalleryBreakpoints<string | number> | number | string",
604
- "references": {
605
- "GalleryColumns": {
606
- "location": "import",
607
- "path": "./gallery-interface",
608
- "id": "src/components/gallery/gallery-interface.ts::GalleryColumns",
609
- "referenceLocation": "GalleryColumns"
610
- }
611
- }
612
- },
613
- "required": false,
614
- "optional": false,
615
- "docs": {
616
- "tags": [],
617
- "text": "The number of columns to display. Can be set as a number or an object of\nbreakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`)."
618
- },
619
- "getter": false,
620
- "setter": false,
621
- "reflect": false,
622
- "attribute": "columns",
623
- "defaultValue": "{\n xs: 2,\n sm: 3,\n md: 4,\n lg: 6,\n xl: 8,\n xxl: 10,\n}"
624
- },
625
- "gap": {
626
- "type": "any",
627
- "mutable": false,
628
- "complexType": {
629
- "original": "GalleryGap",
630
- "resolved": "GalleryBreakpoints<string | number> | number | string",
631
- "references": {
632
- "GalleryGap": {
633
- "location": "import",
634
- "path": "./gallery-interface",
635
- "id": "src/components/gallery/gallery-interface.ts::GalleryGap",
636
- "referenceLocation": "GalleryGap"
637
- }
638
- }
639
- },
640
- "required": false,
641
- "optional": false,
642
- "docs": {
643
- "tags": [],
644
- "text": "The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)\nvalues like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,\nCSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel\nvalues). Can also be set as a breakpoint map\n(e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept\nspace-separated values or CSS keyword values like `inherit`, `auto`, etc."
645
- },
646
- "getter": false,
647
- "setter": false,
648
- "reflect": false,
649
- "attribute": "gap",
650
- "defaultValue": "'16px'"
651
- }
652
- };
653
- }
654
- static get elementRef() { return "el"; }
655
- static get watchers() {
656
- return [{
657
- "propName": "columns",
658
- "methodName": "onColumnsOrGapChanged"
659
- }, {
660
- "propName": "gap",
661
- "methodName": "onColumnsOrGapChanged"
662
- }, {
663
- "propName": "layout",
664
- "methodName": "onLayoutOrOrderChanged"
665
- }, {
666
- "propName": "order",
667
- "methodName": "onLayoutOrOrderChanged"
668
- }];
669
- }
670
- static get listeners() {
671
- return [{
672
- "name": "load",
673
- "method": "onChildLoad",
674
- "target": undefined,
675
- "capture": true,
676
- "passive": false
677
- }];
678
- }
679
- }