@ionic/core 8.7.17-dev.11772118942.181221d4 → 8.7.17-dev.11772568074.1d7a4aea

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 (520) hide show
  1. package/components/action-sheet.js +1 -561
  2. package/components/alert.js +1 -610
  3. package/components/animation.js +1 -817
  4. package/components/backdrop.js +1 -72
  5. package/components/button-active.js +1 -64
  6. package/components/button.js +1 -303
  7. package/components/buttons.js +1 -56
  8. package/components/capacitor.js +1 -10
  9. package/components/checkbox.js +1 -261
  10. package/components/config.js +1 -192
  11. package/components/content.js +1 -475
  12. package/components/cubic-bezier.js +1 -87
  13. package/components/data.js +1 -1635
  14. package/components/dir.js +1 -15
  15. package/components/focus-visible.js +1 -72
  16. package/components/framework-delegate.js +1 -137
  17. package/components/gesture-controller.js +1 -192
  18. package/components/haptic.js +1 -155
  19. package/components/hardware-back-button.js +1 -112
  20. package/components/header.js +1 -417
  21. package/components/helpers.js +1 -336
  22. package/components/icon.js +1 -456
  23. package/components/index.d.ts +2 -0
  24. package/components/index.js +1 -115
  25. package/components/index2.js +1 -416
  26. package/components/index3.js +1 -452
  27. package/components/index4.js +1 -118
  28. package/components/index5.js +1 -303
  29. package/components/index6.js +1 -29
  30. package/components/index7.js +1 -164
  31. package/components/index8.js +1 -125
  32. package/components/index9.js +1 -4
  33. package/components/input-shims.js +1 -624
  34. package/components/input.utils.js +1 -144
  35. package/components/ion-accordion-group.js +1 -269
  36. package/components/ion-accordion.js +1 -457
  37. package/components/ion-action-sheet.js +1 -6
  38. package/components/ion-alert.js +1 -6
  39. package/components/ion-app.js +1 -128
  40. package/components/ion-avatar.js +1 -41
  41. package/components/ion-back-button.js +1 -131
  42. package/components/ion-backdrop.js +1 -6
  43. package/components/ion-badge.js +1 -47
  44. package/components/ion-breadcrumb.js +1 -137
  45. package/components/ion-breadcrumbs.js +1 -164
  46. package/components/ion-button.js +1 -6
  47. package/components/ion-buttons.js +1 -6
  48. package/components/ion-card-content.js +1 -45
  49. package/components/ion-card-header.js +1 -56
  50. package/components/ion-card-subtitle.js +1 -48
  51. package/components/ion-card-title.js +1 -48
  52. package/components/ion-card.js +1 -107
  53. package/components/ion-checkbox.js +1 -6
  54. package/components/ion-chip.js +1 -66
  55. package/components/ion-col.js +1 -163
  56. package/components/ion-content.js +1 -6
  57. package/components/ion-datetime-button.js +1 -384
  58. package/components/ion-datetime.js +1 -2046
  59. package/components/ion-fab-button.js +1 -151
  60. package/components/ion-fab-list.js +1 -66
  61. package/components/ion-fab.js +1 -101
  62. package/components/ion-footer.js +1 -159
  63. package/components/ion-grid.js +1 -46
  64. package/components/ion-header.js +1 -6
  65. package/components/ion-icon.js +1 -6
  66. package/components/ion-img.js +1 -124
  67. package/components/ion-infinite-scroll-content.js +1 -70
  68. package/components/ion-infinite-scroll.js +1 -236
  69. package/components/ion-input-otp.js +1 -683
  70. package/components/ion-input-password-toggle.js +1 -129
  71. package/components/ion-input.js +1 -617
  72. package/components/ion-item-divider.js +1 -59
  73. package/components/ion-item-group.js +1 -46
  74. package/components/ion-item-option.js +1 -91
  75. package/components/ion-item-options.js +1 -73
  76. package/components/ion-item-sliding.js +1 -458
  77. package/components/ion-item.js +1 -6
  78. package/components/ion-label.js +1 -6
  79. package/components/ion-list-header.js +1 -6
  80. package/components/ion-list.js +1 -6
  81. package/components/ion-loading.js +1 -344
  82. package/components/ion-menu-button.js +1 -110
  83. package/components/ion-menu-toggle.js +1 -64
  84. package/components/ion-menu.js +1 -745
  85. package/components/ion-modal.js +1 -6
  86. package/components/ion-nav-link.js +1 -64
  87. package/components/ion-nav.js +1 -956
  88. package/components/ion-note.js +1 -47
  89. package/components/ion-picker-column-option.js +1 -6
  90. package/components/ion-picker-column.js +1 -6
  91. package/components/ion-picker-legacy-column.js +1 -6
  92. package/components/ion-picker-legacy.js +1 -343
  93. package/components/ion-picker.js +1 -6
  94. package/components/ion-popover.js +1 -6
  95. package/components/ion-progress-bar.js +1 -101
  96. package/components/ion-radio-group.js +1 -6
  97. package/components/ion-radio.js +1 -6
  98. package/components/ion-range.js +1 -853
  99. package/components/ion-refresher-content.js +1 -89
  100. package/components/ion-refresher.js +1 -751
  101. package/components/ion-reorder-group.js +1 -322
  102. package/components/ion-reorder.js +1 -60
  103. package/components/ion-ripple-effect.js +1 -6
  104. package/components/ion-route-redirect.js +1 -45
  105. package/components/ion-route.js +1 -74
  106. package/components/ion-router-link.js +1 -61
  107. package/components/ion-router-outlet.js +1 -227
  108. package/components/ion-router.js +1 -841
  109. package/components/ion-row.js +1 -36
  110. package/components/ion-searchbar.js +1 -530
  111. package/components/ion-segment-button.js +1 -174
  112. package/components/ion-segment-content.js +1 -35
  113. package/components/ion-segment-view.js +1 -148
  114. package/components/ion-segment.js +1 -602
  115. package/components/ion-select-modal.js +1 -6
  116. package/components/ion-select-option.js +1 -46
  117. package/components/ion-select-popover.js +1 -6
  118. package/components/ion-select.js +1 -1037
  119. package/components/ion-skeleton-text.js +1 -65
  120. package/components/ion-spinner.js +1 -6
  121. package/components/ion-split-pane.js +1 -197
  122. package/components/ion-tab-bar.js +1 -115
  123. package/components/ion-tab-button.js +1 -128
  124. package/components/ion-tab.js +1 -91
  125. package/components/ion-tabs.js +1 -205
  126. package/components/ion-text.js +1 -42
  127. package/components/ion-textarea.js +1 -554
  128. package/components/ion-thumbnail.js +1 -36
  129. package/components/ion-title.js +1 -6
  130. package/components/ion-toast.js +1 -941
  131. package/components/ion-toggle.js +1 -361
  132. package/components/ion-toolbar.js +1 -6
  133. package/components/ionic-global.js +1 -144
  134. package/components/ios.transition.js +1 -672
  135. package/components/item.js +1 -302
  136. package/components/keyboard-controller.js +1 -162
  137. package/components/keyboard.js +1 -141
  138. package/components/keyboard2.js +1 -76
  139. package/components/label.js +1 -100
  140. package/components/list-header.js +1 -47
  141. package/components/list.js +1 -68
  142. package/components/lock-controller.js +1 -35
  143. package/components/md.transition.js +1 -51
  144. package/components/menu-toggle-util.js +1 -9
  145. package/components/modal.js +1 -2674
  146. package/components/notch-controller.js +1 -150
  147. package/components/overlays.js +1 -912
  148. package/components/picker-column-option.js +1 -136
  149. package/components/picker-column.js +1 -595
  150. package/components/picker-column2.js +1 -377
  151. package/components/picker.js +1 -498
  152. package/components/popover.js +1 -1502
  153. package/components/radio-group.js +1 -287
  154. package/components/radio.js +1 -229
  155. package/components/refresher.utils.js +1 -193
  156. package/components/ripple-effect.js +1 -109
  157. package/components/select-modal.js +1 -196
  158. package/components/select-popover.js +1 -189
  159. package/components/spinner.js +1 -224
  160. package/components/status-tap.js +1 -36
  161. package/components/swipe-back.js +1 -75
  162. package/components/theme.js +1 -40
  163. package/components/title.js +1 -70
  164. package/components/toolbar.js +1 -89
  165. package/components/validity.js +1 -14
  166. package/components/watch-options.js +1 -44
  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-CW0KUFTQ.js → input-shims-DlFhYYTs.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 +44 -40
  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 +67 -39
  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 +17 -15
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
  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 +55 -40
  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 +29 -15
  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 +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
  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 +18 -12
  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 +8 -4
  260. package/dist/collection/components/datetime/datetime.js +34 -15
  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 +6 -3
  268. package/dist/collection/components/item-divider/item-divider.js +2 -1
  269. package/dist/collection/components/item-option/item-option.js +2 -1
  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 +2 -1
  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 +32 -21
  278. package/dist/collection/components/modal/modal.js +35 -20
  279. package/dist/collection/components/nav/nav.js +89 -45
  280. package/dist/collection/components/nav-link/nav-link.js +9 -5
  281. package/dist/collection/components/note/note.js +2 -1
  282. package/dist/collection/components/picker/picker.js +2 -1
  283. package/dist/collection/components/picker-column/picker-column.js +6 -3
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  285. package/dist/collection/components/picker-legacy/picker.js +24 -12
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  287. package/dist/collection/components/popover/popover.js +33 -17
  288. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  289. package/dist/collection/components/radio/radio.js +2 -1
  290. package/dist/collection/components/radio-group/radio-group.js +6 -3
  291. package/dist/collection/components/range/range.js +14 -7
  292. package/dist/collection/components/refresher/refresher.js +73 -5
  293. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  294. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  295. package/dist/collection/components/route/route.js +4 -2
  296. package/dist/collection/components/router/router.js +10 -5
  297. package/dist/collection/components/router-link/router-link.js +6 -3
  298. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  299. package/dist/collection/components/searchbar/searchbar.js +11 -6
  300. package/dist/collection/components/segment/segment.js +10 -5
  301. package/dist/collection/components/segment-button/segment-button.js +4 -2
  302. package/dist/collection/components/segment-view/segment-view.js +2 -1
  303. package/dist/collection/components/select/select.js +10 -5
  304. package/dist/collection/components/select-modal/select-modal.js +2 -1
  305. package/dist/collection/components/select-popover/select-popover.js +2 -1
  306. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  307. package/dist/collection/components/spinner/spinner.js +4 -2
  308. package/dist/collection/components/tab/tab.js +4 -2
  309. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  310. package/dist/collection/components/tab-button/tab-button.js +4 -2
  311. package/dist/collection/components/tabs/tabs.js +4 -2
  312. package/dist/collection/components/text/text.js +2 -1
  313. package/dist/collection/components/textarea/textarea.js +6 -3
  314. package/dist/collection/components/title/title.js +4 -2
  315. package/dist/collection/components/toast/toast.js +34 -17
  316. package/dist/collection/components/toggle/toggle.js +4 -2
  317. package/dist/collection/components/toolbar/toolbar.js +2 -1
  318. package/dist/docs.d.ts +37 -0
  319. package/dist/docs.json +835 -381
  320. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  321. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  322. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  323. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  324. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  325. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  326. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  327. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  328. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  329. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  330. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  331. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  332. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  333. package/dist/esm/index.js +12 -12
  334. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  335. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  336. package/dist/esm/ion-accordion_2.entry.js +23 -15
  337. package/dist/esm/ion-action-sheet.entry.js +21 -15
  338. package/dist/esm/ion-alert.entry.js +25 -17
  339. package/dist/esm/ion-app_8.entry.js +44 -40
  340. package/dist/esm/ion-avatar_3.entry.js +12 -12
  341. package/dist/esm/ion-back-button.entry.js +7 -7
  342. package/dist/esm/ion-backdrop.entry.js +6 -6
  343. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  344. package/dist/esm/ion-button_2.entry.js +36 -18
  345. package/dist/esm/ion-card_5.entry.js +23 -23
  346. package/dist/esm/ion-checkbox.entry.js +7 -7
  347. package/dist/esm/ion-chip.entry.js +6 -6
  348. package/dist/esm/ion-col_3.entry.js +8 -8
  349. package/dist/esm/ion-datetime-button.entry.js +8 -8
  350. package/dist/esm/ion-datetime_3.entry.js +67 -39
  351. package/dist/esm/ion-fab_3.entry.js +17 -13
  352. package/dist/esm/ion-img.entry.js +8 -6
  353. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  354. package/dist/esm/ion-input-otp.entry.js +16 -10
  355. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  356. package/dist/esm/ion-input.entry.js +21 -13
  357. package/dist/esm/ion-item-option_3.entry.js +17 -15
  358. package/dist/esm/ion-item_8.entry.js +42 -36
  359. package/dist/esm/ion-loading.entry.js +18 -14
  360. package/dist/esm/ion-menu_3.entry.js +30 -22
  361. package/dist/esm/ion-modal.entry.js +55 -40
  362. package/dist/esm/ion-nav_2.entry.js +14 -10
  363. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  364. package/dist/esm/ion-picker-column.entry.js +11 -7
  365. package/dist/esm/ion-picker.entry.js +6 -6
  366. package/dist/esm/ion-popover.entry.js +21 -15
  367. package/dist/esm/ion-progress-bar.entry.js +7 -7
  368. package/dist/esm/ion-radio_2.entry.js +17 -13
  369. package/dist/esm/ion-range.entry.js +29 -15
  370. package/dist/esm/ion-refresher_2.entry.js +45 -14
  371. package/dist/esm/ion-reorder_2.entry.js +13 -11
  372. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  373. package/dist/esm/ion-route_4.entry.js +20 -10
  374. package/dist/esm/ion-searchbar.entry.js +22 -12
  375. package/dist/esm/ion-segment-content.entry.js +3 -3
  376. package/dist/esm/ion-segment-view.entry.js +5 -5
  377. package/dist/esm/ion-segment_2.entry.js +26 -16
  378. package/dist/esm/ion-select-modal.entry.js +12 -12
  379. package/dist/esm/ion-select_3.entry.js +29 -21
  380. package/dist/esm/ion-spinner.entry.js +4 -4
  381. package/dist/esm/ion-split-pane.entry.js +15 -9
  382. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  383. package/dist/esm/ion-tab_2.entry.js +10 -8
  384. package/dist/esm/ion-text.entry.js +4 -4
  385. package/dist/esm/ion-textarea.entry.js +18 -12
  386. package/dist/esm/ion-toast.entry.js +21 -15
  387. package/dist/esm/ion-toggle.entry.js +10 -8
  388. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  389. package/dist/esm/ionic.js +6 -6
  390. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  391. package/dist/esm/loader.js +5 -5
  392. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  393. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  394. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  395. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  396. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  397. package/dist/html.html-data.json +109 -109
  398. package/dist/ionic/index.esm.js +1 -1
  399. package/dist/ionic/ionic.esm.js +1 -1
  400. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  401. package/dist/ionic/p-02acdef4.entry.js +4 -0
  402. package/dist/ionic/p-04e2c388.entry.js +4 -0
  403. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  404. package/dist/ionic/p-0761b4d3.entry.js +4 -0
  405. package/dist/ionic/p-13ade5c8.entry.js +4 -0
  406. package/dist/ionic/p-1b02923f.entry.js +4 -0
  407. package/dist/ionic/p-1bd477a9.entry.js +4 -0
  408. package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
  409. package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
  410. package/dist/ionic/p-239a27a4.entry.js +4 -0
  411. package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
  412. package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
  413. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  414. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  415. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  416. package/dist/ionic/p-4431ef7e.entry.js +4 -0
  417. package/dist/ionic/p-463767ce.entry.js +4 -0
  418. package/dist/ionic/p-4f888343.entry.js +4 -0
  419. package/dist/ionic/p-51c11c47.entry.js +4 -0
  420. package/dist/ionic/p-56050077.entry.js +4 -0
  421. package/dist/ionic/p-6a3a5aae.entry.js +4 -0
  422. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  423. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  424. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  425. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  426. package/dist/ionic/p-91fc7352.entry.js +4 -0
  427. package/dist/ionic/p-93845421.entry.js +4 -0
  428. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  429. package/dist/ionic/p-96a2e768.entry.js +4 -0
  430. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  431. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  434. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  435. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  436. package/dist/ionic/p-BW_TRJm8.js +4 -0
  437. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  438. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  439. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  440. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  441. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  442. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  443. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  444. package/dist/ionic/p-CtA-yJYy.js +4 -0
  445. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  446. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  447. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  448. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  449. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  450. package/dist/ionic/p-DtVZDHlS.js +4 -0
  451. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  452. package/dist/ionic/p-IGIE5vDm.js +5 -0
  453. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  454. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  455. package/dist/ionic/p-a805674e.entry.js +4 -0
  456. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  457. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  458. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  459. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  460. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  461. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  462. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  463. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  464. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  465. package/dist/ionic/p-c76cc21d.entry.js +4 -0
  466. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  467. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  468. package/dist/ionic/p-d68b665a.entry.js +4 -0
  469. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  470. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  471. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  472. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  473. package/dist/ionic/p-hNN3VvaC.js +4 -0
  474. package/dist/types/components/datetime/datetime.d.ts +9 -0
  475. package/dist/types/components/header/header.utils.d.ts +2 -1
  476. package/dist/types/components/modal/modal-interface.d.ts +5 -1
  477. package/dist/types/components/modal/modal.d.ts +5 -0
  478. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  479. package/dist/types/components/refresher/refresher.d.ts +16 -3
  480. package/dist/types/components.d.ts +927 -189
  481. package/dist/types/interface.d.ts +1 -1
  482. package/dist/types/stencil-public-runtime.d.ts +126 -14
  483. package/dist/types/utils/gesture/listener.d.ts +2 -1
  484. package/hydrate/index.d.ts +12 -0
  485. package/hydrate/index.js +5202 -1327
  486. package/hydrate/index.mjs +5201 -1328
  487. package/package.json +2 -2
  488. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  489. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  490. package/dist/ionic/p-012212e4.entry.js +0 -4
  491. package/dist/ionic/p-074839fc.entry.js +0 -4
  492. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  493. package/dist/ionic/p-0f418a37.entry.js +0 -4
  494. package/dist/ionic/p-11518b31.entry.js +0 -4
  495. package/dist/ionic/p-1838bed5.entry.js +0 -4
  496. package/dist/ionic/p-29721c43.entry.js +0 -4
  497. package/dist/ionic/p-31f7095f.entry.js +0 -4
  498. package/dist/ionic/p-34642fa1.entry.js +0 -4
  499. package/dist/ionic/p-35696017.entry.js +0 -4
  500. package/dist/ionic/p-40c261a3.entry.js +0 -4
  501. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  502. package/dist/ionic/p-6241ce47.entry.js +0 -4
  503. package/dist/ionic/p-639dd543.entry.js +0 -4
  504. package/dist/ionic/p-6444c606.entry.js +0 -4
  505. package/dist/ionic/p-6d070558.entry.js +0 -4
  506. package/dist/ionic/p-7268efa5.entry.js +0 -4
  507. package/dist/ionic/p-7babec72.entry.js +0 -4
  508. package/dist/ionic/p-BKc55Xev.js +0 -4
  509. package/dist/ionic/p-Bmgaetn_.js +0 -4
  510. package/dist/ionic/p-C8IsBmNU.js +0 -5
  511. package/dist/ionic/p-CJxh_yLS.js +0 -4
  512. package/dist/ionic/p-DUt5fQmA.js +0 -4
  513. package/dist/ionic/p-DZRJwG4S.js +0 -4
  514. package/dist/ionic/p-a127bee2.entry.js +0 -4
  515. package/dist/ionic/p-b3d44509.entry.js +0 -4
  516. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  517. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  518. package/dist/ionic/p-d3014190.entry.js +0 -4
  519. package/dist/ionic/p-db82892c.entry.js +0 -4
  520. package/dist/ionic/p-e1d1f3cc.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 './gesture-controller.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"./gesture-controller.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,u=!0,d=!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,g=l.blurOnStart,D={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},x=((t,e,o)=>{const n=o*(Math.PI/180),r="x"===t,s=Math.cos(n),i=e*e;let c=0,a=0,u=!1,d=0;return{start(t,e){c=t,a=e,d=0,u=!0},detect(t,e){if(!u)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 d=m>s?1:m<-s?-1:0,u=!1,!0},isGesture:()=>0!==d,getDirection:()=>d}})(l.direction,l.threshold,l.maxAngle),E=t.createGesture({name:o.gestureName,priority:o.gesturePriority,disableScroll:o.disableScroll}),L=()=>{n&&(d=!1,h&&h(D))},X=()=>!!E.capture()&&(n=!0,u=!1,D.startX=D.currentX,D.startY=D.currentY,D.startTime=D.currentTime,m?m(D).then(Y):Y(),!0),Y=()=>{g&&(()=>{if("undefined"!=typeof document){const t=document.activeElement;(null==t?void 0:t.blur)&&t.blur()}})(),p&&p(D),u=!0},j=()=>{n=!1,s=!1,d=!1,u=!0,E.release()},M=t=>{const e=n,o=u;j(),o&&(i(D,t),e?f&&f(D):y&&y(D))},T=((t,o,n,s,i)=>{let c,a,u,d,l,v,m,p=0;const f=r=>{p=Date.now()+2e3,o(r)&&(!a&&n&&(a=e(t,"touchmove",n,i)),u||(u=e(r.target,"touchend",h,i)),d||(d=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=>{g(),s&&s(t)},b=()=>{a&&a(),u&&u(),d&&d(),a=u=d=void 0},g=()=>{v&&v(),m&&m(),v=m=void 0},D=()=>{b(),g()},x=(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,D())};return{enable:x,stop:D,destroy:()=>{x(!1),s=n=o=void 0}}})(l.el,(t=>{const e=a(t);return!(s||!u)&&(c(t,D),D.startX=D.currentX,D.startY=D.currentY,D.startTime=D.currentTime=e,D.velocityX=D.velocityY=D.deltaX=D.deltaY=0,D.event=t,(!v||!1!==v(D))&&(E.release(),!!E.start()&&(s=!0,0===_?X():(x.start(D.startX,D.startY),!0))))}),(t=>{n?!d&&u&&(d=!0,i(D,t),requestAnimationFrame(L)):(i(D,t),x.detect(D.currentX,D.currentY)&&(x.isGesture()&&X()||z()))}),M,{passive:b}),z=()=>{j(),T.stop(),y&&y(D)};return{enable(t=!0){t||(n&&M(void 0),j()),T.enable(t)},destroy(){E.destroy(),T.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,u=(t.currentTime=a(e))-r;if(u>0&&u<100){const e=(i-n)/u;t.velocityX=(s-o)/u*.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}
@@ -1,121 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- // TODO(FW-2832): types
5
- class Config {
6
- constructor() {
7
- this.m = new Map();
8
- }
9
- reset(configObj) {
10
- this.m = new Map(Object.entries(configObj));
11
- }
12
- get(key, fallback) {
13
- const value = this.m.get(key);
14
- return value !== undefined ? value : fallback;
15
- }
16
- getBoolean(key, fallback = false) {
17
- const val = this.m.get(key);
18
- if (val === undefined) {
19
- return fallback;
20
- }
21
- if (typeof val === 'string') {
22
- return val === 'true';
23
- }
24
- return !!val;
25
- }
26
- getNumber(key, fallback) {
27
- const val = parseFloat(this.m.get(key));
28
- return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
29
- }
30
- set(key, value) {
31
- this.m.set(key, value);
32
- }
33
- }
34
- const config = /*@__PURE__*/ new Config();
35
- const configFromSession = (win) => {
36
- try {
37
- const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);
38
- return configStr !== null ? JSON.parse(configStr) : {};
39
- }
40
- catch (e) {
41
- return {};
42
- }
43
- };
44
- const saveConfig = (win, c) => {
45
- try {
46
- win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));
47
- }
48
- catch (e) {
49
- return;
50
- }
51
- };
52
- const configFromURL = (win) => {
53
- const configObj = {};
54
- win.location.search
55
- .slice(1)
56
- .split('&')
57
- .map((entry) => entry.split('='))
58
- .map(([key, value]) => {
59
- try {
60
- return [decodeURIComponent(key), decodeURIComponent(value)];
61
- }
62
- catch (e) {
63
- return ['', ''];
64
- }
65
- })
66
- .filter(([key]) => startsWith(key, IONIC_PREFIX))
67
- .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])
68
- .forEach(([key, value]) => {
69
- configObj[key] = value;
70
- });
71
- return configObj;
72
- };
73
- const startsWith = (input, search) => {
74
- return input.substr(0, search.length) === search;
75
- };
76
- const IONIC_PREFIX = 'ionic:';
77
- const IONIC_SESSION_KEY = 'ionic-persist-config';
78
-
79
- var LogLevel;
80
- (function (LogLevel) {
81
- LogLevel["OFF"] = "OFF";
82
- LogLevel["ERROR"] = "ERROR";
83
- LogLevel["WARN"] = "WARN";
84
- })(LogLevel || (LogLevel = {}));
85
- /**
86
- * Logs a warning to the console with an Ionic prefix
87
- * to indicate the library that is warning the developer.
88
- *
89
- * @param message - The string message to be logged to the console.
90
- */
91
- const printIonWarning = (message, ...params) => {
92
- const logLevel = config.get('logLevel', LogLevel.WARN);
93
- if ([LogLevel.WARN].includes(logLevel)) {
94
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
95
- }
96
- };
97
- /**
98
- * Logs an error to the console with an Ionic prefix
99
- * to indicate the library that is warning the developer.
100
- *
101
- * @param message - The string message to be logged to the console.
102
- * @param params - Additional arguments to supply to the console.error.
103
- */
104
- const printIonError = (message, ...params) => {
105
- const logLevel = config.get('logLevel', LogLevel.ERROR);
106
- if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
107
- return console.error(`[Ionic Error]: ${message}`, ...params);
108
- }
109
- };
110
- /**
111
- * Prints an error informing developers that an implementation requires an element to be used
112
- * within a specific selector.
113
- *
114
- * @param el The web component element this is requiring the element.
115
- * @param targetSelectors The selector or selectors that were not found.
116
- */
117
- const printRequiredElementError = (el, ...targetSelectors) => {
118
- return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
119
- };
120
-
121
- export { LogLevel as L, printIonError as a, configFromSession as b, config as c, configFromURL as d, printRequiredElementError as e, printIonWarning as p, saveConfig as s };
4
+ class t{constructor(){this.m=new Map}reset(t){this.m=new Map(Object.entries(t))}get(t,e){const n=this.m.get(t);return void 0!==n?n:e}getBoolean(t,e=!1){const n=this.m.get(t);return void 0===n?e:"string"==typeof n?"true"===n:!!n}getNumber(t,e){const n=parseFloat(this.m.get(t));return isNaN(n)?void 0!==e?e:NaN:n}set(t,e){this.m.set(t,e)}}const e=new t,n=t=>{try{const e=t.sessionStorage.getItem(i);return null!==e?JSON.parse(e):{}}catch(t){return{}}},o=(t,e)=>{try{t.sessionStorage.setItem(i,JSON.stringify(e))}catch(t){return}},r=t=>{const e={};return t.location.search.slice(1).split("&").map((t=>t.split("="))).map((([t,e])=>{try{return[decodeURIComponent(t),decodeURIComponent(e)]}catch(t){return["",""]}})).filter((([t])=>s(t,c))).map((([t,e])=>[t.slice(c.length),e])).forEach((([t,n])=>{e[t]=n})),e},s=(t,e)=>t.substr(0,e.length)===e,c="ionic:",i="ionic-persist-config";var a;!function(t){t.OFF="OFF",t.ERROR="ERROR",t.WARN="WARN"}(a||(a={}));const u=(t,...n)=>{const o=e.get("logLevel",a.WARN);if([a.WARN].includes(o))return console.warn(`[Ionic Warning]: ${t}`,...n)},l=(t,...n)=>{const o=e.get("logLevel",a.ERROR);if([a.ERROR,a.WARN].includes(o))return console.error(`[Ionic Error]: ${t}`,...n)},d=(t,...e)=>console.error(`<${t.tagName.toLowerCase()}> must be used inside ${e.join(" or ")}.`);export{a as L,l as a,n as b,e as c,r as d,d as e,u as p,o as s}