@ionic/core 8.8.18-dev.11786355346.19605941 → 8.8.18-dev.11786385944.17aca7e5

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 (1141) 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-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +1 -1
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +1 -1
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +1 -1
  66. package/components/ion-refresher-content.js +1 -1
  67. package/components/ion-refresher.js +1 -1
  68. package/components/ion-reorder-group.js +1 -1
  69. package/components/ion-reorder.js +1 -1
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +1 -1
  72. package/components/ion-route.js +1 -1
  73. package/components/ion-router-link.js +1 -1
  74. package/components/ion-router-outlet.js +1 -1
  75. package/components/ion-router.js +1 -1
  76. package/components/ion-row.js +1 -1
  77. package/components/ion-searchbar.js +1 -1
  78. package/components/ion-segment-button.js +1 -1
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +1 -1
  81. package/components/ion-segment.js +1 -1
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +1 -1
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +1 -1
  86. package/components/ion-skeleton-text.js +1 -1
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +1 -1
  89. package/components/ion-tab-bar.js +1 -1
  90. package/components/ion-tab-button.js +1 -1
  91. package/components/ion-tab.js +1 -1
  92. package/components/ion-tabs.js +1 -1
  93. package/components/ion-text.js +1 -1
  94. package/components/ion-textarea.js +1 -1
  95. package/components/ion-thumbnail.js +1 -1
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +1 -1
  98. package/components/ion-toggle.js +1 -1
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/p--JUspHvy.js +4 -0
  101. package/components/p-A3O24YmY.js +4 -0
  102. package/components/p-ABkNVeU9.js +4 -0
  103. package/{dist/ionic/p-Cm20lBQw.js → components/p-B-JJgYSG.js} +1 -1
  104. package/components/p-B9jFTlwE.js +4 -0
  105. package/components/p-BLmJ0zRm.js +4 -0
  106. package/components/p-BMI53wYL.js +4 -0
  107. package/components/p-BMaKgJFV.js +4 -0
  108. package/components/p-BSEgsdFI.js +4 -0
  109. package/{dist/ionic/p-Cipl19Qe.js → components/p-BkKAANMJ.js} +1 -1
  110. package/components/p-BlIAuGv2.js +4 -0
  111. package/components/p-BmVRXR1y.js +4 -0
  112. package/components/p-Bnsn6KaP.js +4 -0
  113. package/components/p-BsBCoGa-.js +4 -0
  114. package/components/p-BvmB20aD.js +4 -0
  115. package/components/p-Bz0dSlXZ.js +4 -0
  116. package/components/p-CHqRYvYm.js +4 -0
  117. package/components/p-CIGNaXM1.js +4 -0
  118. package/components/p-CO7fmmxt.js +4 -0
  119. package/components/p-CQGnMY3n.js +4 -0
  120. package/components/p-CSZf8_j0.js +4 -0
  121. package/components/{p-B_jBop0E.js → p-C_hpsif8.js} +1 -1
  122. package/components/p-C_xFdyXe.js +4 -0
  123. package/components/{p-BE21dB_a.js → p-Cf2jSDS8.js} +1 -1
  124. package/components/p-Cfx4M1Bn.js +4 -0
  125. package/components/{p-DWoO0801.js → p-ChIZKXUu.js} +1 -1
  126. package/components/p-CkMSOsFF.js +4 -0
  127. package/components/p-CmR5uXej.js +4 -0
  128. package/components/p-Cp4GRDqq.js +4 -0
  129. package/components/p-CsNJ1ULL.js +4 -0
  130. package/components/p-CtWGkNnJ.js +4 -0
  131. package/components/p-CzCbeKys.js +4 -0
  132. package/components/p-D-aHdMxW.js +4 -0
  133. package/components/p-D0d8qTwj.js +4 -0
  134. package/components/{p-D0fnq0lf.js → p-D13Eaw-8.js} +1 -1
  135. package/components/p-D3xo7hqU.js +4 -0
  136. package/components/p-D6Ynv7Xh.js +4 -0
  137. package/components/p-D7uN07a3.js +4 -0
  138. package/components/p-DCnGU1fF.js +4 -0
  139. package/components/p-DGvrK8dD.js +4 -0
  140. package/components/p-DJztqcrH.js +4 -0
  141. package/components/p-DOFCbuQR.js +4 -0
  142. package/components/p-DV5mPYQS.js +4 -0
  143. package/components/p-DWkAgceV.js +4 -0
  144. package/components/p-DiVJyqlX.js +4 -0
  145. package/components/{p-BZwQa9ey.js → p-DqLB8yFQ.js} +1 -1
  146. package/components/p-DqZAXv2t.js +4 -0
  147. package/components/{p-Bz4JFPmj.js → p-Osve4qkc.js} +1 -1
  148. package/components/p-R8zmRi4c.js +4 -0
  149. package/components/p-SLS1rDZM.js +4 -0
  150. package/components/p-ZjP4CjeZ.js +4 -0
  151. package/components/p-aJ6PBUvj.js +4 -0
  152. package/{dist/ionic/p-OkgYzj-7.js → components/p-cyNmxje6.js} +1 -1
  153. package/components/p-gAg0kXZp.js +4 -0
  154. package/components/p-j5IxBIan.js +4 -0
  155. package/components/p-k_E4tX5Z.js +4 -0
  156. package/components/p-oD4kcBRX.js +4 -0
  157. package/components/p-rCa2eL0j.js +4 -0
  158. package/components/p-scxfI1Dd.js +4 -0
  159. package/components/p-vRBNsYbs.js +4 -0
  160. package/components/p-yzCsOZE2.js +4 -0
  161. package/css/core.css +1 -1
  162. package/css/core.css.map +1 -1
  163. package/css/display.css +1 -1
  164. package/css/display.css.map +1 -1
  165. package/css/flex-utils.css +1 -1
  166. package/css/flex-utils.css.map +1 -1
  167. package/css/float-elements.css.map +1 -1
  168. package/css/global.bundle.css.map +1 -1
  169. package/css/ionic-swiper.css +1 -1
  170. package/css/ionic-swiper.css.map +1 -1
  171. package/css/ionic.bundle.css +1 -1
  172. package/css/ionic.bundle.css.map +1 -1
  173. package/css/normalize.css.map +1 -1
  174. package/css/padding.css.map +1 -1
  175. package/css/palettes/dark.always.css.map +1 -1
  176. package/css/palettes/dark.class.css.map +1 -1
  177. package/css/palettes/dark.system.css.map +1 -1
  178. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  179. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  180. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  181. package/css/palettes/high-contrast.always.css.map +1 -1
  182. package/css/palettes/high-contrast.class.css.map +1 -1
  183. package/css/palettes/high-contrast.system.css.map +1 -1
  184. package/css/structure.css.map +1 -1
  185. package/css/text-alignment.css.map +1 -1
  186. package/css/text-transformation.css.map +1 -1
  187. package/css/typography.css.map +1 -1
  188. package/css/utils.bundle.css +1 -1
  189. package/css/utils.bundle.css.map +1 -1
  190. package/dist/cjs/{animation-B3xfVcDO.js → animation-BJq0kcy2.js} +3 -3
  191. package/dist/cjs/{app-globals-3ZoCVkn-.js → app-globals-BlqrqKTN.js} +1 -1
  192. package/dist/cjs/{button-active-3tZKuPbT.js → button-active-0mPOKmV2.js} +2 -2
  193. package/dist/cjs/{capacitor-CQSg1uCo.js → capacitor-DmA66EwP.js} +3 -3
  194. package/dist/cjs/config-xninhj0J.js +201 -0
  195. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  196. package/dist/cjs/{format-BCIkDef_.js → format-PxvGiOik.js} +1 -1
  197. package/dist/cjs/{framework-delegate-DC5nq_NN.js → framework-delegate-BtICZDHr.js} +2 -4
  198. package/dist/cjs/{haptic-eix26ESE.js → haptic-ClPPQ_PS.js} +1 -1
  199. package/dist/cjs/hardware-back-button-iUuF_76h.js +121 -0
  200. package/dist/cjs/{helpers-DiOgV5hw.js → helpers-Cv23MFHM.js} +4 -71
  201. package/dist/cjs/{index-BaJ7_YbC.js → index-BERfRao3.js} +4 -4
  202. package/dist/cjs/{index-GZU9YrFc.js → index-Ct7gcRif.js} +4 -41
  203. package/dist/cjs/{index-bX3nz2vw.js → index-D81eLYUM.js} +8 -9
  204. package/dist/cjs/index-DkNv4J_i.js +10 -0
  205. package/dist/cjs/{index-CxDnX7hd.js → index-DqmRDbxg.js} +1 -3
  206. package/dist/cjs/{index-BxEZd5IE.js → index-Dqpns5vP.js} +34 -2
  207. package/dist/cjs/{index-DYRcC3bw.js → index-aC4x3Fk3.js} +15 -15
  208. package/dist/cjs/index.cjs.js +16 -16
  209. package/dist/cjs/{input-shims-BSEBw22J.js → input-shims-DpA1zUN9.js} +17 -18
  210. package/dist/cjs/{input.utils-D68wgI2Y.js → input.utils-DetjmtH2.js} +5 -5
  211. package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
  212. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -41
  213. package/dist/cjs/ion-alert.cjs.entry.js +41 -78
  214. package/dist/cjs/ion-app_8.cjs.entry.js +194 -458
  215. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
  216. package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
  217. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  218. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
  219. package/dist/cjs/ion-button_2.cjs.entry.js +24 -61
  220. package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
  221. package/dist/cjs/ion-checkbox.cjs.entry.js +17 -34
  222. package/dist/cjs/ion-chip.cjs.entry.js +9 -50
  223. package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
  224. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
  225. package/dist/cjs/ion-datetime_3.cjs.entry.js +46 -121
  226. package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
  227. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  228. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -93
  229. package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
  230. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
  231. package/dist/cjs/ion-input.cjs.entry.js +35 -146
  232. package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
  233. package/dist/cjs/ion-item_8.cjs.entry.js +50 -121
  234. package/dist/cjs/ion-loading.cjs.entry.js +19 -22
  235. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
  236. package/dist/cjs/ion-modal.cjs.entry.js +169 -303
  237. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  238. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
  239. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  240. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  241. package/dist/cjs/ion-popover.cjs.entry.js +19 -21
  242. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
  243. package/dist/cjs/ion-radio_2.cjs.entry.js +18 -36
  244. package/dist/cjs/ion-range.cjs.entry.js +13 -20
  245. package/dist/cjs/ion-refresher_2.cjs.entry.js +24 -43
  246. package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
  247. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  248. package/dist/cjs/ion-route_4.cjs.entry.js +10 -11
  249. package/dist/cjs/ion-searchbar.cjs.entry.js +27 -160
  250. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  251. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
  252. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
  253. package/dist/cjs/ion-select-modal.cjs.entry.js +38 -114
  254. package/dist/cjs/ion-select_3.cjs.entry.js +108 -557
  255. package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
  256. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
  257. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -150
  258. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  259. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  260. package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
  261. package/dist/cjs/ion-toast.cjs.entry.js +46 -70
  262. package/dist/cjs/ion-toggle.cjs.entry.js +26 -82
  263. package/dist/cjs/ionic-global-B-cA6LkY.js +151 -0
  264. package/dist/cjs/ionic.cjs.js +4 -4
  265. package/dist/cjs/{ios.transition-DpFQfFfT.js → ios.transition-BOSWOaiK.js} +5 -7
  266. package/dist/cjs/{item-multiple-inputs-BG9f5_eV.js → item-multiple-inputs-D-gyg57c.js} +1 -1
  267. package/dist/cjs/{keyboard-Bn0Ppim6.js → keyboard-UuAS4D_9.js} +1 -1
  268. package/dist/cjs/keyboard-controller-GXBiBRKS.js +167 -0
  269. package/dist/cjs/{keyboard-faZBQysj.js → keyboard-hHzlEQpk.js} +3 -4
  270. package/dist/cjs/loader.cjs.js +4 -4
  271. package/dist/cjs/{md.transition-ChJcoZUH.js → md.transition-B8-wBZqt.js} +5 -6
  272. package/dist/cjs/{notch-controller-BO0UGB4F.js → notch-controller-18PzRGXd.js} +4 -4
  273. package/dist/cjs/{overlays-CFGbPUmE.js → overlays-DdtIYQUH.js} +18 -309
  274. package/dist/cjs/{status-tap-x2qDo5QR.js → status-tap-N1kaBbuk.js} +3 -4
  275. package/dist/cjs/{swipe-back-CvZt_4YX.js → swipe-back-C0GCB18x.js} +2 -3
  276. package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
  277. package/dist/cjs/validity-BpS37YFM.js +19 -0
  278. package/dist/collection/collection-manifest.json +1 -9
  279. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  280. package/dist/collection/components/accordion/accordion.js +27 -41
  281. package/dist/collection/components/accordion/accordion.md.css +59 -67
  282. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  283. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  284. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  285. package/dist/collection/components/action-sheet/action-sheet.ios.css +11 -367
  286. package/dist/collection/components/action-sheet/action-sheet.js +13 -32
  287. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -306
  288. package/dist/collection/components/alert/alert.ios.css +19 -481
  289. package/dist/collection/components/alert/alert.js +30 -67
  290. package/dist/collection/components/alert/alert.md.css +29 -464
  291. package/dist/collection/components/app/app.js +83 -15
  292. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  293. package/dist/collection/components/avatar/avatar.js +4 -120
  294. package/dist/collection/components/avatar/avatar.md.css +0 -51
  295. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  296. package/dist/collection/components/back-button/back-button.js +19 -27
  297. package/dist/collection/components/back-button/back-button.md.css +48 -60
  298. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  299. package/dist/collection/components/backdrop/backdrop.js +6 -12
  300. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  301. package/dist/collection/components/badge/badge.ios.css +12 -137
  302. package/dist/collection/components/badge/badge.js +9 -145
  303. package/dist/collection/components/badge/badge.md.css +12 -122
  304. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  305. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  306. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  307. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  308. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  309. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  310. package/dist/collection/components/button/button.ios.css +46 -154
  311. package/dist/collection/components/button/button.js +27 -63
  312. package/dist/collection/components/button/button.md.css +50 -150
  313. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  314. package/dist/collection/components/buttons/buttons.js +9 -15
  315. package/dist/collection/components/buttons/buttons.md.css +3 -55
  316. package/dist/collection/components/card/card.ios.css +14 -65
  317. package/dist/collection/components/card/card.js +10 -41
  318. package/dist/collection/components/card/card.md.css +14 -65
  319. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  320. package/dist/collection/components/card-content/card-content.js +10 -12
  321. package/dist/collection/components/card-content/card-content.md.css +35 -20
  322. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  323. package/dist/collection/components/card-header/card-header.js +10 -13
  324. package/dist/collection/components/card-header/card-header.md.css +15 -27
  325. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  326. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  327. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  328. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  329. package/dist/collection/components/card-title/card-title.js +8 -11
  330. package/dist/collection/components/card-title/card-title.md.css +0 -73
  331. package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
  332. package/dist/collection/components/checkbox/checkbox.js +14 -69
  333. package/dist/collection/components/checkbox/checkbox.md.css +118 -243
  334. package/dist/collection/components/chip/chip.ios.css +14 -67
  335. package/dist/collection/components/chip/chip.js +8 -108
  336. package/dist/collection/components/chip/chip.md.css +14 -67
  337. package/dist/collection/components/col/col.css +4 -192
  338. package/dist/collection/components/col/col.js +61 -211
  339. package/dist/collection/components/content/content.css +2 -47
  340. package/dist/collection/components/content/content.js +11 -16
  341. package/dist/collection/components/datetime/datetime.ios.css +106 -302
  342. package/dist/collection/components/datetime/datetime.js +20 -97
  343. package/dist/collection/components/datetime/datetime.md.css +96 -293
  344. package/dist/collection/components/datetime/utils/data.js +5 -5
  345. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  346. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  347. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  348. package/dist/collection/components/fab/fab.css +1 -25
  349. package/dist/collection/components/fab/fab.js +5 -9
  350. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  351. package/dist/collection/components/fab-button/fab-button.js +21 -36
  352. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  353. package/dist/collection/components/fab-list/fab-list.css +0 -12
  354. package/dist/collection/components/fab-list/fab-list.js +5 -9
  355. package/dist/collection/components/footer/footer.ios.css +6 -33
  356. package/dist/collection/components/footer/footer.js +25 -117
  357. package/dist/collection/components/footer/footer.md.css +0 -40
  358. package/dist/collection/components/grid/grid.css +0 -12
  359. package/dist/collection/components/grid/grid.js +5 -9
  360. package/dist/collection/components/header/header.ios.css +133 -178
  361. package/dist/collection/components/header/header.js +39 -181
  362. package/dist/collection/components/header/header.md.css +9 -199
  363. package/dist/collection/components/header/header.utils.js +13 -6
  364. package/dist/collection/components/img/img.js +2 -8
  365. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  366. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  367. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  368. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  369. package/dist/collection/components/input/input.ios.css +137 -224
  370. package/dist/collection/components/input/input.js +39 -172
  371. package/dist/collection/components/input/input.md.css +209 -194
  372. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  373. package/dist/collection/components/input-otp/input-otp.js +7 -74
  374. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  376. package/dist/collection/components/item/item.ios.css +80 -120
  377. package/dist/collection/components/item/item.js +21 -56
  378. package/dist/collection/components/item/item.md.css +79 -131
  379. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  380. package/dist/collection/components/item-divider/item-divider.js +8 -11
  381. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  382. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  383. package/dist/collection/components/item-group/item-group.js +7 -13
  384. package/dist/collection/components/item-group/item-group.md.css +0 -12
  385. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  386. package/dist/collection/components/item-option/item-option.js +9 -73
  387. package/dist/collection/components/item-option/item-option.md.css +29 -136
  388. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  389. package/dist/collection/components/item-options/item-options.js +7 -13
  390. package/dist/collection/components/item-options/item-options.md.css +34 -77
  391. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  392. package/dist/collection/components/item-sliding/item-sliding.js +35 -421
  393. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  394. package/dist/collection/components/label/label.ios.css +0 -18
  395. package/dist/collection/components/label/label.js +8 -11
  396. package/dist/collection/components/label/label.md.css +0 -18
  397. package/dist/collection/components/list/list.ios.css +14 -54
  398. package/dist/collection/components/list/list.js +9 -48
  399. package/dist/collection/components/list/list.md.css +16 -56
  400. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  401. package/dist/collection/components/list-header/list-header.js +8 -11
  402. package/dist/collection/components/list-header/list-header.md.css +38 -82
  403. package/dist/collection/components/loading/loading.ios.css +1 -13
  404. package/dist/collection/components/loading/loading.js +11 -14
  405. package/dist/collection/components/loading/loading.md.css +1 -13
  406. package/dist/collection/components/menu/menu.ios.css +3 -15
  407. package/dist/collection/components/menu/menu.js +7 -12
  408. package/dist/collection/components/menu/menu.md.css +3 -15
  409. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  410. package/dist/collection/components/menu-button/menu-button.js +10 -26
  411. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  412. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  413. package/dist/collection/components/modal/animations/sheet.js +2 -8
  414. package/dist/collection/components/modal/gestures/sheet.js +32 -102
  415. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -32
  416. package/dist/collection/components/modal/gestures/utils.js +17 -0
  417. package/dist/collection/components/modal/modal.ios.css +70 -178
  418. package/dist/collection/components/modal/modal.js +22 -52
  419. package/dist/collection/components/modal/modal.md.css +70 -178
  420. package/dist/collection/components/nav/nav.css +1 -7
  421. package/dist/collection/components/nav/nav.js +5 -11
  422. package/dist/collection/components/nav-link/nav-link.js +1 -5
  423. package/dist/collection/components/note/note.ios.css +0 -12
  424. package/dist/collection/components/note/note.js +8 -11
  425. package/dist/collection/components/note/note.md.css +0 -12
  426. package/dist/collection/components/picker/picker.ios.css +3 -15
  427. package/dist/collection/components/picker/picker.js +5 -8
  428. package/dist/collection/components/picker/picker.md.css +3 -15
  429. package/dist/collection/components/picker-column/picker-column.css +2 -9
  430. package/dist/collection/components/picker-column/picker-column.js +7 -8
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  434. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  435. package/dist/collection/components/picker-legacy/picker.js +6 -7
  436. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  440. package/dist/collection/components/popover/popover.ios.css +1 -29
  441. package/dist/collection/components/popover/popover.js +15 -18
  442. package/dist/collection/components/popover/popover.md.css +1 -29
  443. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  444. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  445. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  446. package/dist/collection/components/radio/radio.ios.css +102 -207
  447. package/dist/collection/components/radio/radio.js +9 -14
  448. package/dist/collection/components/radio/radio.md.css +102 -207
  449. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  450. package/dist/collection/components/radio-group/radio-group.js +7 -48
  451. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  452. package/dist/collection/components/range/range.ios.css +85 -128
  453. package/dist/collection/components/range/range.js +10 -16
  454. package/dist/collection/components/range/range.md.css +85 -128
  455. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  456. package/dist/collection/components/refresher/refresher.js +10 -13
  457. package/dist/collection/components/refresher/refresher.md.css +2 -15
  458. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  459. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  460. package/dist/collection/components/reorder/reorder.js +6 -33
  461. package/dist/collection/components/reorder/reorder.md.css +0 -6
  462. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  463. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  464. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  465. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  466. package/dist/collection/components/route/route.js +0 -4
  467. package/dist/collection/components/router/router.js +0 -4
  468. package/dist/collection/components/router-link/router-link.css +2 -8
  469. package/dist/collection/components/router-link/router-link.js +5 -9
  470. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  471. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  472. package/dist/collection/components/row/row.css +0 -16
  473. package/dist/collection/components/row/row.js +2 -9
  474. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  475. package/dist/collection/components/searchbar/searchbar.js +37 -205
  476. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  477. package/dist/collection/components/segment/segment.ios.css +2 -45
  478. package/dist/collection/components/segment/segment.js +8 -11
  479. package/dist/collection/components/segment/segment.md.css +2 -45
  480. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  481. package/dist/collection/components/segment-button/segment-button.js +8 -11
  482. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  483. package/dist/collection/components/segment-content/segment-content.js +1 -1
  484. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  485. package/dist/collection/components/segment-view/segment-view.js +4 -13
  486. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  487. package/dist/collection/components/select/select.ios.css +176 -348
  488. package/dist/collection/components/select/select.js +92 -521
  489. package/dist/collection/components/select/select.md.css +178 -364
  490. package/dist/collection/components/select-modal/select-modal.ios.css +0 -466
  491. package/dist/collection/components/select-modal/select-modal.js +30 -126
  492. package/dist/collection/components/select-modal/select-modal.md.css +0 -394
  493. package/dist/collection/components/select-option/select-option.js +4 -72
  494. package/dist/collection/components/select-popover/select-popover.ios.css +20 -302
  495. package/dist/collection/components/select-popover/select-popover.js +29 -89
  496. package/dist/collection/components/select-popover/select-popover.md.css +0 -345
  497. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  498. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  499. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  500. package/dist/collection/components/spinner/spinner.js +6 -47
  501. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  502. package/dist/collection/components/split-pane/split-pane.js +8 -15
  503. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  504. package/dist/collection/components/tab/tab.js +2 -6
  505. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
  506. package/dist/collection/components/tab-bar/tab-bar.js +15 -179
  507. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
  508. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  509. package/dist/collection/components/tab-button/tab-button.js +9 -54
  510. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  511. package/dist/collection/components/tabs/tabs.css +1 -7
  512. package/dist/collection/components/tabs/tabs.js +1 -4
  513. package/dist/collection/components/text/text.css +0 -6
  514. package/dist/collection/components/text/text.js +6 -7
  515. package/dist/collection/components/textarea/textarea.ios.css +158 -298
  516. package/dist/collection/components/textarea/textarea.js +24 -162
  517. package/dist/collection/components/textarea/textarea.md.css +159 -312
  518. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  519. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  520. package/dist/collection/components/title/title.ios.css +4 -32
  521. package/dist/collection/components/title/title.js +7 -13
  522. package/dist/collection/components/title/title.md.css +4 -39
  523. package/dist/collection/components/toast/animations/utils.js +1 -1
  524. package/dist/collection/components/toast/toast.ios.css +45 -84
  525. package/dist/collection/components/toast/toast.js +13 -76
  526. package/dist/collection/components/toast/toast.md.css +45 -84
  527. package/dist/collection/components/toggle/toggle.ios.css +127 -247
  528. package/dist/collection/components/toggle/toggle.js +18 -72
  529. package/dist/collection/components/toggle/toggle.md.css +127 -245
  530. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  531. package/dist/collection/components/toolbar/toolbar.js +13 -218
  532. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  533. package/dist/collection/global/ionic-global.js +13 -241
  534. package/dist/collection/utils/content/index.js +30 -0
  535. package/dist/collection/utils/focus-trap.js +2 -13
  536. package/dist/collection/utils/focus-visible.js +0 -22
  537. package/dist/collection/utils/forms/validity.js +0 -31
  538. package/dist/collection/utils/framework-delegate.js +1 -3
  539. package/dist/collection/utils/hardware-back-button.js +0 -15
  540. package/dist/collection/utils/helpers.js +3 -70
  541. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  542. package/dist/collection/utils/media.js +0 -1
  543. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  544. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  545. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  546. package/dist/collection/utils/overlays.js +8 -290
  547. package/dist/collection/utils/sanitization/index.js +18 -274
  548. package/dist/collection/utils/test/playwright/drag-element.js +9 -32
  549. package/dist/collection/utils/test/playwright/generator.js +23 -48
  550. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  551. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  552. package/dist/collection/utils/theme.js +1 -25
  553. package/dist/collection/utils/transition/ios.transition.js +0 -1
  554. package/dist/docs.json +286 -9090
  555. package/dist/esm/{animation-B2qdQ_ou.js → animation-DLJpuoEz.js} +2 -2
  556. package/dist/esm/{app-globals-DZ-iIjxA.js → app-globals-D0C5S4hU.js} +1 -1
  557. package/dist/esm/{button-active-BmajAby6.js → button-active-BSpTQmS9.js} +2 -2
  558. package/dist/esm/{capacitor-CtQSWUU0.js → capacitor-CFERIeaU.js} +1 -1
  559. package/dist/esm/config-DQCONYYp.js +195 -0
  560. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  561. package/dist/esm/{format-2WlZcMvG.js → format-CAmvpAez.js} +1 -1
  562. package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate-FnPGymXL.js} +2 -4
  563. package/dist/esm/{haptic-DFgKNCce.js → haptic-DzAMWJuk.js} +1 -1
  564. package/dist/esm/hardware-back-button-B93Gru0Y.js +115 -0
  565. package/dist/esm/{helpers-DfF5_wJc.js → helpers-HEqiOzXb.js} +5 -71
  566. package/dist/esm/{index-BjaaZqVY.js → index-BRHzoo00.js} +3 -4
  567. package/dist/esm/{index-BIUWGRUl.js → index-B_dQk_WE.js} +4 -4
  568. package/dist/esm/{index-B4Kq2YNk.js → index-DV3sJJW8.js} +2 -3
  569. package/dist/esm/{index-KxK0gcRp.js → index-Dw-wN0Ja.js} +33 -3
  570. package/dist/esm/{index-Di034G4O.js → index-Q6UPU0Ay.js} +11 -11
  571. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  572. package/dist/esm/{index-C0EQceqV.js → index-tcQvqkiX.js} +4 -41
  573. package/dist/esm/index.js +14 -14
  574. package/dist/esm/{input-shims-DvNNw70a.js → input-shims-LXhI7LEx.js} +6 -7
  575. package/dist/esm/{input.utils-_LkBfBWt.js → input.utils-Y6NgW8bw.js} +3 -3
  576. package/dist/esm/ion-accordion_2.entry.js +29 -61
  577. package/dist/esm/ion-action-sheet.entry.js +22 -41
  578. package/dist/esm/ion-alert.entry.js +40 -77
  579. package/dist/esm/ion-app_8.entry.js +193 -457
  580. package/dist/esm/ion-avatar_3.entry.js +13 -125
  581. package/dist/esm/ion-back-button.entry.js +22 -31
  582. package/dist/esm/ion-backdrop.entry.js +7 -10
  583. package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
  584. package/dist/esm/ion-button_2.entry.js +24 -61
  585. package/dist/esm/ion-card_5.entry.js +33 -55
  586. package/dist/esm/ion-checkbox.entry.js +17 -34
  587. package/dist/esm/ion-chip.entry.js +9 -50
  588. package/dist/esm/ion-col_3.entry.js +57 -56
  589. package/dist/esm/ion-datetime-button.entry.js +9 -13
  590. package/dist/esm/ion-datetime_3.entry.js +46 -121
  591. package/dist/esm/ion-fab_3.entry.js +28 -44
  592. package/dist/esm/ion-img.entry.js +4 -8
  593. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -92
  594. package/dist/esm/ion-input-otp.entry.js +9 -74
  595. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  596. package/dist/esm/ion-input.entry.js +35 -146
  597. package/dist/esm/ion-item-option_3.entry.js +52 -467
  598. package/dist/esm/ion-item_8.entry.js +50 -121
  599. package/dist/esm/ion-loading.entry.js +18 -21
  600. package/dist/esm/ion-menu_3.entry.js +29 -47
  601. package/dist/esm/ion-modal.entry.js +135 -269
  602. package/dist/esm/ion-nav_2.entry.js +11 -14
  603. package/dist/esm/ion-picker-column-option.entry.js +8 -12
  604. package/dist/esm/ion-picker-column.entry.js +13 -13
  605. package/dist/esm/ion-picker.entry.js +6 -10
  606. package/dist/esm/ion-popover.entry.js +19 -21
  607. package/dist/esm/ion-progress-bar.entry.js +9 -27
  608. package/dist/esm/ion-radio_2.entry.js +18 -36
  609. package/dist/esm/ion-range.entry.js +13 -20
  610. package/dist/esm/ion-refresher_2.entry.js +22 -41
  611. package/dist/esm/ion-reorder_2.entry.js +14 -38
  612. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  613. package/dist/esm/ion-route_4.entry.js +10 -11
  614. package/dist/esm/ion-searchbar.entry.js +27 -160
  615. package/dist/esm/ion-segment-content.entry.js +2 -2
  616. package/dist/esm/ion-segment-view.entry.js +3 -13
  617. package/dist/esm/ion-segment_2.entry.js +16 -23
  618. package/dist/esm/ion-select-modal.entry.js +38 -114
  619. package/dist/esm/ion-select_3.entry.js +108 -557
  620. package/dist/esm/ion-spinner.entry.js +8 -30
  621. package/dist/esm/ion-split-pane.entry.js +9 -13
  622. package/dist/esm/ion-tab-bar_2.entry.js +27 -149
  623. package/dist/esm/ion-tab_2.entry.js +7 -8
  624. package/dist/esm/ion-text.entry.js +7 -7
  625. package/dist/esm/ion-textarea.entry.js +23 -137
  626. package/dist/esm/ion-toast.entry.js +21 -45
  627. package/dist/esm/ion-toggle.entry.js +26 -82
  628. package/dist/esm/ionic-global-Cp_eT4sZ.js +146 -0
  629. package/dist/esm/ionic.js +5 -5
  630. package/dist/esm/{ios.transition-CgScDbsb.js → ios.transition-ClFrsIrS.js} +5 -7
  631. package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
  632. package/dist/esm/{keyboard-CyyguLDw.js → keyboard-CUw4ekVy.js} +1 -1
  633. package/dist/esm/keyboard-controller-BaaVITYt.js +165 -0
  634. package/dist/esm/{keyboard-WJix-wcz.js → keyboard-ywgs5efA.js} +3 -4
  635. package/dist/esm/loader.js +5 -5
  636. package/dist/esm/{md.transition-DThqYazt.js → md.transition-D0msQmzI.js} +5 -6
  637. package/dist/esm/{notch-controller-MTblRxjD.js → notch-controller-DKDjU_O7.js} +2 -2
  638. package/dist/esm/{overlays-tv6nLsmk.js → overlays-Dg0q2_tJ.js} +15 -306
  639. package/dist/esm/{status-tap-CoPI1M2q.js → status-tap-vO-6s4Yp.js} +3 -4
  640. package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-DQ1q5MgD.js} +2 -3
  641. package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
  642. package/dist/esm/validity-DJztqcrH.js +17 -0
  643. package/dist/html.html-data.json +160 -2699
  644. package/dist/ionic/index.esm.js +1 -1
  645. package/dist/ionic/ionic.esm.js +1 -1
  646. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  647. package/dist/ionic/p-06c232a4.entry.js +4 -0
  648. package/dist/ionic/p-0caa922c.entry.js +4 -0
  649. package/dist/ionic/p-0dc33652.entry.js +4 -0
  650. package/dist/ionic/p-0fa9c382.entry.js +4 -0
  651. package/dist/ionic/p-10e833ef.entry.js +4 -0
  652. package/dist/ionic/p-15c9319c.entry.js +4 -0
  653. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  654. package/dist/ionic/p-27d30585.entry.js +4 -0
  655. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  656. package/dist/ionic/p-2b204c59.entry.js +4 -0
  657. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  658. package/dist/ionic/p-2fa58e80.entry.js +4 -0
  659. package/dist/ionic/p-3353c229.entry.js +4 -0
  660. package/dist/ionic/p-34586ead.entry.js +4 -0
  661. package/dist/ionic/p-37e720da.entry.js +4 -0
  662. package/dist/ionic/p-390ca786.entry.js +4 -0
  663. package/dist/ionic/p-3ae5f277.entry.js +4 -0
  664. package/dist/ionic/p-4654ae1c.entry.js +4 -0
  665. package/dist/ionic/p-4745f534.entry.js +4 -0
  666. package/dist/ionic/p-4858af1f.entry.js +4 -0
  667. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  668. package/dist/ionic/p-4e92a11f.entry.js +4 -0
  669. package/dist/ionic/p-5018dfc8.entry.js +4 -0
  670. package/dist/ionic/p-50e1194a.entry.js +4 -0
  671. package/dist/ionic/p-5334df12.entry.js +4 -0
  672. package/dist/ionic/p-5d1da0a2.entry.js +4 -0
  673. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  674. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  675. package/dist/ionic/p-746fa988.entry.js +4 -0
  676. package/dist/ionic/p-75dc25ba.entry.js +4 -0
  677. package/dist/ionic/p-7c319341.entry.js +4 -0
  678. package/dist/ionic/p-829367ed.entry.js +4 -0
  679. package/dist/ionic/p-84d5ce05.entry.js +4 -0
  680. package/dist/ionic/p-874b4bd8.entry.js +4 -0
  681. package/dist/ionic/p-8eb8ee76.entry.js +4 -0
  682. package/dist/ionic/p-9eeaBrnk.js +4 -0
  683. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  684. package/dist/ionic/p-BGqMS-oh.js +4 -0
  685. package/dist/ionic/p-BUFIpxKM.js +4 -0
  686. package/dist/ionic/p-BmVRXR1y.js +4 -0
  687. package/dist/ionic/{p-7k7Q1A38.js → p-C0eMdTCW.js} +1 -1
  688. package/dist/ionic/p-CFlfIb2g.js +4 -0
  689. package/dist/ionic/p-CIGNaXM1.js +4 -0
  690. package/{components/p-BPxMDyfV.js → dist/ionic/p-CKvCXMs9.js} +1 -1
  691. package/dist/ionic/p-CmcFnK-B.js +4 -0
  692. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  693. package/dist/ionic/p-Cx3IXROA.js +4 -0
  694. package/dist/ionic/p-D-3ycHmd.js +4 -0
  695. package/dist/ionic/{p-DQDmksdT.js → p-D13Eaw-8.js} +1 -1
  696. package/dist/ionic/p-D4uTWt4-.js +4 -0
  697. package/dist/ionic/p-DC3RagnA.js +4 -0
  698. package/dist/ionic/p-DIuEbVLu.js +4 -0
  699. package/dist/ionic/p-DJztqcrH.js +4 -0
  700. package/dist/ionic/p-DV3sJJW8.js +4 -0
  701. package/dist/ionic/p-DiVJyqlX.js +4 -0
  702. package/dist/ionic/p-DoJvtrbw.js +4 -0
  703. package/dist/ionic/p-DqN5EA2O.js +4 -0
  704. package/dist/ionic/p-DzWaWHGc.js +4 -0
  705. package/dist/ionic/p-KjNvRoEp.js +4 -0
  706. package/dist/ionic/p-Nqf6uvGh.js +4 -0
  707. package/dist/ionic/p-SNAkTDfm.js +4 -0
  708. package/{components/p-PCVpe9Tq.js → dist/ionic/p-VAemlbDS.js} +1 -1
  709. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  710. package/dist/ionic/p-a3bdcae6.entry.js +4 -0
  711. package/dist/ionic/p-aaeedb6b.entry.js +4 -0
  712. package/dist/ionic/p-af55a72f.entry.js +4 -0
  713. package/dist/ionic/p-b2020591.entry.js +4 -0
  714. package/dist/ionic/p-b9fadbfe.entry.js +4 -0
  715. package/dist/ionic/p-biz8zWmJ.js +4 -0
  716. package/dist/ionic/p-c0fb8edd.entry.js +4 -0
  717. package/dist/ionic/p-c38b648e.entry.js +4 -0
  718. package/dist/ionic/p-c4d8641b.entry.js +4 -0
  719. package/dist/ionic/p-c6e49f3f.entry.js +4 -0
  720. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  721. package/dist/ionic/p-d1aac015.entry.js +4 -0
  722. package/dist/ionic/p-d889ff6d.entry.js +4 -0
  723. package/dist/ionic/p-dfa8d673.entry.js +4 -0
  724. package/dist/ionic/p-ef4c3bee.entry.js +4 -0
  725. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  726. package/dist/ionic/p-mjKAFv89.js +4 -0
  727. package/dist/ionic/p-tcQvqkiX.js +5 -0
  728. package/dist/ionic/p-uWtqTrG8.js +4 -0
  729. package/dist/ionic/p-viFHDgRs.js +4 -0
  730. package/dist/ionic/p-xWb6fgfq.js +4 -0
  731. package/dist/types/components/accordion/accordion.d.ts +3 -6
  732. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  733. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  734. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  735. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  736. package/dist/types/components/alert/alert.d.ts +2 -3
  737. package/dist/types/components/app/app.d.ts +5 -4
  738. package/dist/types/components/avatar/avatar.d.ts +0 -32
  739. package/dist/types/components/back-button/back-button.d.ts +1 -2
  740. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  741. package/dist/types/components/badge/badge.d.ts +1 -34
  742. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  743. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  744. package/dist/types/components/button/button.d.ts +8 -23
  745. package/dist/types/components/buttons/buttons.d.ts +1 -5
  746. package/dist/types/components/card/card.d.ts +1 -8
  747. package/dist/types/components/card-content/card-content.d.ts +1 -2
  748. package/dist/types/components/card-header/card-header.d.ts +2 -3
  749. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  750. package/dist/types/components/card-title/card-title.d.ts +1 -2
  751. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  752. package/dist/types/components/chip/chip.d.ts +1 -26
  753. package/dist/types/components/col/col.d.ts +5 -52
  754. package/dist/types/components/content/content.d.ts +0 -3
  755. package/dist/types/components/datetime/datetime.d.ts +1 -26
  756. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  757. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  758. package/dist/types/components/fab/fab.d.ts +0 -4
  759. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  760. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  761. package/dist/types/components/footer/footer.d.ts +3 -20
  762. package/dist/types/components/grid/grid.d.ts +0 -4
  763. package/dist/types/components/header/header.d.ts +3 -26
  764. package/dist/types/components/header/header.utils.d.ts +5 -4
  765. package/dist/types/components/img/img.d.ts +0 -3
  766. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  767. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  768. package/dist/types/components/input/input.d.ts +5 -37
  769. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  770. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  771. package/dist/types/components/item/item.d.ts +4 -11
  772. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  773. package/dist/types/components/item-group/item-group.d.ts +0 -4
  774. package/dist/types/components/item-option/item-option.d.ts +1 -18
  775. package/dist/types/components/item-options/item-options.d.ts +0 -4
  776. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  777. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  778. package/dist/types/components/label/label.d.ts +1 -2
  779. package/dist/types/components/list/list.d.ts +1 -15
  780. package/dist/types/components/list-header/list-header.d.ts +1 -2
  781. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  782. package/dist/types/components/loading/loading.d.ts +2 -3
  783. package/dist/types/components/menu/menu.d.ts +0 -3
  784. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  785. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  786. package/dist/types/components/modal/gestures/sheet.d.ts +2 -1
  787. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  788. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  789. package/dist/types/components/modal/modal.d.ts +2 -11
  790. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  791. package/dist/types/components/nav/nav.d.ts +1 -5
  792. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  793. package/dist/types/components/note/note.d.ts +1 -2
  794. package/dist/types/components/picker/picker.d.ts +1 -2
  795. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  796. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  797. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  798. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  799. package/dist/types/components/popover/popover.d.ts +5 -6
  800. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  801. package/dist/types/components/radio/radio.d.ts +1 -2
  802. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  803. package/dist/types/components/range/range.d.ts +1 -2
  804. package/dist/types/components/refresher/refresher.d.ts +1 -2
  805. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  806. package/dist/types/components/reorder/reorder.d.ts +0 -9
  807. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  808. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  809. package/dist/types/components/route/route.d.ts +0 -4
  810. package/dist/types/components/router/router.d.ts +0 -4
  811. package/dist/types/components/router-link/router-link.d.ts +0 -4
  812. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  813. package/dist/types/components/row/row.d.ts +0 -4
  814. package/dist/types/components/searchbar/searchbar.d.ts +10 -59
  815. package/dist/types/components/segment/segment.d.ts +1 -2
  816. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  817. package/dist/types/components/select/select-interface.d.ts +0 -31
  818. package/dist/types/components/select/select.d.ts +13 -66
  819. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  820. package/dist/types/components/select-option/select-option.d.ts +1 -45
  821. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  822. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  823. package/dist/types/components/spinner/spinner.d.ts +0 -15
  824. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  825. package/dist/types/components/tab/tab.d.ts +0 -4
  826. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
  827. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
  828. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  829. package/dist/types/components/tabs/tabs.d.ts +0 -3
  830. package/dist/types/components/text/text.d.ts +1 -2
  831. package/dist/types/components/textarea/textarea.d.ts +4 -53
  832. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  833. package/dist/types/components/title/title.d.ts +0 -4
  834. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  835. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  836. package/dist/types/components/toast/toast.d.ts +2 -19
  837. package/dist/types/components/toggle/toggle.d.ts +1 -15
  838. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  839. package/dist/types/components.d.ts +211 -1882
  840. package/dist/types/global/ionic-global.d.ts +2 -28
  841. package/dist/types/interface.d.ts +0 -3
  842. package/dist/types/utils/config.d.ts +2 -106
  843. package/dist/types/utils/content/index.d.ts +12 -0
  844. package/dist/types/utils/focus-trap.d.ts +1 -1
  845. package/dist/types/utils/focus-visible.d.ts +0 -13
  846. package/dist/types/utils/forms/validity.d.ts +0 -7
  847. package/dist/types/utils/helpers.d.ts +0 -22
  848. package/dist/types/utils/overlays-interface.d.ts +1 -31
  849. package/dist/types/utils/overlays.d.ts +1 -1
  850. package/dist/types/utils/sanitization/index.d.ts +2 -58
  851. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  852. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  853. package/dist/types/utils/theme.d.ts +0 -9
  854. package/hydrate/index.js +1471 -6450
  855. package/hydrate/index.mjs +1471 -6450
  856. package/package.json +5 -9
  857. package/components/ion-divider.d.ts +0 -11
  858. package/components/ion-divider.js +0 -4
  859. package/components/ion-gallery-item.d.ts +0 -11
  860. package/components/ion-gallery-item.js +0 -4
  861. package/components/ion-gallery.d.ts +0 -11
  862. package/components/ion-gallery.js +0 -4
  863. package/components/p-3VXQGlP7.js +0 -4
  864. package/components/p-B2SvA6NE.js +0 -4
  865. package/components/p-B5krYTuW.js +0 -4
  866. package/components/p-B6a9IJZ0.js +0 -4
  867. package/components/p-BArGQkuV.js +0 -4
  868. package/components/p-BDqjX7Z_.js +0 -4
  869. package/components/p-BG-Q139o.js +0 -4
  870. package/components/p-BWH3I3Dl.js +0 -4
  871. package/components/p-BYSs-jZz.js +0 -4
  872. package/components/p-BbVhJs-a.js +0 -4
  873. package/components/p-Bc6odfwr.js +0 -4
  874. package/components/p-BjW8SOqw.js +0 -4
  875. package/components/p-BkWXBpOv.js +0 -4
  876. package/components/p-Bt9GDUv-.js +0 -4
  877. package/components/p-BvNVjXg4.js +0 -4
  878. package/components/p-BwKpO3Is.js +0 -4
  879. package/components/p-BwlU9cX_.js +0 -4
  880. package/components/p-CBxy8OYq.js +0 -4
  881. package/components/p-CGdeq57o.js +0 -4
  882. package/components/p-CHPdgLHZ.js +0 -4
  883. package/components/p-CMZlqiT7.js +0 -4
  884. package/components/p-CMzkbes2.js +0 -4
  885. package/components/p-CODBQrPj.js +0 -4
  886. package/components/p-COPA4jD9.js +0 -4
  887. package/components/p-CPnW-OVE.js +0 -4
  888. package/components/p-CRmBpp1v.js +0 -4
  889. package/components/p-CT3P-wjL.js +0 -4
  890. package/components/p-CVYFPBs-.js +0 -4
  891. package/components/p-CVqhQif1.js +0 -4
  892. package/components/p-Cc3oC60a.js +0 -4
  893. package/components/p-CjY4Hs1X.js +0 -4
  894. package/components/p-CrYjk-l3.js +0 -4
  895. package/components/p-CsUcWJuB.js +0 -4
  896. package/components/p-D0Iqw6OZ.js +0 -4
  897. package/components/p-D1kNlmYt.js +0 -4
  898. package/components/p-D1t981Ih.js +0 -4
  899. package/components/p-D9C5yWpF.js +0 -4
  900. package/components/p-DDNG-IsR.js +0 -4
  901. package/components/p-DJSp7Si8.js +0 -4
  902. package/components/p-DL5wyRub.js +0 -4
  903. package/components/p-DXKZXLjV.js +0 -4
  904. package/components/p-DaJxRxSQ.js +0 -4
  905. package/components/p-Dhi5xtNS.js +0 -4
  906. package/components/p-Do8qRv6r.js +0 -4
  907. package/components/p-Dt--PjSF.js +0 -4
  908. package/components/p-DylrHLJF.js +0 -4
  909. package/components/p-FCT_QxQG.js +0 -4
  910. package/components/p-OCde3AhO.js +0 -4
  911. package/components/p-OPFCgx0m.js +0 -4
  912. package/components/p-Rkm2AOZ2.js +0 -4
  913. package/components/p-WSZErkoI.js +0 -4
  914. package/components/p-bHSMZulH.js +0 -4
  915. package/components/p-fIOYmaqA.js +0 -4
  916. package/components/p-hNcst9K9.js +0 -4
  917. package/components/p-hW_3y-wm.js +0 -4
  918. package/components/p-nLMDgmzd.js +0 -4
  919. package/components/p-oI96rnOD.js +0 -4
  920. package/components/p-r_CFQBc1.js +0 -4
  921. package/components/p-vXpMhGrs.js +0 -4
  922. package/components/p-zBZRdRDd.js +0 -4
  923. package/css/ionic/bundle.ionic.css +0 -1
  924. package/css/ionic/bundle.ionic.css.map +0 -1
  925. package/css/ionic/core.ionic.css +0 -1
  926. package/css/ionic/core.ionic.css.map +0 -1
  927. package/css/ionic/global.bundle.ionic.css +0 -1
  928. package/css/ionic/global.bundle.ionic.css.map +0 -1
  929. package/css/ionic/ionic-swiper.ionic.css +0 -1
  930. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  931. package/css/ionic/link.ionic.css +0 -1
  932. package/css/ionic/link.ionic.css.map +0 -1
  933. package/css/ionic/structure.ionic.css +0 -1
  934. package/css/ionic/structure.ionic.css.map +0 -1
  935. package/css/ionic/typography.ionic.css +0 -1
  936. package/css/ionic/typography.ionic.css.map +0 -1
  937. package/css/ionic/utils.bundle.ionic.css +0 -1
  938. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  939. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  940. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  941. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  942. package/dist/cjs/config-DWdFbSNK.js +0 -35
  943. package/dist/cjs/index-Bj07IRTB.js +0 -429
  944. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  945. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
  946. package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
  947. package/dist/cjs/ionic-global-QoUqobrQ.js +0 -519
  948. package/dist/cjs/list-a-7GSA6K.js +0 -8
  949. package/dist/cjs/overlay-control-label-DnRLQR1t.js +0 -52
  950. package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +0 -345
  951. package/dist/cjs/select-option-render-DqBHEjDn.js +0 -124
  952. package/dist/cjs/validity-QmuwEptc.js +0 -51
  953. package/dist/cjs/x-BTF99yFH.js +0 -8
  954. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  955. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  956. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
  957. package/dist/collection/components/alert/alert.ionic.css +0 -787
  958. package/dist/collection/components/avatar/avatar.ionic.css +0 -385
  959. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  960. package/dist/collection/components/badge/badge.ionic.css +0 -272
  961. package/dist/collection/components/button/button.ionic.css +0 -644
  962. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  963. package/dist/collection/components/card/card.ionic.css +0 -144
  964. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  965. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  966. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  967. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
  968. package/dist/collection/components/chip/chip.ionic.css +0 -217
  969. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  970. package/dist/collection/components/divider/divider.ionic.css +0 -148
  971. package/dist/collection/components/divider/divider.ios.css +0 -87
  972. package/dist/collection/components/divider/divider.js +0 -94
  973. package/dist/collection/components/divider/divider.md.css +0 -87
  974. package/dist/collection/components/footer/footer-interface.js +0 -1
  975. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  976. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  977. package/dist/collection/components/gallery/gallery.css +0 -15
  978. package/dist/collection/components/gallery/gallery.js +0 -679
  979. package/dist/collection/components/gallery/test/utils.js +0 -100
  980. package/dist/collection/components/gallery-item/gallery-item.css +0 -49
  981. package/dist/collection/components/gallery-item/gallery-item.js +0 -99
  982. package/dist/collection/components/header/header-interface.js +0 -1
  983. package/dist/collection/components/header/header.ionic.css +0 -250
  984. package/dist/collection/components/input/input.ionic.css +0 -891
  985. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  986. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  987. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  988. package/dist/collection/components/item/item.ionic.css +0 -496
  989. package/dist/collection/components/item-option/item-option.ionic.css +0 -277
  990. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  991. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  992. package/dist/collection/components/list/list.ionic.css +0 -212
  993. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  994. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  995. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  996. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  997. package/dist/collection/components/modal/modal.ionic.css +0 -255
  998. package/dist/collection/components/popover/popover.ionic.css +0 -290
  999. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  1000. package/dist/collection/components/radio/radio.ionic.css +0 -422
  1001. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  1002. package/dist/collection/components/range/range.ionic.css +0 -567
  1003. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  1004. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
  1005. package/dist/collection/components/segment/segment.ionic.css +0 -115
  1006. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
  1007. package/dist/collection/components/select/select.ionic.css +0 -809
  1008. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
  1009. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
  1010. package/dist/collection/components/spinner/spinner.native.css +0 -199
  1011. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
  1012. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
  1013. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  1014. package/dist/collection/components/title/title.ionic.css +0 -127
  1015. package/dist/collection/components/toast/toast.ionic.css +0 -394
  1016. package/dist/collection/components/toggle/toggle.ionic.css +0 -512
  1017. package/dist/collection/components/toolbar/test/image.svg +0 -1
  1018. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  1019. package/dist/collection/utils/css-value-validation.js +0 -39
  1020. package/dist/collection/utils/overlay-control-label.js +0 -47
  1021. package/dist/collection/utils/scroll-hide-controller.js +0 -178
  1022. package/dist/collection/utils/select-option-render.js +0 -119
  1023. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1024. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1025. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1026. package/dist/esm/config-BwKpO3Is.js +0 -31
  1027. package/dist/esm/index-Mq5pCWmZ.js +0 -424
  1028. package/dist/esm/ion-divider.entry.js +0 -49
  1029. package/dist/esm/ion-gallery-item.entry.js +0 -57
  1030. package/dist/esm/ion-gallery.entry.js +0 -605
  1031. package/dist/esm/ionic-global-BpkTponr.js +0 -508
  1032. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1033. package/dist/esm/overlay-control-label-CODBQrPj.js +0 -49
  1034. package/dist/esm/scroll-hide-controller-CUNW7EpD.js +0 -342
  1035. package/dist/esm/select-option-render-BlKZ2H83.js +0 -122
  1036. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1037. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1038. package/dist/ionic/p--sroV-k-.js +0 -4
  1039. package/dist/ionic/p-05ce9821.entry.js +0 -4
  1040. package/dist/ionic/p-085b8cdf.entry.js +0 -4
  1041. package/dist/ionic/p-0ef6bfc4.entry.js +0 -4
  1042. package/dist/ionic/p-176d37f8.entry.js +0 -4
  1043. package/dist/ionic/p-18b7771e.entry.js +0 -4
  1044. package/dist/ionic/p-19f34fe5.entry.js +0 -4
  1045. package/dist/ionic/p-1b6e3914.entry.js +0 -4
  1046. package/dist/ionic/p-2740db6e.entry.js +0 -4
  1047. package/dist/ionic/p-2a1abbb1.entry.js +0 -4
  1048. package/dist/ionic/p-2d9c681b.entry.js +0 -4
  1049. package/dist/ionic/p-2fba8f15.entry.js +0 -4
  1050. package/dist/ionic/p-3886bfbe.entry.js +0 -4
  1051. package/dist/ionic/p-3ab9c35a.entry.js +0 -4
  1052. package/dist/ionic/p-3b4c5cb5.entry.js +0 -4
  1053. package/dist/ionic/p-3cfb4ff2.entry.js +0 -4
  1054. package/dist/ionic/p-41afaf15.entry.js +0 -4
  1055. package/dist/ionic/p-47b9dac0.entry.js +0 -4
  1056. package/dist/ionic/p-54419365.entry.js +0 -4
  1057. package/dist/ionic/p-54b7972e.entry.js +0 -4
  1058. package/dist/ionic/p-602cf876.entry.js +0 -4
  1059. package/dist/ionic/p-678ee14a.entry.js +0 -4
  1060. package/dist/ionic/p-679c1448.entry.js +0 -4
  1061. package/dist/ionic/p-68ea8ed1.entry.js +0 -4
  1062. package/dist/ionic/p-6e1ec775.entry.js +0 -4
  1063. package/dist/ionic/p-745d6b2b.entry.js +0 -4
  1064. package/dist/ionic/p-77254b78.entry.js +0 -4
  1065. package/dist/ionic/p-89fedfda.entry.js +0 -4
  1066. package/dist/ionic/p-8cf82b85.entry.js +0 -4
  1067. package/dist/ionic/p-8d5fd199.entry.js +0 -4
  1068. package/dist/ionic/p-9087119f.entry.js +0 -4
  1069. package/dist/ionic/p-9c508a22.entry.js +0 -4
  1070. package/dist/ionic/p-B4Kq2YNk.js +0 -4
  1071. package/dist/ionic/p-BDSH5ckF.js +0 -4
  1072. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1073. package/dist/ionic/p-BFy_BK46.js +0 -4
  1074. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1075. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1076. package/dist/ionic/p-BlZo7Gy-.js +0 -4
  1077. package/dist/ionic/p-Bq8S4vhI.js +0 -4
  1078. package/dist/ionic/p-BwKpO3Is.js +0 -4
  1079. package/dist/ionic/p-C0EQceqV.js +0 -5
  1080. package/dist/ionic/p-C1I_d964.js +0 -4
  1081. package/dist/ionic/p-CB91Gr9M.js +0 -4
  1082. package/dist/ionic/p-CEkwLb3L.js +0 -4
  1083. package/dist/ionic/p-CJsJQPQD.js +0 -4
  1084. package/dist/ionic/p-CODBQrPj.js +0 -4
  1085. package/dist/ionic/p-Ch7MBNn_.js +0 -4
  1086. package/dist/ionic/p-CnAWnbNK.js +0 -4
  1087. package/dist/ionic/p-D1t981Ih.js +0 -4
  1088. package/dist/ionic/p-D4MT1z4_.js +0 -4
  1089. package/dist/ionic/p-D4veLKCq.js +0 -4
  1090. package/dist/ionic/p-DF7ubVci.js +0 -4
  1091. package/dist/ionic/p-DMaSfupH.js +0 -4
  1092. package/dist/ionic/p-DTsDGZPd.js +0 -4
  1093. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1094. package/dist/ionic/p-DdCaKRle.js +0 -4
  1095. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1096. package/dist/ionic/p-Dy243NXW.js +0 -4
  1097. package/dist/ionic/p-YIsE5bNG.js +0 -4
  1098. package/dist/ionic/p-a4af8e39.entry.js +0 -4
  1099. package/dist/ionic/p-b2368a93.entry.js +0 -4
  1100. package/dist/ionic/p-b275f17e.entry.js +0 -4
  1101. package/dist/ionic/p-c5635175.entry.js +0 -4
  1102. package/dist/ionic/p-c76d57fb.entry.js +0 -4
  1103. package/dist/ionic/p-ca3a07b5.entry.js +0 -4
  1104. package/dist/ionic/p-ced3cda1.entry.js +0 -4
  1105. package/dist/ionic/p-cf22e991.entry.js +0 -4
  1106. package/dist/ionic/p-d0c1d21d.entry.js +0 -4
  1107. package/dist/ionic/p-d0d42da6.entry.js +0 -4
  1108. package/dist/ionic/p-d1de76b8.entry.js +0 -4
  1109. package/dist/ionic/p-d33dfc12.entry.js +0 -4
  1110. package/dist/ionic/p-d34bfb61.entry.js +0 -4
  1111. package/dist/ionic/p-dbc08f67.entry.js +0 -4
  1112. package/dist/ionic/p-dc8e0b91.entry.js +0 -4
  1113. package/dist/ionic/p-df642ef5.entry.js +0 -4
  1114. package/dist/ionic/p-e04d63e1.entry.js +0 -4
  1115. package/dist/ionic/p-e3615478.entry.js +0 -4
  1116. package/dist/ionic/p-f1810d29.entry.js +0 -4
  1117. package/dist/ionic/p-f1a8aead.entry.js +0 -4
  1118. package/dist/ionic/p-f69af9d3.entry.js +0 -4
  1119. package/dist/ionic/p-f8001f8f.entry.js +0 -4
  1120. package/dist/ionic/p-f8b63ebb.entry.js +0 -4
  1121. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1122. package/dist/ionic/p-fc6d26ff.entry.js +0 -4
  1123. package/dist/ionic/p-im8OkZlj.js +0 -4
  1124. package/dist/ionic/p-lMb_45ax.js +0 -4
  1125. package/dist/ionic/p-oUgyLDGL.js +0 -4
  1126. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1127. package/dist/types/components/divider/divider.d.ts +0 -20
  1128. package/dist/types/components/footer/footer-interface.d.ts +0 -1
  1129. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1130. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1131. package/dist/types/components/gallery/gallery.d.ts +0 -218
  1132. package/dist/types/components/gallery/test/utils.d.ts +0 -3
  1133. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
  1134. package/dist/types/components/header/header-interface.d.ts +0 -1
  1135. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1136. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1137. package/dist/types/utils/css-value-validation.d.ts +0 -21
  1138. package/dist/types/utils/overlay-control-label.d.ts +0 -34
  1139. package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
  1140. package/dist/types/utils/select-option-render.d.ts +0 -53
  1141. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,605 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { r as registerInstance, f as printIonWarning, h, d as Host, g as getElement } from './index-C0EQceqV.js';
5
- import { r as raf } from './helpers-DfF5_wJc.js';
6
- import { c as getIonTheme } from './ionic-global-BpkTponr.js';
7
- import './focus-visible-vXpMhGrs.js';
8
-
9
- /**
10
- * Helpers for validating user-supplied CSS values using regular expressions, without
11
- * relying on browser CSS APIs.
12
- */
13
- // Matches `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
14
- const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
15
- // Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
16
- const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
17
- // Matches a `var(--name)` reference with an optional fallback, e.g.
18
- // `var(--my-gap)` or `var(--my-gap, 16px)`.
19
- const VAR_FUNCTION_PATTERN = /^var\(\s*--[^\s,)]+\s*(?:,[\s\S]*)?\)$/i;
20
- /**
21
- * Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
22
- * syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
23
- * Also supports simple `calc` / `min` / `max` / `clamp(...)` functions.
24
- *
25
- * @param value String value to validate.
26
- */
27
- function isValidLengthPercentage(value) {
28
- const v = value.trim();
29
- if (!v) {
30
- return false;
31
- }
32
- return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
33
- }
34
- /**
35
- * Returns whether `value` is a single [`var()`](https://developer.mozilla.org/en-US/docs/Web/CSS/var)
36
- * reference, e.g. `var(--my-token)` or `var(--my-token, 16px)`. The referenced
37
- * custom property is resolved by the browser, so the resolved value is not
38
- * validated here.
39
- *
40
- * @param value String value to validate.
41
- */
42
- function isCssVariable(value) {
43
- return VAR_FUNCTION_PATTERN.test(value.trim());
44
- }
45
-
46
- const DEFAULT_COLUMNS = {
47
- xs: 2,
48
- sm: 3,
49
- md: 4,
50
- lg: 6,
51
- xl: 8,
52
- xxl: 10,
53
- };
54
- const DEFAULT_GAP = '16px';
55
-
56
- const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:1px}`;
57
-
58
- // TODO(FW-7285): Replace with global breakpoints
59
- const BREAKPOINTS = {
60
- xs: 0,
61
- sm: 576,
62
- md: 768,
63
- lg: 992,
64
- xl: 1200,
65
- xxl: 1400,
66
- };
67
- const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
68
- /**
69
- * The tag of the component used to wrap each gallery item.
70
- */
71
- const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
72
- const Gallery = class {
73
- constructor(hostRef) {
74
- registerInstance(this, hostRef);
75
- // Keep track of whether we've warned about invalid columns, invalid gap,
76
- // and unused order properties to avoid duplicate warnings on screen resize.
77
- this.hasWarnedInvalidColumns = false;
78
- this.hasWarnedInvalidGap = false;
79
- this.hasWarnedUnusedOrder = false;
80
- this.hasWarnedInvalidItems = false;
81
- /**
82
- * The visual layout of the gallery. When `uniform`, rows take up the height
83
- * of the tallest item and are spaced evenly across the gallery. Additionally,
84
- * items will have an aspect ratio of 1/1, forcing them to be square unless a
85
- * height is explicitly set. When `masonry`, items will be positioned under each
86
- * other with only the specified gap between them.
87
- */
88
- this.layout = 'uniform';
89
- /**
90
- * The number of columns to display. Can be set as a number or an object of
91
- * breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
92
- */
93
- this.columns = DEFAULT_COLUMNS;
94
- /**
95
- * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
96
- * values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
97
- * CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel
98
- * values). Can also be set as a breakpoint map
99
- * (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
100
- * space-separated values or CSS keyword values like `inherit`, `auto`, etc.
101
- */
102
- this.gap = DEFAULT_GAP;
103
- /**
104
- * Listen for the slotchange event on the slot. When the gallery's items are
105
- * added or removed, re-collapse wrappers, re-observe items for size changes,
106
- * and recompute the masonry grid.
107
- */
108
- this.onSlotChange = () => {
109
- this.collapseWrappers();
110
- this.observeResizes();
111
- this.scheduleMasonryResize();
112
- };
113
- /**
114
- * Measure the host and children, then compute masonry placement.
115
- */
116
- this.resizeMasonryGrid = () => {
117
- this.masonryRaf = undefined;
118
- if (this.layout !== 'masonry') {
119
- this.clearMasonryStyles();
120
- return;
121
- }
122
- const width = this.el.getBoundingClientRect().width;
123
- const columns = this.getColumnsForWidth(width);
124
- // Skip masonry placement when width/columns does not resolve
125
- // to a valid breakpoint column count.
126
- if (columns === undefined) {
127
- return;
128
- }
129
- const styles = getComputedStyle(this.el);
130
- const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
131
- const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
132
- const items = this.getItems();
133
- this.layoutMasonry(items, rowHeight, rowGap, columns);
134
- };
135
- }
136
- onColumnsOrGapChanged() {
137
- this.syncResponsiveLayout();
138
- }
139
- onLayoutOrOrderChanged() {
140
- this.syncResponsiveLayout();
141
- this.syncItemLayout();
142
- // Wait until the next animation frame to warn about unused order
143
- // to avoid erroneous warnings when the layout and order are updated
144
- // in the same frame.
145
- raf(() => {
146
- this.warnUnusedOrder();
147
- });
148
- }
149
- /**
150
- * Sync the current layout with each item when the gallery's `layout`
151
- * changes.
152
- */
153
- syncItemLayout() {
154
- this.getItems().forEach((item) => {
155
- item.syncGalleryLayout();
156
- });
157
- }
158
- componentDidLoad() {
159
- this.collapseWrappers();
160
- this.updateResponsiveStyles(true);
161
- this.resizeObserver = new ResizeObserver(() => {
162
- this.updateResponsiveStyles();
163
- this.scheduleMasonryResize();
164
- });
165
- this.observeResizes();
166
- this.scheduleMasonryResize();
167
- this.warnUnusedOrder();
168
- }
169
- disconnectedCallback() {
170
- var _a;
171
- if (this.masonryRaf !== undefined) {
172
- cancelAnimationFrame(this.masonryRaf);
173
- this.masonryRaf = undefined;
174
- }
175
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
176
- this.resizeObserver = undefined;
177
- }
178
- /**
179
- * Observe the host and each item for size changes. Items are observed in
180
- * addition to the host so masonry placement is recomputed when an item's
181
- * rendered height changes — most importantly when a dynamically added
182
- * `ion-gallery-item` finishes hydrating, which (unlike an `<img>`) emits no
183
- * `load` event and does not change the host's measured size while collapsed.
184
- */
185
- observeResizes() {
186
- const observer = this.resizeObserver;
187
- if (observer === undefined) {
188
- return;
189
- }
190
- observer.disconnect();
191
- observer.observe(this.el);
192
- this.getItems().forEach((item) => observer.observe(item));
193
- }
194
- /**
195
- * Listen for the load event on child elements.
196
- * When the layout is `masonry`, this listener is used to schedule a resize
197
- * of the masonry grid when the child elements load. This is useful for when
198
- * images take time to load.
199
- */
200
- onChildLoad(ev) {
201
- if (this.layout !== 'masonry') {
202
- return;
203
- }
204
- const target = ev.target;
205
- if (target instanceof Node && this.el.contains(target)) {
206
- this.scheduleMasonryResize();
207
- }
208
- }
209
- /**
210
- * Recompute the gallery column and gap variables and masonry placement when
211
- * columns, gap, layout, or order change.
212
- */
213
- syncResponsiveLayout() {
214
- this.updateResponsiveStyles(true);
215
- this.scheduleMasonryResize();
216
- }
217
- /**
218
- * Batch masonry measurements to a single animation frame.
219
- * This avoids repeated sync layouts during rapid resize/load/slot changes.
220
- */
221
- scheduleMasonryResize() {
222
- if (this.layout !== 'masonry') {
223
- this.clearMasonryStyles();
224
- return;
225
- }
226
- if (this.masonryRaf !== undefined) {
227
- cancelAnimationFrame(this.masonryRaf);
228
- }
229
- this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
230
- }
231
- /**
232
- * Normalize a single column value (`columns` as a number, string, or one entry from
233
- * a `columns` breakpoint map) to a positive integer. Returns `undefined` when
234
- * the input cannot be interpreted as a finite number.
235
- */
236
- sanitizeColumns(columns) {
237
- if (columns === undefined) {
238
- return undefined;
239
- }
240
- const numericColumns = typeof columns === 'number' ? columns : Number(columns);
241
- if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
242
- return undefined;
243
- }
244
- return numericColumns;
245
- }
246
- /**
247
- * Normalize a single gap value (`gap` as a number, a string such as a CSS
248
- * length-percentage or `var()` reference, or one entry from a `gap`
249
- * breakpoint map) to a CSS length string. Returns `undefined` when the
250
- * input cannot be interpreted as a valid CSS length or `var()` reference.
251
- */
252
- sanitizeGap(gap) {
253
- if (gap === undefined) {
254
- return undefined;
255
- }
256
- const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
257
- if (normalizedGap === '' || typeof normalizedGap === 'object') {
258
- return undefined;
259
- }
260
- const numericGap = Number(normalizedGap);
261
- if (Number.isFinite(numericGap)) {
262
- return numericGap < 0 ? undefined : `${numericGap}px`;
263
- }
264
- if (typeof normalizedGap !== 'string') {
265
- return undefined;
266
- }
267
- if (isCssVariable(normalizedGap)) {
268
- return normalizedGap;
269
- }
270
- const isValidCssLength = isValidLengthPercentage(normalizedGap);
271
- return isValidCssLength ? normalizedGap : undefined;
272
- }
273
- /**
274
- * Check if the value is a breakpoint map object.
275
- */
276
- isBreakpointMap(value) {
277
- return typeof value === 'object' && value !== null && !Array.isArray(value);
278
- }
279
- /**
280
- * Check if the breakpoint map has any invalid values for the provided
281
- * sanitizer. A breakpoint map is invalid when there are no valid breakpoint
282
- * keys set (e.g. `{}` or `{ colums: 3 }`), or when a value under a
283
- * breakpoint key fails the sanitizer (e.g. `{ xs: -3 }`, `{ sm: 'foo' }`).
284
- */
285
- hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
286
- let hasBreakpointEntry = false;
287
- for (const breakpoint of BREAKPOINT_ORDER) {
288
- const value = breakpointMap[breakpoint];
289
- if (value !== undefined) {
290
- hasBreakpointEntry = true;
291
- if (sanitizeValue(value) === undefined) {
292
- return true;
293
- }
294
- }
295
- }
296
- return !hasBreakpointEntry;
297
- }
298
- /**
299
- * Resolve a responsive value from a breakpoint map.
300
- * Uses a breakpoint-specific default when custom values are missing/invalid.
301
- */
302
- resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
303
- let resolvedValue;
304
- for (const bp of BREAKPOINT_ORDER) {
305
- const providedValue = breakpointMap[bp];
306
- const sanitizedProvided = sanitizeProvided(providedValue);
307
- const sanitizedDefault = getSanitizedDefault(bp);
308
- const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
309
- if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
310
- resolvedValue = resolved;
311
- }
312
- }
313
- return resolvedValue;
314
- }
315
- /**
316
- * Get the columns from a responsive breakpoint map.
317
- * Returns the columns for the last matching breakpoint.
318
- */
319
- getColumnsFromBreakpointMap(width, breakpointMap) {
320
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
321
- }
322
- /**
323
- * Get the gap from a responsive breakpoint map.
324
- * Returns the gap for the last matching breakpoint.
325
- */
326
- getGapFromBreakpointMap(width, breakpointMap) {
327
- return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
328
- }
329
- /**
330
- * Warn about an invalid columns value when it is set to a negative number,
331
- * an empty breakpoint map, a map with no supported breakpoint keys,
332
- * or a map with invalid breakpoint values.
333
- */
334
- warnInvalidColumns(columns) {
335
- if (this.hasWarnedInvalidColumns) {
336
- return;
337
- }
338
- 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);
339
- this.hasWarnedInvalidColumns = true;
340
- }
341
- /**
342
- * Warn about an invalid gap value when it is set to a negative number,
343
- * an empty breakpoint map, a map with no supported breakpoint keys,
344
- * or a map with invalid breakpoint values.
345
- */
346
- warnInvalidGap(gap) {
347
- if (this.hasWarnedInvalidGap) {
348
- return;
349
- }
350
- 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);
351
- this.hasWarnedInvalidGap = true;
352
- }
353
- /**
354
- * Warn when `order` is explicitly set while layout is `uniform`.
355
- */
356
- warnUnusedOrder() {
357
- const { layout } = this;
358
- const order = this.order == null ? undefined : this.order;
359
- if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
360
- return;
361
- }
362
- printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
363
- this.hasWarnedUnusedOrder = true;
364
- }
365
- /**
366
- * Resolve the active columns value for the current width. Falls back to
367
- * the default responsive columns when the provided prop is invalid.
368
- */
369
- getColumnsForWidth(width) {
370
- const { columns } = this;
371
- const isBreakpointColumns = this.isBreakpointMap(columns);
372
- const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
373
- const sanitizedColumns = isBreakpointColumns
374
- ? this.getColumnsFromBreakpointMap(width, columns)
375
- : this.sanitizeColumns(columns);
376
- if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
377
- this.warnInvalidColumns(columns);
378
- }
379
- if (sanitizedColumns !== undefined) {
380
- return sanitizedColumns;
381
- }
382
- return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
383
- }
384
- /**
385
- * Resolve the active gap value for the current width.
386
- */
387
- getGapForWidth(width) {
388
- const { gap } = this;
389
- const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
390
- const isBreakpointGap = this.isBreakpointMap(providedGap);
391
- const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
392
- const sanitizedGap = isBreakpointGap
393
- ? this.getGapFromBreakpointMap(width, providedGap)
394
- : this.sanitizeGap(providedGap);
395
- if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
396
- this.warnInvalidGap(providedGap);
397
- }
398
- if (sanitizedGap !== undefined) {
399
- return sanitizedGap;
400
- }
401
- return this.sanitizeGap(DEFAULT_GAP);
402
- }
403
- /**
404
- * Update the responsive styles for the gallery. This is used to update
405
- * the columns and gap when the component width changes.
406
- */
407
- updateResponsiveStyles(force = false) {
408
- const width = this.el.getBoundingClientRect().width;
409
- // Only update the columns if the component width has changed by more than
410
- // 1px or if the force flag is true. This prevents unnecessary re-renders
411
- // when the component width has not changed.
412
- if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
413
- return;
414
- }
415
- this.lastWidth = width;
416
- const columns = this.getColumnsForWidth(width);
417
- this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
418
- const gap = this.getGapForWidth(width);
419
- this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
420
- }
421
- /**
422
- * Return the `ion-gallery-item` elements to place in the grid. Each item is a
423
- * direct grid cell, whether a direct child or nested inside a pass-through
424
- * wrapper (e.g. a layout `<div>`). Items belonging to a nested `ion-gallery`
425
- * are excluded.
426
- */
427
- getItems() {
428
- return Array.from(this.el.querySelectorAll(GALLERY_ITEM_SELECTOR)).filter((item) => item.closest('ion-gallery') === this.el);
429
- }
430
- /**
431
- * Collapse each pass-through wrapper's box with `display: contents` so its
432
- * items participate in the gallery grid. Restore the box of a wrapper that
433
- * no longer contains items, and warn about children that contain none.
434
- */
435
- collapseWrappers() {
436
- const items = this.getItems();
437
- Array.from(this.el.children).forEach((child) => {
438
- if (child.matches(GALLERY_ITEM_SELECTOR)) {
439
- return;
440
- }
441
- if (!items.some((item) => child.contains(item))) {
442
- // If the wrapper was previously collapsed with `display: contents`
443
- // but now contains no items, clear the display style.
444
- if (child.style.display === 'contents') {
445
- child.style.display = '';
446
- }
447
- this.warnInvalidItems();
448
- return;
449
- }
450
- // Collapse the wrapper's box so its items sit directly in the grid.
451
- child.style.display = 'contents';
452
- });
453
- }
454
- /**
455
- * Warn when the gallery has content that is not wrapped in an
456
- * `ion-gallery-item` component. Items belonging to a nested
457
- * gallery are considered invalid content for the parent gallery.
458
- */
459
- warnInvalidItems() {
460
- if (this.hasWarnedInvalidItems) {
461
- return;
462
- }
463
- 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);
464
- this.hasWarnedInvalidItems = true;
465
- }
466
- /**
467
- * Clear the item styles for the given item element.
468
- * This is used to switch between uniform and masonry layouts.
469
- */
470
- clearItemStyles(itemEl) {
471
- itemEl.style.gridRowStart = '';
472
- itemEl.style.gridRowEnd = '';
473
- itemEl.style.gridColumn = '';
474
- itemEl.style.marginBottom = '';
475
- }
476
- /**
477
- * Clear placement styles for all items when leaving masonry mode.
478
- */
479
- clearMasonryStyles() {
480
- this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
481
- }
482
- /**
483
- * Whether the item contains any images that have not finished loading.
484
- * Used to defer masonry placement until the rendered height is final.
485
- */
486
- hasUnloadedImages(itemEl) {
487
- return Array.from(itemEl.querySelectorAll('img')).some((img) => !img.complete || img.naturalHeight === 0);
488
- }
489
- /**
490
- * Convert a rendered item height to the number of grid rows it should span.
491
- * Returns undefined when the item has images that are not fully loaded yet.
492
- */
493
- calculateRowSpan(itemEl, rowHeight, rowGap) {
494
- if (this.hasUnloadedImages(itemEl)) {
495
- return undefined;
496
- }
497
- const height = itemEl.getBoundingClientRect().height;
498
- const itemStyles = getComputedStyle(itemEl);
499
- const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
500
- const denominator = rowHeight + rowGap;
501
- if (!denominator || !Number.isFinite(denominator)) {
502
- return 1;
503
- }
504
- return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
505
- }
506
- /**
507
- * Get the index of the column to position the item in.
508
- * When the order is `best-fit`, the column with the shortest height is
509
- * returned. Otherwise, items are placed in the column that matches their
510
- * natural DOM order.
511
- */
512
- getColumnIndex(index, columnHeights, columns) {
513
- const order = this.getOrder();
514
- if (order === 'best-fit') {
515
- let columnIndex = 0;
516
- for (let i = 1; i < columns; i++) {
517
- if (columnHeights[i] < columnHeights[columnIndex]) {
518
- columnIndex = i;
519
- }
520
- }
521
- return columnIndex;
522
- }
523
- return index % columns;
524
- }
525
- /**
526
- * Apply masonry placement by assigning each item a column and row span.
527
- */
528
- layoutMasonry(items, rowHeight, rowGap, columns) {
529
- const columnHeights = new Array(columns).fill(0);
530
- const lastItemsByColumn = new Array(columns).fill(undefined);
531
- items.forEach((itemEl, i) => {
532
- itemEl.style.marginBottom = '';
533
- const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
534
- if (span === undefined) {
535
- this.clearItemStyles(itemEl);
536
- return;
537
- }
538
- const columnIndex = this.getColumnIndex(i, columnHeights, columns);
539
- const start = columnHeights[columnIndex] + 1;
540
- itemEl.style.gridColumn = `${columnIndex + 1}`;
541
- itemEl.style.gridRowStart = `${start}`;
542
- itemEl.style.gridRowEnd = `span ${span}`;
543
- columnHeights[columnIndex] = start + span - 1;
544
- lastItemsByColumn[columnIndex] = itemEl;
545
- });
546
- // Remove trailing space from the final item in each column while preserving
547
- // spacing between all non-final items.
548
- lastItemsByColumn.forEach((itemEl) => {
549
- if (itemEl === undefined) {
550
- return;
551
- }
552
- itemEl.style.marginBottom = '0px';
553
- const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
554
- if (spanWithoutTrailingGap === undefined) {
555
- this.clearItemStyles(itemEl);
556
- return;
557
- }
558
- itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
559
- });
560
- }
561
- /**
562
- * Resolved order for layout and CSS. Order should be `undefined` for
563
- * the uniform layout. When order is not set, it should be `"sequential"`
564
- * for the masonry layout.
565
- */
566
- getOrder() {
567
- const { layout } = this;
568
- const order = this.order == null ? undefined : this.order;
569
- if (layout === 'uniform') {
570
- return undefined;
571
- }
572
- if (layout === 'masonry' && order === undefined) {
573
- return 'sequential';
574
- }
575
- return order;
576
- }
577
- render() {
578
- const { layout } = this;
579
- const order = this.getOrder();
580
- const theme = getIonTheme(this);
581
- return (h(Host, { key: '4a0a9cdd0da106ac0bd2c188a4c6612edab43b33', class: {
582
- [theme]: true,
583
- [`gallery-layout-${layout}`]: true,
584
- [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
585
- } }, h("slot", { key: 'dc6414ce9762ad7daaedc1583db35e0613a76e11', onSlotchange: this.onSlotChange })));
586
- }
587
- get el() { return getElement(this); }
588
- static get watchers() { return {
589
- "columns": [{
590
- "onColumnsOrGapChanged": 0
591
- }],
592
- "gap": [{
593
- "onColumnsOrGapChanged": 0
594
- }],
595
- "layout": [{
596
- "onLayoutOrOrderChanged": 0
597
- }],
598
- "order": [{
599
- "onLayoutOrOrderChanged": 0
600
- }]
601
- }; }
602
- };
603
- Gallery.style = galleryCss();
604
-
605
- export { Gallery as ion_gallery };