@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,9 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const ionicGlobal = require('./ionic-global-
|
|
4
|
-
const hardwareBackButton = require('./hardware-back-button-
|
|
5
|
-
const helpers = require('./helpers-
|
|
3
|
+
const ionicGlobal = require('./ionic-global-f2d95fd3.js');
|
|
4
|
+
const hardwareBackButton = require('./hardware-back-button-25372ec7.js');
|
|
5
|
+
const helpers = require('./helpers-cb08f5ae.js');
|
|
6
6
|
|
|
7
|
+
/*!
|
|
8
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
9
|
+
*/
|
|
7
10
|
let lastId = 0;
|
|
8
11
|
const activeAnimations = new WeakMap();
|
|
9
12
|
const createController = (tagName) => {
|
|
@@ -16,15 +19,13 @@ const createController = (tagName) => {
|
|
|
16
19
|
},
|
|
17
20
|
async getTop() {
|
|
18
21
|
return getOverlay(document, tagName);
|
|
19
|
-
}
|
|
22
|
+
},
|
|
20
23
|
};
|
|
21
24
|
};
|
|
22
25
|
const alertController = /*@__PURE__*/ createController('ion-alert');
|
|
23
26
|
const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
|
|
24
|
-
const pickerController = /*@__PURE__*/ createController('ion-picker');
|
|
25
27
|
const popoverController = /*@__PURE__*/ createController('ion-popover');
|
|
26
28
|
const prepareOverlay = (el) => {
|
|
27
|
-
/* tslint:disable-next-line */
|
|
28
29
|
if (typeof document !== 'undefined') {
|
|
29
30
|
connectListeners(document);
|
|
30
31
|
}
|
|
@@ -35,45 +36,58 @@ const prepareOverlay = (el) => {
|
|
|
35
36
|
}
|
|
36
37
|
};
|
|
37
38
|
const createOverlay = (tagName, opts) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return customElements.whenDefined(tagName).then(() => {
|
|
39
|
+
if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
|
|
40
|
+
return window.customElements.whenDefined(tagName).then(() => {
|
|
41
41
|
const element = document.createElement(tagName);
|
|
42
42
|
element.classList.add('overlay-hidden');
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Convert the passed in overlay options into props
|
|
45
|
+
* that get passed down into the new overlay.
|
|
46
|
+
*/
|
|
47
|
+
Object.assign(element, Object.assign(Object.assign({}, opts), { hasController: true }));
|
|
46
48
|
// append the overlay element to the document body
|
|
47
49
|
getAppRoot(document).appendChild(element);
|
|
48
|
-
return new Promise(resolve => helpers.componentOnReady(element, resolve));
|
|
50
|
+
return new Promise((resolve) => helpers.componentOnReady(element, resolve));
|
|
49
51
|
});
|
|
50
52
|
}
|
|
51
53
|
return Promise.resolve();
|
|
52
54
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
/**
|
|
56
|
+
* This query string selects elements that
|
|
57
|
+
* are eligible to receive focus. We select
|
|
58
|
+
* interactive elements that meet the following
|
|
59
|
+
* criteria:
|
|
60
|
+
* 1. Element does not have a negative tabindex
|
|
61
|
+
* 2. Element does not have `hidden`
|
|
62
|
+
* 3. Element does not have `disabled` for non-Ionic components.
|
|
63
|
+
* 4. Element does not have `disabled` or `disabled="true"` for Ionic components.
|
|
64
|
+
* Note: We need this distinction because `disabled="false"` is
|
|
65
|
+
* valid usage for the disabled property on ion-button.
|
|
66
|
+
*/
|
|
67
|
+
const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
|
|
55
68
|
const focusFirstDescendant = (ref, overlay) => {
|
|
56
69
|
let firstInput = ref.querySelector(focusableQueryString);
|
|
57
|
-
const shadowRoot = firstInput
|
|
70
|
+
const shadowRoot = firstInput === null || firstInput === void 0 ? void 0 : firstInput.shadowRoot;
|
|
58
71
|
if (shadowRoot) {
|
|
59
72
|
// If there are no inner focusable elements, just focus the host element.
|
|
60
|
-
firstInput = shadowRoot.querySelector(
|
|
73
|
+
firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
|
|
61
74
|
}
|
|
62
75
|
if (firstInput) {
|
|
63
|
-
|
|
76
|
+
helpers.focusElement(firstInput);
|
|
64
77
|
}
|
|
65
78
|
else {
|
|
66
79
|
// Focus overlay instead of letting focus escape
|
|
67
80
|
overlay.focus();
|
|
68
81
|
}
|
|
69
82
|
};
|
|
83
|
+
const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
|
|
70
84
|
const focusLastDescendant = (ref, overlay) => {
|
|
71
85
|
const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
|
|
72
86
|
let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
|
|
73
|
-
const shadowRoot = lastInput
|
|
87
|
+
const shadowRoot = lastInput === null || lastInput === void 0 ? void 0 : lastInput.shadowRoot;
|
|
74
88
|
if (shadowRoot) {
|
|
75
89
|
// If there are no inner focusable elements, just focus the host element.
|
|
76
|
-
lastInput = shadowRoot.querySelector(
|
|
90
|
+
lastInput = shadowRoot.querySelector(focusableQueryString) || lastInput;
|
|
77
91
|
}
|
|
78
92
|
if (lastInput) {
|
|
79
93
|
lastInput.focus();
|
|
@@ -91,53 +105,116 @@ const focusLastDescendant = (ref, overlay) => {
|
|
|
91
105
|
* Should NOT include: Toast
|
|
92
106
|
*/
|
|
93
107
|
const trapKeyboardFocus = (ev, doc) => {
|
|
94
|
-
const lastOverlay = getOverlay(doc);
|
|
108
|
+
const lastOverlay = getOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
|
|
95
109
|
const target = ev.target;
|
|
96
|
-
|
|
110
|
+
/**
|
|
111
|
+
* If no active overlay, ignore this event.
|
|
112
|
+
*
|
|
113
|
+
* If this component uses the shadow dom,
|
|
114
|
+
* this global listener is pointless
|
|
115
|
+
* since it will not catch the focus
|
|
116
|
+
* traps as they are inside the shadow root.
|
|
117
|
+
* We need to add a listener to the shadow root
|
|
118
|
+
* itself to ensure the focus trap works.
|
|
119
|
+
*/
|
|
97
120
|
if (!lastOverlay || !target) {
|
|
98
121
|
return;
|
|
99
122
|
}
|
|
100
123
|
/**
|
|
101
|
-
* If
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
124
|
+
* If the ion-disable-focus-trap class
|
|
125
|
+
* is present on an overlay, then this component
|
|
126
|
+
* instance has opted out of focus trapping.
|
|
127
|
+
* An example of this is when the sheet modal
|
|
128
|
+
* has a backdrop that is disabled. The content
|
|
129
|
+
* behind the sheet should be focusable until
|
|
130
|
+
* the backdrop is enabled.
|
|
105
131
|
*/
|
|
106
|
-
if (lastOverlay
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Otherwise, we must be focusing an element
|
|
110
|
-
* inside of the overlay. The two possible options
|
|
111
|
-
* here are an input/button/etc or the ion-focus-trap
|
|
112
|
-
* element. The focus trap element is used to prevent
|
|
113
|
-
* the keyboard focus from leaving the overlay when
|
|
114
|
-
* using Tab or screen assistants.
|
|
115
|
-
*/
|
|
132
|
+
if (lastOverlay.classList.contains('ion-disable-focus-trap')) {
|
|
133
|
+
return;
|
|
116
134
|
}
|
|
117
|
-
|
|
135
|
+
const trapScopedFocus = () => {
|
|
118
136
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
137
|
+
* If we are focusing the overlay, clear
|
|
138
|
+
* the last focused element so that hitting
|
|
139
|
+
* tab activates the first focusable element
|
|
140
|
+
* in the overlay wrapper.
|
|
121
141
|
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
142
|
+
if (lastOverlay === target) {
|
|
143
|
+
lastOverlay.lastFocus = undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Otherwise, we must be focusing an element
|
|
146
|
+
* inside of the overlay. The two possible options
|
|
147
|
+
* here are an input/button/etc or the ion-focus-trap
|
|
148
|
+
* element. The focus trap element is used to prevent
|
|
149
|
+
* the keyboard focus from leaving the overlay when
|
|
150
|
+
* using Tab or screen assistants.
|
|
151
|
+
*/
|
|
125
152
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
153
|
+
else {
|
|
154
|
+
/**
|
|
155
|
+
* We do not want to focus the traps, so get the overlay
|
|
156
|
+
* wrapper element as the traps live outside of the wrapper.
|
|
157
|
+
*/
|
|
158
|
+
const overlayRoot = helpers.getElementRoot(lastOverlay);
|
|
159
|
+
if (!overlayRoot.contains(target)) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');
|
|
163
|
+
if (!overlayWrapper) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* If the target is inside the wrapper, let the browser
|
|
168
|
+
* focus as normal and keep a log of the last focused element.
|
|
169
|
+
*/
|
|
170
|
+
if (overlayWrapper.contains(target)) {
|
|
171
|
+
lastOverlay.lastFocus = target;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
/**
|
|
175
|
+
* Otherwise, we must have focused one of the focus traps.
|
|
176
|
+
* We need to wrap the focus to either the first element
|
|
177
|
+
* or the last element.
|
|
178
|
+
*/
|
|
179
|
+
/**
|
|
180
|
+
* Once we call `focusFirstDescendant` and focus the first
|
|
181
|
+
* descendant, another focus event will fire which will
|
|
182
|
+
* cause `lastOverlay.lastFocus` to be updated before
|
|
183
|
+
* we can run the code after that. We will cache the value
|
|
184
|
+
* here to avoid that.
|
|
185
|
+
*/
|
|
186
|
+
const lastFocus = lastOverlay.lastFocus;
|
|
187
|
+
// Focus the first element in the overlay wrapper
|
|
188
|
+
focusFirstDescendant(overlayWrapper, lastOverlay);
|
|
189
|
+
/**
|
|
190
|
+
* If the cached last focused element is the
|
|
191
|
+
* same as the active element, then we need
|
|
192
|
+
* to wrap focus to the last descendant. This happens
|
|
193
|
+
* when the first descendant is focused, and the user
|
|
194
|
+
* presses Shift + Tab. The previous line will focus
|
|
195
|
+
* the same descendant again (the first one), causing
|
|
196
|
+
* last focus to equal the active element.
|
|
197
|
+
*/
|
|
198
|
+
if (lastFocus === doc.activeElement) {
|
|
199
|
+
focusLastDescendant(overlayWrapper, lastOverlay);
|
|
200
|
+
}
|
|
201
|
+
lastOverlay.lastFocus = doc.activeElement;
|
|
202
|
+
}
|
|
129
203
|
}
|
|
204
|
+
};
|
|
205
|
+
const trapShadowFocus = () => {
|
|
130
206
|
/**
|
|
131
207
|
* If the target is inside the wrapper, let the browser
|
|
132
208
|
* focus as normal and keep a log of the last focused element.
|
|
133
209
|
*/
|
|
134
|
-
if (
|
|
210
|
+
if (lastOverlay.contains(target)) {
|
|
135
211
|
lastOverlay.lastFocus = target;
|
|
136
212
|
}
|
|
137
213
|
else {
|
|
138
214
|
/**
|
|
139
|
-
* Otherwise, we
|
|
140
|
-
*
|
|
215
|
+
* Otherwise, we are about to have focus
|
|
216
|
+
* go out of the overlay. We need to wrap
|
|
217
|
+
* the focus to either the first element
|
|
141
218
|
* or the last element.
|
|
142
219
|
*/
|
|
143
220
|
/**
|
|
@@ -149,7 +226,7 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
149
226
|
*/
|
|
150
227
|
const lastFocus = lastOverlay.lastFocus;
|
|
151
228
|
// Focus the first element in the overlay wrapper
|
|
152
|
-
focusFirstDescendant(
|
|
229
|
+
focusFirstDescendant(lastOverlay, lastOverlay);
|
|
153
230
|
/**
|
|
154
231
|
* If the cached last focused element is the
|
|
155
232
|
* same as the active element, then we need
|
|
@@ -160,30 +237,38 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
160
237
|
* last focus to equal the active element.
|
|
161
238
|
*/
|
|
162
239
|
if (lastFocus === doc.activeElement) {
|
|
163
|
-
focusLastDescendant(
|
|
240
|
+
focusLastDescendant(lastOverlay, lastOverlay);
|
|
164
241
|
}
|
|
165
242
|
lastOverlay.lastFocus = doc.activeElement;
|
|
166
243
|
}
|
|
244
|
+
};
|
|
245
|
+
if (lastOverlay.shadowRoot) {
|
|
246
|
+
trapShadowFocus();
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
trapScopedFocus();
|
|
167
250
|
}
|
|
168
251
|
};
|
|
169
252
|
const connectListeners = (doc) => {
|
|
170
253
|
if (lastId === 0) {
|
|
171
254
|
lastId = 1;
|
|
172
|
-
doc.addEventListener('focus', ev =>
|
|
255
|
+
doc.addEventListener('focus', (ev) => {
|
|
256
|
+
trapKeyboardFocus(ev, doc);
|
|
257
|
+
}, true);
|
|
173
258
|
// handle back-button click
|
|
174
|
-
doc.addEventListener('ionBackButton', ev => {
|
|
259
|
+
doc.addEventListener('ionBackButton', (ev) => {
|
|
175
260
|
const lastOverlay = getOverlay(doc);
|
|
176
|
-
if (lastOverlay
|
|
261
|
+
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
177
262
|
ev.detail.register(hardwareBackButton.OVERLAY_BACK_BUTTON_PRIORITY, () => {
|
|
178
263
|
return lastOverlay.dismiss(undefined, BACKDROP);
|
|
179
264
|
});
|
|
180
265
|
}
|
|
181
266
|
});
|
|
182
267
|
// handle ESC to close overlay
|
|
183
|
-
doc.addEventListener('keyup', ev => {
|
|
268
|
+
doc.addEventListener('keyup', (ev) => {
|
|
184
269
|
if (ev.key === 'Escape') {
|
|
185
270
|
const lastOverlay = getOverlay(doc);
|
|
186
|
-
if (lastOverlay
|
|
271
|
+
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
187
272
|
lastOverlay.dismiss(undefined, BACKDROP);
|
|
188
273
|
}
|
|
189
274
|
}
|
|
@@ -201,14 +286,18 @@ const getOverlays = (doc, selector) => {
|
|
|
201
286
|
if (selector === undefined) {
|
|
202
287
|
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
|
|
203
288
|
}
|
|
204
|
-
return Array.from(doc.querySelectorAll(selector))
|
|
205
|
-
.filter(c => c.overlayIndex > 0);
|
|
289
|
+
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
206
290
|
};
|
|
291
|
+
/**
|
|
292
|
+
* Returns an overlay element
|
|
293
|
+
* @param doc The document to find the element within.
|
|
294
|
+
* @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
|
|
295
|
+
* @param id The unique identifier for the overlay instance.
|
|
296
|
+
* @returns The overlay element or `undefined` if no overlay element is found.
|
|
297
|
+
*/
|
|
207
298
|
const getOverlay = (doc, overlayTag, id) => {
|
|
208
|
-
const overlays = getOverlays(doc, overlayTag);
|
|
209
|
-
return
|
|
210
|
-
? overlays[overlays.length - 1]
|
|
211
|
-
: overlays.find(o => o.id === id);
|
|
299
|
+
const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
|
|
300
|
+
return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
|
|
212
301
|
};
|
|
213
302
|
/**
|
|
214
303
|
* When an overlay is presented, the main
|
|
@@ -246,20 +335,23 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
246
335
|
}
|
|
247
336
|
};
|
|
248
337
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
338
|
+
var _a, _b;
|
|
249
339
|
if (overlay.presented) {
|
|
250
340
|
return;
|
|
251
341
|
}
|
|
252
342
|
setRootAriaHidden(true);
|
|
253
343
|
overlay.presented = true;
|
|
254
344
|
overlay.willPresent.emit();
|
|
345
|
+
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
255
346
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
256
347
|
// get the user's animation fn if one was provided
|
|
257
|
-
const animationBuilder =
|
|
348
|
+
const animationBuilder = overlay.enterAnimation
|
|
258
349
|
? overlay.enterAnimation
|
|
259
350
|
: ionicGlobal.config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
260
351
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
261
352
|
if (completed) {
|
|
262
353
|
overlay.didPresent.emit();
|
|
354
|
+
(_b = overlay.didPresentShorthand) === null || _b === void 0 ? void 0 : _b.emit();
|
|
263
355
|
}
|
|
264
356
|
/**
|
|
265
357
|
* When an overlay that steals focus
|
|
@@ -272,7 +364,13 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
272
364
|
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
273
365
|
focusPreviousElementOnDismiss(overlay.el);
|
|
274
366
|
}
|
|
275
|
-
|
|
367
|
+
/**
|
|
368
|
+
* If the focused element is already
|
|
369
|
+
* inside the overlay component then
|
|
370
|
+
* focus should not be moved from that
|
|
371
|
+
* to the overlay container.
|
|
372
|
+
*/
|
|
373
|
+
if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
|
|
276
374
|
overlay.el.focus();
|
|
277
375
|
}
|
|
278
376
|
};
|
|
@@ -291,15 +389,16 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
|
|
|
291
389
|
if (!previousElement) {
|
|
292
390
|
return;
|
|
293
391
|
}
|
|
294
|
-
const shadowRoot = previousElement
|
|
392
|
+
const shadowRoot = previousElement === null || previousElement === void 0 ? void 0 : previousElement.shadowRoot;
|
|
295
393
|
if (shadowRoot) {
|
|
296
394
|
// If there are no inner focusable elements, just focus the host element.
|
|
297
|
-
previousElement = shadowRoot.querySelector(
|
|
395
|
+
previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
|
|
298
396
|
}
|
|
299
397
|
await overlayEl.onDidDismiss();
|
|
300
398
|
previousElement.focus();
|
|
301
399
|
};
|
|
302
400
|
const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
401
|
+
var _a, _b;
|
|
303
402
|
if (!overlay.presented) {
|
|
304
403
|
return false;
|
|
305
404
|
}
|
|
@@ -309,8 +408,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
309
408
|
// Overlay contents should not be clickable during dismiss
|
|
310
409
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
311
410
|
overlay.willDismiss.emit({ data, role });
|
|
411
|
+
(_a = overlay.willDismissShorthand) === null || _a === void 0 ? void 0 : _a.emit({ data, role });
|
|
312
412
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
313
|
-
const animationBuilder =
|
|
413
|
+
const animationBuilder = overlay.leaveAnimation
|
|
314
414
|
? overlay.leaveAnimation
|
|
315
415
|
: ionicGlobal.config.get(name, mode === 'ios' ? iosLeaveAnimation : mdLeaveAnimation);
|
|
316
416
|
// If dismissed via gesture, no need to play leaving animation again
|
|
@@ -318,7 +418,15 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
318
418
|
await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
319
419
|
}
|
|
320
420
|
overlay.didDismiss.emit({ data, role });
|
|
421
|
+
(_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
|
|
321
422
|
activeAnimations.delete(overlay);
|
|
423
|
+
/**
|
|
424
|
+
* Make overlay hidden again in case it is being reused.
|
|
425
|
+
* We can safely remove pointer-events: none as
|
|
426
|
+
* overlay-hidden will set display: none.
|
|
427
|
+
*/
|
|
428
|
+
overlay.el.classList.add('overlay-hidden');
|
|
429
|
+
overlay.el.style.removeProperty('pointer-events');
|
|
322
430
|
}
|
|
323
431
|
catch (err) {
|
|
324
432
|
console.error(err);
|
|
@@ -332,7 +440,7 @@ const getAppRoot = (doc) => {
|
|
|
332
440
|
const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
333
441
|
// Make overlay visible in case it's hidden
|
|
334
442
|
baseEl.classList.remove('overlay-hidden');
|
|
335
|
-
const aniRoot =
|
|
443
|
+
const aniRoot = overlay.el;
|
|
336
444
|
const animation = animationBuilder(aniRoot, opts);
|
|
337
445
|
if (!overlay.animated || !ionicGlobal.config.getBoolean('animated', true)) {
|
|
338
446
|
animation.duration(0);
|
|
@@ -340,7 +448,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
340
448
|
if (overlay.keyboardClose) {
|
|
341
449
|
animation.beforeAddWrite(() => {
|
|
342
450
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
343
|
-
if (activeElement
|
|
451
|
+
if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
|
|
344
452
|
activeElement.blur();
|
|
345
453
|
}
|
|
346
454
|
});
|
|
@@ -352,7 +460,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
352
460
|
};
|
|
353
461
|
const eventMethod = (element, eventName) => {
|
|
354
462
|
let resolve;
|
|
355
|
-
const promise = new Promise(r => resolve = r);
|
|
463
|
+
const promise = new Promise((r) => (resolve = r));
|
|
356
464
|
onceEvent(element, eventName, (event) => {
|
|
357
465
|
resolve(event.detail);
|
|
358
466
|
});
|
|
@@ -369,6 +477,13 @@ const isCancel = (role) => {
|
|
|
369
477
|
return role === 'cancel' || role === BACKDROP;
|
|
370
478
|
};
|
|
371
479
|
const defaultGate = (h) => h();
|
|
480
|
+
/**
|
|
481
|
+
* Calls a developer provided method while avoiding
|
|
482
|
+
* Angular Zones. Since the handler is provided by
|
|
483
|
+
* the developer, we should throw any errors
|
|
484
|
+
* received so that developer-provided bug
|
|
485
|
+
* tracking software can log it.
|
|
486
|
+
*/
|
|
372
487
|
const safeCall = (handler, arg) => {
|
|
373
488
|
if (typeof handler === 'function') {
|
|
374
489
|
const jmp = ionicGlobal.config.get('_zoneGate', defaultGate);
|
|
@@ -377,7 +492,7 @@ const safeCall = (handler, arg) => {
|
|
|
377
492
|
return handler(arg);
|
|
378
493
|
}
|
|
379
494
|
catch (e) {
|
|
380
|
-
|
|
495
|
+
throw e;
|
|
381
496
|
}
|
|
382
497
|
});
|
|
383
498
|
}
|
|
@@ -391,8 +506,9 @@ exports.activeAnimations = activeAnimations;
|
|
|
391
506
|
exports.alertController = alertController;
|
|
392
507
|
exports.dismiss = dismiss;
|
|
393
508
|
exports.eventMethod = eventMethod;
|
|
509
|
+
exports.focusFirstDescendant = focusFirstDescendant;
|
|
510
|
+
exports.getOverlay = getOverlay;
|
|
394
511
|
exports.isCancel = isCancel;
|
|
395
|
-
exports.pickerController = pickerController;
|
|
396
512
|
exports.popoverController = popoverController;
|
|
397
513
|
exports.prepareOverlay = prepareOverlay;
|
|
398
514
|
exports.present = present;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/*!
|
|
4
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
5
|
+
*/
|
|
6
|
+
const spinners = {
|
|
7
|
+
bubbles: {
|
|
8
|
+
dur: 1000,
|
|
9
|
+
circles: 9,
|
|
10
|
+
fn: (dur, index, total) => {
|
|
11
|
+
const animationDelay = `${(dur * index) / total - dur}ms`;
|
|
12
|
+
const angle = (2 * Math.PI * index) / total;
|
|
13
|
+
return {
|
|
14
|
+
r: 5,
|
|
15
|
+
style: {
|
|
16
|
+
top: `${9 * Math.sin(angle)}px`,
|
|
17
|
+
left: `${9 * Math.cos(angle)}px`,
|
|
18
|
+
'animation-delay': animationDelay,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
circles: {
|
|
24
|
+
dur: 1000,
|
|
25
|
+
circles: 8,
|
|
26
|
+
fn: (dur, index, total) => {
|
|
27
|
+
const step = index / total;
|
|
28
|
+
const animationDelay = `${dur * step - dur}ms`;
|
|
29
|
+
const angle = 2 * Math.PI * step;
|
|
30
|
+
return {
|
|
31
|
+
r: 5,
|
|
32
|
+
style: {
|
|
33
|
+
top: `${9 * Math.sin(angle)}px`,
|
|
34
|
+
left: `${9 * Math.cos(angle)}px`,
|
|
35
|
+
'animation-delay': animationDelay,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
circular: {
|
|
41
|
+
dur: 1400,
|
|
42
|
+
elmDuration: true,
|
|
43
|
+
circles: 1,
|
|
44
|
+
fn: () => {
|
|
45
|
+
return {
|
|
46
|
+
r: 20,
|
|
47
|
+
cx: 48,
|
|
48
|
+
cy: 48,
|
|
49
|
+
fill: 'none',
|
|
50
|
+
viewBox: '24 24 48 48',
|
|
51
|
+
transform: 'translate(0,0)',
|
|
52
|
+
style: {},
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
crescent: {
|
|
57
|
+
dur: 750,
|
|
58
|
+
circles: 1,
|
|
59
|
+
fn: () => {
|
|
60
|
+
return {
|
|
61
|
+
r: 26,
|
|
62
|
+
style: {},
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
dots: {
|
|
67
|
+
dur: 750,
|
|
68
|
+
circles: 3,
|
|
69
|
+
fn: (_, index) => {
|
|
70
|
+
const animationDelay = -(110 * index) + 'ms';
|
|
71
|
+
return {
|
|
72
|
+
r: 6,
|
|
73
|
+
style: {
|
|
74
|
+
left: `${9 - 9 * index}px`,
|
|
75
|
+
'animation-delay': animationDelay,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
lines: {
|
|
81
|
+
dur: 1000,
|
|
82
|
+
lines: 8,
|
|
83
|
+
fn: (dur, index, total) => {
|
|
84
|
+
const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
|
|
85
|
+
const animationDelay = `${(dur * index) / total - dur}ms`;
|
|
86
|
+
return {
|
|
87
|
+
y1: 14,
|
|
88
|
+
y2: 26,
|
|
89
|
+
style: {
|
|
90
|
+
transform: transform,
|
|
91
|
+
'animation-delay': animationDelay,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
'lines-small': {
|
|
97
|
+
dur: 1000,
|
|
98
|
+
lines: 8,
|
|
99
|
+
fn: (dur, index, total) => {
|
|
100
|
+
const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
|
|
101
|
+
const animationDelay = `${(dur * index) / total - dur}ms`;
|
|
102
|
+
return {
|
|
103
|
+
y1: 12,
|
|
104
|
+
y2: 20,
|
|
105
|
+
style: {
|
|
106
|
+
transform: transform,
|
|
107
|
+
'animation-delay': animationDelay,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
'lines-sharp': {
|
|
113
|
+
dur: 1000,
|
|
114
|
+
lines: 12,
|
|
115
|
+
fn: (dur, index, total) => {
|
|
116
|
+
const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
|
|
117
|
+
const animationDelay = `${(dur * index) / total - dur}ms`;
|
|
118
|
+
return {
|
|
119
|
+
y1: 17,
|
|
120
|
+
y2: 29,
|
|
121
|
+
style: {
|
|
122
|
+
transform: transform,
|
|
123
|
+
'animation-delay': animationDelay,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
'lines-sharp-small': {
|
|
129
|
+
dur: 1000,
|
|
130
|
+
lines: 12,
|
|
131
|
+
fn: (dur, index, total) => {
|
|
132
|
+
const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
|
|
133
|
+
const animationDelay = `${(dur * index) / total - dur}ms`;
|
|
134
|
+
return {
|
|
135
|
+
y1: 12,
|
|
136
|
+
y2: 20,
|
|
137
|
+
style: {
|
|
138
|
+
transform: transform,
|
|
139
|
+
'animation-delay': animationDelay,
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
const SPINNERS = spinners;
|
|
146
|
+
|
|
147
|
+
exports.SPINNERS = SPINNERS;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('./index-
|
|
4
|
-
const
|
|
3
|
+
const index = require('./index-eaa0d16e.js');
|
|
4
|
+
const index$1 = require('./index-9fca5d6f.js');
|
|
5
|
+
const helpers = require('./helpers-cb08f5ae.js');
|
|
6
|
+
require('./index-b2a479e4.js');
|
|
5
7
|
|
|
8
|
+
/*!
|
|
9
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
10
|
+
*/
|
|
6
11
|
const startStatusTap = () => {
|
|
7
12
|
const win = window;
|
|
8
13
|
win.addEventListener('statusTap', () => {
|
|
@@ -13,9 +18,9 @@ const startStatusTap = () => {
|
|
|
13
18
|
if (!el) {
|
|
14
19
|
return;
|
|
15
20
|
}
|
|
16
|
-
const contentEl =
|
|
21
|
+
const contentEl = index$1.findClosestIonContent(el);
|
|
17
22
|
if (contentEl) {
|
|
18
|
-
new Promise(resolve => helpers.componentOnReady(contentEl, resolve)).then(() => {
|
|
23
|
+
new Promise((resolve) => helpers.componentOnReady(contentEl, resolve)).then(() => {
|
|
19
24
|
index.writeTask(async () => {
|
|
20
25
|
/**
|
|
21
26
|
* If scrolling and user taps status bar,
|
|
@@ -25,7 +30,7 @@ const startStatusTap = () => {
|
|
|
25
30
|
* any in-progress momentum scrolling.
|
|
26
31
|
*/
|
|
27
32
|
contentEl.style.setProperty('--overflow', 'hidden');
|
|
28
|
-
await
|
|
33
|
+
await index$1.scrollToTop(contentEl, 300);
|
|
29
34
|
contentEl.style.removeProperty('--overflow');
|
|
30
35
|
});
|
|
31
36
|
});
|