@ionic/core 8.7.19-dev.11772655618.1af0949f → 8.7.19-dev.11773072221.15efeed0

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 +0 -2
  2. package/components/index.js +114 -1
  3. package/components/ion-accordion-group.js +268 -1
  4. package/components/ion-accordion.js +456 -1
  5. package/components/ion-action-sheet.js +6 -1
  6. package/components/ion-alert.js +6 -1
  7. package/components/ion-app.js +132 -1
  8. package/components/ion-avatar.js +41 -1
  9. package/components/ion-back-button.js +130 -1
  10. package/components/ion-backdrop.js +6 -1
  11. package/components/ion-badge.js +47 -1
  12. package/components/ion-breadcrumb.js +137 -1
  13. package/components/ion-breadcrumbs.js +164 -1
  14. package/components/ion-button.js +6 -1
  15. package/components/ion-buttons.js +6 -1
  16. package/components/ion-card-content.js +45 -1
  17. package/components/ion-card-header.js +56 -1
  18. package/components/ion-card-subtitle.js +48 -1
  19. package/components/ion-card-title.js +48 -1
  20. package/components/ion-card.js +107 -1
  21. package/components/ion-checkbox.js +6 -1
  22. package/components/ion-chip.js +66 -1
  23. package/components/ion-col.js +163 -1
  24. package/components/ion-content.js +6 -1
  25. package/components/ion-datetime-button.js +383 -1
  26. package/components/ion-datetime.js +2047 -1
  27. package/components/ion-fab-button.js +151 -1
  28. package/components/ion-fab-list.js +73 -1
  29. package/components/ion-fab.js +101 -1
  30. package/components/ion-footer.js +179 -1
  31. package/components/ion-grid.js +46 -1
  32. package/components/ion-header.js +6 -1
  33. package/components/ion-icon.js +6 -1
  34. package/components/ion-img.js +133 -1
  35. package/components/ion-infinite-scroll-content.js +69 -1
  36. package/components/ion-infinite-scroll.js +236 -1
  37. package/components/ion-input-otp.js +682 -1
  38. package/components/ion-input-password-toggle.js +128 -1
  39. package/components/ion-input.js +646 -1
  40. package/components/ion-item-divider.js +59 -1
  41. package/components/ion-item-group.js +46 -1
  42. package/components/ion-item-option.js +91 -1
  43. package/components/ion-item-options.js +73 -1
  44. package/components/ion-item-sliding.js +457 -1
  45. package/components/ion-item.js +6 -1
  46. package/components/ion-label.js +6 -1
  47. package/components/ion-list-header.js +6 -1
  48. package/components/ion-list.js +6 -1
  49. package/components/ion-loading.js +343 -1
  50. package/components/ion-menu-button.js +109 -1
  51. package/components/ion-menu-toggle.js +64 -1
  52. package/components/ion-menu.js +741 -1
  53. package/components/ion-modal.js +6 -1
  54. package/components/ion-nav-link.js +64 -1
  55. package/components/ion-nav.js +951 -1
  56. package/components/ion-note.js +47 -1
  57. package/components/ion-picker-column-option.js +6 -1
  58. package/components/ion-picker-column.js +6 -1
  59. package/components/ion-picker-legacy-column.js +6 -1
  60. package/components/ion-picker-legacy.js +342 -1
  61. package/components/ion-picker.js +6 -1
  62. package/components/ion-popover.js +6 -1
  63. package/components/ion-progress-bar.js +100 -1
  64. package/components/ion-radio-group.js +6 -1
  65. package/components/ion-radio.js +6 -1
  66. package/components/ion-range.js +844 -1
  67. package/components/ion-refresher-content.js +88 -1
  68. package/components/ion-refresher.js +750 -1
  69. package/components/ion-reorder-group.js +322 -1
  70. package/components/ion-reorder.js +60 -1
  71. package/components/ion-ripple-effect.js +6 -1
  72. package/components/ion-route-redirect.js +45 -1
  73. package/components/ion-route.js +74 -1
  74. package/components/ion-router-link.js +61 -1
  75. package/components/ion-router-outlet.js +226 -1
  76. package/components/ion-router.js +840 -1
  77. package/components/ion-row.js +36 -1
  78. package/components/ion-searchbar.js +540 -1
  79. package/components/ion-segment-button.js +173 -1
  80. package/components/ion-segment-content.js +35 -1
  81. package/components/ion-segment-view.js +142 -1
  82. package/components/ion-segment.js +602 -1
  83. package/components/ion-select-modal.js +6 -1
  84. package/components/ion-select-option.js +46 -1
  85. package/components/ion-select-popover.js +6 -1
  86. package/components/ion-select.js +1035 -1
  87. package/components/ion-skeleton-text.js +64 -1
  88. package/components/ion-spinner.js +6 -1
  89. package/components/ion-split-pane.js +190 -1
  90. package/components/ion-tab-bar.js +135 -1
  91. package/components/ion-tab-button.js +127 -1
  92. package/components/ion-tab.js +82 -1
  93. package/components/ion-tabs.js +204 -1
  94. package/components/ion-text.js +42 -1
  95. package/components/ion-textarea.js +554 -1
  96. package/components/ion-thumbnail.js +36 -1
  97. package/components/ion-title.js +6 -1
  98. package/components/ion-toast.js +938 -1
  99. package/components/ion-toggle.js +360 -1
  100. package/components/ion-toolbar.js +6 -1
  101. package/components/p-B-hirT0v.js +35 -1
  102. package/components/p-B25GjpND.js +71 -0
  103. package/components/p-BANeLH_G.js +290 -0
  104. package/components/p-BBFQmhcD.js +59 -0
  105. package/components/p-BC-awmYt.js +306 -0
  106. package/components/p-BHbOsu99.js +501 -0
  107. package/components/p-BTEOs1at.js +192 -1
  108. package/components/p-BTlwXR9e.js +73 -0
  109. package/components/p-BcazQttQ.js +612 -0
  110. package/components/p-BdGshsIJ.js +226 -0
  111. package/components/p-BfS7vSpC.js +147 -0
  112. package/components/p-BhRFCLuX.js +675 -0
  113. package/components/p-Bhnhnzjz.js +75 -0
  114. package/components/p-BmVRXR1y.js +72 -1
  115. package/components/p-BmcqD0EN.js +153 -0
  116. package/components/p-Boi6hecl.js +115 -0
  117. package/components/p-Bt_moUyl.js +232 -0
  118. package/components/p-Bxl5etF4.js +146 -0
  119. package/components/p-ByjmWt3s.js +139 -0
  120. package/components/p-C04oPyjT.js +54 -0
  121. package/components/p-C53feagD.js +15 -1
  122. package/components/p-C6dkQWq2.js +1626 -0
  123. package/components/p-CFZWrvIQ.js +194 -0
  124. package/components/p-CIGNaXM1.js +10 -1
  125. package/{dist/esm/config-TO1rZH52.js → components/p-CIJwkzL6.js} +1 -1
  126. package/components/p-CL12ApCQ.js +820 -0
  127. package/components/p-CO7fmmxt.js +29 -1
  128. package/components/p-CXJR56Oq.js +564 -0
  129. package/components/p-Cdm3dKWf.js +108 -0
  130. package/components/p-Cl0B-RWe.js +452 -1
  131. package/components/p-CslsoGzv.js +192 -0
  132. package/components/p-CtWGkNnJ.js +162 -1
  133. package/components/p-Cyd00tgZ.js +167 -0
  134. package/components/p-CzAJ3ArC.js +380 -0
  135. package/components/p-CzW34QBh.js +12 -0
  136. package/components/p-D0zXRwcr.js +196 -0
  137. package/components/p-D13Eaw-8.js +76 -1
  138. package/components/p-D5hF6rwn.js +339 -0
  139. package/components/p-D6Ynv7Xh.js +141 -1
  140. package/components/p-D8eD2iBA.js +67 -0
  141. package/components/p-DGOrLIyS.js +481 -0
  142. package/components/p-DJztqcrH.js +14 -1
  143. package/components/p-DK2Bn1Mc.js +305 -0
  144. package/components/p-DKRQWlK2.js +598 -0
  145. package/components/p-DNDUsygf.js +128 -0
  146. package/components/p-DTWZF6wg.js +418 -0
  147. package/components/p-DWoUQeZ3.js +3012 -0
  148. package/components/p-DX0w75a9.js +420 -0
  149. package/components/p-DiVJyqlX.js +40 -1
  150. package/components/p-Dt8zaCLQ.js +92 -0
  151. package/components/p-Dtdm8lKC.js +44 -1
  152. package/components/p-DyFBFrV7.js +264 -0
  153. package/components/p-DyHPCMyn.js +39 -0
  154. package/components/p-LgLeKTkH.js +112 -0
  155. package/components/p-NhiRFRn9.js +50 -0
  156. package/components/p-OuiHmXO5.js +646 -0
  157. package/components/p-Wro9IPHE.js +459 -0
  158. package/components/p-ZjP4CjeZ.js +4 -1
  159. package/components/p-aIWC4ZEV.js +305 -0
  160. package/components/p-c-XJ9XhZ.js +915 -0
  161. package/components/p-cyNmxje6.js +155 -1
  162. package/components/p-fVuFT3Wd.js +78 -0
  163. package/components/p-hHmYLOfE.js +87 -1
  164. package/components/p-iyo0Toaz.js +2822 -0
  165. package/{dist/esm/framework-delegate-CyxE1S_P.js → components/p-l_lso3Zl.js} +1 -1
  166. package/components/p-mQp4lwQD.js +1638 -0
  167. package/dist/cjs/{animation-Dg4yiuR2.js → animation-Bt3H9L1C.js} +1 -1
  168. package/dist/cjs/app-globals-Ciccnk9_.js +10 -0
  169. package/dist/cjs/{button-active-FscMI17-.js → button-active-CMc8cD90.js} +1 -1
  170. package/dist/cjs/{config-BukYi_pW.js → config-C5fsO43a.js} +1 -1
  171. package/dist/cjs/{data-BYlBjkMU.js → data-JwZKaIQB.js} +1 -1
  172. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-DMJRBuDi.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-VCK4V3mG.js} +1 -1
  174. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DrTqNghc.js} +1 -1
  175. package/dist/cjs/{index-C845Ti6K.js → index-094mMFB-.js} +4 -4
  176. package/dist/cjs/{index-YcSftOMz.js → index-C534ULug.js} +2 -2
  177. package/dist/cjs/{index-MbaBbWXk.js → index-CO6eryBo.js} +2 -2
  178. package/dist/cjs/{index-CqT-2gKy.js → index-D6Wc6v08.js} +382 -503
  179. package/dist/cjs/{index-CFUwM5x_.js → index-DrMUZJj6.js} +5 -5
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-CuMghsQ-.js} +3 -3
  182. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-B_QROI2g.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +15 -23
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -21
  185. package/dist/cjs/ion-alert.cjs.entry.js +17 -25
  186. package/dist/cjs/ion-app_8.cjs.entry.js +43 -48
  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 +14 -20
  191. package/dist/cjs/ion-button_2.cjs.entry.js +18 -36
  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 +46 -75
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +13 -17
  199. package/dist/cjs/ion-img.cjs.entry.js +6 -8
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -17
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +10 -16
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -9
  203. package/dist/cjs/ion-input.cjs.entry.js +13 -21
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -19
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -48
  206. package/dist/cjs/ion-loading.cjs.entry.js +14 -18
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +22 -30
  208. package/dist/cjs/ion-modal.cjs.entry.js +59 -237
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -14
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -10
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -11
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +15 -21
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +13 -17
  216. package/dist/cjs/ion-range.cjs.entry.js +57 -205
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -45
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +11 -13
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +10 -20
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +12 -22
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -13
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -26
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +13 -17
  226. package/dist/cjs/ion-select_3.cjs.entry.js +24 -33
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -15
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -14
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -10
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +14 -20
  233. package/dist/cjs/ion-toast.cjs.entry.js +15 -21
  234. package/dist/cjs/ion-toggle.cjs.entry.js +8 -10
  235. package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-HMVqOFGO.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOt_uW73.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-Dt968VXB.js} +4 -4
  240. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-Bzqhjm4f.js} +1 -1
  241. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-B2b-TTbl.js} +5 -5
  242. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-g0sWWkXk.js} +3 -3
  243. package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-BIayeNOD.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +2 -4
  246. package/dist/collection/components/action-sheet/action-sheet.js +10 -20
  247. package/dist/collection/components/alert/alert.js +12 -24
  248. package/dist/collection/components/back-button/back-button.js +2 -4
  249. package/dist/collection/components/badge/badge.js +1 -2
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -8
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -4
  252. package/dist/collection/components/button/button.js +3 -6
  253. package/dist/collection/components/card/card.js +3 -6
  254. package/dist/collection/components/card-header/card-header.js +1 -2
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +1 -2
  256. package/dist/collection/components/card-title/card-title.js +1 -2
  257. package/dist/collection/components/checkbox/checkbox.js +2 -4
  258. package/dist/collection/components/chip/chip.js +1 -2
  259. package/dist/collection/components/content/content.js +7 -12
  260. package/dist/collection/components/datetime/datetime.js +22 -43
  261. package/dist/collection/components/datetime-button/datetime-button.js +1 -2
  262. package/dist/collection/components/fab-button/fab-button.js +3 -6
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -4
  264. package/dist/collection/components/input/input.js +6 -11
  265. package/dist/collection/components/input-otp/input-otp.js +4 -8
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +2 -4
  267. package/dist/collection/components/item/item.js +5 -10
  268. package/dist/collection/components/item-divider/item-divider.js +3 -7
  269. package/dist/collection/components/item-option/item-option.js +3 -6
  270. package/dist/collection/components/item-options/item-options.js +1 -2
  271. package/dist/collection/components/item-sliding/item-sliding.js +1 -2
  272. package/dist/collection/components/label/label.js +3 -6
  273. package/dist/collection/components/list-header/list-header.js +3 -6
  274. package/dist/collection/components/loading/loading.js +11 -22
  275. package/dist/collection/components/menu/menu.js +5 -10
  276. package/dist/collection/components/menu-button/menu-button.js +1 -2
  277. package/dist/collection/components/modal/gestures/sheet.js +12 -120
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -54
  279. package/dist/collection/components/modal/modal.js +45 -127
  280. package/dist/collection/components/nav/nav.js +45 -89
  281. package/dist/collection/components/nav-link/nav-link.js +5 -9
  282. package/dist/collection/components/note/note.js +1 -2
  283. package/dist/collection/components/picker/picker.js +1 -2
  284. package/dist/collection/components/picker-column/picker-column.js +3 -6
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +1 -2
  286. package/dist/collection/components/picker-legacy/picker.js +12 -24
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -4
  288. package/dist/collection/components/popover/popover.js +17 -33
  289. package/dist/collection/components/progress-bar/progress-bar.js +1 -2
  290. package/dist/collection/components/radio/radio.js +1 -2
  291. package/dist/collection/components/radio-group/radio-group.js +3 -6
  292. package/dist/collection/components/range/range.js +53 -214
  293. package/dist/collection/components/refresher/refresher.js +5 -73
  294. package/dist/collection/components/refresher-content/refresher-content.js +4 -8
  295. package/dist/collection/components/reorder-group/reorder-group.js +3 -6
  296. package/dist/collection/components/route/route.js +2 -4
  297. package/dist/collection/components/router/router.js +5 -10
  298. package/dist/collection/components/router-link/router-link.js +3 -6
  299. package/dist/collection/components/router-outlet/router-outlet.js +9 -18
  300. package/dist/collection/components/searchbar/searchbar.js +6 -11
  301. package/dist/collection/components/segment/segment.js +5 -10
  302. package/dist/collection/components/segment-button/segment-button.js +2 -4
  303. package/dist/collection/components/segment-view/segment-view.ios.css +1 -2
  304. package/dist/collection/components/segment-view/segment-view.js +4 -30
  305. package/dist/collection/components/segment-view/segment-view.md.css +1 -2
  306. package/dist/collection/components/select/select.js +8 -17
  307. package/dist/collection/components/select-modal/select-modal.js +2 -27
  308. package/dist/collection/components/select-popover/select-popover.js +1 -2
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -2
  310. package/dist/collection/components/spinner/spinner.js +2 -4
  311. package/dist/collection/components/tab/tab.js +2 -4
  312. package/dist/collection/components/tab-bar/tab-bar.js +2 -4
  313. package/dist/collection/components/tab-button/tab-button.js +2 -4
  314. package/dist/collection/components/tabs/tabs.js +2 -4
  315. package/dist/collection/components/text/text.js +1 -2
  316. package/dist/collection/components/textarea/textarea.js +7 -10
  317. package/dist/collection/components/title/title.js +2 -4
  318. package/dist/collection/components/toast/toast.js +17 -34
  319. package/dist/collection/components/toggle/toggle.js +2 -4
  320. package/dist/collection/components/toolbar/toolbar.js +1 -2
  321. package/dist/docs.d.ts +0 -37
  322. package/dist/docs.json +389 -1186
  323. package/dist/esm/{animation-CnGMT4ji.js → animation-Dt8bGnA-.js} +1 -1
  324. package/dist/esm/app-globals-BDSf8fOA.js +8 -0
  325. package/dist/esm/{button-active-BBx21brx.js → button-active-L570Swow.js} +1 -1
  326. package/dist/esm/config-mCdtaoPe.js +195 -0
  327. package/dist/esm/{data-B9iGR5YO.js → data-DCORV9FH.js} +1 -1
  328. package/dist/esm/framework-delegate-BYawdMXj.js +140 -0
  329. package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-CPLxO-Ev.js} +1 -1
  330. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-DEn3pfjm.js} +1 -1
  331. package/dist/esm/{index-hW6eNZ3o.js → index-Bs3kT4bc.js} +2 -2
  332. package/dist/esm/{index-IGIE5vDm.js → index-C8IsBmNU.js} +382 -503
  333. package/dist/esm/{index-B2KwgBLx.js → index-CvDIirVx.js} +5 -5
  334. package/dist/esm/{index-BtUdxPjv.js → index-ceb5RaMT.js} +2 -2
  335. package/dist/esm/{index-B-hkiOUh.js → index-r2D9DEro.js} +4 -4
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-D6H3ZaWt.js} +3 -3
  338. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-DrvTa8gz.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +15 -23
  340. package/dist/esm/ion-action-sheet.entry.js +15 -21
  341. package/dist/esm/ion-alert.entry.js +17 -25
  342. package/dist/esm/ion-app_8.entry.js +43 -48
  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 +14 -20
  347. package/dist/esm/ion-button_2.entry.js +18 -36
  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 +46 -75
  354. package/dist/esm/ion-fab_3.entry.js +13 -17
  355. package/dist/esm/ion-img.entry.js +6 -8
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +13 -17
  357. package/dist/esm/ion-input-otp.entry.js +10 -16
  358. package/dist/esm/ion-input-password-toggle.entry.js +7 -9
  359. package/dist/esm/ion-input.entry.js +13 -21
  360. package/dist/esm/ion-item-option_3.entry.js +17 -19
  361. package/dist/esm/ion-item_8.entry.js +42 -48
  362. package/dist/esm/ion-loading.entry.js +14 -18
  363. package/dist/esm/ion-menu_3.entry.js +22 -30
  364. package/dist/esm/ion-modal.entry.js +59 -237
  365. package/dist/esm/ion-nav_2.entry.js +10 -14
  366. package/dist/esm/ion-picker-column-option.entry.js +8 -10
  367. package/dist/esm/ion-picker-column.entry.js +7 -11
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +15 -21
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +13 -17
  372. package/dist/esm/ion-range.entry.js +57 -205
  373. package/dist/esm/ion-refresher_2.entry.js +14 -45
  374. package/dist/esm/ion-reorder_2.entry.js +11 -13
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +10 -20
  377. package/dist/esm/ion-searchbar.entry.js +12 -22
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +8 -13
  380. package/dist/esm/ion-segment_2.entry.js +16 -26
  381. package/dist/esm/ion-select-modal.entry.js +13 -17
  382. package/dist/esm/ion-select_3.entry.js +24 -33
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +9 -15
  385. package/dist/esm/ion-tab-bar_2.entry.js +12 -14
  386. package/dist/esm/ion-tab_2.entry.js +8 -10
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +14 -20
  389. package/dist/esm/ion-toast.entry.js +15 -21
  390. package/dist/esm/ion-toggle.entry.js +8 -10
  391. package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-CDrldh-5.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-BDzw0_Hm.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-BzDYi3qq.js} +4 -4
  396. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-BwelN_JM.js} +1 -1
  397. package/dist/esm/{overlays-F8GHPo-e.js → overlays-D5YkFThA.js} +5 -5
  398. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-5DQ7Fc4V.js} +3 -3
  399. package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BKw2CAHc.js} +2 -2
  400. package/dist/html.html-data.json +109 -117
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/{p-f2deaceb.entry.js → p-0ca0fe9c.entry.js} +1 -1
  404. package/dist/ionic/p-11518b31.entry.js +4 -0
  405. package/dist/ionic/{p-80cac7a2.entry.js → p-11aa58d6.entry.js} +1 -1
  406. package/dist/ionic/p-221a3d8c.entry.js +4 -0
  407. package/dist/ionic/{p-b325a113.entry.js → p-2668188b.entry.js} +1 -1
  408. package/dist/ionic/p-2ac254dc.entry.js +4 -0
  409. package/dist/ionic/p-2bd1ea35.entry.js +4 -0
  410. package/dist/ionic/p-30333874.entry.js +4 -0
  411. package/dist/ionic/p-31db96da.entry.js +4 -0
  412. package/dist/ionic/p-34642fa1.entry.js +4 -0
  413. package/dist/ionic/p-35696017.entry.js +4 -0
  414. package/dist/ionic/p-363d1209.entry.js +4 -0
  415. package/dist/ionic/p-46a38cfd.entry.js +4 -0
  416. package/dist/ionic/{p-301c43f8.entry.js → p-49d06882.entry.js} +1 -1
  417. package/dist/ionic/p-4eec1a5e.entry.js +4 -0
  418. package/dist/ionic/p-530fcd71.entry.js +4 -0
  419. package/dist/ionic/{p-9833cf63.entry.js → p-582824c5.entry.js} +1 -1
  420. package/dist/ionic/{p-1b169fb6.entry.js → p-5c8f7253.entry.js} +1 -1
  421. package/dist/ionic/p-5d6fb6e3.entry.js +4 -0
  422. package/dist/ionic/{p-e6cedcd7.entry.js → p-652318c3.entry.js} +1 -1
  423. package/dist/ionic/p-66fbe052.entry.js +4 -0
  424. package/dist/ionic/{p-9fae83d8.entry.js → p-675b1a31.entry.js} +1 -1
  425. package/dist/ionic/{p-bcaa827e.entry.js → p-6f37536a.entry.js} +1 -1
  426. package/dist/ionic/{p-370a60ee.entry.js → p-79bd78f9.entry.js} +1 -1
  427. package/dist/ionic/p-7babec72.entry.js +4 -0
  428. package/dist/ionic/{p-6af16209.entry.js → p-7cad388a.entry.js} +1 -1
  429. package/dist/ionic/{p-6b701daa.entry.js → p-7f98e710.entry.js} +1 -1
  430. package/dist/ionic/p-82d5bb3d.entry.js +4 -0
  431. package/dist/ionic/{p-7ca71c83.entry.js → p-906bb44d.entry.js} +1 -1
  432. package/dist/ionic/{p-23fac490.entry.js → p-915b3e3d.entry.js} +1 -1
  433. package/dist/ionic/{p-e663bc5a.entry.js → p-9575b654.entry.js} +1 -1
  434. package/dist/ionic/p-97eb0812.entry.js +4 -0
  435. package/dist/ionic/p-9b6d46f2.entry.js +4 -0
  436. package/dist/ionic/{p-DB_iPQC-.js → p-B0q1YL7N.js} +1 -1
  437. package/dist/ionic/{p-NFFyoJ4Q.js → p-BFvmZNyx.js} +1 -1
  438. package/dist/ionic/p-BKc55Xev.js +4 -0
  439. package/dist/ionic/{p-CYbRmDdy.js → p-BOVrCkpJ.js} +1 -1
  440. package/{components/p-Cy5XSfIk.js → dist/ionic/p-BYEqWnSg.js} +1 -1
  441. package/dist/ionic/p-Bmgaetn_.js +4 -0
  442. package/dist/ionic/{p-BAt5H1ac.js → p-C7hRNDhM.js} +1 -1
  443. package/dist/ionic/p-C8IsBmNU.js +5 -0
  444. package/dist/ionic/p-CJxh_yLS.js +4 -0
  445. package/dist/ionic/{p-CGmVTdWh.js → p-CTfR9YZG.js} +1 -1
  446. package/{components/p-C59ryAuS.js → dist/ionic/p-CwgG81ZD.js} +1 -1
  447. package/{components/p-BR3tZJmu.js → dist/ionic/p-D-eFFUkA.js} +1 -1
  448. package/{components/p-BS1TtEiJ.js → dist/ionic/p-D0dMcSkw.js} +1 -1
  449. package/dist/ionic/{p-DjriolRs.js → p-DCv9sLH2.js} +1 -1
  450. package/dist/ionic/{p-Bum7H1fw.js → p-DDb5r57F.js} +1 -1
  451. package/dist/ionic/{p-DLbbmF9h.js → p-DNcfiJwE.js} +1 -1
  452. package/{components/p-9VcRUwdB.js → dist/ionic/p-DUt5fQmA.js} +1 -1
  453. package/dist/ionic/p-DZRJwG4S.js +4 -0
  454. package/{components/p-BUbsoBOV.js → dist/ionic/p-DbQ5QkTP.js} +1 -1
  455. package/dist/ionic/{p-BxIcPWoV.js → p-Dc45iWE4.js} +1 -1
  456. package/{components/p-Cq8cQ0NL.js → dist/ionic/p-DdR6rpbR.js} +1 -1
  457. package/dist/ionic/{p-CYvM5g3q.js → p-MUoJJJwd.js} +1 -1
  458. package/dist/ionic/p-a4a9f5ae.entry.js +4 -0
  459. package/dist/ionic/{p-f5dfb9a3.entry.js → p-ac4eb91d.entry.js} +1 -1
  460. package/dist/ionic/{p-ca31010f.entry.js → p-b0a7585c.entry.js} +1 -1
  461. package/dist/ionic/p-b0ebf9f8.entry.js +4 -0
  462. package/dist/ionic/{p-294f4bb5.entry.js → p-b8551510.entry.js} +1 -1
  463. package/dist/ionic/{p-f8186550.entry.js → p-bce86e56.entry.js} +1 -1
  464. package/dist/ionic/p-be263062.entry.js +4 -0
  465. package/dist/ionic/p-c175d792.entry.js +4 -0
  466. package/dist/ionic/p-cc2a9936.entry.js +4 -0
  467. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  468. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  469. package/dist/ionic/{p-b440381f.entry.js → p-d1f54e28.entry.js} +1 -1
  470. package/dist/ionic/{p-a84f2d21.entry.js → p-da7d04cc.entry.js} +1 -1
  471. package/dist/ionic/p-e4c57008.entry.js +4 -0
  472. package/dist/ionic/p-e5d6d0f0.entry.js +4 -0
  473. package/dist/ionic/p-f1dfee25.entry.js +4 -0
  474. package/dist/ionic/p-f9f7b9db.entry.js +4 -0
  475. package/dist/ionic/{p-c3cce9d8.entry.js → p-fb0271ae.entry.js} +1 -1
  476. package/dist/ionic/{p-e863ffe8.entry.js → p-fbb00634.entry.js} +1 -1
  477. package/dist/types/components/datetime/datetime.d.ts +0 -10
  478. package/dist/types/components/header/header.utils.d.ts +1 -2
  479. package/dist/types/components/item/item.d.ts +0 -2
  480. package/dist/types/components/item-divider/item-divider.d.ts +0 -3
  481. package/dist/types/components/item-option/item-option.d.ts +0 -2
  482. package/dist/types/components/list-header/list-header.d.ts +0 -2
  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 +0 -25
  486. package/dist/types/components/modal/modal.d.ts +1 -22
  487. package/dist/types/components/range/range-interface.d.ts +0 -1
  488. package/dist/types/components/range/range.d.ts +4 -44
  489. package/dist/types/components/refresher/refresher-interface.d.ts +0 -7
  490. package/dist/types/components/refresher/refresher.d.ts +3 -16
  491. package/dist/types/components/segment-view/segment-view.d.ts +0 -4
  492. package/dist/types/components/select/select.d.ts +0 -3
  493. package/dist/types/components/select-modal/select-modal.d.ts +0 -4
  494. package/dist/types/components.d.ts +191 -964
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +14 -126
  497. package/dist/types/utils/gesture/listener.d.ts +1 -2
  498. package/hydrate/index.d.ts +0 -12
  499. package/hydrate/index.js +1421 -5632
  500. package/hydrate/index.mjs +1422 -5631
  501. package/package.json +2 -2
  502. package/components/p-1KVKSLu5.js +0 -4
  503. package/components/p-ApmKVjaE.js +0 -4
  504. package/components/p-B6FQ0cKR.js +0 -4
  505. package/components/p-B6HaBl3o.js +0 -4
  506. package/components/p-B8b1Ukl9.js +0 -4
  507. package/components/p-BFxT89Wl.js +0 -4
  508. package/components/p-BJoMtgfR.js +0 -4
  509. package/components/p-BNAG-aVv.js +0 -4
  510. package/components/p-BSB38Tek.js +0 -4
  511. package/components/p-BTeL5HCK.js +0 -4
  512. package/components/p-BVnB3eEn.js +0 -4
  513. package/components/p-BYDc3hSE.js +0 -4
  514. package/components/p-BagjAGC0.js +0 -4
  515. package/components/p-BegtE7nr.js +0 -4
  516. package/components/p-BgwEQWW6.js +0 -4
  517. package/components/p-Bk2zuNWT.js +0 -4
  518. package/components/p-Bum_LjMh.js +0 -4
  519. package/components/p-BxwWvu-b.js +0 -4
  520. package/components/p-C4jPsTQa.js +0 -4
  521. package/components/p-C7AoMl7c.js +0 -4
  522. package/components/p-CBzELu-H.js +0 -4
  523. package/components/p-CDfQnFrd.js +0 -4
  524. package/components/p-CH0NYjKq.js +0 -4
  525. package/components/p-CU1SSH8_.js +0 -4
  526. package/components/p-CVF7ukTk.js +0 -4
  527. package/components/p-CgfaEEem.js +0 -4
  528. package/components/p-CgqKJg96.js +0 -4
  529. package/components/p-CneGxKsZ.js +0 -4
  530. package/components/p-CoA-aqGF.js +0 -4
  531. package/components/p-Csw8xuz4.js +0 -4
  532. package/components/p-Cwv-vmkN.js +0 -4
  533. package/components/p-Cyxa_4PV.js +0 -4
  534. package/components/p-Cz5nLPGT.js +0 -4
  535. package/components/p-D6NJwNJN.js +0 -4
  536. package/components/p-DHsZWn1l.js +0 -4
  537. package/components/p-DJMZehmW.js +0 -4
  538. package/components/p-DYdpXONG.js +0 -4
  539. package/components/p-DgbT0exM.js +0 -4
  540. package/components/p-YLXPWgVj.js +0 -4
  541. package/components/p-ak_d-z48.js +0 -4
  542. package/components/p-fpbh6w3f.js +0 -4
  543. package/components/p-kvaDs24J.js +0 -4
  544. package/components/p-vEbVo2hO.js +0 -4
  545. package/dist/cjs/app-globals-CLI8xCmk.js +0 -11
  546. package/dist/esm/app-globals-DhZjtldk.js +0 -9
  547. package/dist/ionic/p-031b76f7.entry.js +0 -4
  548. package/dist/ionic/p-045a6a42.entry.js +0 -4
  549. package/dist/ionic/p-07506134.entry.js +0 -4
  550. package/dist/ionic/p-084c25b2.entry.js +0 -4
  551. package/dist/ionic/p-0d8b5c38.entry.js +0 -4
  552. package/dist/ionic/p-16813ce7.entry.js +0 -4
  553. package/dist/ionic/p-16b65553.entry.js +0 -4
  554. package/dist/ionic/p-1b02923f.entry.js +0 -4
  555. package/dist/ionic/p-2a68388b.entry.js +0 -4
  556. package/dist/ionic/p-2f5a8140.entry.js +0 -4
  557. package/dist/ionic/p-3e143d1d.entry.js +0 -4
  558. package/dist/ionic/p-4819b469.entry.js +0 -4
  559. package/dist/ionic/p-4dd5e8e0.entry.js +0 -4
  560. package/dist/ionic/p-51c11c47.entry.js +0 -4
  561. package/dist/ionic/p-53f750a5.entry.js +0 -4
  562. package/dist/ionic/p-6b97f2a3.entry.js +0 -4
  563. package/dist/ionic/p-71e322f7.entry.js +0 -4
  564. package/dist/ionic/p-7620be24.entry.js +0 -4
  565. package/dist/ionic/p-771b27a5.entry.js +0 -4
  566. package/dist/ionic/p-96a2e768.entry.js +0 -4
  567. package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
  568. package/dist/ionic/p-9cdbabbb.entry.js +0 -4
  569. package/dist/ionic/p-9eac4eb1.entry.js +0 -4
  570. package/dist/ionic/p-B8xlpH8p.js +0 -4
  571. package/dist/ionic/p-BW_TRJm8.js +0 -4
  572. package/dist/ionic/p-BvFYtOdE.js +0 -4
  573. package/dist/ionic/p-C0JvVFMv.js +0 -4
  574. package/dist/ionic/p-CmFz1Mjc.js +0 -4
  575. package/dist/ionic/p-CtA-yJYy.js +0 -4
  576. package/dist/ionic/p-D8HJQ1qq.js +0 -4
  577. package/dist/ionic/p-DTPR1Wpn.js +0 -4
  578. package/dist/ionic/p-DtVZDHlS.js +0 -4
  579. package/dist/ionic/p-IGIE5vDm.js +0 -5
  580. package/dist/ionic/p-a805674e.entry.js +0 -4
  581. package/dist/ionic/p-aa47f46e.entry.js +0 -4
  582. package/dist/ionic/p-b6e0ff03.entry.js +0 -4
  583. package/dist/ionic/p-d4e8b473.entry.js +0 -4
  584. package/dist/ionic/p-e6c5f060.entry.js +0 -4
  585. package/dist/ionic/p-fdbc90d4.entry.js +0 -4
  586. package/dist/ionic/p-gbVXD275.js +0 -4
  587. package/dist/ionic/p-hNN3VvaC.js +0 -4
@@ -0,0 +1,481 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { p as proxyCustomElement, H, e as createEvent, k as readTask, i as forceUpdate, h, d as Host } from './p-DWoUQeZ3.js';
5
+ import { i as inheritAriaAttributes, k as hasLazyBuild, c as componentOnReady } from './p-D5hF6rwn.js';
6
+ import { b as getIonMode, a as isPlatform } from './p-Bxl5etF4.js';
7
+ import { i as isRTL } from './p-C53feagD.js';
8
+ import { c as createColorClasses, h as hostContext } from './p-DiVJyqlX.js';
9
+
10
+ const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}";
11
+
12
+ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends H {
13
+ constructor(registerHost) {
14
+ super();
15
+ if (registerHost !== false) {
16
+ this.__registerHost();
17
+ }
18
+ this.__attachShadow();
19
+ this.ionScrollStart = createEvent(this, "ionScrollStart", 7);
20
+ this.ionScroll = createEvent(this, "ionScroll", 7);
21
+ this.ionScrollEnd = createEvent(this, "ionScrollEnd", 7);
22
+ this.watchDog = null;
23
+ this.isScrolling = false;
24
+ this.lastScroll = 0;
25
+ this.queued = false;
26
+ this.cTop = -1;
27
+ this.cBottom = -1;
28
+ this.isMainContent = true;
29
+ this.resizeTimeout = null;
30
+ this.inheritedAttributes = {};
31
+ this.tabsElement = null;
32
+ // Detail is used in a hot loop in the scroll event, by allocating it here
33
+ // V8 will be able to inline any read/write to it since it's a monomorphic class.
34
+ // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
35
+ this.detail = {
36
+ scrollTop: 0,
37
+ scrollLeft: 0,
38
+ type: 'scroll',
39
+ event: undefined,
40
+ startX: 0,
41
+ startY: 0,
42
+ startTime: 0,
43
+ currentX: 0,
44
+ currentY: 0,
45
+ velocityX: 0,
46
+ velocityY: 0,
47
+ deltaX: 0,
48
+ deltaY: 0,
49
+ currentTime: 0,
50
+ data: undefined,
51
+ isScrolling: true,
52
+ };
53
+ /**
54
+ * If `true`, the content will scroll behind the headers
55
+ * and footers. This effect can easily be seen by setting the toolbar
56
+ * to transparent.
57
+ */
58
+ this.fullscreen = false;
59
+ /**
60
+ * Controls where the fixed content is placed relative to the main content
61
+ * in the DOM. This can be used to control the order in which fixed elements
62
+ * receive keyboard focus.
63
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
64
+ * the main page content, set this property to `'before'`.
65
+ */
66
+ this.fixedSlotPlacement = 'after';
67
+ /**
68
+ * If you want to enable the content scrolling in the X axis, set this property to `true`.
69
+ */
70
+ this.scrollX = false;
71
+ /**
72
+ * If you want to disable the content scrolling in the Y axis, set this property to `false`.
73
+ */
74
+ this.scrollY = true;
75
+ /**
76
+ * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
77
+ * and start listening from (ionScroll), set this property to `true`.
78
+ */
79
+ this.scrollEvents = false;
80
+ }
81
+ componentWillLoad() {
82
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
83
+ }
84
+ connectedCallback() {
85
+ this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
86
+ /**
87
+ * The fullscreen content offsets need to be
88
+ * computed after the tab bar has loaded. Since
89
+ * lazy evaluation means components are not hydrated
90
+ * at the same time, we need to wait for the ionTabBarLoaded
91
+ * event to fire. This does not impact dist-custom-elements
92
+ * because there is no hydration there.
93
+ */
94
+ if (hasLazyBuild(this.el)) {
95
+ /**
96
+ * We need to cache the reference to the tabs.
97
+ * If just the content is unmounted then we won't
98
+ * be able to query for the closest tabs on disconnectedCallback
99
+ * since the content has been removed from the DOM tree.
100
+ */
101
+ const closestTabs = (this.tabsElement = this.el.closest('ion-tabs'));
102
+ if (closestTabs !== null) {
103
+ /**
104
+ * When adding and removing the event listener
105
+ * we need to make sure we pass the same function reference
106
+ * otherwise the event listener will not be removed properly.
107
+ * We can't only pass `this.resize` because "this" in the function
108
+ * context becomes a reference to IonTabs instead of IonContent.
109
+ *
110
+ * Additionally, we listen for ionTabBarLoaded on the IonTabs
111
+ * instance rather than the IonTabBar instance. It's possible for
112
+ * a tab bar to be conditionally rendered/mounted. Since ionTabBarLoaded
113
+ * bubbles, we can catch any instances of child tab bars loading by listening
114
+ * on IonTabs.
115
+ */
116
+ this.tabsLoadCallback = () => this.resize();
117
+ closestTabs.addEventListener('ionTabBarLoaded', this.tabsLoadCallback);
118
+ }
119
+ }
120
+ }
121
+ disconnectedCallback() {
122
+ this.onScrollEnd();
123
+ if (hasLazyBuild(this.el)) {
124
+ /**
125
+ * The event listener and tabs caches need to
126
+ * be cleared otherwise this will create a memory
127
+ * leak where the IonTabs instance can never be
128
+ * garbage collected.
129
+ */
130
+ const { tabsElement, tabsLoadCallback } = this;
131
+ if (tabsElement !== null && tabsLoadCallback !== undefined) {
132
+ tabsElement.removeEventListener('ionTabBarLoaded', tabsLoadCallback);
133
+ }
134
+ this.tabsElement = null;
135
+ this.tabsLoadCallback = undefined;
136
+ }
137
+ if (this.resizeTimeout) {
138
+ clearTimeout(this.resizeTimeout);
139
+ this.resizeTimeout = null;
140
+ }
141
+ }
142
+ /**
143
+ * Rotating certain devices can update
144
+ * the safe area insets. As a result,
145
+ * the fullscreen feature on ion-content
146
+ * needs to be recalculated.
147
+ *
148
+ * We listen for "resize" because we
149
+ * do not care what the orientation of
150
+ * the device is. Other APIs
151
+ * such as ScreenOrientation or
152
+ * the deviceorientation event must have
153
+ * permission from the user first whereas
154
+ * the "resize" event does not.
155
+ *
156
+ * We also throttle the callback to minimize
157
+ * thrashing when quickly resizing a window.
158
+ */
159
+ onResize() {
160
+ if (this.resizeTimeout) {
161
+ clearTimeout(this.resizeTimeout);
162
+ this.resizeTimeout = null;
163
+ }
164
+ this.resizeTimeout = setTimeout(() => {
165
+ /**
166
+ * Resize should only happen
167
+ * if the content is visible.
168
+ * When the content is hidden
169
+ * then offsetParent will be null.
170
+ */
171
+ if (this.el.offsetParent === null) {
172
+ return;
173
+ }
174
+ this.resize();
175
+ }, 100);
176
+ }
177
+ shouldForceOverscroll() {
178
+ const { forceOverscroll } = this;
179
+ const mode = getIonMode(this);
180
+ return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
181
+ }
182
+ resize() {
183
+ /**
184
+ * Only force update if the component is rendered in a browser context.
185
+ * Using `forceUpdate` in a server context with pre-rendering can lead to an infinite loop.
186
+ * The `hydrateDocument` function in `@stencil/core` will render the `ion-content`, but
187
+ * `forceUpdate` will trigger another render, locking up the server.
188
+ *
189
+ * TODO: Remove if STENCIL-834 determines Stencil will account for this.
190
+ */
191
+ {
192
+ if (this.fullscreen) {
193
+ readTask(() => this.readDimensions());
194
+ }
195
+ else if (this.cTop !== 0 || this.cBottom !== 0) {
196
+ this.cTop = this.cBottom = 0;
197
+ forceUpdate(this);
198
+ }
199
+ }
200
+ }
201
+ /**
202
+ * Recalculate content dimensions. Called by overlays (e.g., popover) when
203
+ * sibling elements like headers or footers have finished rendering and their
204
+ * heights are available, ensuring accurate offset-top calculations.
205
+ * @internal
206
+ */
207
+ async recalculateDimensions() {
208
+ readTask(() => this.readDimensions());
209
+ }
210
+ readDimensions() {
211
+ const page = getPageElement(this.el);
212
+ const top = Math.max(this.el.offsetTop, 0);
213
+ const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);
214
+ const dirty = top !== this.cTop || bottom !== this.cBottom;
215
+ if (dirty) {
216
+ this.cTop = top;
217
+ this.cBottom = bottom;
218
+ forceUpdate(this);
219
+ }
220
+ }
221
+ onScroll(ev) {
222
+ const timeStamp = Date.now();
223
+ const shouldStart = !this.isScrolling;
224
+ this.lastScroll = timeStamp;
225
+ if (shouldStart) {
226
+ this.onScrollStart();
227
+ }
228
+ if (!this.queued && this.scrollEvents) {
229
+ this.queued = true;
230
+ readTask((ts) => {
231
+ this.queued = false;
232
+ this.detail.event = ev;
233
+ updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);
234
+ this.ionScroll.emit(this.detail);
235
+ });
236
+ }
237
+ }
238
+ /**
239
+ * Get the element where the actual scrolling takes place.
240
+ * This element can be used to subscribe to `scroll` events or manually modify
241
+ * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:
242
+ *
243
+ * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events
244
+ * and `scrollToPoint()` to scroll the content into a certain point.
245
+ */
246
+ async getScrollElement() {
247
+ /**
248
+ * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
249
+ * scrollEl won't be defined yet with the custom elements build, so wait for it to load in.
250
+ */
251
+ if (!this.scrollEl) {
252
+ await new Promise((resolve) => componentOnReady(this.el, resolve));
253
+ }
254
+ return Promise.resolve(this.scrollEl);
255
+ }
256
+ /**
257
+ * Returns the background content element.
258
+ * @internal
259
+ */
260
+ async getBackgroundElement() {
261
+ if (!this.backgroundContentEl) {
262
+ await new Promise((resolve) => componentOnReady(this.el, resolve));
263
+ }
264
+ return Promise.resolve(this.backgroundContentEl);
265
+ }
266
+ /**
267
+ * Scroll to the top of the component.
268
+ *
269
+ * @param duration The amount of time to take scrolling to the top. Defaults to `0`.
270
+ */
271
+ scrollToTop(duration = 0) {
272
+ return this.scrollToPoint(undefined, 0, duration);
273
+ }
274
+ /**
275
+ * Scroll to the bottom of the component.
276
+ *
277
+ * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
278
+ */
279
+ async scrollToBottom(duration = 0) {
280
+ const scrollEl = await this.getScrollElement();
281
+ const y = scrollEl.scrollHeight - scrollEl.clientHeight;
282
+ return this.scrollToPoint(undefined, y, duration);
283
+ }
284
+ /**
285
+ * Scroll by a specified X/Y distance in the component.
286
+ *
287
+ * @param x The amount to scroll by on the horizontal axis.
288
+ * @param y The amount to scroll by on the vertical axis.
289
+ * @param duration The amount of time to take scrolling by that amount.
290
+ */
291
+ async scrollByPoint(x, y, duration) {
292
+ const scrollEl = await this.getScrollElement();
293
+ return this.scrollToPoint(x + scrollEl.scrollLeft, y + scrollEl.scrollTop, duration);
294
+ }
295
+ /**
296
+ * Scroll to a specified X/Y location in the component.
297
+ *
298
+ * @param x The point to scroll to on the horizontal axis.
299
+ * @param y The point to scroll to on the vertical axis.
300
+ * @param duration The amount of time to take scrolling to that point. Defaults to `0`.
301
+ */
302
+ async scrollToPoint(x, y, duration = 0) {
303
+ const el = await this.getScrollElement();
304
+ if (duration < 32) {
305
+ if (y != null) {
306
+ el.scrollTop = y;
307
+ }
308
+ if (x != null) {
309
+ el.scrollLeft = x;
310
+ }
311
+ return;
312
+ }
313
+ let resolve;
314
+ let startTime = 0;
315
+ const promise = new Promise((r) => (resolve = r));
316
+ const fromY = el.scrollTop;
317
+ const fromX = el.scrollLeft;
318
+ const deltaY = y != null ? y - fromY : 0;
319
+ const deltaX = x != null ? x - fromX : 0;
320
+ // scroll loop
321
+ const step = (timeStamp) => {
322
+ const linearTime = Math.min(1, (timeStamp - startTime) / duration) - 1;
323
+ const easedT = Math.pow(linearTime, 3) + 1;
324
+ if (deltaY !== 0) {
325
+ el.scrollTop = Math.floor(easedT * deltaY + fromY);
326
+ }
327
+ if (deltaX !== 0) {
328
+ el.scrollLeft = Math.floor(easedT * deltaX + fromX);
329
+ }
330
+ if (easedT < 1) {
331
+ // do not use DomController here
332
+ // must use nativeRaf in order to fire in the next frame
333
+ requestAnimationFrame(step);
334
+ }
335
+ else {
336
+ resolve();
337
+ }
338
+ };
339
+ // chill out for a frame first
340
+ requestAnimationFrame((ts) => {
341
+ startTime = ts;
342
+ step(ts);
343
+ });
344
+ return promise;
345
+ }
346
+ onScrollStart() {
347
+ this.isScrolling = true;
348
+ this.ionScrollStart.emit({
349
+ isScrolling: true,
350
+ });
351
+ if (this.watchDog) {
352
+ clearInterval(this.watchDog);
353
+ }
354
+ // watchdog
355
+ this.watchDog = setInterval(() => {
356
+ if (this.lastScroll < Date.now() - 120) {
357
+ this.onScrollEnd();
358
+ }
359
+ }, 100);
360
+ }
361
+ onScrollEnd() {
362
+ if (this.watchDog)
363
+ clearInterval(this.watchDog);
364
+ this.watchDog = null;
365
+ if (this.isScrolling) {
366
+ this.isScrolling = false;
367
+ this.ionScrollEnd.emit({
368
+ isScrolling: false,
369
+ });
370
+ }
371
+ }
372
+ render() {
373
+ const { fixedSlotPlacement, inheritedAttributes, isMainContent, scrollX, scrollY, el } = this;
374
+ const rtl = isRTL(el) ? 'rtl' : 'ltr';
375
+ const mode = getIonMode(this);
376
+ const forceOverscroll = this.shouldForceOverscroll();
377
+ const transitionShadow = mode === 'ios';
378
+ this.resize();
379
+ return (h(Host, Object.assign({ key: '287f5bb78888b0f66394a35ba2a3ad636d8f3412', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
380
+ [mode]: true,
381
+ 'content-sizing': hostContext('ion-popover', this.el),
382
+ overscroll: forceOverscroll,
383
+ [`content-${rtl}`]: true,
384
+ }), style: {
385
+ '--offset-top': `${this.cTop}px`,
386
+ '--offset-bottom': `${this.cBottom}px`,
387
+ } }, inheritedAttributes), h("div", { key: '2e70e5e0ab4209478ea711a630058fa0e83af7f8', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '018a83406173ec7f7725f09b4bd1c0d964874ee4', class: {
388
+ 'inner-scroll': true,
389
+ 'scroll-x': scrollX,
390
+ 'scroll-y': scrollY,
391
+ overscroll: (scrollX || scrollY) && forceOverscroll,
392
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '6f028eeb7c9dc7e1b82a8e549e1dd8aaf1d15fca' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
393
+ }
394
+ get el() { return this; }
395
+ static get style() { return contentCss; }
396
+ }, [257, "ion-content", {
397
+ "color": [513],
398
+ "fullscreen": [4],
399
+ "fixedSlotPlacement": [1, "fixed-slot-placement"],
400
+ "forceOverscroll": [1028, "force-overscroll"],
401
+ "scrollX": [4, "scroll-x"],
402
+ "scrollY": [4, "scroll-y"],
403
+ "scrollEvents": [4, "scroll-events"],
404
+ "recalculateDimensions": [64],
405
+ "getScrollElement": [64],
406
+ "getBackgroundElement": [64],
407
+ "scrollToTop": [64],
408
+ "scrollToBottom": [64],
409
+ "scrollByPoint": [64],
410
+ "scrollToPoint": [64]
411
+ }, [[9, "resize", "onResize"]]]);
412
+ const getParentElement = (el) => {
413
+ var _a;
414
+ if (el.parentElement) {
415
+ // normal element with a parent element
416
+ return el.parentElement;
417
+ }
418
+ if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
419
+ // shadow dom's document fragment
420
+ return el.parentNode.host;
421
+ }
422
+ return null;
423
+ };
424
+ const getPageElement = (el) => {
425
+ const tabs = el.closest('ion-tabs');
426
+ if (tabs) {
427
+ return tabs;
428
+ }
429
+ /**
430
+ * If we're in a popover, we need to use its wrapper so we can account for space
431
+ * between the popover and the edges of the screen. But if the popover contains
432
+ * its own page element, we should use that instead.
433
+ */
434
+ const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');
435
+ if (page) {
436
+ return page;
437
+ }
438
+ return getParentElement(el);
439
+ };
440
+ // ******** DOM READ ****************
441
+ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
442
+ const prevX = detail.currentX;
443
+ const prevY = detail.currentY;
444
+ const prevT = detail.currentTime;
445
+ const currentX = el.scrollLeft;
446
+ const currentY = el.scrollTop;
447
+ const timeDelta = timestamp - prevT;
448
+ if (shouldStart) {
449
+ // remember the start positions
450
+ detail.startTime = timestamp;
451
+ detail.startX = currentX;
452
+ detail.startY = currentY;
453
+ detail.velocityX = detail.velocityY = 0;
454
+ }
455
+ detail.currentTime = timestamp;
456
+ detail.currentX = detail.scrollLeft = currentX;
457
+ detail.currentY = detail.scrollTop = currentY;
458
+ detail.deltaX = currentX - detail.startX;
459
+ detail.deltaY = currentY - detail.startY;
460
+ if (timeDelta > 0 && timeDelta < 100) {
461
+ const velocityX = (currentX - prevX) / timeDelta;
462
+ const velocityY = (currentY - prevY) / timeDelta;
463
+ detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;
464
+ detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;
465
+ }
466
+ };
467
+ function defineCustomElement() {
468
+ if (typeof customElements === "undefined") {
469
+ return;
470
+ }
471
+ const components = ["ion-content"];
472
+ components.forEach(tagName => { switch (tagName) {
473
+ case "ion-content":
474
+ if (!customElements.get(tagName)) {
475
+ customElements.define(tagName, Content);
476
+ }
477
+ break;
478
+ } });
479
+ }
480
+
481
+ export { Content as C, defineCustomElement as d };
@@ -1,4 +1,17 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- const n=n=>{const o=n.classList.contains("ion-touched"),t=n.classList.contains("ion-invalid");return o&&t};export{n as c}
4
+ /**
5
+ * Checks if the form element is in an invalid state based on
6
+ * Ionic validation classes.
7
+ *
8
+ * @param el The form element to check.
9
+ * @returns `true` if the element is invalid, `false` otherwise.
10
+ */
11
+ const checkInvalidState = (el) => {
12
+ const hasIonTouched = el.classList.contains('ion-touched');
13
+ const hasIonInvalid = el.classList.contains('ion-invalid');
14
+ return hasIonTouched && hasIonInvalid;
15
+ };
16
+
17
+ export { checkInvalidState as c };