@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11788449221.155f9f1e

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 (1241) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.d.ts +11 -0
  65. package/components/ion-picker-legacy-column.js +4 -0
  66. package/components/ion-picker-legacy.d.ts +11 -0
  67. package/components/ion-picker-legacy.js +4 -0
  68. package/components/ion-picker.js +1 -1
  69. package/components/ion-popover.js +1 -1
  70. package/components/ion-progress-bar.js +1 -1
  71. package/components/ion-radio-group.js +1 -1
  72. package/components/ion-radio.js +1 -1
  73. package/components/ion-range.js +1 -1
  74. package/components/ion-refresher-content.js +1 -1
  75. package/components/ion-refresher.js +1 -1
  76. package/components/ion-reorder-group.js +1 -1
  77. package/components/ion-reorder.js +1 -1
  78. package/components/ion-ripple-effect.js +1 -1
  79. package/components/ion-route-redirect.js +1 -1
  80. package/components/ion-route.js +1 -1
  81. package/components/ion-router-link.js +1 -1
  82. package/components/ion-router-outlet.js +1 -1
  83. package/components/ion-router.js +1 -1
  84. package/components/ion-row.js +1 -1
  85. package/components/ion-searchbar.js +1 -1
  86. package/components/ion-segment-button.js +1 -1
  87. package/components/ion-segment-content.js +1 -1
  88. package/components/ion-segment-view.js +1 -1
  89. package/components/ion-segment.js +1 -1
  90. package/components/ion-select-modal.js +1 -1
  91. package/components/ion-select-option.js +1 -1
  92. package/components/ion-select-popover.js +1 -1
  93. package/components/ion-select.js +1 -1
  94. package/components/ion-skeleton-text.js +1 -1
  95. package/components/ion-spinner.js +1 -1
  96. package/components/ion-split-pane.js +1 -1
  97. package/components/ion-tab-bar.js +1 -1
  98. package/components/ion-tab-button.js +1 -1
  99. package/components/ion-tab.js +1 -1
  100. package/components/ion-tabs.js +1 -1
  101. package/components/ion-text.js +1 -1
  102. package/components/ion-textarea.js +1 -1
  103. package/components/ion-thumbnail.js +1 -1
  104. package/components/ion-title.js +1 -1
  105. package/components/ion-toast.js +1 -1
  106. package/components/ion-toggle.js +1 -1
  107. package/components/ion-toolbar.js +1 -1
  108. package/components/{p-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
  109. package/components/p-B39i6rpY.js +4 -0
  110. package/components/p-B4GJERAm.js +4 -0
  111. package/components/p-B9_sPaDw.js +4 -0
  112. package/components/p-BDqjX7Z_.js +4 -0
  113. package/components/p-BE21dB_a.js +4 -0
  114. package/components/p-BJyeT56g.js +4 -0
  115. package/components/p-BLP69XoA.js +4 -0
  116. package/components/p-BTBa_wH7.js +4 -0
  117. package/components/p-BTEOs1at.js +4 -0
  118. package/components/p-BU8Blvqg.js +4 -0
  119. package/components/p-BUePQFRZ.js +4 -0
  120. package/components/p-BXjGM4gW.js +4 -0
  121. package/components/p-BXuZo5-p.js +4 -0
  122. package/components/p-BYRVyMu9.js +4 -0
  123. package/components/p-BYSs-jZz.js +4 -0
  124. package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
  125. package/components/p-B_a4XnF2.js +4 -0
  126. package/components/p-BjW8SOqw.js +4 -0
  127. package/components/p-BnQAsi91.js +4 -0
  128. package/components/p-BrF4HSay.js +4 -0
  129. package/components/p-Bs5kME4N.js +4 -0
  130. package/components/p-BwKpO3Is.js +4 -0
  131. package/components/p-BwzRqsq1.js +4 -0
  132. package/components/p-C0K6CGg9.js +4 -0
  133. package/components/p-C1L59jNd.js +4 -0
  134. package/components/p-C3ydXg9O.js +4 -0
  135. package/components/p-C5F5Zw01.js +4 -0
  136. package/components/p-C784We0w.js +4 -0
  137. package/components/p-CA81qANP.js +4 -0
  138. package/components/p-CEz0vNHD.js +4 -0
  139. package/components/p-CHB9zWT6.js +4 -0
  140. package/components/p-CJNsztW3.js +4 -0
  141. package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
  142. package/components/p-CODBQrPj.js +4 -0
  143. package/components/p-CVYFPBs-.js +4 -0
  144. package/components/p-CWqLCAML.js +4 -0
  145. package/components/p-CaB0_AG0.js +4 -0
  146. package/components/p-CaXMr1SL.js +4 -0
  147. package/components/p-Cc3oC60a.js +4 -0
  148. package/components/p-CjlmHeGM.js +4 -0
  149. package/components/p-CstXr-x9.js +4 -0
  150. package/components/{p-DzRT60Tw.js → p-Cu8FoYIJ.js} +1 -1
  151. package/components/p-CxhjkdQ_.js +4 -0
  152. package/components/p-CxoHM559.js +4 -0
  153. package/components/p-D0Iqw6OZ.js +4 -0
  154. package/components/p-D12Xsfh7.js +4 -0
  155. package/components/p-D1t981Ih.js +4 -0
  156. package/components/p-D2tZEPGv.js +4 -0
  157. package/components/p-D6zl6ZA8.js +4 -0
  158. package/components/p-DExJ63jR.js +4 -0
  159. package/components/p-DHvfufkW.js +4 -0
  160. package/components/p-DNweMi32.js +4 -0
  161. package/components/p-DRUGmlKi.js +4 -0
  162. package/components/p-DYq-5riI.js +4 -0
  163. package/components/p-DaJxRxSQ.js +4 -0
  164. package/components/p-Db3A3kHi.js +4 -0
  165. package/components/p-Df6AAcu8.js +4 -0
  166. package/components/p-Dhi5xtNS.js +4 -0
  167. package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
  168. package/components/p-DkfVuzjA.js +4 -0
  169. package/components/p-DriGEn08.js +4 -0
  170. package/components/p-Ds3yn-R0.js +4 -0
  171. package/components/p-DylrHLJF.js +4 -0
  172. package/components/p-VrmyB-Wu.js +4 -0
  173. package/components/p-Wn4ujuPW.js +4 -0
  174. package/components/p-X6YgGSBf.js +4 -0
  175. package/components/p-dLA3JnNJ.js +4 -0
  176. package/components/p-fIOYmaqA.js +4 -0
  177. package/components/p-o8OKV5aD.js +4 -0
  178. package/components/p-vUGYs065.js +4 -0
  179. package/components/p-vXpMhGrs.js +4 -0
  180. package/css/core.css +1 -1
  181. package/css/core.css.map +1 -1
  182. package/css/display.css +1 -1
  183. package/css/display.css.map +1 -1
  184. package/css/flex-utils.css +1 -1
  185. package/css/flex-utils.css.map +1 -1
  186. package/css/float-elements.css.map +1 -1
  187. package/css/global.bundle.css.map +1 -1
  188. package/css/ionic/bundle.ionic.css +1 -0
  189. package/css/ionic/bundle.ionic.css.map +1 -0
  190. package/css/ionic/core.ionic.css +1 -0
  191. package/css/ionic/core.ionic.css.map +1 -0
  192. package/css/ionic/global.bundle.ionic.css +1 -0
  193. package/css/ionic/global.bundle.ionic.css.map +1 -0
  194. package/css/ionic/ionic-swiper.ionic.css +1 -0
  195. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  196. package/css/ionic/link.ionic.css +1 -0
  197. package/css/ionic/link.ionic.css.map +1 -0
  198. package/css/ionic/structure.ionic.css +1 -0
  199. package/css/ionic/structure.ionic.css.map +1 -0
  200. package/css/ionic/typography.ionic.css +1 -0
  201. package/css/ionic/typography.ionic.css.map +1 -0
  202. package/css/ionic/utils.bundle.ionic.css +1 -0
  203. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  204. package/css/ionic-swiper.css +1 -1
  205. package/css/ionic-swiper.css.map +1 -1
  206. package/css/ionic.bundle.css +1 -1
  207. package/css/ionic.bundle.css.map +1 -1
  208. package/css/normalize.css.map +1 -1
  209. package/css/padding.css.map +1 -1
  210. package/css/palettes/dark.always.css.map +1 -1
  211. package/css/palettes/dark.class.css.map +1 -1
  212. package/css/palettes/dark.system.css.map +1 -1
  213. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  214. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  215. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  216. package/css/palettes/high-contrast.always.css.map +1 -1
  217. package/css/palettes/high-contrast.class.css.map +1 -1
  218. package/css/palettes/high-contrast.system.css.map +1 -1
  219. package/css/structure.css.map +1 -1
  220. package/css/text-alignment.css.map +1 -1
  221. package/css/text-transformation.css.map +1 -1
  222. package/css/typography.css.map +1 -1
  223. package/css/utils.bundle.css +1 -1
  224. package/css/utils.bundle.css.map +1 -1
  225. package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
  226. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
  227. package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
  228. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
  229. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  230. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  231. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  232. package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
  233. package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
  234. package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
  235. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  236. package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
  237. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
  238. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  239. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
  240. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
  241. package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
  242. package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
  243. package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
  244. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  245. package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
  246. package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
  247. package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
  248. package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
  249. package/dist/cjs/index.cjs.js +18 -18
  250. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
  251. package/dist/cjs/input.utils--RmR5lVe.js +150 -0
  252. package/dist/cjs/ion-accordion_2.cjs.entry.js +383 -379
  253. package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
  254. package/dist/cjs/ion-alert.cjs.entry.js +126 -251
  255. package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
  256. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
  257. package/dist/cjs/ion-back-button.cjs.entry.js +50 -65
  258. package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
  259. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +170 -212
  260. package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
  261. package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
  262. package/dist/cjs/ion-checkbox.cjs.entry.js +130 -164
  263. package/dist/cjs/ion-chip.cjs.entry.js +56 -21
  264. package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
  265. package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
  266. package/dist/cjs/ion-datetime_3.cjs.entry.js +3242 -0
  267. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  268. package/dist/cjs/ion-fab_3.cjs.entry.js +113 -155
  269. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  270. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  271. package/dist/cjs/ion-img.cjs.entry.js +17 -35
  272. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
  273. package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
  274. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +64 -40
  275. package/dist/cjs/ion-input.cjs.entry.js +312 -351
  276. package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
  277. package/dist/cjs/ion-item_8.cjs.entry.js +190 -218
  278. package/dist/cjs/ion-loading.cjs.entry.js +69 -152
  279. package/dist/cjs/ion-menu_3.cjs.entry.js +138 -182
  280. package/dist/cjs/ion-modal.cjs.entry.js +501 -571
  281. package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
  282. package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
  283. package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
  284. package/dist/cjs/ion-picker.cjs.entry.js +401 -406
  285. package/dist/cjs/ion-popover.cjs.entry.js +212 -324
  286. package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
  287. package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
  288. package/dist/cjs/ion-range.cjs.entry.js +251 -309
  289. package/dist/cjs/ion-refresher_2.cjs.entry.js +122 -175
  290. package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -60
  291. package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
  292. package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
  293. package/dist/cjs/ion-searchbar.cjs.entry.js +331 -308
  294. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  295. package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
  296. package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
  297. package/dist/cjs/ion-select-modal.cjs.entry.js +70 -50
  298. package/dist/cjs/ion-select_3.cjs.entry.js +429 -507
  299. package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
  300. package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
  301. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
  302. package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
  303. package/dist/cjs/ion-text.cjs.entry.js +7 -13
  304. package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
  305. package/dist/cjs/ion-toast.cjs.entry.js +170 -265
  306. package/dist/cjs/ion-toggle.cjs.entry.js +187 -184
  307. package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
  308. package/dist/cjs/ionic.cjs.js +4 -4
  309. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
  310. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
  311. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
  312. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
  313. package/dist/cjs/list-a-7GSA6K.js +8 -0
  314. package/dist/cjs/loader.cjs.js +4 -4
  315. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
  316. package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
  317. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  318. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
  319. package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
  320. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
  321. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
  322. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
  323. package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
  324. package/dist/cjs/validity-QmuwEptc.js +51 -0
  325. package/dist/cjs/x-BTF99yFH.js +8 -0
  326. package/dist/collection/collection-manifest.json +13 -1
  327. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  328. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  329. package/dist/collection/components/accordion/accordion.js +338 -327
  330. package/dist/collection/components/accordion/accordion.md.css +67 -59
  331. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  332. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  333. package/dist/collection/components/accordion-group/accordion-group.js +69 -56
  334. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  335. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  336. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  337. package/dist/collection/components/action-sheet/action-sheet.js +76 -166
  338. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  339. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  340. package/dist/collection/components/alert/alert.ionic.css +787 -0
  341. package/dist/collection/components/alert/alert.ios.css +247 -54
  342. package/dist/collection/components/alert/alert.js +113 -236
  343. package/dist/collection/components/alert/alert.md.css +243 -56
  344. package/dist/collection/components/app/app.js +15 -86
  345. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  346. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  347. package/dist/collection/components/avatar/avatar.js +120 -4
  348. package/dist/collection/components/avatar/avatar.md.css +51 -0
  349. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  350. package/dist/collection/components/back-button/back-button.js +46 -61
  351. package/dist/collection/components/back-button/back-button.md.css +60 -48
  352. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  353. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  354. package/dist/collection/components/backdrop/backdrop.js +26 -22
  355. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  356. package/dist/collection/components/badge/badge.ionic.css +272 -0
  357. package/dist/collection/components/badge/badge.ios.css +137 -12
  358. package/dist/collection/components/badge/badge.js +145 -15
  359. package/dist/collection/components/badge/badge.md.css +122 -12
  360. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  361. package/dist/collection/components/breadcrumb/breadcrumb.js +72 -101
  362. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  363. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  364. package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
  365. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  366. package/dist/collection/components/button/button.ionic.css +644 -0
  367. package/dist/collection/components/button/button.ios.css +154 -46
  368. package/dist/collection/components/button/button.js +122 -157
  369. package/dist/collection/components/button/button.md.css +150 -50
  370. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  371. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  372. package/dist/collection/components/buttons/buttons.js +29 -21
  373. package/dist/collection/components/buttons/buttons.md.css +55 -3
  374. package/dist/collection/components/card/card.ionic.css +144 -0
  375. package/dist/collection/components/card/card.ios.css +65 -14
  376. package/dist/collection/components/card/card.js +61 -63
  377. package/dist/collection/components/card/card.md.css +65 -14
  378. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  379. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  380. package/dist/collection/components/card-content/card-content.js +12 -10
  381. package/dist/collection/components/card-content/card-content.md.css +20 -35
  382. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  383. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  384. package/dist/collection/components/card-header/card-header.js +20 -21
  385. package/dist/collection/components/card-header/card-header.md.css +27 -15
  386. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  387. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  388. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
  389. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  390. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  391. package/dist/collection/components/card-title/card-title.js +11 -14
  392. package/dist/collection/components/card-title/card-title.md.css +73 -0
  393. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  394. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  395. package/dist/collection/components/checkbox/checkbox.js +165 -160
  396. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  397. package/dist/collection/components/chip/chip.ionic.css +217 -0
  398. package/dist/collection/components/chip/chip.ios.css +67 -14
  399. package/dist/collection/components/chip/chip.js +116 -20
  400. package/dist/collection/components/chip/chip.md.css +67 -14
  401. package/dist/collection/components/col/col.css +192 -4
  402. package/dist/collection/components/col/col.js +212 -186
  403. package/dist/collection/components/content/content.css +47 -2
  404. package/dist/collection/components/content/content.js +78 -102
  405. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  406. package/dist/collection/components/datetime/datetime.ios.css +304 -148
  407. package/dist/collection/components/datetime/datetime.js +928 -1086
  408. package/dist/collection/components/datetime/datetime.md.css +294 -138
  409. package/dist/collection/components/datetime/utils/data.js +19 -18
  410. package/dist/collection/components/datetime/utils/format.js +11 -21
  411. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  412. package/dist/collection/components/datetime/utils/parse.js +10 -10
  413. package/dist/collection/components/datetime/utils/state.js +2 -8
  414. package/dist/collection/components/datetime/utils/validate.js +5 -4
  415. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
  416. package/dist/collection/components/datetime-button/datetime-button.js +246 -253
  417. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
  418. package/dist/collection/components/divider/divider.ionic.css +148 -0
  419. package/dist/collection/components/divider/divider.ios.css +87 -0
  420. package/dist/collection/components/divider/divider.js +94 -0
  421. package/dist/collection/components/divider/divider.md.css +87 -0
  422. package/dist/collection/components/fab/fab.css +25 -1
  423. package/dist/collection/components/fab/fab.js +22 -25
  424. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  425. package/dist/collection/components/fab-button/fab-button.js +83 -117
  426. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  427. package/dist/collection/components/fab-list/fab-list.css +12 -0
  428. package/dist/collection/components/fab-list/fab-list.js +20 -15
  429. package/dist/collection/components/footer/footer-interface.js +1 -0
  430. package/dist/collection/components/footer/footer.ios.css +33 -6
  431. package/dist/collection/components/footer/footer.js +151 -65
  432. package/dist/collection/components/footer/footer.md.css +40 -0
  433. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  434. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  435. package/dist/collection/components/gallery/gallery.css +15 -0
  436. package/dist/collection/components/gallery/gallery.js +679 -0
  437. package/dist/collection/components/gallery/test/utils.js +100 -0
  438. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  439. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  440. package/dist/collection/components/grid/grid.css +12 -0
  441. package/dist/collection/components/grid/grid.js +15 -9
  442. package/dist/collection/components/header/header-interface.js +1 -0
  443. package/dist/collection/components/header/header.ionic.css +250 -0
  444. package/dist/collection/components/header/header.ios.css +178 -133
  445. package/dist/collection/components/header/header.js +202 -70
  446. package/dist/collection/components/header/header.md.css +199 -9
  447. package/dist/collection/components/header/header.utils.js +6 -13
  448. package/dist/collection/components/img/img.js +16 -34
  449. package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
  450. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  451. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
  452. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  453. package/dist/collection/components/input/input.ionic.css +891 -0
  454. package/dist/collection/components/input/input.ios.css +247 -191
  455. package/dist/collection/components/input/input.js +340 -357
  456. package/dist/collection/components/input/input.md.css +234 -285
  457. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  458. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  459. package/dist/collection/components/input-otp/input-otp.js +437 -432
  460. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  461. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  462. package/dist/collection/components/input-password-toggle/input-password-toggle.js +60 -37
  463. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  464. package/dist/collection/components/item/item.ionic.css +496 -0
  465. package/dist/collection/components/item/item.ios.css +120 -80
  466. package/dist/collection/components/item/item.js +102 -113
  467. package/dist/collection/components/item/item.md.css +131 -79
  468. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  469. package/dist/collection/components/item-divider/item-divider.js +21 -23
  470. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  471. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  472. package/dist/collection/components/item-group/item-group.js +13 -7
  473. package/dist/collection/components/item-group/item-group.md.css +12 -0
  474. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  475. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  476. package/dist/collection/components/item-option/item-option.js +92 -56
  477. package/dist/collection/components/item-option/item-option.md.css +136 -29
  478. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  479. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  480. package/dist/collection/components/item-options/item-options.js +20 -17
  481. package/dist/collection/components/item-options/item-options.md.css +77 -34
  482. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  483. package/dist/collection/components/item-sliding/item-sliding.js +441 -61
  484. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  485. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  486. package/dist/collection/components/label/label.ios.css +18 -0
  487. package/dist/collection/components/label/label.js +15 -32
  488. package/dist/collection/components/label/label.md.css +18 -0
  489. package/dist/collection/components/list/list.ionic.css +212 -0
  490. package/dist/collection/components/list/list.ios.css +54 -14
  491. package/dist/collection/components/list/list.js +55 -19
  492. package/dist/collection/components/list/list.md.css +56 -16
  493. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  494. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  495. package/dist/collection/components/list-header/list-header.js +11 -18
  496. package/dist/collection/components/list-header/list-header.md.css +82 -38
  497. package/dist/collection/components/loading/loading.ios.css +13 -1
  498. package/dist/collection/components/loading/loading.js +62 -143
  499. package/dist/collection/components/loading/loading.md.css +13 -1
  500. package/dist/collection/components/menu/menu.ios.css +15 -3
  501. package/dist/collection/components/menu/menu.js +71 -108
  502. package/dist/collection/components/menu/menu.md.css +15 -3
  503. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  504. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  505. package/dist/collection/components/menu-button/menu-button.js +45 -38
  506. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  507. package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
  508. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  509. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  510. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  511. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  512. package/dist/collection/components/modal/animations/sheet.js +8 -2
  513. package/dist/collection/components/modal/gestures/sheet.js +86 -32
  514. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
  515. package/dist/collection/components/modal/modal.ionic.css +255 -0
  516. package/dist/collection/components/modal/modal.ios.css +178 -70
  517. package/dist/collection/components/modal/modal.js +272 -404
  518. package/dist/collection/components/modal/modal.md.css +178 -70
  519. package/dist/collection/components/modal/safe-area-utils.js +7 -6
  520. package/dist/collection/components/modal/test/fixtures.js +0 -3
  521. package/dist/collection/components/nav/nav.css +7 -1
  522. package/dist/collection/components/nav/nav.js +256 -72
  523. package/dist/collection/components/nav/view-controller.js +1 -7
  524. package/dist/collection/components/nav-link/nav-link.js +14 -21
  525. package/dist/collection/components/note/note.ios.css +12 -0
  526. package/dist/collection/components/note/note.js +11 -14
  527. package/dist/collection/components/note/note.md.css +12 -0
  528. package/dist/collection/components/picker/picker.ios.css +15 -3
  529. package/dist/collection/components/picker/picker.js +398 -403
  530. package/dist/collection/components/picker/picker.md.css +15 -3
  531. package/dist/collection/components/picker-column/picker-column.css +9 -5
  532. package/dist/collection/components/picker-column/picker-column.js +409 -418
  533. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  534. package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
  535. package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
  536. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  537. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  538. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  539. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  540. package/dist/collection/components/picker-legacy/picker.js +891 -0
  541. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  542. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  543. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  544. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  545. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  546. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  547. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  548. package/dist/collection/components/popover/popover.ionic.css +290 -0
  549. package/dist/collection/components/popover/popover.ios.css +15 -2
  550. package/dist/collection/components/popover/popover.js +199 -313
  551. package/dist/collection/components/popover/popover.md.css +15 -2
  552. package/dist/collection/components/popover/test/fixture.js +0 -1
  553. package/dist/collection/components/popover/utils.js +6 -4
  554. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  555. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  556. package/dist/collection/components/progress-bar/progress-bar.js +65 -33
  557. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  558. package/dist/collection/components/radio/radio.ionic.css +422 -0
  559. package/dist/collection/components/radio/radio.ios.css +207 -102
  560. package/dist/collection/components/radio/radio.js +77 -108
  561. package/dist/collection/components/radio/radio.md.css +207 -102
  562. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  563. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  564. package/dist/collection/components/radio-group/radio-group.js +113 -107
  565. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  566. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  567. package/dist/collection/components/range/range.ionic.css +567 -0
  568. package/dist/collection/components/range/range.ios.css +128 -85
  569. package/dist/collection/components/range/range.js +247 -305
  570. package/dist/collection/components/range/range.md.css +128 -85
  571. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  572. package/dist/collection/components/refresher/refresher.js +88 -117
  573. package/dist/collection/components/refresher/refresher.md.css +15 -2
  574. package/dist/collection/components/refresher-content/refresher-content.js +31 -47
  575. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  576. package/dist/collection/components/reorder/reorder.js +33 -7
  577. package/dist/collection/components/reorder/reorder.md.css +6 -0
  578. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  579. package/dist/collection/components/reorder-group/reorder-group.js +22 -47
  580. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  581. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  582. package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
  583. package/dist/collection/components/route/route.js +14 -39
  584. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  585. package/dist/collection/components/router/router.js +37 -37
  586. package/dist/collection/components/router/utils/dom.js +7 -25
  587. package/dist/collection/components/router/utils/matching.js +9 -7
  588. package/dist/collection/components/router/utils/parser.js +1 -1
  589. package/dist/collection/components/router/utils/path.js +1 -0
  590. package/dist/collection/components/router-link/router-link.css +8 -2
  591. package/dist/collection/components/router-link/router-link.js +19 -40
  592. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  593. package/dist/collection/components/router-outlet/router-outlet.js +25 -83
  594. package/dist/collection/components/row/row.css +16 -0
  595. package/dist/collection/components/row/row.js +9 -2
  596. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  597. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  598. package/dist/collection/components/searchbar/searchbar.js +380 -321
  599. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  600. package/dist/collection/components/segment/segment.ionic.css +115 -0
  601. package/dist/collection/components/segment/segment.ios.css +45 -2
  602. package/dist/collection/components/segment/segment.js +94 -126
  603. package/dist/collection/components/segment/segment.md.css +45 -2
  604. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  605. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  606. package/dist/collection/components/segment-button/segment-button.js +46 -49
  607. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  608. package/dist/collection/components/segment-content/segment-content.js +1 -1
  609. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  610. package/dist/collection/components/segment-view/segment-view.js +27 -28
  611. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  612. package/dist/collection/components/select/select.ionic.css +809 -0
  613. package/dist/collection/components/select/select.ios.css +351 -206
  614. package/dist/collection/components/select/select.js +444 -431
  615. package/dist/collection/components/select/select.md.css +383 -230
  616. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  617. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  618. package/dist/collection/components/select-modal/select-modal.js +79 -37
  619. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  620. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  621. package/dist/collection/components/select-option/select-option.js +15 -48
  622. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  623. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  624. package/dist/collection/components/select-popover/select-popover.js +37 -44
  625. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  626. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  627. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  628. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  629. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  630. package/dist/collection/components/spinner/spinner.js +55 -26
  631. package/dist/collection/components/spinner/spinner.native.css +199 -0
  632. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  633. package/dist/collection/components/split-pane/split-pane.js +28 -33
  634. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  635. package/dist/collection/components/tab/tab.js +10 -17
  636. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  637. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  638. package/dist/collection/components/tab-bar/tab-bar.js +190 -44
  639. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  640. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  641. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  642. package/dist/collection/components/tab-button/tab-button.js +74 -68
  643. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  644. package/dist/collection/components/tabs/tabs.css +7 -1
  645. package/dist/collection/components/tabs/tabs.js +23 -33
  646. package/dist/collection/components/text/text.css +6 -0
  647. package/dist/collection/components/text/text.js +7 -12
  648. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  649. package/dist/collection/components/textarea/textarea.ios.css +329 -221
  650. package/dist/collection/components/textarea/textarea.js +334 -302
  651. package/dist/collection/components/textarea/textarea.md.css +358 -231
  652. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  653. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  654. package/dist/collection/components/title/title.ionic.css +127 -0
  655. package/dist/collection/components/title/title.ios.css +32 -4
  656. package/dist/collection/components/title/title.js +13 -23
  657. package/dist/collection/components/title/title.md.css +39 -4
  658. package/dist/collection/components/toast/animations/utils.js +1 -1
  659. package/dist/collection/components/toast/toast.ionic.css +394 -0
  660. package/dist/collection/components/toast/toast.ios.css +84 -45
  661. package/dist/collection/components/toast/toast.js +178 -232
  662. package/dist/collection/components/toast/toast.md.css +84 -45
  663. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  664. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  665. package/dist/collection/components/toggle/toggle.js +177 -175
  666. package/dist/collection/components/toggle/toggle.md.css +245 -127
  667. package/dist/collection/components/toolbar/test/image.svg +1 -0
  668. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  669. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  670. package/dist/collection/components/toolbar/toolbar.js +222 -25
  671. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  672. package/dist/collection/global/config.js +6 -4
  673. package/dist/collection/global/ionic-global.js +242 -20
  674. package/dist/collection/index.js +1 -1
  675. package/dist/collection/utils/animation/animation.js +3 -3
  676. package/dist/collection/utils/config.js +4 -5
  677. package/dist/collection/utils/css-value-validation.js +39 -0
  678. package/dist/collection/utils/focus-controller/index.js +1 -1
  679. package/dist/collection/utils/focus-trap.js +16 -5
  680. package/dist/collection/utils/focus-visible.js +22 -0
  681. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  682. package/dist/collection/utils/forms/index.js +1 -1
  683. package/dist/collection/utils/forms/validity.js +31 -0
  684. package/dist/collection/utils/framework-delegate.js +9 -5
  685. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  686. package/dist/collection/utils/gesture/index.js +2 -10
  687. package/dist/collection/utils/hardware-back-button.js +18 -3
  688. package/dist/collection/utils/helpers.js +72 -5
  689. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  690. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  691. package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
  692. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  693. package/dist/collection/utils/logging/index.js +4 -23
  694. package/dist/collection/utils/media.js +1 -0
  695. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  696. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  697. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  698. package/dist/collection/utils/menu-controller/index.js +2 -1
  699. package/dist/collection/utils/native/haptic.js +3 -2
  700. package/dist/collection/utils/native/keyboard.js +2 -2
  701. package/dist/collection/utils/native/status-bar.js +1 -1
  702. package/dist/collection/utils/overlay-control-label.js +13 -11
  703. package/dist/collection/utils/overlays.js +312 -45
  704. package/dist/collection/utils/platform.js +5 -4
  705. package/dist/collection/utils/rtl/dir.js +3 -2
  706. package/dist/collection/utils/sanitization/index.js +2 -2
  707. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  708. package/dist/collection/utils/select-option-render.js +2 -1
  709. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  710. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  711. package/dist/collection/utils/test/playwright/drag-element.js +35 -11
  712. package/dist/collection/utils/test/playwright/generator.js +51 -25
  713. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  714. package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
  715. package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
  716. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  717. package/dist/collection/utils/test/press-keys.js +17 -10
  718. package/dist/collection/utils/theme.js +26 -7
  719. package/dist/collection/utils/transition/ios.transition.js +14 -9
  720. package/dist/collection/utils/transition/md.transition.js +4 -3
  721. package/dist/docs.json +10038 -534
  722. package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
  723. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
  724. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
  725. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
  726. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  727. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  728. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  729. package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
  730. package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
  731. package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
  732. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  733. package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
  734. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
  735. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  736. package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
  737. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
  738. package/dist/esm/{index-BvabGprD.js → index-B4Kq2YNk.js} +2 -1
  739. package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
  740. package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
  741. package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
  742. package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
  743. package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
  744. package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
  745. package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
  746. package/dist/esm/index.js +17 -18
  747. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
  748. package/dist/esm/input.utils-DhJNJPiU.js +147 -0
  749. package/dist/esm/ion-accordion_2.entry.js +383 -379
  750. package/dist/esm/ion-action-sheet.entry.js +87 -179
  751. package/dist/esm/ion-alert.entry.js +126 -251
  752. package/dist/esm/ion-app_8.entry.js +607 -460
  753. package/dist/esm/ion-avatar_3.entry.js +125 -19
  754. package/dist/esm/ion-back-button.entry.js +50 -65
  755. package/dist/esm/ion-backdrop.entry.js +22 -23
  756. package/dist/esm/ion-breadcrumb_2.entry.js +170 -212
  757. package/dist/esm/ion-button_2.entry.js +118 -153
  758. package/dist/esm/ion-card_5.entry.js +80 -110
  759. package/dist/esm/ion-checkbox.entry.js +130 -164
  760. package/dist/esm/ion-chip.entry.js +56 -21
  761. package/dist/esm/ion-col_3.entry.js +61 -186
  762. package/dist/esm/ion-datetime-button.entry.js +248 -256
  763. package/dist/esm/ion-datetime_3.entry.js +3238 -0
  764. package/dist/esm/ion-divider.entry.js +49 -0
  765. package/dist/esm/ion-fab_3.entry.js +113 -155
  766. package/dist/esm/ion-gallery-item.entry.js +57 -0
  767. package/dist/esm/ion-gallery.entry.js +606 -0
  768. package/dist/esm/ion-img.entry.js +17 -35
  769. package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
  770. package/dist/esm/ion-input-otp.entry.js +437 -435
  771. package/dist/esm/ion-input-password-toggle.entry.js +64 -40
  772. package/dist/esm/ion-input.entry.js +310 -349
  773. package/dist/esm/ion-item-option_3.entry.js +512 -137
  774. package/dist/esm/ion-item_8.entry.js +190 -218
  775. package/dist/esm/ion-loading.entry.js +69 -152
  776. package/dist/esm/ion-menu_3.entry.js +138 -182
  777. package/dist/esm/ion-modal.entry.js +459 -529
  778. package/dist/esm/ion-nav_2.entry.js +164 -104
  779. package/dist/esm/ion-picker-column-option.entry.js +40 -40
  780. package/dist/esm/ion-picker-column.entry.js +410 -422
  781. package/dist/esm/ion-picker.entry.js +401 -406
  782. package/dist/esm/ion-popover.entry.js +212 -324
  783. package/dist/esm/ion-progress-bar.entry.js +48 -36
  784. package/dist/esm/ion-radio_2.entry.js +162 -217
  785. package/dist/esm/ion-range.entry.js +251 -309
  786. package/dist/esm/ion-refresher_2.entry.js +122 -175
  787. package/dist/esm/ion-reorder_2.entry.js +54 -60
  788. package/dist/esm/ion-ripple-effect.entry.js +26 -18
  789. package/dist/esm/ion-route_4.entry.js +76 -179
  790. package/dist/esm/ion-searchbar.entry.js +331 -308
  791. package/dist/esm/ion-segment-content.entry.js +2 -2
  792. package/dist/esm/ion-segment-view.entry.js +27 -28
  793. package/dist/esm/ion-segment_2.entry.js +141 -177
  794. package/dist/esm/ion-select-modal.entry.js +70 -50
  795. package/dist/esm/ion-select_3.entry.js +429 -507
  796. package/dist/esm/ion-spinner.entry.js +36 -28
  797. package/dist/esm/ion-split-pane.entry.js +25 -34
  798. package/dist/esm/ion-tab-bar_2.entry.js +179 -116
  799. package/dist/esm/ion-tab_2.entry.js +30 -55
  800. package/dist/esm/ion-text.entry.js +7 -13
  801. package/dist/esm/ion-textarea.entry.js +309 -302
  802. package/dist/esm/ion-toast.entry.js +149 -244
  803. package/dist/esm/ion-toggle.entry.js +187 -184
  804. package/dist/esm/ionic-global-BJDU78B6.js +508 -0
  805. package/dist/esm/ionic.js +5 -5
  806. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
  807. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  808. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
  809. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
  810. package/dist/esm/list-Dhi5xtNS.js +6 -0
  811. package/dist/esm/loader.js +5 -5
  812. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
  813. package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
  814. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  815. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
  816. package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
  817. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
  818. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
  819. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
  820. package/dist/esm/theme-DaJxRxSQ.js +67 -0
  821. package/dist/esm/validity-BjW8SOqw.js +48 -0
  822. package/dist/esm/x-BDqjX7Z_.js +6 -0
  823. package/dist/html.html-data.json +2690 -123
  824. package/dist/ionic/index.esm.js +1 -1
  825. package/dist/ionic/ionic.esm.js +1 -1
  826. package/dist/ionic/p--sroV-k-.js +4 -0
  827. package/dist/ionic/p-0166d6e5.entry.js +4 -0
  828. package/dist/ionic/p-0a0a66e2.entry.js +4 -0
  829. package/dist/ionic/p-0ac15b5f.entry.js +4 -0
  830. package/dist/ionic/p-0c636ad3.entry.js +4 -0
  831. package/dist/ionic/p-126031d2.entry.js +4 -0
  832. package/dist/ionic/p-1a609156.entry.js +4 -0
  833. package/dist/ionic/p-1b473bad.entry.js +4 -0
  834. package/dist/ionic/p-1c1c18da.entry.js +4 -0
  835. package/dist/ionic/p-1ce65194.entry.js +4 -0
  836. package/dist/ionic/p-1febf200.entry.js +4 -0
  837. package/dist/ionic/p-2016c1c0.entry.js +4 -0
  838. package/dist/ionic/p-2365483a.entry.js +4 -0
  839. package/dist/ionic/p-296226f1.entry.js +4 -0
  840. package/dist/ionic/p-2a54aec2.entry.js +4 -0
  841. package/dist/ionic/p-2bf60b77.entry.js +4 -0
  842. package/dist/ionic/p-2e0184c0.entry.js +4 -0
  843. package/dist/ionic/p-2e1d650a.entry.js +4 -0
  844. package/dist/ionic/p-316eed75.entry.js +4 -0
  845. package/dist/ionic/p-31a0c9c2.entry.js +4 -0
  846. package/dist/ionic/p-40a21a22.entry.js +4 -0
  847. package/dist/ionic/p-431bc3ce.entry.js +4 -0
  848. package/dist/ionic/p-51542c69.entry.js +4 -0
  849. package/dist/ionic/p-5dedd699.entry.js +4 -0
  850. package/dist/ionic/p-68e453f7.entry.js +4 -0
  851. package/dist/ionic/p-711ba315.entry.js +4 -0
  852. package/dist/ionic/p-731d11e1.entry.js +4 -0
  853. package/dist/ionic/p-75c7595c.entry.js +4 -0
  854. package/dist/ionic/p-76232f5f.entry.js +4 -0
  855. package/dist/ionic/p-7cbf17f0.entry.js +4 -0
  856. package/dist/ionic/p-7f59020c.entry.js +4 -0
  857. package/dist/ionic/p-7k7Q1A38.js +4 -0
  858. package/dist/ionic/p-8303462c.entry.js +4 -0
  859. package/dist/ionic/p-9db78e5c.entry.js +4 -0
  860. package/dist/ionic/p-B4Kq2YNk.js +4 -0
  861. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  862. package/dist/ionic/p-BFhQ1N-L.js +4 -0
  863. package/dist/ionic/p-BG7tpRhR.js +4 -0
  864. package/dist/ionic/p-BITyMTKr.js +4 -0
  865. package/dist/ionic/p-BRPONI7N.js +4 -0
  866. package/dist/ionic/p-BTEOs1at.js +4 -0
  867. package/dist/ionic/p-BVdSuKmt.js +4 -0
  868. package/dist/ionic/p-BYRVyMu9.js +4 -0
  869. package/dist/ionic/p-BYSs-jZz.js +4 -0
  870. package/dist/ionic/p-BjW8SOqw.js +4 -0
  871. package/dist/ionic/p-Bpx1lBiP.js +4 -0
  872. package/dist/ionic/p-BwKpO3Is.js +4 -0
  873. package/dist/ionic/p-C-BLhfUi.js +4 -0
  874. package/dist/ionic/p-C-aO35cw.js +4 -0
  875. package/dist/ionic/p-C0EQceqV.js +5 -0
  876. package/dist/ionic/p-CDrQfM-I.js +4 -0
  877. package/dist/ionic/p-CODBQrPj.js +4 -0
  878. package/dist/ionic/p-CTSaffvS.js +4 -0
  879. package/dist/ionic/p-CaM5HwzM.js +4 -0
  880. package/dist/ionic/p-CgaW5Zy8.js +4 -0
  881. package/dist/ionic/p-Cipl19Qe.js +4 -0
  882. package/dist/ionic/p-CnBfCmL2.js +4 -0
  883. package/dist/ionic/p-D-Xit5Ye.js +4 -0
  884. package/dist/ionic/p-D1t981Ih.js +4 -0
  885. package/dist/ionic/p-D7LIC84Z.js +4 -0
  886. package/dist/ionic/p-D844sgjq.js +4 -0
  887. package/dist/ionic/p-DWDKFjrH.js +4 -0
  888. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  889. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  890. package/dist/ionic/p-DhyWlGap.js +4 -0
  891. package/dist/ionic/p-DiyY-i-5.js +4 -0
  892. package/dist/ionic/p-DrxPmT9E.js +4 -0
  893. package/dist/ionic/p-YIsE5bNG.js +4 -0
  894. package/dist/ionic/p-a37444b3.entry.js +4 -0
  895. package/dist/ionic/p-a9df0ccf.entry.js +4 -0
  896. package/dist/ionic/p-ac3af8af.entry.js +4 -0
  897. package/dist/ionic/p-b25f3aba.entry.js +4 -0
  898. package/dist/ionic/p-b3da2cc7.entry.js +4 -0
  899. package/dist/ionic/p-b4533070.entry.js +4 -0
  900. package/dist/ionic/p-b4901bce.entry.js +4 -0
  901. package/dist/ionic/p-bb7bb4fd.entry.js +4 -0
  902. package/dist/ionic/p-be06def7.entry.js +4 -0
  903. package/dist/ionic/p-c0983eac.entry.js +4 -0
  904. package/dist/ionic/p-c4ebdfd2.entry.js +4 -0
  905. package/dist/ionic/p-c4ed1e18.entry.js +4 -0
  906. package/dist/ionic/p-d9ac7a0d.entry.js +4 -0
  907. package/dist/ionic/p-dc8a8505.entry.js +4 -0
  908. package/dist/ionic/p-ddc41dbb.entry.js +4 -0
  909. package/dist/ionic/p-de4e8418.entry.js +4 -0
  910. package/dist/ionic/p-df642ef5.entry.js +4 -0
  911. package/dist/ionic/p-e086f8c3.entry.js +4 -0
  912. package/dist/ionic/p-edd8f490.entry.js +4 -0
  913. package/dist/ionic/p-f0968c91.entry.js +4 -0
  914. package/dist/ionic/p-f6768728.entry.js +4 -0
  915. package/dist/ionic/p-fIOYmaqA.js +4 -0
  916. package/dist/ionic/p-fc726f4a.entry.js +4 -0
  917. package/dist/ionic/p-ff74cf5d.entry.js +4 -0
  918. package/dist/ionic/p-i6iV8hMy.js +4 -0
  919. package/dist/ionic/p-nUlpIttM.js +4 -0
  920. package/dist/ionic/p-o8OKV5aD.js +4 -0
  921. package/dist/ionic/p-vXpMhGrs.js +4 -0
  922. package/dist/ionic/p-zRFin7iz.js +4 -0
  923. package/dist/ionic/p-zn4qAQ_d.js +4 -0
  924. package/dist/types/components/accordion/accordion.d.ts +6 -3
  925. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  926. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  927. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  928. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  929. package/dist/types/components/alert/alert.d.ts +3 -2
  930. package/dist/types/components/app/app.d.ts +4 -5
  931. package/dist/types/components/avatar/avatar.d.ts +32 -0
  932. package/dist/types/components/back-button/back-button.d.ts +2 -1
  933. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  934. package/dist/types/components/badge/badge.d.ts +34 -1
  935. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  936. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  937. package/dist/types/components/button/button.d.ts +23 -8
  938. package/dist/types/components/buttons/buttons.d.ts +5 -1
  939. package/dist/types/components/card/card.d.ts +8 -1
  940. package/dist/types/components/card-content/card-content.d.ts +2 -1
  941. package/dist/types/components/card-header/card-header.d.ts +3 -2
  942. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  943. package/dist/types/components/card-title/card-title.d.ts +2 -1
  944. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  945. package/dist/types/components/chip/chip.d.ts +26 -1
  946. package/dist/types/components/col/col.d.ts +52 -5
  947. package/dist/types/components/content/content.d.ts +3 -0
  948. package/dist/types/components/datetime/datetime.d.ts +26 -1
  949. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  950. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  951. package/dist/types/components/divider/divider.d.ts +20 -0
  952. package/dist/types/components/fab/fab.d.ts +4 -0
  953. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  954. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  955. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  956. package/dist/types/components/footer/footer.d.ts +20 -3
  957. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  958. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  959. package/dist/types/components/gallery/gallery.d.ts +218 -0
  960. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  961. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  962. package/dist/types/components/grid/grid.d.ts +4 -0
  963. package/dist/types/components/header/header-interface.d.ts +1 -0
  964. package/dist/types/components/header/header.d.ts +26 -3
  965. package/dist/types/components/header/header.utils.d.ts +4 -5
  966. package/dist/types/components/img/img.d.ts +2 -1
  967. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  968. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  969. package/dist/types/components/input/input.d.ts +40 -17
  970. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  971. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  972. package/dist/types/components/item/item.d.ts +11 -4
  973. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  974. package/dist/types/components/item-group/item-group.d.ts +4 -0
  975. package/dist/types/components/item-option/item-option.d.ts +18 -1
  976. package/dist/types/components/item-options/item-options.d.ts +4 -0
  977. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  978. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  979. package/dist/types/components/label/label.d.ts +2 -1
  980. package/dist/types/components/list/list.d.ts +15 -1
  981. package/dist/types/components/list-header/list-header.d.ts +2 -1
  982. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  983. package/dist/types/components/loading/loading.d.ts +3 -2
  984. package/dist/types/components/menu/menu.d.ts +3 -0
  985. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  986. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  987. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  988. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  989. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  990. package/dist/types/components/modal/modal-interface.d.ts +4 -16
  991. package/dist/types/components/modal/modal.d.ts +15 -12
  992. package/dist/types/components/nav/nav-interface.d.ts +10 -1
  993. package/dist/types/components/nav/nav.d.ts +27 -3
  994. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  995. package/dist/types/components/note/note.d.ts +2 -1
  996. package/dist/types/components/picker/picker.d.ts +2 -1
  997. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  998. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  999. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  1000. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  1001. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  1002. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  1003. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  1004. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  1005. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  1006. package/dist/types/components/popover/popover.d.ts +6 -5
  1007. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  1008. package/dist/types/components/radio/radio.d.ts +2 -1
  1009. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  1010. package/dist/types/components/range/range.d.ts +2 -1
  1011. package/dist/types/components/refresher/refresher.d.ts +2 -1
  1012. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  1013. package/dist/types/components/reorder/reorder.d.ts +9 -0
  1014. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  1015. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  1016. package/dist/types/components/route/route.d.ts +5 -1
  1017. package/dist/types/components/router/router.d.ts +4 -0
  1018. package/dist/types/components/router-link/router-link.d.ts +4 -0
  1019. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  1020. package/dist/types/components/row/row.d.ts +4 -0
  1021. package/dist/types/components/searchbar/searchbar.d.ts +57 -11
  1022. package/dist/types/components/segment/segment.d.ts +2 -1
  1023. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  1024. package/dist/types/components/select/select.d.ts +55 -26
  1025. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  1026. package/dist/types/components/select-option/select-option.d.ts +7 -4
  1027. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  1028. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1029. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1030. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1031. package/dist/types/components/tab/tab.d.ts +4 -0
  1032. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  1033. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  1034. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  1035. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1036. package/dist/types/components/text/text.d.ts +2 -1
  1037. package/dist/types/components/textarea/textarea.d.ts +58 -16
  1038. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1039. package/dist/types/components/title/title.d.ts +4 -0
  1040. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1041. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1042. package/dist/types/components/toast/toast.d.ts +19 -2
  1043. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1044. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  1045. package/dist/types/components.d.ts +2171 -263
  1046. package/dist/types/global/ionic-global.d.ts +28 -2
  1047. package/dist/types/index.d.ts +1 -1
  1048. package/dist/types/interface.d.ts +4 -0
  1049. package/dist/types/utils/config.d.ts +114 -3
  1050. package/dist/types/utils/css-value-validation.d.ts +21 -0
  1051. package/dist/types/utils/focus-trap.d.ts +1 -1
  1052. package/dist/types/utils/focus-visible.d.ts +13 -0
  1053. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  1054. package/dist/types/utils/forms/index.d.ts +1 -1
  1055. package/dist/types/utils/forms/validity.d.ts +7 -0
  1056. package/dist/types/utils/helpers.d.ts +22 -0
  1057. package/dist/types/utils/logging/index.d.ts +1 -2
  1058. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  1059. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1060. package/dist/types/utils/overlays.d.ts +10 -12
  1061. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  1062. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  1063. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1064. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  1065. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  1066. package/dist/types/utils/theme.d.ts +9 -0
  1067. package/hydrate/index.js +12136 -10495
  1068. package/hydrate/index.mjs +12136 -10495
  1069. package/package.json +17 -56
  1070. package/components/p--m5cCjbK.js +0 -4
  1071. package/components/p-1jI5oW-W.js +0 -4
  1072. package/components/p-8FN7p701.js +0 -4
  1073. package/components/p-B4uHHhPK.js +0 -4
  1074. package/components/p-BMPN55of.js +0 -4
  1075. package/components/p-BNJOu1Q2.js +0 -4
  1076. package/components/p-BOvLNVKq.js +0 -4
  1077. package/components/p-BSQPZ79H.js +0 -4
  1078. package/components/p-BeamQXHF.js +0 -4
  1079. package/components/p-BhamHSw3.js +0 -4
  1080. package/components/p-Bjig0DJK.js +0 -4
  1081. package/components/p-BjluhQMI.js +0 -4
  1082. package/components/p-BlsIikdZ.js +0 -4
  1083. package/components/p-BmVRXR1y.js +0 -4
  1084. package/components/p-BqPNzJf6.js +0 -4
  1085. package/components/p-BrD9Xv62.js +0 -4
  1086. package/components/p-BvJqoZ5R.js +0 -4
  1087. package/components/p-Bz6z3Asd.js +0 -4
  1088. package/components/p-C5KYjZWD.js +0 -4
  1089. package/components/p-C6HnVvHO.js +0 -4
  1090. package/components/p-C7jvh5Wy.js +0 -4
  1091. package/components/p-C9BGR5fy.js +0 -4
  1092. package/components/p-CB-y1CdP.js +0 -4
  1093. package/components/p-CEW4RXZO.js +0 -4
  1094. package/components/p-CHH3loEE.js +0 -4
  1095. package/components/p-CIGNaXM1.js +0 -4
  1096. package/components/p-CJKUWjmg.js +0 -4
  1097. package/components/p-C_phlPMC.js +0 -4
  1098. package/components/p-CbhUdtjf.js +0 -4
  1099. package/components/p-CejmQs3h.js +0 -4
  1100. package/components/p-CtZqa4HM.js +0 -4
  1101. package/components/p-D7-vHX0A.js +0 -4
  1102. package/components/p-D9qIVSWm.js +0 -4
  1103. package/components/p-DD5fQ4EQ.js +0 -4
  1104. package/components/p-DE-3iMNW.js +0 -4
  1105. package/components/p-DFvZn99E.js +0 -4
  1106. package/components/p-DHFt2rdc.js +0 -4
  1107. package/components/p-DJztqcrH.js +0 -4
  1108. package/components/p-DM-PrAoh.js +0 -4
  1109. package/components/p-DSzSbVP2.js +0 -4
  1110. package/components/p-DV85C0e0.js +0 -4
  1111. package/components/p-DWCzVL3Y.js +0 -4
  1112. package/components/p-D_RCyzwu.js +0 -4
  1113. package/components/p-D_tD8r3L.js +0 -4
  1114. package/components/p-DaA_8eqt.js +0 -4
  1115. package/components/p-DjCtLZbF.js +0 -4
  1116. package/components/p-Dmd2xqCe.js +0 -4
  1117. package/components/p-Dojwmvde.js +0 -4
  1118. package/components/p-G0TxqHfe.js +0 -4
  1119. package/components/p-G6JR-cr_.js +0 -4
  1120. package/components/p-GG5GhznE.js +0 -4
  1121. package/components/p-LpMHEu3v.js +0 -4
  1122. package/components/p-TXPDHL13.js +0 -4
  1123. package/components/p-UIBJkZf8.js +0 -4
  1124. package/components/p-ZjP4CjeZ.js +0 -4
  1125. package/components/p-_IKFD3ID.js +0 -4
  1126. package/components/p-byZM6qHV.js +0 -4
  1127. package/components/p-dKq2jIum.js +0 -4
  1128. package/components/p-fruGqVHh.js +0 -4
  1129. package/components/p-iYhH60Tc.js +0 -4
  1130. package/components/p-ia3IDdJS.js +0 -4
  1131. package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
  1132. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1133. package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
  1134. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
  1135. package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
  1136. package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
  1137. package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
  1138. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1139. package/dist/collection/utils/forms/start-container-controller.js +0 -132
  1140. package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
  1141. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1142. package/dist/esm/input.utils-B1ValN_N.js +0 -33
  1143. package/dist/esm/ion-datetime.entry.js +0 -2768
  1144. package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
  1145. package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
  1146. package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
  1147. package/dist/esm/theme-byZM6qHV.js +0 -48
  1148. package/dist/esm/validity-DJztqcrH.js +0 -17
  1149. package/dist/ionic/p-06ec7136.entry.js +0 -4
  1150. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  1151. package/dist/ionic/p-10d45a07.entry.js +0 -4
  1152. package/dist/ionic/p-208c8a07.entry.js +0 -4
  1153. package/dist/ionic/p-212474fa.entry.js +0 -4
  1154. package/dist/ionic/p-2eef1396.entry.js +0 -4
  1155. package/dist/ionic/p-347e005d.entry.js +0 -4
  1156. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  1157. package/dist/ionic/p-3b071259.entry.js +0 -4
  1158. package/dist/ionic/p-40424a88.entry.js +0 -4
  1159. package/dist/ionic/p-4204184c.entry.js +0 -4
  1160. package/dist/ionic/p-47464391.entry.js +0 -4
  1161. package/dist/ionic/p-4eOQC00Z.js +0 -4
  1162. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  1163. package/dist/ionic/p-5JsKPLJD.js +0 -4
  1164. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  1165. package/dist/ionic/p-603a61e6.entry.js +0 -4
  1166. package/dist/ionic/p-60576951.entry.js +0 -4
  1167. package/dist/ionic/p-67a81d33.entry.js +0 -4
  1168. package/dist/ionic/p-6affb775.entry.js +0 -4
  1169. package/dist/ionic/p-6f120c25.entry.js +0 -4
  1170. package/dist/ionic/p-71c82b60.entry.js +0 -4
  1171. package/dist/ionic/p-79325ffe.entry.js +0 -4
  1172. package/dist/ionic/p-7CBuOvEo.js +0 -4
  1173. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  1174. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  1175. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  1176. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  1177. package/dist/ionic/p-89ca830a.entry.js +0 -4
  1178. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  1179. package/dist/ionic/p-946f65c2.entry.js +0 -4
  1180. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  1181. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  1182. package/dist/ionic/p-B1ck5iy-.js +0 -4
  1183. package/dist/ionic/p-B4FrqdW0.js +0 -4
  1184. package/dist/ionic/p-BB0LlG4y.js +0 -4
  1185. package/dist/ionic/p-BMPN55of.js +0 -4
  1186. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1187. package/dist/ionic/p-BYEAtHr-.js +0 -4
  1188. package/dist/ionic/p-BhamHSw3.js +0 -4
  1189. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1190. package/dist/ionic/p-BvabGprD.js +0 -4
  1191. package/dist/ionic/p-C-94tAim.js +0 -4
  1192. package/dist/ionic/p-C-eHZMYE.js +0 -4
  1193. package/dist/ionic/p-CBR_W98Z.js +0 -4
  1194. package/dist/ionic/p-CBWAXjA5.js +0 -4
  1195. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1196. package/dist/ionic/p-CMRtMbJc.js +0 -4
  1197. package/dist/ionic/p-CPcPmkGv.js +0 -4
  1198. package/dist/ionic/p-CaRuIadB.js +0 -4
  1199. package/dist/ionic/p-Cdjxf_yg.js +0 -4
  1200. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  1201. package/dist/ionic/p-CzS1qWve.js +0 -4
  1202. package/dist/ionic/p-D5t_-oMk.js +0 -4
  1203. package/dist/ionic/p-D94_RztK.js +0 -4
  1204. package/dist/ionic/p-DJztqcrH.js +0 -4
  1205. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  1206. package/dist/ionic/p-DjjfauRM.js +0 -4
  1207. package/dist/ionic/p-DkUB-ROc.js +0 -4
  1208. package/dist/ionic/p-Dn0mqQ_R.js +0 -4
  1209. package/dist/ionic/p-Dojwmvde.js +0 -4
  1210. package/dist/ionic/p-DplOqGUv.js +0 -4
  1211. package/dist/ionic/p-Dst_XmZh.js +0 -4
  1212. package/dist/ionic/p-T71k3C35.js +0 -4
  1213. package/dist/ionic/p-TXPDHL13.js +0 -4
  1214. package/dist/ionic/p-UIBJkZf8.js +0 -4
  1215. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1216. package/dist/ionic/p-a438b193.entry.js +0 -4
  1217. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  1218. package/dist/ionic/p-be08d500.entry.js +0 -4
  1219. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  1220. package/dist/ionic/p-byZM6qHV.js +0 -4
  1221. package/dist/ionic/p-c00d3092.entry.js +0 -4
  1222. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  1223. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  1224. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  1225. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  1226. package/dist/ionic/p-ce32912b.entry.js +0 -4
  1227. package/dist/ionic/p-d07cf130.entry.js +0 -4
  1228. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  1229. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  1230. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  1231. package/dist/ionic/p-de91444f.entry.js +0 -4
  1232. package/dist/ionic/p-ded69ceb.entry.js +0 -4
  1233. package/dist/ionic/p-df72866d.entry.js +0 -4
  1234. package/dist/ionic/p-e47e3151.entry.js +0 -4
  1235. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  1236. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  1237. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  1238. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  1239. package/dist/ionic/p-ffb90460.entry.js +0 -4
  1240. package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
  1241. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,393 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { w as win } from './index-ZjP4CjeZ.js';
5
- import { r as raf } from './helpers-CAGf8Wgp.js';
6
- import { i as isRTL } from './dir-Dojwmvde.js';
7
-
8
- /**
9
- * A utility to calculate the size of an outline notch
10
- * width relative to the content passed. This is used in
11
- * components such as `ion-select` with `fill="outline"`
12
- * where we need to pass slotted HTML content. This is not
13
- * needed when rendering plaintext content because we can
14
- * render the plaintext again hidden with `opacity: 0` inside
15
- * of the notch. As a result we can rely on the intrinsic size
16
- * of the element to correctly compute the notch width. We
17
- * cannot do this with slotted content because we cannot project
18
- * it into 2 places at once.
19
- *
20
- * @internal
21
- * @param el: The host element
22
- * @param getNotchSpacerEl: A function that returns a reference to the notch spacer element inside of the component template.
23
- * @param getLabelSlot: A function that returns a reference to the slotted content.
24
- */
25
- const createNotchController = (el, getNotchSpacerEl, getLabelSlot) => {
26
- let notchVisibilityIO;
27
- const needsExplicitNotchWidth = () => {
28
- const notchSpacerEl = getNotchSpacerEl();
29
- if (
30
- /**
31
- * If the notch is not being used
32
- * then we do not need to set the notch width.
33
- */
34
- notchSpacerEl === undefined ||
35
- /**
36
- * If either the label property is being
37
- * used or the label slot is not defined,
38
- * then we do not need to estimate the notch width.
39
- */
40
- el.label !== undefined ||
41
- getLabelSlot() === null) {
42
- return false;
43
- }
44
- return true;
45
- };
46
- const calculateNotchWidth = () => {
47
- if (needsExplicitNotchWidth()) {
48
- /**
49
- * Run this the frame after
50
- * the browser has re-painted the host element.
51
- * Otherwise, the label element may have a width
52
- * of 0 and the IntersectionObserver will be used.
53
- */
54
- raf(() => {
55
- setNotchWidth();
56
- });
57
- }
58
- };
59
- /**
60
- * When using a label prop we can render
61
- * the label value inside of the notch and
62
- * let the browser calculate the size of the notch.
63
- * However, we cannot render the label slot in multiple
64
- * places so we need to manually calculate the notch dimension
65
- * based on the size of the slotted content.
66
- *
67
- * This function should only be used to set the notch width
68
- * on slotted label content. The notch width for label prop
69
- * content is automatically calculated based on the
70
- * intrinsic size of the label text.
71
- */
72
- const setNotchWidth = () => {
73
- const notchSpacerEl = getNotchSpacerEl();
74
- if (notchSpacerEl === undefined) {
75
- return;
76
- }
77
- if (!needsExplicitNotchWidth()) {
78
- notchSpacerEl.style.removeProperty('width');
79
- return;
80
- }
81
- const width = getLabelSlot().scrollWidth;
82
- if (
83
- /**
84
- * If the computed width of the label is 0
85
- * and notchSpacerEl's offsetParent is null
86
- * then that means the element is hidden.
87
- * As a result, we need to wait for the element
88
- * to become visible before setting the notch width.
89
- *
90
- * We do not check el.offsetParent because
91
- * that can be null if the host element has
92
- * position: fixed applied to it.
93
- * notchSpacerEl does not have position: fixed.
94
- */
95
- width === 0 &&
96
- notchSpacerEl.offsetParent === null &&
97
- win !== undefined &&
98
- 'IntersectionObserver' in win) {
99
- /**
100
- * If there is an IO already attached
101
- * then that will update the notch
102
- * once the element becomes visible.
103
- * As a result, there is no need to create
104
- * another one.
105
- */
106
- if (notchVisibilityIO !== undefined) {
107
- return;
108
- }
109
- const io = (notchVisibilityIO = new IntersectionObserver((ev) => {
110
- /**
111
- * If the element is visible then we
112
- * can try setting the notch width again.
113
- */
114
- if (ev[0].intersectionRatio === 1) {
115
- setNotchWidth();
116
- io.disconnect();
117
- notchVisibilityIO = undefined;
118
- }
119
- },
120
- /**
121
- * Set the root to be the host element
122
- * This causes the IO callback
123
- * to be fired in WebKit as soon as the element
124
- * is visible. If we used the default root value
125
- * then WebKit would only fire the IO callback
126
- * after any animations (such as a modal transition)
127
- * finished, and there would potentially be a flicker.
128
- */
129
- { threshold: 0.01, root: el }));
130
- io.observe(notchSpacerEl);
131
- return;
132
- }
133
- /**
134
- * If the element is visible then we can set the notch width.
135
- * The notch is only visible when the label is scaled,
136
- * which is why we multiply the width by 0.75 as this is
137
- * the same amount the label element is scaled by in the host CSS.
138
- * (See $form-control-label-stacked-scale in ionic.globals.scss).
139
- */
140
- notchSpacerEl.style.setProperty('width', `${width * 0.75}px`);
141
- };
142
- const destroy = () => {
143
- if (notchVisibilityIO) {
144
- notchVisibilityIO.disconnect();
145
- notchVisibilityIO = undefined;
146
- }
147
- };
148
- return {
149
- calculateNotchWidth,
150
- destroy,
151
- };
152
- };
153
-
154
- /**
155
- * Applied to the host while the label is being repositioned. The
156
- * component stylesheets style this class, so it must stay in sync with
157
- * the `skip-label-transition` selector in those files. Renaming it here
158
- * requires renaming it there too.
159
- */
160
- const SKIP_LABEL_TRANSITION_CLASS = 'skip-label-transition';
161
- /**
162
- * Set on the host as an inline style. The component stylesheets declare
163
- * this property and read it with `var()`, so it must stay in sync with
164
- * the `--internal-start-container-adjustment` references in those files.
165
- * Renaming it here requires renaming it there too.
166
- */
167
- const START_CONTAINER_ADJUSTMENT_VAR = '--internal-start-container-adjustment';
168
- /**
169
- * A utility to measure and update the start container width adjustment
170
- * for form components (input, textarea, select) with `fill="outline"`.
171
- * This adjustment compensates for the start container width when
172
- * positioning floating/stacked labels within the outline border.
173
- *
174
- * Measurement is deferred with raf() to avoid forcing layout during
175
- * component updates, and a ResizeObserver watches for dynamic width
176
- * changes (e.g., when web fonts load or async content changes).
177
- *
178
- * @internal
179
- * @param el - The host element (ion-input, ion-textarea, or ion-select).
180
- * @param getStartContainer - A callback that returns the start container element.
181
- * @param shouldApplyAdjustment - A callback that determines whether the adjustment should be applied.
182
- */
183
- const createStartContainerController = (el, getStartContainer, shouldApplyAdjustment) => {
184
- let resizeObserver;
185
- let observedContainer;
186
- let measurementRaf;
187
- let transitionRaf;
188
- let appliedAdjustment;
189
- const calculateAdjustment = () => {
190
- const startSlot = getStartContainer();
191
- if (!startSlot || !shouldApplyAdjustment()) {
192
- return '';
193
- }
194
- /*
195
- * Round to one decimal place so fractional widths produce a stable
196
- * label offset when the start container is added, removed, or resized.
197
- */
198
- const startContainerWidth = startSlot.getBoundingClientRect().width;
199
- const roundedWidth = Math.round(startContainerWidth * 10) / 10;
200
- const sign = isRTL(el) ? '' : '-';
201
- return roundedWidth ? `${sign}${roundedWidth}px` : '0px';
202
- };
203
- const scheduleAdjustmentUpdate = () => {
204
- // Return if there is already a measurement queued to avoid a flicker
205
- if (measurementRaf !== undefined) {
206
- return;
207
- }
208
- /*
209
- * Defer the measurement until the next animation frame so layout
210
- * is measured after the current update has been applied.
211
- */
212
- measurementRaf = raf(() => {
213
- measurementRaf = undefined;
214
- const adjustment = calculateAdjustment();
215
- // Only suppress the label transition when the label has to move
216
- if (adjustment !== appliedAdjustment) {
217
- // Discard a removal queued by an earlier change
218
- if (transitionRaf !== undefined) {
219
- cancelAnimationFrame(transitionRaf);
220
- }
221
- el.classList.add(SKIP_LABEL_TRANSITION_CLASS);
222
- el.style.setProperty(START_CONTAINER_ADJUSTMENT_VAR, adjustment);
223
- appliedAdjustment = adjustment;
224
- // Re-enable the transition once the new offset has been painted
225
- transitionRaf = raf(() => {
226
- transitionRaf = undefined;
227
- el.classList.remove(SKIP_LABEL_TRANSITION_CLASS);
228
- });
229
- }
230
- setupResizeObserver();
231
- });
232
- };
233
- const disconnectResizeObserver = () => {
234
- if (resizeObserver) {
235
- resizeObserver.disconnect();
236
- resizeObserver = undefined;
237
- observedContainer = undefined;
238
- }
239
- };
240
- const setupResizeObserver = () => {
241
- const startSlot = getStartContainer();
242
- // Stop watching once the adjustment no longer applies
243
- if (!startSlot || !shouldApplyAdjustment()) {
244
- disconnectResizeObserver();
245
- return;
246
- }
247
- // Return when prerendering or already watching this container
248
- if (typeof ResizeObserver !== 'function' || (resizeObserver && observedContainer === startSlot)) {
249
- return;
250
- }
251
- disconnectResizeObserver();
252
- resizeObserver = new ResizeObserver(() => {
253
- scheduleAdjustmentUpdate();
254
- });
255
- observedContainer = startSlot;
256
- resizeObserver.observe(startSlot);
257
- };
258
- const calculateStartContainerWidth = () => {
259
- scheduleAdjustmentUpdate();
260
- };
261
- const destroy = () => {
262
- disconnectResizeObserver();
263
- if (measurementRaf !== undefined) {
264
- cancelAnimationFrame(measurementRaf);
265
- measurementRaf = undefined;
266
- }
267
- // Tearing down mid-toggle would leave the transition disabled
268
- if (transitionRaf !== undefined) {
269
- cancelAnimationFrame(transitionRaf);
270
- transitionRaf = undefined;
271
- el.classList.remove(SKIP_LABEL_TRANSITION_CLASS);
272
- }
273
- // Re-apply from scratch if the element is connected again
274
- appliedAdjustment = undefined;
275
- };
276
- return {
277
- calculateStartContainerWidth,
278
- destroy,
279
- };
280
- };
281
-
282
- /**
283
- * Used to update a scoped component that uses emulated slots. This fires when
284
- * content is passed into the slot or when the content inside of a slot changes.
285
- * This is not needed for components using native slots in the Shadow DOM.
286
- * @internal
287
- * @param el The host element to observe
288
- * @param slotName mutationCallback will fire when nodes on these slot(s) change
289
- * @param mutationCallback The callback to fire whenever the slotted content changes
290
- */
291
- const createSlotMutationController = (el, slotName, mutationCallback) => {
292
- let hostMutationObserver;
293
- let slottedContentMutationObserver;
294
- if (win !== undefined && 'MutationObserver' in win) {
295
- const slots = Array.isArray(slotName) ? slotName : [slotName];
296
- hostMutationObserver = new MutationObserver((entries) => {
297
- for (const entry of entries) {
298
- for (const node of entry.addedNodes) {
299
- /**
300
- * Check to see if the added node
301
- * is our slotted content.
302
- */
303
- if (node.nodeType === Node.ELEMENT_NODE && slots.includes(node.slot)) {
304
- /**
305
- * If so, we want to watch the slotted
306
- * content itself for changes. This lets us
307
- * detect when content inside of the slot changes.
308
- */
309
- mutationCallback();
310
- /**
311
- * Adding the listener in an raf
312
- * waits until Stencil moves the slotted element
313
- * into the correct place in the event that
314
- * slotted content is being added.
315
- */
316
- raf(() => watchForSlotChange(node));
317
- return;
318
- }
319
- }
320
- }
321
- });
322
- hostMutationObserver.observe(el, {
323
- childList: true,
324
- /**
325
- * This fixes an issue with the `ion-input` and
326
- * `ion-textarea` not re-rendering in some cases
327
- * when using the label slot functionality.
328
- *
329
- * HTML element patches in Stencil that are enabled
330
- * by the `experimentalSlotFixes` flag in Stencil v4
331
- * result in DOM manipulations that won't trigger
332
- * the current mutation observer configuration and
333
- * callback.
334
- */
335
- subtree: true,
336
- });
337
- }
338
- /**
339
- * Listen for changes inside of the slotted content.
340
- * We can listen for subtree changes here to be
341
- * informed of text within the slotted content
342
- * changing. Doing this on the host is possible
343
- * but it is much more expensive to do because
344
- * it also listens for changes to the internals
345
- * of the component.
346
- */
347
- const watchForSlotChange = (slottedEl) => {
348
- if (slottedContentMutationObserver) {
349
- slottedContentMutationObserver.disconnect();
350
- slottedContentMutationObserver = undefined;
351
- }
352
- slottedContentMutationObserver = new MutationObserver((entries) => {
353
- mutationCallback();
354
- for (const entry of entries) {
355
- for (const node of entry.removedNodes) {
356
- /**
357
- * If the element was removed then we
358
- * need to destroy the MutationObserver
359
- * so the element can be garbage collected.
360
- */
361
- if (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) {
362
- destroySlottedContentObserver();
363
- }
364
- }
365
- }
366
- });
367
- /**
368
- * Listen for changes inside of the element
369
- * as well as anything deep in the tree.
370
- * We listen on the parentElement so that we can
371
- * detect when slotted element itself is removed.
372
- */
373
- slottedContentMutationObserver.observe(slottedEl.parentElement ?? slottedEl, { subtree: true, childList: true });
374
- };
375
- const destroy = () => {
376
- if (hostMutationObserver) {
377
- hostMutationObserver.disconnect();
378
- hostMutationObserver = undefined;
379
- }
380
- destroySlottedContentObserver();
381
- };
382
- const destroySlottedContentObserver = () => {
383
- if (slottedContentMutationObserver) {
384
- slottedContentMutationObserver.disconnect();
385
- slottedContentMutationObserver = undefined;
386
- }
387
- };
388
- return {
389
- destroy,
390
- };
391
- };
392
-
393
- export { createNotchController as a, createStartContainerController as b, createSlotMutationController as c };
@@ -1,48 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- const hostContext = (selector, el) => {
5
- return el.closest(selector) !== null;
6
- };
7
- /**
8
- * Create the mode and color classes for the component based on the classes passed in
9
- */
10
- const createColorClasses = (color, cssClassMap) => {
11
- return typeof color === 'string' && color.length > 0
12
- ? {
13
- 'ion-color': true,
14
- [`ion-color-${color}`]: true,
15
- ...cssClassMap,
16
- }
17
- : cssClassMap;
18
- };
19
- const getClassList = (classes) => {
20
- if (classes !== undefined) {
21
- const array = Array.isArray(classes) ? classes : classes.split(' ');
22
- return array
23
- .filter((c) => c != null)
24
- .map((c) => c.trim())
25
- .filter((c) => c !== '');
26
- }
27
- return [];
28
- };
29
- const getClassMap = (classes) => {
30
- const map = {};
31
- getClassList(classes).forEach((c) => (map[c] = true));
32
- return map;
33
- };
34
- const SCHEME = /^[a-z][a-z0-9+\-.]*:/;
35
- const openURL = async (url, ev, direction, animation) => {
36
- if (url != null && url[0] !== '#' && !SCHEME.test(url)) {
37
- const router = document.querySelector('ion-router');
38
- if (router) {
39
- if (ev != null) {
40
- ev.preventDefault();
41
- }
42
- return router.push(url, direction, animation);
43
- }
44
- }
45
- return false;
46
- };
47
-
48
- export { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };
@@ -1,17 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
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 };
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,g as i,h as e,d as n,c as o,f as s}from"./p-ChhhtsGZ.js";import{c as r}from"./p-byZM6qHV.js";import{b as a}from"./p-CMRtMbJc.js";import{o as l}from"./p-7CBuOvEo.js";import{a as d,d as p,r as m}from"./p-B4FrqdW0.js";import{w as c}from"./p-Dtdm8lKC.js";import"./p-Dojwmvde.js";const h=class{constructor(i){t(this,i)}get el(){return i(this)}color;disabled=!1;download;expandable=!1;href;rel;target;type="button";onClick=t=>{t.target.closest("ion-item-option")&&t.preventDefault()};render(){const{disabled:t,expandable:i,href:o}=this,s=void 0===o?"button":"a",l=a(this),d="button"===s?{type:this.type}:{download:this.download,href:this.href,target:this.target};return e(n,{key:"a10d36e60d61865141c57c03a114e4845b400a55",onClick:this.onClick,class:r(this.color,{[l]:!0,"item-option-disabled":t,"item-option-expandable":i,"ion-activatable":!0})},e(s,{key:"5cc49ef73318213f6202d1d0f460f629ea65f17f",...d,class:"button-native",part:"native",disabled:t},e("span",{key:"0643b16660b4ca00b0f3b4dbe2739e9ce076abea",class:"button-inner",part:"inner"},e("slot",{key:"8778d6d09aa9e0db278ce00c5456a1acfe82c15f",name:"top"}),e("div",{key:"4fc849494c8cb2380015161e096b5c61cf517d90",class:"horizontal-wrapper",part:"container"},e("slot",{key:"9d0c0a5a63d8ec636df9c85d48bbdb39fb63af5e",name:"start"}),e("slot",{key:"a40561497c7e7d73173edd24ed335230e6eebb2b",name:"icon-only"}),e("slot",{key:"b94f2a4aa5bf4a1104497ced1920d6ee43d33659"}),e("slot",{key:"91713dbb3e6a617c00f950857f2ed5e5ffceaa9a",name:"end"})),e("slot",{key:"f5af33c3bfb50fc629a06e1120bba55da07b2afb",name:"bottom"})),"md"===l&&e("ion-ripple-effect",{key:"fc56e1644ef9c5b2e1e66683465a7fd09c05215c"})))}};h.style={ios:":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:clamp(16px, 1rem, 35.2px)}:host(.ion-activated){background:var(--ion-color-primary-shade, #004acd)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}",md:":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:0.875rem;font-weight:500;text-transform:uppercase}"};const f=class{constructor(i){t(this,i),this.ionSwipe=o(this,"ionSwipe",7)}get el(){return i(this)}side="end";ionSwipe;async fireSwipeEvent(){this.ionSwipe.emit({side:this.side})}render(){const t=a(this),i=l(this.side);return e(n,{key:"6e60ff004d48bf7701711e518ec0b21264496ae8",class:{[t]:!0,[`item-options-${t}`]:!0,"item-options-start":!i,"item-options-end":i}})}};let b;f.style={ios:"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}",md:"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}"};const g=class{constructor(i){t(this,i),this.ionDrag=o(this,"ionDrag",7)}item=null;openAmount=0;initialOpenAmount=0;optsWidthRightSide=0;optsWidthLeftSide=0;sides=0;tmr;leftOptions;rightOptions;optsDirty=!0;gesture;contentEl=null;initialContentScrollY=!0;mutationObserver;get el(){return i(this)}state=2;disabled=!1;disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}ionDrag;async connectedCallback(){const{el:t}=this;this.item=t.querySelector("ion-item"),this.contentEl=d(t),this.mutationObserver=c(t,"ion-item-option",(async()=>{await this.updateOptions()})),await this.updateOptions(),this.gesture=(await import("./p-UIBJkZf8.js")).createGesture({el:t,gestureName:"item-swipe",gesturePriority:100,threshold:5,canStart:t=>this.canStart(t),onStart:()=>this.onStart(),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.disabledChanged()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.item=null,this.leftOptions=this.rightOptions=void 0,b===this.el&&(b=void 0),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=void 0)}getOpenAmount(){return Promise.resolve(this.openAmount)}getSlidingRatio(){return Promise.resolve(this.getSlidingRatioSync())}async open(t){if(null===(this.item=this.item??this.el.querySelector("ion-item")))return;const i=this.getOptions(t);i&&(void 0===t&&(t=i===this.leftOptions?"start":"end"),t=l(t)?"end":"start",this.openAmount<0&&i===this.leftOptions||this.openAmount>0&&i===this.rightOptions||(this.closeOpened(),this.state=4,requestAnimationFrame((()=>{this.calculateOptsWidth(),b=this.el,this.setOpenAmount("end"===t?this.optsWidthRightSide:-this.optsWidthLeftSide,!1),this.state="end"===t?8:16}))))}async close(){this.setOpenAmount(0,!0)}async closeOpened(){return void 0!==b&&(b.close(),b=void 0,!0)}getOptions(t){return void 0===t?this.leftOptions||this.rightOptions:"start"===t?this.leftOptions:this.rightOptions}async updateOptions(){const t=this.el.querySelectorAll("ion-item-options");let i=0;this.leftOptions=this.rightOptions=void 0;for(let e=0;e<t.length;e++){const n=t.item(e),o=void 0!==n.componentOnReady?await n.componentOnReady():n;"start"==(l(o.side??o.getAttribute("side"))?"end":"start")?(this.leftOptions=o,i|=1):(this.rightOptions=o,i|=2)}this.optsDirty=!0,this.sides=i}canStart(t){return!("rtl"===document.dir?window.innerWidth-t.startX<15:t.startX<15)&&(b&&b!==this.el&&this.closeOpened(),!(!this.rightOptions&&!this.leftOptions))}onStart(){this.item=this.el.querySelector("ion-item");const{contentEl:t}=this;t&&(this.initialContentScrollY=p(t)),b=this.el,void 0!==this.tmr&&(clearTimeout(this.tmr),this.tmr=void 0),0===this.openAmount&&(this.optsDirty=!0,this.state=4),this.initialOpenAmount=this.openAmount,this.item&&(this.item.style.transition="none")}onMove(t){this.optsDirty&&this.calculateOptsWidth();let i,e=this.initialOpenAmount-t.deltaX;switch(this.sides){case 2:e=Math.max(0,e);break;case 1:e=Math.min(0,e);break;case 3:break;case 0:return;default:s("[ion-item-sliding] - invalid ItemSideFlags value",this.sides)}e>this.optsWidthRightSide?(i=this.optsWidthRightSide,e=i+.55*(e-i)):e<-this.optsWidthLeftSide&&(i=-this.optsWidthLeftSide,e=i+.55*(e-i)),this.setOpenAmount(e,!1)}onEnd(t){const{contentEl:i,initialContentScrollY:e}=this;i&&m(i,e);const n=t.velocityX;let o=this.openAmount>0?this.optsWidthRightSide:-this.optsWidthLeftSide;const s=this.openAmount>0==!(n<0),r=Math.abs(n)>.3,a=Math.abs(this.openAmount)<Math.abs(o/2);x(s,r,a)&&(o=0);const l=this.state;this.setOpenAmount(o,!0),32&l&&this.rightOptions?this.rightOptions.fireSwipeEvent():64&l&&this.leftOptions&&this.leftOptions.fireSwipeEvent()}calculateOptsWidth(){this.optsWidthRightSide=0,this.rightOptions&&(this.rightOptions.style.display="flex",this.optsWidthRightSide=this.rightOptions.offsetWidth,this.rightOptions.style.display=""),this.optsWidthLeftSide=0,this.leftOptions&&(this.leftOptions.style.display="flex",this.optsWidthLeftSide=this.leftOptions.offsetWidth,this.leftOptions.style.display=""),this.optsDirty=!1}setOpenAmount(t,i){if(void 0!==this.tmr&&(clearTimeout(this.tmr),this.tmr=void 0),!this.item)return;const{el:e}=this,n=this.item.style;if(this.openAmount=t,i&&(n.transition=""),t>0)this.state=t>=this.optsWidthRightSide+30?40:8;else{if(!(t<0))return e.classList.add("item-sliding-closing"),this.gesture&&this.gesture.enable(!1),this.tmr=setTimeout((()=>{this.state=2,this.tmr=void 0,this.gesture&&this.gesture.enable(!this.disabled),e.classList.remove("item-sliding-closing")}),600),b=void 0,void(n.transform="");this.state=t<=-this.optsWidthLeftSide-30?80:16}n.transform=`translate3d(${-t}px,0,0)`,this.ionDrag.emit({amount:t,ratio:this.getSlidingRatioSync()})}getSlidingRatioSync(){return this.openAmount>0?this.openAmount/this.optsWidthRightSide:this.openAmount<0?this.openAmount/this.optsWidthLeftSide:0}render(){const t=a(this);return e(n,{key:"15f6a98f8c888e86c29827cdf55d98ace08699dd",class:{[t]:!0,"item-sliding-active-slide":2!==this.state,"item-sliding-active-options-end":!!(8&this.state),"item-sliding-active-options-start":!!(16&this.state),"item-sliding-active-swipe-end":!!(32&this.state),"item-sliding-active-swipe-start":!!(64&this.state)}})}static get watchers(){return{disabled:[{disabledChanged:0}]}}},x=(t,i,e)=>!i&&e||t&&i;g.style="ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-closing ion-item-options{pointer-events:none}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-end .item-options-end .item-option-expandable:dir(rtl){-ms-flex-order:-1;order:-1}}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-start .item-options-start .item-option-expandable:dir(rtl){-ms-flex-order:1;order:1}}";export{h as ion_item_option,f as ion_item_options,g as ion_item_sliding}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as i,c as t,g as e,f as o,h as s,d as r}from"./p-ChhhtsGZ.js";import{b as n}from"./p-7CBuOvEo.js";import{b as a}from"./p-CMRtMbJc.js";import"./p-Dojwmvde.js";const h=class{constructor(e){i(this,e),this.ionImgWillLoad=t(this,"ionImgWillLoad",7),this.ionImgDidLoad=t(this,"ionImgDidLoad",7),this.ionError=t(this,"ionError",7)}io;inheritedAttributes={};loadTimeout;get el(){return e(this)}loadSrc;loadError;alt;src;srcChanged(){this.addIO()}ionImgWillLoad;ionImgDidLoad;ionError;componentWillLoad(){this.inheritedAttributes=n(this.el,["draggable"])}componentDidLoad(){o('[ion-img] - This component is deprecated and will be removed in Ionic v10. Use a native <img> with the loading="lazy" attribute instead.',this.el),this.addIO()}disconnectedCallback(){this.loadTimeout&&clearTimeout(this.loadTimeout)}addIO(){this.loadTimeout&&(clearTimeout(this.loadTimeout),this.loadTimeout=void 0),void 0!==this.src&&("undefined"!=typeof window&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype?(this.removeIO(),this.io=new IntersectionObserver((i=>{i[i.length-1].isIntersecting&&(this.load(),this.removeIO())})),this.io.observe(this.el)):this.loadTimeout=setTimeout((()=>this.load()),200))}load(){this.loadError=this.onError,this.loadSrc=this.src,this.ionImgWillLoad.emit()}onLoad=()=>{this.ionImgDidLoad.emit()};onError=()=>{this.ionError.emit()};removeIO(){this.io&&(this.io.disconnect(),this.io=void 0)}render(){const{loadSrc:i,alt:t,onLoad:e,loadError:o,inheritedAttributes:n}=this,{draggable:h}=n;return s(r,{key:"57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec",class:a(this)},s("img",{key:"888ec06a266fa2751fc0147ede6a567f4e2b29a6",decoding:"async",src:i,alt:t,onLoad:e,onError:o,part:"image",draggable:d(h)}))}static get watchers(){return{src:[{srcChanged:0}]}}},d=i=>{switch(i){case"true":return!0;case"false":return!1;default:return}};h.style=":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}";export{h as ion_img}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as e,c as t,g as o,f as r,h as i,d as s}from"./p-ChhhtsGZ.js";import{h as n,j as a,k as p,e as c,n as d,f as l,g as h,B as v,F as f}from"./p-D94_RztK.js";import{C as g,a as m,d as x}from"./p-CBR_W98Z.js";import{g as b,r as w,f as u,h as k}from"./p-7CBuOvEo.js";import{c as y}from"./p-B-hirT0v.js";import{b as P,a as D}from"./p-CMRtMbJc.js";import{g as T}from"./p-byZM6qHV.js";import{e as $,w as A}from"./p-CzS1qWve.js";import{c as C}from"./p-4eOQC00Z.js";import"./p-ZjP4CjeZ.js";import"./p-BB0LlG4y.js";import"./p-TXPDHL13.js";import"./p-Dojwmvde.js";let I=null,L=!1;const O=e=>{if(null!==I)return I;if(null===e.body)return{top:0,bottom:0,left:0,right:0};const t=e.createElement("div");t.style.cssText="position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);padding-bottom:var(--ion-safe-area-bottom,0px);padding-left:var(--ion-safe-area-left,0px);padding-right:var(--ion-safe-area-right,0px);",e.body.appendChild(t);const o=getComputedStyle(t),r={top:parseFloat(o.paddingTop)||0,bottom:parseFloat(o.paddingBottom)||0,left:parseFloat(o.paddingLeft)||0,right:parseFloat(o.paddingRight)||0};return t.remove(),I=r,L||(L=!0,w((()=>{I=null,L=!1}))),r},S=(e,t,o)=>{const r=t.getBoundingClientRect(),i=r.height;let s=r.width;return"cover"===e&&o&&(s=o.getBoundingClientRect().width),{contentWidth:s,contentHeight:i}},W=(e,t)=>t&&"ION-ITEM"===t.tagName?e.findIndex((e=>e===t)):-1,j=e=>{const t=b(e).querySelector("button");t&&w((()=>t.focus()))},z=(e,t,o,r,i,s,n,a,p,c,d)=>{let l={top:0,left:0,width:0,height:0};if("event"===s){if(!d)return p;l={top:d.clientY,left:d.clientX,width:1,height:1}}else{const e=d,t=c||e?.detail?.ionShadowTarget||e?.target;if(!t)return p;const o=t.getBoundingClientRect();l={top:o.top,left:o.left,width:o.width,height:o.height}}const h=X(n,l,t,o,r,i,e),v=Y(a,n,l,t,o),f=h.top+v.top,g=h.left+v.left,{arrowTop:m,arrowLeft:x}=M(n,r,i,f,g,t,o,e),{originX:b,originY:w}=N(n,a,e);return{top:f,left:g,referenceCoordinates:l,arrowTop:m,arrowLeft:x,originX:b,originY:w}},N=(e,t,o)=>{switch(e){case"top":return{originX:B(t),originY:"bottom"};case"bottom":return{originX:B(t),originY:"top"};case"left":return{originX:"right",originY:E(t)};case"right":return{originX:"left",originY:E(t)};case"start":return{originX:o?"left":"right",originY:E(t)};case"end":return{originX:o?"right":"left",originY:E(t)}}},B=e=>{switch(e){case"start":return"left";case"center":return"center";case"end":return"right"}},E=e=>{switch(e){case"start":return"top";case"center":return"center";case"end":return"bottom"}},M=(e,t,o,r,i,s,n,a)=>{const p={arrowTop:r+n/2-t/2,arrowLeft:i+s-t/2},c={arrowTop:r+n/2-t/2,arrowLeft:i-1.5*t};switch(e){case"top":return{arrowTop:r+n,arrowLeft:i+s/2-t/2};case"bottom":return{arrowTop:r-o,arrowLeft:i+s/2-t/2};case"left":return p;case"right":return c;case"start":return a?c:p;case"end":return a?p:c;default:return{arrowTop:0,arrowLeft:0}}},X=(e,t,o,r,i,s,n)=>{const a={top:t.top,left:t.left-o-i},p={top:t.top,left:t.left+t.width+i};switch(e){case"top":return{top:t.top-r-s,left:t.left};case"right":return p;case"bottom":return{top:t.top+t.height+s,left:t.left};case"left":return a;case"start":return n?p:a;case"end":return n?a:p}},Y=(e,t,o,r,i)=>{switch(e){case"center":return H(t,o,r,i);case"end":return R(t,o,r,i);default:return{top:0,left:0}}},R=(e,t,o,r)=>{switch(e){case"start":case"end":case"left":case"right":return{top:-(r-t.height),left:0};default:return{top:0,left:-(o-t.width)}}},H=(e,t,o,r)=>{switch(e){case"start":case"end":case"left":case"right":return{top:-(r/2-t.height/2),left:0};default:return{top:0,left:-(o/2-t.width/2)}}},F=(e,t,o,r,i,s,n,a,p,c,d,l,h=0,v=0,f=0)=>{let g,m=h,x=o,b=t,w=c,u=d,k=!1,y=!1,P=!1,D=!1;const T=l?l.top+l.height:s/2-a/2,$=l?l.height:0;let A=!1;if(x<r+p.left?(x=r,k=!0,w="left"):n+r+x+p.right>i&&(y=!0,x=i-n-r,w="right"),T+$+a>s-p.bottom&&("top"===e||"bottom"===e)){const e=T-a-$-(f-1);e>=p.top+r?(b=e,m=b+a,u="bottom",A=!0):(g=r,D=!0,b>=s-p.bottom-r&&(b=p.top+r,P=!0))}return{top:b,left:x,bottom:g,originX:w,originY:u,checkSafeAreaLeft:k,checkSafeAreaRight:y,checkSafeAreaTop:P,checkSafeAreaBottom:D,arrowTop:m,arrowLeft:v,addPopoverBottomClass:A,hideArrow:!1}},V=(e,t)=>{const{event:o,size:r,trigger:i,reference:s,side:n,align:a}=t,p=e.ownerDocument,c="rtl"===p.dir,d=p.defaultView.innerWidth,l=p.defaultView.innerHeight,h=b(e),v=h.querySelector(".popover-content"),f=h.querySelector(".popover-arrow"),g=i||o?.detail?.ionShadowTarget||o?.target,{contentWidth:m,contentHeight:x}=S(r,v,g),{arrowWidth:w,arrowHeight:u}=(e=>{if(!e)return{arrowWidth:0,arrowHeight:0};const{width:t,height:o}=e.getBoundingClientRect();return{arrowWidth:t,arrowHeight:o}})(f),k=z(c,m,x,w,u,s,n,a,{top:l/2-x/2,left:d/2-m/2,originX:c?"right":"left",originY:"top"},i,o),y="cover"===r?0:5,P=O(p),D="cover"===r?{top:0,bottom:0,left:0,right:0}:{top:Math.max(P.top,25),bottom:Math.max(P.bottom,25),left:Math.max(P.left,25),right:Math.max(P.right,25)},{originX:T,originY:$,top:A,left:I,bottom:L,checkSafeAreaLeft:W,checkSafeAreaRight:j,checkSafeAreaTop:N,checkSafeAreaBottom:B,arrowTop:E,arrowLeft:M,addPopoverBottomClass:X}=F(n,k.top,k.left,y,d,l,m,x,D,k.originX,k.originY,k.referenceCoordinates,k.arrowTop,k.arrowLeft,u),Y=C(),R=C(),H=C();return R.addElement(h.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),H.addElement(h.querySelector(".popover-arrow")).addElement(h.querySelector(".popover-content")).fromTo("opacity",.01,1),Y.easing("ease").duration(100).beforeAddWrite((()=>{if("cover"===r&&e.style.setProperty("--width",`${m}px`),X&&e.classList.add("popover-bottom"),void 0!==L){let e=`${L}px`;B&&(e=`${L}px + var(--ion-safe-area-bottom, 0px)`),v.style.setProperty("bottom",`calc(${e})`)}let t=`${I}px`;W&&(t=`${I}px + var(--ion-safe-area-left, 0px)`),j&&(t=`${I}px - var(--ion-safe-area-right, 0px)`);let s=`${A}px`;if(N&&(s=`${A}px + var(--ion-safe-area-top, 0px)`),v.style.setProperty("top",`calc(${s} + var(--offset-y, 0))`),v.style.setProperty("left",`calc(${t} + var(--offset-x, 0))`),v.style.setProperty("transform-origin",`${$} ${T}`),null!==f){const e=((e,t=!1,o,r)=>!(!o&&!r||"top"!==e&&"bottom"!==e&&t))(n,k.top!==A||k.left!==I,o,i);e?(f.style.setProperty("top",`calc(${E}px + var(--offset-y, 0))`),f.style.setProperty("left",`calc(${M}px + var(--offset-x, 0))`)):f.style.setProperty("display","none")}})).addAnimation([R,H])},Z=e=>{const t=b(e),o=t.querySelector(".popover-content"),r=t.querySelector(".popover-arrow"),i=C(),s=C(),n=C();return s.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(t.querySelector(".popover-arrow")).addElement(t.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite((()=>{e.style.removeProperty("--width"),e.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))})).duration(300).addAnimation([s,n])},K=(e,t)=>{const{event:o,size:r,trigger:i,reference:s,side:n,align:a}=t,p=e.ownerDocument,c="rtl"===p.dir,d=p.defaultView.innerWidth,l=p.defaultView.innerHeight,h=b(e),v=h.querySelector(".popover-content"),f=i||o?.detail?.ionShadowTarget||o?.target,{contentWidth:g,contentHeight:m}=S(r,v,f),x=z(c,g,m,0,0,s,n,a,{top:l/2-m/2,left:d/2-g/2,originX:c?"right":"left",originY:"top"},i,o),w="cover"===r?0:12,u="cover"===r?{top:0,bottom:0,left:0,right:0}:O(p),{originX:k,originY:y,top:P,left:D,bottom:T,checkSafeAreaLeft:$,checkSafeAreaRight:A,checkSafeAreaTop:I,checkSafeAreaBottom:L,addPopoverBottomClass:W}=F(n,x.top,x.left,w,d,l,g,m,u,x.originX,x.originY,x.referenceCoordinates);let j=`${D}px`;$&&(j=`${D}px + var(--ion-safe-area-left, 0px)`),A&&(j=`${D}px - var(--ion-safe-area-right, 0px)`);let N=`${P}px`;I&&(N=`${P}px + var(--ion-safe-area-top, 0px)`);const B=C(),E=C(),M=C(),X=C(),Y=C();return E.addElement(h.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),M.addElement(h.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),X.addElement(v).beforeStyles({top:`calc(${N} + var(--offset-y, 0px))`,left:`calc(${j} + var(--offset-x, 0px))`,"transform-origin":`${y} ${k}`}).beforeAddWrite((()=>{if(void 0!==T){let e=`${T}px`;L&&(e=`${T}px + var(--ion-safe-area-bottom, 0px)`),v.style.setProperty("bottom",`calc(${e})`)}})).fromTo("transform","scale(0.8)","scale(1)"),Y.addElement(h.querySelector(".popover-viewport")).fromTo("opacity",.01,1),B.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{"cover"===r&&e.style.setProperty("--width",`${g}px`),W&&e.classList.add("popover-bottom")})).addAnimation([E,M,X,Y])},_=e=>{const t=b(e),o=t.querySelector(".popover-content"),r=C(),i=C(),s=C();return i.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(t.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite((()=>{e.style.removeProperty("--width"),e.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin")})).duration(150).addAnimation([i,s])},q=class{constructor(o){e(this,o),this.didPresent=t(this,"ionPopoverDidPresent",7),this.willPresent=t(this,"ionPopoverWillPresent",7),this.willDismiss=t(this,"ionPopoverWillDismiss",7),this.didDismiss=t(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=t(this,"didPresent",7),this.willPresentShorthand=t(this,"willPresent",7),this.willDismissShorthand=t(this,"willDismiss",7),this.didDismissShorthand=t(this,"didDismiss",7),this.ionMount=t(this,"ionMount",7)}usersElement;triggerEl;parentPopover=null;coreDelegate=g();lockController=y();destroyTriggerInteraction;destroyKeyboardInteraction;destroyDismissInteraction;headerResizeObserver;inline=!1;workingDelegate;focusDescendantOnPresent=!1;lastFocus;presented=!1;get el(){return o(this)}hasController=!1;delegate;overlayIndex;enterAnimation;leaveAnimation;component;componentProps;keyboardClose=!0;cssClass;backdropDismiss=!0;event;showBackdrop=!0;translucent=!1;animated=!0;htmlAttributes;triggerAction="click";trigger;size="auto";dismissOnSelect=!1;reference="trigger";side="bottom";alignment;arrow=!0;isOpen=!1;keyboardEvents=!1;focusTrap=!0;onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(e,t){!0===e&&!1===t?this.present():!1===e&&!0===t&&this.dismiss()}keepContentsMounted=!1;didPresent;willPresent;willDismiss;didDismiss;didPresentShorthand;willPresentShorthand;willDismissShorthand;didDismissShorthand;ionMount;connectedCallback(){const{configureTriggerInteraction:e,el:t}=this;n(t),e()}disconnectedCallback(){const{destroyTriggerInteraction:e}=this;e&&e(),this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0),this.presented&&a()}componentWillLoad(){const{el:e}=this,t=this.htmlAttributes?.id??p(e);this.parentPopover=e.closest(`ion-popover:not(#${t})`),void 0===this.alignment&&(this.alignment="ios"===P(this)?"center":"start")}componentDidLoad(){const{parentPopover:e,isOpen:t}=this;!0===t&&w((()=>this.present())),e&&u(e,"ionPopoverWillDismiss",(()=>{this.dismiss(void 0,void 0,!1)})),this.configureTriggerInteraction()}async presentFromTrigger(e,t=!1){this.focusDescendantOnPresent=t,await this.present(e),this.focusDescendantOnPresent=!1}getDelegate(e=!1){if(this.workingDelegate&&!e)return{delegate:this.workingDelegate,inline:this.inline};const t=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:t,delegate:this.workingDelegate=t?this.delegate||this.coreDelegate:this.delegate}}async present(e){const t=await this.lockController.lock();if(this.presented)return void t();const{el:o}=this,{inline:r,delegate:i}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await m(i,o,this.component,["popover-viewport"],this.componentProps,r),this.recalculateContentOnHeaderReady(),this.keyboardEvents||this.configureKeyboardInteraction(),this.configureDismissInteraction(),k(o)?await $(this.usersElement):this.keepContentsMounted||await A(),await c(this,"popoverEnter",V,K,{event:e||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment}),this.focusDescendantOnPresent&&d(o),t()}recalculateContentOnHeaderReady(){const e=this.el.shadowRoot?.querySelector(".popover-content");if(!e)return;const t=this.usersElement||e,o=t.querySelector("ion-header"),r=t.querySelectorAll("ion-content");o&&0!==r.length&&(this.headerResizeObserver=new ResizeObserver((async()=>{if(o.offsetHeight>0){this.headerResizeObserver?.disconnect(),this.headerResizeObserver=void 0;for(const e of r)await e.recalculateDimensions()}})),this.headerResizeObserver.observe(o))}async dismiss(e,t,o=!0){const r=await this.lockController.lock(),{destroyKeyboardInteraction:i,destroyDismissInteraction:s}=this;o&&this.parentPopover&&this.parentPopover.dismiss(e,t,o);const n=await l(this,e,t,"popoverLeave",Z,_,this.event);if(n){i&&(i(),this.destroyKeyboardInteraction=void 0),s&&(s(),this.destroyDismissInteraction=void 0);const{delegate:e}=this.getDelegate();await x(e,this.usersElement)}return r(),n}async getParentPopover(){return this.parentPopover}onDidDismiss(){return h(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return h(this.el,"ionPopoverWillDismiss")}onBackdropTap=()=>{this.dismiss(void 0,v)};onLifecycle=e=>{const t=this.usersElement,o=G[e.type];if(t&&o){const r=new CustomEvent(o,{bubbles:!1,cancelable:!1,detail:e.detail});t.dispatchEvent(r)}};configureTriggerInteraction=()=>{const{trigger:e,triggerAction:t,el:o,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===e)return;const s=this.triggerEl=void 0!==e?document.getElementById(e):null;s?this.destroyTriggerInteraction=((e,t,o)=>{let r=[];switch(t){case"hover":let e;r=[{eventName:"mouseenter",callback:async t=>{t.stopPropagation(),e&&clearTimeout(e),e=setTimeout((()=>{w((()=>{o.presentFromTrigger(t),e=void 0}))}),100)}},{eventName:"mouseleave",callback:t=>{e&&clearTimeout(e);const r=t.relatedTarget;r&&r.closest("ion-popover")!==o&&o.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:e=>e.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:e=>o.presentFromTrigger(e,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:e=>{e.preventDefault(),o.presentFromTrigger(e)}},{eventName:"click",callback:e=>e.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:e=>o.presentFromTrigger(e,!0)}];break;default:r=[{eventName:"click",callback:e=>o.presentFromTrigger(e)},{eventName:"ionPopoverActivateTrigger",callback:e=>o.presentFromTrigger(e,!0)}]}return r.forEach((({eventName:t,callback:o})=>e.addEventListener(t,o))),e.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach((({eventName:t,callback:o})=>e.removeEventListener(t,o))),e.removeAttribute("data-ion-popover-trigger")}})(s,t,o):r(`[ion-popover] - A trigger element with the ID "${e}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)};configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:e,el:t}=this;e&&e(),this.destroyKeyboardInteraction=(e=>{const t=async t=>{const o=document.activeElement;let r=[];const i=t.target?.tagName;if("ION-POPOVER"===i||"ION-ITEM"===i){try{r=Array.from(e.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch{}switch(t.key){case"ArrowLeft":await e.getParentPopover()&&e.dismiss(void 0,void 0,!1);break;case"ArrowDown":t.preventDefault();const i=((e,t)=>e[W(e,t)+1])(r,o);void 0!==i&&j(i);break;case"ArrowUp":t.preventDefault();const s=((e,t)=>e[W(e,t)-1])(r,o);void 0!==s&&j(s);break;case"Home":t.preventDefault();const n=r[0];void 0!==n&&j(n);break;case"End":t.preventDefault();const a=r[r.length-1];void 0!==a&&j(a);break;case"ArrowRight":case" ":case"Enter":if(o&&o.hasAttribute("data-ion-popover-trigger")){const e=new CustomEvent("ionPopoverActivateTrigger");o.dispatchEvent(e)}}}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)})(t)};configureDismissInteraction=()=>{const{destroyDismissInteraction:e,parentPopover:t,triggerAction:o,triggerEl:r,el:i}=this;t&&r&&(e&&e(),this.destroyDismissInteraction=((e,t,o,r)=>{let i=[];const s=b(r).querySelector(".popover-content");return i="hover"===t?[{eventName:"mouseenter",callback:t=>{document.elementFromPoint(t.clientX,t.clientY)!==e&&o.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:t=>{t.target.closest("[data-ion-popover-trigger]")!==e?o.dismiss(void 0,void 0,!1):t.stopPropagation()}}],i.forEach((({eventName:e,callback:t})=>s.addEventListener(e,t))),()=>{i.forEach((({eventName:e,callback:t})=>s.removeEventListener(e,t)))}})(r,o,i,t))};render(){const e=P(this),{onLifecycle:t,parentPopover:o,dismissOnSelect:r,side:n,arrow:a,htmlAttributes:p,focusTrap:c}=this,d=D("desktop"),l=a&&!o;return i(s,{key:"52ffc7116969ae1b8b927e67f2acbfe5f5434f70","aria-modal":"true","no-router":!0,tabindex:"-1",...p,style:{zIndex:`${2e4+this.overlayIndex}`},class:{...T(this.cssClass),[e]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":d,[`popover-side-${n}`]:!0,[f]:!1===c,"popover-nested":!!o},onIonPopoverDidPresent:t,onIonPopoverWillPresent:t,onIonPopoverWillDismiss:t,onIonPopoverDidDismiss:t,onIonBackdropTap:this.onBackdropTap},!o&&i("ion-backdrop",{key:"79a8e851dbd22119e21ffb2f4709c555251045c8",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),i("div",{key:"c46c9f62c3ef3f902e23f27404eaa446a5d8cf88",class:"popover-wrapper ion-overlay-wrapper",onClick:r?()=>this.dismiss():void 0},l&&i("div",{key:"9fdcbbc4ea6c7bde74f646d48eb77296b2c9dd83",class:"popover-arrow",part:"arrow"}),i("div",{key:"138e56bb83462ebb0908edb522b45ecf94b82aeb",class:"popover-content",part:"content"},i("slot",{key:"daeefcf002e8d89e91d6e0faf7f63f75b68a2dbe"}))))}static get watchers(){return{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}}},G={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};q.style={ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"};export{q as ion_popover}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,c as i,g as s,e,f as n,h as o,d as r}from"./p-ChhhtsGZ.js";import{g as a}from"./p-hHmYLOfE.js";import{l as h}from"./p-7CBuOvEo.js";import{l as c,t as d,s as l,d as u,b as v,c as m}from"./p-CzS1qWve.js";import{b as p}from"./p-CMRtMbJc.js";import{a as f}from"./p-CBR_W98Z.js";import"./p-Dojwmvde.js";class w{component;params;state=1;nav;element;delegate;animationBuilder;constructor(t,i){this.component=t,this.params=i}async init(t){if(this.state=2,!this.element){const i=this.component;this.element=await f(this.delegate,t,i,["ion-page","ion-page-invisible"],this.params)}}_destroy(){h(3!==this.state,"view state must be ATTACHED");const t=this.element;t&&(this.delegate?this.delegate.removeViewFromDom(t.parentElement,t):t.remove()),this.nav=void 0,this.state=3}}const g=(t,i)=>t?t instanceof w?t:new w(t,i):null,b=class{constructor(s){t(this,s),this.ionNavWillLoad=i(this,"ionNavWillLoad",7),this.ionNavWillChange=i(this,"ionNavWillChange",3),this.ionNavDidChange=i(this,"ionNavDidChange",3)}transInstr=[];sbAni;gestureOrAnimationInProgress=!1;isTransitioning=!1;destroyed=!1;views=[];gesture;didLoad=!1;get el(){return s(this)}delegate;swipeGesture;swipeGestureChanged(){this.gesture&&this.gesture.enable(!0===this.swipeGesture)}animated=!0;animation;rootParams;root;rootChanged(){void 0!==this.root&&!1!==this.didLoad&&this.setRoot(this.root,this.rootParams)}ionNavWillLoad;ionNavWillChange;ionNavDidChange;componentWillLoad(){if(void 0===this.swipeGesture){const t=p(this);this.swipeGesture=e.getBoolean("swipeBackEnabled","ios"===t)}this.ionNavWillLoad.emit()}async componentDidLoad(){this.didLoad=!0,this.rootChanged(),this.gesture=(await import("./p-B1ck5iy-.js")).createSwipeBackGesture(this.el,this.canStart.bind(this),this.onStart.bind(this),this.onMove.bind(this),this.onEnd.bind(this)),this.swipeGestureChanged()}connectedCallback(){this.destroyed=!1}disconnectedCallback(){for(const t of this.views)c(t.element,u),t._destroy();this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.transInstr.length=0,this.views.length=0,this.destroyed=!0}push(t,i,s,e){return this.insert(-1,t,i,s,e)}insert(t,i,s,e,n){return this.insertPages(t,[{component:i,componentProps:s}],e,n)}insertPages(t,i,s,e){return this.queueTrns({insertStart:t,insertViews:i,opts:s},e)}pop(t,i){return this.removeIndex(-1,1,t,i)}popTo(t,i,s){const e={removeStart:-1,removeCount:-1,opts:i};return"object"==typeof t&&t.component?(e.removeView=t,e.removeStart=1):"number"==typeof t&&(e.removeStart=t+1),this.queueTrns(e,s)}popToRoot(t,i){return this.removeIndex(1,-1,t,i)}removeIndex(t,i=1,s,e){return this.queueTrns({removeStart:t,removeCount:i,opts:s},e)}setRoot(t,i,s,e){return this.setPages([{component:t,componentProps:i}],s,e)}setPages(t,i,s){return i??={},!0!==i.animated&&(i.animated=!1),this.queueTrns({insertStart:0,insertViews:t,removeStart:0,removeCount:-1,opts:i},s)}async getActive(){return this.getActiveSync()}async getByIndex(t){return this.views[t]}async canGoBack(t){return this.canGoBackSync(t)}async getPrevious(t){return this.getPreviousSync(t)}async getLength(){return Promise.resolve(this.views.length)}getActiveSync(){return this.views[this.views.length-1]}canGoBackSync(t=this.getActiveSync()){return!(!t||!this.getPreviousSync(t))}getPreviousSync(t=this.getActiveSync()){if(!t)return;const i=this.views,s=i.indexOf(t);return s>0?i[s-1]:void 0}async queueTrns(t,i){if(this.isTransitioning&&t.opts?.skipIfBusy)return!1;const s=new Promise(((i,s)=>{t.resolve=i,t.reject=s}));return t.done=i,0===t.insertViews?.length&&(t.insertViews=void 0),this.transInstr.push(t),this.nextTrns(),s}success(t,i){this.destroyed?this.fireError("nav controller was destroyed",i):(i.done&&i.done(t.hasCompleted,t.requiresTransition,t.enteringView,t.leavingView,t.direction),i.resolve(t.hasCompleted))}failed(t,i){this.destroyed?this.fireError("nav controller was destroyed",i):(this.transInstr.length=0,this.fireError(t,i))}fireError(t,i){i.done&&i.done(!1,!1,t),i.reject&&!this.destroyed?i.reject(t):i.resolve(!1)}nextTrns(){if(this.isTransitioning)return!1;const t=this.transInstr.shift();return!!t&&(this.runTransition(t),!0)}async runTransition(t){try{this.ionNavWillChange.emit(),this.isTransitioning=!0,this.prepareTI(t);const i=this.getActiveSync(),s=this.getEnteringView(t,i);if(!i&&!s)throw new Error("no views in the stack to be removed");s&&1===s.state&&await s.init(this.el),this.postViewInit(s,i,t);const e=(t.enteringRequiresTransition||t.leavingRequiresTransition)&&s!==i;let n;e&&t.opts&&i&&("back"===t.opts.direction&&(t.opts.animationBuilder=t.opts.animationBuilder||s?.animationBuilder),i.animationBuilder=t.opts.animationBuilder),n=e?await this.transition(s,i,t):{hasCompleted:!0,requiresTransition:!1},this.success(n,t),this.ionNavDidChange.emit()}catch(i){this.failed(i,t)}this.isTransitioning=!1,this.nextTrns()}prepareTI(t){const i=this.views.length;if(t.opts??={},t.opts.delegate??=this.delegate,void 0!==t.removeView){h(void 0!==t.removeStart,"removeView needs removeStart"),h(void 0!==t.removeCount,"removeView needs removeCount");const i=this.views.indexOf(t.removeView);if(i<0)throw new Error("removeView was not found");t.removeStart+=i}void 0!==t.removeStart&&(t.removeStart<0&&(t.removeStart=i-1),t.removeCount<0&&(t.removeCount=i-t.removeStart),t.leavingRequiresTransition=t.removeCount>0&&t.removeStart+t.removeCount===i),t.insertViews&&((t.insertStart<0||t.insertStart>i)&&(t.insertStart=i),t.enteringRequiresTransition=t.insertStart===i);const s=t.insertViews;if(!s)return;h(s.length>0,"length can not be zero");const e=s.map((t=>t instanceof w?t:"component"in t?g(t.component,null===t.componentProps?void 0:t.componentProps):g(t,void 0))).filter((t=>null!==t));if(0===e.length)throw new Error("invalid views to insert");for(const i of e){i.delegate=t.opts.delegate;const s=i.nav;if(s&&s!==this)throw new Error("inserted view was already inserted");if(3===i.state)throw new Error("inserted view was already destroyed")}t.insertViews=e}getEnteringView(t,i){const s=t.insertViews;if(void 0!==s)return s[s.length-1];const e=t.removeStart;if(void 0!==e){const s=this.views,n=e+t.removeCount;for(let t=s.length-1;t>=0;t--){const o=s[t];if((t<e||t>=n)&&o!==i)return o}}}postViewInit(t,i,s){h(i||t,"Both leavingView and enteringView are null"),h(s.resolve,"resolve must be valid"),h(s.reject,"reject must be valid");const e=s.opts,{insertViews:o,removeStart:r,removeCount:a}=s;let d;if(void 0!==r&&void 0!==a){h(r>=0,"removeStart can not be negative"),h(a>=0,"removeCount can not be negative"),d=[];for(let s=r;s<r+a;s++){const e=this.views[s];void 0!==e&&e!==t&&e!==i&&d.push(e)}e.direction??="back"}const l=this.views.length+(o?.length??0)-(a??0);if(h(l>=0,"final balance can not be negative"),0===l)throw n("[ion-nav] - You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.",this,this.el),new Error("navigation stack needs at least one root page");if(o){let t=s.insertStart;for(const i of o)this.insertViewAt(i,t),t++;s.enteringRequiresTransition&&(e.direction??="forward")}if(d&&d.length>0){for(const t of d)c(t.element,v),c(t.element,m),c(t.element,u);for(const t of d)this.destroyView(t)}}async transition(t,i,s){const n=s.opts,o=n.progressAnimation?t=>{void 0===t||this.gestureOrAnimationInProgress?this.sbAni=t:(this.gestureOrAnimationInProgress=!0,t.onFinish((()=>{this.gestureOrAnimationInProgress=!1}),{oneTimeCallback:!0}),t.progressEnd(0,0,0))}:void 0,r=p(this),a=t.element,h=i&&i.element,c={mode:r,showGoBack:this.canGoBackSync(t),baseEl:this.el,progressCallback:o,animated:this.animated&&e.getBoolean("animated",!0),enteringEl:a,leavingEl:h,...n,animationBuilder:n.animationBuilder||this.animation||e.get("navAnimation")},{hasCompleted:l}=await d(c);return this.transitionFinish(l,t,i,n)}transitionFinish(t,i,s,e){const n=t?i:s;return n&&this.unmountInactiveViews(n),{hasCompleted:t,requiresTransition:!0,enteringView:i,leavingView:s,direction:e.direction}}insertViewAt(t,i){const s=this.views,e=s.indexOf(t);e>-1?(h(t.nav===this,"view is not part of the nav"),s.splice(e,1),s.splice(i,0,t)):(h(!t.nav,"nav is used"),t.nav=this,s.splice(i,0,t))}removeView(t){h(2===t.state||3===t.state,"view state should be loaded or destroyed");const i=this.views,s=i.indexOf(t);h(s>-1,"view must be part of the stack"),s>=0&&i.splice(s,1)}destroyView(t){t._destroy(),this.removeView(t)}unmountInactiveViews(t){if(this.destroyed)return;const i=this.views,s=i.indexOf(t);for(let t=i.length-1;t>=0;t--){const e=i[t],n=e.element;n&&(t>s?(c(n,u),this.destroyView(e)):t<s&&l(n,!0))}}canStart(){return!this.gestureOrAnimationInProgress&&!!this.swipeGesture&&!this.isTransitioning&&0===this.transInstr.length&&this.canGoBackSync()}onStart(){this.gestureOrAnimationInProgress=!0,this.pop({direction:"back",progressAnimation:!0})}onMove(t){this.sbAni&&this.sbAni.progressStep(t)}onEnd(t,i,s){if(this.sbAni){this.sbAni.onFinish((()=>{this.gestureOrAnimationInProgress=!1}),{oneTimeCallback:!0});let e=t?-.001:.001;t?e+=a([0,0],[.32,.72],[0,1],[1,1],i)[0]:(this.sbAni.easing("cubic-bezier(1, 0, 0.68, 0.28)"),e+=a([0,0],[1,0],[.68,.28],[1,1],i)[0]),this.sbAni.progressEnd(t?1:0,e,s)}else this.gestureOrAnimationInProgress=!1}render(){return o("slot",{key:"1886154d3c2fa8511af4d641d269aaa4c0f45c05"})}static get watchers(){return{swipeGesture:[{swipeGestureChanged:0}],root:[{rootChanged:0}]}}};b.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";const y=class{constructor(i){t(this,i)}get el(){return s(this)}component;componentProps;routerDirection="forward";routerAnimation;onClick=()=>((t,i,s,e,n)=>{const o=this.el.closest("ion-nav");if(o)if("forward"===i){if(void 0!==s)return o.push(s,e,{skipIfBusy:!0,animationBuilder:n})}else if("root"===i){if(void 0!==s)return o.setRoot(s,e,{skipIfBusy:!0,animationBuilder:n})}else if("back"===i)return o.pop({skipIfBusy:!0,animationBuilder:n});return Promise.resolve(!1)})(0,this.routerDirection,this.component,this.componentProps,this.routerAnimation);render(){return o(r,{key:"4bcaa74015462824b3f19253b04a77ce83389ca0",onClick:this.onClick})}};export{b as ion_nav,y as ion_nav_link}