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