@ionic/core 7.5.4-dev.11700602203.1e7155a1 → 7.5.4-dev.11702935369.11a4baba
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/components/animation.js +11 -12
- package/components/checkbox.js +0 -2
- package/components/index4.js +12 -10
- package/components/index5.js +22 -0
- package/components/input-shims.js +7 -12
- package/components/ion-datetime.js +2 -2
- package/components/ion-infinite-scroll.js +3 -11
- package/components/ion-input.js +0 -2
- package/components/ion-modal.js +2 -2
- package/components/ion-range.js +0 -2
- package/components/ion-select.js +25 -5
- package/components/ion-skeleton-text.js +1 -14
- package/components/ion-textarea.js +0 -2
- package/components/ion-toast.js +74 -419
- package/components/ion-toggle.js +0 -2
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/overlays.js +1 -2
- package/components/radio-group.js +0 -2
- package/components/radio.js +2 -42
- package/dist/cjs/{animation-d101aa7a.js → animation-1083855c.js} +12 -13
- package/dist/cjs/{app-globals-ef077808.js → app-globals-d1892126.js} +1 -1
- package/dist/cjs/{button-active-69c3bee4.js → button-active-e93ab34d.js} +2 -2
- package/dist/cjs/{capacitor-f68447d3.js → capacitor-2ffba62a.js} +1 -1
- package/dist/cjs/{haptic-a74c2767.js → haptic-678abc9f.js} +1 -1
- package/dist/cjs/index-306a7476.js +32 -0
- package/dist/cjs/{index-9146d04a.js → index-4323b635.js} +14 -12
- package/dist/cjs/{index-adbcffee.js → index-84c4c696.js} +3 -3
- package/dist/cjs/{index-e9634bc9.js → index-9f379eaa.js} +1 -1
- package/dist/cjs/index.cjs.js +10 -10
- package/dist/cjs/{input-shims-3e3f35b9.js → input-shims-b0a75a01.js} +10 -15
- package/dist/cjs/{input.utils-590f0f18.js → input.utils-0fe3097c.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +8 -8
- package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -4
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -13
- package/dist/cjs/ion-input.cjs.entry.js +6 -8
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +7 -20
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-modal.cjs.entry.js +10 -10
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +6 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -8
- package/dist/cjs/ion-range.cjs.entry.js +2 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +34 -15
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +5 -7
- package/dist/cjs/ion-toast.cjs.entry.js +93 -435
- package/dist/cjs/ion-toggle.cjs.entry.js +6 -8
- package/dist/cjs/{ionic-global-4538d91c.js → ionic-global-91f1f8f2.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-7972d9e3.js → ios.transition-facbe500.js} +4 -4
- package/dist/cjs/{keyboard-840107b3.js → keyboard-38f2bb7b.js} +3 -3
- package/dist/cjs/{keyboard-controller-019f42df.js → keyboard-controller-50beb83a.js} +2 -2
- package/dist/cjs/{keyboard-43df0428.js → keyboard-fd7db491.js} +1 -1
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-6e61a10f.js → md.transition-0a7d53f1.js} +4 -4
- package/dist/cjs/{notch-controller-c22d1344.js → notch-controller-f4f6af5d.js} +1 -1
- package/dist/cjs/{overlays-ba1a1e21.js → overlays-91bb8ff7.js} +2 -4
- package/dist/cjs/{status-tap-2e9f9c86.js → status-tap-a9d8edcf.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +0 -2
- package/dist/collection/components/datetime/datetime.ios.css +0 -1
- package/dist/collection/components/datetime/datetime.md.css +0 -1
- package/dist/collection/components/icon/test/dir/heart-broken.svg +0 -0
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +3 -11
- package/dist/collection/components/input/input.js +0 -2
- package/dist/collection/components/item/item.ios.css +15 -85
- package/dist/collection/components/item/item.md.css +15 -85
- package/dist/collection/components/item/test/basic/item.e2e.js +0 -26
- package/dist/collection/components/item/test/disabled/item.e2e.js +1 -0
- package/dist/collection/components/item/test/icons/heart-broken.svg +0 -0
- package/dist/collection/components/item/test/text/item.e2e.js +14 -0
- package/dist/collection/components/label/label.ios.css +3 -14
- package/dist/collection/components/label/label.md.css +3 -14
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
- package/dist/collection/components/note/test/a11y/note.e2e.js +0 -43
- package/dist/collection/components/radio/radio.js +2 -5
- package/dist/collection/components/radio-group/radio-group.js +0 -24
- package/dist/collection/components/range/range.js +0 -2
- package/dist/collection/components/select/select.ios.css +0 -5
- package/dist/collection/components/select/select.js +24 -4
- package/dist/collection/components/select/select.md.css +0 -5
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
- package/dist/collection/components/textarea/textarea.js +0 -2
- package/dist/collection/components/toast/animations/ios.enter.js +1 -2
- package/dist/collection/components/toast/animations/md.enter.js +3 -4
- package/dist/collection/components/toast/animations/utils.js +14 -20
- package/dist/collection/components/toast/toast.ios.css +10 -10
- package/dist/collection/components/toast/toast.js +1 -104
- package/dist/collection/components/toast/toast.md.css +0 -10
- package/dist/collection/components/toggle/toggle.js +0 -2
- package/dist/collection/utils/animation/animation.js +11 -12
- package/dist/collection/utils/browser/index.js +22 -0
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/input-shims/input-shims.js +6 -12
- package/dist/collection/utils/menu-controller/index.js +12 -10
- package/dist/collection/utils/overlays.js +0 -1
- package/dist/docs.json +2 -79
- package/dist/esm/{animation-cf3dd234.js → animation-8aa13916.js} +12 -13
- package/dist/esm/{app-globals-ba8b3a06.js → app-globals-8d413354.js} +1 -1
- package/dist/esm/{button-active-109ba60d.js → button-active-c7a04c9a.js} +2 -2
- package/dist/esm/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
- package/dist/esm/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
- package/dist/esm/index-7a14ecec.js +29 -0
- package/dist/esm/{index-50582f1c.js → index-d62333a6.js} +3 -3
- package/dist/esm/{index-6a48e009.js → index-e2052f20.js} +14 -12
- package/dist/esm/{index-c9e82353.js → index-f0cc4e14.js} +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/{input-shims-1d767845.js → input-shims-d0c93e5d.js} +9 -14
- package/dist/esm/{input.utils-d04a7212.js → input.utils-ec063df4.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +8 -8
- package/dist/esm/ion-app_8.entry.js +11 -11
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -4
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +10 -10
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -13
- package/dist/esm/ion-input.entry.js +6 -8
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +7 -20
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +8 -8
- package/dist/esm/ion-modal.entry.js +10 -10
- package/dist/esm/ion-nav_2.entry.js +3 -3
- package/dist/esm/ion-picker-column-internal.entry.js +5 -5
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +6 -6
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +3 -8
- package/dist/esm/ion-range.entry.js +2 -4
- package/dist/esm/ion-refresher_2.entry.js +7 -7
- package/dist/esm/ion-reorder_2.entry.js +6 -6
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +30 -11
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +5 -7
- package/dist/esm/ion-toast.entry.js +77 -419
- package/dist/esm/ion-toggle.entry.js +6 -8
- package/dist/esm/{ionic-global-7efdecd0.js → ionic-global-8673c5ce.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-e20d71bc.js → ios.transition-2fdb6f26.js} +4 -4
- package/dist/esm/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
- package/dist/esm/{keyboard-9f771a04.js → keyboard-b551279d.js} +3 -3
- package/dist/esm/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-a8469407.js → md.transition-6f8b3cd0.js} +4 -4
- package/dist/esm/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
- package/dist/esm/{overlays-d79b34b4.js → overlays-d4c45da6.js} +3 -4
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/{status-tap-7ca28a1c.js → status-tap-71db1a8f.js} +1 -1
- package/dist/esm-es5/{animation-cf3dd234.js → animation-8aa13916.js} +1 -1
- package/dist/esm-es5/app-globals-8d413354.js +4 -0
- package/dist/esm-es5/{button-active-109ba60d.js → button-active-c7a04c9a.js} +1 -1
- package/dist/esm-es5/{capacitor-f1f25364.js → capacitor-b4979570.js} +1 -1
- package/dist/esm-es5/{haptic-1a66d69f.js → haptic-1243b917.js} +1 -1
- package/dist/esm-es5/{index-50582f1c.js → index-d62333a6.js} +1 -1
- package/dist/esm-es5/index-e2052f20.js +4 -0
- package/dist/esm-es5/index-f0cc4e14.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-d0c93e5d.js +4 -0
- package/dist/esm-es5/input.utils-ec063df4.js +4 -0
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-7efdecd0.js → ionic-global-8673c5ce.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-e20d71bc.js → ios.transition-2fdb6f26.js} +1 -1
- package/dist/esm-es5/{keyboard-b6230bfb.js → keyboard-b063f012.js} +1 -1
- package/dist/esm-es5/{keyboard-9f771a04.js → keyboard-b551279d.js} +1 -1
- package/dist/esm-es5/{keyboard-controller-3f0faa10.js → keyboard-controller-0c2dce71.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-6f8b3cd0.js +4 -0
- package/dist/esm-es5/{notch-controller-3f79197e.js → notch-controller-8c9c0e54.js} +1 -1
- package/dist/esm-es5/{overlays-d79b34b4.js → overlays-d4c45da6.js} +1 -1
- package/dist/esm-es5/{status-tap-7ca28a1c.js → status-tap-71db1a8f.js} +1 -1
- package/dist/html.html-data.json +1 -14
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/p-02863edb.system.js +4 -0
- package/dist/ionic/{p-bf3396e1.entry.js → p-0335e66c.entry.js} +1 -1
- package/dist/ionic/{p-1b5b6845.system.entry.js → p-076e622f.system.entry.js} +1 -1
- package/dist/ionic/{p-35787a6f.entry.js → p-08dcf03a.entry.js} +1 -1
- package/dist/ionic/{p-4c50b357.system.entry.js → p-091702af.system.entry.js} +1 -1
- package/dist/ionic/{p-e53f2605.entry.js → p-094dbfa5.entry.js} +1 -1
- package/dist/ionic/{p-1fc6b5a5.system.entry.js → p-0993782a.system.entry.js} +1 -1
- package/dist/ionic/p-0d8e9076.system.entry.js +4 -0
- package/dist/ionic/p-0f23c3a5.entry.js +4 -0
- package/dist/ionic/p-0f4f11eb.entry.js +4 -0
- package/dist/ionic/{p-8a9760f7.system.entry.js → p-10a2ab8c.system.entry.js} +1 -1
- package/dist/ionic/{p-3fc0b7ba.entry.js → p-1289df52.entry.js} +1 -1
- package/dist/ionic/{p-35e25602.system.entry.js → p-14be0381.system.entry.js} +1 -1
- package/dist/ionic/{p-2151a4a4.system.entry.js → p-153ea88b.system.entry.js} +1 -1
- package/dist/ionic/{p-e4d66e2d.system.entry.js → p-176a386b.system.entry.js} +1 -1
- package/dist/ionic/{p-15512a5e.system.entry.js → p-1acd1607.system.entry.js} +1 -1
- package/dist/ionic/{p-eec1aa12.system.entry.js → p-1b16c2ef.system.entry.js} +1 -1
- package/dist/ionic/{p-a3434028.system.entry.js → p-1df460d5.system.entry.js} +1 -1
- package/dist/ionic/{p-0148306b.system.js → p-1e87e3fb.system.js} +1 -1
- package/dist/ionic/{p-3962542f.system.entry.js → p-202654b4.system.entry.js} +1 -1
- package/dist/ionic/{p-1667596c.js → p-276afddd.js} +1 -1
- package/dist/ionic/{p-ce20c101.entry.js → p-287d76e0.entry.js} +1 -1
- package/dist/ionic/{p-20ff4d7f.system.entry.js → p-2954d245.system.entry.js} +1 -1
- package/dist/ionic/p-2ac243b7.entry.js +4 -0
- package/dist/ionic/p-2e8e0045.js +4 -0
- package/dist/ionic/{p-138a4a93.entry.js → p-31589ed7.entry.js} +1 -1
- package/dist/ionic/{p-70bf6086.system.entry.js → p-3299adbf.system.entry.js} +1 -1
- package/dist/ionic/p-3602001b.system.js +4 -0
- package/dist/ionic/{p-7def197f.system.js → p-3632220b.system.js} +1 -1
- package/dist/ionic/{p-3dedd258.system.entry.js → p-3878d22f.system.entry.js} +1 -1
- package/dist/ionic/{p-957f3028.system.entry.js → p-38fbf9f5.system.entry.js} +1 -1
- package/dist/ionic/{p-13dd7d20.system.js → p-3b3046e8.system.js} +1 -1
- package/dist/ionic/{p-e5fd9f10.js → p-3bad5c1a.js} +1 -1
- package/dist/ionic/{p-0c40f7d3.system.js → p-3d074f21.system.js} +1 -1
- package/dist/ionic/p-3daa6ecf.js +4 -0
- package/dist/ionic/{p-510bc27b.entry.js → p-40f5a803.entry.js} +1 -1
- package/dist/ionic/{p-958f1c70.system.js → p-41477ad9.system.js} +1 -1
- package/dist/ionic/{p-a135e3ba.js → p-419eb426.js} +1 -1
- package/dist/ionic/{p-0e8335b9.entry.js → p-44723fa5.entry.js} +1 -1
- package/dist/ionic/{p-5b978c94.system.js → p-4639874e.system.js} +2 -2
- package/dist/ionic/p-4c724478.entry.js +4 -0
- package/dist/ionic/{p-f6d089a7.entry.js → p-4d06fd5b.entry.js} +1 -1
- package/dist/ionic/{p-938c4956.js → p-4f91b9c6.js} +1 -1
- package/dist/ionic/{p-ed8a02a2.system.entry.js → p-51086b36.system.entry.js} +1 -1
- package/dist/ionic/{p-abaa9b48.system.js → p-5504ca9b.system.js} +1 -1
- package/dist/ionic/{p-020dd47f.entry.js → p-55a8f9a3.entry.js} +1 -1
- package/dist/ionic/p-5916b355.system.entry.js +4 -0
- package/dist/ionic/{p-bedc16f0.system.entry.js → p-5b9cb91d.system.entry.js} +1 -1
- package/dist/ionic/{p-2d86b19a.entry.js → p-6008efa0.entry.js} +1 -1
- package/dist/ionic/{p-cb6c380e.system.entry.js → p-664cb3ad.system.entry.js} +1 -1
- package/dist/ionic/p-67eecef4.system.js +4 -0
- package/dist/ionic/{p-27923249.system.entry.js → p-6a61d423.system.entry.js} +1 -1
- package/dist/ionic/{p-e525dbea.entry.js → p-6e4225ed.entry.js} +1 -1
- package/dist/ionic/{p-00a10b94.system.entry.js → p-793625e5.system.entry.js} +1 -1
- package/dist/ionic/{p-89703003.entry.js → p-7e6cf80c.entry.js} +1 -1
- package/dist/ionic/{p-c7138053.system.entry.js → p-7eaa28eb.system.entry.js} +1 -1
- package/dist/ionic/{p-696c63fb.system.entry.js → p-7fd77f56.system.entry.js} +1 -1
- package/dist/ionic/{p-11cb4e19.js → p-81c818e7.js} +1 -1
- package/dist/ionic/p-843fe6e3.entry.js +4 -0
- package/dist/ionic/p-8708a93c.entry.js +4 -0
- package/dist/ionic/{p-ab1908ba.system.entry.js → p-889118cf.system.entry.js} +1 -1
- package/dist/ionic/{p-9471d511.system.entry.js → p-88cfa8f1.system.entry.js} +1 -1
- package/dist/ionic/{p-edd568c5.js → p-8bda8767.js} +1 -1
- package/dist/ionic/{p-0becf7b5.system.entry.js → p-8c44e074.system.entry.js} +1 -1
- package/dist/ionic/{p-53f75103.system.js → p-8c63eccf.system.js} +1 -1
- package/dist/ionic/{p-5885e9af.js → p-8cf94fc1.js} +1 -1
- package/dist/ionic/p-8d9c5be5.system.entry.js +4 -0
- package/dist/ionic/{p-5a7df436.entry.js → p-8f518e79.entry.js} +1 -1
- package/dist/ionic/p-910c1904.system.entry.js +4 -0
- package/dist/ionic/{p-47826f19.entry.js → p-93a2c76b.entry.js} +1 -1
- package/dist/ionic/p-94154db4.js +4 -0
- package/dist/ionic/p-952c64ea.entry.js +4 -0
- package/dist/ionic/{p-60f25049.js → p-959e7a7a.js} +1 -1
- package/dist/ionic/p-97c65aa5.js +4 -0
- package/dist/ionic/p-9ab6f3e6.system.js +4 -0
- package/dist/ionic/p-9c7a56f0.entry.js +4 -0
- package/dist/ionic/{p-51b94085.system.entry.js → p-9c933855.system.entry.js} +1 -1
- package/dist/ionic/{p-c2e199ac.entry.js → p-9da6eef4.entry.js} +1 -1
- package/dist/ionic/p-9e4bb700.entry.js +4 -0
- package/dist/ionic/{p-50375f3b.system.entry.js → p-a134a81b.system.entry.js} +1 -1
- package/dist/ionic/{p-9b34caa0.system.entry.js → p-a30595f3.system.entry.js} +1 -1
- package/dist/ionic/p-a3b6e1b2.entry.js +4 -0
- package/dist/ionic/{p-d3278cb8.entry.js → p-a7c33806.entry.js} +1 -1
- package/dist/ionic/p-a809a205.js +4 -0
- package/dist/ionic/{p-aec8a70a.system.js → p-ab4cff27.system.js} +1 -1
- package/dist/ionic/p-ad227931.system.js +4 -0
- package/dist/ionic/{p-5c7107b4.system.entry.js → p-ae2e4e30.system.entry.js} +1 -1
- package/dist/ionic/{p-8be2b964.entry.js → p-b1200f55.entry.js} +1 -1
- package/dist/ionic/{p-400a78f3.system.entry.js → p-b4085a03.system.entry.js} +1 -1
- package/dist/ionic/{p-9292fd42.system.js → p-b4b4bb29.system.js} +1 -1
- package/dist/ionic/{p-6a309574.js → p-b923f3d7.js} +1 -1
- package/dist/ionic/{p-25b8d65c.entry.js → p-b95cc39b.entry.js} +1 -1
- package/dist/ionic/{p-3e8d7ed8.js → p-b977b57a.js} +1 -1
- package/dist/ionic/{p-f9a641fa.system.js → p-bba2ce59.system.js} +1 -1
- package/dist/ionic/{p-d73eb00e.entry.js → p-bd946be0.entry.js} +1 -1
- package/dist/ionic/p-c096895d.system.js +4 -0
- package/dist/ionic/{p-a03566c4.system.entry.js → p-c2af8468.system.entry.js} +2 -2
- package/dist/ionic/p-c3b62be8.system.entry.js +4 -0
- package/dist/ionic/{p-2fb115dc.entry.js → p-c5106edf.entry.js} +1 -1
- package/dist/ionic/p-c75422d5.entry.js +4 -0
- package/dist/ionic/p-c87d155e.entry.js +4 -0
- package/dist/ionic/p-cbe7738f.entry.js +4 -0
- package/dist/ionic/p-cc196b34.js +4 -0
- package/dist/ionic/{p-1511dc35.system.js → p-cc68ad40.system.js} +1 -1
- package/dist/ionic/{p-e7d20dfb.system.js → p-ccdcb022.system.js} +1 -1
- package/dist/ionic/{p-6825ff8d.entry.js → p-cd1c8ab2.entry.js} +1 -1
- package/dist/ionic/{p-a6880f79.system.entry.js → p-cd3a87bd.system.entry.js} +1 -1
- package/dist/ionic/{p-7dafac2c.system.entry.js → p-ce62bf2c.system.entry.js} +1 -1
- package/dist/ionic/{p-ebdaf11b.entry.js → p-ce9bf0ed.entry.js} +1 -1
- package/dist/ionic/p-d05b431a.system.entry.js +4 -0
- package/dist/ionic/{p-71e70a57.system.entry.js → p-d0c701d0.system.entry.js} +1 -1
- package/dist/ionic/{p-03a36678.entry.js → p-d1ac0094.entry.js} +1 -1
- package/dist/ionic/p-d1de1188.js +4 -0
- package/dist/ionic/p-d27ade6f.system.entry.js +4 -0
- package/dist/ionic/p-d37d3ebc.system.entry.js +4 -0
- package/dist/ionic/{p-b3d50a72.entry.js → p-d59f70db.entry.js} +1 -1
- package/dist/ionic/{p-152998a6.system.entry.js → p-d9c86724.system.entry.js} +1 -1
- package/dist/ionic/{p-df18d20d.js → p-da26ba41.js} +1 -1
- package/dist/ionic/{p-4430713b.entry.js → p-da6b2907.entry.js} +1 -1
- package/dist/ionic/p-dee844d7.js +4 -0
- package/dist/ionic/{p-9939c98e.entry.js → p-e23c3d22.entry.js} +1 -1
- package/dist/ionic/{p-bc48e521.system.entry.js → p-ecbc7728.system.entry.js} +1 -1
- package/dist/ionic/{p-12d62aa9.entry.js → p-ef0d410f.entry.js} +1 -1
- package/dist/ionic/{p-6abde4f1.system.entry.js → p-f2743f0f.system.entry.js} +1 -1
- package/dist/ionic/{p-a9424586.entry.js → p-f30dabf4.entry.js} +1 -1
- package/dist/ionic/{p-3e1deb37.system.entry.js → p-f323209c.system.entry.js} +1 -1
- package/dist/ionic/{p-664cc492.entry.js → p-f33808d4.entry.js} +1 -1
- package/dist/ionic/{p-bc6e32d2.entry.js → p-f3d770d2.entry.js} +1 -1
- package/dist/ionic/p-f47f2024.entry.js +4 -0
- package/dist/ionic/p-f9336ef9.system.js +4 -0
- package/dist/ionic/{p-d2de097b.entry.js → p-fc758470.entry.js} +1 -1
- package/dist/ionic/p-ff5a10f9.system.js +4 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -7
- package/dist/types/components/radio-group/radio-group-interface.d.ts +0 -1
- package/dist/types/components/radio-group/radio-group.d.ts +1 -8
- package/dist/types/components/router/router.d.ts +1 -2
- package/dist/types/components/select/select.d.ts +1 -4
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
- package/dist/types/components/toast/animations/utils.d.ts +4 -15
- package/dist/types/components/toast/toast-interface.d.ts +0 -1
- package/dist/types/components/toast/toast.d.ts +1 -28
- package/dist/types/components.d.ts +6 -37
- package/dist/types/interface.d.ts +5 -1
- package/dist/types/utils/animation/animation-interface.d.ts +4 -4
- package/dist/types/utils/browser/index.d.ts +2 -11
- package/dist/types/utils/forms/index.d.ts +0 -1
- package/dist/types/utils/hardware-back-button.d.ts +0 -4
- package/dist/types/utils/overlays.d.ts +0 -1
- package/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -1
- package/hydrate/index.js +151 -522
- package/package.json +31 -30
- package/dist/cjs/compare-with-utils-c0444525.js +0 -44
- package/dist/cjs/index-c8d52405.js +0 -10
- package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +0 -31
- package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
- package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
- package/dist/collection/utils/forms/compare-with-utils.js +0 -39
- package/dist/esm/compare-with-utils-4928c09d.js +0 -41
- package/dist/esm/index-a5d50daf.js +0 -7
- package/dist/esm-es5/app-globals-ba8b3a06.js +0 -4
- package/dist/esm-es5/compare-with-utils-4928c09d.js +0 -4
- package/dist/esm-es5/index-6a48e009.js +0 -4
- package/dist/esm-es5/index-c9e82353.js +0 -4
- package/dist/esm-es5/input-shims-1d767845.js +0 -4
- package/dist/esm-es5/input.utils-d04a7212.js +0 -4
- package/dist/esm-es5/md.transition-a8469407.js +0 -4
- package/dist/ionic/p-02663394.system.js +0 -4
- package/dist/ionic/p-11104d0d.entry.js +0 -4
- package/dist/ionic/p-265fec8a.entry.js +0 -4
- package/dist/ionic/p-2ae9a434.system.entry.js +0 -4
- package/dist/ionic/p-314c4dee.js +0 -4
- package/dist/ionic/p-3554b264.js +0 -4
- package/dist/ionic/p-3afb9c3d.entry.js +0 -4
- package/dist/ionic/p-3bc3d880.system.js +0 -4
- package/dist/ionic/p-40dd5937.system.js +0 -4
- package/dist/ionic/p-43716898.js +0 -4
- package/dist/ionic/p-494e75ad.js +0 -4
- package/dist/ionic/p-4e3c07a6.system.js +0 -4
- package/dist/ionic/p-4e4ee05e.js +0 -4
- package/dist/ionic/p-561cc050.system.js +0 -4
- package/dist/ionic/p-57b14769.js +0 -4
- package/dist/ionic/p-647fcea8.entry.js +0 -4
- package/dist/ionic/p-6b45cfd0.system.entry.js +0 -4
- package/dist/ionic/p-6c89025e.system.entry.js +0 -4
- package/dist/ionic/p-6dc21cd1.system.entry.js +0 -4
- package/dist/ionic/p-70dcf429.js +0 -4
- package/dist/ionic/p-710cea83.system.js +0 -4
- package/dist/ionic/p-78a8e1e8.entry.js +0 -4
- package/dist/ionic/p-791ac0a8.system.entry.js +0 -4
- package/dist/ionic/p-7ac30f6a.entry.js +0 -4
- package/dist/ionic/p-7acd17bc.entry.js +0 -4
- package/dist/ionic/p-81bdfa1c.system.entry.js +0 -4
- package/dist/ionic/p-8414ed31.entry.js +0 -4
- package/dist/ionic/p-92ac915c.system.js +0 -4
- package/dist/ionic/p-a6b819ca.entry.js +0 -4
- package/dist/ionic/p-be499f29.entry.js +0 -4
- package/dist/ionic/p-c2db1374.system.js +0 -4
- package/dist/ionic/p-c3547c7a.system.js +0 -4
- package/dist/ionic/p-e119ac8b.entry.js +0 -4
- package/dist/ionic/p-e3b7a2d0.system.entry.js +0 -4
- package/dist/ionic/p-e9fe3c8b.system.entry.js +0 -4
- package/dist/ionic/p-f2d4e3c8.entry.js +0 -4
- package/dist/ionic/p-f4ccdc77.js +0 -4
- package/dist/ionic/p-f7769c83.js +0 -4
- package/dist/ionic/p-fa67d712.entry.js +0 -4
- package/dist/ionic/p-fb415d64.entry.js +0 -4
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -144
- package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
- package/dist/types/utils/forms/compare-with-utils.d.ts +0 -18
- /package/dist/cjs/{index-73186843.js → index-53026db1.js} +0 -0
- /package/dist/cjs/{index-09471526.js → index-677c4d13.js} +0 -0
- /package/dist/esm/{index-c132c5f1.js → index-4d016006.js} +0 -0
- /package/dist/esm/{index-4392ebcb.js → index-8eb0239b.js} +0 -0
- /package/dist/esm-es5/{index-c132c5f1.js → index-4d016006.js} +0 -0
- /package/dist/esm-es5/{index-a5d50daf.js → index-7a14ecec.js} +0 -0
- /package/dist/esm-es5/{index-4392ebcb.js → index-8eb0239b.js} +0 -0
- /package/dist/ionic/{p-8050b9b9.system.js → p-0c55ffe1.system.js} +0 -0
- /package/dist/ionic/{p-792919fd.system.js → p-0e94957a.system.js} +0 -0
- /package/dist/ionic/{p-dab42c1b.system.js → p-2814c8e5.system.js} +0 -0
- /package/dist/ionic/{p-f5e886cd.js → p-8a40746c.js} +0 -0
- /package/dist/ionic/{p-7b30edcc.js → p-b347cfd1.js} +0 -0
- /package/dist/ionic/{p-ea96fa73.js → p-e90d610c.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "7.5.4-dev.
|
|
3
|
+
"version": "7.5.4-dev.11702935369.11a4baba",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ionic",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"eslint-config-prettier": "^8.5.0",
|
|
62
62
|
"eslint-plugin-custom-rules": "file:custom-rules",
|
|
63
63
|
"execa": "^5.0.0",
|
|
64
|
+
"fast-deep-equal": "^3.1.3",
|
|
64
65
|
"fs-extra": "^9.0.1",
|
|
65
66
|
"jest": "^27.5.1",
|
|
66
67
|
"jest-cli": "^27.5.1",
|
|
@@ -71,34 +72,6 @@
|
|
|
71
72
|
"stylelint": "^13.13.1",
|
|
72
73
|
"stylelint-order": "^4.1.0"
|
|
73
74
|
},
|
|
74
|
-
"scripts": {
|
|
75
|
-
"build": "npm run clean && npm run build.css && stencil build --es5 --docs-json dist/docs.json",
|
|
76
|
-
"build.css": "npm run css.sass && npm run css.minify",
|
|
77
|
-
"build.debug": "npm run clean && stencil build --debug",
|
|
78
|
-
"build.docs.json": "stencil build --docs-json dist/docs.json",
|
|
79
|
-
"clean": "node scripts/clean.js",
|
|
80
|
-
"css.minify": "cleancss -O2 -o ./css/ionic.bundle.css ./css/ionic.bundle.css",
|
|
81
|
-
"css.sass": "sass --embed-sources src/css:./css",
|
|
82
|
-
"eslint": "eslint src",
|
|
83
|
-
"lint": "npm run lint.ts && npm run lint.sass && npm run prettier -- --write --cache",
|
|
84
|
-
"lint.fix": "npm run lint.ts.fix && npm run lint.sass.fix && npm run prettier -- --write --cache",
|
|
85
|
-
"lint.sass": "stylelint \"src/**/*.scss\"",
|
|
86
|
-
"lint.sass.fix": "npm run lint.sass -- --fix",
|
|
87
|
-
"lint.ts": "npm run eslint",
|
|
88
|
-
"lint.ts.fix": "npm run eslint -- --fix",
|
|
89
|
-
"prerelease": "npm run validate && np prerelease --yolo --any-branch --tag next",
|
|
90
|
-
"prerender.e2e": "node scripts/testing/prerender.js",
|
|
91
|
-
"prettier": "prettier \"./src/**/*.{html,ts,tsx,js,jsx}\"",
|
|
92
|
-
"start": "npm run build.css && stencil build --dev --watch --serve",
|
|
93
|
-
"test": "npm run test.spec && npm run test.e2e",
|
|
94
|
-
"test.spec": "stencil test --spec --max-workers=2",
|
|
95
|
-
"test.spec.debug": "npx --node-arg=\"--inspect-brk\" stencil test --spec",
|
|
96
|
-
"test.e2e": "npx playwright test",
|
|
97
|
-
"test.e2e.update-snapshots": "npm run test.e2e -- --update-snapshots",
|
|
98
|
-
"test.watch": "jest --watch --no-cache",
|
|
99
|
-
"test.treeshake": "node scripts/treeshaking.js dist/index.js",
|
|
100
|
-
"validate": "npm run lint && npm run test && npm run build && npm run test.treeshake"
|
|
101
|
-
},
|
|
102
75
|
"author": "Ionic Team",
|
|
103
76
|
"license": "MIT",
|
|
104
77
|
"repository": {
|
|
@@ -111,5 +84,33 @@
|
|
|
111
84
|
"homepage": "https://ionicframework.com/",
|
|
112
85
|
"jest": {
|
|
113
86
|
"preset": "@stencil/core/testing"
|
|
87
|
+
},
|
|
88
|
+
"scripts": {
|
|
89
|
+
"build": "pnpm run clean && pnpm run build.css && stencil build --es5 --docs-json dist/docs.json",
|
|
90
|
+
"build.css": "pnpm run css.sass && pnpm run css.minify",
|
|
91
|
+
"build.debug": "pnpm run clean && stencil build --debug",
|
|
92
|
+
"build.docs.json": "stencil build --docs-json dist/docs.json",
|
|
93
|
+
"clean": "node scripts/clean.js",
|
|
94
|
+
"css.minify": "cleancss -O2 -o ./css/ionic.bundle.css ./css/ionic.bundle.css",
|
|
95
|
+
"css.sass": "sass --embed-sources src/css:./css",
|
|
96
|
+
"eslint": "eslint src",
|
|
97
|
+
"lint": "pnpm run lint.ts && pnpm run lint.sass && pnpm run prettier --write --cache",
|
|
98
|
+
"lint.fix": "pnpm run lint.ts.fix && pnpm run lint.sass.fix && pnpm run prettier --write --cache",
|
|
99
|
+
"lint.sass": "stylelint \"src/**/*.scss\"",
|
|
100
|
+
"lint.sass.fix": "pnpm run lint.sass --fix",
|
|
101
|
+
"lint.ts": "pnpm run eslint",
|
|
102
|
+
"lint.ts.fix": "pnpm run eslint --fix",
|
|
103
|
+
"prerelease": "pnpm run validate && np prerelease --yolo --any-branch --tag next",
|
|
104
|
+
"prerender.e2e": "node scripts/testing/prerender.js",
|
|
105
|
+
"prettier": "prettier \"./src/**/*.{html,ts,tsx,js,jsx}\"",
|
|
106
|
+
"start": "pnpm run build.css && stencil build --dev --watch --serve",
|
|
107
|
+
"test": "pnpm run test.spec && pnpm run test.e2e",
|
|
108
|
+
"test.spec": "stencil test --spec --max-workers=2",
|
|
109
|
+
"test.spec.debug": "pnpm exec --node-arg=\"--inspect-brk\" stencil test --spec",
|
|
110
|
+
"test.e2e": "pnpm exec playwright test",
|
|
111
|
+
"test.e2e.update-snapshots": "pnpm run test.e2e --update-snapshots",
|
|
112
|
+
"test.watch": "jest --watch --no-cache",
|
|
113
|
+
"test.treeshake": "node scripts/treeshaking.js dist/index.js",
|
|
114
|
+
"validate": "pnpm run lint && pnpm run test && pnpm run build && pnpm run test.treeshake"
|
|
114
115
|
}
|
|
115
|
-
}
|
|
116
|
+
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
'use strict';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Uses the compareWith param to compare two values to determine if they are equal.
|
|
8
|
-
*
|
|
9
|
-
* @param currentValue The current value of the control.
|
|
10
|
-
* @param compareValue The value to compare against.
|
|
11
|
-
* @param compareWith The function or property name to use to compare values.
|
|
12
|
-
*/
|
|
13
|
-
const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
14
|
-
if (typeof compareWith === 'function') {
|
|
15
|
-
return compareWith(currentValue, compareValue);
|
|
16
|
-
}
|
|
17
|
-
else if (typeof compareWith === 'string') {
|
|
18
|
-
return currentValue[compareWith] === compareValue[compareWith];
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Compares a value against the current value(s) to determine if it is selected.
|
|
26
|
-
*
|
|
27
|
-
* @param currentValue The current value of the control.
|
|
28
|
-
* @param compareValue The value to compare against.
|
|
29
|
-
* @param compareWith The function or property name to use to compare values.
|
|
30
|
-
*/
|
|
31
|
-
const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
32
|
-
if (currentValue === undefined) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
if (Array.isArray(currentValue)) {
|
|
36
|
-
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return compareOptions(currentValue, compareValue, compareWith);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
exports.compareOptions = compareOptions;
|
|
44
|
-
exports.isOptionSelected = isOptionSelected;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
'use strict';
|
|
5
|
-
|
|
6
|
-
const win = typeof window !== 'undefined' ? window : undefined;
|
|
7
|
-
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
8
|
-
|
|
9
|
-
exports.doc = doc;
|
|
10
|
-
exports.win = win;
|
package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { expect } from "@playwright/test";
|
|
5
|
-
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
-
configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
7
|
-
test.describe(title('infinite-scroll: appending small amounts to dom'), () => {
|
|
8
|
-
test('should load more after remaining in threshold', async ({ page }) => {
|
|
9
|
-
await page.goto('/src/components/infinite-scroll/test/small-dom-update', config);
|
|
10
|
-
const ionInfiniteComplete = await page.spyOnEvent('ionInfiniteComplete');
|
|
11
|
-
const content = page.locator('ion-content');
|
|
12
|
-
const items = page.locator('#list .item');
|
|
13
|
-
expect(await items.count()).toBe(30);
|
|
14
|
-
await content.evaluate((el) => el.scrollToBottom(0));
|
|
15
|
-
await ionInfiniteComplete.next();
|
|
16
|
-
/**
|
|
17
|
-
* Even after appending we'll still be within
|
|
18
|
-
* the infinite scroll's threshold
|
|
19
|
-
*/
|
|
20
|
-
expect(await items.count()).toBe(33);
|
|
21
|
-
await content.evaluate((el) => el.scrollToBottom(0));
|
|
22
|
-
await ionInfiniteComplete.next();
|
|
23
|
-
/**
|
|
24
|
-
* Scrolling down again without leaving
|
|
25
|
-
* the threshold should still trigger
|
|
26
|
-
* infinite scroll again.
|
|
27
|
-
*/
|
|
28
|
-
expect(await items.count()).toBe(36);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { Build } from "@stencil/core";
|
|
5
|
-
import { createAnimation } from "../../../utils/animation/animation";
|
|
6
|
-
import { createGesture } from "../../../utils/gesture/index";
|
|
7
|
-
import { getElementRoot } from "../../../utils/helpers";
|
|
8
|
-
import { OVERLAY_GESTURE_PRIORITY } from "../../../utils/overlays";
|
|
9
|
-
import { getOffsetForMiddlePosition } from "../animations/utils";
|
|
10
|
-
/**
|
|
11
|
-
* Create a gesture that allows the Toast
|
|
12
|
-
* to be swiped to dismiss.
|
|
13
|
-
* @param el - The Toast element
|
|
14
|
-
* @param toastPosition - The last computed position of the Toast. This is computed in the "present" method.
|
|
15
|
-
* @param onDismiss - A callback to fire when the Toast was swiped to dismiss.
|
|
16
|
-
*/
|
|
17
|
-
export const createSwipeToDismissGesture = (el, toastPosition, onDismiss) => {
|
|
18
|
-
/**
|
|
19
|
-
* Users should swipe on the visible toast wrapper
|
|
20
|
-
* rather than on ion-toast which covers the entire screen.
|
|
21
|
-
* When testing the class instance the inner wrapper will not
|
|
22
|
-
* be defined. As a result, we use a placeholder element in those environments.
|
|
23
|
-
*/
|
|
24
|
-
const wrapperEl = Build.isTesting
|
|
25
|
-
? document.createElement('div')
|
|
26
|
-
: getElementRoot(el).querySelector('.toast-wrapper');
|
|
27
|
-
const hostElHeight = el.clientHeight;
|
|
28
|
-
const wrapperElBox = wrapperEl.getBoundingClientRect();
|
|
29
|
-
/**
|
|
30
|
-
* The maximum amount that
|
|
31
|
-
* the toast can be swiped. This should
|
|
32
|
-
* account for the wrapper element's height
|
|
33
|
-
* too so the toast can be swiped offscreen
|
|
34
|
-
* completely.
|
|
35
|
-
*/
|
|
36
|
-
let MAX_SWIPE_DISTANCE = 0;
|
|
37
|
-
/**
|
|
38
|
-
* The step value at which a toast
|
|
39
|
-
* is eligible for dismissing via gesture.
|
|
40
|
-
*/
|
|
41
|
-
const DISMISS_THRESHOLD = 0.5;
|
|
42
|
-
/**
|
|
43
|
-
* The middle position Toast starts 50% of the way
|
|
44
|
-
* through the animation, so we need to use this
|
|
45
|
-
* as the starting point for our step values.
|
|
46
|
-
*/
|
|
47
|
-
const STEP_OFFSET = el.position === 'middle' ? 0.5 : 0;
|
|
48
|
-
/**
|
|
49
|
-
* When the Toast is at the top users will be
|
|
50
|
-
* swiping up. As a result, the delta values will be
|
|
51
|
-
* negative numbers which will result in negative steps
|
|
52
|
-
* and thresholds. As a result, we need to make those numbers
|
|
53
|
-
* positive.
|
|
54
|
-
*/
|
|
55
|
-
const INVERSION_FACTOR = el.position === 'top' ? -1 : 1;
|
|
56
|
-
/**
|
|
57
|
-
* The top offset that places the
|
|
58
|
-
* toast in the middle of the screen.
|
|
59
|
-
* Only needed when position="middle".
|
|
60
|
-
*/
|
|
61
|
-
const topPosition = getOffsetForMiddlePosition(hostElHeight, wrapperElBox.height);
|
|
62
|
-
const SWIPE_UP_DOWN_KEYFRAMES = [
|
|
63
|
-
{ offset: 0, transform: `translateY(-${topPosition + wrapperElBox.height}px)` },
|
|
64
|
-
{ offset: 0.5, transform: `translateY(0px)` },
|
|
65
|
-
{ offset: 1, transform: `translateY(${topPosition + wrapperElBox.height}px)` },
|
|
66
|
-
];
|
|
67
|
-
const swipeAnimation = createAnimation('toast-swipe-to-dismiss-animation')
|
|
68
|
-
.addElement(wrapperEl)
|
|
69
|
-
/**
|
|
70
|
-
* The specific value here does not actually
|
|
71
|
-
* matter. We just need this to be a positive
|
|
72
|
-
* value so the animation does not jump
|
|
73
|
-
* to the end when the user beings to drag.
|
|
74
|
-
*/
|
|
75
|
-
.duration(100);
|
|
76
|
-
switch (el.position) {
|
|
77
|
-
case 'middle':
|
|
78
|
-
MAX_SWIPE_DISTANCE = hostElHeight + wrapperElBox.height;
|
|
79
|
-
swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES);
|
|
80
|
-
/**
|
|
81
|
-
* Toast can be swiped up or down but
|
|
82
|
-
* should start in the middle of the screen.
|
|
83
|
-
*/
|
|
84
|
-
swipeAnimation.progressStart(true, 0.5);
|
|
85
|
-
break;
|
|
86
|
-
case 'top':
|
|
87
|
-
/**
|
|
88
|
-
* The bottom edge of the wrapper
|
|
89
|
-
* includes the distance between the top
|
|
90
|
-
* of the screen and the top of the wrapper
|
|
91
|
-
* as well as the wrapper height so the wrapper
|
|
92
|
-
* can be dragged fully offscreen.
|
|
93
|
-
*/
|
|
94
|
-
MAX_SWIPE_DISTANCE = wrapperElBox.bottom;
|
|
95
|
-
swipeAnimation.keyframes([
|
|
96
|
-
{ offset: 0, transform: `translateY(${toastPosition.top})` },
|
|
97
|
-
{ offset: 1, transform: 'translateY(-100%)' },
|
|
98
|
-
]);
|
|
99
|
-
swipeAnimation.progressStart(true, 0);
|
|
100
|
-
break;
|
|
101
|
-
case 'bottom':
|
|
102
|
-
default:
|
|
103
|
-
/**
|
|
104
|
-
* This computes the distance between the
|
|
105
|
-
* top of the wrapper and the bottom of the
|
|
106
|
-
* screen including the height of the wrapper
|
|
107
|
-
* element so it can be dragged fully offscreen.
|
|
108
|
-
*/
|
|
109
|
-
MAX_SWIPE_DISTANCE = hostElHeight - wrapperElBox.top;
|
|
110
|
-
swipeAnimation.keyframes([
|
|
111
|
-
{ offset: 0, transform: `translateY(${toastPosition.bottom})` },
|
|
112
|
-
{ offset: 1, transform: 'translateY(100%)' },
|
|
113
|
-
]);
|
|
114
|
-
swipeAnimation.progressStart(true, 0);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
const computeStep = (delta) => {
|
|
118
|
-
return (delta * INVERSION_FACTOR) / MAX_SWIPE_DISTANCE;
|
|
119
|
-
};
|
|
120
|
-
const onMove = (detail) => {
|
|
121
|
-
const step = STEP_OFFSET + computeStep(detail.deltaY);
|
|
122
|
-
swipeAnimation.progressStep(step);
|
|
123
|
-
};
|
|
124
|
-
const onEnd = (detail) => {
|
|
125
|
-
const velocity = detail.velocityY;
|
|
126
|
-
const threshold = ((detail.deltaY + velocity * 1000) / MAX_SWIPE_DISTANCE) * INVERSION_FACTOR;
|
|
127
|
-
/**
|
|
128
|
-
* Disable the gesture for the remainder of the animation.
|
|
129
|
-
* It will be re-enabled if the toast animates back to
|
|
130
|
-
* its initial presented position.
|
|
131
|
-
*/
|
|
132
|
-
gesture.enable(false);
|
|
133
|
-
let shouldDismiss = true;
|
|
134
|
-
let playTo = 1;
|
|
135
|
-
let step = 0;
|
|
136
|
-
let remainingDistance = 0;
|
|
137
|
-
if (el.position === 'middle') {
|
|
138
|
-
/**
|
|
139
|
-
* A middle positioned Toast appears
|
|
140
|
-
* in the middle of the screen (at animation offset 0.5).
|
|
141
|
-
* As a result, the threshold will be calculated relative
|
|
142
|
-
* to this starting position. In other words at animation offset 0.5
|
|
143
|
-
* the threshold will be 0. We want the middle Toast to be eligible
|
|
144
|
-
* for dismiss when the user has swiped either half way up or down the
|
|
145
|
-
* screen. As a result, we divide DISMISS_THRESHOLD in half. We also
|
|
146
|
-
* consider when the threshold is a negative in the event the
|
|
147
|
-
* user drags up (since the deltaY will also be negative).
|
|
148
|
-
*/
|
|
149
|
-
shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -DISMISS_THRESHOLD / 2;
|
|
150
|
-
/**
|
|
151
|
-
* Since we are replacing the keyframes
|
|
152
|
-
* below the animation always starts from
|
|
153
|
-
* the beginning of the new keyframes.
|
|
154
|
-
* Similarly, we are always playing to
|
|
155
|
-
* the end of the new keyframes.
|
|
156
|
-
*/
|
|
157
|
-
playTo = 1;
|
|
158
|
-
step = 0;
|
|
159
|
-
/**
|
|
160
|
-
* The Toast should animate from wherever its
|
|
161
|
-
* current position is to the desired end state.
|
|
162
|
-
*
|
|
163
|
-
* To begin, we get the current position of the
|
|
164
|
-
* Toast for its starting state.
|
|
165
|
-
*/
|
|
166
|
-
const wrapperElBox = wrapperEl.getBoundingClientRect();
|
|
167
|
-
const startOffset = wrapperElBox.top - topPosition;
|
|
168
|
-
const startPosition = `${startOffset}px`;
|
|
169
|
-
/**
|
|
170
|
-
* If the deltaY is negative then the user is swiping
|
|
171
|
-
* up, so the Toast should animate to the top of the screen.
|
|
172
|
-
* If the deltaY is positive then the user is swiping
|
|
173
|
-
* down, so the Toast should animate to the bottom of the screen.
|
|
174
|
-
* We also account for when the deltaY is 0, but realistically
|
|
175
|
-
* that should never happen because it means the user did not drag
|
|
176
|
-
* the toast.
|
|
177
|
-
*/
|
|
178
|
-
const offsetFactor = detail.deltaY <= 0 ? -1 : 1;
|
|
179
|
-
const endOffset = (topPosition + wrapperElBox.height) * offsetFactor;
|
|
180
|
-
/**
|
|
181
|
-
* If the Toast should dismiss
|
|
182
|
-
* then we need to figure out which edge of
|
|
183
|
-
* the screen it should animate towards.
|
|
184
|
-
* By default, the Toast will come
|
|
185
|
-
* back to its default state in the
|
|
186
|
-
* middle of the screen.
|
|
187
|
-
*/
|
|
188
|
-
const endPosition = shouldDismiss ? `${endOffset}px` : '0px';
|
|
189
|
-
const KEYFRAMES = [
|
|
190
|
-
{ offset: 0, transform: `translateY(${startPosition})` },
|
|
191
|
-
{ offset: 1, transform: `translateY(${endPosition})` },
|
|
192
|
-
];
|
|
193
|
-
swipeAnimation.keyframes(KEYFRAMES);
|
|
194
|
-
/**
|
|
195
|
-
* Compute the remaining amount of pixels the
|
|
196
|
-
* toast needs to move to be fully dismissed.
|
|
197
|
-
*/
|
|
198
|
-
remainingDistance = endOffset - startOffset;
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
shouldDismiss = threshold >= DISMISS_THRESHOLD;
|
|
202
|
-
playTo = shouldDismiss ? 1 : 0;
|
|
203
|
-
step = computeStep(detail.deltaY);
|
|
204
|
-
/**
|
|
205
|
-
* Compute the remaining amount of pixels the
|
|
206
|
-
* toast needs to move to be fully dismissed.
|
|
207
|
-
*/
|
|
208
|
-
const remainingStepAmount = shouldDismiss ? 1 - step : step;
|
|
209
|
-
remainingDistance = remainingStepAmount * MAX_SWIPE_DISTANCE;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* The animation speed should depend on how quickly
|
|
213
|
-
* the user flicks the toast across the screen. However,
|
|
214
|
-
* it should be no slower than 200ms.
|
|
215
|
-
* We use Math.abs on the remainingDistance because that value
|
|
216
|
-
* can be negative when swiping up on a middle position toast.
|
|
217
|
-
*/
|
|
218
|
-
const duration = Math.min(Math.abs(remainingDistance) / Math.abs(velocity), 200);
|
|
219
|
-
swipeAnimation
|
|
220
|
-
.onFinish(() => {
|
|
221
|
-
if (shouldDismiss) {
|
|
222
|
-
onDismiss();
|
|
223
|
-
swipeAnimation.destroy();
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
if (el.position === 'middle') {
|
|
227
|
-
/**
|
|
228
|
-
* If the toast snapped back to
|
|
229
|
-
* the middle of the screen we need
|
|
230
|
-
* to reset the keyframes
|
|
231
|
-
* so the toast can be swiped
|
|
232
|
-
* up or down again.
|
|
233
|
-
*/
|
|
234
|
-
swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES).progressStart(true, 0.5);
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
swipeAnimation.progressStart(true, 0);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* If the toast did not dismiss then
|
|
241
|
-
* the user should be able to swipe again.
|
|
242
|
-
*/
|
|
243
|
-
gesture.enable(true);
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* This must be a one time callback
|
|
247
|
-
* otherwise a new callback will
|
|
248
|
-
* be added every time onEnd runs.
|
|
249
|
-
*/
|
|
250
|
-
}, { oneTimeCallback: true })
|
|
251
|
-
.progressEnd(playTo, step, duration);
|
|
252
|
-
};
|
|
253
|
-
const gesture = createGesture({
|
|
254
|
-
el: wrapperEl,
|
|
255
|
-
gestureName: 'toast-swipe-to-dismiss',
|
|
256
|
-
gesturePriority: OVERLAY_GESTURE_PRIORITY,
|
|
257
|
-
/**
|
|
258
|
-
* Toast only supports vertical swipes.
|
|
259
|
-
* This needs to be updated if we later
|
|
260
|
-
* support horizontal swipes.
|
|
261
|
-
*/
|
|
262
|
-
direction: 'y',
|
|
263
|
-
onMove,
|
|
264
|
-
onEnd,
|
|
265
|
-
});
|
|
266
|
-
return gesture;
|
|
267
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { configs, test, dragElementBy } from "../../../../utils/test/playwright/index";
|
|
5
|
-
/**
|
|
6
|
-
* This behavior does not vary across modes and directions.
|
|
7
|
-
*/
|
|
8
|
-
configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) => {
|
|
9
|
-
test.describe(title('toast: swipe gesture with top position'), () => {
|
|
10
|
-
test.beforeEach(async ({ page }) => {
|
|
11
|
-
await page.goto('src/components/toast/test/swipe-gesture', config);
|
|
12
|
-
});
|
|
13
|
-
test('should swipe up to dismiss', async ({ page }) => {
|
|
14
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
15
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
16
|
-
const presentButton = page.locator('#top');
|
|
17
|
-
await presentButton.click();
|
|
18
|
-
await ionToastDidPresent.next();
|
|
19
|
-
const toastWrapper = page.locator('ion-toast#top-toast .toast-wrapper');
|
|
20
|
-
await dragElementBy(toastWrapper, page, 0, -30);
|
|
21
|
-
await ionToastDidDismiss.next();
|
|
22
|
-
});
|
|
23
|
-
test('should swipe up to dismiss with anchor', async ({ page }) => {
|
|
24
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
25
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
26
|
-
const presentButton = page.locator('#top-anchor');
|
|
27
|
-
await presentButton.click();
|
|
28
|
-
await ionToastDidPresent.next();
|
|
29
|
-
const toastWrapper = page.locator('ion-toast#top-anchor-toast .toast-wrapper');
|
|
30
|
-
await dragElementBy(toastWrapper, page, 0, -30);
|
|
31
|
-
await ionToastDidDismiss.next();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
test.describe(title('toast: swipe gesture with bottom position'), () => {
|
|
35
|
-
test.beforeEach(async ({ page }) => {
|
|
36
|
-
await page.goto('src/components/toast/test/swipe-gesture', config);
|
|
37
|
-
});
|
|
38
|
-
test('should swipe down to dismiss', async ({ page }) => {
|
|
39
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
40
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
41
|
-
const presentButton = page.locator('#bottom');
|
|
42
|
-
await presentButton.click();
|
|
43
|
-
await ionToastDidPresent.next();
|
|
44
|
-
const toastWrapper = page.locator('ion-toast#bottom-toast .toast-wrapper');
|
|
45
|
-
await dragElementBy(toastWrapper, page, 0, 30);
|
|
46
|
-
await ionToastDidDismiss.next();
|
|
47
|
-
});
|
|
48
|
-
test('should swipe down to dismiss with anchor', async ({ page }) => {
|
|
49
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
50
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
51
|
-
const presentButton = page.locator('#bottom-anchor');
|
|
52
|
-
await presentButton.click();
|
|
53
|
-
await ionToastDidPresent.next();
|
|
54
|
-
const toastWrapper = page.locator('ion-toast#bottom-anchor-toast .toast-wrapper');
|
|
55
|
-
await dragElementBy(toastWrapper, page, 0, 30);
|
|
56
|
-
await ionToastDidDismiss.next();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
test.describe(title('toast: swipe gesture with middle position'), () => {
|
|
60
|
-
test.beforeEach(async ({ page }) => {
|
|
61
|
-
await page.goto('src/components/toast/test/swipe-gesture', config);
|
|
62
|
-
});
|
|
63
|
-
test('should swipe down to dismiss', async ({ page }) => {
|
|
64
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
65
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
66
|
-
const presentButton = page.locator('#middle');
|
|
67
|
-
await presentButton.click();
|
|
68
|
-
await ionToastDidPresent.next();
|
|
69
|
-
const toastWrapper = page.locator('ion-toast#middle-toast .toast-wrapper');
|
|
70
|
-
await dragElementBy(toastWrapper, page, 0, 100);
|
|
71
|
-
await ionToastDidDismiss.next();
|
|
72
|
-
});
|
|
73
|
-
test('should swipe up to dismiss', async ({ page }) => {
|
|
74
|
-
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
75
|
-
const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss');
|
|
76
|
-
const presentButton = page.locator('#middle');
|
|
77
|
-
await presentButton.click();
|
|
78
|
-
await ionToastDidPresent.next();
|
|
79
|
-
const toastWrapper = page.locator('ion-toast#middle-toast .toast-wrapper');
|
|
80
|
-
await dragElementBy(toastWrapper, page, 0, -100);
|
|
81
|
-
await ionToastDidDismiss.next();
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Uses the compareWith param to compare two values to determine if they are equal.
|
|
6
|
-
*
|
|
7
|
-
* @param currentValue The current value of the control.
|
|
8
|
-
* @param compareValue The value to compare against.
|
|
9
|
-
* @param compareWith The function or property name to use to compare values.
|
|
10
|
-
*/
|
|
11
|
-
export const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
12
|
-
if (typeof compareWith === 'function') {
|
|
13
|
-
return compareWith(currentValue, compareValue);
|
|
14
|
-
}
|
|
15
|
-
else if (typeof compareWith === 'string') {
|
|
16
|
-
return currentValue[compareWith] === compareValue[compareWith];
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Compares a value against the current value(s) to determine if it is selected.
|
|
24
|
-
*
|
|
25
|
-
* @param currentValue The current value of the control.
|
|
26
|
-
* @param compareValue The value to compare against.
|
|
27
|
-
* @param compareWith The function or property name to use to compare values.
|
|
28
|
-
*/
|
|
29
|
-
export const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
30
|
-
if (currentValue === undefined) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
if (Array.isArray(currentValue)) {
|
|
34
|
-
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
return compareOptions(currentValue, compareValue, compareWith);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Uses the compareWith param to compare two values to determine if they are equal.
|
|
6
|
-
*
|
|
7
|
-
* @param currentValue The current value of the control.
|
|
8
|
-
* @param compareValue The value to compare against.
|
|
9
|
-
* @param compareWith The function or property name to use to compare values.
|
|
10
|
-
*/
|
|
11
|
-
const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
12
|
-
if (typeof compareWith === 'function') {
|
|
13
|
-
return compareWith(currentValue, compareValue);
|
|
14
|
-
}
|
|
15
|
-
else if (typeof compareWith === 'string') {
|
|
16
|
-
return currentValue[compareWith] === compareValue[compareWith];
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Compares a value against the current value(s) to determine if it is selected.
|
|
24
|
-
*
|
|
25
|
-
* @param currentValue The current value of the control.
|
|
26
|
-
* @param compareValue The value to compare against.
|
|
27
|
-
* @param compareWith The function or property name to use to compare values.
|
|
28
|
-
*/
|
|
29
|
-
const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
30
|
-
if (currentValue === undefined) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
if (Array.isArray(currentValue)) {
|
|
34
|
-
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
return compareOptions(currentValue, compareValue, compareWith);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export { compareOptions as c, isOptionSelected as i };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
var compareOptions=function(e,r,n){if(typeof n==="function"){return n(e,r)}else if(typeof n==="string"){return e[n]===r[n]}else{return Array.isArray(r)?r.includes(e):e===r}};var isOptionSelected=function(e,r,n){if(e===undefined){return false}if(Array.isArray(e)){return e.some((function(e){return compareOptions(e,r,n)}))}else{return compareOptions(e,r,n)}};export{compareOptions as c,isOptionSelected as i};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{__awaiter,__generator}from"tslib";
|
|
2
|
-
/*!
|
|
3
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
4
|
-
*/import{d as doc}from"./index-a5d50daf.js";import{MENU_BACK_BUTTON_PRIORITY}from"./hardware-back-button-39299f84.js";import{p as printIonWarning}from"./index-595d62c9.js";import{c as componentOnReady}from"./helpers-3379ba19.js";import{b as getIonMode}from"./ionic-global-7efdecd0.js";import{c as createAnimation}from"./animation-cf3dd234.js";var baseAnimation=function(n){return createAnimation().duration(n?400:300)};var menuOverlayAnimation=function(n){var r;var e;var t=n.width+8;var i=createAnimation();var a=createAnimation();if(n.isEndSide){r=t+"px";e="0px"}else{r=-t+"px";e="0px"}i.addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(r,")"),"translateX(".concat(e,")"));var o=getIonMode(n);var u=o==="ios";var s=u?.2:.25;a.addElement(n.backdropEl).fromTo("opacity",.01,s);return baseAnimation(u).addAnimation([i,a])};var menuPushAnimation=function(n){var r;var e;var t=getIonMode(n);var i=n.width;if(n.isEndSide){r=-i+"px";e=i+"px"}else{r=i+"px";e=-i+"px"}var a=createAnimation().addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(e,")"),"translateX(0px)");var o=createAnimation().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(r,")"));var u=createAnimation().addElement(n.backdropEl).fromTo("opacity",.01,.32);return baseAnimation(t==="ios").addAnimation([a,o,u])};var menuRevealAnimation=function(n){var r=getIonMode(n);var e=n.width*(n.isEndSide?-1:1)+"px";var t=createAnimation().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(e,")"));return baseAnimation(r==="ios").addAnimation(t)};var createMenuController=function(){var n=new Map;var r=[];var e=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,c(n,true)];case 1:r=e.sent();if(r){return[2,r.open()]}return[2,false]}}))}))};var t=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,n!==undefined?c(n,true):f()];case 1:r=e.sent();if(r!==undefined){return[2,r.close()]}return[2,false]}}))}))};var i=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,c(n,true)];case 1:r=e.sent();if(r){return[2,r.toggle()]}return[2,false]}}))}))};var a=function(n,r){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,c(r)];case 1:e=t.sent();if(e){e.disabled=!n}return[2,e]}}))}))};var o=function(n,r){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,c(r)];case 1:e=t.sent();if(e){e.swipeGesture=n}return[2,e]}}))}))};var u=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r,r;return __generator(this,(function(e){switch(e.label){case 0:if(!(n!=null))return[3,2];return[4,c(n)];case 1:r=e.sent();return[2,r!==undefined&&r.isOpen()];case 2:return[4,f()];case 3:r=e.sent();return[2,r!==undefined]}}))}))};var s=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,c(n)];case 1:r=e.sent();if(r){return[2,!r.disabled]}return[2,false]}}))}))};var c=function(n,e){if(e===void 0){e=false}return __awaiter(void 0,void 0,void 0,(function(){var t,i,a;return __generator(this,(function(o){switch(o.label){case 0:return[4,x()];case 1:o.sent();if(n==="start"||n==="end"){t=r.filter((function(r){return r.side===n&&!r.disabled}));if(t.length>=1){if(t.length>1&&e){printIonWarning('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(t.length," menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side."),t.map((function(n){return n.el})))}return[2,t[0].el]}i=r.filter((function(r){return r.side===n}));if(i.length>=1){if(i.length>1&&e){printIonWarning('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(i.length," menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side."),i.map((function(n){return n.el})))}return[2,i[0].el]}}else if(n!=null){return[2,b((function(r){return r.menuId===n}))]}a=b((function(n){return!n.disabled}));if(a){return[2,a]}return[2,r.length>0?r[0].el:undefined]}}))}))};var f=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,x()];case 1:n.sent();return[2,w()]}}))}))};var v=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,x()];case 1:n.sent();return[2,g()]}}))}))};var d=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,x()];case 1:n.sent();return[2,A()]}}))}))};var m=function(r,e){n.set(r,e)};var _=function(n){if(r.indexOf(n)<0){r.push(n)}};var l=function(n){var e=r.indexOf(n);if(e>-1){r.splice(e,1)}};var h=function(n,r,e){return __awaiter(void 0,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:if(A()){return[2,false]}if(!r)return[3,3];return[4,f()];case 1:t=i.sent();if(!(t&&n.el!==t))return[3,3];return[4,t.setOpen(false,false)];case 2:i.sent();i.label=3;case 3:return[2,n._setOpen(r,e)]}}))}))};var p=function(r,e){var t=n.get(r);if(!t){throw new Error("animation not registered")}var i=t(e);return i};var w=function(){return b((function(n){return n._isOpen}))};var g=function(){return r.map((function(n){return n.el}))};var A=function(){return r.some((function(n){return n.isAnimating}))};var b=function(n){var e=r.find(n);if(e!==undefined){return e.el}return undefined};var x=function(){return Promise.all(Array.from(document.querySelectorAll("ion-menu")).map((function(n){return new Promise((function(r){return componentOnReady(n,r)}))})))};m("reveal",menuRevealAnimation);m("push",menuPushAnimation);m("overlay",menuOverlayAnimation);doc===null||doc===void 0?void 0:doc.addEventListener("ionBackButton",(function(n){var r=w();if(r){n.detail.register(MENU_BACK_BUTTON_PRIORITY,(function(){return r.close()}))}}));return{registerAnimation:m,get:c,getMenus:v,getOpen:f,isEnabled:s,swipeGesture:o,isAnimating:d,isOpen:u,enable:a,toggle:i,close:t,open:e,_getOpenSync:w,_createAnimation:p,_register:_,_unregister:l,_setOpen:h}};var menuController=createMenuController();export{menuController as m};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{d as doc}from"./index-a5d50daf.js";import{u as now,v as pointerCoord}from"./helpers-3379ba19.js";var startTapClick=function(r){if(doc===undefined){return}var e=-MOUSE_WAIT*10;var n=0;var t;var i;var a;var o=r.getBoolean("animated",true)&&r.getBoolean("rippleEffect",true);var f=new WeakMap;var u=function(r){e=now(r);E(r)};var c=function(r){e=now(r);A(r)};var v=function(r){if(r.button===2){return}var n=now(r)-MOUSE_WAIT;if(e<n){E(r)}};var d=function(r){var n=now(r)-MOUSE_WAIT;if(e<n){A(r)}};var T=function(){if(a)clearTimeout(a);a=undefined;if(t){D(false);t=undefined}};var E=function(r){if(t){return}s(getActivatableTarget(r),r)};var A=function(r){s(undefined,r)};var s=function(r,e){if(r&&r===t){return}if(a)clearTimeout(a);a=undefined;var n=pointerCoord(e),i=n.x,o=n.y;if(t){if(f.has(t)){throw new Error("internal error")}if(!t.classList.contains(ACTIVATED)){l(t,i,o)}D(true)}if(r){var u=f.get(r);if(u){clearTimeout(u);f.delete(r)}r.classList.remove(ACTIVATED);var c=function(){l(r,i,o);a=undefined};if(isInstant(r)){c()}else{a=setTimeout(c,ADD_ACTIVATED_DEFERS)}}t=r};var l=function(r,e,t){n=Date.now();r.classList.add(ACTIVATED);if(!o)return;var a=getRippleEffect(r);if(a!==null){p();i=a.addRipple(e,t)}};var p=function(){if(i!==undefined){i.then((function(r){return r()}));i=undefined}};var D=function(r){p();var e=t;if(!e){return}var i=CLEAR_STATE_DEFERS-Date.now()+n;if(r&&i>0&&!isInstant(e)){var a=setTimeout((function(){e.classList.remove(ACTIVATED);f.delete(e)}),CLEAR_STATE_DEFERS);f.set(e,a)}else{e.classList.remove(ACTIVATED)}};doc.addEventListener("ionGestureCaptured",T);doc.addEventListener("touchstart",u,true);doc.addEventListener("touchcancel",c,true);doc.addEventListener("touchend",c,true);doc.addEventListener("pointercancel",T,true);doc.addEventListener("mousedown",v,true);doc.addEventListener("mouseup",d,true)};var getActivatableTarget=function(r){if(r.composedPath!==undefined){var e=r.composedPath();for(var n=0;n<e.length-2;n++){var t=e[n];if(!(t instanceof ShadowRoot)&&t.classList.contains("ion-activatable")){return t}}}else{return r.target.closest(".ion-activatable")}};var isInstant=function(r){return r.classList.contains("ion-activatable-instant")};var getRippleEffect=function(r){if(r.shadowRoot){var e=r.shadowRoot.querySelector("ion-ripple-effect");if(e){return e}}return r.querySelector("ion-ripple-effect")};var ACTIVATED="ion-activated";var ADD_ACTIVATED_DEFERS=100;var CLEAR_STATE_DEFERS=150;var MOUSE_WAIT=2500;export{startTapClick};
|