@pod-os/elements 0.6.1-bea440b.0 → 0.7.1-2196a40.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.
- package/dist/cjs/{animation-5840e4df.js → animation-9bea118f.js} +115 -84
- package/dist/cjs/{app-globals-1aedd05c.js → app-globals-6352043e.js} +1 -1
- package/dist/cjs/{cubic-bezier-dcb7bfef.js → cubic-bezier-0b702a31.js} +13 -12
- package/dist/cjs/data-0c9489d7.js +1510 -0
- package/dist/cjs/dir-011f46ea.js +20 -0
- package/dist/cjs/elements.cjs.js +5 -5
- package/dist/cjs/focus-visible-2624ec15.js +76 -0
- package/dist/cjs/framework-delegate-437c0645.js +119 -0
- package/dist/cjs/{gesture-controller-fbbe9a65.js → gesture-controller-00a6b02f.js} +6 -2
- package/dist/cjs/{haptic-09e73337.js → haptic-7358cb0b.js} +37 -8
- package/dist/cjs/{hardware-back-button-01027575.js → hardware-back-button-25372ec7.js} +11 -8
- package/dist/cjs/{helpers-398ced09.js → helpers-cb08f5ae.js} +115 -15
- package/dist/cjs/{index-2067b305.js → index-1b07c737.js} +35 -24
- package/dist/cjs/{index-68ae43d2.js → index-2dc3637c.js} +34 -28
- package/dist/cjs/index-57b9fa9e.js +30 -0
- package/dist/cjs/{index-d01d9183.js → index-643851c6.js} +34 -19
- package/dist/cjs/index-731691ca.js +48 -0
- package/dist/cjs/{index-6bbae9b1.js → index-7d56774d.js} +12 -8
- package/dist/cjs/index-9fca5d6f.js +140 -0
- package/dist/cjs/index-b2a479e4.js +38 -0
- package/dist/cjs/{index-b4a9ece2.js → index-eaa0d16e.js} +7 -0
- package/dist/cjs/{tap-click-f24cb477.js → index-ed2ce04f.js} +37 -19
- package/dist/cjs/{input-shims-e959d9e2.js → input-shims-427999f7.js} +89 -38
- package/dist/cjs/ion-accordion-group.cjs.entry.js +205 -0
- package/dist/cjs/ion-accordion.cjs.entry.js +336 -0
- package/dist/cjs/ion-action-sheet_3.cjs.entry.js +865 -0
- package/dist/cjs/{ion-app_45.cjs.entry.js → ion-app_46.cjs.entry.js} +1775 -1471
- package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +12 -11
- package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
- package/dist/cjs/ion-breadcrumb.cjs.entry.js +101 -0
- package/dist/cjs/ion-breadcrumbs.cjs.entry.js +133 -0
- package/dist/cjs/ion-buttons_3.cjs.entry.js +793 -0
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
- package/dist/cjs/{ion-list-header_3.cjs.entry.js → ion-checkbox_4.cjs.entry.js} +124 -23
- package/dist/cjs/ion-chip.cjs.entry.js +5 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +346 -0
- package/dist/cjs/ion-datetime.cjs.entry.js +1548 -856
- package/dist/cjs/ion-fab-button.cjs.entry.js +26 -9
- package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
- package/dist/cjs/ion-fab.cjs.entry.js +15 -13
- package/dist/cjs/ion-img.cjs.entry.js +28 -4
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -13
- package/dist/cjs/ion-input.cjs.entry.js +57 -23
- package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
- package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-sliding.cjs.entry.js +59 -63
- package/dist/cjs/ion-loading.cjs.entry.js +37 -36
- package/dist/cjs/ion-menu-button.cjs.entry.js +14 -12
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +8 -7
- package/dist/cjs/ion-menu.cjs.entry.js +71 -57
- package/dist/cjs/ion-modal.cjs.entry.js +1384 -154
- package/dist/cjs/ion-nav-link.cjs.entry.js +5 -2
- package/dist/cjs/ion-nav.cjs.entry.js +177 -171
- package/dist/cjs/ion-picker-column.cjs.entry.js +25 -27
- package/dist/cjs/ion-picker.cjs.entry.js +22 -17
- package/dist/cjs/ion-popover.cjs.entry.js +1208 -182
- package/dist/cjs/ion-range.cjs.entry.js +137 -57
- package/dist/cjs/ion-refresher-content.cjs.entry.js +7 -12
- package/dist/cjs/ion-refresher.cjs.entry.js +150 -148
- package/dist/cjs/ion-reorder-group.cjs.entry.js +42 -35
- package/dist/cjs/ion-reorder.cjs.entry.js +5 -4
- package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route.cjs.entry.js +1 -1
- package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
- package/dist/cjs/ion-router-outlet.cjs.entry.js +24 -20
- package/dist/cjs/ion-router.cjs.entry.js +291 -194
- package/dist/cjs/ion-segment-button.cjs.entry.js +10 -17
- package/dist/cjs/ion-segment.cjs.entry.js +119 -26
- package/dist/cjs/ion-select-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-select.cjs.entry.js +113 -78
- package/dist/cjs/ion-slide.cjs.entry.js +3 -3
- package/dist/cjs/ion-slides.cjs.entry.js +26 -27
- package/dist/cjs/ion-spinner.cjs.entry.js +10 -9
- package/dist/cjs/ion-split-pane.cjs.entry.js +16 -12
- package/dist/cjs/ion-tab-bar.cjs.entry.js +16 -23
- package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab.cjs.entry.js +4 -4
- package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
- package/dist/cjs/ion-text.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +31 -29
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +49 -59
- package/dist/cjs/ion-toggle.cjs.entry.js +41 -22
- package/dist/cjs/ion-virtual-scroll.cjs.entry.js +39 -31
- package/dist/cjs/{ionic-global-56e10eb5.js → ionic-global-f2d95fd3.js} +112 -93
- package/dist/cjs/{ios.transition-32e4623d.js → ios.transition-0f31ec9a.js} +78 -53
- package/dist/cjs/{keyboard-9e8103e4.js → keyboard-79afcba2.js} +6 -3
- package/dist/cjs/keyboard-controller-a934d106.js +42 -0
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/{md.transition-169c54f0.js → md.transition-d2a33a23.js} +15 -17
- package/dist/cjs/{menu-toggle-util-087678e0.js → menu-toggle-util-0a43ff7c.js} +5 -2
- package/dist/cjs/{overlays-49fe9ba7.js → overlays-65c716aa.js} +187 -71
- package/dist/cjs/spinner-configs-cd0abbeb.js +147 -0
- package/dist/cjs/{status-tap-ada894ff.js → status-tap-beaa3a71.js} +10 -5
- package/dist/cjs/{swipe-back-c4a778df.js → swipe-back-666ea8e6.js} +34 -15
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/{theme-2259d0f5.js → theme-fc63803b.js} +9 -5
- package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.js +1 -0
- package/dist/collection/collection-manifest.json +8 -1
- package/dist/collection/components/pos-image/pos-image.css +4 -0
- package/dist/custom-elements/index.js +12770 -4850
- package/dist/custom-elements/{tap-click.js → index2.js} +36 -18
- package/dist/custom-elements/input-shims.js +87 -38
- package/dist/custom-elements/ios.transition.js +74 -50
- package/dist/custom-elements/md.transition.js +11 -14
- package/dist/custom-elements/status-tap.js +7 -4
- package/dist/custom-elements/swipe-back.js +31 -13
- package/dist/elements/elements.css +1 -1
- package/dist/elements/elements.esm.js +1 -1
- package/dist/elements/p-0268cbd3.entry.js +7 -0
- package/dist/elements/p-0587332d.entry.js +1 -0
- package/dist/elements/{p-cfc0e54d.js → p-0991c811.js} +3 -0
- package/dist/elements/p-0a69a563.entry.js +1 -0
- package/dist/elements/p-0b95be17.entry.js +1 -0
- package/dist/elements/p-0d284fe0.entry.js +1 -0
- package/dist/elements/p-0fd77b33.entry.js +1 -0
- package/dist/elements/p-120dec2b.entry.js +1 -0
- package/dist/elements/p-12880671.entry.js +1 -0
- package/dist/elements/p-14ccd586.entry.js +1 -0
- package/dist/elements/{p-83d45051.entry.js → p-14df6ac0.entry.js} +1 -1
- package/dist/elements/{p-e860be6a.entry.js → p-17079f06.entry.js} +1 -1
- package/dist/elements/p-19e4a688.js +4 -0
- package/dist/elements/p-1afc4eb4.js +4 -0
- package/dist/elements/p-1beaf6bf.js +4 -0
- package/dist/elements/p-1d1c6a6f.entry.js +1 -0
- package/dist/elements/{p-31d30e42.entry.js → p-1d98f84b.entry.js} +1 -1
- package/dist/elements/p-278ca4c9.js +4 -0
- package/dist/elements/p-27f5629c.entry.js +1 -0
- package/dist/elements/p-29c0f03f.js +4 -0
- package/dist/elements/p-2da59aca.js +4 -0
- package/dist/elements/p-3152143f.js +4 -0
- package/dist/elements/p-343ff720.entry.js +7 -0
- package/dist/elements/p-36d4c9a8.js +4 -0
- package/dist/elements/p-3a30dfb2.entry.js +1 -0
- package/dist/elements/p-3c013bf1.entry.js +1 -0
- package/dist/elements/{p-74ba1e42.entry.js → p-3c318da5.entry.js} +1 -1
- package/dist/elements/p-3cee3222.entry.js +1 -0
- package/dist/elements/p-480b3c4f.entry.js +1 -0
- package/dist/elements/p-4e9d8f18.entry.js +1 -0
- package/dist/elements/p-53e23176.js +2 -0
- package/dist/elements/p-548524f3.js +4 -0
- package/dist/elements/p-5739fa41.entry.js +1 -0
- package/dist/elements/p-5808c505.js +1 -0
- package/dist/elements/p-58a8cc2a.js +4 -0
- package/dist/elements/p-6035415e.entry.js +1 -0
- package/dist/elements/p-60eeae90.js +4 -0
- package/dist/elements/p-610b03ff.entry.js +4 -0
- package/dist/elements/p-67777478.entry.js +1 -0
- package/dist/elements/p-6ab826e1.entry.js +1 -0
- package/dist/elements/p-6f5a2827.entry.js +1 -0
- package/dist/elements/p-779676c5.entry.js +1 -0
- package/dist/elements/p-7916ecc5.entry.js +1 -0
- package/dist/elements/p-79f06b80.entry.js +1 -0
- package/dist/elements/p-7b5991c1.entry.js +1 -0
- package/dist/elements/p-7d0def79.js +5 -0
- package/dist/elements/p-8112afea.js +4 -0
- package/dist/elements/p-83678d7d.entry.js +4 -0
- package/dist/elements/p-87e45c94.entry.js +1 -0
- package/dist/elements/p-8da6a31e.entry.js +1 -0
- package/dist/elements/p-8f80768f.entry.js +4 -0
- package/dist/elements/p-8fe0433b.js +4 -0
- package/dist/elements/{p-4cb27b48.entry.js → p-9147d82b.entry.js} +1 -1
- package/dist/elements/p-97abb434.entry.js +1 -0
- package/dist/elements/p-98497a4b.entry.js +1 -0
- package/dist/elements/p-9c719139.js +4 -0
- package/dist/elements/p-9ca37332.js +4 -0
- package/dist/elements/{p-37de7110.js → p-9d48def2.js} +3 -0
- package/dist/elements/p-a79a6ad9.entry.js +79 -0
- package/dist/elements/p-a805f2f9.entry.js +1 -0
- package/dist/elements/p-a86a5bfa.entry.js +1 -0
- package/dist/elements/{p-9c1dbe52.entry.js → p-ac34eab7.entry.js} +1 -1
- package/dist/elements/p-ad366eab.entry.js +4 -0
- package/dist/elements/p-aef3a931.js +7 -0
- package/dist/elements/p-b0537eb3.entry.js +1 -0
- package/dist/elements/p-b337f3b8.js +4 -0
- package/dist/elements/p-b34bf73f.entry.js +7 -0
- package/dist/elements/p-b41e66f0.entry.js +1 -0
- package/dist/elements/p-b47e7091.entry.js +1 -0
- package/dist/elements/p-b840320e.js +4 -0
- package/dist/elements/p-b934ac5d.entry.js +1 -0
- package/dist/elements/p-b98314e0.entry.js +4 -0
- package/dist/elements/p-bd12806f.entry.js +1 -0
- package/dist/elements/p-c16d38d5.js +4 -0
- package/dist/elements/p-c84205a3.js +4 -0
- package/dist/elements/{p-06675ac7.entry.js → p-cbe318f8.entry.js} +1 -1
- package/dist/elements/p-cfed7395.js +4 -0
- package/dist/elements/p-d22a1dc7.entry.js +7 -0
- package/dist/elements/p-d3e75c94.entry.js +1 -0
- package/dist/elements/p-d8f6d3ce.entry.js +14 -0
- package/dist/elements/p-d9880221.entry.js +4 -0
- package/dist/elements/p-da5db8fb.entry.js +1 -0
- package/dist/elements/{p-91fe653f.js → p-dcc6b03c.js} +3 -0
- package/dist/elements/{p-305e246c.entry.js → p-dd846020.entry.js} +1 -1
- package/dist/elements/p-df240b2a.entry.js +4 -0
- package/dist/elements/p-dffd8689.js +4 -0
- package/dist/elements/p-e495a095.js +4 -0
- package/dist/elements/p-e5fc7d42.entry.js +1 -0
- package/dist/elements/{p-aaa8393e.entry.js → p-eb137e9d.entry.js} +1 -1
- package/dist/elements/p-f4e54a17.js +7 -0
- package/dist/elements/p-f67d0717.entry.js +1 -0
- package/dist/elements/p-f7f4c640.js +1 -0
- package/dist/elements/p-f851b91a.js +4 -0
- package/dist/elements/p-fb27ee76.entry.js +1 -0
- package/dist/elements/p-fbddca35.entry.js +1 -0
- package/dist/elements/p-fc1df8e0.entry.js +7 -0
- package/dist/elements/p-fdac5f3a.js +4 -0
- package/dist/esm/{animation-fe6ed422.js → animation-801a007a.js} +115 -84
- package/dist/esm/{app-globals-27d92837.js → app-globals-05a3abfb.js} +1 -1
- package/dist/esm/{cubic-bezier-108b8579.js → cubic-bezier-538b6253.js} +13 -12
- package/dist/esm/data-62c81c24.js +1463 -0
- package/dist/esm/dir-defb16c6.js +18 -0
- package/dist/esm/elements.js +5 -5
- package/dist/esm/focus-visible-78d55799.js +74 -0
- package/dist/esm/framework-delegate-7e2b767b.js +115 -0
- package/dist/esm/{gesture-controller-8f35af24.js → gesture-controller-c466ff14.js} +6 -2
- package/dist/esm/{haptic-c424e670.js → haptic-e7d5ef4d.js} +38 -9
- package/dist/esm/{hardware-back-button-bb4c578a.js → hardware-back-button-242191a7.js} +11 -8
- package/dist/esm/{helpers-44e3bd9f.js → helpers-aeff219b.js} +113 -16
- package/dist/esm/index-0dbaca1a.js +28 -0
- package/dist/esm/index-1f3d8582.js +34 -0
- package/dist/esm/{index-97199683.js → index-2be9a18b.js} +34 -28
- package/dist/esm/{index-8d682224.js → index-51e4a829.js} +12 -8
- package/dist/esm/{index-8a463a85.js → index-6048aed6.js} +35 -24
- package/dist/esm/index-65ecd543.js +25 -0
- package/dist/esm/{tap-click-a7e55ef5.js → index-b212db1c.js} +37 -19
- package/dist/esm/{index-e4deec27.js → index-cb938ffb.js} +7 -1
- package/dist/esm/{index-3a1bd803.js → index-d39eb62b.js} +35 -20
- package/dist/esm/index-ebf7f059.js +128 -0
- package/dist/esm/{input-shims-3b48722f.js → input-shims-8a389148.js} +89 -38
- package/dist/esm/ion-accordion-group.entry.js +201 -0
- package/dist/esm/ion-accordion.entry.js +332 -0
- package/dist/esm/ion-action-sheet_3.entry.js +859 -0
- package/dist/esm/{ion-app_45.entry.js → ion-app_46.entry.js} +1775 -1472
- package/dist/esm/ion-avatar.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +12 -11
- package/dist/esm/ion-backdrop.entry.js +4 -4
- package/dist/esm/ion-breadcrumb.entry.js +97 -0
- package/dist/esm/ion-breadcrumbs.entry.js +129 -0
- package/dist/esm/ion-buttons_3.entry.js +787 -0
- package/dist/esm/ion-card-subtitle.entry.js +4 -4
- package/dist/esm/{ion-list-header_3.entry.js → ion-checkbox_4.entry.js} +124 -24
- package/dist/esm/ion-chip.entry.js +5 -10
- package/dist/esm/ion-datetime-button.entry.js +342 -0
- package/dist/esm/ion-datetime.entry.js +1548 -856
- package/dist/esm/ion-fab-button.entry.js +26 -9
- package/dist/esm/ion-fab-list.entry.js +4 -4
- package/dist/esm/ion-fab.entry.js +15 -13
- package/dist/esm/ion-img.entry.js +28 -4
- package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
- package/dist/esm/ion-infinite-scroll.entry.js +13 -13
- package/dist/esm/ion-input.entry.js +57 -23
- package/dist/esm/ion-item-option.entry.js +8 -8
- package/dist/esm/ion-item-options.entry.js +5 -5
- package/dist/esm/ion-item-sliding.entry.js +59 -63
- package/dist/esm/ion-loading.entry.js +37 -36
- package/dist/esm/ion-menu-button.entry.js +14 -12
- package/dist/esm/ion-menu-toggle.entry.js +8 -7
- package/dist/esm/ion-menu.entry.js +71 -57
- package/dist/esm/ion-modal.entry.js +1375 -145
- package/dist/esm/ion-nav-link.entry.js +5 -2
- package/dist/esm/ion-nav.entry.js +177 -171
- package/dist/esm/ion-picker-column.entry.js +25 -27
- package/dist/esm/ion-picker.entry.js +22 -17
- package/dist/esm/ion-popover.entry.js +1208 -182
- package/dist/esm/ion-range.entry.js +137 -57
- package/dist/esm/ion-refresher-content.entry.js +7 -12
- package/dist/esm/ion-refresher.entry.js +149 -147
- package/dist/esm/ion-reorder-group.entry.js +42 -35
- package/dist/esm/ion-reorder.entry.js +5 -4
- package/dist/esm/ion-route-redirect.entry.js +1 -1
- package/dist/esm/ion-route.entry.js +1 -1
- package/dist/esm/ion-router-link.entry.js +5 -5
- package/dist/esm/ion-router-outlet.entry.js +24 -20
- package/dist/esm/ion-router.entry.js +291 -194
- package/dist/esm/ion-segment-button.entry.js +10 -17
- package/dist/esm/ion-segment.entry.js +119 -26
- package/dist/esm/ion-select-option.entry.js +3 -3
- package/dist/esm/ion-select.entry.js +113 -78
- package/dist/esm/ion-slide.entry.js +3 -3
- package/dist/esm/ion-slides.entry.js +26 -27
- package/dist/esm/ion-spinner.entry.js +10 -9
- package/dist/esm/ion-split-pane.entry.js +16 -12
- package/dist/esm/ion-tab-bar.entry.js +16 -23
- package/dist/esm/ion-tab-button.entry.js +6 -6
- package/dist/esm/ion-tab.entry.js +4 -4
- package/dist/esm/ion-tabs.entry.js +4 -5
- package/dist/esm/ion-text.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +31 -29
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +49 -59
- package/dist/esm/ion-toggle.entry.js +41 -22
- package/dist/esm/ion-virtual-scroll.entry.js +39 -31
- package/dist/esm/{ionic-global-2e28f7c7.js → ionic-global-6cd57191.js} +112 -93
- package/dist/esm/{ios.transition-a783e3cd.js → ios.transition-bbd952f2.js} +78 -53
- package/dist/{custom-elements/keyboard.js → esm/keyboard-413afe04.js} +6 -3
- package/dist/esm/keyboard-controller-33693bc2.js +40 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-5a4a8c82.js → md.transition-5170a6d3.js} +15 -17
- package/dist/esm/{menu-toggle-util-562dfc9c.js → menu-toggle-util-82bf888a.js} +5 -2
- package/dist/esm/{overlays-fc9a0625.js → overlays-0c7f05e1.js} +186 -71
- package/dist/esm/spinner-configs-cbcd1f62.js +145 -0
- package/dist/esm/{status-tap-69e62ad6.js → status-tap-ad757b8a.js} +10 -5
- package/dist/esm/swipe-back-7ef22876.js +69 -0
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{theme-d21826a7.js → theme-7cf2cab0.js} +9 -5
- package/package.json +4 -5
- package/LICENSE +0 -21
- package/dist/cjs/button-active-c14dab31.js +0 -66
- package/dist/cjs/focus-visible-16c98640.js +0 -45
- package/dist/cjs/framework-delegate-c45292a3.js +0 -37
- package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -265
- package/dist/cjs/ion-alert.cjs.entry.js +0 -456
- package/dist/cjs/ion-buttons.cjs.entry.js +0 -42
- package/dist/cjs/ion-checkbox.cjs.entry.js +0 -117
- package/dist/cjs/ion-note.cjs.entry.js +0 -29
- package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
- package/dist/cjs/spinner-configs-fb16b986.js +0 -112
- package/dist/custom-elements/focus-visible.js +0 -43
- package/dist/elements/p-03bda390.js +0 -1
- package/dist/elements/p-0be044f1.entry.js +0 -1
- package/dist/elements/p-119c7c6c.entry.js +0 -1
- package/dist/elements/p-14c7c3ea.entry.js +0 -1
- package/dist/elements/p-1d4a2c61.js +0 -1
- package/dist/elements/p-1d894ac4.entry.js +0 -1
- package/dist/elements/p-1dafa1ce.entry.js +0 -1
- package/dist/elements/p-23b89ccb.entry.js +0 -1
- package/dist/elements/p-2c03b9ab.entry.js +0 -1
- package/dist/elements/p-346985f2.js +0 -1
- package/dist/elements/p-360f1c62.entry.js +0 -1
- package/dist/elements/p-373e1f25.entry.js +0 -1
- package/dist/elements/p-40547acb.entry.js +0 -1
- package/dist/elements/p-40b68014.entry.js +0 -1
- package/dist/elements/p-42e4f702.entry.js +0 -1
- package/dist/elements/p-489807e5.js +0 -1
- package/dist/elements/p-4ad72d54.entry.js +0 -1
- package/dist/elements/p-4cca7b5e.entry.js +0 -1
- package/dist/elements/p-4f24d306.js +0 -1
- package/dist/elements/p-519d6a53.entry.js +0 -1
- package/dist/elements/p-536e8e52.entry.js +0 -1
- package/dist/elements/p-599bb53f.entry.js +0 -1
- package/dist/elements/p-5eb7a546.js +0 -1
- package/dist/elements/p-60df2bed.entry.js +0 -1
- package/dist/elements/p-65133e33.js +0 -1
- package/dist/elements/p-6693fce8.js +0 -1
- package/dist/elements/p-689bdcc1.entry.js +0 -1
- package/dist/elements/p-70713b3d.entry.js +0 -1
- package/dist/elements/p-707d5d76.js +0 -1
- package/dist/elements/p-7212b7f2.js +0 -1
- package/dist/elements/p-73992898.entry.js +0 -1
- package/dist/elements/p-792c1e0f.entry.js +0 -1
- package/dist/elements/p-7e5300af.js +0 -2
- package/dist/elements/p-8068987c.entry.js +0 -1
- package/dist/elements/p-83accf46.entry.js +0 -1
- package/dist/elements/p-86635d06.entry.js +0 -1
- package/dist/elements/p-874c2b44.js +0 -1
- package/dist/elements/p-89c12ce8.entry.js +0 -1
- package/dist/elements/p-8bcba3f7.entry.js +0 -1
- package/dist/elements/p-8c759f51.entry.js +0 -1
- package/dist/elements/p-8f945e6b.entry.js +0 -1
- package/dist/elements/p-9300ab6a.js +0 -1
- package/dist/elements/p-93cacd51.entry.js +0 -1
- package/dist/elements/p-9408d0b4.entry.js +0 -1
- package/dist/elements/p-98c79eda.js +0 -1
- package/dist/elements/p-99f8abed.js +0 -1
- package/dist/elements/p-9ca7e079.js +0 -1
- package/dist/elements/p-a4648b74.entry.js +0 -1
- package/dist/elements/p-aab0f63c.js +0 -1
- package/dist/elements/p-ad4e2295.entry.js +0 -1
- package/dist/elements/p-afb8f7d5.entry.js +0 -1
- package/dist/elements/p-b055ec44.js +0 -1
- package/dist/elements/p-b078d63b.entry.js +0 -1
- package/dist/elements/p-b3460325.entry.js +0 -1
- package/dist/elements/p-b3f4042e.entry.js +0 -67
- package/dist/elements/p-b5406b58.entry.js +0 -1
- package/dist/elements/p-b5ef0c91.entry.js +0 -1
- package/dist/elements/p-b6ba623e.entry.js +0 -1
- package/dist/elements/p-b9926d8b.entry.js +0 -1
- package/dist/elements/p-bfd4cfcd.entry.js +0 -1
- package/dist/elements/p-c08dd7d0.entry.js +0 -1
- package/dist/elements/p-c0db9c51.entry.js +0 -1
- package/dist/elements/p-c1e7fbfb.js +0 -1
- package/dist/elements/p-ca69d6c9.js +0 -1
- package/dist/elements/p-cc4cb1ac.entry.js +0 -1
- package/dist/elements/p-cf8a7031.entry.js +0 -1
- package/dist/elements/p-cff82b6f.js +0 -1
- package/dist/elements/p-d6d1e65f.entry.js +0 -1
- package/dist/elements/p-d9462b66.entry.js +0 -1
- package/dist/elements/p-e2e0fee9.entry.js +0 -1
- package/dist/elements/p-e642b266.entry.js +0 -1
- package/dist/elements/p-e953934f.entry.js +0 -1
- package/dist/elements/p-f0474f46.js +0 -1
- package/dist/elements/p-f10a94f6.entry.js +0 -1
- package/dist/elements/p-f2426182.entry.js +0 -1
- package/dist/elements/p-f327fd21.js +0 -1
- package/dist/elements/p-f84987ee.js +0 -1
- package/dist/elements/p-f8a3367d.entry.js +0 -1
- package/dist/esm/button-active-fd9d6d91.js +0 -64
- package/dist/esm/focus-visible-edb28f19.js +0 -43
- package/dist/esm/framework-delegate-9cd8048f.js +0 -34
- package/dist/esm/ion-action-sheet.entry.js +0 -261
- package/dist/esm/ion-alert.entry.js +0 -452
- package/dist/esm/ion-buttons.entry.js +0 -38
- package/dist/esm/ion-checkbox.entry.js +0 -113
- package/dist/esm/ion-note.entry.js +0 -25
- package/dist/esm/ion-select-popover.entry.js +0 -31
- package/dist/esm/keyboard-e6abcb80.js +0 -125
- package/dist/esm/spinner-configs-aaf2a1a9.js +0 -110
- package/dist/esm/swipe-back-d84cfc8a.js +0 -50
- package/readme.md +0 -55
|
@@ -1,48 +1,54 @@
|
|
|
1
|
-
import { w as writeTask, r as registerInstance,
|
|
2
|
-
import { a as isPlatform, g as getIonMode } from './ionic-global-
|
|
3
|
-
import { g as getTimeGivenProgression } from './cubic-bezier-
|
|
4
|
-
import {
|
|
5
|
-
import { c as
|
|
6
|
-
import {
|
|
1
|
+
import { w as writeTask, r as registerInstance, d as createEvent, e as readTask, h, c as getElement, H as Host } from './index-cb938ffb.js';
|
|
2
|
+
import { a as isPlatform, g as getIonMode } from './ionic-global-6cd57191.js';
|
|
3
|
+
import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
|
|
4
|
+
import { I as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, b as ION_CONTENT_CLASS_SELECTOR, g as getScrollElement } from './index-ebf7f059.js';
|
|
5
|
+
import { t as transitionEndAsync, c as componentOnReady, b as clamp, g as getElementRoot, r as raf } from './helpers-aeff219b.js';
|
|
6
|
+
import { h as hapticImpact } from './haptic-e7d5ef4d.js';
|
|
7
|
+
import { c as createAnimation } from './animation-801a007a.js';
|
|
8
|
+
import './index-1f3d8582.js';
|
|
9
|
+
import './index-0dbaca1a.js';
|
|
7
10
|
|
|
11
|
+
/*!
|
|
12
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
13
|
+
*/
|
|
8
14
|
const getRefresherAnimationType = (contentEl) => {
|
|
9
15
|
const previousSibling = contentEl.previousElementSibling;
|
|
10
16
|
const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';
|
|
11
17
|
return hasHeader ? 'translate' : 'scale';
|
|
12
18
|
};
|
|
13
19
|
const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
|
|
14
|
-
return type === 'scale'
|
|
20
|
+
return type === 'scale'
|
|
21
|
+
? createScaleAnimation(pullingSpinner, refresherEl)
|
|
22
|
+
: createTranslateAnimation(pullingSpinner, refresherEl);
|
|
15
23
|
};
|
|
16
24
|
const createBaseAnimation = (pullingRefresherIcon) => {
|
|
17
25
|
const spinner = pullingRefresherIcon.querySelector('ion-spinner');
|
|
18
26
|
const circle = spinner.shadowRoot.querySelector('circle');
|
|
19
27
|
const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
|
|
20
28
|
const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');
|
|
21
|
-
const arrow =
|
|
22
|
-
const baseAnimation = createAnimation()
|
|
23
|
-
.duration(1000)
|
|
24
|
-
.easing('ease-out');
|
|
29
|
+
const arrow = arrowContainer ? arrowContainer.querySelector('ion-icon') : null;
|
|
30
|
+
const baseAnimation = createAnimation().duration(1000).easing('ease-out');
|
|
25
31
|
const spinnerArrowContainerAnimation = createAnimation()
|
|
26
32
|
.addElement(spinnerArrowContainer)
|
|
27
33
|
.keyframes([
|
|
28
34
|
{ offset: 0, opacity: '0.3' },
|
|
29
35
|
{ offset: 0.45, opacity: '0.3' },
|
|
30
36
|
{ offset: 0.55, opacity: '1' },
|
|
31
|
-
{ offset: 1, opacity: '1' }
|
|
37
|
+
{ offset: 1, opacity: '1' },
|
|
32
38
|
]);
|
|
33
39
|
const circleInnerAnimation = createAnimation()
|
|
34
40
|
.addElement(circle)
|
|
35
41
|
.keyframes([
|
|
36
42
|
{ offset: 0, strokeDasharray: '1px, 200px' },
|
|
37
|
-
{ offset: 0.
|
|
43
|
+
{ offset: 0.2, strokeDasharray: '1px, 200px' },
|
|
38
44
|
{ offset: 0.55, strokeDasharray: '100px, 200px' },
|
|
39
|
-
{ offset: 1, strokeDasharray: '100px, 200px' }
|
|
45
|
+
{ offset: 1, strokeDasharray: '100px, 200px' },
|
|
40
46
|
]);
|
|
41
47
|
const circleOuterAnimation = createAnimation()
|
|
42
48
|
.addElement(spinner)
|
|
43
49
|
.keyframes([
|
|
44
50
|
{ offset: 0, transform: 'rotate(-90deg)' },
|
|
45
|
-
{ offset: 1, transform: 'rotate(210deg)' }
|
|
51
|
+
{ offset: 1, transform: 'rotate(210deg)' },
|
|
46
52
|
]);
|
|
47
53
|
/**
|
|
48
54
|
* Only add arrow animation if present
|
|
@@ -54,17 +60,17 @@ const createBaseAnimation = (pullingRefresherIcon) => {
|
|
|
54
60
|
.addElement(arrowContainer)
|
|
55
61
|
.keyframes([
|
|
56
62
|
{ offset: 0, transform: 'rotate(0deg)' },
|
|
57
|
-
{ offset: 0.
|
|
63
|
+
{ offset: 0.3, transform: 'rotate(0deg)' },
|
|
58
64
|
{ offset: 0.55, transform: 'rotate(280deg)' },
|
|
59
|
-
{ offset: 1, transform: 'rotate(400deg)' }
|
|
65
|
+
{ offset: 1, transform: 'rotate(400deg)' },
|
|
60
66
|
]);
|
|
61
67
|
const arrowAnimation = createAnimation()
|
|
62
68
|
.addElement(arrow)
|
|
63
69
|
.keyframes([
|
|
64
70
|
{ offset: 0, transform: 'translateX(2px) scale(0)' },
|
|
65
|
-
{ offset: 0.
|
|
71
|
+
{ offset: 0.3, transform: 'translateX(2px) scale(0)' },
|
|
66
72
|
{ offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },
|
|
67
|
-
{ offset: 1, transform: 'translateX(-1.5px) scale(1)' }
|
|
73
|
+
{ offset: 1, transform: 'translateX(-1.5px) scale(1)' },
|
|
68
74
|
]);
|
|
69
75
|
baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);
|
|
70
76
|
}
|
|
@@ -85,7 +91,7 @@ const createScaleAnimation = (pullingRefresherIcon, refresherEl) => {
|
|
|
85
91
|
.addElement(pullingRefresherIcon)
|
|
86
92
|
.keyframes([
|
|
87
93
|
{ offset: 0, transform: `scale(0) translateY(-${height}px)` },
|
|
88
|
-
{ offset: 1, transform: 'scale(1) translateY(100px)' }
|
|
94
|
+
{ offset: 1, transform: 'scale(1) translateY(100px)' },
|
|
89
95
|
]);
|
|
90
96
|
return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
|
|
91
97
|
};
|
|
@@ -104,7 +110,7 @@ const createTranslateAnimation = (pullingRefresherIcon, refresherEl) => {
|
|
|
104
110
|
.addElement(pullingRefresherIcon)
|
|
105
111
|
.keyframes([
|
|
106
112
|
{ offset: 0, transform: `translateY(-${height}px)` },
|
|
107
|
-
{ offset: 1, transform: 'translateY(100px)' }
|
|
113
|
+
{ offset: 1, transform: 'translateY(100px)' },
|
|
108
114
|
]);
|
|
109
115
|
return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
|
|
110
116
|
};
|
|
@@ -119,26 +125,38 @@ const createSnapBackAnimation = (pullingRefresherIcon) => {
|
|
|
119
125
|
const setSpinnerOpacity = (spinner, opacity) => {
|
|
120
126
|
spinner.style.setProperty('opacity', opacity.toString());
|
|
121
127
|
};
|
|
122
|
-
const handleScrollWhilePulling = (
|
|
128
|
+
const handleScrollWhilePulling = (ticks, numTicks, pullAmount) => {
|
|
129
|
+
const max = 1;
|
|
123
130
|
writeTask(() => {
|
|
124
|
-
|
|
125
|
-
|
|
131
|
+
ticks.forEach((el, i) => {
|
|
132
|
+
/**
|
|
133
|
+
* Compute the opacity of each tick
|
|
134
|
+
* mark as a percentage of the pullAmount
|
|
135
|
+
* offset by max / numTicks so
|
|
136
|
+
* the tick marks are shown staggered.
|
|
137
|
+
*/
|
|
138
|
+
const min = i * (max / numTicks);
|
|
139
|
+
const range = max - min;
|
|
140
|
+
const start = pullAmount - min;
|
|
141
|
+
const progression = clamp(0, start / range, 1);
|
|
142
|
+
el.style.setProperty('opacity', progression.toString());
|
|
143
|
+
});
|
|
126
144
|
});
|
|
127
145
|
};
|
|
128
146
|
const handleScrollWhileRefreshing = (spinner, lastVelocityY) => {
|
|
129
147
|
writeTask(() => {
|
|
130
148
|
// If user pulls down quickly, the spinner should spin faster
|
|
131
|
-
spinner.style.setProperty('--refreshing-rotation-duration',
|
|
149
|
+
spinner.style.setProperty('--refreshing-rotation-duration', lastVelocityY >= 1.0 ? '0.5s' : '2s');
|
|
132
150
|
spinner.style.setProperty('opacity', '1');
|
|
133
151
|
});
|
|
134
152
|
};
|
|
135
|
-
const translateElement = (el, value) => {
|
|
153
|
+
const translateElement = (el, value, duration = 200) => {
|
|
136
154
|
if (!el) {
|
|
137
155
|
return Promise.resolve();
|
|
138
156
|
}
|
|
139
|
-
const trans = transitionEndAsync(el,
|
|
157
|
+
const trans = transitionEndAsync(el, duration);
|
|
140
158
|
writeTask(() => {
|
|
141
|
-
el.style.setProperty('transition',
|
|
159
|
+
el.style.setProperty('transition', `${duration}ms all ease-out`);
|
|
142
160
|
if (value === undefined) {
|
|
143
161
|
el.style.removeProperty('transform');
|
|
144
162
|
}
|
|
@@ -155,7 +173,7 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
|
|
|
155
173
|
if (!refresherContent) {
|
|
156
174
|
return Promise.resolve(false);
|
|
157
175
|
}
|
|
158
|
-
await new Promise(resolve => componentOnReady(refresherContent, resolve));
|
|
176
|
+
await new Promise((resolve) => componentOnReady(refresherContent, resolve));
|
|
159
177
|
const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');
|
|
160
178
|
const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
|
|
161
179
|
return (pullingSpinner !== null &&
|
|
@@ -163,44 +181,8 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
|
|
|
163
181
|
((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
|
|
164
182
|
mode === 'md'));
|
|
165
183
|
};
|
|
166
|
-
const transitionEndAsync = (el, expectedDuration = 0) => {
|
|
167
|
-
return new Promise(resolve => {
|
|
168
|
-
transitionEnd(el, expectedDuration, resolve);
|
|
169
|
-
});
|
|
170
|
-
};
|
|
171
|
-
const transitionEnd = (el, expectedDuration = 0, callback) => {
|
|
172
|
-
let unRegTrans;
|
|
173
|
-
let animationTimeout;
|
|
174
|
-
const opts = { passive: true };
|
|
175
|
-
const ANIMATION_FALLBACK_TIMEOUT = 500;
|
|
176
|
-
const unregister = () => {
|
|
177
|
-
if (unRegTrans) {
|
|
178
|
-
unRegTrans();
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
const onTransitionEnd = (ev) => {
|
|
182
|
-
if (ev === undefined || el === ev.target) {
|
|
183
|
-
unregister();
|
|
184
|
-
callback(ev);
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
if (el) {
|
|
188
|
-
el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
|
|
189
|
-
el.addEventListener('transitionend', onTransitionEnd, opts);
|
|
190
|
-
animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
|
|
191
|
-
unRegTrans = () => {
|
|
192
|
-
if (animationTimeout) {
|
|
193
|
-
clearTimeout(animationTimeout);
|
|
194
|
-
animationTimeout = undefined;
|
|
195
|
-
}
|
|
196
|
-
el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
|
|
197
|
-
el.removeEventListener('transitionend', onTransitionEnd, opts);
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
return unregister;
|
|
201
|
-
};
|
|
202
184
|
|
|
203
|
-
const refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;animation:250ms linear refresher-pop forwards}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}@keyframes refresher-pop{0%{transform:scale(1);animation-timing-function:ease-in}50%{transform:scale(1.2);animation-timing-function:ease-out}100%{transform:scale(1)}}@keyframes refresher-rotate{from{transform:rotate(0deg)}to{transform:rotate(180deg)}}";
|
|
185
|
+
const refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0) rotate(180deg);transition:300ms}@keyframes refresher-pop{0%{transform:scale(1);animation-timing-function:ease-in}50%{transform:scale(1.2);animation-timing-function:ease-out}100%{transform:scale(1)}}@keyframes refresher-rotate{from{transform:rotate(0deg)}to{transform:rotate(180deg)}}";
|
|
204
186
|
|
|
205
187
|
const refresherMdCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:flex}ion-refresher.refresher-native .refresher-pulling-icon{transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}";
|
|
206
188
|
|
|
@@ -229,7 +211,7 @@ const Refresher = class {
|
|
|
229
211
|
* - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state.
|
|
230
212
|
* - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state.
|
|
231
213
|
*/
|
|
232
|
-
this.state = 1 /* Inactive */;
|
|
214
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
233
215
|
/**
|
|
234
216
|
* The minimum distance the user must pull down until the
|
|
235
217
|
* refresher will go into the `refreshing` state.
|
|
@@ -302,7 +284,7 @@ const Refresher = class {
|
|
|
302
284
|
async resetNativeRefresher(el, state) {
|
|
303
285
|
this.state = state;
|
|
304
286
|
if (getIonMode(this) === 'ios') {
|
|
305
|
-
await translateElement(el, undefined);
|
|
287
|
+
await translateElement(el, undefined, 300);
|
|
306
288
|
}
|
|
307
289
|
else {
|
|
308
290
|
await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200);
|
|
@@ -310,20 +292,20 @@ const Refresher = class {
|
|
|
310
292
|
this.didRefresh = false;
|
|
311
293
|
this.needsCompletion = false;
|
|
312
294
|
this.pointerDown = false;
|
|
313
|
-
this.animations.forEach(ani => ani.destroy());
|
|
295
|
+
this.animations.forEach((ani) => ani.destroy());
|
|
314
296
|
this.animations = [];
|
|
315
297
|
this.progress = 0;
|
|
316
|
-
this.state = 1 /* Inactive */;
|
|
298
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
317
299
|
}
|
|
318
300
|
async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
|
|
319
301
|
this.elementToTransform = this.scrollEl;
|
|
320
302
|
const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg');
|
|
321
303
|
let MAX_PULL = this.scrollEl.clientHeight * 0.16;
|
|
322
304
|
const NUM_TICKS = ticks.length;
|
|
323
|
-
writeTask(() => ticks.forEach(el => el.style.setProperty('animation', 'none')));
|
|
305
|
+
writeTask(() => ticks.forEach((el) => el.style.setProperty('animation', 'none')));
|
|
324
306
|
this.scrollListenerCallback = () => {
|
|
325
307
|
// If pointer is not on screen or refresher is not active, ignore scroll
|
|
326
|
-
if (!this.pointerDown && this.state === 1 /* Inactive */) {
|
|
308
|
+
if (!this.pointerDown && this.state === 1 /* RefresherState.Inactive */) {
|
|
327
309
|
return;
|
|
328
310
|
}
|
|
329
311
|
readTask(() => {
|
|
@@ -335,12 +317,11 @@ const Refresher = class {
|
|
|
335
317
|
* If refresher is refreshing and user tries to scroll
|
|
336
318
|
* progressively fade refresher out/in
|
|
337
319
|
*/
|
|
338
|
-
if (this.state === 8 /* Refreshing */) {
|
|
320
|
+
if (this.state === 8 /* RefresherState.Refreshing */) {
|
|
339
321
|
const ratio = clamp(0, scrollTop / (refresherHeight * 0.5), 1);
|
|
340
322
|
writeTask(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio));
|
|
341
323
|
return;
|
|
342
324
|
}
|
|
343
|
-
writeTask(() => setSpinnerOpacity(pullingSpinner, 0));
|
|
344
325
|
return;
|
|
345
326
|
}
|
|
346
327
|
if (this.pointerDown) {
|
|
@@ -353,11 +334,16 @@ const Refresher = class {
|
|
|
353
334
|
this.ionPull.emit();
|
|
354
335
|
}
|
|
355
336
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
337
|
+
/**
|
|
338
|
+
* We want to delay the start of this gesture by ~30px
|
|
339
|
+
* when initially pulling down so the refresher does not
|
|
340
|
+
* overlap with the content. But when letting go of the
|
|
341
|
+
* gesture before the refresher completes, we want the
|
|
342
|
+
* refresher tick marks to quickly fade out.
|
|
343
|
+
*/
|
|
344
|
+
const offset = this.didStart ? 30 : 0;
|
|
345
|
+
const pullAmount = (this.progress = clamp(0, (Math.abs(scrollTop) - offset) / MAX_PULL, 1));
|
|
346
|
+
const shouldShowRefreshingSpinner = this.state === 8 /* RefresherState.Refreshing */ || pullAmount === 1;
|
|
361
347
|
if (shouldShowRefreshingSpinner) {
|
|
362
348
|
if (this.pointerDown) {
|
|
363
349
|
handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY);
|
|
@@ -376,13 +362,13 @@ const Refresher = class {
|
|
|
376
362
|
}
|
|
377
363
|
}
|
|
378
364
|
else {
|
|
379
|
-
this.state = 2 /* Pulling */;
|
|
380
|
-
handleScrollWhilePulling(
|
|
365
|
+
this.state = 2 /* RefresherState.Pulling */;
|
|
366
|
+
handleScrollWhilePulling(ticks, NUM_TICKS, pullAmount);
|
|
381
367
|
}
|
|
382
368
|
});
|
|
383
369
|
};
|
|
384
370
|
this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);
|
|
385
|
-
this.gesture = (await import('./index-
|
|
371
|
+
this.gesture = (await import('./index-d39eb62b.js')).createGesture({
|
|
386
372
|
el: this.scrollEl,
|
|
387
373
|
gestureName: 'refresher',
|
|
388
374
|
gesturePriority: 31,
|
|
@@ -405,14 +391,14 @@ const Refresher = class {
|
|
|
405
391
|
MAX_PULL = this.scrollEl.clientHeight * 0.16;
|
|
406
392
|
}
|
|
407
393
|
},
|
|
408
|
-
onMove: ev => {
|
|
394
|
+
onMove: (ev) => {
|
|
409
395
|
this.lastVelocityY = ev.velocityY;
|
|
410
396
|
},
|
|
411
397
|
onEnd: () => {
|
|
412
398
|
this.pointerDown = false;
|
|
413
399
|
this.didStart = false;
|
|
414
400
|
if (this.needsCompletion) {
|
|
415
|
-
this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */);
|
|
401
|
+
this.resetNativeRefresher(this.elementToTransform, 32 /* RefresherState.Completing */);
|
|
416
402
|
this.needsCompletion = false;
|
|
417
403
|
}
|
|
418
404
|
else if (this.didRefresh) {
|
|
@@ -434,14 +420,17 @@ const Refresher = class {
|
|
|
434
420
|
refreshingCircle.style.setProperty('animation-delay', '-655ms');
|
|
435
421
|
});
|
|
436
422
|
}
|
|
437
|
-
this.gesture = (await import('./index-
|
|
423
|
+
this.gesture = (await import('./index-d39eb62b.js')).createGesture({
|
|
438
424
|
el: this.scrollEl,
|
|
439
425
|
gestureName: 'refresher',
|
|
440
426
|
gesturePriority: 31,
|
|
441
427
|
direction: 'y',
|
|
442
428
|
threshold: 5,
|
|
443
|
-
canStart: () => this.state !== 8 /* Refreshing */ &&
|
|
429
|
+
canStart: () => this.state !== 8 /* RefresherState.Refreshing */ &&
|
|
430
|
+
this.state !== 32 /* RefresherState.Completing */ &&
|
|
431
|
+
this.scrollEl.scrollTop === 0,
|
|
444
432
|
onStart: (ev) => {
|
|
433
|
+
this.progress = 0;
|
|
445
434
|
ev.data = { animation: undefined, didStart: false, cancelled: false };
|
|
446
435
|
},
|
|
447
436
|
onMove: (ev) => {
|
|
@@ -451,7 +440,7 @@ const Refresher = class {
|
|
|
451
440
|
}
|
|
452
441
|
if (!ev.data.didStart) {
|
|
453
442
|
ev.data.didStart = true;
|
|
454
|
-
this.state = 2 /* Pulling */;
|
|
443
|
+
this.state = 2 /* RefresherState.Pulling */;
|
|
455
444
|
writeTask(() => this.scrollEl.style.setProperty('--overflow', 'hidden'));
|
|
456
445
|
const animationType = getRefresherAnimationType(contentEl);
|
|
457
446
|
const animation = createPullingAnimation(animationType, pullingRefresherIcon, this.el);
|
|
@@ -470,16 +459,14 @@ const Refresher = class {
|
|
|
470
459
|
if (!ev.data.didStart) {
|
|
471
460
|
return;
|
|
472
461
|
}
|
|
462
|
+
this.gesture.enable(false);
|
|
473
463
|
writeTask(() => this.scrollEl.style.removeProperty('--overflow'));
|
|
474
464
|
if (this.progress <= 0.4) {
|
|
475
|
-
this.
|
|
476
|
-
|
|
477
|
-
.progressEnd(0, this.progress, 500)
|
|
478
|
-
.onFinish(() => {
|
|
479
|
-
this.animations.forEach(ani => ani.destroy());
|
|
465
|
+
ev.data.animation.progressEnd(0, this.progress, 500).onFinish(() => {
|
|
466
|
+
this.animations.forEach((ani) => ani.destroy());
|
|
480
467
|
this.animations = [];
|
|
481
468
|
this.gesture.enable(true);
|
|
482
|
-
this.state = 1 /* Inactive */;
|
|
469
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
483
470
|
});
|
|
484
471
|
return;
|
|
485
472
|
}
|
|
@@ -487,13 +474,14 @@ const Refresher = class {
|
|
|
487
474
|
const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon);
|
|
488
475
|
this.animations.push(snapBackAnimation);
|
|
489
476
|
writeTask(async () => {
|
|
490
|
-
pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${
|
|
477
|
+
pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${progress * 100}px`);
|
|
491
478
|
ev.data.animation.progressEnd();
|
|
492
479
|
await snapBackAnimation.play();
|
|
493
480
|
this.beginRefresh();
|
|
494
481
|
ev.data.animation.destroy();
|
|
482
|
+
this.gesture.enable(true);
|
|
495
483
|
});
|
|
496
|
-
}
|
|
484
|
+
},
|
|
497
485
|
});
|
|
498
486
|
this.disabledChanged();
|
|
499
487
|
}
|
|
@@ -527,32 +515,47 @@ const Refresher = class {
|
|
|
527
515
|
console.error('Make sure you use: <ion-refresher slot="fixed">');
|
|
528
516
|
return;
|
|
529
517
|
}
|
|
530
|
-
const contentEl = this.el.closest(
|
|
518
|
+
const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);
|
|
531
519
|
if (!contentEl) {
|
|
532
|
-
|
|
520
|
+
printIonContentErrorMsg(this.el);
|
|
533
521
|
return;
|
|
534
522
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
523
|
+
/**
|
|
524
|
+
* Waits for the content to be ready before querying the scroll
|
|
525
|
+
* or the background content element.
|
|
526
|
+
*/
|
|
527
|
+
componentOnReady(contentEl, async () => {
|
|
528
|
+
const customScrollTarget = contentEl.querySelector(ION_CONTENT_CLASS_SELECTOR);
|
|
529
|
+
/**
|
|
530
|
+
* Query the custom scroll target (if available), first. In refresher implementations,
|
|
531
|
+
* the ion-refresher element will always be a direct child of ion-content (slot="fixed"). By
|
|
532
|
+
* querying the custom scroll target first and falling back to the ion-content element,
|
|
533
|
+
* the correct scroll element will be returned by the implementation.
|
|
534
|
+
*/
|
|
535
|
+
this.scrollEl = await getScrollElement(customScrollTarget !== null && customScrollTarget !== void 0 ? customScrollTarget : contentEl);
|
|
536
|
+
/**
|
|
537
|
+
* Query the background content element from the host ion-content element directly.
|
|
538
|
+
*/
|
|
539
|
+
this.backgroundContentEl = await contentEl.getBackgroundElement();
|
|
540
|
+
if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {
|
|
541
|
+
this.setupNativeRefresher(contentEl);
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
this.gesture = (await import('./index-d39eb62b.js')).createGesture({
|
|
545
|
+
el: contentEl,
|
|
546
|
+
gestureName: 'refresher',
|
|
547
|
+
gesturePriority: 31,
|
|
548
|
+
direction: 'y',
|
|
549
|
+
threshold: 20,
|
|
550
|
+
passive: false,
|
|
551
|
+
canStart: () => this.canStart(),
|
|
552
|
+
onStart: () => this.onStart(),
|
|
553
|
+
onMove: (ev) => this.onMove(ev),
|
|
554
|
+
onEnd: () => this.onEnd(),
|
|
555
|
+
});
|
|
556
|
+
this.disabledChanged();
|
|
557
|
+
}
|
|
558
|
+
});
|
|
556
559
|
}
|
|
557
560
|
disconnectedCallback() {
|
|
558
561
|
this.destroyNativeRefresher();
|
|
@@ -576,11 +579,11 @@ const Refresher = class {
|
|
|
576
579
|
this.needsCompletion = true;
|
|
577
580
|
// Do not reset scroll el until user removes pointer from screen
|
|
578
581
|
if (!this.pointerDown) {
|
|
579
|
-
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */)));
|
|
582
|
+
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* RefresherState.Completing */)));
|
|
580
583
|
}
|
|
581
584
|
}
|
|
582
585
|
else {
|
|
583
|
-
this.close(32 /* Completing */, '120ms');
|
|
586
|
+
this.close(32 /* RefresherState.Completing */, '120ms');
|
|
584
587
|
}
|
|
585
588
|
}
|
|
586
589
|
/**
|
|
@@ -590,11 +593,11 @@ const Refresher = class {
|
|
|
590
593
|
if (this.nativeRefresher) {
|
|
591
594
|
// Do not reset scroll el until user removes pointer from screen
|
|
592
595
|
if (!this.pointerDown) {
|
|
593
|
-
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* Cancelling */)));
|
|
596
|
+
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* RefresherState.Cancelling */)));
|
|
594
597
|
}
|
|
595
598
|
}
|
|
596
599
|
else {
|
|
597
|
-
this.close(16 /* Cancelling */, '');
|
|
600
|
+
this.close(16 /* RefresherState.Cancelling */, '');
|
|
598
601
|
}
|
|
599
602
|
}
|
|
600
603
|
/**
|
|
@@ -613,7 +616,7 @@ const Refresher = class {
|
|
|
613
616
|
if (!this.scrollEl) {
|
|
614
617
|
return false;
|
|
615
618
|
}
|
|
616
|
-
if (this.state !== 1 /* Inactive */) {
|
|
619
|
+
if (this.state !== 1 /* RefresherState.Inactive */) {
|
|
617
620
|
return false;
|
|
618
621
|
}
|
|
619
622
|
// if the scrollTop is greater than zero then it's
|
|
@@ -625,7 +628,7 @@ const Refresher = class {
|
|
|
625
628
|
}
|
|
626
629
|
onStart() {
|
|
627
630
|
this.progress = 0;
|
|
628
|
-
this.state = 1 /* Inactive */;
|
|
631
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
629
632
|
}
|
|
630
633
|
onMove(detail) {
|
|
631
634
|
if (!this.scrollEl) {
|
|
@@ -636,16 +639,16 @@ const Refresher = class {
|
|
|
636
639
|
// best to do any DOM read/writes only when absolutely necessary
|
|
637
640
|
// if multi-touch then get out immediately
|
|
638
641
|
const ev = detail.event;
|
|
639
|
-
if (ev.touches && ev.touches.length > 1) {
|
|
642
|
+
if (ev.touches !== undefined && ev.touches.length > 1) {
|
|
640
643
|
return;
|
|
641
644
|
}
|
|
642
645
|
// do nothing if it's actively refreshing
|
|
643
646
|
// or it's in the way of closing
|
|
644
647
|
// or this was never a startY
|
|
645
|
-
if ((this.state & 56 /* _BUSY_ */) !== 0) {
|
|
648
|
+
if ((this.state & 56 /* RefresherState._BUSY_ */) !== 0) {
|
|
646
649
|
return;
|
|
647
650
|
}
|
|
648
|
-
const pullFactor =
|
|
651
|
+
const pullFactor = Number.isNaN(this.pullFactor) || this.pullFactor < 0 ? 1 : this.pullFactor;
|
|
649
652
|
const deltaY = detail.deltaY * pullFactor;
|
|
650
653
|
// don't bother if they're scrolling up
|
|
651
654
|
// and have not already started dragging
|
|
@@ -653,7 +656,7 @@ const Refresher = class {
|
|
|
653
656
|
// the current Y is higher than the starting Y
|
|
654
657
|
// so they scrolled up enough to be ignored
|
|
655
658
|
this.progress = 0;
|
|
656
|
-
this.state = 1 /* Inactive */;
|
|
659
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
657
660
|
if (this.appliedStyles) {
|
|
658
661
|
// reset the styles only if they were applied
|
|
659
662
|
this.setCss(0, '', false, '');
|
|
@@ -661,7 +664,7 @@ const Refresher = class {
|
|
|
661
664
|
}
|
|
662
665
|
return;
|
|
663
666
|
}
|
|
664
|
-
if (this.state === 1 /* Inactive */) {
|
|
667
|
+
if (this.state === 1 /* RefresherState.Inactive */) {
|
|
665
668
|
// this refresh is not already actively pulling down
|
|
666
669
|
// get the content's scrollTop
|
|
667
670
|
const scrollHostScrollTop = this.scrollEl.scrollTop;
|
|
@@ -672,7 +675,7 @@ const Refresher = class {
|
|
|
672
675
|
return;
|
|
673
676
|
}
|
|
674
677
|
// content scrolled all the way to the top, and dragging down
|
|
675
|
-
this.state = 2 /* Pulling */;
|
|
678
|
+
this.state = 2 /* RefresherState.Pulling */;
|
|
676
679
|
}
|
|
677
680
|
// prevent native scroll events
|
|
678
681
|
if (ev.cancelable) {
|
|
@@ -699,7 +702,7 @@ const Refresher = class {
|
|
|
699
702
|
// do nothing if the delta is less than the pull threshold
|
|
700
703
|
if (deltaY < pullMin) {
|
|
701
704
|
// ensure it stays in the pulling state, cuz its not ready yet
|
|
702
|
-
this.state = 2 /* Pulling */;
|
|
705
|
+
this.state = 2 /* RefresherState.Pulling */;
|
|
703
706
|
return;
|
|
704
707
|
}
|
|
705
708
|
if (deltaY > this.pullMax) {
|
|
@@ -710,16 +713,16 @@ const Refresher = class {
|
|
|
710
713
|
// pulled farther than the pull min!!
|
|
711
714
|
// it is now in the `ready` state!!
|
|
712
715
|
// if they let go then it'll refresh, kerpow!!
|
|
713
|
-
this.state = 4 /* Ready */;
|
|
716
|
+
this.state = 4 /* RefresherState.Ready */;
|
|
714
717
|
return;
|
|
715
718
|
}
|
|
716
719
|
onEnd() {
|
|
717
720
|
// only run in a zone when absolutely necessary
|
|
718
|
-
if (this.state === 4 /* Ready */) {
|
|
721
|
+
if (this.state === 4 /* RefresherState.Ready */) {
|
|
719
722
|
// they pulled down far enough, so it's ready to refresh
|
|
720
723
|
this.beginRefresh();
|
|
721
724
|
}
|
|
722
|
-
else if (this.state === 2 /* Pulling */) {
|
|
725
|
+
else if (this.state === 2 /* RefresherState.Pulling */) {
|
|
723
726
|
// they were pulling down, but didn't pull down far enough
|
|
724
727
|
// set the content back to it's original location
|
|
725
728
|
// and close the refresher
|
|
@@ -730,19 +733,19 @@ const Refresher = class {
|
|
|
730
733
|
beginRefresh() {
|
|
731
734
|
// assumes we're already back in a zone
|
|
732
735
|
// they pulled down far enough, so it's ready to refresh
|
|
733
|
-
this.state = 8 /* Refreshing */;
|
|
736
|
+
this.state = 8 /* RefresherState.Refreshing */;
|
|
734
737
|
// place the content in a hangout position while it thinks
|
|
735
738
|
this.setCss(this.pullMin, this.snapbackDuration, true, '');
|
|
736
739
|
// emit "refresh" because it was pulled down far enough
|
|
737
740
|
// and they let go to begin refreshing
|
|
738
741
|
this.ionRefresh.emit({
|
|
739
|
-
complete: this.complete.bind(this)
|
|
742
|
+
complete: this.complete.bind(this),
|
|
740
743
|
});
|
|
741
744
|
}
|
|
742
745
|
close(state, delay) {
|
|
743
746
|
// create fallback timer incase something goes wrong with transitionEnd event
|
|
744
747
|
setTimeout(() => {
|
|
745
|
-
this.state = 1 /* Inactive */;
|
|
748
|
+
this.state = 1 /* RefresherState.Inactive */;
|
|
746
749
|
this.progress = 0;
|
|
747
750
|
this.didStart = false;
|
|
748
751
|
this.setCss(0, '0ms', false, '');
|
|
@@ -751,21 +754,20 @@ const Refresher = class {
|
|
|
751
754
|
// set that the refresh is actively cancelling/completing
|
|
752
755
|
this.state = state;
|
|
753
756
|
this.setCss(0, this.closeDuration, true, delay);
|
|
754
|
-
// TODO: stop gesture
|
|
755
757
|
}
|
|
756
758
|
setCss(y, duration, overflowVisible, delay) {
|
|
757
759
|
if (this.nativeRefresher) {
|
|
758
760
|
return;
|
|
759
761
|
}
|
|
760
|
-
this.appliedStyles =
|
|
762
|
+
this.appliedStyles = y > 0;
|
|
761
763
|
writeTask(() => {
|
|
762
764
|
if (this.scrollEl && this.backgroundContentEl) {
|
|
763
765
|
const scrollStyle = this.scrollEl.style;
|
|
764
766
|
const backgroundStyle = this.backgroundContentEl.style;
|
|
765
|
-
scrollStyle.transform = backgroundStyle.transform =
|
|
767
|
+
scrollStyle.transform = backgroundStyle.transform = y > 0 ? `translateY(${y}px) translateZ(0px)` : '';
|
|
766
768
|
scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration;
|
|
767
769
|
scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay;
|
|
768
|
-
scrollStyle.overflow =
|
|
770
|
+
scrollStyle.overflow = overflowVisible ? 'hidden' : '';
|
|
769
771
|
}
|
|
770
772
|
});
|
|
771
773
|
}
|
|
@@ -776,12 +778,12 @@ const Refresher = class {
|
|
|
776
778
|
// Used internally for styling
|
|
777
779
|
[`refresher-${mode}`]: true,
|
|
778
780
|
'refresher-native': this.nativeRefresher,
|
|
779
|
-
'refresher-active': this.state !== 1 /* Inactive */,
|
|
780
|
-
'refresher-pulling': this.state === 2 /* Pulling */,
|
|
781
|
-
'refresher-ready': this.state === 4 /* Ready */,
|
|
782
|
-
'refresher-refreshing': this.state === 8 /* Refreshing */,
|
|
783
|
-
'refresher-cancelling': this.state === 16 /* Cancelling */,
|
|
784
|
-
'refresher-completing': this.state === 32 /* Completing */,
|
|
781
|
+
'refresher-active': this.state !== 1 /* RefresherState.Inactive */,
|
|
782
|
+
'refresher-pulling': this.state === 2 /* RefresherState.Pulling */,
|
|
783
|
+
'refresher-ready': this.state === 4 /* RefresherState.Ready */,
|
|
784
|
+
'refresher-refreshing': this.state === 8 /* RefresherState.Refreshing */,
|
|
785
|
+
'refresher-cancelling': this.state === 16 /* RefresherState.Cancelling */,
|
|
786
|
+
'refresher-completing': this.state === 32 /* RefresherState.Completing */,
|
|
785
787
|
} }));
|
|
786
788
|
}
|
|
787
789
|
get el() { return getElement(this); }
|