@ionic/core 8.7.19-nightly.20260303 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/components/index.d.ts +2 -0
  2. package/components/index.js +1 -114
  3. package/components/ion-accordion-group.js +1 -268
  4. package/components/ion-accordion.js +1 -456
  5. package/components/ion-action-sheet.js +1 -6
  6. package/components/ion-alert.js +1 -6
  7. package/components/ion-app.js +1 -132
  8. package/components/ion-avatar.js +1 -41
  9. package/components/ion-back-button.js +1 -130
  10. package/components/ion-backdrop.js +1 -6
  11. package/components/ion-badge.js +1 -47
  12. package/components/ion-breadcrumb.js +1 -137
  13. package/components/ion-breadcrumbs.js +1 -164
  14. package/components/ion-button.js +1 -6
  15. package/components/ion-buttons.js +1 -6
  16. package/components/ion-card-content.js +1 -45
  17. package/components/ion-card-header.js +1 -56
  18. package/components/ion-card-subtitle.js +1 -48
  19. package/components/ion-card-title.js +1 -48
  20. package/components/ion-card.js +1 -107
  21. package/components/ion-checkbox.js +1 -6
  22. package/components/ion-chip.js +1 -66
  23. package/components/ion-col.js +1 -163
  24. package/components/ion-content.js +1 -6
  25. package/components/ion-datetime-button.js +1 -383
  26. package/components/ion-datetime.js +1 -2047
  27. package/components/ion-fab-button.js +1 -151
  28. package/components/ion-fab-list.js +1 -73
  29. package/components/ion-fab.js +1 -101
  30. package/components/ion-footer.js +1 -179
  31. package/components/ion-grid.js +1 -46
  32. package/components/ion-header.js +1 -6
  33. package/components/ion-icon.js +1 -6
  34. package/components/ion-img.js +1 -133
  35. package/components/ion-infinite-scroll-content.js +1 -69
  36. package/components/ion-infinite-scroll.js +1 -236
  37. package/components/ion-input-otp.js +1 -682
  38. package/components/ion-input-password-toggle.js +1 -128
  39. package/components/ion-input.js +1 -646
  40. package/components/ion-item-divider.js +1 -59
  41. package/components/ion-item-group.js +1 -46
  42. package/components/ion-item-option.js +1 -91
  43. package/components/ion-item-options.js +1 -73
  44. package/components/ion-item-sliding.js +1 -457
  45. package/components/ion-item.js +1 -6
  46. package/components/ion-label.js +1 -6
  47. package/components/ion-list-header.js +1 -6
  48. package/components/ion-list.js +1 -6
  49. package/components/ion-loading.js +1 -343
  50. package/components/ion-menu-button.js +1 -109
  51. package/components/ion-menu-toggle.js +1 -64
  52. package/components/ion-menu.js +1 -741
  53. package/components/ion-modal.js +1 -6
  54. package/components/ion-nav-link.js +1 -64
  55. package/components/ion-nav.js +1 -951
  56. package/components/ion-note.js +1 -47
  57. package/components/ion-picker-column-option.js +1 -6
  58. package/components/ion-picker-column.js +1 -6
  59. package/components/ion-picker-legacy-column.js +1 -6
  60. package/components/ion-picker-legacy.js +1 -342
  61. package/components/ion-picker.js +1 -6
  62. package/components/ion-popover.js +1 -6
  63. package/components/ion-progress-bar.js +1 -100
  64. package/components/ion-radio-group.js +1 -6
  65. package/components/ion-radio.js +1 -6
  66. package/components/ion-range.js +1 -844
  67. package/components/ion-refresher-content.js +1 -88
  68. package/components/ion-refresher.js +1 -750
  69. package/components/ion-reorder-group.js +1 -322
  70. package/components/ion-reorder.js +1 -60
  71. package/components/ion-ripple-effect.js +1 -6
  72. package/components/ion-route-redirect.js +1 -45
  73. package/components/ion-route.js +1 -74
  74. package/components/ion-router-link.js +1 -61
  75. package/components/ion-router-outlet.js +1 -226
  76. package/components/ion-router.js +1 -840
  77. package/components/ion-row.js +1 -36
  78. package/components/ion-searchbar.js +1 -540
  79. package/components/ion-segment-button.js +1 -173
  80. package/components/ion-segment-content.js +1 -35
  81. package/components/ion-segment-view.js +1 -142
  82. package/components/ion-segment.js +1 -602
  83. package/components/ion-select-modal.js +1 -6
  84. package/components/ion-select-option.js +1 -46
  85. package/components/ion-select-popover.js +1 -6
  86. package/components/ion-select.js +1 -1035
  87. package/components/ion-skeleton-text.js +1 -64
  88. package/components/ion-spinner.js +1 -6
  89. package/components/ion-split-pane.js +1 -190
  90. package/components/ion-tab-bar.js +1 -135
  91. package/components/ion-tab-button.js +1 -127
  92. package/components/ion-tab.js +1 -82
  93. package/components/ion-tabs.js +1 -204
  94. package/components/ion-text.js +1 -42
  95. package/components/ion-textarea.js +1 -554
  96. package/components/ion-thumbnail.js +1 -36
  97. package/components/ion-title.js +1 -6
  98. package/components/ion-toast.js +1 -938
  99. package/components/ion-toggle.js +1 -360
  100. package/components/ion-toolbar.js +1 -6
  101. package/components/p-1KVKSLu5.js +4 -0
  102. package/{dist/ionic/p-DUt5fQmA.js → components/p-9VcRUwdB.js} +1 -1
  103. package/components/p-ApmKVjaE.js +4 -0
  104. package/components/p-B-hirT0v.js +1 -35
  105. package/components/p-B6FQ0cKR.js +4 -0
  106. package/components/p-B6HaBl3o.js +4 -0
  107. package/components/p-B8b1Ukl9.js +4 -0
  108. package/components/p-BFxT89Wl.js +4 -0
  109. package/components/p-BJoMtgfR.js +4 -0
  110. package/components/p-BNAG-aVv.js +4 -0
  111. package/{dist/ionic/p-D-eFFUkA.js → components/p-BR3tZJmu.js} +1 -1
  112. package/{dist/ionic/p-D0dMcSkw.js → components/p-BS1TtEiJ.js} +1 -1
  113. package/components/p-BSB38Tek.js +4 -0
  114. package/components/p-BTEOs1at.js +1 -192
  115. package/components/p-BTeL5HCK.js +4 -0
  116. package/{dist/ionic/p-DbQ5QkTP.js → components/p-BUbsoBOV.js} +1 -1
  117. package/components/p-BVnB3eEn.js +4 -0
  118. package/components/p-BYDc3hSE.js +4 -0
  119. package/components/p-BagjAGC0.js +4 -0
  120. package/components/p-BegtE7nr.js +4 -0
  121. package/components/p-BgwEQWW6.js +4 -0
  122. package/components/p-Bk2zuNWT.js +4 -0
  123. package/components/p-BmVRXR1y.js +1 -72
  124. package/components/p-Bum_LjMh.js +4 -0
  125. package/components/p-BxwWvu-b.js +4 -0
  126. package/components/p-C4jPsTQa.js +4 -0
  127. package/components/p-C53feagD.js +1 -15
  128. package/{dist/ionic/p-CwgG81ZD.js → components/p-C59ryAuS.js} +1 -1
  129. package/components/p-C7AoMl7c.js +4 -0
  130. package/components/p-CBzELu-H.js +4 -0
  131. package/components/p-CDfQnFrd.js +4 -0
  132. package/components/p-CH0NYjKq.js +4 -0
  133. package/components/p-CIGNaXM1.js +1 -10
  134. package/components/p-CO7fmmxt.js +1 -29
  135. package/components/p-CU1SSH8_.js +4 -0
  136. package/components/p-CVF7ukTk.js +4 -0
  137. package/components/p-CgfaEEem.js +4 -0
  138. package/components/p-CgqKJg96.js +4 -0
  139. package/components/p-Cl0B-RWe.js +1 -452
  140. package/components/p-CneGxKsZ.js +4 -0
  141. package/components/p-CoA-aqGF.js +4 -0
  142. package/{dist/ionic/p-DdR6rpbR.js → components/p-Cq8cQ0NL.js} +1 -1
  143. package/components/p-Csw8xuz4.js +4 -0
  144. package/components/p-CtWGkNnJ.js +1 -162
  145. package/components/p-Cwv-vmkN.js +4 -0
  146. package/{dist/ionic/p-BYEqWnSg.js → components/p-Cy5XSfIk.js} +1 -1
  147. package/components/p-Cyxa_4PV.js +4 -0
  148. package/components/p-Cz5nLPGT.js +4 -0
  149. package/components/p-D13Eaw-8.js +1 -76
  150. package/components/p-D6NJwNJN.js +4 -0
  151. package/components/p-D6Ynv7Xh.js +1 -141
  152. package/components/p-DHsZWn1l.js +4 -0
  153. package/components/p-DJMZehmW.js +4 -0
  154. package/components/p-DJztqcrH.js +1 -14
  155. package/components/p-DYdpXONG.js +4 -0
  156. package/components/p-DgbT0exM.js +4 -0
  157. package/components/p-DiVJyqlX.js +1 -40
  158. package/components/p-Dtdm8lKC.js +1 -44
  159. package/components/p-YLXPWgVj.js +4 -0
  160. package/components/p-ZjP4CjeZ.js +1 -4
  161. package/{dist/ionic/p-DCv9sLH2.js → components/p-ak_d-z48.js} +1 -1
  162. package/components/p-cyNmxje6.js +1 -155
  163. package/components/p-fpbh6w3f.js +4 -0
  164. package/components/p-hHmYLOfE.js +1 -87
  165. package/components/p-kvaDs24J.js +4 -0
  166. package/components/p-vEbVo2hO.js +4 -0
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CuMghsQ-.js → input-shims-Dl5cnc_e.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +48 -43
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +75 -46
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +48 -42
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +237 -59
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +205 -57
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -8
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +17 -13
  226. package/dist/cjs/ion-select_3.cjs.entry.js +33 -24
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +20 -14
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +12 -7
  260. package/dist/collection/components/datetime/datetime.js +43 -22
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +10 -5
  268. package/dist/collection/components/item-divider/item-divider.js +7 -3
  269. package/dist/collection/components/item-option/item-option.js +6 -3
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +6 -3
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +120 -12
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
  279. package/dist/collection/components/modal/modal.js +127 -45
  280. package/dist/collection/components/nav/nav.js +89 -45
  281. package/dist/collection/components/nav-link/nav-link.js +9 -5
  282. package/dist/collection/components/note/note.js +2 -1
  283. package/dist/collection/components/picker/picker.js +2 -1
  284. package/dist/collection/components/picker-column/picker-column.js +6 -3
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  286. package/dist/collection/components/picker-legacy/picker.js +24 -12
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  288. package/dist/collection/components/popover/popover.js +33 -17
  289. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  290. package/dist/collection/components/radio/radio.js +2 -1
  291. package/dist/collection/components/radio-group/radio-group.js +6 -3
  292. package/dist/collection/components/range/range.js +214 -53
  293. package/dist/collection/components/refresher/refresher.js +73 -5
  294. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  295. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  296. package/dist/collection/components/route/route.js +4 -2
  297. package/dist/collection/components/router/router.js +10 -5
  298. package/dist/collection/components/router-link/router-link.js +6 -3
  299. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  300. package/dist/collection/components/searchbar/searchbar.js +11 -6
  301. package/dist/collection/components/segment/segment.js +10 -5
  302. package/dist/collection/components/segment-button/segment-button.js +4 -2
  303. package/dist/collection/components/segment-view/segment-view.ios.css +2 -1
  304. package/dist/collection/components/segment-view/segment-view.js +30 -4
  305. package/dist/collection/components/segment-view/segment-view.md.css +2 -1
  306. package/dist/collection/components/select/select.js +17 -8
  307. package/dist/collection/components/select-modal/select-modal.js +27 -2
  308. package/dist/collection/components/select-popover/select-popover.js +2 -1
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  310. package/dist/collection/components/spinner/spinner.js +4 -2
  311. package/dist/collection/components/tab/tab.js +4 -2
  312. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  313. package/dist/collection/components/tab-button/tab-button.js +4 -2
  314. package/dist/collection/components/tabs/tabs.js +4 -2
  315. package/dist/collection/components/text/text.js +2 -1
  316. package/dist/collection/components/textarea/textarea.js +10 -7
  317. package/dist/collection/components/title/title.js +4 -2
  318. package/dist/collection/components/toast/toast.js +34 -17
  319. package/dist/collection/components/toggle/toggle.js +4 -2
  320. package/dist/collection/components/toolbar/toolbar.js +2 -1
  321. package/dist/docs.d.ts +37 -0
  322. package/dist/docs.json +1186 -389
  323. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  324. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  325. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  326. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  327. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  328. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  329. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  330. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  331. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  332. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  333. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  334. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  335. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-D6H3ZaWt.js → input-shims-AaDhOpKN.js} +3 -3
  338. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +23 -15
  340. package/dist/esm/ion-action-sheet.entry.js +21 -15
  341. package/dist/esm/ion-alert.entry.js +25 -17
  342. package/dist/esm/ion-app_8.entry.js +48 -43
  343. package/dist/esm/ion-avatar_3.entry.js +12 -12
  344. package/dist/esm/ion-back-button.entry.js +7 -7
  345. package/dist/esm/ion-backdrop.entry.js +6 -6
  346. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  347. package/dist/esm/ion-button_2.entry.js +36 -18
  348. package/dist/esm/ion-card_5.entry.js +23 -23
  349. package/dist/esm/ion-checkbox.entry.js +7 -7
  350. package/dist/esm/ion-chip.entry.js +6 -6
  351. package/dist/esm/ion-col_3.entry.js +8 -8
  352. package/dist/esm/ion-datetime-button.entry.js +8 -8
  353. package/dist/esm/ion-datetime_3.entry.js +75 -46
  354. package/dist/esm/ion-fab_3.entry.js +17 -13
  355. package/dist/esm/ion-img.entry.js +8 -6
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  357. package/dist/esm/ion-input-otp.entry.js +16 -10
  358. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  359. package/dist/esm/ion-input.entry.js +21 -13
  360. package/dist/esm/ion-item-option_3.entry.js +19 -17
  361. package/dist/esm/ion-item_8.entry.js +48 -42
  362. package/dist/esm/ion-loading.entry.js +18 -14
  363. package/dist/esm/ion-menu_3.entry.js +30 -22
  364. package/dist/esm/ion-modal.entry.js +237 -59
  365. package/dist/esm/ion-nav_2.entry.js +14 -10
  366. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  367. package/dist/esm/ion-picker-column.entry.js +11 -7
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +21 -15
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +17 -13
  372. package/dist/esm/ion-range.entry.js +205 -57
  373. package/dist/esm/ion-refresher_2.entry.js +45 -14
  374. package/dist/esm/ion-reorder_2.entry.js +13 -11
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +20 -10
  377. package/dist/esm/ion-searchbar.entry.js +22 -12
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +13 -8
  380. package/dist/esm/ion-segment_2.entry.js +26 -16
  381. package/dist/esm/ion-select-modal.entry.js +17 -13
  382. package/dist/esm/ion-select_3.entry.js +33 -24
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +15 -9
  385. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  386. package/dist/esm/ion-tab_2.entry.js +10 -8
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +20 -14
  389. package/dist/esm/ion-toast.entry.js +21 -15
  390. package/dist/esm/ion-toggle.entry.js +10 -8
  391. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  396. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  397. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  398. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  399. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  400. package/dist/html.html-data.json +117 -109
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/p-031b76f7.entry.js +4 -0
  404. package/dist/ionic/p-045a6a42.entry.js +4 -0
  405. package/dist/ionic/p-07506134.entry.js +4 -0
  406. package/dist/ionic/p-084c25b2.entry.js +4 -0
  407. package/dist/ionic/p-0d8b5c38.entry.js +4 -0
  408. package/dist/ionic/p-16813ce7.entry.js +4 -0
  409. package/dist/ionic/p-16b65553.entry.js +4 -0
  410. package/dist/ionic/p-1b02923f.entry.js +4 -0
  411. package/dist/ionic/{p-5c8f7253.entry.js → p-1b169fb6.entry.js} +1 -1
  412. package/dist/ionic/{p-915b3e3d.entry.js → p-23fac490.entry.js} +1 -1
  413. package/dist/ionic/{p-b8551510.entry.js → p-294f4bb5.entry.js} +1 -1
  414. package/dist/ionic/p-2a68388b.entry.js +4 -0
  415. package/dist/ionic/p-2f5a8140.entry.js +4 -0
  416. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  417. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  418. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  419. package/dist/ionic/p-4819b469.entry.js +4 -0
  420. package/dist/ionic/p-4dd5e8e0.entry.js +4 -0
  421. package/dist/ionic/p-51c11c47.entry.js +4 -0
  422. package/dist/ionic/p-53f750a5.entry.js +4 -0
  423. package/dist/ionic/{p-7cad388a.entry.js → p-6af16209.entry.js} +1 -1
  424. package/dist/ionic/{p-7f98e710.entry.js → p-6b701daa.entry.js} +1 -1
  425. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  426. package/dist/ionic/p-71e322f7.entry.js +4 -0
  427. package/dist/ionic/p-7620be24.entry.js +4 -0
  428. package/dist/ionic/p-771b27a5.entry.js +4 -0
  429. package/dist/ionic/{p-906bb44d.entry.js → p-7ca71c83.entry.js} +1 -1
  430. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  431. package/dist/ionic/p-96a2e768.entry.js +4 -0
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
  434. package/dist/ionic/p-9cdbabbb.entry.js +4 -0
  435. package/dist/ionic/p-9eac4eb1.entry.js +4 -0
  436. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  437. package/dist/ionic/p-B8xlpH8p.js +4 -0
  438. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  439. package/dist/ionic/p-BW_TRJm8.js +4 -0
  440. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  441. package/dist/ionic/p-BvFYtOdE.js +4 -0
  442. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  443. package/dist/ionic/p-C0JvVFMv.js +4 -0
  444. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  445. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  446. package/dist/ionic/{p-MUoJJJwd.js → p-CYvM5g3q.js} +1 -1
  447. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  448. package/dist/ionic/p-CtA-yJYy.js +4 -0
  449. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  450. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  451. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  452. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  453. package/dist/ionic/p-DjriolRs.js +4 -0
  454. package/dist/ionic/p-DtVZDHlS.js +4 -0
  455. package/dist/ionic/p-IGIE5vDm.js +5 -0
  456. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  457. package/dist/ionic/p-a805674e.entry.js +4 -0
  458. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  459. package/dist/ionic/p-aa47f46e.entry.js +4 -0
  460. package/dist/ionic/{p-2668188b.entry.js → p-b325a113.entry.js} +1 -1
  461. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  462. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  463. package/dist/ionic/{p-6f37536a.entry.js → p-bcaa827e.entry.js} +1 -1
  464. package/dist/ionic/{p-fb0271ae.entry.js → p-c3cce9d8.entry.js} +1 -1
  465. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  466. package/dist/ionic/p-d4e8b473.entry.js +4 -0
  467. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  468. package/dist/ionic/p-e6c5f060.entry.js +4 -0
  469. package/dist/ionic/{p-652318c3.entry.js → p-e6cedcd7.entry.js} +1 -1
  470. package/dist/ionic/{p-fbb00634.entry.js → p-e863ffe8.entry.js} +1 -1
  471. package/dist/ionic/{p-0ca0fe9c.entry.js → p-f2deaceb.entry.js} +1 -1
  472. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  473. package/dist/ionic/{p-bce86e56.entry.js → p-f8186550.entry.js} +1 -1
  474. package/dist/ionic/p-fdbc90d4.entry.js +4 -0
  475. package/dist/ionic/p-gbVXD275.js +4 -0
  476. package/dist/ionic/p-hNN3VvaC.js +4 -0
  477. package/dist/types/components/datetime/datetime.d.ts +10 -0
  478. package/dist/types/components/header/header.utils.d.ts +2 -1
  479. package/dist/types/components/item/item.d.ts +2 -0
  480. package/dist/types/components/item-divider/item-divider.d.ts +3 -0
  481. package/dist/types/components/item-option/item-option.d.ts +2 -0
  482. package/dist/types/components/list-header/list-header.d.ts +2 -0
  483. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  484. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  485. package/dist/types/components/modal/modal-interface.d.ts +25 -0
  486. package/dist/types/components/modal/modal.d.ts +22 -1
  487. package/dist/types/components/range/range-interface.d.ts +1 -0
  488. package/dist/types/components/range/range.d.ts +44 -4
  489. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  490. package/dist/types/components/refresher/refresher.d.ts +16 -3
  491. package/dist/types/components/segment-view/segment-view.d.ts +4 -0
  492. package/dist/types/components/select/select.d.ts +3 -0
  493. package/dist/types/components/select-modal/select-modal.d.ts +4 -0
  494. package/dist/types/components.d.ts +964 -191
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +126 -14
  497. package/dist/types/utils/gesture/listener.d.ts +2 -1
  498. package/hydrate/index.d.ts +12 -0
  499. package/hydrate/index.js +5632 -1421
  500. package/hydrate/index.mjs +5631 -1422
  501. package/package.json +2 -2
  502. package/components/p-B25GjpND.js +0 -71
  503. package/components/p-BANeLH_G.js +0 -290
  504. package/components/p-BBFQmhcD.js +0 -59
  505. package/components/p-BC-awmYt.js +0 -306
  506. package/components/p-BHbOsu99.js +0 -501
  507. package/components/p-BTlwXR9e.js +0 -73
  508. package/components/p-BcazQttQ.js +0 -612
  509. package/components/p-BdGshsIJ.js +0 -226
  510. package/components/p-BfS7vSpC.js +0 -147
  511. package/components/p-BhRFCLuX.js +0 -675
  512. package/components/p-Bhnhnzjz.js +0 -75
  513. package/components/p-BmcqD0EN.js +0 -153
  514. package/components/p-Boi6hecl.js +0 -115
  515. package/components/p-Bt_moUyl.js +0 -232
  516. package/components/p-Bxl5etF4.js +0 -146
  517. package/components/p-ByjmWt3s.js +0 -139
  518. package/components/p-C04oPyjT.js +0 -54
  519. package/components/p-C6dkQWq2.js +0 -1626
  520. package/components/p-CFZWrvIQ.js +0 -194
  521. package/components/p-CIJwkzL6.js +0 -195
  522. package/components/p-CL12ApCQ.js +0 -820
  523. package/components/p-CXJR56Oq.js +0 -564
  524. package/components/p-Cdm3dKWf.js +0 -108
  525. package/components/p-CslsoGzv.js +0 -192
  526. package/components/p-Cyd00tgZ.js +0 -167
  527. package/components/p-CzAJ3ArC.js +0 -380
  528. package/components/p-CzW34QBh.js +0 -12
  529. package/components/p-D0zXRwcr.js +0 -196
  530. package/components/p-D5hF6rwn.js +0 -339
  531. package/components/p-D8eD2iBA.js +0 -67
  532. package/components/p-DGOrLIyS.js +0 -481
  533. package/components/p-DK2Bn1Mc.js +0 -305
  534. package/components/p-DKRQWlK2.js +0 -598
  535. package/components/p-DNDUsygf.js +0 -128
  536. package/components/p-DTWZF6wg.js +0 -418
  537. package/components/p-DWoUQeZ3.js +0 -3012
  538. package/components/p-DX0w75a9.js +0 -420
  539. package/components/p-Dt8zaCLQ.js +0 -92
  540. package/components/p-DyFBFrV7.js +0 -264
  541. package/components/p-DyHPCMyn.js +0 -39
  542. package/components/p-LgLeKTkH.js +0 -112
  543. package/components/p-NhiRFRn9.js +0 -50
  544. package/components/p-OuiHmXO5.js +0 -646
  545. package/components/p-Wro9IPHE.js +0 -459
  546. package/components/p-aIWC4ZEV.js +0 -305
  547. package/components/p-c-XJ9XhZ.js +0 -915
  548. package/components/p-fVuFT3Wd.js +0 -78
  549. package/components/p-iyo0Toaz.js +0 -2822
  550. package/components/p-l_lso3Zl.js +0 -140
  551. package/components/p-mQp4lwQD.js +0 -1638
  552. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  553. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  554. package/dist/ionic/p-11518b31.entry.js +0 -4
  555. package/dist/ionic/p-221a3d8c.entry.js +0 -4
  556. package/dist/ionic/p-2ac254dc.entry.js +0 -4
  557. package/dist/ionic/p-2bd1ea35.entry.js +0 -4
  558. package/dist/ionic/p-30333874.entry.js +0 -4
  559. package/dist/ionic/p-31db96da.entry.js +0 -4
  560. package/dist/ionic/p-34642fa1.entry.js +0 -4
  561. package/dist/ionic/p-35696017.entry.js +0 -4
  562. package/dist/ionic/p-363d1209.entry.js +0 -4
  563. package/dist/ionic/p-46a38cfd.entry.js +0 -4
  564. package/dist/ionic/p-4eec1a5e.entry.js +0 -4
  565. package/dist/ionic/p-530fcd71.entry.js +0 -4
  566. package/dist/ionic/p-5d6fb6e3.entry.js +0 -4
  567. package/dist/ionic/p-66fbe052.entry.js +0 -4
  568. package/dist/ionic/p-7babec72.entry.js +0 -4
  569. package/dist/ionic/p-82d5bb3d.entry.js +0 -4
  570. package/dist/ionic/p-97eb0812.entry.js +0 -4
  571. package/dist/ionic/p-9b6d46f2.entry.js +0 -4
  572. package/dist/ionic/p-BKc55Xev.js +0 -4
  573. package/dist/ionic/p-Bmgaetn_.js +0 -4
  574. package/dist/ionic/p-C8IsBmNU.js +0 -5
  575. package/dist/ionic/p-CJxh_yLS.js +0 -4
  576. package/dist/ionic/p-DZRJwG4S.js +0 -4
  577. package/dist/ionic/p-a4a9f5ae.entry.js +0 -4
  578. package/dist/ionic/p-b0ebf9f8.entry.js +0 -4
  579. package/dist/ionic/p-be263062.entry.js +0 -4
  580. package/dist/ionic/p-c175d792.entry.js +0 -4
  581. package/dist/ionic/p-cc2a9936.entry.js +0 -4
  582. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  583. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  584. package/dist/ionic/p-e4c57008.entry.js +0 -4
  585. package/dist/ionic/p-e5d6d0f0.entry.js +0 -4
  586. package/dist/ionic/p-f1dfee25.entry.js +0 -4
  587. package/dist/ionic/p-f9f7b9db.entry.js +0 -4
@@ -1,455 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { G as GESTURE_CONTROLLER } from './p-BTEOs1at.js';
5
-
6
- const addEventListener = (el, // TODO(FW-2832): type
7
- eventName, callback, opts) => {
8
- // use event listener options when supported
9
- // otherwise it's just a boolean for the "capture" arg
10
- const listenerOpts = supportsPassive(el)
11
- ? {
12
- capture: false,
13
- passive: !!opts.passive,
14
- }
15
- : false;
16
- let add;
17
- let remove;
18
- if (el['__zone_symbol__addEventListener']) {
19
- add = '__zone_symbol__addEventListener';
20
- remove = '__zone_symbol__removeEventListener';
21
- }
22
- else {
23
- add = 'addEventListener';
24
- remove = 'removeEventListener';
25
- }
26
- el[add](eventName, callback, listenerOpts);
27
- return () => {
28
- el[remove](eventName, callback, listenerOpts);
29
- };
30
- };
31
- const supportsPassive = (node) => {
32
- if (_sPassive === undefined) {
33
- try {
34
- const opts = Object.defineProperty({}, 'passive', {
35
- get: () => {
36
- _sPassive = true;
37
- },
38
- });
39
- node.addEventListener('optsTest', () => {
40
- return;
41
- }, opts);
42
- }
43
- catch (e) {
44
- _sPassive = false;
45
- }
46
- }
47
- return !!_sPassive;
48
- };
49
- let _sPassive;
50
-
51
- const MOUSE_WAIT = 2000;
52
- // TODO(FW-2832): types
53
- const createPointerEvents = (el, pointerDown, pointerMove, pointerUp, options) => {
54
- let rmTouchStart;
55
- let rmTouchMove;
56
- let rmTouchEnd;
57
- let rmTouchCancel;
58
- let rmMouseStart;
59
- let rmMouseMove;
60
- let rmMouseUp;
61
- let lastTouchEvent = 0;
62
- const handleTouchStart = (ev) => {
63
- lastTouchEvent = Date.now() + MOUSE_WAIT;
64
- if (!pointerDown(ev)) {
65
- return;
66
- }
67
- if (!rmTouchMove && pointerMove) {
68
- rmTouchMove = addEventListener(el, 'touchmove', pointerMove, options);
69
- }
70
- /**
71
- * Events are dispatched on the element that is tapped and bubble up to
72
- * the reference element in the gesture. In the event that the element this
73
- * event was first dispatched on is removed from the DOM, the event will no
74
- * longer bubble up to our reference element. This leaves the gesture in an
75
- * unusable state. To account for this, the touchend and touchcancel listeners
76
- * should be added to the event target so that they still fire even if the target
77
- * is removed from the DOM.
78
- */
79
- if (!rmTouchEnd) {
80
- rmTouchEnd = addEventListener(ev.target, 'touchend', handleTouchEnd, options);
81
- }
82
- if (!rmTouchCancel) {
83
- rmTouchCancel = addEventListener(ev.target, 'touchcancel', handleTouchEnd, options);
84
- }
85
- };
86
- const handleMouseDown = (ev) => {
87
- if (lastTouchEvent > Date.now()) {
88
- return;
89
- }
90
- if (!pointerDown(ev)) {
91
- return;
92
- }
93
- if (!rmMouseMove && pointerMove) {
94
- rmMouseMove = addEventListener(getDocument(el), 'mousemove', pointerMove, options);
95
- }
96
- if (!rmMouseUp) {
97
- rmMouseUp = addEventListener(getDocument(el), 'mouseup', handleMouseUp, options);
98
- }
99
- };
100
- const handleTouchEnd = (ev) => {
101
- stopTouch();
102
- if (pointerUp) {
103
- pointerUp(ev);
104
- }
105
- };
106
- const handleMouseUp = (ev) => {
107
- stopMouse();
108
- if (pointerUp) {
109
- pointerUp(ev);
110
- }
111
- };
112
- const stopTouch = () => {
113
- if (rmTouchMove) {
114
- rmTouchMove();
115
- }
116
- if (rmTouchEnd) {
117
- rmTouchEnd();
118
- }
119
- if (rmTouchCancel) {
120
- rmTouchCancel();
121
- }
122
- rmTouchMove = rmTouchEnd = rmTouchCancel = undefined;
123
- };
124
- const stopMouse = () => {
125
- if (rmMouseMove) {
126
- rmMouseMove();
127
- }
128
- if (rmMouseUp) {
129
- rmMouseUp();
130
- }
131
- rmMouseMove = rmMouseUp = undefined;
132
- };
133
- const stop = () => {
134
- stopTouch();
135
- stopMouse();
136
- };
137
- const enable = (isEnabled = true) => {
138
- if (!isEnabled) {
139
- if (rmTouchStart) {
140
- rmTouchStart();
141
- }
142
- if (rmMouseStart) {
143
- rmMouseStart();
144
- }
145
- rmTouchStart = rmMouseStart = undefined;
146
- stop();
147
- }
148
- else {
149
- if (!rmTouchStart) {
150
- rmTouchStart = addEventListener(el, 'touchstart', handleTouchStart, options);
151
- }
152
- if (!rmMouseStart) {
153
- rmMouseStart = addEventListener(el, 'mousedown', handleMouseDown, options);
154
- }
155
- }
156
- };
157
- const destroy = () => {
158
- enable(false);
159
- pointerUp = pointerMove = pointerDown = undefined;
160
- };
161
- return {
162
- enable,
163
- stop,
164
- destroy,
165
- };
166
- };
167
- const getDocument = (node) => {
168
- return node instanceof Document ? node : node.ownerDocument;
169
- };
170
-
171
- const createPanRecognizer = (direction, thresh, maxAngle) => {
172
- const radians = maxAngle * (Math.PI / 180);
173
- const isDirX = direction === 'x';
174
- const maxCosine = Math.cos(radians);
175
- const threshold = thresh * thresh;
176
- let startX = 0;
177
- let startY = 0;
178
- let dirty = false;
179
- let isPan = 0;
180
- return {
181
- start(x, y) {
182
- startX = x;
183
- startY = y;
184
- isPan = 0;
185
- dirty = true;
186
- },
187
- detect(x, y) {
188
- if (!dirty) {
189
- return false;
190
- }
191
- const deltaX = x - startX;
192
- const deltaY = y - startY;
193
- const distance = deltaX * deltaX + deltaY * deltaY;
194
- if (distance < threshold) {
195
- return false;
196
- }
197
- const hypotenuse = Math.sqrt(distance);
198
- const cosine = (isDirX ? deltaX : deltaY) / hypotenuse;
199
- if (cosine > maxCosine) {
200
- isPan = 1;
201
- }
202
- else if (cosine < -maxCosine) {
203
- isPan = -1;
204
- }
205
- else {
206
- isPan = 0;
207
- }
208
- dirty = false;
209
- return true;
210
- },
211
- isGesture() {
212
- return isPan !== 0;
213
- },
214
- getDirection() {
215
- return isPan;
216
- },
217
- };
218
- };
219
-
220
- // TODO(FW-2832): types
221
- const createGesture = (config) => {
222
- let hasCapturedPan = false;
223
- let hasStartedPan = false;
224
- let hasFiredStart = true;
225
- let isMoveQueued = false;
226
- const finalConfig = Object.assign({ disableScroll: false, direction: 'x', gesturePriority: 0, passive: true, maxAngle: 40, threshold: 10 }, config);
227
- const canStart = finalConfig.canStart;
228
- const onWillStart = finalConfig.onWillStart;
229
- const onStart = finalConfig.onStart;
230
- const onEnd = finalConfig.onEnd;
231
- const notCaptured = finalConfig.notCaptured;
232
- const onMove = finalConfig.onMove;
233
- const threshold = finalConfig.threshold;
234
- const passive = finalConfig.passive;
235
- const blurOnStart = finalConfig.blurOnStart;
236
- const detail = {
237
- type: 'pan',
238
- startX: 0,
239
- startY: 0,
240
- startTime: 0,
241
- currentX: 0,
242
- currentY: 0,
243
- velocityX: 0,
244
- velocityY: 0,
245
- deltaX: 0,
246
- deltaY: 0,
247
- currentTime: 0,
248
- event: undefined,
249
- data: undefined,
250
- };
251
- const pan = createPanRecognizer(finalConfig.direction, finalConfig.threshold, finalConfig.maxAngle);
252
- const gesture = GESTURE_CONTROLLER.createGesture({
253
- name: config.gestureName,
254
- priority: config.gesturePriority,
255
- disableScroll: config.disableScroll,
256
- });
257
- const pointerDown = (ev) => {
258
- const timeStamp = now(ev);
259
- if (hasStartedPan || !hasFiredStart) {
260
- return false;
261
- }
262
- updateDetail(ev, detail);
263
- detail.startX = detail.currentX;
264
- detail.startY = detail.currentY;
265
- detail.startTime = detail.currentTime = timeStamp;
266
- detail.velocityX = detail.velocityY = detail.deltaX = detail.deltaY = 0;
267
- detail.event = ev;
268
- // Check if gesture can start
269
- if (canStart && canStart(detail) === false) {
270
- return false;
271
- }
272
- // Release fallback
273
- gesture.release();
274
- // Start gesture
275
- if (!gesture.start()) {
276
- return false;
277
- }
278
- hasStartedPan = true;
279
- if (threshold === 0) {
280
- return tryToCapturePan();
281
- }
282
- pan.start(detail.startX, detail.startY);
283
- return true;
284
- };
285
- const pointerMove = (ev) => {
286
- // fast path, if gesture is currently captured
287
- // do minimum job to get user-land even dispatched
288
- if (hasCapturedPan) {
289
- if (!isMoveQueued && hasFiredStart) {
290
- isMoveQueued = true;
291
- calcGestureData(detail, ev);
292
- requestAnimationFrame(fireOnMove);
293
- }
294
- return;
295
- }
296
- // gesture is currently being detected
297
- calcGestureData(detail, ev);
298
- if (pan.detect(detail.currentX, detail.currentY)) {
299
- if (!pan.isGesture() || !tryToCapturePan()) {
300
- abortGesture();
301
- }
302
- }
303
- };
304
- const fireOnMove = () => {
305
- // Since fireOnMove is called inside a RAF, onEnd() might be called,
306
- // we must double check hasCapturedPan
307
- if (!hasCapturedPan) {
308
- return;
309
- }
310
- isMoveQueued = false;
311
- if (onMove) {
312
- onMove(detail);
313
- }
314
- };
315
- const tryToCapturePan = () => {
316
- if (!gesture.capture()) {
317
- return false;
318
- }
319
- hasCapturedPan = true;
320
- hasFiredStart = false;
321
- // reset start position since the real user-land event starts here
322
- // If the pan detector threshold is big, not resetting the start position
323
- // will cause a jump in the animation equal to the detector threshold.
324
- // the array of positions used to calculate the gesture velocity does not
325
- // need to be cleaned, more points in the positions array always results in a
326
- // more accurate value of the velocity.
327
- detail.startX = detail.currentX;
328
- detail.startY = detail.currentY;
329
- detail.startTime = detail.currentTime;
330
- if (onWillStart) {
331
- onWillStart(detail).then(fireOnStart);
332
- }
333
- else {
334
- fireOnStart();
335
- }
336
- return true;
337
- };
338
- const blurActiveElement = () => {
339
- if (typeof document !== 'undefined') {
340
- const activeElement = document.activeElement;
341
- if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) {
342
- activeElement.blur();
343
- }
344
- }
345
- };
346
- const fireOnStart = () => {
347
- if (blurOnStart) {
348
- blurActiveElement();
349
- }
350
- if (onStart) {
351
- onStart(detail);
352
- }
353
- hasFiredStart = true;
354
- };
355
- const reset = () => {
356
- hasCapturedPan = false;
357
- hasStartedPan = false;
358
- isMoveQueued = false;
359
- hasFiredStart = true;
360
- gesture.release();
361
- };
362
- // END *************************
363
- const pointerUp = (ev) => {
364
- const tmpHasCaptured = hasCapturedPan;
365
- const tmpHasFiredStart = hasFiredStart;
366
- reset();
367
- if (!tmpHasFiredStart) {
368
- return;
369
- }
370
- calcGestureData(detail, ev);
371
- // Try to capture press
372
- if (tmpHasCaptured) {
373
- if (onEnd) {
374
- onEnd(detail);
375
- }
376
- return;
377
- }
378
- // Not captured any event
379
- if (notCaptured) {
380
- notCaptured(detail);
381
- }
382
- };
383
- const pointerEvents = createPointerEvents(finalConfig.el, pointerDown, pointerMove, pointerUp, {
384
- passive,
385
- });
386
- const abortGesture = () => {
387
- reset();
388
- pointerEvents.stop();
389
- if (notCaptured) {
390
- notCaptured(detail);
391
- }
392
- };
393
- return {
394
- enable(enable = true) {
395
- if (!enable) {
396
- if (hasCapturedPan) {
397
- pointerUp(undefined);
398
- }
399
- reset();
400
- }
401
- pointerEvents.enable(enable);
402
- },
403
- destroy() {
404
- gesture.destroy();
405
- pointerEvents.destroy();
406
- },
407
- };
408
- };
409
- const calcGestureData = (detail, ev) => {
410
- if (!ev) {
411
- return;
412
- }
413
- const prevX = detail.currentX;
414
- const prevY = detail.currentY;
415
- const prevT = detail.currentTime;
416
- updateDetail(ev, detail);
417
- const currentX = detail.currentX;
418
- const currentY = detail.currentY;
419
- const timestamp = (detail.currentTime = now(ev));
420
- const timeDelta = timestamp - prevT;
421
- if (timeDelta > 0 && timeDelta < 100) {
422
- const velocityX = (currentX - prevX) / timeDelta;
423
- const velocityY = (currentY - prevY) / timeDelta;
424
- detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;
425
- detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;
426
- }
427
- detail.deltaX = currentX - detail.startX;
428
- detail.deltaY = currentY - detail.startY;
429
- detail.event = ev;
430
- };
431
- const updateDetail = (ev, detail) => {
432
- // get X coordinates for either a mouse click
433
- // or a touch depending on the given event
434
- let x = 0;
435
- let y = 0;
436
- if (ev) {
437
- const changedTouches = ev.changedTouches;
438
- if (changedTouches && changedTouches.length > 0) {
439
- const touch = changedTouches[0];
440
- x = touch.clientX;
441
- y = touch.clientY;
442
- }
443
- else if (ev.pageX !== undefined) {
444
- x = ev.pageX;
445
- y = ev.pageY;
446
- }
447
- }
448
- detail.currentX = x;
449
- detail.currentY = y;
450
- };
451
- const now = (ev) => {
452
- return ev.timeStamp || Date.now();
453
- };
454
-
455
- export { GESTURE_CONTROLLER, createGesture };
4
+ import{G as t}from"./p-BTEOs1at.js";const e=(t,e,n,r)=>{const s=!!o(t)&&{capture:!1,passive:!!r.passive};let i,c;return t.__zone_symbol__addEventListener?(i="__zone_symbol__addEventListener",c="__zone_symbol__removeEventListener"):(i="addEventListener",c="removeEventListener"),t[i](e,n,s),()=>{t[c](e,n,s)}},o=t=>{if(void 0===n)try{const e=Object.defineProperty({},"passive",{get:()=>{n=!0}});t.addEventListener("optsTest",(()=>{}),e)}catch(t){n=!1}return!!n};let n;const r=t=>t instanceof Document?t:t.ownerDocument,s=o=>{let n=!1,s=!1,d=!0,u=!1;const l=Object.assign({disableScroll:!1,direction:"x",gesturePriority:0,passive:!0,maxAngle:40,threshold:10},o),v=l.canStart,m=l.onWillStart,p=l.onStart,f=l.onEnd,y=l.notCaptured,h=l.onMove,_=l.threshold,b=l.passive,D=l.blurOnStart,E={type:"pan",startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,event:void 0,data:void 0},g=((t,e,o)=>{const n=o*(Math.PI/180),r="x"===t,s=Math.cos(n),i=e*e;let c=0,a=0,d=!1,u=0;return{start(t,e){c=t,a=e,u=0,d=!0},detect(t,e){if(!d)return!1;const o=t-c,n=e-a,l=o*o+n*n;if(l<i)return!1;const v=Math.sqrt(l),m=(r?o:n)/v;return u=m>s?1:m<-s?-1:0,d=!1,!0},isGesture:()=>0!==u,getDirection:()=>u}})(l.direction,l.threshold,l.maxAngle),x=t.createGesture({name:o.gestureName,priority:o.gesturePriority,disableScroll:o.disableScroll}),L=()=>{n&&(u=!1,h&&h(E))},T=()=>!!x.capture()&&(n=!0,d=!1,E.startX=E.currentX,E.startY=E.currentY,E.startTime=E.currentTime,m?m(E).then(X):X(),!0),X=()=>{D&&(()=>{if("undefined"!=typeof document){const t=document.activeElement;(null==t?void 0:t.blur)&&t.blur()}})(),p&&p(E),d=!0},Y=()=>{n=!1,s=!1,u=!1,d=!0,x.release()},j=t=>{const e=n,o=d;Y(),o&&(i(E,t),e?f&&f(E):y&&y(E))},M=((t,o,n,s,i)=>{let c,a,d,u,l,v,m,p=0;const f=r=>{p=Date.now()+2e3,o(r)&&(!a&&n&&(a=e(t,"touchmove",n,i)),d||(d=e(r.target,"touchend",h,i)),u||(u=e(r.target,"touchcancel",h,i)))},y=s=>{p>Date.now()||o(s)&&(!v&&n&&(v=e(r(t),"mousemove",n,i)),m||(m=e(r(t),"mouseup",_,i)))},h=t=>{b(),s&&s(t)},_=t=>{D(),s&&s(t)},b=()=>{a&&a(),d&&d(),u&&u(),a=d=u=void 0},D=()=>{v&&v(),m&&m(),v=m=void 0},E=()=>{b(),D()},g=(o=!0)=>{o?(c||(c=e(t,"touchstart",f,i)),l||(l=e(t,"mousedown",y,i))):(c&&c(),l&&l(),c=l=void 0,E())};return{enable:g,stop:E,destroy:()=>{g(!1),s=n=o=void 0}}})(l.el,(t=>{const e=a(t);return!(s||!d)&&(c(t,E),E.startX=E.currentX,E.startY=E.currentY,E.startTime=E.currentTime=e,E.velocityX=E.velocityY=E.deltaX=E.deltaY=0,E.event=t,(!v||!1!==v(E))&&(x.release(),!!x.start()&&(s=!0,0===_?T():(g.start(E.startX,E.startY),!0))))}),(t=>{n?!u&&d&&(u=!0,i(E,t),requestAnimationFrame(L)):(i(E,t),g.detect(E.currentX,E.currentY)&&(g.isGesture()&&T()||O()))}),j,{passive:b}),O=()=>{Y(),M.stop(),y&&y(E)};return{enable(t=!0){t||(n&&j(void 0),Y()),M.enable(t)},destroy(){x.destroy(),M.destroy()}}},i=(t,e)=>{if(!e)return;const o=t.currentX,n=t.currentY,r=t.currentTime;c(e,t);const s=t.currentX,i=t.currentY,d=(t.currentTime=a(e))-r;if(d>0&&d<100){const e=(i-n)/d;t.velocityX=(s-o)/d*.7+.3*t.velocityX,t.velocityY=.7*e+.3*t.velocityY}t.deltaX=s-t.startX,t.deltaY=i-t.startY,t.event=e},c=(t,e)=>{let o=0,n=0;if(t){const e=t.changedTouches;if(e&&e.length>0){const t=e[0];o=t.clientX,n=t.clientY}else void 0!==t.pageX&&(o=t.pageX,n=t.pageY)}e.currentX=o,e.currentY=n},a=t=>t.timeStamp||Date.now();export{t as GESTURE_CONTROLLER,s as createGesture}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{k as o,w as s}from"./p-BJoMtgfR.js";import{a as t,s as r}from"./p-C59ryAuS.js";import{c as a}from"./p-DgbT0exM.js";const n=()=>{const n=window;n.addEventListener("statusTap",(()=>{o((()=>{const o=document.elementFromPoint(n.innerWidth/2,n.innerHeight/2);if(!o)return;const e=t(o);e&&new Promise((o=>a(e,o))).then((()=>{s((async()=>{e.style.setProperty("--overflow","hidden"),await r(e,300),e.style.removeProperty("--overflow")}))}))}))}))};export{n as startStatusTap}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{p as o,H as t,e as a,h as s,t as r,d as n}from"./p-BJoMtgfR.js";import{b as i}from"./p-CDfQnFrd.js";const e=o(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.ionBackdropTap=a(this,"ionBackdropTap",7),this.visible=!0,this.tappable=!0,this.stopPropagation=!0}onMouseDown(o){this.emitTap(o)}emitTap(o){this.stopPropagation&&(o.preventDefault(),o.stopPropagation()),this.tappable&&this.ionBackdropTap.emit()}render(){const o=i(this);return s(n,{key:"7abaf2c310aa399607451b14063265e8a5846938","aria-hidden":"true",class:{[o]:!0,"backdrop-hide":!this.visible,"backdrop-no-tappable":!this.tappable}})}static get style(){return{ios:":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}",md:":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}"}}},[33,"ion-backdrop",{visible:[4],tappable:[4],stopPropagation:[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]);function c(){"undefined"!=typeof customElements&&["ion-backdrop"].forEach((o=>{"ion-backdrop"===o&&(customElements.get(r(o))||customElements.define(r(o),e))}))}export{e as B,c as d}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{d as n}from"./p-ZjP4CjeZ.js";import{n as o,c as e,f as t,m as i,g as a}from"./p-CTfR9YZG.js";import{OVERLAY_BACK_BUTTON_PRIORITY as r,shouldUseCloseWatcher as s}from"./p-B0q1YL7N.js";import{e as d,j as l,f as c}from"./p-C8IsBmNU.js";import{b as u}from"./p-BFvmZNyx.js";import{C as m}from"./p-D-eFFUkA.js";import{B as p}from"./p-BTEOs1at.js";const v='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',f=(n,o)=>{const e=n.querySelector(v);b(e,null!=o?o:n)},h=(n,o)=>{const e=Array.from(n.querySelectorAll(v));b(e.length>0?e[e.length-1]:null,null!=o?o:n)},b=(n,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;if(i&&(t=i.querySelector(v)||n),t){const n=t.closest("ion-radio-group");n?n.setFocus():o(t)}else e.focus()};let y=0,w=0;const g=new WeakMap,O=n=>{var o;return!1!==n.showBackdrop&&!((null!==(o=n.backdropBreakpoint)&&void 0!==o?o:0)>0)},T=n=>({create:o=>S(n,o),dismiss:(o,e,t)=>Z(document,o,e,n,t),getTop:async()=>G(document,n)}),k=T("ion-alert"),x=T("ion-action-sheet"),j=T("ion-loading"),A=T("ion-modal"),C=T("ion-picker-legacy"),N=T("ion-popover"),B=T("ion-toast"),I=n=>{"undefined"!=typeof document&&P(document);const o=y++;n.overlayIndex=o},D=n=>(n.hasAttribute("id")||(n.id="ion-overlay-"+ ++w),n.id),S=(n,o)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(n).then((()=>{const t=document.createElement(n);return t.classList.add("overlay-hidden"),Object.assign(t,Object.assign(Object.assign({},o),{hasController:!0})),U(document).appendChild(t),new Promise((n=>e(t,n)))})):Promise.resolve(),F=(n,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;i&&(t=i.querySelector(v)||n),t?o(t):e.focus()},P=n=>{0===y&&(y=1,n.addEventListener("focus",(o=>{((n,o)=>{const e=G(o,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=n.target;e&&t&&(e.classList.contains(nn)||(e.shadowRoot?(()=>{if(e.contains(t))e.lastFocus=t;else if("ION-TOAST"===t.tagName)F(e.lastFocus,e);else{const n=e.lastFocus;f(e),n===o.activeElement&&h(e),e.lastFocus=o.activeElement}})():(()=>{if(e===t)e.lastFocus=void 0;else if("ION-TOAST"===t.tagName)F(e.lastFocus,e);else{const n=a(e);if(!n.contains(t))return;const i=n.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(t)||t===n.querySelector("ion-backdrop"))e.lastFocus=t;else{const n=e.lastFocus;f(i,e),n===o.activeElement&&h(i,e),e.lastFocus=o.activeElement}}})()))})(o,n)}),!0),n.addEventListener("ionBackButton",(o=>{const e=G(n);(null==e?void 0:e.backdropDismiss)&&o.detail.register(r,(()=>{e.dismiss(void 0,H)}))})),s()||n.addEventListener("keydown",(o=>{if("Escape"===o.key){const o=G(n);(null==o?void 0:o.backdropDismiss)&&o.dismiss(void 0,H)}})))},Z=(n,o,e,t,i)=>{const a=G(n,t,i);return a?a.dismiss(o,e):Promise.reject("overlay does not exist")},E=(n,o)=>((n,o)=>(void 0===o&&(o="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"),Array.from(n.querySelectorAll(o)).filter((n=>n.overlayIndex>0))))(n,o).filter((n=>!n.classList.contains("overlay-hidden"))),G=(n,o,e)=>{const t=E(n,o);return(void 0===e?t:t.filter((n=>n.id===e))).slice(-1)[0]},L=(n=!1)=>{const o=U(document).querySelector("ion-router-outlet, #ion-view-container-root");o&&(n?o.setAttribute("aria-hidden","true"):o.removeAttribute("aria-hidden"))},M=async(n,o,e,t,i)=>{var a,r;if(n.presented)return;"ION-TOAST"!==n.el.tagName&&$(n.el);const s=n.el,l="ION-TOAST"!==s.tagName&&!1!==s.focusTrap&&O(s);if(n.presented=!0,n.willPresent.emit(),l){const n=U(document).querySelector("ion-router-outlet, #ion-view-container-root");!!n&&n.contains(s)||L(!0),document.body.classList.add(p)}null===(a=n.willPresentShorthand)||void 0===a||a.emit();const c=u(n),m=n.enterAnimation?n.enterAnimation:d.get(o,"ios"===c?e:t);await V(n,m,n.el,i)&&(n.didPresent.emit(),null===(r=n.didPresentShorthand)||void 0===r||r.emit()),!n.keyboardClose||null!==document.activeElement&&n.el.contains(document.activeElement)||n.el.focus(),n.el.removeAttribute("aria-hidden"),n.el.removeAttribute("inert")},$=async n=>{let o=document.activeElement;if(!o)return;o.blur();const e=null==o?void 0:o.shadowRoot;e&&(o=e.querySelector(v)||o),await n.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||o.focus()},q=async(o,e,t,i,a,r,s)=>{var c,m;if(!o.presented)return!1;const v=(void 0!==n?E(n):[]).filter((n=>"ION-TOAST"!==n.tagName&&!1!==n.focusTrap&&O(n))),f=o.el;"ION-TOAST"!==f.tagName&&!1!==f.focusTrap&&O(f)&&1===v.length&&v[0].id===f.id&&(L(!1),document.body.classList.remove(p)),o.presented=!1;try{o.el.style.setProperty("pointer-events","none"),o.willDismiss.emit({data:e,role:t}),null===(c=o.willDismissShorthand)||void 0===c||c.emit({data:e,role:t});const n=u(o),l=o.leaveAnimation?o.leaveAnimation:d.get(i,"ios"===n?a:r);t!==J&&await V(o,l,o.el,s),o.didDismiss.emit({data:e,role:t}),null===(m=o.didDismissShorthand)||void 0===m||m.emit({data:e,role:t}),(g.get(o)||[]).forEach((n=>n.destroy())),g.delete(o),o.el.classList.add("overlay-hidden"),o.el.style.removeProperty("pointer-events"),void 0!==o.el.lastFocus&&(o.el.lastFocus=void 0)}catch(n){l(`[${o.el.tagName.toLowerCase()}] - `,n)}return o.el.remove(),!0},U=n=>n.querySelector("ion-app")||n.body,V=async(n,o,e,t)=>{e.classList.remove("overlay-hidden");const i=o(n.el,t);n.animated&&d.getBoolean("animated",!0)||i.duration(0),n.keyboardClose&&i.beforeAddWrite((()=>{const n=e.ownerDocument.activeElement;(null==n?void 0:n.matches("input,ion-input, ion-textarea"))&&n.blur()}));const a=g.get(n)||[];return g.set(n,[...a,i]),await i.play(),!0},Y=(n,o)=>{let e;const t=new Promise((n=>e=n));return z(n,o,(n=>{e(n.detail)})),t},z=(n,o,e)=>{const a=t=>{i(n,o,a),e(t)};t(n,o,a)},R=n=>"cancel"===n||n===H,W=n=>n(),_=(n,o)=>{if("function"==typeof n)return d.get("_zoneGate",W)((()=>{try{return n(o)}catch(n){throw n}}))},H="backdrop",J="gesture",K=39,Q=n=>{let o,e=!1;const t=m(),i=(i=!1)=>{if(o&&!i)return{delegate:o,inline:e};const{el:a,hasController:r,delegate:s}=n;return e=null!==a.parentNode&&!r,o=e?s||t:s,{inline:e,delegate:o}};return{attachViewToDom:async o=>{const{delegate:e}=i(!0);if(e)return await e.attachViewToDom(n.el,o);const{hasController:t}=n;if(t&&void 0!==o)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:o}=i();o&&void 0!==n.el&&o.removeViewFromDom(n.el.parentElement,n.el)}}},X=()=>{let n;const o=()=>{n&&(n(),n=void 0)};return{addClickListener:(e,t)=>{o();const i=void 0!==t?document.getElementById(t):null;i?n=((n,o)=>{const e=()=>{o.present()};return n.addEventListener("click",e),()=>{n.removeEventListener("click",e)}})(i,e):c(`[${e.tagName.toLowerCase()}] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`,e)},removeClickListener:o}},nn="ion-disable-focus-trap";export{H as B,nn as F,J as G,K as O,k as a,x as b,N as c,Q as d,X as e,M as f,q as g,Y as h,R as i,I as j,D as k,j as l,A as m,f as n,G as o,C as p,h as q,_ as s,B as t}
4
+ import{d as n}from"./p-ZjP4CjeZ.js";import{h as o,c as e,a as t,b as i,g as a}from"./p-DgbT0exM.js";import{OVERLAY_BACK_BUTTON_PRIORITY as r,shouldUseCloseWatcher as d}from"./p-vEbVo2hO.js";import{c as s,j as l,f as c}from"./p-BJoMtgfR.js";import{b as u}from"./p-CDfQnFrd.js";import{C as m}from"./p-BR3tZJmu.js";import{B as p}from"./p-BTEOs1at.js";const v='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',f=(n,o)=>{const e=n.querySelector(v);b(e,null!=o?o:n)},h=(n,o)=>{const e=Array.from(n.querySelectorAll(v));b(e.length>0?e[e.length-1]:null,null!=o?o:n)},b=(n,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;if(i&&(t=i.querySelector(v)||n),t){const n=t.closest("ion-radio-group");n?n.setFocus():o(t)}else e.focus()};let w=0,y=0;const g=new WeakMap,O=n=>{var o;return!1!==n.showBackdrop&&!((null!==(o=n.backdropBreakpoint)&&void 0!==o?o:0)>0)},T=n=>({create:o=>S(n,o),dismiss:(o,e,t)=>E(document,o,e,n,t),getTop:async()=>V(document,n)}),x=T("ion-alert"),k=T("ion-action-sheet"),j=T("ion-loading"),A=T("ion-modal"),C=T("ion-picker-legacy"),B=T("ion-popover"),D=T("ion-toast"),I=n=>{"undefined"!=typeof document&&P(document);const o=w++;n.overlayIndex=o},N=n=>(n.hasAttribute("id")||(n.id="ion-overlay-"+ ++y),n.id),S=(n,o)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(n).then((()=>{const t=document.createElement(n);return t.classList.add("overlay-hidden"),Object.assign(t,Object.assign(Object.assign({},o),{hasController:!0})),L(document).appendChild(t),new Promise((n=>e(t,n)))})):Promise.resolve(),M=(n,e)=>{let t=n;const i=null==n?void 0:n.shadowRoot;i&&(t=i.querySelector(v)||n),t?o(t):e.focus()},P=n=>{0===w&&(w=1,n.addEventListener("focus",(o=>{((n,o)=>{const e=V(o,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=n.target;e&&t&&(e.classList.contains(nn)||(e.shadowRoot?(()=>{if(e.contains(t))e.lastFocus=t;else if("ION-TOAST"===t.tagName)M(e.lastFocus,e);else{const n=e.lastFocus;f(e),n===o.activeElement&&h(e),e.lastFocus=o.activeElement}})():(()=>{if(e===t)e.lastFocus=void 0;else if("ION-TOAST"===t.tagName)M(e.lastFocus,e);else{const n=a(e);if(!n.contains(t))return;const i=n.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(t)||t===n.querySelector("ion-backdrop"))e.lastFocus=t;else{const n=e.lastFocus;f(i,e),n===o.activeElement&&h(i,e),e.lastFocus=o.activeElement}}})()))})(o,n)}),!0),n.addEventListener("ionBackButton",(o=>{const e=V(n);(null==e?void 0:e.backdropDismiss)&&o.detail.register(r,(()=>{e.dismiss(void 0,H)}))})),d()||n.addEventListener("keydown",(o=>{if("Escape"===o.key){const o=V(n);(null==o?void 0:o.backdropDismiss)&&o.dismiss(void 0,H)}})))},E=(n,o,e,t,i)=>{const a=V(n,t,i);return a?a.dismiss(o,e):Promise.reject("overlay does not exist")},F=(n,o)=>((n,o)=>(void 0===o&&(o="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"),Array.from(n.querySelectorAll(o)).filter((n=>n.overlayIndex>0))))(n,o).filter((n=>!n.classList.contains("overlay-hidden"))),V=(n,o,e)=>{const t=F(n,o);return(void 0===e?t:t.filter((n=>n.id===e))).slice(-1)[0]},Z=(n=!1)=>{const o=L(document).querySelector("ion-router-outlet, #ion-view-container-root");o&&(n?o.setAttribute("aria-hidden","true"):o.removeAttribute("aria-hidden"))},$=async(n,o,e,t,i)=>{var a,r;if(n.presented)return;"ION-TOAST"!==n.el.tagName&&G(n.el);const d=n.el,l="ION-TOAST"!==d.tagName&&!1!==d.focusTrap&&O(d);if(n.presented=!0,n.willPresent.emit(),l){const n=L(document).querySelector("ion-router-outlet, #ion-view-container-root");!!n&&n.contains(d)||Z(!0),document.body.classList.add(p)}null===(a=n.willPresentShorthand)||void 0===a||a.emit();const c=u(n),m=n.enterAnimation?n.enterAnimation:s.get(o,"ios"===c?e:t);await R(n,m,n.el,i)&&(n.didPresent.emit(),null===(r=n.didPresentShorthand)||void 0===r||r.emit()),!n.keyboardClose||null!==document.activeElement&&n.el.contains(document.activeElement)||n.el.focus(),n.el.removeAttribute("aria-hidden"),n.el.removeAttribute("inert")},G=async n=>{let o=document.activeElement;if(!o)return;o.blur();const e=null==o?void 0:o.shadowRoot;e&&(o=e.querySelector(v)||o),await n.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||o.focus()},J=async(o,e,t,i,a,r,d)=>{var c,m;if(!o.presented)return!1;const v=(void 0!==n?F(n):[]).filter((n=>"ION-TOAST"!==n.tagName&&!1!==n.focusTrap&&O(n))),f=o.el;"ION-TOAST"!==f.tagName&&!1!==f.focusTrap&&O(f)&&1===v.length&&v[0].id===f.id&&(Z(!1),document.body.classList.remove(p)),o.presented=!1;try{o.el.style.setProperty("pointer-events","none"),o.willDismiss.emit({data:e,role:t}),null===(c=o.willDismissShorthand)||void 0===c||c.emit({data:e,role:t});const n=u(o),l=o.leaveAnimation?o.leaveAnimation:s.get(i,"ios"===n?a:r);t!==K&&await R(o,l,o.el,d),o.didDismiss.emit({data:e,role:t}),null===(m=o.didDismissShorthand)||void 0===m||m.emit({data:e,role:t}),(g.get(o)||[]).forEach((n=>n.destroy())),g.delete(o),o.el.classList.add("overlay-hidden"),o.el.style.removeProperty("pointer-events"),void 0!==o.el.lastFocus&&(o.el.lastFocus=void 0)}catch(n){l(`[${o.el.tagName.toLowerCase()}] - `,n)}return o.el.remove(),!0},L=n=>n.querySelector("ion-app")||n.body,R=async(n,o,e,t)=>{e.classList.remove("overlay-hidden");const i=o(n.el,t);n.animated&&s.getBoolean("animated",!0)||i.duration(0),n.keyboardClose&&i.beforeAddWrite((()=>{const n=e.ownerDocument.activeElement;(null==n?void 0:n.matches("input,ion-input, ion-textarea"))&&n.blur()}));const a=g.get(n)||[];return g.set(n,[...a,i]),await i.play(),!0},q=(n,o)=>{let e;const t=new Promise((n=>e=n));return z(n,o,(n=>{e(n.detail)})),t},z=(n,o,e)=>{const a=t=>{i(n,o,a),e(t)};t(n,o,a)},Q=n=>"cancel"===n||n===H,W=n=>n(),_=(n,o)=>{if("function"==typeof n)return s.get("_zoneGate",W)((()=>{try{return n(o)}catch(n){throw n}}))},H="backdrop",K="gesture",U=39,X=n=>{let o,e=!1;const t=m(),i=(i=!1)=>{if(o&&!i)return{delegate:o,inline:e};const{el:a,hasController:r,delegate:d}=n;return e=null!==a.parentNode&&!r,o=e?d||t:d,{inline:e,delegate:o}};return{attachViewToDom:async o=>{const{delegate:e}=i(!0);if(e)return await e.attachViewToDom(n.el,o);const{hasController:t}=n;if(t&&void 0!==o)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:o}=i();o&&void 0!==n.el&&o.removeViewFromDom(n.el.parentElement,n.el)}}},Y=()=>{let n;const o=()=>{n&&(n(),n=void 0)};return{addClickListener:(e,t)=>{o();const i=void 0!==t?document.getElementById(t):null;i?n=((n,o)=>{const e=()=>{o.present()};return n.addEventListener("click",e),()=>{n.removeEventListener("click",e)}})(i,e):c(`[${e.tagName.toLowerCase()}] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`,e)},removeClickListener:o}},nn="ion-disable-focus-trap";export{H as B,nn as F,K as G,U as O,x as a,k as b,B as c,X as d,Y as e,$ as f,J as g,q as h,Q as i,I as j,N as k,j as l,A as m,f as n,V as o,C as p,h as q,_ as s,D as t}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{j as e}from"./p-BJoMtgfR.js";import{w as o}from"./p-ZjP4CjeZ.js";let t;const i=(e,o,i)=>{const n=o.startsWith("animation")?(r=e,void 0===t&&(t=void 0===r.style.animationName&&void 0!==r.style.webkitAnimationName?"-webkit-":""),t):"";var r;e.style.setProperty(n+o,i)},n=(e=[],o)=>{if(void 0!==o){const t=Array.isArray(o)?o:[o];return[...e,...t]}return e},r=t=>{let r,a,s,d,l,f,c,v,m,u,p,y=[],g=[],A=[],b=!1,C={},E=[],h=[],R={},S=0,j=!1,k=!1,w=!0,T=!1,D=!0,F=!1;const M=t,W=[],I=[],K=[],P=[],Z=[],x=[],B=[],J=[],q=[],z=[],G=[],H="function"==typeof AnimationEffect||void 0!==o&&"function"==typeof o.AnimationEffect,L="function"==typeof Element&&"function"==typeof Element.prototype.animate&&H,N=()=>G,O=(e,o)=>{const t=o.findIndex((o=>o.c===e));t>-1&&o.splice(t,1)},Q=(e,o)=>(((null==o?void 0:o.oneTimeCallback)?I:W).push({c:e,o}),p),U=()=>{L&&(G.forEach((e=>{e.cancel()})),G.length=0)},V=()=>{x.forEach((e=>{(null==e?void 0:e.parentNode)&&e.parentNode.removeChild(e)})),x.length=0},X=()=>void 0!==l?l:c?c.getFill():"both",Y=()=>void 0!==v?v:void 0!==f?f:c?c.getDirection():"normal",$=()=>j?"linear":void 0!==s?s:c?c.getEasing():"linear",_=()=>k?0:void 0!==m?m:void 0!==a?a:c?c.getDuration():0,ee=()=>void 0!==d?d:c?c.getIterations():1,oe=()=>void 0!==u?u:void 0!==r?r:c?c.getDelay():0,te=()=>{0!==S&&(S--,0===S&&((()=>{q.forEach((e=>e())),z.forEach((e=>e()));const e=w?1:0,o=E,t=h,n=R;P.forEach((e=>{const r=e.classList;o.forEach((e=>r.add(e))),t.forEach((e=>r.remove(e)));for(const o in n)n.hasOwnProperty(o)&&i(e,o,n[o])})),m=void 0,v=void 0,u=void 0,W.forEach((o=>o.c(e,p))),I.forEach((o=>o.c(e,p))),I.length=0,D=!0,w&&(T=!0),w=!0})(),c&&c.animationFinish()))},ie=()=>{(()=>{B.forEach((e=>e())),J.forEach((e=>e()));const e=g,o=A,t=C;P.forEach((n=>{const r=n.classList;e.forEach((e=>r.add(e))),o.forEach((e=>r.remove(e)));for(const e in t)t.hasOwnProperty(e)&&i(n,e,t[e])}))})(),y.length>0&&L&&(P.forEach((e=>{const o=e.animate(y,{id:M,delay:oe(),duration:_(),easing:$(),iterations:ee(),fill:X(),direction:Y()});o.pause(),G.push(o)})),G.length>0&&(G[0].onfinish=()=>{te()})),b=!0},ne=e=>{e=Math.min(Math.max(e,0),.9999),L&&G.forEach((o=>{o.currentTime=o.effect.getComputedTiming().delay+_()*e,o.pause()}))},re=e=>{G.forEach((e=>{e.effect.updateTiming({delay:oe(),duration:_(),easing:$(),iterations:ee(),fill:X(),direction:Y()})})),void 0!==e&&ne(e)},ae=(e=!1,o=!0,t)=>(e&&Z.forEach((i=>{i.update(e,o,t)})),L&&re(t),p),se=()=>{b&&(L?G.forEach((e=>{e.pause()})):P.forEach((e=>{i(e,"animation-play-state","paused")})),F=!0)},de=e=>new Promise((o=>{(null==e?void 0:e.sync)&&(k=!0,Q((()=>k=!1),{oneTimeCallback:!0})),b||ie(),T&&(L&&(ne(0),re()),T=!1),D&&(S=Z.length+1,D=!1);const t=()=>{O(i,I),o()},i=()=>{O(t,K),o()};Q(i,{oneTimeCallback:!0}),K.push({c:t,o:{oneTimeCallback:!0}}),Z.forEach((e=>{e.play()})),L?(G.forEach((e=>{e.play()})),0!==y.length&&0!==P.length||te()):te(),F=!1})),le=(e,o)=>{const t=y[0];return void 0===t||void 0!==t.offset&&0!==t.offset?y=[{offset:0,[e]:o},...y]:t[e]=o,p};return p={parentAnimation:c,elements:P,childAnimations:Z,id:M,animationFinish:te,from:le,to:(e,o)=>{const t=y[y.length-1];return void 0===t||void 0!==t.offset&&1!==t.offset?y=[...y,{offset:1,[e]:o}]:t[e]=o,p},fromTo:(e,o,t)=>le(e,o).to(e,t),parent:e=>(c=e,p),play:de,pause:()=>(Z.forEach((e=>{e.pause()})),se(),p),stop:()=>{Z.forEach((e=>{e.stop()})),b&&(U(),b=!1),j=!1,k=!1,D=!0,v=void 0,m=void 0,u=void 0,S=0,T=!1,w=!0,F=!1,K.forEach((e=>e.c(0,p))),K.length=0},destroy:e=>(Z.forEach((o=>{o.destroy(e)})),(e=>{U(),e&&V()})(e),P.length=0,Z.length=0,y.length=0,W.length=0,I.length=0,b=!1,D=!0,p),keyframes:e=>{const o=y!==e;return y=e,o&&(e=>{L&&N().forEach((o=>{const t=o.effect;if(t.setKeyframes)t.setKeyframes(e);else{const i=new KeyframeEffect(t.target,e,t.getTiming());o.effect=i}}))})(y),p},addAnimation:e=>{if(null!=e)if(Array.isArray(e))for(const o of e)o.parent(p),Z.push(o);else e.parent(p),Z.push(e);return p},addElement:o=>{if(null!=o)if(1===o.nodeType)P.push(o);else if(o.length>=0)for(let e=0;e<o.length;e++)P.push(o[e]);else e("createAnimation - Invalid addElement value.");return p},update:ae,fill:e=>(l=e,ae(!0),p),direction:e=>(f=e,ae(!0),p),iterations:e=>(d=e,ae(!0),p),duration:e=>(L||0!==e||(e=1),a=e,ae(!0),p),easing:e=>(s=e,ae(!0),p),delay:e=>(r=e,ae(!0),p),getWebAnimations:N,getKeyframes:()=>y,getFill:X,getDirection:Y,getDelay:oe,getIterations:ee,getEasing:$,getDuration:_,afterAddRead:e=>(q.push(e),p),afterAddWrite:e=>(z.push(e),p),afterClearStyles:(e=[])=>{for(const o of e)R[o]="";return p},afterStyles:(e={})=>(R=e,p),afterRemoveClass:e=>(h=n(h,e),p),afterAddClass:e=>(E=n(E,e),p),beforeAddRead:e=>(B.push(e),p),beforeAddWrite:e=>(J.push(e),p),beforeClearStyles:(e=[])=>{for(const o of e)C[o]="";return p},beforeStyles:(e={})=>(C=e,p),beforeRemoveClass:e=>(A=n(A,e),p),beforeAddClass:e=>(g=n(g,e),p),onFinish:Q,isRunning:()=>0!==S&&!F,progressStart:(e=!1,o)=>(Z.forEach((t=>{t.progressStart(e,o)})),se(),j=e,b||ie(),ae(!1,!0,o),p),progressStep:e=>(Z.forEach((o=>{o.progressStep(e)})),ne(e),p),progressEnd:(e,o,t)=>(j=!1,Z.forEach((i=>{i.progressEnd(e,o,t)})),void 0!==t&&(m=t),T=!1,w=!0,0===e?(v="reverse"===Y()?"normal":"reverse","reverse"===v&&(w=!1),L?(ae(),ne(1-o)):(u=(1-o)*_()*-1,ae(!1,!1))):1===e&&(L?(ae(),ne(o)):(u=o*_()*-1,ae(!1,!1))),void 0===e||c||de(),p)}};export{r as c}