@pod-os/elements 0.7.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 +4 -4
- 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} +1694 -1406
- 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 +4 -4
- 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/collection-manifest.json +7 -0
- package/dist/custom-elements/index.js +12689 -4785
- 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 +4 -4
- 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} +1694 -1407
- 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 +4 -4
- 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-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-d01009b8.entry.js +0 -67
- 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,17 +1,16 @@
|
|
|
1
1
|
import { n as now, p as pointerCoord } from './index.js';
|
|
2
2
|
|
|
3
|
+
/*!
|
|
4
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
5
|
+
*/
|
|
3
6
|
const startTapClick = (config) => {
|
|
4
7
|
let lastTouch = -MOUSE_WAIT * 10;
|
|
5
8
|
let lastActivated = 0;
|
|
6
|
-
let scrollingEl;
|
|
7
9
|
let activatableEle;
|
|
8
10
|
let activeRipple;
|
|
9
11
|
let activeDefer;
|
|
10
12
|
const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
|
|
11
13
|
const clearDefers = new WeakMap();
|
|
12
|
-
const isScrolling = () => {
|
|
13
|
-
return scrollingEl !== undefined && scrollingEl.parentElement !== null;
|
|
14
|
-
};
|
|
15
14
|
// Touch Events
|
|
16
15
|
const onTouchStart = (ev) => {
|
|
17
16
|
lastTouch = now(ev);
|
|
@@ -22,6 +21,10 @@ const startTapClick = (config) => {
|
|
|
22
21
|
pointerUp(ev);
|
|
23
22
|
};
|
|
24
23
|
const onMouseDown = (ev) => {
|
|
24
|
+
// Ignore right clicks
|
|
25
|
+
if (ev.button === 2) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
25
28
|
const t = now(ev) - MOUSE_WAIT;
|
|
26
29
|
if (lastTouch < t) {
|
|
27
30
|
pointerDown(ev);
|
|
@@ -42,10 +45,9 @@ const startTapClick = (config) => {
|
|
|
42
45
|
}
|
|
43
46
|
};
|
|
44
47
|
const pointerDown = (ev) => {
|
|
45
|
-
if (activatableEle
|
|
48
|
+
if (activatableEle) {
|
|
46
49
|
return;
|
|
47
50
|
}
|
|
48
|
-
scrollingEl = undefined;
|
|
49
51
|
setActivatedElement(getActivatableTarget(ev), ev);
|
|
50
52
|
};
|
|
51
53
|
const pointerUp = (ev) => {
|
|
@@ -88,15 +90,17 @@ const startTapClick = (config) => {
|
|
|
88
90
|
const addActivated = (el, x, y) => {
|
|
89
91
|
lastActivated = Date.now();
|
|
90
92
|
el.classList.add(ACTIVATED);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
if (!useRippleEffect)
|
|
94
|
+
return;
|
|
95
|
+
const rippleEffect = getRippleEffect(el);
|
|
96
|
+
if (rippleEffect !== null) {
|
|
93
97
|
removeRipple();
|
|
94
98
|
activeRipple = rippleEffect.addRipple(x, y);
|
|
95
99
|
}
|
|
96
100
|
};
|
|
97
101
|
const removeRipple = () => {
|
|
98
102
|
if (activeRipple !== undefined) {
|
|
99
|
-
activeRipple.then(remove => remove());
|
|
103
|
+
activeRipple.then((remove) => remove());
|
|
100
104
|
activeRipple = undefined;
|
|
101
105
|
}
|
|
102
106
|
};
|
|
@@ -119,26 +123,40 @@ const startTapClick = (config) => {
|
|
|
119
123
|
}
|
|
120
124
|
};
|
|
121
125
|
const doc = document;
|
|
122
|
-
doc.addEventListener('ionScrollStart', ev => {
|
|
123
|
-
scrollingEl = ev.target;
|
|
124
|
-
cancelActive();
|
|
125
|
-
});
|
|
126
|
-
doc.addEventListener('ionScrollEnd', () => {
|
|
127
|
-
scrollingEl = undefined;
|
|
128
|
-
});
|
|
129
126
|
doc.addEventListener('ionGestureCaptured', cancelActive);
|
|
130
127
|
doc.addEventListener('touchstart', onTouchStart, true);
|
|
131
128
|
doc.addEventListener('touchcancel', onTouchEnd, true);
|
|
132
129
|
doc.addEventListener('touchend', onTouchEnd, true);
|
|
130
|
+
/**
|
|
131
|
+
* Tap click effects such as the ripple effect should
|
|
132
|
+
* not happen when scrolling. For example, if a user scrolls
|
|
133
|
+
* the page but also happens to do a touchstart on a button
|
|
134
|
+
* as part of the scroll, the ripple effect should not
|
|
135
|
+
* be dispatched. The ripple effect should only happen
|
|
136
|
+
* if the button is activated and the page is not scrolling.
|
|
137
|
+
*
|
|
138
|
+
* pointercancel is dispatched on a gesture when scrolling
|
|
139
|
+
* starts, so this lets us avoid having to listen for
|
|
140
|
+
* ion-content's scroll events.
|
|
141
|
+
*/
|
|
142
|
+
doc.addEventListener('pointercancel', cancelActive, true);
|
|
133
143
|
doc.addEventListener('mousedown', onMouseDown, true);
|
|
134
144
|
doc.addEventListener('mouseup', onMouseUp, true);
|
|
135
145
|
};
|
|
136
146
|
const getActivatableTarget = (ev) => {
|
|
137
|
-
if (ev.composedPath) {
|
|
147
|
+
if (ev.composedPath !== undefined) {
|
|
148
|
+
/**
|
|
149
|
+
* composedPath returns EventTarget[]. However,
|
|
150
|
+
* objects other than Element can be targets too.
|
|
151
|
+
* For example, AudioContext can be a target. In this
|
|
152
|
+
* case, we know that the event is a UIEvent so we
|
|
153
|
+
* can assume that the path will contain either Element
|
|
154
|
+
* or ShadowRoot.
|
|
155
|
+
*/
|
|
138
156
|
const path = ev.composedPath();
|
|
139
157
|
for (let i = 0; i < path.length - 2; i++) {
|
|
140
158
|
const el = path[i];
|
|
141
|
-
if (el
|
|
159
|
+
if (!(el instanceof ShadowRoot) && el.classList.contains('ion-activatable')) {
|
|
142
160
|
return el;
|
|
143
161
|
}
|
|
144
162
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { a as addEventListener, r as removeEventListener, b as raf, p as pointerCoord, c as componentOnReady } from './index.js';
|
|
1
|
+
import { a as addEventListener, r as removeEventListener, b as raf, g as getScrollElement, p as pointerCoord, d as scrollByPoint, f as findClosestIonContent, c as componentOnReady } from './index.js';
|
|
2
2
|
|
|
3
|
+
/*!
|
|
4
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
5
|
+
*/
|
|
3
6
|
const cloneMap = new WeakMap();
|
|
4
|
-
const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0) => {
|
|
7
|
+
const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
|
|
5
8
|
if (cloneMap.has(componentEl) === shouldRelocate) {
|
|
6
9
|
return;
|
|
7
10
|
}
|
|
8
11
|
if (shouldRelocate) {
|
|
9
|
-
addClone(componentEl, inputEl, inputRelativeY);
|
|
12
|
+
addClone(componentEl, inputEl, inputRelativeY, disabledClonedInput);
|
|
10
13
|
}
|
|
11
14
|
else {
|
|
12
15
|
removeClone(componentEl, inputEl);
|
|
@@ -15,7 +18,7 @@ const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0)
|
|
|
15
18
|
const isFocused = (input) => {
|
|
16
19
|
return input === input.getRootNode().activeElement;
|
|
17
20
|
};
|
|
18
|
-
const addClone = (componentEl, inputEl, inputRelativeY) => {
|
|
21
|
+
const addClone = (componentEl, inputEl, inputRelativeY, disabledClonedInput = false) => {
|
|
19
22
|
// this allows for the actual input to receive the focus from
|
|
20
23
|
// the user's touch event, but before it receives focus, it
|
|
21
24
|
// moves the actual input to a location that will not screw
|
|
@@ -30,6 +33,21 @@ const addClone = (componentEl, inputEl, inputRelativeY) => {
|
|
|
30
33
|
const clonedEl = inputEl.cloneNode(false);
|
|
31
34
|
clonedEl.classList.add('cloned-input');
|
|
32
35
|
clonedEl.tabIndex = -1;
|
|
36
|
+
/**
|
|
37
|
+
* Making the cloned input disabled prevents
|
|
38
|
+
* Chrome for Android from still scrolling
|
|
39
|
+
* the entire page since this cloned input
|
|
40
|
+
* will briefly be hidden by the keyboard
|
|
41
|
+
* even though it is not focused.
|
|
42
|
+
*
|
|
43
|
+
* This is not needed on iOS. While this
|
|
44
|
+
* does not cause functional issues on iOS,
|
|
45
|
+
* the input still appears slightly dimmed even
|
|
46
|
+
* if we set opacity: 1.
|
|
47
|
+
*/
|
|
48
|
+
if (disabledClonedInput) {
|
|
49
|
+
clonedEl.disabled = true;
|
|
50
|
+
}
|
|
33
51
|
parentEl.appendChild(clonedEl);
|
|
34
52
|
cloneMap.set(componentEl, clonedEl);
|
|
35
53
|
const doc = componentEl.ownerDocument;
|
|
@@ -47,9 +65,14 @@ const removeClone = (componentEl, inputEl) => {
|
|
|
47
65
|
inputEl.style.transform = '';
|
|
48
66
|
};
|
|
49
67
|
|
|
68
|
+
/*!
|
|
69
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
70
|
+
*/
|
|
50
71
|
const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
|
|
51
72
|
if (!scrollEl || !inputEl) {
|
|
52
|
-
return () => {
|
|
73
|
+
return () => {
|
|
74
|
+
return;
|
|
75
|
+
};
|
|
53
76
|
}
|
|
54
77
|
const scrollHideCaret = (shouldHideCaret) => {
|
|
55
78
|
if (isFocused(inputEl)) {
|
|
@@ -69,6 +92,9 @@ const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
|
|
|
69
92
|
};
|
|
70
93
|
};
|
|
71
94
|
|
|
95
|
+
/*!
|
|
96
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
97
|
+
*/
|
|
72
98
|
const SKIP_SELECTOR = 'input, textarea, [no-blur], [contenteditable]';
|
|
73
99
|
const enableInputBlurring = () => {
|
|
74
100
|
let focused = true;
|
|
@@ -103,7 +129,7 @@ const enableInputBlurring = () => {
|
|
|
103
129
|
return;
|
|
104
130
|
}
|
|
105
131
|
focused = false;
|
|
106
|
-
// TODO: find a better way, why 50ms?
|
|
132
|
+
// TODO FW-2796: find a better way, why 50ms?
|
|
107
133
|
setTimeout(() => {
|
|
108
134
|
if (!focused) {
|
|
109
135
|
active.blur();
|
|
@@ -120,9 +146,13 @@ const enableInputBlurring = () => {
|
|
|
120
146
|
};
|
|
121
147
|
};
|
|
122
148
|
|
|
149
|
+
/*!
|
|
150
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
151
|
+
*/
|
|
123
152
|
const SCROLL_ASSIST_SPEED = 0.3;
|
|
124
153
|
const getScrollData = (componentEl, contentEl, keyboardHeight) => {
|
|
125
|
-
|
|
154
|
+
var _a;
|
|
155
|
+
const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
|
|
126
156
|
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight);
|
|
127
157
|
};
|
|
128
158
|
const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
|
|
@@ -139,11 +169,7 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
|
|
|
139
169
|
const distanceToBottom = safeAreaBottom - inputBottom;
|
|
140
170
|
const distanceToTop = safeAreaTop - inputTop;
|
|
141
171
|
// desiredScrollAmount is the negated distance to the safe area according to our calculations.
|
|
142
|
-
const desiredScrollAmount = Math.round(
|
|
143
|
-
? -distanceToBottom
|
|
144
|
-
: (distanceToTop > 0)
|
|
145
|
-
? -distanceToTop
|
|
146
|
-
: 0);
|
|
172
|
+
const desiredScrollAmount = Math.round(distanceToBottom < 0 ? -distanceToBottom : distanceToTop > 0 ? -distanceToTop : 0);
|
|
147
173
|
// our calculations make some assumptions that aren't always true, like the keyboard being closed when an input
|
|
148
174
|
// gets focus, so make sure we don't scroll the input above the visible area
|
|
149
175
|
const scrollAmount = Math.min(desiredScrollAmount, inputTop - visibleAreaTop);
|
|
@@ -154,11 +180,14 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
|
|
|
154
180
|
scrollAmount,
|
|
155
181
|
scrollDuration,
|
|
156
182
|
scrollPadding: keyboardHeight,
|
|
157
|
-
inputSafeY: -(inputTop - safeAreaTop) + 4
|
|
183
|
+
inputSafeY: -(inputTop - safeAreaTop) + 4,
|
|
158
184
|
};
|
|
159
185
|
};
|
|
160
186
|
|
|
161
|
-
|
|
187
|
+
/*!
|
|
188
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
189
|
+
*/
|
|
190
|
+
const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
|
|
162
191
|
let coord;
|
|
163
192
|
const touchStart = (ev) => {
|
|
164
193
|
coord = pointerCoord(ev);
|
|
@@ -173,19 +202,18 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
|
|
|
173
202
|
// focus this input if the pointer hasn't moved XX pixels
|
|
174
203
|
// and the input doesn't already have focus
|
|
175
204
|
if (!hasPointerMoved(6, coord, endCoord) && !isFocused(inputEl)) {
|
|
176
|
-
ev.stopPropagation();
|
|
177
205
|
// begin the input focus process
|
|
178
|
-
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight);
|
|
206
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput);
|
|
179
207
|
}
|
|
180
208
|
};
|
|
181
|
-
componentEl.addEventListener('touchstart', touchStart, true);
|
|
209
|
+
componentEl.addEventListener('touchstart', touchStart, { capture: true, passive: true });
|
|
182
210
|
componentEl.addEventListener('touchend', touchEnd, true);
|
|
183
211
|
return () => {
|
|
184
212
|
componentEl.removeEventListener('touchstart', touchStart, true);
|
|
185
213
|
componentEl.removeEventListener('touchend', touchEnd, true);
|
|
186
214
|
};
|
|
187
215
|
};
|
|
188
|
-
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {
|
|
216
|
+
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
|
|
189
217
|
if (!contentEl && !footerEl) {
|
|
190
218
|
return;
|
|
191
219
|
}
|
|
@@ -199,7 +227,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
199
227
|
// temporarily move the focus to the focus holder so the browser
|
|
200
228
|
// doesn't freak out while it's trying to get the input in place
|
|
201
229
|
// at this point the native text input still does not have focus
|
|
202
|
-
relocateInput(componentEl, inputEl, true, scrollData.inputSafeY);
|
|
230
|
+
relocateInput(componentEl, inputEl, true, scrollData.inputSafeY, disableClonedInput);
|
|
203
231
|
inputEl.focus();
|
|
204
232
|
/**
|
|
205
233
|
* Relocating/Focusing input causes the
|
|
@@ -207,7 +235,6 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
207
235
|
* manually fire one here.
|
|
208
236
|
*/
|
|
209
237
|
raf(() => componentEl.click());
|
|
210
|
-
/* tslint:disable-next-line */
|
|
211
238
|
if (typeof window !== 'undefined') {
|
|
212
239
|
let scrollContentTimeout;
|
|
213
240
|
const scrollContent = async () => {
|
|
@@ -219,7 +246,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
219
246
|
window.removeEventListener('ionKeyboardDidShow', scrollContent);
|
|
220
247
|
// scroll the input into place
|
|
221
248
|
if (contentEl) {
|
|
222
|
-
await
|
|
249
|
+
await scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
|
|
223
250
|
}
|
|
224
251
|
// the scroll view is in the correct position now
|
|
225
252
|
// give the native text input focus
|
|
@@ -232,7 +259,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
232
259
|
window.addEventListener('ionKeyboardDidShow', scrollContent);
|
|
233
260
|
};
|
|
234
261
|
if (contentEl) {
|
|
235
|
-
const scrollEl = await
|
|
262
|
+
const scrollEl = await getScrollElement(contentEl);
|
|
236
263
|
/**
|
|
237
264
|
* scrollData will only consider the amount we need
|
|
238
265
|
* to scroll in order to properly bring the input
|
|
@@ -246,7 +273,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
246
273
|
* bandwidth to become available.
|
|
247
274
|
*/
|
|
248
275
|
const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
|
|
249
|
-
if (scrollData.scrollAmount >
|
|
276
|
+
if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
250
277
|
/**
|
|
251
278
|
* On iOS devices, the system will show a "Passwords" bar above the keyboard
|
|
252
279
|
* after the initial keyboard is shown. This prevents the webview from resizing
|
|
@@ -275,14 +302,17 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
275
302
|
};
|
|
276
303
|
const hasPointerMoved = (threshold, startCoord, endCoord) => {
|
|
277
304
|
if (startCoord && endCoord) {
|
|
278
|
-
const deltaX =
|
|
279
|
-
const deltaY =
|
|
305
|
+
const deltaX = startCoord.x - endCoord.x;
|
|
306
|
+
const deltaY = startCoord.y - endCoord.y;
|
|
280
307
|
const distance = deltaX * deltaX + deltaY * deltaY;
|
|
281
|
-
return distance >
|
|
308
|
+
return distance > threshold * threshold;
|
|
282
309
|
}
|
|
283
310
|
return false;
|
|
284
311
|
};
|
|
285
312
|
|
|
313
|
+
/*!
|
|
314
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
315
|
+
*/
|
|
286
316
|
const PADDING_TIMER_KEY = '$ionPaddingTimer';
|
|
287
317
|
const enableScrollPadding = (keyboardHeight) => {
|
|
288
318
|
const doc = document;
|
|
@@ -300,18 +330,17 @@ const enableScrollPadding = (keyboardHeight) => {
|
|
|
300
330
|
};
|
|
301
331
|
};
|
|
302
332
|
const setScrollPadding = (input, keyboardHeight) => {
|
|
333
|
+
var _a, _b;
|
|
303
334
|
if (input.tagName !== 'INPUT') {
|
|
304
335
|
return;
|
|
305
336
|
}
|
|
306
337
|
if (input.parentElement && input.parentElement.tagName === 'ION-INPUT') {
|
|
307
338
|
return;
|
|
308
339
|
}
|
|
309
|
-
if (input.parentElement
|
|
310
|
-
input.parentElement.parentElement &&
|
|
311
|
-
input.parentElement.parentElement.tagName === 'ION-SEARCHBAR') {
|
|
340
|
+
if (((_b = (_a = input.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.tagName) === 'ION-SEARCHBAR') {
|
|
312
341
|
return;
|
|
313
342
|
}
|
|
314
|
-
const el = input
|
|
343
|
+
const el = findClosestIonContent(input);
|
|
315
344
|
if (el === null) {
|
|
316
345
|
return;
|
|
317
346
|
}
|
|
@@ -329,24 +358,34 @@ const setScrollPadding = (input, keyboardHeight) => {
|
|
|
329
358
|
}
|
|
330
359
|
};
|
|
331
360
|
|
|
361
|
+
/*!
|
|
362
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
363
|
+
*/
|
|
332
364
|
const INPUT_BLURRING = true;
|
|
333
365
|
const SCROLL_PADDING = true;
|
|
334
|
-
const startInputShims = (config) => {
|
|
366
|
+
const startInputShims = (config, platform) => {
|
|
335
367
|
const doc = document;
|
|
368
|
+
const isIOS = platform === 'ios';
|
|
369
|
+
const isAndroid = platform === 'android';
|
|
370
|
+
/**
|
|
371
|
+
* Hide Caret and Input Blurring are needed on iOS.
|
|
372
|
+
* Scroll Assist and Scroll Padding are needed on iOS and Android
|
|
373
|
+
* with Chrome web browser (not Chrome webview).
|
|
374
|
+
*/
|
|
336
375
|
const keyboardHeight = config.getNumber('keyboardHeight', 290);
|
|
337
376
|
const scrollAssist = config.getBoolean('scrollAssist', true);
|
|
338
|
-
const hideCaret = config.getBoolean('hideCaretOnScroll',
|
|
339
|
-
const inputBlurring = config.getBoolean('inputBlurring',
|
|
377
|
+
const hideCaret = config.getBoolean('hideCaretOnScroll', isIOS);
|
|
378
|
+
const inputBlurring = config.getBoolean('inputBlurring', isIOS);
|
|
340
379
|
const scrollPadding = config.getBoolean('scrollPadding', true);
|
|
341
380
|
const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea'));
|
|
342
381
|
const hideCaretMap = new WeakMap();
|
|
343
382
|
const scrollAssistMap = new WeakMap();
|
|
344
383
|
const registerInput = async (componentEl) => {
|
|
345
|
-
await new Promise(resolve => componentOnReady(componentEl, resolve));
|
|
384
|
+
await new Promise((resolve) => componentOnReady(componentEl, resolve));
|
|
346
385
|
const inputRoot = componentEl.shadowRoot || componentEl;
|
|
347
386
|
const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
|
|
348
|
-
const scrollEl = componentEl
|
|
349
|
-
const footerEl =
|
|
387
|
+
const scrollEl = findClosestIonContent(componentEl);
|
|
388
|
+
const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
|
|
350
389
|
if (!inputEl) {
|
|
351
390
|
return;
|
|
352
391
|
}
|
|
@@ -354,8 +393,18 @@ const startInputShims = (config) => {
|
|
|
354
393
|
const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl);
|
|
355
394
|
hideCaretMap.set(componentEl, rmFn);
|
|
356
395
|
}
|
|
357
|
-
|
|
358
|
-
|
|
396
|
+
/**
|
|
397
|
+
* date/datetime-locale inputs on mobile devices show date picker
|
|
398
|
+
* overlays instead of keyboards. As a result, scroll assist is
|
|
399
|
+
* not needed. This also works around a bug in iOS <16 where
|
|
400
|
+
* scroll assist causes the browser to lock up. See FW-1997.
|
|
401
|
+
*/
|
|
402
|
+
const isDateInput = inputEl.type === 'date' || inputEl.type === 'datetime-local';
|
|
403
|
+
if (!isDateInput &&
|
|
404
|
+
(!!scrollEl || !!footerEl) &&
|
|
405
|
+
scrollAssist &&
|
|
406
|
+
!scrollAssistMap.has(componentEl)) {
|
|
407
|
+
const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight, isAndroid);
|
|
359
408
|
scrollAssistMap.set(componentEl, rmFn);
|
|
360
409
|
}
|
|
361
410
|
};
|