@ionic/core 8.7.19-nightly.20260304 → 8.8.0

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 (587) hide show
  1. package/components/index.d.ts +2 -0
  2. package/components/index.js +1 -114
  3. package/components/ion-accordion-group.js +1 -268
  4. package/components/ion-accordion.js +1 -456
  5. package/components/ion-action-sheet.js +1 -6
  6. package/components/ion-alert.js +1 -6
  7. package/components/ion-app.js +1 -132
  8. package/components/ion-avatar.js +1 -41
  9. package/components/ion-back-button.js +1 -130
  10. package/components/ion-backdrop.js +1 -6
  11. package/components/ion-badge.js +1 -47
  12. package/components/ion-breadcrumb.js +1 -137
  13. package/components/ion-breadcrumbs.js +1 -164
  14. package/components/ion-button.js +1 -6
  15. package/components/ion-buttons.js +1 -6
  16. package/components/ion-card-content.js +1 -45
  17. package/components/ion-card-header.js +1 -56
  18. package/components/ion-card-subtitle.js +1 -48
  19. package/components/ion-card-title.js +1 -48
  20. package/components/ion-card.js +1 -107
  21. package/components/ion-checkbox.js +1 -6
  22. package/components/ion-chip.js +1 -66
  23. package/components/ion-col.js +1 -163
  24. package/components/ion-content.js +1 -6
  25. package/components/ion-datetime-button.js +1 -383
  26. package/components/ion-datetime.js +1 -2047
  27. package/components/ion-fab-button.js +1 -151
  28. package/components/ion-fab-list.js +1 -73
  29. package/components/ion-fab.js +1 -101
  30. package/components/ion-footer.js +1 -179
  31. package/components/ion-grid.js +1 -46
  32. package/components/ion-header.js +1 -6
  33. package/components/ion-icon.js +1 -6
  34. package/components/ion-img.js +1 -133
  35. package/components/ion-infinite-scroll-content.js +1 -69
  36. package/components/ion-infinite-scroll.js +1 -236
  37. package/components/ion-input-otp.js +1 -682
  38. package/components/ion-input-password-toggle.js +1 -128
  39. package/components/ion-input.js +1 -646
  40. package/components/ion-item-divider.js +1 -59
  41. package/components/ion-item-group.js +1 -46
  42. package/components/ion-item-option.js +1 -91
  43. package/components/ion-item-options.js +1 -73
  44. package/components/ion-item-sliding.js +1 -457
  45. package/components/ion-item.js +1 -6
  46. package/components/ion-label.js +1 -6
  47. package/components/ion-list-header.js +1 -6
  48. package/components/ion-list.js +1 -6
  49. package/components/ion-loading.js +1 -343
  50. package/components/ion-menu-button.js +1 -109
  51. package/components/ion-menu-toggle.js +1 -64
  52. package/components/ion-menu.js +1 -741
  53. package/components/ion-modal.js +1 -6
  54. package/components/ion-nav-link.js +1 -64
  55. package/components/ion-nav.js +1 -951
  56. package/components/ion-note.js +1 -47
  57. package/components/ion-picker-column-option.js +1 -6
  58. package/components/ion-picker-column.js +1 -6
  59. package/components/ion-picker-legacy-column.js +1 -6
  60. package/components/ion-picker-legacy.js +1 -342
  61. package/components/ion-picker.js +1 -6
  62. package/components/ion-popover.js +1 -6
  63. package/components/ion-progress-bar.js +1 -100
  64. package/components/ion-radio-group.js +1 -6
  65. package/components/ion-radio.js +1 -6
  66. package/components/ion-range.js +1 -844
  67. package/components/ion-refresher-content.js +1 -88
  68. package/components/ion-refresher.js +1 -750
  69. package/components/ion-reorder-group.js +1 -322
  70. package/components/ion-reorder.js +1 -60
  71. package/components/ion-ripple-effect.js +1 -6
  72. package/components/ion-route-redirect.js +1 -45
  73. package/components/ion-route.js +1 -74
  74. package/components/ion-router-link.js +1 -61
  75. package/components/ion-router-outlet.js +1 -226
  76. package/components/ion-router.js +1 -840
  77. package/components/ion-row.js +1 -36
  78. package/components/ion-searchbar.js +1 -540
  79. package/components/ion-segment-button.js +1 -173
  80. package/components/ion-segment-content.js +1 -35
  81. package/components/ion-segment-view.js +1 -142
  82. package/components/ion-segment.js +1 -602
  83. package/components/ion-select-modal.js +1 -6
  84. package/components/ion-select-option.js +1 -46
  85. package/components/ion-select-popover.js +1 -6
  86. package/components/ion-select.js +1 -1035
  87. package/components/ion-skeleton-text.js +1 -64
  88. package/components/ion-spinner.js +1 -6
  89. package/components/ion-split-pane.js +1 -190
  90. package/components/ion-tab-bar.js +1 -135
  91. package/components/ion-tab-button.js +1 -127
  92. package/components/ion-tab.js +1 -82
  93. package/components/ion-tabs.js +1 -204
  94. package/components/ion-text.js +1 -42
  95. package/components/ion-textarea.js +1 -554
  96. package/components/ion-thumbnail.js +1 -36
  97. package/components/ion-title.js +1 -6
  98. package/components/ion-toast.js +1 -938
  99. package/components/ion-toggle.js +1 -360
  100. package/components/ion-toolbar.js +1 -6
  101. package/components/p-1KVKSLu5.js +4 -0
  102. package/{dist/ionic/p-DUt5fQmA.js → components/p-9VcRUwdB.js} +1 -1
  103. package/components/p-ApmKVjaE.js +4 -0
  104. package/components/p-B-hirT0v.js +1 -35
  105. package/components/p-B6FQ0cKR.js +4 -0
  106. package/components/p-B6HaBl3o.js +4 -0
  107. package/components/p-B8b1Ukl9.js +4 -0
  108. package/components/p-BFxT89Wl.js +4 -0
  109. package/components/p-BJoMtgfR.js +4 -0
  110. package/components/p-BNAG-aVv.js +4 -0
  111. package/{dist/ionic/p-D-eFFUkA.js → components/p-BR3tZJmu.js} +1 -1
  112. package/{dist/ionic/p-D0dMcSkw.js → components/p-BS1TtEiJ.js} +1 -1
  113. package/components/p-BSB38Tek.js +4 -0
  114. package/components/p-BTEOs1at.js +1 -192
  115. package/components/p-BTeL5HCK.js +4 -0
  116. package/{dist/ionic/p-DbQ5QkTP.js → components/p-BUbsoBOV.js} +1 -1
  117. package/components/p-BVnB3eEn.js +4 -0
  118. package/components/p-BYDc3hSE.js +4 -0
  119. package/components/p-BagjAGC0.js +4 -0
  120. package/components/p-BegtE7nr.js +4 -0
  121. package/components/p-BgwEQWW6.js +4 -0
  122. package/components/p-Bk2zuNWT.js +4 -0
  123. package/components/p-BmVRXR1y.js +1 -72
  124. package/components/p-Bum_LjMh.js +4 -0
  125. package/components/p-BxwWvu-b.js +4 -0
  126. package/components/p-C4jPsTQa.js +4 -0
  127. package/components/p-C53feagD.js +1 -15
  128. package/{dist/ionic/p-CwgG81ZD.js → components/p-C59ryAuS.js} +1 -1
  129. package/components/p-C7AoMl7c.js +4 -0
  130. package/components/p-CBzELu-H.js +4 -0
  131. package/components/p-CDfQnFrd.js +4 -0
  132. package/components/p-CH0NYjKq.js +4 -0
  133. package/components/p-CIGNaXM1.js +1 -10
  134. package/components/p-CO7fmmxt.js +1 -29
  135. package/components/p-CU1SSH8_.js +4 -0
  136. package/components/p-CVF7ukTk.js +4 -0
  137. package/components/p-CgfaEEem.js +4 -0
  138. package/components/p-CgqKJg96.js +4 -0
  139. package/components/p-Cl0B-RWe.js +1 -452
  140. package/components/p-CneGxKsZ.js +4 -0
  141. package/components/p-CoA-aqGF.js +4 -0
  142. package/{dist/ionic/p-DdR6rpbR.js → components/p-Cq8cQ0NL.js} +1 -1
  143. package/components/p-Csw8xuz4.js +4 -0
  144. package/components/p-CtWGkNnJ.js +1 -162
  145. package/components/p-Cwv-vmkN.js +4 -0
  146. package/{dist/ionic/p-BYEqWnSg.js → components/p-Cy5XSfIk.js} +1 -1
  147. package/components/p-Cyxa_4PV.js +4 -0
  148. package/components/p-Cz5nLPGT.js +4 -0
  149. package/components/p-D13Eaw-8.js +1 -76
  150. package/components/p-D6NJwNJN.js +4 -0
  151. package/components/p-D6Ynv7Xh.js +1 -141
  152. package/components/p-DHsZWn1l.js +4 -0
  153. package/components/p-DJMZehmW.js +4 -0
  154. package/components/p-DJztqcrH.js +1 -14
  155. package/components/p-DYdpXONG.js +4 -0
  156. package/components/p-DgbT0exM.js +4 -0
  157. package/components/p-DiVJyqlX.js +1 -40
  158. package/components/p-Dtdm8lKC.js +1 -44
  159. package/components/p-YLXPWgVj.js +4 -0
  160. package/components/p-ZjP4CjeZ.js +1 -4
  161. package/{dist/ionic/p-DCv9sLH2.js → components/p-ak_d-z48.js} +1 -1
  162. package/components/p-cyNmxje6.js +1 -155
  163. package/components/p-fpbh6w3f.js +4 -0
  164. package/components/p-hHmYLOfE.js +1 -87
  165. package/components/p-kvaDs24J.js +4 -0
  166. package/components/p-vEbVo2hO.js +4 -0
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CuMghsQ-.js → input-shims-Dl5cnc_e.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +48 -43
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +75 -46
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +48 -42
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +237 -59
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +205 -57
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -8
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +17 -13
  226. package/dist/cjs/ion-select_3.cjs.entry.js +33 -24
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +20 -14
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +12 -7
  260. package/dist/collection/components/datetime/datetime.js +43 -22
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +10 -5
  268. package/dist/collection/components/item-divider/item-divider.js +7 -3
  269. package/dist/collection/components/item-option/item-option.js +6 -3
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +6 -3
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +120 -12
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
  279. package/dist/collection/components/modal/modal.js +127 -45
  280. package/dist/collection/components/nav/nav.js +89 -45
  281. package/dist/collection/components/nav-link/nav-link.js +9 -5
  282. package/dist/collection/components/note/note.js +2 -1
  283. package/dist/collection/components/picker/picker.js +2 -1
  284. package/dist/collection/components/picker-column/picker-column.js +6 -3
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  286. package/dist/collection/components/picker-legacy/picker.js +24 -12
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  288. package/dist/collection/components/popover/popover.js +33 -17
  289. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  290. package/dist/collection/components/radio/radio.js +2 -1
  291. package/dist/collection/components/radio-group/radio-group.js +6 -3
  292. package/dist/collection/components/range/range.js +214 -53
  293. package/dist/collection/components/refresher/refresher.js +73 -5
  294. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  295. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  296. package/dist/collection/components/route/route.js +4 -2
  297. package/dist/collection/components/router/router.js +10 -5
  298. package/dist/collection/components/router-link/router-link.js +6 -3
  299. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  300. package/dist/collection/components/searchbar/searchbar.js +11 -6
  301. package/dist/collection/components/segment/segment.js +10 -5
  302. package/dist/collection/components/segment-button/segment-button.js +4 -2
  303. package/dist/collection/components/segment-view/segment-view.ios.css +2 -1
  304. package/dist/collection/components/segment-view/segment-view.js +30 -4
  305. package/dist/collection/components/segment-view/segment-view.md.css +2 -1
  306. package/dist/collection/components/select/select.js +17 -8
  307. package/dist/collection/components/select-modal/select-modal.js +27 -2
  308. package/dist/collection/components/select-popover/select-popover.js +2 -1
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  310. package/dist/collection/components/spinner/spinner.js +4 -2
  311. package/dist/collection/components/tab/tab.js +4 -2
  312. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  313. package/dist/collection/components/tab-button/tab-button.js +4 -2
  314. package/dist/collection/components/tabs/tabs.js +4 -2
  315. package/dist/collection/components/text/text.js +2 -1
  316. package/dist/collection/components/textarea/textarea.js +10 -7
  317. package/dist/collection/components/title/title.js +4 -2
  318. package/dist/collection/components/toast/toast.js +34 -17
  319. package/dist/collection/components/toggle/toggle.js +4 -2
  320. package/dist/collection/components/toolbar/toolbar.js +2 -1
  321. package/dist/docs.d.ts +37 -0
  322. package/dist/docs.json +1186 -389
  323. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  324. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  325. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  326. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  327. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  328. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  329. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  330. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  331. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  332. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  333. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  334. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  335. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-D6H3ZaWt.js → input-shims-AaDhOpKN.js} +3 -3
  338. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +23 -15
  340. package/dist/esm/ion-action-sheet.entry.js +21 -15
  341. package/dist/esm/ion-alert.entry.js +25 -17
  342. package/dist/esm/ion-app_8.entry.js +48 -43
  343. package/dist/esm/ion-avatar_3.entry.js +12 -12
  344. package/dist/esm/ion-back-button.entry.js +7 -7
  345. package/dist/esm/ion-backdrop.entry.js +6 -6
  346. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  347. package/dist/esm/ion-button_2.entry.js +36 -18
  348. package/dist/esm/ion-card_5.entry.js +23 -23
  349. package/dist/esm/ion-checkbox.entry.js +7 -7
  350. package/dist/esm/ion-chip.entry.js +6 -6
  351. package/dist/esm/ion-col_3.entry.js +8 -8
  352. package/dist/esm/ion-datetime-button.entry.js +8 -8
  353. package/dist/esm/ion-datetime_3.entry.js +75 -46
  354. package/dist/esm/ion-fab_3.entry.js +17 -13
  355. package/dist/esm/ion-img.entry.js +8 -6
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  357. package/dist/esm/ion-input-otp.entry.js +16 -10
  358. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  359. package/dist/esm/ion-input.entry.js +21 -13
  360. package/dist/esm/ion-item-option_3.entry.js +19 -17
  361. package/dist/esm/ion-item_8.entry.js +48 -42
  362. package/dist/esm/ion-loading.entry.js +18 -14
  363. package/dist/esm/ion-menu_3.entry.js +30 -22
  364. package/dist/esm/ion-modal.entry.js +237 -59
  365. package/dist/esm/ion-nav_2.entry.js +14 -10
  366. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  367. package/dist/esm/ion-picker-column.entry.js +11 -7
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +21 -15
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +17 -13
  372. package/dist/esm/ion-range.entry.js +205 -57
  373. package/dist/esm/ion-refresher_2.entry.js +45 -14
  374. package/dist/esm/ion-reorder_2.entry.js +13 -11
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +20 -10
  377. package/dist/esm/ion-searchbar.entry.js +22 -12
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +13 -8
  380. package/dist/esm/ion-segment_2.entry.js +26 -16
  381. package/dist/esm/ion-select-modal.entry.js +17 -13
  382. package/dist/esm/ion-select_3.entry.js +33 -24
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +15 -9
  385. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  386. package/dist/esm/ion-tab_2.entry.js +10 -8
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +20 -14
  389. package/dist/esm/ion-toast.entry.js +21 -15
  390. package/dist/esm/ion-toggle.entry.js +10 -8
  391. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  396. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  397. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  398. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  399. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  400. package/dist/html.html-data.json +117 -109
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/p-031b76f7.entry.js +4 -0
  404. package/dist/ionic/p-045a6a42.entry.js +4 -0
  405. package/dist/ionic/p-07506134.entry.js +4 -0
  406. package/dist/ionic/p-084c25b2.entry.js +4 -0
  407. package/dist/ionic/p-0d8b5c38.entry.js +4 -0
  408. package/dist/ionic/p-16813ce7.entry.js +4 -0
  409. package/dist/ionic/p-16b65553.entry.js +4 -0
  410. package/dist/ionic/p-1b02923f.entry.js +4 -0
  411. package/dist/ionic/{p-5c8f7253.entry.js → p-1b169fb6.entry.js} +1 -1
  412. package/dist/ionic/{p-915b3e3d.entry.js → p-23fac490.entry.js} +1 -1
  413. package/dist/ionic/{p-b8551510.entry.js → p-294f4bb5.entry.js} +1 -1
  414. package/dist/ionic/p-2a68388b.entry.js +4 -0
  415. package/dist/ionic/p-2f5a8140.entry.js +4 -0
  416. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  417. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  418. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  419. package/dist/ionic/p-4819b469.entry.js +4 -0
  420. package/dist/ionic/p-4dd5e8e0.entry.js +4 -0
  421. package/dist/ionic/p-51c11c47.entry.js +4 -0
  422. package/dist/ionic/p-53f750a5.entry.js +4 -0
  423. package/dist/ionic/{p-7cad388a.entry.js → p-6af16209.entry.js} +1 -1
  424. package/dist/ionic/{p-7f98e710.entry.js → p-6b701daa.entry.js} +1 -1
  425. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  426. package/dist/ionic/p-71e322f7.entry.js +4 -0
  427. package/dist/ionic/p-7620be24.entry.js +4 -0
  428. package/dist/ionic/p-771b27a5.entry.js +4 -0
  429. package/dist/ionic/{p-906bb44d.entry.js → p-7ca71c83.entry.js} +1 -1
  430. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  431. package/dist/ionic/p-96a2e768.entry.js +4 -0
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
  434. package/dist/ionic/p-9cdbabbb.entry.js +4 -0
  435. package/dist/ionic/p-9eac4eb1.entry.js +4 -0
  436. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  437. package/dist/ionic/p-B8xlpH8p.js +4 -0
  438. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  439. package/dist/ionic/p-BW_TRJm8.js +4 -0
  440. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  441. package/dist/ionic/p-BvFYtOdE.js +4 -0
  442. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  443. package/dist/ionic/p-C0JvVFMv.js +4 -0
  444. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  445. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  446. package/dist/ionic/{p-MUoJJJwd.js → p-CYvM5g3q.js} +1 -1
  447. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  448. package/dist/ionic/p-CtA-yJYy.js +4 -0
  449. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  450. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  451. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  452. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  453. package/dist/ionic/p-DjriolRs.js +4 -0
  454. package/dist/ionic/p-DtVZDHlS.js +4 -0
  455. package/dist/ionic/p-IGIE5vDm.js +5 -0
  456. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  457. package/dist/ionic/p-a805674e.entry.js +4 -0
  458. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  459. package/dist/ionic/p-aa47f46e.entry.js +4 -0
  460. package/dist/ionic/{p-2668188b.entry.js → p-b325a113.entry.js} +1 -1
  461. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  462. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  463. package/dist/ionic/{p-6f37536a.entry.js → p-bcaa827e.entry.js} +1 -1
  464. package/dist/ionic/{p-fb0271ae.entry.js → p-c3cce9d8.entry.js} +1 -1
  465. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  466. package/dist/ionic/p-d4e8b473.entry.js +4 -0
  467. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  468. package/dist/ionic/p-e6c5f060.entry.js +4 -0
  469. package/dist/ionic/{p-652318c3.entry.js → p-e6cedcd7.entry.js} +1 -1
  470. package/dist/ionic/{p-fbb00634.entry.js → p-e863ffe8.entry.js} +1 -1
  471. package/dist/ionic/{p-0ca0fe9c.entry.js → p-f2deaceb.entry.js} +1 -1
  472. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  473. package/dist/ionic/{p-bce86e56.entry.js → p-f8186550.entry.js} +1 -1
  474. package/dist/ionic/p-fdbc90d4.entry.js +4 -0
  475. package/dist/ionic/p-gbVXD275.js +4 -0
  476. package/dist/ionic/p-hNN3VvaC.js +4 -0
  477. package/dist/types/components/datetime/datetime.d.ts +10 -0
  478. package/dist/types/components/header/header.utils.d.ts +2 -1
  479. package/dist/types/components/item/item.d.ts +2 -0
  480. package/dist/types/components/item-divider/item-divider.d.ts +3 -0
  481. package/dist/types/components/item-option/item-option.d.ts +2 -0
  482. package/dist/types/components/list-header/list-header.d.ts +2 -0
  483. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  484. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  485. package/dist/types/components/modal/modal-interface.d.ts +25 -0
  486. package/dist/types/components/modal/modal.d.ts +22 -1
  487. package/dist/types/components/range/range-interface.d.ts +1 -0
  488. package/dist/types/components/range/range.d.ts +44 -4
  489. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  490. package/dist/types/components/refresher/refresher.d.ts +16 -3
  491. package/dist/types/components/segment-view/segment-view.d.ts +4 -0
  492. package/dist/types/components/select/select.d.ts +3 -0
  493. package/dist/types/components/select-modal/select-modal.d.ts +4 -0
  494. package/dist/types/components.d.ts +964 -191
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +126 -14
  497. package/dist/types/utils/gesture/listener.d.ts +2 -1
  498. package/hydrate/index.d.ts +12 -0
  499. package/hydrate/index.js +5632 -1421
  500. package/hydrate/index.mjs +5631 -1422
  501. package/package.json +2 -2
  502. package/components/p-B25GjpND.js +0 -71
  503. package/components/p-BANeLH_G.js +0 -290
  504. package/components/p-BBFQmhcD.js +0 -59
  505. package/components/p-BC-awmYt.js +0 -306
  506. package/components/p-BHbOsu99.js +0 -501
  507. package/components/p-BTlwXR9e.js +0 -73
  508. package/components/p-BcazQttQ.js +0 -612
  509. package/components/p-BdGshsIJ.js +0 -226
  510. package/components/p-BfS7vSpC.js +0 -147
  511. package/components/p-BhRFCLuX.js +0 -675
  512. package/components/p-Bhnhnzjz.js +0 -75
  513. package/components/p-BmcqD0EN.js +0 -153
  514. package/components/p-Boi6hecl.js +0 -115
  515. package/components/p-Bt_moUyl.js +0 -232
  516. package/components/p-Bxl5etF4.js +0 -146
  517. package/components/p-ByjmWt3s.js +0 -139
  518. package/components/p-C04oPyjT.js +0 -54
  519. package/components/p-C6dkQWq2.js +0 -1626
  520. package/components/p-CFZWrvIQ.js +0 -194
  521. package/components/p-CIJwkzL6.js +0 -195
  522. package/components/p-CL12ApCQ.js +0 -820
  523. package/components/p-CXJR56Oq.js +0 -564
  524. package/components/p-Cdm3dKWf.js +0 -108
  525. package/components/p-CslsoGzv.js +0 -192
  526. package/components/p-Cyd00tgZ.js +0 -167
  527. package/components/p-CzAJ3ArC.js +0 -380
  528. package/components/p-CzW34QBh.js +0 -12
  529. package/components/p-D0zXRwcr.js +0 -196
  530. package/components/p-D5hF6rwn.js +0 -339
  531. package/components/p-D8eD2iBA.js +0 -67
  532. package/components/p-DGOrLIyS.js +0 -481
  533. package/components/p-DK2Bn1Mc.js +0 -305
  534. package/components/p-DKRQWlK2.js +0 -598
  535. package/components/p-DNDUsygf.js +0 -128
  536. package/components/p-DTWZF6wg.js +0 -418
  537. package/components/p-DWoUQeZ3.js +0 -3012
  538. package/components/p-DX0w75a9.js +0 -420
  539. package/components/p-Dt8zaCLQ.js +0 -92
  540. package/components/p-DyFBFrV7.js +0 -264
  541. package/components/p-DyHPCMyn.js +0 -39
  542. package/components/p-LgLeKTkH.js +0 -112
  543. package/components/p-NhiRFRn9.js +0 -50
  544. package/components/p-OuiHmXO5.js +0 -646
  545. package/components/p-Wro9IPHE.js +0 -459
  546. package/components/p-aIWC4ZEV.js +0 -305
  547. package/components/p-c-XJ9XhZ.js +0 -915
  548. package/components/p-fVuFT3Wd.js +0 -78
  549. package/components/p-iyo0Toaz.js +0 -2822
  550. package/components/p-l_lso3Zl.js +0 -140
  551. package/components/p-mQp4lwQD.js +0 -1638
  552. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  553. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  554. package/dist/ionic/p-11518b31.entry.js +0 -4
  555. package/dist/ionic/p-221a3d8c.entry.js +0 -4
  556. package/dist/ionic/p-2ac254dc.entry.js +0 -4
  557. package/dist/ionic/p-2bd1ea35.entry.js +0 -4
  558. package/dist/ionic/p-30333874.entry.js +0 -4
  559. package/dist/ionic/p-31db96da.entry.js +0 -4
  560. package/dist/ionic/p-34642fa1.entry.js +0 -4
  561. package/dist/ionic/p-35696017.entry.js +0 -4
  562. package/dist/ionic/p-363d1209.entry.js +0 -4
  563. package/dist/ionic/p-46a38cfd.entry.js +0 -4
  564. package/dist/ionic/p-4eec1a5e.entry.js +0 -4
  565. package/dist/ionic/p-530fcd71.entry.js +0 -4
  566. package/dist/ionic/p-5d6fb6e3.entry.js +0 -4
  567. package/dist/ionic/p-66fbe052.entry.js +0 -4
  568. package/dist/ionic/p-7babec72.entry.js +0 -4
  569. package/dist/ionic/p-82d5bb3d.entry.js +0 -4
  570. package/dist/ionic/p-97eb0812.entry.js +0 -4
  571. package/dist/ionic/p-9b6d46f2.entry.js +0 -4
  572. package/dist/ionic/p-BKc55Xev.js +0 -4
  573. package/dist/ionic/p-Bmgaetn_.js +0 -4
  574. package/dist/ionic/p-C8IsBmNU.js +0 -5
  575. package/dist/ionic/p-CJxh_yLS.js +0 -4
  576. package/dist/ionic/p-DZRJwG4S.js +0 -4
  577. package/dist/ionic/p-a4a9f5ae.entry.js +0 -4
  578. package/dist/ionic/p-b0ebf9f8.entry.js +0 -4
  579. package/dist/ionic/p-be263062.entry.js +0 -4
  580. package/dist/ionic/p-c175d792.entry.js +0 -4
  581. package/dist/ionic/p-cc2a9936.entry.js +0 -4
  582. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  583. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  584. package/dist/ionic/p-e4c57008.entry.js +0 -4
  585. package/dist/ionic/p-e5d6d0f0.entry.js +0 -4
  586. package/dist/ionic/p-f1dfee25.entry.js +0 -4
  587. package/dist/ionic/p-f9f7b9db.entry.js +0 -4
@@ -1,820 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { j as printIonError } from './p-DWoUQeZ3.js';
5
- import { w as win } from './p-ZjP4CjeZ.js';
6
-
7
- let animationPrefix;
8
- const getAnimationPrefix = (el) => {
9
- if (animationPrefix === undefined) {
10
- const supportsUnprefixed = el.style.animationName !== undefined;
11
- const supportsWebkitPrefix = el.style.webkitAnimationName !== undefined;
12
- animationPrefix = !supportsUnprefixed && supportsWebkitPrefix ? '-webkit-' : '';
13
- }
14
- return animationPrefix;
15
- };
16
- const setStyleProperty = (element, propertyName, value) => {
17
- const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
18
- element.style.setProperty(prefix + propertyName, value);
19
- };
20
- const addClassToArray = (classes = [], className) => {
21
- if (className !== undefined) {
22
- const classNameToAppend = Array.isArray(className) ? className : [className];
23
- return [...classes, ...classNameToAppend];
24
- }
25
- return classes;
26
- };
27
-
28
- const createAnimation = (animationId) => {
29
- let _delay;
30
- let _duration;
31
- let _easing;
32
- let _iterations;
33
- let _fill;
34
- let _direction;
35
- let _keyframes = [];
36
- let beforeAddClasses = [];
37
- let beforeRemoveClasses = [];
38
- let initialized = false;
39
- let parentAnimation;
40
- let beforeStylesValue = {};
41
- let afterAddClasses = [];
42
- let afterRemoveClasses = [];
43
- let afterStylesValue = {};
44
- let numAnimationsRunning = 0;
45
- let shouldForceLinearEasing = false;
46
- let shouldForceSyncPlayback = false;
47
- let forceDirectionValue;
48
- let forceDurationValue;
49
- let forceDelayValue;
50
- let willComplete = true;
51
- let finished = false;
52
- let shouldCalculateNumAnimations = true;
53
- let ani;
54
- let paused = false;
55
- const id = animationId;
56
- const onFinishCallbacks = [];
57
- const onFinishOneTimeCallbacks = [];
58
- const onStopOneTimeCallbacks = [];
59
- const elements = [];
60
- const childAnimations = [];
61
- const stylesheets = [];
62
- const _beforeAddReadFunctions = [];
63
- const _beforeAddWriteFunctions = [];
64
- const _afterAddReadFunctions = [];
65
- const _afterAddWriteFunctions = [];
66
- const webAnimations = [];
67
- const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
68
- (win !== undefined && typeof win.AnimationEffect === 'function');
69
- /**
70
- * This is a feature detection for Web Animations.
71
- *
72
- * Certain environments such as emulated browser environments for testing,
73
- * do not support Web Animations. As a result, we need to check for support
74
- * and provide a fallback to test certain functionality related to Web Animations.
75
- */
76
- const supportsWebAnimations = typeof Element === 'function' &&
77
- typeof Element.prototype.animate === 'function' &&
78
- supportsAnimationEffect;
79
- const getWebAnimations = () => {
80
- return webAnimations;
81
- };
82
- const destroy = (clearStyleSheets) => {
83
- childAnimations.forEach((childAnimation) => {
84
- childAnimation.destroy(clearStyleSheets);
85
- });
86
- cleanUp(clearStyleSheets);
87
- elements.length = 0;
88
- childAnimations.length = 0;
89
- _keyframes.length = 0;
90
- clearOnFinish();
91
- initialized = false;
92
- shouldCalculateNumAnimations = true;
93
- return ani;
94
- };
95
- /**
96
- * Cancels any Web Animations, removes
97
- * any animation properties from the
98
- * animation's elements, and removes the
99
- * animation's stylesheets from the DOM.
100
- */
101
- const cleanUp = (clearStyleSheets) => {
102
- cleanUpElements();
103
- if (clearStyleSheets) {
104
- cleanUpStyleSheets();
105
- }
106
- };
107
- const resetFlags = () => {
108
- shouldForceLinearEasing = false;
109
- shouldForceSyncPlayback = false;
110
- shouldCalculateNumAnimations = true;
111
- forceDirectionValue = undefined;
112
- forceDurationValue = undefined;
113
- forceDelayValue = undefined;
114
- numAnimationsRunning = 0;
115
- finished = false;
116
- willComplete = true;
117
- paused = false;
118
- };
119
- const isRunning = () => {
120
- return numAnimationsRunning !== 0 && !paused;
121
- };
122
- /**
123
- * @internal
124
- * Remove a callback from a chosen callback array
125
- * @param callbackToRemove: A reference to the callback that should be removed
126
- * @param callbackObjects: An array of callbacks that callbackToRemove should be removed from.
127
- */
128
- const clearCallback = (callbackToRemove, callbackObjects) => {
129
- const index = callbackObjects.findIndex((callbackObject) => callbackObject.c === callbackToRemove);
130
- if (index > -1) {
131
- callbackObjects.splice(index, 1);
132
- }
133
- };
134
- /**
135
- * @internal
136
- * Add a callback to be fired when an animation is stopped/cancelled.
137
- * @param callback: A reference to the callback that should be fired
138
- * @param opts: Any options associated with this particular callback
139
- */
140
- const onStop = (callback, opts) => {
141
- onStopOneTimeCallbacks.push({ c: callback, o: opts });
142
- return ani;
143
- };
144
- const onFinish = (callback, opts) => {
145
- const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;
146
- callbacks.push({ c: callback, o: opts });
147
- return ani;
148
- };
149
- const clearOnFinish = () => {
150
- onFinishCallbacks.length = 0;
151
- onFinishOneTimeCallbacks.length = 0;
152
- return ani;
153
- };
154
- /**
155
- * Cancels any Web Animations and removes
156
- * any animation properties from the
157
- * the animation's elements.
158
- */
159
- const cleanUpElements = () => {
160
- if (supportsWebAnimations) {
161
- webAnimations.forEach((animation) => {
162
- animation.cancel();
163
- });
164
- webAnimations.length = 0;
165
- }
166
- };
167
- /**
168
- * Removes the animation's stylesheets
169
- * from the DOM.
170
- */
171
- const cleanUpStyleSheets = () => {
172
- stylesheets.forEach((stylesheet) => {
173
- /**
174
- * When sharing stylesheets, it's possible
175
- * for another animation to have already
176
- * cleaned up a particular stylesheet
177
- */
178
- if (stylesheet === null || stylesheet === void 0 ? void 0 : stylesheet.parentNode) {
179
- stylesheet.parentNode.removeChild(stylesheet);
180
- }
181
- });
182
- stylesheets.length = 0;
183
- };
184
- const beforeAddRead = (readFn) => {
185
- _beforeAddReadFunctions.push(readFn);
186
- return ani;
187
- };
188
- const beforeAddWrite = (writeFn) => {
189
- _beforeAddWriteFunctions.push(writeFn);
190
- return ani;
191
- };
192
- const afterAddRead = (readFn) => {
193
- _afterAddReadFunctions.push(readFn);
194
- return ani;
195
- };
196
- const afterAddWrite = (writeFn) => {
197
- _afterAddWriteFunctions.push(writeFn);
198
- return ani;
199
- };
200
- const beforeAddClass = (className) => {
201
- beforeAddClasses = addClassToArray(beforeAddClasses, className);
202
- return ani;
203
- };
204
- const beforeRemoveClass = (className) => {
205
- beforeRemoveClasses = addClassToArray(beforeRemoveClasses, className);
206
- return ani;
207
- };
208
- /**
209
- * Set CSS inline styles to the animation's
210
- * elements before the animation begins.
211
- */
212
- const beforeStyles = (styles = {}) => {
213
- beforeStylesValue = styles;
214
- return ani;
215
- };
216
- /**
217
- * Clear CSS inline styles from the animation's
218
- * elements before the animation begins.
219
- */
220
- const beforeClearStyles = (propertyNames = []) => {
221
- for (const property of propertyNames) {
222
- beforeStylesValue[property] = '';
223
- }
224
- return ani;
225
- };
226
- const afterAddClass = (className) => {
227
- afterAddClasses = addClassToArray(afterAddClasses, className);
228
- return ani;
229
- };
230
- const afterRemoveClass = (className) => {
231
- afterRemoveClasses = addClassToArray(afterRemoveClasses, className);
232
- return ani;
233
- };
234
- const afterStyles = (styles = {}) => {
235
- afterStylesValue = styles;
236
- return ani;
237
- };
238
- const afterClearStyles = (propertyNames = []) => {
239
- for (const property of propertyNames) {
240
- afterStylesValue[property] = '';
241
- }
242
- return ani;
243
- };
244
- const getFill = () => {
245
- if (_fill !== undefined) {
246
- return _fill;
247
- }
248
- if (parentAnimation) {
249
- return parentAnimation.getFill();
250
- }
251
- return 'both';
252
- };
253
- const getDirection = () => {
254
- if (forceDirectionValue !== undefined) {
255
- return forceDirectionValue;
256
- }
257
- if (_direction !== undefined) {
258
- return _direction;
259
- }
260
- if (parentAnimation) {
261
- return parentAnimation.getDirection();
262
- }
263
- return 'normal';
264
- };
265
- const getEasing = () => {
266
- if (shouldForceLinearEasing) {
267
- return 'linear';
268
- }
269
- if (_easing !== undefined) {
270
- return _easing;
271
- }
272
- if (parentAnimation) {
273
- return parentAnimation.getEasing();
274
- }
275
- return 'linear';
276
- };
277
- const getDuration = () => {
278
- if (shouldForceSyncPlayback) {
279
- return 0;
280
- }
281
- if (forceDurationValue !== undefined) {
282
- return forceDurationValue;
283
- }
284
- if (_duration !== undefined) {
285
- return _duration;
286
- }
287
- if (parentAnimation) {
288
- return parentAnimation.getDuration();
289
- }
290
- return 0;
291
- };
292
- const getIterations = () => {
293
- if (_iterations !== undefined) {
294
- return _iterations;
295
- }
296
- if (parentAnimation) {
297
- return parentAnimation.getIterations();
298
- }
299
- return 1;
300
- };
301
- const getDelay = () => {
302
- if (forceDelayValue !== undefined) {
303
- return forceDelayValue;
304
- }
305
- if (_delay !== undefined) {
306
- return _delay;
307
- }
308
- if (parentAnimation) {
309
- return parentAnimation.getDelay();
310
- }
311
- return 0;
312
- };
313
- const getKeyframes = () => {
314
- return _keyframes;
315
- };
316
- const direction = (animationDirection) => {
317
- _direction = animationDirection;
318
- update(true);
319
- return ani;
320
- };
321
- const fill = (animationFill) => {
322
- _fill = animationFill;
323
- update(true);
324
- return ani;
325
- };
326
- const delay = (animationDelay) => {
327
- _delay = animationDelay;
328
- update(true);
329
- return ani;
330
- };
331
- const easing = (animationEasing) => {
332
- _easing = animationEasing;
333
- update(true);
334
- return ani;
335
- };
336
- const duration = (animationDuration) => {
337
- /**
338
- * CSS Animation Durations of 0ms work fine on Chrome
339
- * but do not run on Safari, so force it to 1ms to
340
- * get it to run on both platforms.
341
- */
342
- if (!supportsWebAnimations && animationDuration === 0) {
343
- animationDuration = 1;
344
- }
345
- _duration = animationDuration;
346
- update(true);
347
- return ani;
348
- };
349
- const iterations = (animationIterations) => {
350
- _iterations = animationIterations;
351
- update(true);
352
- return ani;
353
- };
354
- const parent = (animation) => {
355
- parentAnimation = animation;
356
- return ani;
357
- };
358
- const addElement = (el) => {
359
- if (el != null) {
360
- if (el.nodeType === 1) {
361
- elements.push(el);
362
- }
363
- else if (el.length >= 0) {
364
- for (let i = 0; i < el.length; i++) {
365
- elements.push(el[i]);
366
- }
367
- }
368
- else {
369
- printIonError('createAnimation - Invalid addElement value.');
370
- }
371
- }
372
- return ani;
373
- };
374
- const addAnimation = (animationToAdd) => {
375
- if (animationToAdd != null) {
376
- if (Array.isArray(animationToAdd)) {
377
- for (const animation of animationToAdd) {
378
- animation.parent(ani);
379
- childAnimations.push(animation);
380
- }
381
- }
382
- else {
383
- animationToAdd.parent(ani);
384
- childAnimations.push(animationToAdd);
385
- }
386
- }
387
- return ani;
388
- };
389
- const keyframes = (keyframeValues) => {
390
- const different = _keyframes !== keyframeValues;
391
- _keyframes = keyframeValues;
392
- if (different) {
393
- updateKeyframes(_keyframes);
394
- }
395
- return ani;
396
- };
397
- const updateKeyframes = (keyframeValues) => {
398
- if (supportsWebAnimations) {
399
- getWebAnimations().forEach((animation) => {
400
- /**
401
- * animation.effect's type is AnimationEffect.
402
- * However, in this case we have a more specific
403
- * type of AnimationEffect called KeyframeEffect which
404
- * inherits from AnimationEffect. As a result,
405
- * we cast animation.effect to KeyframeEffect.
406
- */
407
- const keyframeEffect = animation.effect;
408
- /**
409
- * setKeyframes is not supported in all browser
410
- * versions that Ionic supports, so we need to
411
- * check for support before using it.
412
- */
413
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
414
- if (keyframeEffect.setKeyframes) {
415
- keyframeEffect.setKeyframes(keyframeValues);
416
- }
417
- else {
418
- const newEffect = new KeyframeEffect(keyframeEffect.target, keyframeValues, keyframeEffect.getTiming());
419
- animation.effect = newEffect;
420
- }
421
- });
422
- }
423
- };
424
- /**
425
- * Run all "before" animation hooks.
426
- */
427
- const beforeAnimation = () => {
428
- // Runs all before read callbacks
429
- _beforeAddReadFunctions.forEach((callback) => callback());
430
- // Runs all before write callbacks
431
- _beforeAddWriteFunctions.forEach((callback) => callback());
432
- // Updates styles and classes before animation runs
433
- const addClasses = beforeAddClasses;
434
- const removeClasses = beforeRemoveClasses;
435
- const styles = beforeStylesValue;
436
- elements.forEach((el) => {
437
- const elementClassList = el.classList;
438
- addClasses.forEach((c) => elementClassList.add(c));
439
- removeClasses.forEach((c) => elementClassList.remove(c));
440
- for (const property in styles) {
441
- // eslint-disable-next-line no-prototype-builtins
442
- if (styles.hasOwnProperty(property)) {
443
- setStyleProperty(el, property, styles[property]);
444
- }
445
- }
446
- });
447
- };
448
- /**
449
- * Run all "after" animation hooks.
450
- */
451
- const afterAnimation = () => {
452
- // Runs all after read callbacks
453
- _afterAddReadFunctions.forEach((callback) => callback());
454
- // Runs all after write callbacks
455
- _afterAddWriteFunctions.forEach((callback) => callback());
456
- // Updates styles and classes before animation ends
457
- const currentStep = willComplete ? 1 : 0;
458
- const addClasses = afterAddClasses;
459
- const removeClasses = afterRemoveClasses;
460
- const styles = afterStylesValue;
461
- elements.forEach((el) => {
462
- const elementClassList = el.classList;
463
- addClasses.forEach((c) => elementClassList.add(c));
464
- removeClasses.forEach((c) => elementClassList.remove(c));
465
- for (const property in styles) {
466
- // eslint-disable-next-line no-prototype-builtins
467
- if (styles.hasOwnProperty(property)) {
468
- setStyleProperty(el, property, styles[property]);
469
- }
470
- }
471
- });
472
- /**
473
- * Clean up any value coercion before
474
- * the user callbacks fire otherwise
475
- * they may get stale values. For example,
476
- * if someone calls progressStart(0) the
477
- * animation may still be reversed.
478
- */
479
- forceDurationValue = undefined;
480
- forceDirectionValue = undefined;
481
- forceDelayValue = undefined;
482
- onFinishCallbacks.forEach((onFinishCallback) => {
483
- return onFinishCallback.c(currentStep, ani);
484
- });
485
- onFinishOneTimeCallbacks.forEach((onFinishCallback) => {
486
- return onFinishCallback.c(currentStep, ani);
487
- });
488
- onFinishOneTimeCallbacks.length = 0;
489
- shouldCalculateNumAnimations = true;
490
- if (willComplete) {
491
- finished = true;
492
- }
493
- willComplete = true;
494
- };
495
- const animationFinish = () => {
496
- if (numAnimationsRunning === 0) {
497
- return;
498
- }
499
- numAnimationsRunning--;
500
- if (numAnimationsRunning === 0) {
501
- afterAnimation();
502
- if (parentAnimation) {
503
- parentAnimation.animationFinish();
504
- }
505
- }
506
- };
507
- const initializeWebAnimation = () => {
508
- elements.forEach((element) => {
509
- const animation = element.animate(_keyframes, {
510
- id,
511
- delay: getDelay(),
512
- duration: getDuration(),
513
- easing: getEasing(),
514
- iterations: getIterations(),
515
- fill: getFill(),
516
- direction: getDirection(),
517
- });
518
- animation.pause();
519
- webAnimations.push(animation);
520
- });
521
- if (webAnimations.length > 0) {
522
- webAnimations[0].onfinish = () => {
523
- animationFinish();
524
- };
525
- }
526
- };
527
- const initializeAnimation = () => {
528
- beforeAnimation();
529
- if (_keyframes.length > 0) {
530
- if (supportsWebAnimations) {
531
- initializeWebAnimation();
532
- }
533
- }
534
- initialized = true;
535
- };
536
- const setAnimationStep = (step) => {
537
- step = Math.min(Math.max(step, 0), 0.9999);
538
- if (supportsWebAnimations) {
539
- webAnimations.forEach((animation) => {
540
- // When creating the animation the delay is guaranteed to be set to a number.
541
- animation.currentTime = animation.effect.getComputedTiming().delay + getDuration() * step;
542
- animation.pause();
543
- });
544
- }
545
- };
546
- const updateWebAnimation = (step) => {
547
- webAnimations.forEach((animation) => {
548
- animation.effect.updateTiming({
549
- delay: getDelay(),
550
- duration: getDuration(),
551
- easing: getEasing(),
552
- iterations: getIterations(),
553
- fill: getFill(),
554
- direction: getDirection(),
555
- });
556
- });
557
- if (step !== undefined) {
558
- setAnimationStep(step);
559
- }
560
- };
561
- const update = (deep = false, toggleAnimationName = true, step) => {
562
- if (deep) {
563
- childAnimations.forEach((animation) => {
564
- animation.update(deep, toggleAnimationName, step);
565
- });
566
- }
567
- if (supportsWebAnimations) {
568
- updateWebAnimation(step);
569
- }
570
- return ani;
571
- };
572
- const progressStart = (forceLinearEasing = false, step) => {
573
- childAnimations.forEach((animation) => {
574
- animation.progressStart(forceLinearEasing, step);
575
- });
576
- pauseAnimation();
577
- shouldForceLinearEasing = forceLinearEasing;
578
- if (!initialized) {
579
- initializeAnimation();
580
- }
581
- update(false, true, step);
582
- return ani;
583
- };
584
- const progressStep = (step) => {
585
- childAnimations.forEach((animation) => {
586
- animation.progressStep(step);
587
- });
588
- setAnimationStep(step);
589
- return ani;
590
- };
591
- const progressEnd = (playTo, step, dur) => {
592
- shouldForceLinearEasing = false;
593
- childAnimations.forEach((animation) => {
594
- animation.progressEnd(playTo, step, dur);
595
- });
596
- if (dur !== undefined) {
597
- forceDurationValue = dur;
598
- }
599
- finished = false;
600
- willComplete = true;
601
- if (playTo === 0) {
602
- forceDirectionValue = getDirection() === 'reverse' ? 'normal' : 'reverse';
603
- if (forceDirectionValue === 'reverse') {
604
- willComplete = false;
605
- }
606
- if (supportsWebAnimations) {
607
- update();
608
- setAnimationStep(1 - step);
609
- }
610
- else {
611
- forceDelayValue = (1 - step) * getDuration() * -1;
612
- update(false, false);
613
- }
614
- }
615
- else if (playTo === 1) {
616
- if (supportsWebAnimations) {
617
- update();
618
- setAnimationStep(step);
619
- }
620
- else {
621
- forceDelayValue = step * getDuration() * -1;
622
- update(false, false);
623
- }
624
- }
625
- if (playTo !== undefined && !parentAnimation) {
626
- play();
627
- }
628
- return ani;
629
- };
630
- const pauseAnimation = () => {
631
- if (initialized) {
632
- if (supportsWebAnimations) {
633
- webAnimations.forEach((animation) => {
634
- animation.pause();
635
- });
636
- }
637
- else {
638
- elements.forEach((element) => {
639
- setStyleProperty(element, 'animation-play-state', 'paused');
640
- });
641
- }
642
- paused = true;
643
- }
644
- };
645
- const pause = () => {
646
- childAnimations.forEach((animation) => {
647
- animation.pause();
648
- });
649
- pauseAnimation();
650
- return ani;
651
- };
652
- const playCSSAnimations = () => {
653
- animationFinish();
654
- };
655
- const playWebAnimations = () => {
656
- webAnimations.forEach((animation) => {
657
- animation.play();
658
- });
659
- if (_keyframes.length === 0 || elements.length === 0) {
660
- animationFinish();
661
- }
662
- };
663
- const resetAnimation = () => {
664
- if (supportsWebAnimations) {
665
- setAnimationStep(0);
666
- updateWebAnimation();
667
- }
668
- };
669
- const play = (opts) => {
670
- return new Promise((resolve) => {
671
- if (opts === null || opts === void 0 ? void 0 : opts.sync) {
672
- shouldForceSyncPlayback = true;
673
- onFinish(() => (shouldForceSyncPlayback = false), { oneTimeCallback: true });
674
- }
675
- if (!initialized) {
676
- initializeAnimation();
677
- }
678
- if (finished) {
679
- resetAnimation();
680
- finished = false;
681
- }
682
- if (shouldCalculateNumAnimations) {
683
- numAnimationsRunning = childAnimations.length + 1;
684
- shouldCalculateNumAnimations = false;
685
- }
686
- /**
687
- * When one of these callbacks fires we
688
- * need to clear the other's callback otherwise
689
- * you can potentially get these callbacks
690
- * firing multiple times if the play method
691
- * is subsequently called.
692
- * Example:
693
- * animation.play() (onStop and onFinish callbacks are registered)
694
- * animation.stop() (onStop callback is fired, onFinish is not)
695
- * animation.play() (onStop and onFinish callbacks are registered)
696
- * Total onStop callbacks: 1
697
- * Total onFinish callbacks: 2
698
- */
699
- const onStopCallback = () => {
700
- clearCallback(onFinishCallback, onFinishOneTimeCallbacks);
701
- resolve();
702
- };
703
- const onFinishCallback = () => {
704
- clearCallback(onStopCallback, onStopOneTimeCallbacks);
705
- resolve();
706
- };
707
- /**
708
- * The play method resolves when an animation
709
- * run either finishes or is cancelled.
710
- */
711
- onFinish(onFinishCallback, { oneTimeCallback: true });
712
- onStop(onStopCallback, { oneTimeCallback: true });
713
- childAnimations.forEach((animation) => {
714
- animation.play();
715
- });
716
- if (supportsWebAnimations) {
717
- playWebAnimations();
718
- }
719
- else {
720
- playCSSAnimations();
721
- }
722
- paused = false;
723
- });
724
- };
725
- /**
726
- * Stops an animation and resets it state to the
727
- * beginning. This does not fire any onFinish
728
- * callbacks because the animation did not finish.
729
- * However, since the animation was not destroyed
730
- * (i.e. the animation could run again) we do not
731
- * clear the onFinish callbacks.
732
- */
733
- const stop = () => {
734
- childAnimations.forEach((animation) => {
735
- animation.stop();
736
- });
737
- if (initialized) {
738
- cleanUpElements();
739
- initialized = false;
740
- }
741
- resetFlags();
742
- onStopOneTimeCallbacks.forEach((onStopCallback) => onStopCallback.c(0, ani));
743
- onStopOneTimeCallbacks.length = 0;
744
- };
745
- const from = (property, value) => {
746
- const firstFrame = _keyframes[0];
747
- if (firstFrame !== undefined && (firstFrame.offset === undefined || firstFrame.offset === 0)) {
748
- firstFrame[property] = value;
749
- }
750
- else {
751
- _keyframes = [{ offset: 0, [property]: value }, ..._keyframes];
752
- }
753
- return ani;
754
- };
755
- const to = (property, value) => {
756
- const lastFrame = _keyframes[_keyframes.length - 1];
757
- if (lastFrame !== undefined && (lastFrame.offset === undefined || lastFrame.offset === 1)) {
758
- lastFrame[property] = value;
759
- }
760
- else {
761
- _keyframes = [..._keyframes, { offset: 1, [property]: value }];
762
- }
763
- return ani;
764
- };
765
- const fromTo = (property, fromValue, toValue) => {
766
- return from(property, fromValue).to(property, toValue);
767
- };
768
- return (ani = {
769
- parentAnimation,
770
- elements,
771
- childAnimations,
772
- id,
773
- animationFinish,
774
- from,
775
- to,
776
- fromTo,
777
- parent,
778
- play,
779
- pause,
780
- stop,
781
- destroy,
782
- keyframes,
783
- addAnimation,
784
- addElement,
785
- update,
786
- fill,
787
- direction,
788
- iterations,
789
- duration,
790
- easing,
791
- delay,
792
- getWebAnimations,
793
- getKeyframes,
794
- getFill,
795
- getDirection,
796
- getDelay,
797
- getIterations,
798
- getEasing,
799
- getDuration,
800
- afterAddRead,
801
- afterAddWrite,
802
- afterClearStyles,
803
- afterStyles,
804
- afterRemoveClass,
805
- afterAddClass,
806
- beforeAddRead,
807
- beforeAddWrite,
808
- beforeClearStyles,
809
- beforeStyles,
810
- beforeRemoveClass,
811
- beforeAddClass,
812
- onFinish,
813
- isRunning,
814
- progressStart,
815
- progressStep,
816
- progressEnd,
817
- });
818
- };
819
-
820
- export { createAnimation as c };