@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h, forceUpdate } from "@stencil/core";
|
|
5
|
-
import {
|
|
5
|
+
import { createLegacyFormController, createNotchController } from "../../utils/forms/index";
|
|
6
6
|
import { findItemLabel, focusElement, getAriaLabel, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
8
8
|
import { actionSheetController, alertController, popoverController } from "../../utils/overlays";
|
|
@@ -465,8 +465,6 @@ export class Select {
|
|
|
465
465
|
style['has-placeholder'] = this.placeholder !== undefined;
|
|
466
466
|
style['has-value'] = this.hasValue();
|
|
467
467
|
style['has-focus'] = this.isExpanded;
|
|
468
|
-
// TODO(FW-3194): remove this
|
|
469
|
-
style['legacy'] = !!this.legacy;
|
|
470
468
|
}
|
|
471
469
|
this.ionStyle.emit(style);
|
|
472
470
|
}
|
|
@@ -739,7 +737,7 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
739
737
|
"optional": true,
|
|
740
738
|
"docs": {
|
|
741
739
|
"tags": [],
|
|
742
|
-
"text": "
|
|
740
|
+
"text": "A property name or function used to compare object values"
|
|
743
741
|
},
|
|
744
742
|
"attribute": "compare-with",
|
|
745
743
|
"reflect": false
|
|
@@ -1217,6 +1215,17 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
1217
1215
|
}];
|
|
1218
1216
|
}
|
|
1219
1217
|
}
|
|
1218
|
+
const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
1219
|
+
if (currentValue === undefined) {
|
|
1220
|
+
return false;
|
|
1221
|
+
}
|
|
1222
|
+
if (Array.isArray(currentValue)) {
|
|
1223
|
+
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
1224
|
+
}
|
|
1225
|
+
else {
|
|
1226
|
+
return compareOptions(currentValue, compareValue, compareWith);
|
|
1227
|
+
}
|
|
1228
|
+
};
|
|
1220
1229
|
const getOptionValue = (el) => {
|
|
1221
1230
|
const value = el.value;
|
|
1222
1231
|
return value === undefined ? el.textContent || '' : value;
|
|
@@ -1230,6 +1239,17 @@ const parseValue = (value) => {
|
|
|
1230
1239
|
}
|
|
1231
1240
|
return value.toString();
|
|
1232
1241
|
};
|
|
1242
|
+
const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
1243
|
+
if (typeof compareWith === 'function') {
|
|
1244
|
+
return compareWith(currentValue, compareValue);
|
|
1245
|
+
}
|
|
1246
|
+
else if (typeof compareWith === 'string') {
|
|
1247
|
+
return currentValue[compareWith] === compareValue[compareWith];
|
|
1248
|
+
}
|
|
1249
|
+
else {
|
|
1250
|
+
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
1251
|
+
}
|
|
1252
|
+
};
|
|
1233
1253
|
const generateText = (opts, value, compareWith) => {
|
|
1234
1254
|
if (value === undefined) {
|
|
1235
1255
|
return '';
|
|
@@ -27,7 +27,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
27
27
|
await page.setContent(`
|
|
28
28
|
<ion-item>
|
|
29
29
|
<ion-label>Really long label should not wrap</ion-label>
|
|
30
|
-
<ion-select value="wrap"
|
|
30
|
+
<ion-select value="wrap" class="ion-text-wrap">
|
|
31
31
|
<ion-select-option value="wrap">Should wrap value only when label exists and really long text exists to make it wrap the text</ion-select-option>
|
|
32
32
|
</ion-select>
|
|
33
33
|
</ion-item>
|
|
@@ -9,18 +9,6 @@ export class SkeletonText {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.animated = false;
|
|
11
11
|
}
|
|
12
|
-
componentWillLoad() {
|
|
13
|
-
this.emitStyle();
|
|
14
|
-
}
|
|
15
|
-
emitStyle() {
|
|
16
|
-
// The emitted property is used by item in order
|
|
17
|
-
// to add the item-skeleton-text class which applies
|
|
18
|
-
// overflow: hidden to its label
|
|
19
|
-
const style = {
|
|
20
|
-
'skeleton-text': true,
|
|
21
|
-
};
|
|
22
|
-
this.ionStyle.emit(style);
|
|
23
|
-
}
|
|
24
12
|
render() {
|
|
25
13
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
26
14
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
@@ -65,32 +53,5 @@ export class SkeletonText {
|
|
|
65
53
|
}
|
|
66
54
|
};
|
|
67
55
|
}
|
|
68
|
-
static get events() {
|
|
69
|
-
return [{
|
|
70
|
-
"method": "ionStyle",
|
|
71
|
-
"name": "ionStyle",
|
|
72
|
-
"bubbles": true,
|
|
73
|
-
"cancelable": true,
|
|
74
|
-
"composed": true,
|
|
75
|
-
"docs": {
|
|
76
|
-
"tags": [{
|
|
77
|
-
"name": "internal",
|
|
78
|
-
"text": undefined
|
|
79
|
-
}],
|
|
80
|
-
"text": "Emitted when the styles change."
|
|
81
|
-
},
|
|
82
|
-
"complexType": {
|
|
83
|
-
"original": "StyleEventDetail",
|
|
84
|
-
"resolved": "StyleEventDetail",
|
|
85
|
-
"references": {
|
|
86
|
-
"StyleEventDetail": {
|
|
87
|
-
"location": "import",
|
|
88
|
-
"path": "../../interface",
|
|
89
|
-
"id": "src/interface.d.ts::StyleEventDetail"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}];
|
|
94
|
-
}
|
|
95
56
|
static get elementRef() { return "el"; }
|
|
96
57
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
5
|
import { getElementRoot } from "../../../utils/helpers";
|
|
6
|
-
import { getOffsetForMiddlePosition } from "./utils";
|
|
7
6
|
/**
|
|
8
7
|
* iOS Toast Enter Animation
|
|
9
8
|
*/
|
|
@@ -19,7 +18,7 @@ export const iosEnterAnimation = (baseEl, opts) => {
|
|
|
19
18
|
wrapperAnimation.fromTo('transform', 'translateY(-100%)', `translateY(${top})`);
|
|
20
19
|
break;
|
|
21
20
|
case 'middle':
|
|
22
|
-
const topPosition =
|
|
21
|
+
const topPosition = Math.floor(baseEl.clientHeight / 2 - wrapperEl.clientHeight / 2);
|
|
23
22
|
wrapperEl.style.top = `${topPosition}px`;
|
|
24
23
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
25
24
|
break;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
5
|
import { getElementRoot } from "../../../utils/helpers";
|
|
6
|
-
import { getOffsetForMiddlePosition } from "./utils";
|
|
7
6
|
/**
|
|
8
7
|
* MD Toast Enter Animation
|
|
9
8
|
*/
|
|
@@ -16,16 +15,16 @@ export const mdEnterAnimation = (baseEl, opts) => {
|
|
|
16
15
|
wrapperAnimation.addElement(wrapperEl);
|
|
17
16
|
switch (position) {
|
|
18
17
|
case 'top':
|
|
19
|
-
wrapperEl.style.
|
|
18
|
+
wrapperEl.style.top = top;
|
|
20
19
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
21
20
|
break;
|
|
22
21
|
case 'middle':
|
|
23
|
-
const topPosition =
|
|
22
|
+
const topPosition = Math.floor(baseEl.clientHeight / 2 - wrapperEl.clientHeight / 2);
|
|
24
23
|
wrapperEl.style.top = `${topPosition}px`;
|
|
25
24
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
26
25
|
break;
|
|
27
26
|
default:
|
|
28
|
-
wrapperEl.style.
|
|
27
|
+
wrapperEl.style.bottom = bottom;
|
|
29
28
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
30
29
|
break;
|
|
31
30
|
}
|
|
@@ -7,12 +7,10 @@ import { printIonWarning } from "../../../utils/logging/index";
|
|
|
7
7
|
* Calculate the CSS top and bottom position of the toast, to be used
|
|
8
8
|
* as starting points for the animation keyframes.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* top edge of the screen. This
|
|
13
|
-
*
|
|
14
|
-
* position='bottom' since we need to calculate from
|
|
15
|
-
* the bottom edge of the screen instead.
|
|
10
|
+
* Note that MD animates bottom-positioned toasts using style.bottom,
|
|
11
|
+
* which calculates from the bottom edge of the screen, while iOS uses
|
|
12
|
+
* translateY, which calculates from the top edge of the screen. This
|
|
13
|
+
* is why the bottom calculates differ slightly between modes.
|
|
16
14
|
*
|
|
17
15
|
* @param position The value of the toast's position prop.
|
|
18
16
|
* @param positionAnchor The element the toast should be anchored to,
|
|
@@ -27,7 +25,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
|
27
25
|
*/
|
|
28
26
|
let offset;
|
|
29
27
|
if (mode === 'md') {
|
|
30
|
-
offset =
|
|
28
|
+
offset = 8;
|
|
31
29
|
}
|
|
32
30
|
else {
|
|
33
31
|
offset = position === 'top' ? 10 : -10;
|
|
@@ -50,7 +48,12 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
|
50
48
|
* to the top edge of the anchor. We want to calculate from the
|
|
51
49
|
* bottom edge of the screen instead.
|
|
52
50
|
*/
|
|
53
|
-
|
|
51
|
+
if (mode === 'md') {
|
|
52
|
+
offset += win.innerHeight - box.top;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
offset -= win.innerHeight - box.top;
|
|
56
|
+
}
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
59
|
* We don't include safe area here because that should already be
|
|
@@ -64,7 +67,9 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
|
64
67
|
else {
|
|
65
68
|
return {
|
|
66
69
|
top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
|
|
67
|
-
bottom:
|
|
70
|
+
bottom: mode === 'md'
|
|
71
|
+
? `calc(${offset}px + var(--ion-safe-area-bottom, 0px))`
|
|
72
|
+
: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
|
|
68
73
|
};
|
|
69
74
|
}
|
|
70
75
|
}
|
|
@@ -78,14 +83,3 @@ function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
|
78
83
|
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
79
84
|
}
|
|
80
85
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Returns the top offset required to place
|
|
83
|
-
* the toast in the middle of the screen.
|
|
84
|
-
* Only needed when position="toast".
|
|
85
|
-
* @param toastHeight - The height of the ion-toast element
|
|
86
|
-
* @param wrapperHeight - The height of the .toast-wrapper element
|
|
87
|
-
* inside the toast's shadow root.
|
|
88
|
-
*/
|
|
89
|
-
export const getOffsetForMiddlePosition = (toastHeight, wrapperHeight) => {
|
|
90
|
-
return Math.floor(toastHeight / 2 - wrapperHeight / 2);
|
|
91
|
-
};
|
|
@@ -167,16 +167,6 @@
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
.toast-wrapper.toast-top {
|
|
171
|
-
transform: translate3d(0, -100%, 0);
|
|
172
|
-
top: 0;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.toast-wrapper.toast-bottom {
|
|
176
|
-
transform: translate3d(0, 100%, 0);
|
|
177
|
-
bottom: 0;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
170
|
.toast-container {
|
|
181
171
|
display: flex;
|
|
182
172
|
align-items: center;
|
|
@@ -309,10 +299,20 @@
|
|
|
309
299
|
background: rgba(var(--ion-color-base-rgb), 0.8);
|
|
310
300
|
}
|
|
311
301
|
}
|
|
302
|
+
.toast-wrapper.toast-top {
|
|
303
|
+
transform: translate3d(0, -100%, 0);
|
|
304
|
+
top: 0;
|
|
305
|
+
}
|
|
306
|
+
|
|
312
307
|
.toast-wrapper.toast-middle {
|
|
313
308
|
opacity: 0.01;
|
|
314
309
|
}
|
|
315
310
|
|
|
311
|
+
.toast-wrapper.toast-bottom {
|
|
312
|
+
transform: translate3d(0, 100%, 0);
|
|
313
|
+
bottom: 0;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
316
|
.toast-content {
|
|
317
317
|
-webkit-padding-start: 15px;
|
|
318
318
|
padding-inline-start: 15px;
|
|
@@ -6,7 +6,7 @@ import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
8
|
import { printIonWarning } from "../../utils/logging/index";
|
|
9
|
-
import {
|
|
9
|
+
import { createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
10
10
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
11
11
|
import { createColorClasses, getClassMap } from "../../utils/theme";
|
|
12
12
|
import { config } from "../../global/config";
|
|
@@ -16,7 +16,6 @@ import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
|
16
16
|
import { mdEnterAnimation } from "./animations/md.enter";
|
|
17
17
|
import { mdLeaveAnimation } from "./animations/md.leave";
|
|
18
18
|
import { getAnimationPosition } from "./animations/utils";
|
|
19
|
-
import { createSwipeToDismissGesture } from "./gestures/swipe-to-dismiss";
|
|
20
19
|
// TODO(FW-2832): types
|
|
21
20
|
/**
|
|
22
21
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -42,41 +41,6 @@ export class Toast {
|
|
|
42
41
|
this.callButtonHandler(cancelButton);
|
|
43
42
|
}
|
|
44
43
|
};
|
|
45
|
-
/**
|
|
46
|
-
* Create a new swipe gesture so Toast
|
|
47
|
-
* can be swiped to dismiss.
|
|
48
|
-
*/
|
|
49
|
-
this.createSwipeGesture = (toastPosition) => {
|
|
50
|
-
const gesture = (this.gesture = createSwipeToDismissGesture(this.el, toastPosition, () => {
|
|
51
|
-
/**
|
|
52
|
-
* If the gesture completed then
|
|
53
|
-
* we should dismiss the toast.
|
|
54
|
-
*/
|
|
55
|
-
this.dismiss(undefined, GESTURE);
|
|
56
|
-
}));
|
|
57
|
-
gesture.enable(true);
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Destroy an existing swipe gesture
|
|
61
|
-
* so Toast can no longer be swiped to dismiss.
|
|
62
|
-
*/
|
|
63
|
-
this.destroySwipeGesture = () => {
|
|
64
|
-
const { gesture } = this;
|
|
65
|
-
if (gesture === undefined) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
gesture.destroy();
|
|
69
|
-
this.gesture = undefined;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Returns `true` if swipeGesture
|
|
73
|
-
* is configured to a value that enables the swipe behavior.
|
|
74
|
-
* Returns `false` otherwise.
|
|
75
|
-
*/
|
|
76
|
-
this.prefersSwipeGesture = () => {
|
|
77
|
-
const { swipeGesture } = this;
|
|
78
|
-
return swipeGesture === 'vertical';
|
|
79
|
-
};
|
|
80
44
|
this.revealContentToScreenReader = false;
|
|
81
45
|
this.overlayIndex = undefined;
|
|
82
46
|
this.delegate = undefined;
|
|
@@ -97,37 +61,9 @@ export class Toast {
|
|
|
97
61
|
this.animated = true;
|
|
98
62
|
this.icon = undefined;
|
|
99
63
|
this.htmlAttributes = undefined;
|
|
100
|
-
this.swipeGesture = undefined;
|
|
101
64
|
this.isOpen = false;
|
|
102
65
|
this.trigger = undefined;
|
|
103
66
|
}
|
|
104
|
-
swipeGestureChanged() {
|
|
105
|
-
/**
|
|
106
|
-
* If the Toast is presented, then we need to destroy
|
|
107
|
-
* any actives gestures before a new gesture is potentially
|
|
108
|
-
* created below.
|
|
109
|
-
*
|
|
110
|
-
* If the Toast is dismissed, then no gesture should be available
|
|
111
|
-
* since the Toast is not visible. This case should never
|
|
112
|
-
* happen since the "dismiss" method handles destroying
|
|
113
|
-
* any active swipe gestures, but we keep this code
|
|
114
|
-
* around to handle the first case.
|
|
115
|
-
*/
|
|
116
|
-
this.destroySwipeGesture();
|
|
117
|
-
/**
|
|
118
|
-
* A new swipe gesture should only be created
|
|
119
|
-
* if the Toast is presented. If the Toast is not
|
|
120
|
-
* yet presented then the "present" method will
|
|
121
|
-
* handle calling the swipe gesture setup function.
|
|
122
|
-
*/
|
|
123
|
-
if (this.presented && this.prefersSwipeGesture()) {
|
|
124
|
-
/**
|
|
125
|
-
* If the Toast is presented then
|
|
126
|
-
* lastPresentedPosition is defined.
|
|
127
|
-
*/
|
|
128
|
-
this.createSwipeGesture(this.lastPresentedPosition);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
67
|
onIsOpenChange(newValue, oldValue) {
|
|
132
68
|
if (newValue === true && oldValue === false) {
|
|
133
69
|
this.present();
|
|
@@ -189,14 +125,6 @@ export class Toast {
|
|
|
189
125
|
if (this.duration > 0) {
|
|
190
126
|
this.durationTimeout = setTimeout(() => this.dismiss(undefined, 'timeout'), this.duration);
|
|
191
127
|
}
|
|
192
|
-
/**
|
|
193
|
-
* If the Toast has a swipe gesture then we can
|
|
194
|
-
* create the gesture so users can swipe the
|
|
195
|
-
* presented Toast.
|
|
196
|
-
*/
|
|
197
|
-
if (this.prefersSwipeGesture()) {
|
|
198
|
-
this.createSwipeGesture(animationPosition);
|
|
199
|
-
}
|
|
200
128
|
unlock();
|
|
201
129
|
}
|
|
202
130
|
/**
|
|
@@ -231,11 +159,6 @@ export class Toast {
|
|
|
231
159
|
this.revealContentToScreenReader = false;
|
|
232
160
|
}
|
|
233
161
|
this.lastPresentedPosition = undefined;
|
|
234
|
-
/**
|
|
235
|
-
* If the Toast has a swipe gesture then we can
|
|
236
|
-
* safely destroy it now that it is dismissed.
|
|
237
|
-
*/
|
|
238
|
-
this.destroySwipeGesture();
|
|
239
162
|
unlock();
|
|
240
163
|
return dismissed;
|
|
241
164
|
}
|
|
@@ -776,29 +699,6 @@ export class Toast {
|
|
|
776
699
|
"text": "Additional attributes to pass to the toast."
|
|
777
700
|
}
|
|
778
701
|
},
|
|
779
|
-
"swipeGesture": {
|
|
780
|
-
"type": "string",
|
|
781
|
-
"mutable": false,
|
|
782
|
-
"complexType": {
|
|
783
|
-
"original": "ToastSwipeGestureDirection",
|
|
784
|
-
"resolved": "\"vertical\" | undefined",
|
|
785
|
-
"references": {
|
|
786
|
-
"ToastSwipeGestureDirection": {
|
|
787
|
-
"location": "import",
|
|
788
|
-
"path": "./toast-interface",
|
|
789
|
-
"id": "src/components/toast/toast-interface.ts::ToastSwipeGestureDirection"
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
},
|
|
793
|
-
"required": false,
|
|
794
|
-
"optional": true,
|
|
795
|
-
"docs": {
|
|
796
|
-
"tags": [],
|
|
797
|
-
"text": "If set to 'vertical', the Toast can be dismissed with\na swipe gesture. The swipe direction is determined by\nthe value of the `position` property:\n`top`: The Toast can be swiped up to dismiss.\n`bottom`: The Toast can be swiped down to dismiss.\n`middle`: The Toast can be swiped up or down to dismiss."
|
|
798
|
-
},
|
|
799
|
-
"attribute": "swipe-gesture",
|
|
800
|
-
"reflect": false
|
|
801
|
-
},
|
|
802
702
|
"isOpen": {
|
|
803
703
|
"type": "boolean",
|
|
804
704
|
"mutable": false,
|
|
@@ -1109,9 +1009,6 @@ export class Toast {
|
|
|
1109
1009
|
static get elementRef() { return "el"; }
|
|
1110
1010
|
static get watchers() {
|
|
1111
1011
|
return [{
|
|
1112
|
-
"propName": "swipeGesture",
|
|
1113
|
-
"methodName": "swipeGestureChanged"
|
|
1114
|
-
}, {
|
|
1115
1012
|
"propName": "isOpen",
|
|
1116
1013
|
"methodName": "onIsOpenChange"
|
|
1117
1014
|
}, {
|
|
@@ -167,16 +167,6 @@
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
.toast-wrapper.toast-top {
|
|
171
|
-
transform: translate3d(0, -100%, 0);
|
|
172
|
-
top: 0;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.toast-wrapper.toast-bottom {
|
|
176
|
-
transform: translate3d(0, 100%, 0);
|
|
177
|
-
bottom: 0;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
170
|
.toast-container {
|
|
181
171
|
display: flex;
|
|
182
172
|
align-items: center;
|
|
@@ -463,16 +463,6 @@ export const createAnimation = (animationId) => {
|
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
465
|
});
|
|
466
|
-
/**
|
|
467
|
-
* Clean up any value coercion before
|
|
468
|
-
* the user callbacks fire otherwise
|
|
469
|
-
* they may get stale values. For example,
|
|
470
|
-
* if someone calls progressStart(0) the
|
|
471
|
-
* animation may still be reversed.
|
|
472
|
-
*/
|
|
473
|
-
forceDurationValue = undefined;
|
|
474
|
-
forceDirectionValue = undefined;
|
|
475
|
-
forceDelayValue = undefined;
|
|
476
466
|
onFinishCallbacks.forEach((onFinishCallback) => {
|
|
477
467
|
return onFinishCallback.c(currentStep, ani);
|
|
478
468
|
});
|
|
@@ -677,8 +667,17 @@ export const createAnimation = (animationId) => {
|
|
|
677
667
|
update(false, false);
|
|
678
668
|
}
|
|
679
669
|
}
|
|
680
|
-
if (playTo !== undefined
|
|
681
|
-
|
|
670
|
+
if (playTo !== undefined) {
|
|
671
|
+
onFinish(() => {
|
|
672
|
+
forceDurationValue = undefined;
|
|
673
|
+
forceDirectionValue = undefined;
|
|
674
|
+
forceDelayValue = undefined;
|
|
675
|
+
}, {
|
|
676
|
+
oneTimeCallback: true,
|
|
677
|
+
});
|
|
678
|
+
if (!parentAnimation) {
|
|
679
|
+
play();
|
|
680
|
+
}
|
|
682
681
|
}
|
|
683
682
|
return ani;
|
|
684
683
|
};
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* When accessing the document or window, it is important
|
|
6
|
+
* to account for SSR applications where the
|
|
7
|
+
* window is not available. Code that accesses
|
|
8
|
+
* window when it is not available will crash.
|
|
9
|
+
* Even checking if `window === undefined` will cause
|
|
10
|
+
* apps to crash in SSR.
|
|
11
|
+
*
|
|
12
|
+
* Use win below to access an SSR-safe version
|
|
13
|
+
* of the window.
|
|
14
|
+
*
|
|
15
|
+
* Example 1:
|
|
16
|
+
* Before:
|
|
17
|
+
* if (window.innerWidth > 768) { ... }
|
|
18
|
+
*
|
|
19
|
+
* After:
|
|
20
|
+
* import { win } from 'path/to/this/file';
|
|
21
|
+
* if (win?.innerWidth > 768) { ... }
|
|
22
|
+
*
|
|
23
|
+
* Note: Code inside of this if-block will
|
|
24
|
+
* not run in an SSR environment.
|
|
25
|
+
*/
|
|
4
26
|
export const win = typeof window !== 'undefined' ? window : undefined;
|
|
5
27
|
export const doc = typeof document !== 'undefined' ? document : undefined;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { doc } from "../browser/index";
|
|
5
4
|
import { findClosestIonContent } from "../content";
|
|
6
5
|
import { componentOnReady } from "../helpers";
|
|
7
6
|
import { Keyboard } from "../native/keyboard";
|
|
@@ -12,13 +11,7 @@ const INPUT_BLURRING = true;
|
|
|
12
11
|
const SCROLL_ASSIST = true;
|
|
13
12
|
const HIDE_CARET = true;
|
|
14
13
|
export const startInputShims = async (config, platform) => {
|
|
15
|
-
|
|
16
|
-
* If doc is undefined then we are in an SSR environment
|
|
17
|
-
* where input shims do not apply.
|
|
18
|
-
*/
|
|
19
|
-
if (doc === undefined) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
14
|
+
const doc = document;
|
|
22
15
|
const isIOS = platform === 'ios';
|
|
23
16
|
const isAndroid = platform === 'android';
|
|
24
17
|
/**
|
|
@@ -97,10 +90,11 @@ export const startInputShims = async (config, platform) => {
|
|
|
97
90
|
for (const input of inputs) {
|
|
98
91
|
registerInput(input);
|
|
99
92
|
}
|
|
100
|
-
|
|
93
|
+
// TODO(FW-2832): types
|
|
94
|
+
doc.addEventListener('ionInputDidLoad', ((ev) => {
|
|
101
95
|
registerInput(ev.detail);
|
|
102
|
-
});
|
|
103
|
-
doc.addEventListener('ionInputDidUnload', (ev) => {
|
|
96
|
+
}));
|
|
97
|
+
doc.addEventListener('ionInputDidUnload', ((ev) => {
|
|
104
98
|
unregisterInput(ev.detail);
|
|
105
|
-
});
|
|
99
|
+
}));
|
|
106
100
|
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { doc } from "../browser/index";
|
|
5
|
-
import { MENU_BACK_BUTTON_PRIORITY } from "../hardware-back-button";
|
|
6
4
|
import { printIonWarning } from "../logging/index";
|
|
5
|
+
import { MENU_BACK_BUTTON_PRIORITY } from "../hardware-back-button";
|
|
7
6
|
import { componentOnReady } from "../helpers";
|
|
8
7
|
import { menuOverlayAnimation } from "./animations/overlay";
|
|
9
8
|
import { menuPushAnimation } from "./animations/push";
|
|
@@ -185,14 +184,17 @@ const createMenuController = () => {
|
|
|
185
184
|
registerAnimation('reveal', menuRevealAnimation);
|
|
186
185
|
registerAnimation('push', menuPushAnimation);
|
|
187
186
|
registerAnimation('overlay', menuOverlayAnimation);
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
187
|
+
if (typeof document !== 'undefined') {
|
|
188
|
+
document.addEventListener('ionBackButton', (ev) => {
|
|
189
|
+
// TODO(FW-2832): type
|
|
190
|
+
const openMenu = _getOpenSync();
|
|
191
|
+
if (openMenu) {
|
|
192
|
+
ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
|
|
193
|
+
return openMenu.close();
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
196
198
|
return {
|
|
197
199
|
registerAnimation,
|
|
198
200
|
get,
|