@ionic/core 8.8.9-dev.11780945313.14080cb4 → 8.8.9-dev.11781013468.1ed93da9

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 (1121) 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--JUspHvy.js +4 -0
  99. package/components/p-B8U2xbtx.js +4 -0
  100. package/components/p-B9jFTlwE.js +4 -0
  101. package/components/{p-oF-CwZ0b.js → p-BAYYcg3o.js} +1 -1
  102. package/components/p-BTPfOxsU.js +4 -0
  103. package/{dist/ionic/p-B2-sg7NJ.js → components/p-BT_5jSqG.js} +1 -1
  104. package/components/p-Baq1XyAy.js +4 -0
  105. package/components/p-BhmadOit.js +4 -0
  106. package/components/p-BirPFsRD.js +4 -0
  107. package/components/p-BjfgFSSR.js +4 -0
  108. package/components/p-BmVRXR1y.js +4 -0
  109. package/components/p-BnqQlm7c.js +4 -0
  110. package/components/p-BpCi7xHq.js +4 -0
  111. package/components/p-Bz0dSlXZ.js +4 -0
  112. package/components/p-C1aScSTo.js +4 -0
  113. package/components/p-C4t5ymfq.js +4 -0
  114. package/components/p-CHqRYvYm.js +4 -0
  115. package/components/p-CHzfYZbv.js +4 -0
  116. package/components/p-CI3ncNZm.js +4 -0
  117. package/components/p-CIGNaXM1.js +4 -0
  118. package/components/p-CO7fmmxt.js +4 -0
  119. package/components/p-CSZf8_j0.js +4 -0
  120. package/components/p-C_xFdyXe.js +4 -0
  121. package/components/p-Ciz1-FuE.js +4 -0
  122. package/components/p-Ck2wcXbv.js +4 -0
  123. package/components/p-CmR5uXej.js +4 -0
  124. package/components/p-CtWGkNnJ.js +4 -0
  125. package/components/p-CtukzcyX.js +4 -0
  126. package/{dist/ionic/p-CuGhCBt7.js → components/p-D13Eaw-8.js} +1 -1
  127. package/components/{p-ByW0kK1F.js → p-D5Ubpm7D.js} +1 -1
  128. package/components/p-D6Ynv7Xh.js +4 -0
  129. package/components/p-D7bSXQD3.js +4 -0
  130. package/components/p-DEBD4LvH.js +4 -0
  131. package/components/p-DH50pr9O.js +4 -0
  132. package/components/p-DIE4pXMl.js +4 -0
  133. package/components/p-DJztqcrH.js +4 -0
  134. package/components/{p-DXehWlOr.js → p-DNQI6d-L.js} +1 -1
  135. package/components/p-DOFCbuQR.js +4 -0
  136. package/components/p-DhkITZ-y.js +4 -0
  137. package/components/p-DiVJyqlX.js +4 -0
  138. package/components/p-DmpBvltk.js +4 -0
  139. package/components/p-DnL1c9_X.js +4 -0
  140. package/components/p-DpV-p5Xs.js +4 -0
  141. package/components/{p-zWP0sUV_.js → p-DqLB8yFQ.js} +1 -1
  142. package/components/p-DqZAXv2t.js +4 -0
  143. package/components/p-Dz74mwlk.js +4 -0
  144. package/components/{p-BcbmT6b3.js → p-Sh0ICmPV.js} +1 -1
  145. package/components/p-W5nO8mX_.js +4 -0
  146. package/components/p-XJWMAP8m.js +4 -0
  147. package/components/p-ZjP4CjeZ.js +4 -0
  148. package/components/{p-re70ahxF.js → p-cyNmxje6.js} +1 -1
  149. package/components/p-djQLE88P.js +4 -0
  150. package/components/{p-wCDzv5Q8.js → p-ijF0iCrA.js} +1 -1
  151. package/components/p-j5IxBIan.js +4 -0
  152. package/components/p-k_E4tX5Z.js +4 -0
  153. package/components/p-lE_JGpHD.js +4 -0
  154. package/components/p-r0aq7dpt.js +4 -0
  155. package/components/p-ryqmO0B-.js +4 -0
  156. package/components/p-wk2QqrAo.js +4 -0
  157. package/css/core.css +1 -1
  158. package/css/core.css.map +1 -1
  159. package/css/display.css +1 -1
  160. package/css/display.css.map +1 -1
  161. package/css/flex-utils.css +1 -1
  162. package/css/flex-utils.css.map +1 -1
  163. package/css/float-elements.css.map +1 -1
  164. package/css/global.bundle.css.map +1 -1
  165. package/css/ionic-swiper.css +1 -1
  166. package/css/ionic-swiper.css.map +1 -1
  167. package/css/ionic.bundle.css +1 -1
  168. package/css/ionic.bundle.css.map +1 -1
  169. package/css/normalize.css.map +1 -1
  170. package/css/padding.css.map +1 -1
  171. package/css/palettes/dark.always.css.map +1 -1
  172. package/css/palettes/dark.class.css.map +1 -1
  173. package/css/palettes/dark.system.css.map +1 -1
  174. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  175. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  176. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  177. package/css/palettes/high-contrast.always.css.map +1 -1
  178. package/css/palettes/high-contrast.class.css.map +1 -1
  179. package/css/palettes/high-contrast.system.css.map +1 -1
  180. package/css/structure.css.map +1 -1
  181. package/css/text-alignment.css.map +1 -1
  182. package/css/text-transformation.css.map +1 -1
  183. package/css/typography.css.map +1 -1
  184. package/css/utils.bundle.css +1 -1
  185. package/css/utils.bundle.css.map +1 -1
  186. package/dist/cjs/{animation-BZJ2wKuM.js → animation-BJq0kcy2.js} +3 -3
  187. package/dist/cjs/{app-globals-C-d5fQ35.js → app-globals-BlqrqKTN.js} +1 -1
  188. package/dist/cjs/{button-active-B_20Nxkv.js → button-active-0mPOKmV2.js} +2 -2
  189. package/dist/cjs/{capacitor-CXqhdZym.js → capacitor-DmA66EwP.js} +3 -3
  190. package/dist/cjs/{index-BJlwOs11.js → config-xninhj0J.js} +31 -1
  191. package/dist/cjs/{data-DuOuKG7I.js → data-DLTUw-KF.js} +6 -6
  192. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  193. package/dist/cjs/{framework-delegate-Dx9FrqAC.js → framework-delegate-BtICZDHr.js} +2 -4
  194. package/dist/cjs/{haptic-CQJGW58i.js → haptic-ClPPQ_PS.js} +1 -1
  195. package/dist/cjs/hardware-back-button-iUuF_76h.js +121 -0
  196. package/dist/cjs/{helpers-DJYxKN5U.js → helpers-Cv23MFHM.js} +4 -57
  197. package/dist/cjs/{index-DSNlrgfO.js → index-BERfRao3.js} +4 -4
  198. package/dist/cjs/{index-BJrpF9T3.js → index-CIrkNXqJ.js} +2 -2
  199. package/dist/cjs/{index-CzcLEdQ5.js → index-Ct7gcRif.js} +71 -64
  200. package/dist/cjs/{index-CwxYd6UD.js → index-D81eLYUM.js} +8 -9
  201. package/dist/cjs/index-DkNv4J_i.js +10 -0
  202. package/dist/cjs/{index-CgAbCW6L.js → index-DqmRDbxg.js} +0 -2
  203. package/dist/cjs/{index-BekUBS8C.js → index-aC4x3Fk3.js} +15 -15
  204. package/dist/cjs/index.cjs.js +16 -17
  205. package/dist/cjs/{input-shims-VyZciSxi.js → input-shims-CFLg7uzj.js} +17 -18
  206. package/dist/cjs/{input.utils-Ct5KzpYv.js → input.utils-DetjmtH2.js} +5 -5
  207. package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
  208. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -41
  209. package/dist/cjs/ion-alert.cjs.entry.js +45 -62
  210. package/dist/cjs/ion-app_8.cjs.entry.js +175 -296
  211. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
  212. package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
  213. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  214. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
  215. package/dist/cjs/ion-button_2.cjs.entry.js +22 -59
  216. package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
  217. package/dist/cjs/ion-checkbox.cjs.entry.js +16 -34
  218. package/dist/cjs/ion-chip.cjs.entry.js +9 -50
  219. package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
  220. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
  221. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +29 -742
  222. package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
  223. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  224. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -93
  225. package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
  226. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
  227. package/dist/cjs/ion-input.cjs.entry.js +35 -125
  228. package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
  229. package/dist/cjs/ion-item_8.cjs.entry.js +49 -116
  230. package/dist/cjs/ion-loading.cjs.entry.js +23 -22
  231. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
  232. package/dist/cjs/ion-modal.cjs.entry.js +145 -262
  233. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  234. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
  235. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  236. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  237. package/dist/cjs/ion-popover.cjs.entry.js +23 -21
  238. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
  239. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -35
  240. package/dist/cjs/ion-range.cjs.entry.js +13 -20
  241. package/dist/cjs/ion-refresher_2.cjs.entry.js +23 -42
  242. package/dist/cjs/ion-reorder_2.cjs.entry.js +15 -39
  243. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  244. package/dist/cjs/ion-route_4.cjs.entry.js +9 -10
  245. package/dist/cjs/ion-searchbar.cjs.entry.js +25 -138
  246. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  247. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
  248. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
  249. package/dist/cjs/ion-select-modal.cjs.entry.js +40 -97
  250. package/dist/cjs/ion-select_3.cjs.entry.js +115 -453
  251. package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
  252. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
  253. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +23 -147
  254. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  255. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  256. package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
  257. package/dist/cjs/ion-toast.cjs.entry.js +47 -71
  258. package/dist/cjs/ion-toggle.cjs.entry.js +27 -84
  259. package/dist/cjs/ionic-global-B-cA6LkY.js +151 -0
  260. package/dist/cjs/ionic.cjs.js +5 -5
  261. package/dist/cjs/{ios.transition-CyNNpj1i.js → ios.transition-BOSWOaiK.js} +5 -7
  262. package/dist/cjs/{keyboard-VLGMzWBE.js → keyboard-UuAS4D_9.js} +1 -1
  263. package/dist/cjs/{keyboard-controller-CCTvHp9l.js → keyboard-controller-GXBiBRKS.js} +9 -11
  264. package/dist/cjs/{keyboard-CA6RtoWx.js → keyboard-hHzlEQpk.js} +3 -4
  265. package/dist/cjs/loader.cjs.js +4 -4
  266. package/dist/cjs/{md.transition-BEfrfWKW.js → md.transition-B8-wBZqt.js} +5 -6
  267. package/dist/cjs/{notch-controller-BTZCPOsd.js → notch-controller-18PzRGXd.js} +4 -4
  268. package/dist/cjs/{overlays-BuMIwR8B.js → overlays-DSmSrd_4.js} +42 -117
  269. package/dist/cjs/{status-tap-CTY2dMsZ.js → status-tap-BXX8H8_Y.js} +3 -4
  270. package/dist/cjs/{swipe-back-jJFi5KCB.js → swipe-back-C0GCB18x.js} +2 -3
  271. package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
  272. package/dist/cjs/validity-BpS37YFM.js +19 -0
  273. package/dist/collection/collection-manifest.json +3 -14
  274. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  275. package/dist/collection/components/accordion/accordion.js +27 -41
  276. package/dist/collection/components/accordion/accordion.md.css +59 -67
  277. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  278. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  279. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  280. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -102
  281. package/dist/collection/components/action-sheet/action-sheet.js +18 -33
  282. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -101
  283. package/dist/collection/components/alert/alert.ios.css +1 -102
  284. package/dist/collection/components/alert/alert.js +35 -52
  285. package/dist/collection/components/alert/alert.md.css +1 -102
  286. package/dist/collection/components/app/app.js +83 -15
  287. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  288. package/dist/collection/components/avatar/avatar.js +4 -120
  289. package/dist/collection/components/avatar/avatar.md.css +0 -51
  290. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  291. package/dist/collection/components/back-button/back-button.js +19 -27
  292. package/dist/collection/components/back-button/back-button.md.css +48 -60
  293. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  294. package/dist/collection/components/backdrop/backdrop.js +6 -12
  295. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  296. package/dist/collection/components/badge/badge.ios.css +12 -139
  297. package/dist/collection/components/badge/badge.js +9 -145
  298. package/dist/collection/components/badge/badge.md.css +12 -123
  299. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  300. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  301. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  302. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  303. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  304. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  305. package/dist/collection/components/button/button.ios.css +46 -154
  306. package/dist/collection/components/button/button.js +27 -63
  307. package/dist/collection/components/button/button.md.css +50 -150
  308. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  309. package/dist/collection/components/buttons/buttons.js +9 -15
  310. package/dist/collection/components/buttons/buttons.md.css +3 -55
  311. package/dist/collection/components/card/card.ios.css +14 -65
  312. package/dist/collection/components/card/card.js +10 -41
  313. package/dist/collection/components/card/card.md.css +14 -65
  314. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  315. package/dist/collection/components/card-content/card-content.js +10 -12
  316. package/dist/collection/components/card-content/card-content.md.css +35 -20
  317. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  318. package/dist/collection/components/card-header/card-header.js +10 -13
  319. package/dist/collection/components/card-header/card-header.md.css +15 -27
  320. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  321. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  322. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  323. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  324. package/dist/collection/components/card-title/card-title.js +8 -11
  325. package/dist/collection/components/card-title/card-title.md.css +0 -73
  326. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  327. package/dist/collection/components/checkbox/checkbox.js +14 -70
  328. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  329. package/dist/collection/components/chip/chip.ios.css +14 -67
  330. package/dist/collection/components/chip/chip.js +8 -108
  331. package/dist/collection/components/chip/chip.md.css +14 -67
  332. package/dist/collection/components/col/col.css +4 -192
  333. package/dist/collection/components/col/col.js +61 -211
  334. package/dist/collection/components/content/content.css +2 -8
  335. package/dist/collection/components/content/content.js +11 -16
  336. package/dist/collection/components/datetime/datetime.ios.css +106 -302
  337. package/dist/collection/components/datetime/datetime.js +20 -98
  338. package/dist/collection/components/datetime/datetime.md.css +96 -293
  339. package/dist/collection/components/datetime/utils/data.js +5 -5
  340. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  341. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  342. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  343. package/dist/collection/components/fab/fab.css +1 -25
  344. package/dist/collection/components/fab/fab.js +5 -9
  345. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  346. package/dist/collection/components/fab-button/fab-button.js +21 -36
  347. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  348. package/dist/collection/components/fab-list/fab-list.css +0 -12
  349. package/dist/collection/components/fab-list/fab-list.js +5 -9
  350. package/dist/collection/components/footer/footer.ios.css +2 -14
  351. package/dist/collection/components/footer/footer.js +16 -21
  352. package/dist/collection/components/footer/footer.md.css +0 -12
  353. package/dist/collection/components/grid/grid.css +0 -12
  354. package/dist/collection/components/grid/grid.js +5 -9
  355. package/dist/collection/components/header/header.ios.css +10 -25
  356. package/dist/collection/components/header/header.js +19 -50
  357. package/dist/collection/components/header/header.md.css +8 -23
  358. package/dist/collection/components/header/header.utils.js +5 -5
  359. package/dist/collection/components/img/img.js +2 -8
  360. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  361. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  362. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  363. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  364. package/dist/collection/components/input/input.ios.css +135 -223
  365. package/dist/collection/components/input/input.js +42 -153
  366. package/dist/collection/components/input/input.md.css +207 -193
  367. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  368. package/dist/collection/components/input-otp/input-otp.js +6 -73
  369. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  371. package/dist/collection/components/item/item.ios.css +69 -109
  372. package/dist/collection/components/item/item.js +20 -51
  373. package/dist/collection/components/item/item.md.css +68 -120
  374. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  375. package/dist/collection/components/item-divider/item-divider.js +8 -11
  376. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  377. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  378. package/dist/collection/components/item-group/item-group.js +7 -13
  379. package/dist/collection/components/item-group/item-group.md.css +0 -12
  380. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  381. package/dist/collection/components/item-option/item-option.js +9 -73
  382. package/dist/collection/components/item-option/item-option.md.css +29 -136
  383. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  384. package/dist/collection/components/item-options/item-options.js +7 -13
  385. package/dist/collection/components/item-options/item-options.md.css +34 -77
  386. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  387. package/dist/collection/components/item-sliding/item-sliding.js +35 -421
  388. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  389. package/dist/collection/components/label/label.ios.css +0 -18
  390. package/dist/collection/components/label/label.js +8 -11
  391. package/dist/collection/components/label/label.md.css +0 -18
  392. package/dist/collection/components/list/list.ios.css +14 -54
  393. package/dist/collection/components/list/list.js +9 -48
  394. package/dist/collection/components/list/list.md.css +16 -56
  395. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  396. package/dist/collection/components/list-header/list-header.js +8 -11
  397. package/dist/collection/components/list-header/list-header.md.css +38 -82
  398. package/dist/collection/components/loading/loading.ios.css +1 -13
  399. package/dist/collection/components/loading/loading.js +16 -15
  400. package/dist/collection/components/loading/loading.md.css +1 -13
  401. package/dist/collection/components/menu/menu.ios.css +3 -15
  402. package/dist/collection/components/menu/menu.js +7 -12
  403. package/dist/collection/components/menu/menu.md.css +3 -15
  404. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  405. package/dist/collection/components/menu-button/menu-button.js +10 -26
  406. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  407. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  408. package/dist/collection/components/modal/animations/sheet.js +2 -8
  409. package/dist/collection/components/modal/gestures/sheet.js +10 -76
  410. package/dist/collection/components/modal/modal.ios.css +70 -178
  411. package/dist/collection/components/modal/modal.js +20 -51
  412. package/dist/collection/components/modal/modal.md.css +70 -178
  413. package/dist/collection/components/nav/nav.css +1 -7
  414. package/dist/collection/components/nav/nav.js +5 -11
  415. package/dist/collection/components/nav-link/nav-link.js +1 -5
  416. package/dist/collection/components/note/note.ios.css +0 -12
  417. package/dist/collection/components/note/note.js +8 -11
  418. package/dist/collection/components/note/note.md.css +0 -12
  419. package/dist/collection/components/picker/picker.ios.css +3 -15
  420. package/dist/collection/components/picker/picker.js +5 -8
  421. package/dist/collection/components/picker/picker.md.css +3 -15
  422. package/dist/collection/components/picker-column/picker-column.css +2 -9
  423. package/dist/collection/components/picker-column/picker-column.js +7 -8
  424. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  425. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  426. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  427. package/dist/collection/components/popover/popover.ios.css +1 -29
  428. package/dist/collection/components/popover/popover.js +20 -19
  429. package/dist/collection/components/popover/popover.md.css +1 -29
  430. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  431. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  432. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  433. package/dist/collection/components/radio/radio.ios.css +91 -134
  434. package/dist/collection/components/radio/radio.js +10 -15
  435. package/dist/collection/components/radio/radio.md.css +91 -134
  436. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  437. package/dist/collection/components/radio-group/radio-group.js +7 -48
  438. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  439. package/dist/collection/components/range/range.ios.css +85 -128
  440. package/dist/collection/components/range/range.js +10 -16
  441. package/dist/collection/components/range/range.md.css +85 -128
  442. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  443. package/dist/collection/components/refresher/refresher.js +8 -11
  444. package/dist/collection/components/refresher/refresher.md.css +2 -15
  445. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  446. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  447. package/dist/collection/components/reorder/reorder.js +6 -33
  448. package/dist/collection/components/reorder/reorder.md.css +0 -6
  449. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  450. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  451. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  452. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  453. package/dist/collection/components/route/route.js +0 -4
  454. package/dist/collection/components/router/router.js +0 -4
  455. package/dist/collection/components/router-link/router-link.css +2 -8
  456. package/dist/collection/components/router-link/router-link.js +5 -9
  457. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  458. package/dist/collection/components/router-outlet/router-outlet.js +40 -10
  459. package/dist/collection/components/row/row.css +0 -16
  460. package/dist/collection/components/row/row.js +2 -9
  461. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  462. package/dist/collection/components/searchbar/searchbar.js +38 -185
  463. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  464. package/dist/collection/components/segment/segment.ios.css +2 -45
  465. package/dist/collection/components/segment/segment.js +8 -11
  466. package/dist/collection/components/segment/segment.md.css +2 -45
  467. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  468. package/dist/collection/components/segment-button/segment-button.js +8 -11
  469. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  470. package/dist/collection/components/segment-content/segment-content.js +1 -1
  471. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  472. package/dist/collection/components/segment-view/segment-view.js +4 -13
  473. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  474. package/dist/collection/components/select/select.ios.css +176 -348
  475. package/dist/collection/components/select/select.js +97 -434
  476. package/dist/collection/components/select/select.md.css +178 -364
  477. package/dist/collection/components/select-modal/select-modal.ios.css +0 -95
  478. package/dist/collection/components/select-modal/select-modal.js +32 -109
  479. package/dist/collection/components/select-modal/select-modal.md.css +0 -83
  480. package/dist/collection/components/select-option/select-option.js +2 -32
  481. package/dist/collection/components/select-popover/select-popover.ios.css +0 -100
  482. package/dist/collection/components/select-popover/select-popover.js +31 -72
  483. package/dist/collection/components/select-popover/select-popover.md.css +0 -100
  484. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  485. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  486. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  487. package/dist/collection/components/spinner/spinner.js +6 -47
  488. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  489. package/dist/collection/components/split-pane/split-pane.js +9 -16
  490. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  491. package/dist/collection/components/tab/tab.js +2 -6
  492. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  493. package/dist/collection/components/tab-bar/tab-bar.js +13 -171
  494. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  495. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  496. package/dist/collection/components/tab-button/tab-button.js +9 -54
  497. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  498. package/dist/collection/components/tabs/tabs.css +1 -7
  499. package/dist/collection/components/tabs/tabs.js +1 -4
  500. package/dist/collection/components/text/text.css +0 -6
  501. package/dist/collection/components/text/text.js +6 -7
  502. package/dist/collection/components/textarea/textarea.ios.css +158 -298
  503. package/dist/collection/components/textarea/textarea.js +24 -162
  504. package/dist/collection/components/textarea/textarea.md.css +159 -312
  505. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  506. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  507. package/dist/collection/components/title/title.ios.css +4 -32
  508. package/dist/collection/components/title/title.js +7 -13
  509. package/dist/collection/components/title/title.md.css +4 -32
  510. package/dist/collection/components/toast/animations/utils.js +1 -1
  511. package/dist/collection/components/toast/toast.ios.css +45 -84
  512. package/dist/collection/components/toast/toast.js +13 -76
  513. package/dist/collection/components/toast/toast.md.css +45 -84
  514. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  515. package/dist/collection/components/toggle/toggle.js +18 -73
  516. package/dist/collection/components/toggle/toggle.md.css +131 -244
  517. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  518. package/dist/collection/components/toolbar/toolbar.js +13 -218
  519. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  520. package/dist/collection/global/ionic-global.js +13 -241
  521. package/dist/collection/index.js +1 -1
  522. package/dist/collection/utils/focus-trap.js +2 -13
  523. package/dist/collection/utils/focus-visible.js +0 -22
  524. package/dist/collection/utils/forms/validity.js +0 -31
  525. package/dist/collection/utils/framework-delegate.js +1 -3
  526. package/dist/collection/utils/hardware-back-button.js +0 -15
  527. package/dist/collection/utils/helpers.js +3 -57
  528. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  529. package/dist/collection/utils/media.js +0 -1
  530. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  531. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  532. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  533. package/dist/collection/utils/overlays.js +31 -97
  534. package/dist/collection/utils/test/playwright/drag-element.js +9 -32
  535. package/dist/collection/utils/test/playwright/generator.js +23 -48
  536. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  537. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  538. package/dist/collection/utils/theme.js +1 -25
  539. package/dist/collection/utils/transition/ios.transition.js +0 -1
  540. package/dist/docs.json +692 -10241
  541. package/dist/esm/{animation-Cd1EA2ar.js → animation-DLJpuoEz.js} +2 -2
  542. package/dist/esm/{app-globals-9x_U7ofY.js → app-globals-D0C5S4hU.js} +1 -1
  543. package/dist/esm/{button-active-B016u5N-.js → button-active-BSpTQmS9.js} +2 -2
  544. package/dist/esm/{capacitor-13SFuT1K.js → capacitor-CFERIeaU.js} +1 -1
  545. package/dist/esm/{index-D4ugF_sT.js → config-DQCONYYp.js} +29 -2
  546. package/dist/esm/{data-BNKYavC3.js → data-DZI70dKr.js} +6 -6
  547. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  548. package/dist/esm/{framework-delegate-CjVwn_KZ.js → framework-delegate-FnPGymXL.js} +2 -4
  549. package/dist/esm/{haptic-CbnKC3go.js → haptic-DzAMWJuk.js} +1 -1
  550. package/dist/esm/hardware-back-button-B93Gru0Y.js +115 -0
  551. package/dist/esm/{helpers-Do7zwvM1.js → helpers-HEqiOzXb.js} +5 -58
  552. package/dist/esm/{index-D2tu5BUg.js → index-AlrZKoWR.js} +1 -2
  553. package/dist/esm/{index-D3WueHpT.js → index-BRHzoo00.js} +3 -4
  554. package/dist/esm/{index-B2VWavcK.js → index-B_dQk_WE.js} +4 -4
  555. package/dist/esm/{index-BmkLokUL.js → index-MEDq2S8l.js} +2 -2
  556. package/dist/esm/{index-BWMvrRiE.js → index-Q6UPU0Ay.js} +11 -11
  557. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  558. package/dist/esm/{index-Omi_TcwW.js → index-tcQvqkiX.js} +71 -64
  559. package/dist/esm/index.js +14 -14
  560. package/dist/esm/{input-shims-DU23z7Hg.js → input-shims-D10mwcw1.js} +6 -7
  561. package/dist/esm/{input.utils-C64RbLd_.js → input.utils-Y6NgW8bw.js} +3 -3
  562. package/dist/esm/ion-accordion_2.entry.js +29 -61
  563. package/dist/esm/ion-action-sheet.entry.js +26 -41
  564. package/dist/esm/ion-alert.entry.js +44 -61
  565. package/dist/esm/ion-app_8.entry.js +175 -296
  566. package/dist/esm/ion-avatar_3.entry.js +13 -125
  567. package/dist/esm/ion-back-button.entry.js +22 -31
  568. package/dist/esm/ion-backdrop.entry.js +7 -10
  569. package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
  570. package/dist/esm/ion-button_2.entry.js +22 -59
  571. package/dist/esm/ion-card_5.entry.js +33 -55
  572. package/dist/esm/ion-checkbox.entry.js +16 -34
  573. package/dist/esm/ion-chip.entry.js +9 -50
  574. package/dist/esm/ion-col_3.entry.js +57 -56
  575. package/dist/esm/ion-datetime-button.entry.js +9 -13
  576. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +30 -741
  577. package/dist/esm/ion-fab_3.entry.js +28 -44
  578. package/dist/esm/ion-img.entry.js +4 -8
  579. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -92
  580. package/dist/esm/ion-input-otp.entry.js +9 -74
  581. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  582. package/dist/esm/ion-input.entry.js +35 -125
  583. package/dist/esm/ion-item-option_3.entry.js +52 -467
  584. package/dist/esm/ion-item_8.entry.js +49 -116
  585. package/dist/esm/ion-loading.entry.js +22 -21
  586. package/dist/esm/ion-menu_3.entry.js +29 -47
  587. package/dist/esm/ion-modal.entry.js +98 -215
  588. package/dist/esm/ion-nav_2.entry.js +11 -14
  589. package/dist/esm/ion-picker-column-option.entry.js +8 -12
  590. package/dist/esm/ion-picker-column.entry.js +13 -13
  591. package/dist/esm/ion-picker.entry.js +6 -10
  592. package/dist/esm/ion-popover.entry.js +23 -21
  593. package/dist/esm/ion-progress-bar.entry.js +9 -27
  594. package/dist/esm/ion-radio_2.entry.js +17 -35
  595. package/dist/esm/ion-range.entry.js +13 -20
  596. package/dist/esm/ion-refresher_2.entry.js +21 -40
  597. package/dist/esm/ion-reorder_2.entry.js +15 -39
  598. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  599. package/dist/esm/ion-route_4.entry.js +9 -10
  600. package/dist/esm/ion-searchbar.entry.js +25 -138
  601. package/dist/esm/ion-segment-content.entry.js +2 -2
  602. package/dist/esm/ion-segment-view.entry.js +3 -13
  603. package/dist/esm/ion-segment_2.entry.js +16 -23
  604. package/dist/esm/ion-select-modal.entry.js +40 -97
  605. package/dist/esm/ion-select_3.entry.js +116 -454
  606. package/dist/esm/ion-spinner.entry.js +8 -30
  607. package/dist/esm/ion-split-pane.entry.js +9 -13
  608. package/dist/esm/ion-tab-bar_2.entry.js +23 -147
  609. package/dist/esm/ion-tab_2.entry.js +7 -8
  610. package/dist/esm/ion-text.entry.js +7 -7
  611. package/dist/esm/ion-textarea.entry.js +23 -137
  612. package/dist/esm/ion-toast.entry.js +22 -46
  613. package/dist/esm/ion-toggle.entry.js +27 -84
  614. package/dist/esm/ionic-global-Cp_eT4sZ.js +146 -0
  615. package/dist/esm/ionic.js +6 -6
  616. package/dist/esm/{ios.transition-DoQTN5Jk.js → ios.transition-ClFrsIrS.js} +5 -7
  617. package/dist/esm/{keyboard-Dnno7-Ci.js → keyboard-CUw4ekVy.js} +1 -1
  618. package/dist/esm/{keyboard-controller-BpOdk6xN.js → keyboard-controller-BaaVITYt.js} +3 -5
  619. package/dist/esm/{keyboard-Ca1zVCcH.js → keyboard-ywgs5efA.js} +3 -4
  620. package/dist/esm/loader.js +5 -5
  621. package/dist/esm/{md.transition-DZydrWwq.js → md.transition-D0msQmzI.js} +5 -6
  622. package/dist/esm/{notch-controller-klgNWpjJ.js → notch-controller-DKDjU_O7.js} +2 -2
  623. package/dist/esm/{overlays-CpQ6Df2g.js → overlays-DLNOHWNc.js} +39 -114
  624. package/dist/esm/{status-tap-fYFdZg6z.js → status-tap-Kan2W7sh.js} +3 -4
  625. package/dist/esm/{swipe-back-BzGqTrrq.js → swipe-back-DQ1q5MgD.js} +2 -3
  626. package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
  627. package/dist/esm/validity-DJztqcrH.js +17 -0
  628. package/dist/html.html-data.json +147 -2698
  629. package/dist/ionic/index.esm.js +1 -1
  630. package/dist/ionic/ionic.esm.js +1 -1
  631. package/dist/ionic/p-03aa786d.entry.js +4 -0
  632. package/dist/ionic/p-06c232a4.entry.js +4 -0
  633. package/dist/ionic/p-11684553.entry.js +4 -0
  634. package/dist/ionic/p-1ae21e4c.entry.js +4 -0
  635. package/dist/ionic/p-20b1a044.entry.js +4 -0
  636. package/dist/ionic/p-259d0d98.entry.js +4 -0
  637. package/dist/ionic/p-2a6d6565.entry.js +4 -0
  638. package/dist/ionic/p-341032b3.entry.js +4 -0
  639. package/dist/ionic/p-441fbb13.entry.js +4 -0
  640. package/dist/ionic/p-4502a274.entry.js +4 -0
  641. package/dist/ionic/p-4621c387.entry.js +4 -0
  642. package/dist/ionic/p-4bb3eb60.entry.js +4 -0
  643. package/dist/ionic/p-4e92a11f.entry.js +4 -0
  644. package/dist/ionic/p-50e1194a.entry.js +4 -0
  645. package/dist/ionic/p-51cd1643.entry.js +4 -0
  646. package/dist/ionic/p-5c3ec490.entry.js +4 -0
  647. package/dist/ionic/p-627fabd9.entry.js +4 -0
  648. package/dist/ionic/p-629e4703.entry.js +4 -0
  649. package/dist/ionic/p-76e92a84.entry.js +4 -0
  650. package/dist/ionic/p-7a37b3ce.entry.js +4 -0
  651. package/dist/ionic/p-7aed7726.entry.js +4 -0
  652. package/dist/ionic/p-7ebd980c.entry.js +4 -0
  653. package/dist/ionic/p-80b44b3c.entry.js +4 -0
  654. package/dist/ionic/p-81ea5652.entry.js +4 -0
  655. package/dist/ionic/p-8c8eee7d.entry.js +4 -0
  656. package/dist/ionic/p-8d624ee5.entry.js +4 -0
  657. package/dist/ionic/p-8d6fd502.entry.js +4 -0
  658. package/dist/ionic/p-9177f4ac.entry.js +4 -0
  659. package/dist/ionic/p-944c8939.entry.js +4 -0
  660. package/dist/ionic/p-9c6a5a8d.entry.js +4 -0
  661. package/dist/ionic/p-9eeaBrnk.js +4 -0
  662. package/dist/ionic/p-AlrZKoWR.js +4 -0
  663. package/dist/ionic/p-BGqMS-oh.js +4 -0
  664. package/dist/ionic/p-BUFIpxKM.js +4 -0
  665. package/dist/ionic/p-BmVRXR1y.js +4 -0
  666. package/dist/ionic/p-CFlfIb2g.js +4 -0
  667. package/dist/ionic/p-CIGNaXM1.js +4 -0
  668. package/dist/ionic/{p-BmEwy3tY.js → p-CKvCXMs9.js} +1 -1
  669. package/dist/ionic/p-Cg5-OQYy.js +4 -0
  670. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  671. package/dist/ionic/p-Cx3IXROA.js +4 -0
  672. package/{components/p-Cllkut-B.js → dist/ionic/p-D13Eaw-8.js} +1 -1
  673. package/dist/ionic/p-D4uTWt4-.js +4 -0
  674. package/dist/ionic/{p-C8IHbcuP.js → p-DAAFkPFT.js} +1 -1
  675. package/dist/ionic/p-DC3RagnA.js +4 -0
  676. package/dist/ionic/p-DIuEbVLu.js +4 -0
  677. package/dist/ionic/p-DJztqcrH.js +4 -0
  678. package/dist/ionic/p-DSG2s2Eb.js +4 -0
  679. package/dist/ionic/p-Dfbt-q2k.js +4 -0
  680. package/dist/ionic/p-DiVJyqlX.js +4 -0
  681. package/dist/ionic/p-DoJvtrbw.js +4 -0
  682. package/{components/p-Cmql_g3_.js → dist/ionic/p-DzWaWHGc.js} +1 -1
  683. package/dist/ionic/p-KjNvRoEp.js +4 -0
  684. package/dist/ionic/p-Nqf6uvGh.js +4 -0
  685. package/dist/ionic/p-SNAkTDfm.js +4 -0
  686. package/{components/p-CDgDBcU9.js → dist/ionic/p-VAemlbDS.js} +1 -1
  687. package/dist/ionic/{p-DKWXAwlR.js → p-Wk5HzclC.js} +1 -1
  688. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  689. package/dist/ionic/p-a2e51c5d.entry.js +4 -0
  690. package/dist/ionic/p-a3bdcae6.entry.js +4 -0
  691. package/dist/ionic/p-a44b7536.entry.js +4 -0
  692. package/dist/ionic/p-a5213260.entry.js +4 -0
  693. package/dist/ionic/p-a7628bc7.entry.js +4 -0
  694. package/dist/ionic/p-b1599fca.entry.js +4 -0
  695. package/dist/ionic/p-b16be471.entry.js +4 -0
  696. package/dist/ionic/p-b6a7397c.entry.js +4 -0
  697. package/dist/ionic/p-b9ac1fe0.entry.js +4 -0
  698. package/dist/ionic/p-c6e49f3f.entry.js +4 -0
  699. package/dist/ionic/p-c93553d2.entry.js +4 -0
  700. package/dist/ionic/p-d2c7f046.entry.js +4 -0
  701. package/dist/ionic/p-d8387b99.entry.js +4 -0
  702. package/dist/ionic/p-d8ac9eea.entry.js +4 -0
  703. package/dist/ionic/p-db1b6738.entry.js +4 -0
  704. package/dist/ionic/p-dfa8d673.entry.js +4 -0
  705. package/dist/ionic/p-ed797c72.entry.js +4 -0
  706. package/dist/ionic/p-ef93ca92.entry.js +4 -0
  707. package/dist/ionic/p-f09f9642.entry.js +4 -0
  708. package/dist/ionic/p-f1c06f82.entry.js +4 -0
  709. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  710. package/dist/ionic/p-fe4aa1db.entry.js +4 -0
  711. package/dist/ionic/p-mjKAFv89.js +4 -0
  712. package/dist/ionic/p-tcQvqkiX.js +5 -0
  713. package/dist/ionic/p-viFHDgRs.js +4 -0
  714. package/dist/ionic/p-xWb6fgfq.js +4 -0
  715. package/dist/types/components/accordion/accordion.d.ts +3 -6
  716. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  717. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  718. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  719. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  720. package/dist/types/components/alert/alert.d.ts +2 -3
  721. package/dist/types/components/app/app.d.ts +5 -4
  722. package/dist/types/components/avatar/avatar.d.ts +0 -32
  723. package/dist/types/components/back-button/back-button.d.ts +1 -2
  724. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  725. package/dist/types/components/badge/badge.d.ts +1 -34
  726. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  727. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  728. package/dist/types/components/button/button.d.ts +8 -23
  729. package/dist/types/components/buttons/buttons.d.ts +1 -5
  730. package/dist/types/components/card/card.d.ts +1 -8
  731. package/dist/types/components/card-content/card-content.d.ts +1 -2
  732. package/dist/types/components/card-header/card-header.d.ts +2 -3
  733. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  734. package/dist/types/components/card-title/card-title.d.ts +1 -2
  735. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  736. package/dist/types/components/chip/chip.d.ts +1 -26
  737. package/dist/types/components/col/col.d.ts +5 -52
  738. package/dist/types/components/content/content.d.ts +0 -3
  739. package/dist/types/components/datetime/datetime.d.ts +1 -26
  740. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  741. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  742. package/dist/types/components/fab/fab.d.ts +0 -4
  743. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  744. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  745. package/dist/types/components/footer/footer.d.ts +3 -4
  746. package/dist/types/components/grid/grid.d.ts +0 -4
  747. package/dist/types/components/header/header.d.ts +3 -9
  748. package/dist/types/components/header/header.utils.d.ts +3 -3
  749. package/dist/types/components/img/img.d.ts +0 -3
  750. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  751. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  752. package/dist/types/components/input/input.d.ts +6 -32
  753. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  754. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  755. package/dist/types/components/item/item.d.ts +4 -11
  756. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  757. package/dist/types/components/item-group/item-group.d.ts +0 -4
  758. package/dist/types/components/item-option/item-option.d.ts +1 -18
  759. package/dist/types/components/item-options/item-options.d.ts +0 -4
  760. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  761. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  762. package/dist/types/components/label/label.d.ts +1 -2
  763. package/dist/types/components/list/list.d.ts +1 -15
  764. package/dist/types/components/list-header/list-header.d.ts +1 -2
  765. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  766. package/dist/types/components/loading/loading.d.ts +2 -3
  767. package/dist/types/components/menu/menu.d.ts +0 -3
  768. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  769. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  770. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  771. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  772. package/dist/types/components/modal/modal.d.ts +1 -11
  773. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  774. package/dist/types/components/nav/nav.d.ts +1 -5
  775. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  776. package/dist/types/components/note/note.d.ts +1 -2
  777. package/dist/types/components/picker/picker.d.ts +1 -2
  778. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  779. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  780. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  781. package/dist/types/components/popover/popover.d.ts +5 -6
  782. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  783. package/dist/types/components/radio/radio.d.ts +1 -2
  784. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  785. package/dist/types/components/range/range.d.ts +1 -2
  786. package/dist/types/components/refresher/refresher.d.ts +1 -2
  787. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  788. package/dist/types/components/reorder/reorder.d.ts +0 -9
  789. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  790. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  791. package/dist/types/components/route/route.d.ts +0 -4
  792. package/dist/types/components/router/router.d.ts +0 -4
  793. package/dist/types/components/router-link/router-link.d.ts +0 -4
  794. package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
  795. package/dist/types/components/row/row.d.ts +0 -4
  796. package/dist/types/components/searchbar/searchbar.d.ts +10 -52
  797. package/dist/types/components/segment/segment.d.ts +1 -2
  798. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  799. package/dist/types/components/select/select-interface.d.ts +0 -23
  800. package/dist/types/components/select/select.d.ts +14 -66
  801. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  802. package/dist/types/components/select-option/select-option.d.ts +0 -12
  803. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  804. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  805. package/dist/types/components/spinner/spinner.d.ts +0 -15
  806. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  807. package/dist/types/components/tab/tab.d.ts +0 -4
  808. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -37
  809. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  810. package/dist/types/components/tabs/tabs.d.ts +0 -3
  811. package/dist/types/components/text/text.d.ts +1 -2
  812. package/dist/types/components/textarea/textarea.d.ts +4 -53
  813. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  814. package/dist/types/components/title/title.d.ts +0 -4
  815. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  816. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  817. package/dist/types/components/toast/toast.d.ts +2 -19
  818. package/dist/types/components/toggle/toggle.d.ts +1 -15
  819. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  820. package/dist/types/components.d.ts +263 -2151
  821. package/dist/types/global/ionic-global.d.ts +2 -28
  822. package/dist/types/index.d.ts +1 -1
  823. package/dist/types/interface.d.ts +0 -4
  824. package/dist/types/stencil-public-runtime.d.ts +4 -1
  825. package/dist/types/utils/config.d.ts +2 -114
  826. package/dist/types/utils/focus-trap.d.ts +1 -1
  827. package/dist/types/utils/focus-visible.d.ts +0 -13
  828. package/dist/types/utils/forms/validity.d.ts +0 -7
  829. package/dist/types/utils/helpers.d.ts +0 -11
  830. package/dist/types/utils/overlays-interface.d.ts +1 -31
  831. package/dist/types/utils/overlays.d.ts +12 -10
  832. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  833. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  834. package/dist/types/utils/theme.d.ts +0 -9
  835. package/hydrate/index.js +2318 -6421
  836. package/hydrate/index.mjs +2318 -6421
  837. package/package.json +40 -12
  838. package/components/ion-divider.d.ts +0 -11
  839. package/components/ion-divider.js +0 -4
  840. package/components/ion-gallery-item.d.ts +0 -11
  841. package/components/ion-gallery-item.js +0 -4
  842. package/components/ion-gallery.d.ts +0 -11
  843. package/components/ion-gallery.js +0 -4
  844. package/components/ion-picker-legacy-column.d.ts +0 -11
  845. package/components/ion-picker-legacy-column.js +0 -4
  846. package/components/ion-picker-legacy.d.ts +0 -11
  847. package/components/ion-picker-legacy.js +0 -4
  848. package/components/p-3Ni1Z654.js +0 -4
  849. package/components/p-7kL3tltU.js +0 -4
  850. package/components/p-BBu2n-9C.js +0 -4
  851. package/components/p-BDcohALy.js +0 -4
  852. package/components/p-BDqjX7Z_.js +0 -4
  853. package/components/p-BFZBl0TS.js +0 -4
  854. package/components/p-BJzJdLry.js +0 -4
  855. package/components/p-BVi3gqm6.js +0 -4
  856. package/components/p-BVk7LVs0.js +0 -4
  857. package/components/p-BYSs-jZz.js +0 -4
  858. package/components/p-BZCB7f49.js +0 -4
  859. package/components/p-BaPtaYEC.js +0 -4
  860. package/components/p-BdUtZxku.js +0 -4
  861. package/components/p-Be8tHurp.js +0 -4
  862. package/components/p-Bg30AtDZ.js +0 -4
  863. package/components/p-BjW8SOqw.js +0 -4
  864. package/components/p-Bk9hTY4h.js +0 -4
  865. package/components/p-BqDiJgC_.js +0 -4
  866. package/components/p-BsNpz2u3.js +0 -4
  867. package/components/p-Bt0d89x3.js +0 -4
  868. package/components/p-BwKpO3Is.js +0 -4
  869. package/components/p-BwQOIWD7.js +0 -4
  870. package/components/p-C0U8YqYW.js +0 -4
  871. package/components/p-C75FIZBC.js +0 -4
  872. package/components/p-CG3ZV6ON.js +0 -4
  873. package/components/p-CaqTORfV.js +0 -4
  874. package/components/p-Cg-xpJhD.js +0 -4
  875. package/components/p-CkA0SI9d.js +0 -4
  876. package/components/p-CsakePQg.js +0 -4
  877. package/components/p-Cz4uz3Dy.js +0 -4
  878. package/components/p-D1gEOh9B.js +0 -4
  879. package/components/p-D1t981Ih.js +0 -4
  880. package/components/p-D3qBmaqi.js +0 -4
  881. package/components/p-DDw-NYxz.js +0 -4
  882. package/components/p-DGn-jQpr.js +0 -4
  883. package/components/p-DH4JHV73.js +0 -4
  884. package/components/p-DN_scBC7.js +0 -4
  885. package/components/p-DVcs-2q3.js +0 -4
  886. package/components/p-DYK0qX7x.js +0 -4
  887. package/components/p-DaJxRxSQ.js +0 -4
  888. package/components/p-DfV7pOtM.js +0 -4
  889. package/components/p-Dhi5xtNS.js +0 -4
  890. package/components/p-F3N54OKJ.js +0 -4
  891. package/components/p-GtzfsjJP.js +0 -4
  892. package/components/p-MPREydZp.js +0 -4
  893. package/components/p-OFfrVDLw.js +0 -4
  894. package/components/p-Skz67GXZ.js +0 -4
  895. package/components/p-XegQjlzJ.js +0 -4
  896. package/components/p-fIOYmaqA.js +0 -4
  897. package/components/p-hpwmNJ2Q.js +0 -4
  898. package/components/p-iZO3WzZT.js +0 -4
  899. package/components/p-lGSe6-vg.js +0 -4
  900. package/components/p-qclL-gNR.js +0 -4
  901. package/components/p-sToA4Co7.js +0 -4
  902. package/components/p-vXpMhGrs.js +0 -4
  903. package/css/ionic/bundle.ionic.css +0 -1
  904. package/css/ionic/bundle.ionic.css.map +0 -1
  905. package/css/ionic/core.ionic.css +0 -1
  906. package/css/ionic/core.ionic.css.map +0 -1
  907. package/css/ionic/global.bundle.ionic.css +0 -1
  908. package/css/ionic/global.bundle.ionic.css.map +0 -1
  909. package/css/ionic/ionic-swiper.ionic.css +0 -1
  910. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  911. package/css/ionic/link.ionic.css +0 -1
  912. package/css/ionic/link.ionic.css.map +0 -1
  913. package/css/ionic/structure.ionic.css +0 -1
  914. package/css/ionic/structure.ionic.css.map +0 -1
  915. package/css/ionic/typography.ionic.css +0 -1
  916. package/css/ionic/typography.ionic.css.map +0 -1
  917. package/css/ionic/utils.bundle.ionic.css +0 -1
  918. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  919. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  920. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  921. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  922. package/dist/cjs/config-DWdFbSNK.js +0 -35
  923. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  924. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -79
  925. package/dist/cjs/ion-gallery.cjs.entry.js +0 -592
  926. package/dist/cjs/ionic-global-BW5tRzrz.js +0 -519
  927. package/dist/cjs/list-a-7GSA6K.js +0 -8
  928. package/dist/cjs/select-option-render-C7klBX2H.js +0 -81
  929. package/dist/cjs/validity-QmuwEptc.js +0 -51
  930. package/dist/cjs/x-BTF99yFH.js +0 -8
  931. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  932. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  933. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -834
  934. package/dist/collection/components/alert/alert.ionic.css +0 -1165
  935. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  936. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  937. package/dist/collection/components/badge/badge.ionic.css +0 -275
  938. package/dist/collection/components/button/button.ionic.css +0 -646
  939. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  940. package/dist/collection/components/card/card.ionic.css +0 -144
  941. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  942. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  943. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  944. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  945. package/dist/collection/components/chip/chip.ionic.css +0 -217
  946. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  947. package/dist/collection/components/divider/divider.ionic.css +0 -148
  948. package/dist/collection/components/divider/divider.ios.css +0 -87
  949. package/dist/collection/components/divider/divider.js +0 -94
  950. package/dist/collection/components/divider/divider.md.css +0 -87
  951. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  952. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  953. package/dist/collection/components/gallery/gallery.css +0 -15
  954. package/dist/collection/components/gallery/gallery.js +0 -664
  955. package/dist/collection/components/gallery/test/utils.js +0 -99
  956. package/dist/collection/components/gallery-item/gallery-item.css +0 -88
  957. package/dist/collection/components/gallery-item/gallery-item.js +0 -95
  958. package/dist/collection/components/header/header.ionic.css +0 -97
  959. package/dist/collection/components/input/input.ionic.css +0 -889
  960. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  961. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  962. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  963. package/dist/collection/components/item/item.ionic.css +0 -508
  964. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  965. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  966. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  967. package/dist/collection/components/list/list.ionic.css +0 -212
  968. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  969. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  970. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  971. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  972. package/dist/collection/components/modal/modal.ionic.css +0 -247
  973. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  974. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  975. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  976. package/dist/collection/components/picker-legacy/picker.ios.css +0 -312
  977. package/dist/collection/components/picker-legacy/picker.js +0 -891
  978. package/dist/collection/components/picker-legacy/picker.md.css +0 -299
  979. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
  980. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  981. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
  982. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  983. package/dist/collection/components/popover/popover.ionic.css +0 -290
  984. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  985. package/dist/collection/components/radio/radio.ionic.css +0 -422
  986. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  987. package/dist/collection/components/range/range.ionic.css +0 -567
  988. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  989. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  990. package/dist/collection/components/segment/segment.ionic.css +0 -115
  991. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  992. package/dist/collection/components/select/select.ionic.css +0 -810
  993. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -154
  994. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -499
  995. package/dist/collection/components/spinner/spinner.native.css +0 -199
  996. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -227
  997. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -348
  998. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  999. package/dist/collection/components/title/title.ionic.css +0 -127
  1000. package/dist/collection/components/toast/toast.ionic.css +0 -394
  1001. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  1002. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1003. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1004. package/dist/collection/utils/css-value-validation.js +0 -39
  1005. package/dist/collection/utils/select-option-render.js +0 -76
  1006. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1007. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1008. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1009. package/dist/esm/config-BwKpO3Is.js +0 -31
  1010. package/dist/esm/ion-divider.entry.js +0 -49
  1011. package/dist/esm/ion-gallery-item.entry.js +0 -77
  1012. package/dist/esm/ion-gallery.entry.js +0 -590
  1013. package/dist/esm/ionic-global--9mOmThr.js +0 -508
  1014. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1015. package/dist/esm/select-option-render-B2qc5ZP7.js +0 -79
  1016. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1017. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1018. package/dist/ionic/p-0592c549.entry.js +0 -4
  1019. package/dist/ionic/p-0795f051.entry.js +0 -4
  1020. package/dist/ionic/p-09f8a57f.entry.js +0 -4
  1021. package/dist/ionic/p-0aa510cd.entry.js +0 -4
  1022. package/dist/ionic/p-0cd5fd9d.entry.js +0 -4
  1023. package/dist/ionic/p-0e9d4e11.entry.js +0 -4
  1024. package/dist/ionic/p-108c0f30.entry.js +0 -4
  1025. package/dist/ionic/p-11a38333.entry.js +0 -4
  1026. package/dist/ionic/p-1a009a51.entry.js +0 -4
  1027. package/dist/ionic/p-1a026890.entry.js +0 -4
  1028. package/dist/ionic/p-23e524f8.entry.js +0 -4
  1029. package/dist/ionic/p-2826761a.entry.js +0 -4
  1030. package/dist/ionic/p-2c4170d8.entry.js +0 -4
  1031. package/dist/ionic/p-2d5a2511.entry.js +0 -4
  1032. package/dist/ionic/p-3656314c.entry.js +0 -4
  1033. package/dist/ionic/p-3706ea52.entry.js +0 -4
  1034. package/dist/ionic/p-379cc989.entry.js +0 -4
  1035. package/dist/ionic/p-3e376501.entry.js +0 -4
  1036. package/dist/ionic/p-44597202.entry.js +0 -4
  1037. package/dist/ionic/p-456736d1.entry.js +0 -4
  1038. package/dist/ionic/p-48e3cb9e.entry.js +0 -4
  1039. package/dist/ionic/p-4a27a79a.entry.js +0 -4
  1040. package/dist/ionic/p-4f07113d.entry.js +0 -4
  1041. package/dist/ionic/p-52b85650.entry.js +0 -4
  1042. package/dist/ionic/p-5a6e0ae1.entry.js +0 -4
  1043. package/dist/ionic/p-64b4e6eb.entry.js +0 -4
  1044. package/dist/ionic/p-66eb0193.entry.js +0 -4
  1045. package/dist/ionic/p-6906dca7.entry.js +0 -4
  1046. package/dist/ionic/p-7194f6fa.entry.js +0 -4
  1047. package/dist/ionic/p-7b09c19d.entry.js +0 -4
  1048. package/dist/ionic/p-7b886782.entry.js +0 -4
  1049. package/dist/ionic/p-82c05be2.entry.js +0 -4
  1050. package/dist/ionic/p-83c0eb9b.entry.js +0 -4
  1051. package/dist/ionic/p-85ff1314.entry.js +0 -4
  1052. package/dist/ionic/p-88048796.entry.js +0 -4
  1053. package/dist/ionic/p-8eca5ba1.entry.js +0 -4
  1054. package/dist/ionic/p-96f52444.entry.js +0 -4
  1055. package/dist/ionic/p-B4ikoeaj.js +0 -4
  1056. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1057. package/dist/ionic/p-BFBCtvFI.js +0 -4
  1058. package/dist/ionic/p-BQgCYKKG.js +0 -4
  1059. package/dist/ionic/p-BYAxJDlE.js +0 -4
  1060. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1061. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1062. package/dist/ionic/p-BwKpO3Is.js +0 -4
  1063. package/dist/ionic/p-CDn0uNJA.js +0 -4
  1064. package/dist/ionic/p-CFjI63GE.js +0 -4
  1065. package/dist/ionic/p-CHE1xWbg.js +0 -4
  1066. package/dist/ionic/p-CK179dBb.js +0 -4
  1067. package/dist/ionic/p-CWJdc8f_.js +0 -4
  1068. package/dist/ionic/p-CYhXBSjd.js +0 -4
  1069. package/dist/ionic/p-D1t981Ih.js +0 -4
  1070. package/dist/ionic/p-D2tu5BUg.js +0 -4
  1071. package/dist/ionic/p-DDFhx1YX.js +0 -4
  1072. package/dist/ionic/p-DNGqaUsl.js +0 -4
  1073. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1074. package/dist/ionic/p-DaknVxZR.js +0 -4
  1075. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1076. package/dist/ionic/p-DoyDJ2X5.js +0 -4
  1077. package/dist/ionic/p-E1wtzfO0.js +0 -4
  1078. package/dist/ionic/p-FvDKM4Ax.js +0 -4
  1079. package/dist/ionic/p-IXZW3FBt.js +0 -4
  1080. package/dist/ionic/p-Omi_TcwW.js +0 -5
  1081. package/dist/ionic/p-PoSbs6oh.js +0 -4
  1082. package/dist/ionic/p-VAJ_3beW.js +0 -4
  1083. package/dist/ionic/p-a3b047e0.entry.js +0 -4
  1084. package/dist/ionic/p-a73caa5e.entry.js +0 -4
  1085. package/dist/ionic/p-b0dfd018.entry.js +0 -4
  1086. package/dist/ionic/p-b6130fe4.entry.js +0 -4
  1087. package/dist/ionic/p-bc317965.entry.js +0 -4
  1088. package/dist/ionic/p-bsfLvRbd.js +0 -4
  1089. package/dist/ionic/p-c0558552.entry.js +0 -4
  1090. package/dist/ionic/p-c5f745b4.entry.js +0 -4
  1091. package/dist/ionic/p-c7139c41.entry.js +0 -4
  1092. package/dist/ionic/p-c781241c.entry.js +0 -4
  1093. package/dist/ionic/p-cb154afe.entry.js +0 -4
  1094. package/dist/ionic/p-cde69f38.entry.js +0 -4
  1095. package/dist/ionic/p-d6f0a698.entry.js +0 -4
  1096. package/dist/ionic/p-d9804d04.entry.js +0 -4
  1097. package/dist/ionic/p-e342b205.entry.js +0 -4
  1098. package/dist/ionic/p-e4071bf8.entry.js +0 -4
  1099. package/dist/ionic/p-e8916b04.entry.js +0 -4
  1100. package/dist/ionic/p-eTI_FbQJ.js +0 -4
  1101. package/dist/ionic/p-f10f8f95.entry.js +0 -4
  1102. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1103. package/dist/ionic/p-fbdbdb3e.entry.js +0 -4
  1104. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1105. package/dist/types/components/divider/divider.d.ts +0 -20
  1106. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1107. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1108. package/dist/types/components/gallery/gallery.d.ts +0 -208
  1109. package/dist/types/components/gallery/test/utils.d.ts +0 -2
  1110. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -35
  1111. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1112. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1113. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  1114. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  1115. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  1116. package/dist/types/components/picker-legacy/picker.d.ts +0 -159
  1117. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  1118. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  1119. package/dist/types/utils/css-value-validation.d.ts +0 -21
  1120. package/dist/types/utils/select-option-render.d.ts +0 -22
  1121. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,664 +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.
63
- * When the layout is `masonry`, this listener is used to schedule a resize
64
- * of the masonry grid when the slot changes. This is useful for when items
65
- * are added or removed from the gallery.
66
- */
67
- this.onSlotChange = () => {
68
- // Re-observe so newly added items are watched for size changes (e.g. a
69
- // freshly appended item finishing hydration), then recompute placement.
70
- this.observeResizes();
71
- this.scheduleMasonryResize();
72
- };
73
- /**
74
- * Measure the host and children, then compute masonry placement.
75
- */
76
- this.resizeMasonryGrid = () => {
77
- this.masonryRaf = undefined;
78
- if (this.layout !== 'masonry') {
79
- this.clearMasonryStyles();
80
- return;
81
- }
82
- const width = this.el.getBoundingClientRect().width;
83
- const columns = this.getColumnsForWidth(width);
84
- // Skip masonry placement when width/columns does not resolve
85
- // to a valid breakpoint column count.
86
- if (columns === undefined) {
87
- return;
88
- }
89
- const styles = getComputedStyle(this.el);
90
- const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
91
- const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
92
- const items = this.getItems();
93
- this.layoutMasonry(items, rowHeight, rowGap, columns);
94
- };
95
- }
96
- onColumnsOrGapChanged() {
97
- this.syncResponsiveLayout();
98
- }
99
- onLayoutOrOrderChanged() {
100
- this.syncResponsiveLayout();
101
- // Wait until the next animation frame to warn about unused order
102
- // to avoid erroneous warnings when the layout and order are updated
103
- // in the same frame.
104
- raf(() => {
105
- this.warnUnusedOrder();
106
- });
107
- }
108
- componentDidLoad() {
109
- this.updateResponsiveStyles(true);
110
- this.resizeObserver = new ResizeObserver(() => {
111
- this.updateResponsiveStyles();
112
- this.scheduleMasonryResize();
113
- });
114
- this.observeResizes();
115
- this.scheduleMasonryResize();
116
- this.warnUnusedOrder();
117
- }
118
- disconnectedCallback() {
119
- var _a;
120
- if (this.masonryRaf !== undefined) {
121
- cancelAnimationFrame(this.masonryRaf);
122
- this.masonryRaf = undefined;
123
- }
124
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
125
- this.resizeObserver = undefined;
126
- }
127
- /**
128
- * Observe the host and each item for size changes. Items are observed in
129
- * addition to the host so masonry placement is recomputed when an item's
130
- * rendered height changes — most importantly when a dynamically added
131
- * `ion-gallery-item` finishes hydrating, which (unlike an `<img>`) emits no
132
- * `load` event and does not change the host's measured size while collapsed.
133
- */
134
- observeResizes() {
135
- const observer = this.resizeObserver;
136
- if (observer === undefined) {
137
- return;
138
- }
139
- observer.disconnect();
140
- observer.observe(this.el);
141
- this.getItems().forEach((item) => observer.observe(item));
142
- }
143
- /**
144
- * Listen for the load event on child elements.
145
- * When the layout is `masonry`, this listener is used to schedule a resize
146
- * of the masonry grid when the child elements load. This is useful for when
147
- * images take time to load.
148
- */
149
- onChildLoad(ev) {
150
- if (this.layout !== 'masonry') {
151
- return;
152
- }
153
- const target = ev.target;
154
- if (target instanceof Node && this.el.contains(target)) {
155
- this.scheduleMasonryResize();
156
- }
157
- }
158
- /**
159
- * Recompute the gallery column and gap variables and masonry placement when
160
- * columns, gap, layout, or order change.
161
- */
162
- syncResponsiveLayout() {
163
- this.updateResponsiveStyles(true);
164
- this.scheduleMasonryResize();
165
- }
166
- /**
167
- * Batch masonry measurements to a single animation frame.
168
- * This avoids repeated sync layouts during rapid resize/load/slot changes.
169
- */
170
- scheduleMasonryResize() {
171
- if (this.layout !== 'masonry') {
172
- this.clearMasonryStyles();
173
- return;
174
- }
175
- if (this.masonryRaf !== undefined) {
176
- cancelAnimationFrame(this.masonryRaf);
177
- }
178
- this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
179
- }
180
- /**
181
- * Normalize a single column value (`columns` as a number, string, or one entry from
182
- * a `columns` breakpoint map) to a positive integer. Returns `undefined` when
183
- * the input cannot be interpreted as a finite number.
184
- */
185
- sanitizeColumns(columns) {
186
- if (columns === undefined) {
187
- return undefined;
188
- }
189
- const numericColumns = typeof columns === 'number' ? columns : Number(columns);
190
- if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
191
- return undefined;
192
- }
193
- return numericColumns;
194
- }
195
- /**
196
- * Normalize a single gap value (`gap` as a number, a string such as a CSS
197
- * length-percentage or `var()` reference, or one entry from a `gap`
198
- * breakpoint map) to a CSS length string. Returns `undefined` when the
199
- * input cannot be interpreted as a valid CSS length or `var()` reference.
200
- */
201
- sanitizeGap(gap) {
202
- if (gap === undefined) {
203
- return undefined;
204
- }
205
- const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
206
- if (normalizedGap === '' || typeof normalizedGap === 'object') {
207
- return undefined;
208
- }
209
- const numericGap = Number(normalizedGap);
210
- if (Number.isFinite(numericGap)) {
211
- return numericGap < 0 ? undefined : `${numericGap}px`;
212
- }
213
- if (typeof normalizedGap !== 'string') {
214
- return undefined;
215
- }
216
- if (isCssVariable(normalizedGap)) {
217
- return normalizedGap;
218
- }
219
- const isValidCssLength = isValidLengthPercentage(normalizedGap);
220
- return isValidCssLength ? normalizedGap : undefined;
221
- }
222
- /**
223
- * Check if the value is a breakpoint map object.
224
- */
225
- isBreakpointMap(value) {
226
- return typeof value === 'object' && value !== null && !Array.isArray(value);
227
- }
228
- /**
229
- * Check if the breakpoint map has any invalid values for the provided
230
- * sanitizer. A breakpoint map is invalid when there are no valid breakpoint
231
- * keys set (e.g. `{}` or `{ colums: 3 }`), or when a value under a
232
- * breakpoint key fails the sanitizer (e.g. `{ xs: -3 }`, `{ sm: 'foo' }`).
233
- */
234
- hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
235
- let hasBreakpointEntry = false;
236
- for (const breakpoint of BREAKPOINT_ORDER) {
237
- const value = breakpointMap[breakpoint];
238
- if (value !== undefined) {
239
- hasBreakpointEntry = true;
240
- if (sanitizeValue(value) === undefined) {
241
- return true;
242
- }
243
- }
244
- }
245
- return !hasBreakpointEntry;
246
- }
247
- /**
248
- * Resolve a responsive value from a breakpoint map.
249
- * Uses a breakpoint-specific default when custom values are missing/invalid.
250
- */
251
- resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
252
- let resolvedValue;
253
- for (const bp of BREAKPOINT_ORDER) {
254
- const providedValue = breakpointMap[bp];
255
- const sanitizedProvided = sanitizeProvided(providedValue);
256
- const sanitizedDefault = getSanitizedDefault(bp);
257
- const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
258
- if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
259
- resolvedValue = resolved;
260
- }
261
- }
262
- return resolvedValue;
263
- }
264
- /**
265
- * Get the columns from a responsive breakpoint map.
266
- * Returns the columns for the last matching breakpoint.
267
- */
268
- getColumnsFromBreakpointMap(width, breakpointMap) {
269
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
270
- }
271
- /**
272
- * Get the gap from a responsive breakpoint map.
273
- * Returns the gap for the last matching breakpoint.
274
- */
275
- getGapFromBreakpointMap(width, breakpointMap) {
276
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
277
- }
278
- /**
279
- * Warn about an invalid columns value when it is set to a negative number,
280
- * an empty breakpoint map, a map with no supported breakpoint keys,
281
- * or a map with invalid breakpoint values.
282
- */
283
- warnInvalidColumns(columns) {
284
- if (this.hasWarnedInvalidColumns) {
285
- return;
286
- }
287
- 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);
288
- this.hasWarnedInvalidColumns = true;
289
- }
290
- /**
291
- * Warn about an invalid gap value when it is set to a negative number,
292
- * an empty breakpoint map, a map with no supported breakpoint keys,
293
- * or a map with invalid breakpoint values.
294
- */
295
- warnInvalidGap(gap) {
296
- if (this.hasWarnedInvalidGap) {
297
- return;
298
- }
299
- 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);
300
- this.hasWarnedInvalidGap = true;
301
- }
302
- /**
303
- * Warn when `order` is explicitly set while layout is `uniform`.
304
- */
305
- warnUnusedOrder() {
306
- const { layout } = this;
307
- const order = this.order == null ? undefined : this.order;
308
- if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
309
- return;
310
- }
311
- printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
312
- this.hasWarnedUnusedOrder = true;
313
- }
314
- /**
315
- * Resolve the active columns value for the current width. Falls back to
316
- * the default responsive columns when the provided prop is invalid.
317
- */
318
- getColumnsForWidth(width) {
319
- const { columns } = this;
320
- const isBreakpointColumns = this.isBreakpointMap(columns);
321
- const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
322
- const sanitizedColumns = isBreakpointColumns
323
- ? this.getColumnsFromBreakpointMap(width, columns)
324
- : this.sanitizeColumns(columns);
325
- if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
326
- this.warnInvalidColumns(columns);
327
- }
328
- if (sanitizedColumns !== undefined) {
329
- return sanitizedColumns;
330
- }
331
- return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
332
- }
333
- /**
334
- * Resolve the active gap value for the current width.
335
- */
336
- getGapForWidth(width) {
337
- const { gap } = this;
338
- const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
339
- const isBreakpointGap = this.isBreakpointMap(providedGap);
340
- const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
341
- const sanitizedGap = isBreakpointGap
342
- ? this.getGapFromBreakpointMap(width, providedGap)
343
- : this.sanitizeGap(providedGap);
344
- if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
345
- this.warnInvalidGap(providedGap);
346
- }
347
- if (sanitizedGap !== undefined) {
348
- return sanitizedGap;
349
- }
350
- return this.sanitizeGap(DEFAULT_GAP);
351
- }
352
- /**
353
- * Update the responsive styles for the gallery. This is used to update
354
- * the columns and gap when the component width changes.
355
- */
356
- updateResponsiveStyles(force = false) {
357
- const width = this.el.getBoundingClientRect().width;
358
- // Only update the columns if the component width has changed by more than
359
- // 1px or if the force flag is true. This prevents unnecessary re-renders
360
- // when the component width has not changed.
361
- if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
362
- return;
363
- }
364
- this.lastWidth = width;
365
- const columns = this.getColumnsForWidth(width);
366
- this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
367
- const gap = this.getGapForWidth(width);
368
- this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
369
- }
370
- /**
371
- * Return the `ion-gallery-item` elements to place in the grid. Each item is a
372
- * direct grid cell. A direct child that is not an `ion-gallery-item` is
373
- * treated as a pass-through wrapper (e.g. a layout `<div>`): its box is
374
- * collapsed with `display: contents` so the nested items participate in the
375
- * gallery grid. Children that contain no `ion-gallery-item` are ignored.
376
- */
377
- getItems() {
378
- const items = [];
379
- Array.from(this.el.children).forEach((child) => {
380
- // Standard path: <ion-gallery-item> is a direct child of <ion-gallery>.
381
- if (child.matches(GALLERY_ITEM_SELECTOR)) {
382
- items.push(child);
383
- return;
384
- }
385
- // Compatibility path: a wrapper element may contain <ion-gallery-item>
386
- // components. Collapse the wrapper's box so the items participate in the
387
- // gallery grid.
388
- const nestedItems = Array.from(child.querySelectorAll(GALLERY_ITEM_SELECTOR));
389
- if (nestedItems.length === 0) {
390
- this.warnInvalidItems();
391
- return;
392
- }
393
- child.style.display = 'contents';
394
- items.push(...nestedItems);
395
- });
396
- return items;
397
- }
398
- /**
399
- * Warn when the gallery has content that is not wrapped in an
400
- * `ion-gallery-item` component.
401
- */
402
- warnInvalidItems() {
403
- if (this.hasWarnedInvalidItems) {
404
- return;
405
- }
406
- 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);
407
- this.hasWarnedInvalidItems = true;
408
- }
409
- /**
410
- * Clear the item styles for the given item element.
411
- * This is used to switch between uniform and masonry layouts.
412
- */
413
- clearItemStyles(itemEl) {
414
- itemEl.style.gridRowStart = '';
415
- itemEl.style.gridRowEnd = '';
416
- itemEl.style.gridColumn = '';
417
- itemEl.style.marginBottom = '';
418
- }
419
- /**
420
- * Clear placement styles for all items when leaving masonry mode.
421
- */
422
- clearMasonryStyles() {
423
- this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
424
- }
425
- /**
426
- * Whether the item contains any images that have not finished loading.
427
- * Used to defer masonry placement until the rendered height is final.
428
- */
429
- hasUnloadedImages(itemEl) {
430
- return Array.from(itemEl.querySelectorAll('img')).some((img) => !img.complete || img.naturalHeight === 0);
431
- }
432
- /**
433
- * Convert a rendered item height to the number of grid rows it should span.
434
- * Returns undefined when the item has images that are not fully loaded yet.
435
- */
436
- calculateRowSpan(itemEl, rowHeight, rowGap) {
437
- if (this.hasUnloadedImages(itemEl)) {
438
- return undefined;
439
- }
440
- const height = itemEl.getBoundingClientRect().height;
441
- const itemStyles = getComputedStyle(itemEl);
442
- const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
443
- const denominator = rowHeight + rowGap;
444
- if (!denominator || !Number.isFinite(denominator)) {
445
- return 1;
446
- }
447
- return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
448
- }
449
- /**
450
- * Get the index of the column to position the item in.
451
- * When the order is `best-fit`, the column with the shortest height is
452
- * returned. Otherwise, items are placed in the column that matches their
453
- * natural DOM order.
454
- */
455
- getColumnIndex(index, columnHeights, columns) {
456
- const order = this.getOrder();
457
- if (order === 'best-fit') {
458
- let columnIndex = 0;
459
- for (let i = 1; i < columns; i++) {
460
- if (columnHeights[i] < columnHeights[columnIndex]) {
461
- columnIndex = i;
462
- }
463
- }
464
- return columnIndex;
465
- }
466
- return index % columns;
467
- }
468
- /**
469
- * Apply masonry placement by assigning each item a column and row span.
470
- */
471
- layoutMasonry(items, rowHeight, rowGap, columns) {
472
- const columnHeights = new Array(columns).fill(0);
473
- const lastItemsByColumn = new Array(columns).fill(undefined);
474
- items.forEach((itemEl, i) => {
475
- itemEl.style.marginBottom = '';
476
- const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
477
- if (span === undefined) {
478
- this.clearItemStyles(itemEl);
479
- return;
480
- }
481
- const columnIndex = this.getColumnIndex(i, columnHeights, columns);
482
- const start = columnHeights[columnIndex] + 1;
483
- itemEl.style.gridColumn = `${columnIndex + 1}`;
484
- itemEl.style.gridRowStart = `${start}`;
485
- itemEl.style.gridRowEnd = `span ${span}`;
486
- columnHeights[columnIndex] = start + span - 1;
487
- lastItemsByColumn[columnIndex] = itemEl;
488
- });
489
- // Remove trailing space from the final item in each column while preserving
490
- // spacing between all non-final items.
491
- lastItemsByColumn.forEach((itemEl) => {
492
- if (itemEl === undefined) {
493
- return;
494
- }
495
- itemEl.style.marginBottom = '0px';
496
- const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
497
- if (spanWithoutTrailingGap === undefined) {
498
- this.clearItemStyles(itemEl);
499
- return;
500
- }
501
- itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
502
- });
503
- }
504
- /**
505
- * Resolved order for layout and CSS. Order should be `undefined` for
506
- * the uniform layout. When order is not set, it should be `"sequential"`
507
- * for the masonry layout.
508
- */
509
- getOrder() {
510
- const { layout } = this;
511
- const order = this.order == null ? undefined : this.order;
512
- if (layout === 'uniform') {
513
- return undefined;
514
- }
515
- if (layout === 'masonry' && order === undefined) {
516
- return 'sequential';
517
- }
518
- return order;
519
- }
520
- render() {
521
- const { layout } = this;
522
- const order = this.getOrder();
523
- const theme = getIonTheme(this);
524
- return (h(Host, { key: '2063823917f4ab8430aee0e17ae0f3a2b53341d1', class: {
525
- [theme]: true,
526
- [`gallery-layout-${layout}`]: true,
527
- [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
528
- } }, h("slot", { key: '1378f489afb6b05181d2513f664c4efe24ad3598', onSlotchange: this.onSlotChange })));
529
- }
530
- static get is() { return "ion-gallery"; }
531
- static get encapsulation() { return "shadow"; }
532
- static get originalStyleUrls() {
533
- return {
534
- "$": ["gallery.scss"]
535
- };
536
- }
537
- static get styleUrls() {
538
- return {
539
- "$": ["gallery.css"]
540
- };
541
- }
542
- static get properties() {
543
- return {
544
- "layout": {
545
- "type": "string",
546
- "mutable": false,
547
- "complexType": {
548
- "original": "'uniform' | 'masonry'",
549
- "resolved": "\"masonry\" | \"uniform\"",
550
- "references": {}
551
- },
552
- "required": false,
553
- "optional": false,
554
- "docs": {
555
- "tags": [],
556
- "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."
557
- },
558
- "getter": false,
559
- "setter": false,
560
- "reflect": false,
561
- "attribute": "layout",
562
- "defaultValue": "'uniform'"
563
- },
564
- "order": {
565
- "type": "string",
566
- "mutable": false,
567
- "complexType": {
568
- "original": "'sequential' | 'best-fit'",
569
- "resolved": "\"best-fit\" | \"sequential\" | undefined",
570
- "references": {}
571
- },
572
- "required": false,
573
- "optional": true,
574
- "docs": {
575
- "tags": [],
576
- "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."
577
- },
578
- "getter": false,
579
- "setter": false,
580
- "reflect": false,
581
- "attribute": "order"
582
- },
583
- "columns": {
584
- "type": "any",
585
- "mutable": false,
586
- "complexType": {
587
- "original": "GalleryColumns",
588
- "resolved": "GalleryBreakpoints<string | number> | number | string",
589
- "references": {
590
- "GalleryColumns": {
591
- "location": "import",
592
- "path": "./gallery-interface",
593
- "id": "src/components/gallery/gallery-interface.ts::GalleryColumns",
594
- "referenceLocation": "GalleryColumns"
595
- }
596
- }
597
- },
598
- "required": false,
599
- "optional": false,
600
- "docs": {
601
- "tags": [],
602
- "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 }`)."
603
- },
604
- "getter": false,
605
- "setter": false,
606
- "reflect": false,
607
- "attribute": "columns",
608
- "defaultValue": "DEFAULT_COLUMNS"
609
- },
610
- "gap": {
611
- "type": "any",
612
- "mutable": false,
613
- "complexType": {
614
- "original": "GalleryGap",
615
- "resolved": "GalleryBreakpoints<string | number> | number | string",
616
- "references": {
617
- "GalleryGap": {
618
- "location": "import",
619
- "path": "./gallery-interface",
620
- "id": "src/components/gallery/gallery-interface.ts::GalleryGap",
621
- "referenceLocation": "GalleryGap"
622
- }
623
- }
624
- },
625
- "required": false,
626
- "optional": false,
627
- "docs": {
628
- "tags": [],
629
- "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."
630
- },
631
- "getter": false,
632
- "setter": false,
633
- "reflect": false,
634
- "attribute": "gap",
635
- "defaultValue": "DEFAULT_GAP"
636
- }
637
- };
638
- }
639
- static get elementRef() { return "el"; }
640
- static get watchers() {
641
- return [{
642
- "propName": "columns",
643
- "methodName": "onColumnsOrGapChanged"
644
- }, {
645
- "propName": "gap",
646
- "methodName": "onColumnsOrGapChanged"
647
- }, {
648
- "propName": "layout",
649
- "methodName": "onLayoutOrOrderChanged"
650
- }, {
651
- "propName": "order",
652
- "methodName": "onLayoutOrOrderChanged"
653
- }];
654
- }
655
- static get listeners() {
656
- return [{
657
- "name": "load",
658
- "method": "onChildLoad",
659
- "target": undefined,
660
- "capture": true,
661
- "passive": false
662
- }];
663
- }
664
- }