@ionic/core 7.5.4-dev.11699310489.151b2717 → 7.5.4-dev.11699469920.1af6ea12
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 +12 -11
- package/components/checkbox.js +2 -0
- package/components/index4.js +10 -12
- package/components/index5.js +0 -22
- package/components/input-shims.js +12 -7
- package/components/ion-datetime.js +2 -2
- package/components/ion-input.js +2 -0
- package/components/ion-modal.js +2 -2
- package/components/ion-range.js +2 -0
- package/components/ion-searchbar.js +1 -1
- package/components/ion-select.js +4 -2
- package/components/ion-skeleton-text.js +14 -1
- package/components/ion-textarea.js +2 -0
- package/components/ion-toast.js +419 -74
- package/components/ion-toggle.js +2 -0
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/list.js +2 -2
- package/components/overlays.js +2 -1
- package/components/radio.js +2 -0
- package/dist/cjs/{animation-1083855c.js → animation-d101aa7a.js} +13 -12
- package/dist/cjs/{button-active-625d1d77.js → button-active-69c3bee4.js} +1 -1
- package/dist/cjs/{capacitor-2ffba62a.js → capacitor-f68447d3.js} +1 -1
- package/dist/cjs/{haptic-678abc9f.js → haptic-a74c2767.js} +1 -1
- package/dist/cjs/{index-3659e3a5.js → index-9146d04a.js} +11 -13
- package/dist/cjs/{index-135a6097.js → index-adbcffee.js} +2 -2
- package/dist/cjs/index-c8d52405.js +10 -0
- package/dist/cjs/{index-9f379eaa.js → index-e9634bc9.js} +1 -1
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{input-shims-b0a75a01.js → input-shims-3e3f35b9.js} +15 -10
- package/dist/cjs/{input.utils-0fe3097c.js → input.utils-590f0f18.js} +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
- package/dist/cjs/ion-alert.cjs.entry.js +6 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -0
- package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-input.cjs.entry.js +5 -3
- package/dist/cjs/ion-item_8.cjs.entry.js +19 -6
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
- package/dist/cjs/ion-popover.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -0
- package/dist/cjs/ion-range.cjs.entry.js +2 -0
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -5
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +5 -3
- package/dist/cjs/ion-toast.cjs.entry.js +434 -92
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-b71990aa.js → ios.transition-7972d9e3.js} +3 -3
- package/dist/cjs/{keyboard-fd7db491.js → keyboard-43df0428.js} +1 -1
- package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-840107b3.js} +3 -3
- package/dist/cjs/{keyboard-controller-50beb83a.js → keyboard-controller-019f42df.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-3caa648a.js → md.transition-6e61a10f.js} +3 -3
- package/dist/cjs/{notch-controller-f4f6af5d.js → notch-controller-c22d1344.js} +1 -1
- package/dist/cjs/{overlays-6d1daf80.js → overlays-ba1a1e21.js} +3 -1
- package/dist/collection/components/checkbox/checkbox.js +2 -0
- package/dist/collection/components/datetime/datetime.ios.css +1 -0
- package/dist/collection/components/datetime/datetime.md.css +1 -0
- package/dist/collection/components/input/input.js +2 -0
- package/dist/collection/components/item/item.ios.css +25 -3
- package/dist/collection/components/item/item.md.css +25 -3
- package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
- package/dist/collection/components/item/test/disabled/item.e2e.js +0 -1
- package/dist/collection/components/label/label.ios.css +14 -3
- package/dist/collection/components/label/label.md.css +14 -3
- package/dist/collection/components/list/list.ios.css +1 -15
- package/dist/collection/components/list/list.md.css +3 -41
- package/dist/collection/components/list/test/lines/list.e2e.js +0 -143
- package/dist/collection/components/modal/gestures/swipe-to-close.js +2 -1
- package/dist/collection/components/note/test/a11y/note.e2e.js +43 -0
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -5
- package/dist/collection/components/radio/radio.js +2 -0
- package/dist/collection/components/range/range.js +2 -0
- package/dist/collection/components/searchbar/searchbar.md.css +5 -11
- package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +0 -25
- package/dist/collection/components/select/select.ios.css +5 -0
- package/dist/collection/components/select/select.js +2 -0
- package/dist/collection/components/select/select.md.css +5 -0
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +39 -0
- package/dist/collection/components/textarea/textarea.js +2 -0
- package/dist/collection/components/toast/animations/ios.enter.js +2 -1
- package/dist/collection/components/toast/animations/md.enter.js +4 -3
- package/dist/collection/components/toast/animations/utils.js +20 -14
- package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
- package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
- package/dist/collection/components/toast/toast.ios.css +10 -10
- package/dist/collection/components/toast/toast.js +104 -1
- package/dist/collection/components/toast/toast.md.css +10 -0
- package/dist/collection/components/toggle/toggle.js +2 -0
- package/dist/collection/utils/animation/animation.js +12 -11
- package/dist/collection/utils/browser/index.js +0 -22
- package/dist/collection/utils/input-shims/input-shims.js +12 -6
- package/dist/collection/utils/menu-controller/index.js +10 -12
- package/dist/collection/utils/overlays.js +1 -0
- package/dist/docs.json +37 -1
- package/dist/esm/{animation-8aa13916.js → animation-cf3dd234.js} +13 -12
- package/dist/esm/{button-active-1fb561b0.js → button-active-109ba60d.js} +1 -1
- package/dist/esm/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
- package/dist/esm/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
- package/dist/esm/{index-47a510cf.js → index-50582f1c.js} +2 -2
- package/dist/esm/{index-056b43e7.js → index-6a48e009.js} +11 -13
- package/dist/esm/index-a5d50daf.js +7 -0
- package/dist/esm/{index-f0cc4e14.js → index-c9e82353.js} +1 -1
- package/dist/esm/index.js +8 -8
- package/dist/esm/{input-shims-d0c93e5d.js → input-shims-1d767845.js} +14 -9
- package/dist/esm/{input.utils-ec063df4.js → input.utils-d04a7212.js} +1 -1
- package/dist/esm/ion-action-sheet.entry.js +6 -6
- package/dist/esm/ion-alert.entry.js +6 -6
- package/dist/esm/ion-app_8.entry.js +8 -8
- package/dist/esm/ion-checkbox.entry.js +2 -0
- package/dist/esm/ion-datetime_3.entry.js +7 -7
- package/dist/esm/ion-input.entry.js +5 -3
- package/dist/esm/ion-item_8.entry.js +19 -6
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +5 -5
- package/dist/esm/ion-modal.entry.js +8 -8
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-picker-column-internal.entry.js +3 -3
- package/dist/esm/ion-popover.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +2 -0
- package/dist/esm/ion-range.entry.js +2 -0
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +7 -5
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +5 -3
- package/dist/esm/ion-toast.entry.js +417 -75
- package/dist/esm/ion-toggle.entry.js +5 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-b53e19a3.js → ios.transition-e20d71bc.js} +3 -3
- package/dist/esm/{keyboard-b551279d.js → keyboard-9f771a04.js} +3 -3
- package/dist/esm/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
- package/dist/esm/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-276c1159.js → md.transition-a8469407.js} +3 -3
- package/dist/esm/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
- package/dist/esm/{overlays-928a4afe.js → overlays-d79b34b4.js} +3 -2
- package/dist/esm-es5/{animation-8aa13916.js → animation-cf3dd234.js} +1 -1
- package/dist/esm-es5/{button-active-1fb561b0.js → button-active-109ba60d.js} +1 -1
- package/dist/esm-es5/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
- package/dist/esm-es5/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
- package/dist/esm-es5/{index-47a510cf.js → index-50582f1c.js} +1 -1
- package/dist/esm-es5/index-6a48e009.js +4 -0
- package/dist/esm-es5/index-c9e82353.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-1d767845.js +4 -0
- package/dist/esm-es5/input.utils-d04a7212.js +4 -0
- 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-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-input.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-popover.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-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.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.js +1 -1
- package/dist/esm-es5/{ios.transition-b53e19a3.js → ios.transition-e20d71bc.js} +1 -1
- package/dist/esm-es5/{keyboard-b551279d.js → keyboard-9f771a04.js} +1 -1
- package/dist/esm-es5/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
- package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-276c1159.js → md.transition-a8469407.js} +1 -1
- package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
- package/dist/esm-es5/{overlays-928a4afe.js → overlays-d79b34b4.js} +1 -1
- package/dist/html.html-data.json +9 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-09ec6b90.entry.js → p-020dd47f.entry.js} +1 -1
- package/dist/ionic/p-02663394.system.js +1 -1
- package/dist/ionic/{p-bf731526.system.entry.js → p-0becf7b5.system.entry.js} +1 -1
- package/dist/ionic/{p-8cc04bea.system.js → p-0c40f7d3.system.js} +1 -1
- package/dist/ionic/p-11104d0d.entry.js +4 -0
- package/dist/ionic/{p-81c818e7.js → p-11cb4e19.js} +1 -1
- package/dist/ionic/{p-a5b3aa82.entry.js → p-138a4a93.entry.js} +1 -1
- package/dist/ionic/{p-a07cd4aa.system.js → p-13dd7d20.system.js} +1 -1
- package/dist/ionic/{p-1a1fcc8b.system.js → p-1511dc35.system.js} +1 -1
- package/dist/ionic/{p-276afddd.js → p-1667596c.js} +1 -1
- package/dist/ionic/{p-40c0c580.system.entry.js → p-1fc6b5a5.system.entry.js} +1 -1
- package/dist/ionic/{p-af589369.system.entry.js → p-2151a4a4.system.entry.js} +1 -1
- package/dist/ionic/p-265fec8a.entry.js +4 -0
- package/dist/ionic/{p-da3e5259.entry.js → p-2fb115dc.entry.js} +1 -1
- package/dist/ionic/p-314c4dee.js +4 -0
- package/dist/ionic/p-344706aa.entry.js +4 -0
- package/dist/ionic/p-3554b264.js +4 -0
- package/dist/ionic/{p-59f491c5.entry.js → p-35787a6f.entry.js} +1 -1
- package/dist/ionic/{p-bf5a7db2.system.entry.js → p-3962542f.system.entry.js} +1 -1
- package/dist/ionic/p-3afb9c3d.entry.js +4 -0
- package/dist/ionic/{p-60f55715.system.entry.js → p-3dedd258.system.entry.js} +1 -1
- package/dist/ionic/{p-33986d02.entry.js → p-3fc0b7ba.entry.js} +1 -1
- package/dist/ionic/{p-c4e61a72.entry.js → p-47826f19.entry.js} +1 -1
- package/dist/ionic/p-494e75ad.js +4 -0
- package/dist/ionic/{p-d40d3245.system.entry.js → p-4c50b357.system.entry.js} +1 -1
- package/dist/ionic/p-4e3c07a6.system.js +4 -0
- package/dist/ionic/p-4e4ee05e.js +4 -0
- package/dist/ionic/{p-30d6fb24.system.entry.js → p-50375f3b.system.entry.js} +1 -1
- package/dist/ionic/{p-7d3be70f.system.js → p-53f75103.system.js} +1 -1
- package/dist/ionic/p-561cc050.system.js +4 -0
- package/dist/ionic/p-57b14769.js +4 -0
- package/dist/ionic/{p-8cf94fc1.js → p-5885e9af.js} +1 -1
- package/dist/ionic/{p-1ad8ddc1.system.entry.js → p-637d836a.system.entry.js} +1 -1
- package/dist/ionic/{p-565d1dc5.entry.js → p-664cc492.entry.js} +1 -1
- package/dist/ionic/{p-b923f3d7.js → p-6a309574.js} +1 -1
- package/dist/ionic/p-6c89025e.system.entry.js +4 -0
- package/dist/ionic/p-70dcf429.js +4 -0
- package/dist/ionic/p-710cea83.system.js +4 -0
- package/dist/ionic/{p-e1e64156.system.entry.js → p-71e70a57.system.entry.js} +1 -1
- package/dist/ionic/p-78a8e1e8.entry.js +4 -0
- package/dist/ionic/p-7acd17bc.entry.js +4 -0
- package/dist/ionic/{p-3632220b.system.js → p-7def197f.system.js} +1 -1
- package/dist/ionic/p-81bdfa1c.system.entry.js +4 -0
- package/dist/ionic/p-8414ed31.entry.js +4 -0
- package/dist/ionic/{p-b4b4bb29.system.js → p-9292fd42.system.js} +1 -1
- package/dist/ionic/p-92ac915c.system.js +4 -0
- package/dist/ionic/{p-fb10190f.js → p-938c4956.js} +1 -1
- package/dist/ionic/{p-dbc066cd.system.entry.js → p-9471d511.system.entry.js} +1 -1
- package/dist/ionic/{p-677a233c.system.entry.js → p-957f3028.system.entry.js} +1 -1
- package/dist/ionic/{p-41477ad9.system.js → p-958f1c70.system.js} +1 -1
- package/dist/ionic/{p-a843f88e.entry.js → p-9939c98e.entry.js} +1 -1
- package/dist/ionic/{p-9bb21465.system.entry.js → p-9b34caa0.system.entry.js} +1 -1
- package/dist/ionic/{p-1589d649.system.entry.js → p-a03566c4.system.entry.js} +1 -1
- package/dist/ionic/{p-419eb426.js → p-a135e3ba.js} +1 -1
- package/dist/ionic/{p-6cf407b5.system.entry.js → p-a6880f79.system.entry.js} +1 -1
- package/dist/ionic/p-a6b819ca.entry.js +4 -0
- package/dist/ionic/{p-a3545dad.entry.js → p-a9424586.entry.js} +1 -1
- package/dist/ionic/{p-8704e922.system.entry.js → p-ab1908ba.system.entry.js} +1 -1
- package/dist/ionic/{p-940a581d.system.js → p-abaa9b48.system.js} +1 -1
- package/dist/ionic/{p-ab4cff27.system.js → p-aec8a70a.system.js} +1 -1
- package/dist/ionic/{p-16b94c87.system.entry.js → p-bc48e521.system.entry.js} +1 -1
- package/dist/ionic/{p-69f93198.entry.js → p-bc6e32d2.entry.js} +1 -1
- package/dist/ionic/p-c2db1374.system.js +4 -0
- package/dist/ionic/p-c3547c7a.system.js +4 -0
- package/dist/ionic/{p-084413f2.system.entry.js → p-cb6c380e.system.entry.js} +1 -1
- package/dist/ionic/{p-82c503f7.entry.js → p-ce20c101.entry.js} +1 -1
- package/dist/ionic/p-d075c0aa.system.entry.js +4 -0
- package/dist/ionic/{p-f87219d2.js → p-df18d20d.js} +1 -1
- package/dist/ionic/p-e3b7a2d0.system.entry.js +4 -0
- package/dist/ionic/{p-80baef4f.entry.js → p-e525dbea.entry.js} +1 -1
- package/dist/ionic/{p-3bad5c1a.js → p-e5fd9f10.js} +1 -1
- package/dist/ionic/{p-ccdcb022.system.js → p-e7d20dfb.system.js} +1 -1
- package/dist/ionic/p-e9fe3c8b.system.entry.js +4 -0
- package/dist/ionic/p-ea1650b0.entry.js +4 -0
- package/dist/ionic/{p-e96da585.system.entry.js → p-ed8a02a2.system.entry.js} +1 -1
- package/dist/ionic/{p-a2200630.js → p-edd568c5.js} +1 -1
- package/dist/ionic/p-f2d4e3c8.entry.js +4 -0
- package/dist/ionic/p-f7769c83.js +4 -0
- package/dist/ionic/{p-bba2ce59.system.js → p-f9a641fa.system.js} +1 -1
- package/dist/ionic/p-fa67d712.entry.js +4 -0
- package/dist/types/components/router/router.d.ts +2 -1
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -1
- package/dist/types/components/toast/animations/utils.d.ts +15 -4
- package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
- package/dist/types/components/toast/toast-interface.d.ts +1 -0
- package/dist/types/components/toast/toast.d.ts +28 -1
- package/dist/types/components.d.ts +25 -2
- package/dist/types/interface.d.ts +1 -5
- package/dist/types/utils/animation/animation-interface.d.ts +4 -4
- package/dist/types/utils/browser/index.d.ts +11 -2
- package/dist/types/utils/hardware-back-button.d.ts +4 -0
- package/dist/types/utils/overlays.d.ts +1 -0
- package/hydrate/index.js +473 -128
- package/package.json +3 -1
- package/dist/cjs/index-306a7476.js +0 -32
- package/dist/collection/components/item/test/text/item.e2e.js +0 -14
- package/dist/esm/index-7a14ecec.js +0 -29
- package/dist/esm-es5/index-056b43e7.js +0 -4
- package/dist/esm-es5/index-f0cc4e14.js +0 -4
- package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
- package/dist/esm-es5/input.utils-ec063df4.js +0 -4
- package/dist/ionic/p-0816f061.entry.js +0 -4
- package/dist/ionic/p-0e7712cb.entry.js +0 -4
- package/dist/ionic/p-17ebfee6.entry.js +0 -4
- package/dist/ionic/p-28acf48d.system.entry.js +0 -4
- package/dist/ionic/p-2e8e0045.js +0 -4
- package/dist/ionic/p-3602001b.system.js +0 -4
- package/dist/ionic/p-40762835.entry.js +0 -4
- package/dist/ionic/p-4eb8645b.system.entry.js +0 -4
- package/dist/ionic/p-5f4c4347.system.entry.js +0 -4
- package/dist/ionic/p-5feb31c6.entry.js +0 -4
- package/dist/ionic/p-67eecef4.system.js +0 -4
- package/dist/ionic/p-97c65aa5.js +0 -4
- package/dist/ionic/p-9ab6f3e6.system.js +0 -4
- package/dist/ionic/p-a8e2b2b0.js +0 -4
- package/dist/ionic/p-aa310f38.entry.js +0 -4
- package/dist/ionic/p-ae590bcd.entry.js +0 -4
- package/dist/ionic/p-b1075d53.system.js +0 -4
- package/dist/ionic/p-b6be9a42.system.js +0 -4
- package/dist/ionic/p-c3278d57.js +0 -4
- package/dist/ionic/p-c6e9ffd6.js +0 -4
- package/dist/ionic/p-cbbefe72.system.entry.js +0 -4
- package/dist/ionic/p-cc196b34.js +0 -4
- package/dist/ionic/p-d1de1188.js +0 -4
- package/dist/ionic/p-d6c6b195.system.entry.js +0 -4
- package/dist/ionic/p-daf71560.entry.js +0 -4
- package/dist/ionic/p-df9d7fe1.entry.js +0 -4
- package/dist/ionic/p-eb5283b6.entry.js +0 -4
- package/dist/ionic/p-f2ad4b10.entry.js +0 -4
- package/dist/ionic/p-ff5a10f9.system.js +0 -4
- /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
- /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
- /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
|
@@ -208,6 +208,7 @@
|
|
|
208
208
|
/* stylelint-enable */
|
|
209
209
|
display: flex;
|
|
210
210
|
position: relative;
|
|
211
|
+
flex-wrap: wrap;
|
|
211
212
|
align-items: inherit;
|
|
212
213
|
justify-content: inherit;
|
|
213
214
|
width: 100%;
|
|
@@ -219,8 +220,8 @@
|
|
|
219
220
|
outline: none;
|
|
220
221
|
background: var(--background);
|
|
221
222
|
overflow: inherit;
|
|
222
|
-
box-sizing: border-box;
|
|
223
223
|
z-index: 1;
|
|
224
|
+
box-sizing: border-box;
|
|
224
225
|
}
|
|
225
226
|
:host-context([dir=rtl]) .item-native {
|
|
226
227
|
padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
|
|
@@ -239,6 +240,10 @@
|
|
|
239
240
|
}
|
|
240
241
|
}
|
|
241
242
|
|
|
243
|
+
:host(.item-legacy) .item-native {
|
|
244
|
+
flex-wrap: unset;
|
|
245
|
+
}
|
|
246
|
+
|
|
242
247
|
.item-native::-moz-focus-inner {
|
|
243
248
|
border: 0;
|
|
244
249
|
}
|
|
@@ -274,10 +279,12 @@ button, a {
|
|
|
274
279
|
/* stylelint-enable */
|
|
275
280
|
display: flex;
|
|
276
281
|
position: relative;
|
|
277
|
-
flex: 1;
|
|
282
|
+
flex: 1 0 auto;
|
|
278
283
|
flex-direction: inherit;
|
|
284
|
+
flex-wrap: wrap;
|
|
279
285
|
align-items: inherit;
|
|
280
286
|
align-self: stretch;
|
|
287
|
+
max-width: 100%;
|
|
281
288
|
min-height: inherit;
|
|
282
289
|
border-width: var(--inner-border-width);
|
|
283
290
|
border-style: var(--border-style);
|
|
@@ -303,6 +310,12 @@ button, a {
|
|
|
303
310
|
}
|
|
304
311
|
}
|
|
305
312
|
|
|
313
|
+
:host(.item-legacy) .item-inner {
|
|
314
|
+
flex: 1;
|
|
315
|
+
flex-wrap: unset;
|
|
316
|
+
max-width: unset;
|
|
317
|
+
}
|
|
318
|
+
|
|
306
319
|
.item-bottom {
|
|
307
320
|
margin-left: 0;
|
|
308
321
|
margin-right: 0;
|
|
@@ -366,6 +379,7 @@ button, a {
|
|
|
366
379
|
|
|
367
380
|
::slotted(ion-label:not([slot=end])) {
|
|
368
381
|
flex: 1;
|
|
382
|
+
width: min-content;
|
|
369
383
|
}
|
|
370
384
|
|
|
371
385
|
:host(.item-input) {
|
|
@@ -374,15 +388,23 @@ button, a {
|
|
|
374
388
|
|
|
375
389
|
.input-wrapper {
|
|
376
390
|
display: flex;
|
|
377
|
-
flex: 1;
|
|
391
|
+
flex: 1 0 auto;
|
|
378
392
|
flex-direction: inherit;
|
|
393
|
+
flex-wrap: wrap;
|
|
379
394
|
align-items: inherit;
|
|
380
395
|
align-self: stretch;
|
|
396
|
+
max-width: 100%;
|
|
381
397
|
text-overflow: ellipsis;
|
|
382
398
|
overflow: inherit;
|
|
383
399
|
box-sizing: border-box;
|
|
384
400
|
}
|
|
385
401
|
|
|
402
|
+
:host(.item-legacy) .input-wrapper {
|
|
403
|
+
flex: 1;
|
|
404
|
+
flex-wrap: unset;
|
|
405
|
+
max-width: unset;
|
|
406
|
+
}
|
|
407
|
+
|
|
386
408
|
:host(.item-label-stacked),
|
|
387
409
|
:host(.item-label-floating) {
|
|
388
410
|
align-items: start;
|
|
@@ -208,6 +208,7 @@
|
|
|
208
208
|
/* stylelint-enable */
|
|
209
209
|
display: flex;
|
|
210
210
|
position: relative;
|
|
211
|
+
flex-wrap: wrap;
|
|
211
212
|
align-items: inherit;
|
|
212
213
|
justify-content: inherit;
|
|
213
214
|
width: 100%;
|
|
@@ -219,8 +220,8 @@
|
|
|
219
220
|
outline: none;
|
|
220
221
|
background: var(--background);
|
|
221
222
|
overflow: inherit;
|
|
222
|
-
box-sizing: border-box;
|
|
223
223
|
z-index: 1;
|
|
224
|
+
box-sizing: border-box;
|
|
224
225
|
}
|
|
225
226
|
:host-context([dir=rtl]) .item-native {
|
|
226
227
|
padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
|
|
@@ -239,6 +240,10 @@
|
|
|
239
240
|
}
|
|
240
241
|
}
|
|
241
242
|
|
|
243
|
+
:host(.item-legacy) .item-native {
|
|
244
|
+
flex-wrap: unset;
|
|
245
|
+
}
|
|
246
|
+
|
|
242
247
|
.item-native::-moz-focus-inner {
|
|
243
248
|
border: 0;
|
|
244
249
|
}
|
|
@@ -274,10 +279,12 @@ button, a {
|
|
|
274
279
|
/* stylelint-enable */
|
|
275
280
|
display: flex;
|
|
276
281
|
position: relative;
|
|
277
|
-
flex: 1;
|
|
282
|
+
flex: 1 0 auto;
|
|
278
283
|
flex-direction: inherit;
|
|
284
|
+
flex-wrap: wrap;
|
|
279
285
|
align-items: inherit;
|
|
280
286
|
align-self: stretch;
|
|
287
|
+
max-width: 100%;
|
|
281
288
|
min-height: inherit;
|
|
282
289
|
border-width: var(--inner-border-width);
|
|
283
290
|
border-style: var(--border-style);
|
|
@@ -303,6 +310,12 @@ button, a {
|
|
|
303
310
|
}
|
|
304
311
|
}
|
|
305
312
|
|
|
313
|
+
:host(.item-legacy) .item-inner {
|
|
314
|
+
flex: 1;
|
|
315
|
+
flex-wrap: unset;
|
|
316
|
+
max-width: unset;
|
|
317
|
+
}
|
|
318
|
+
|
|
306
319
|
.item-bottom {
|
|
307
320
|
margin-left: 0;
|
|
308
321
|
margin-right: 0;
|
|
@@ -366,6 +379,7 @@ button, a {
|
|
|
366
379
|
|
|
367
380
|
::slotted(ion-label:not([slot=end])) {
|
|
368
381
|
flex: 1;
|
|
382
|
+
width: min-content;
|
|
369
383
|
}
|
|
370
384
|
|
|
371
385
|
:host(.item-input) {
|
|
@@ -374,15 +388,23 @@ button, a {
|
|
|
374
388
|
|
|
375
389
|
.input-wrapper {
|
|
376
390
|
display: flex;
|
|
377
|
-
flex: 1;
|
|
391
|
+
flex: 1 0 auto;
|
|
378
392
|
flex-direction: inherit;
|
|
393
|
+
flex-wrap: wrap;
|
|
379
394
|
align-items: inherit;
|
|
380
395
|
align-self: stretch;
|
|
396
|
+
max-width: 100%;
|
|
381
397
|
text-overflow: ellipsis;
|
|
382
398
|
overflow: inherit;
|
|
383
399
|
box-sizing: border-box;
|
|
384
400
|
}
|
|
385
401
|
|
|
402
|
+
:host(.item-legacy) .input-wrapper {
|
|
403
|
+
flex: 1;
|
|
404
|
+
flex-wrap: unset;
|
|
405
|
+
max-width: unset;
|
|
406
|
+
}
|
|
407
|
+
|
|
386
408
|
:host(.item-label-stacked),
|
|
387
409
|
:host(.item-label-floating) {
|
|
388
410
|
align-items: start;
|
|
@@ -29,7 +29,7 @@ configs().forEach(({ title, screenshot, config }) => {
|
|
|
29
29
|
</ion-item>
|
|
30
30
|
|
|
31
31
|
<ion-item>
|
|
32
|
-
<ion-label> Single line text that should have ellipses when it doesn't all fit in the item</ion-label>
|
|
32
|
+
<ion-label class="ion-text-nowrap"> Single line text that should have ellipses when it doesn't all fit in the item</ion-label>
|
|
33
33
|
</ion-item>
|
|
34
34
|
</ion-list>
|
|
35
35
|
`, config);
|
|
@@ -11,7 +11,6 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
11
11
|
test('should not have visual regressions', async ({ page }) => {
|
|
12
12
|
await page.goto(`/src/components/item/test/disabled`, config);
|
|
13
13
|
await page.setIonViewport();
|
|
14
|
-
// TODO: FW-4037 - Fix label color inconsistency between disabled controls
|
|
15
14
|
await expect(page).toHaveScreenshot(screenshot(`item-disabled-diff`));
|
|
16
15
|
});
|
|
17
16
|
});
|
|
@@ -41,17 +41,24 @@
|
|
|
41
41
|
font-family: var(--ion-font-family, inherit);
|
|
42
42
|
font-size: inherit;
|
|
43
43
|
text-overflow: ellipsis;
|
|
44
|
+
box-sizing: border-box;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:host-context(.item-legacy) {
|
|
44
48
|
white-space: nowrap;
|
|
45
49
|
overflow: hidden;
|
|
46
|
-
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host-context(.item:not(.item-input):not(.item-legacy)) {
|
|
53
|
+
flex-grow: 1;
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
:host(.ion-color) {
|
|
50
57
|
color: var(--ion-color-base);
|
|
51
58
|
}
|
|
52
59
|
|
|
53
|
-
:host(.ion-text-
|
|
54
|
-
|
|
60
|
+
:host(.ion-text-nowrap) {
|
|
61
|
+
overflow: hidden;
|
|
55
62
|
}
|
|
56
63
|
|
|
57
64
|
:host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
|
|
@@ -70,6 +77,10 @@
|
|
|
70
77
|
align-self: baseline;
|
|
71
78
|
}
|
|
72
79
|
|
|
80
|
+
:host-context(.item-skeleton-text) {
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
}
|
|
83
|
+
|
|
73
84
|
:host(.label-fixed) {
|
|
74
85
|
flex: 0 0 100px;
|
|
75
86
|
width: 100px;
|
|
@@ -41,17 +41,24 @@
|
|
|
41
41
|
font-family: var(--ion-font-family, inherit);
|
|
42
42
|
font-size: inherit;
|
|
43
43
|
text-overflow: ellipsis;
|
|
44
|
+
box-sizing: border-box;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:host-context(.item-legacy) {
|
|
44
48
|
white-space: nowrap;
|
|
45
49
|
overflow: hidden;
|
|
46
|
-
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host-context(.item:not(.item-input):not(.item-legacy)) {
|
|
53
|
+
flex-grow: 1;
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
:host(.ion-color) {
|
|
50
57
|
color: var(--ion-color-base);
|
|
51
58
|
}
|
|
52
59
|
|
|
53
|
-
:host(.ion-text-
|
|
54
|
-
|
|
60
|
+
:host(.ion-text-nowrap) {
|
|
61
|
+
overflow: hidden;
|
|
55
62
|
}
|
|
56
63
|
|
|
57
64
|
:host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
|
|
@@ -70,6 +77,10 @@
|
|
|
70
77
|
align-self: baseline;
|
|
71
78
|
}
|
|
72
79
|
|
|
80
|
+
:host-context(.item-skeleton-text) {
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
}
|
|
83
|
+
|
|
73
84
|
:host(.label-fixed) {
|
|
74
85
|
flex: 0 0 100px;
|
|
75
86
|
width: 100px;
|
|
@@ -130,21 +130,7 @@ ion-list.list-inset {
|
|
|
130
130
|
border-radius: 10px;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
* These selectors ensure the last item in the list
|
|
135
|
-
* has the correct border.
|
|
136
|
-
* We need to consider the following scenarios:
|
|
137
|
-
1. The only item in a list.
|
|
138
|
-
2. The last item in a list as long as it is not the only item.
|
|
139
|
-
3. The item in the last item-sliding in a list.
|
|
140
|
-
* Note that we do not select ion-item:last-of-type
|
|
141
|
-
* because that will cause the borders to disappear on
|
|
142
|
-
* items in an item-sliding when the item is the last
|
|
143
|
-
* element in the item-sliding container.
|
|
144
|
-
*/
|
|
145
|
-
.list-ios.list-inset ion-item:only-child,
|
|
146
|
-
.list-ios.list-inset ion-item:not(:only-of-type):last-of-type,
|
|
147
|
-
.list-ios.list-inset ion-item-sliding:last-of-type ion-item {
|
|
133
|
+
.list-ios.list-inset ion-item:last-child {
|
|
148
134
|
--border-width: 0;
|
|
149
135
|
--inner-border-width: 0;
|
|
150
136
|
}
|
|
@@ -166,50 +166,12 @@ ion-list.list-inset {
|
|
|
166
166
|
border-radius: 2px;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
* These selectors ensure the first item in the list
|
|
171
|
-
* has the correct radius.
|
|
172
|
-
* We need to consider the following scenarios:
|
|
173
|
-
1. The first item in a list as long as it is not the only item.
|
|
174
|
-
2. The item in the first item-sliding in a list.
|
|
175
|
-
* Note that we do not select "ion-item-sliding ion-item:first-of-type"
|
|
176
|
-
* because that will cause the borders to disappear on
|
|
177
|
-
* items in an item-sliding when the item is the first
|
|
178
|
-
* element in the item-sliding container.
|
|
179
|
-
*/
|
|
180
|
-
.list-md.list-inset ion-item:not(:only-of-type):first-of-type,
|
|
181
|
-
.list-md.list-inset ion-item-sliding:first-of-type ion-item {
|
|
169
|
+
.list-md.list-inset ion-item:first-child {
|
|
182
170
|
--border-radius: 2px 2px 0 0;
|
|
183
171
|
}
|
|
184
172
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
* has the correct radius and border.
|
|
188
|
-
* We need to consider the following scenarios:
|
|
189
|
-
1. The last item in a list as long as it is not the only item.
|
|
190
|
-
2. The item in the last item-sliding in a list.
|
|
191
|
-
* Note that we do not select "ion-item-sliding ion-item:last-of-type"
|
|
192
|
-
* because that will cause the borders to disappear on
|
|
193
|
-
* items in an item-sliding when the item is the last
|
|
194
|
-
* element in the item-sliding container.
|
|
195
|
-
*/
|
|
196
|
-
.list-md.list-inset ion-item:not(:only-of-type):last-of-type,
|
|
197
|
-
.list-md.list-inset ion-item-sliding:last-of-type ion-item {
|
|
198
|
-
--border-radius: 0 0 2px 2px;
|
|
199
|
-
--border-width: 0;
|
|
200
|
-
--inner-border-width: 0;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* The only item in a list should have a border radius
|
|
205
|
-
* on all corners.
|
|
206
|
-
* We target :only-child instead of :only-of-type
|
|
207
|
-
* otherwise borders will disappear on items inside of
|
|
208
|
-
* ion-item-sliding because the item will be the only
|
|
209
|
-
* one of its type inside of the ion-item-sliding group.
|
|
210
|
-
*/
|
|
211
|
-
.list-md.list-inset ion-item:only-child {
|
|
212
|
-
--border-radius: 2px;
|
|
173
|
+
.list-md.list-inset ion-item:last-child {
|
|
174
|
+
--border-radius: 0 0 2px, 2px;
|
|
213
175
|
--border-width: 0;
|
|
214
176
|
--inner-border-width: 0;
|
|
215
177
|
}
|
|
@@ -22,146 +22,3 @@ configs().forEach(({ title, screenshot, config }) => {
|
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
|
-
/**
|
|
26
|
-
* Padding and border color ensures the bottom border can be easily seen if it regresses.
|
|
27
|
-
* The background color ensures that any border radius values can be seen.
|
|
28
|
-
*/
|
|
29
|
-
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
30
|
-
test.describe(title('list: lines with children'), () => {
|
|
31
|
-
test('only item in inset list should not have line', async ({ page }) => {
|
|
32
|
-
test.info().annotations.push({
|
|
33
|
-
type: 'issue',
|
|
34
|
-
description: 'https://github.com/ionic-team/ionic-framework/issues/28435',
|
|
35
|
-
});
|
|
36
|
-
await page.setContent(`
|
|
37
|
-
<style>
|
|
38
|
-
#container {
|
|
39
|
-
padding: 10px;
|
|
40
|
-
background: #0088cc;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
ion-item {
|
|
44
|
-
--border-color: red;
|
|
45
|
-
}
|
|
46
|
-
</style>
|
|
47
|
-
<div id="container">
|
|
48
|
-
<ion-list inset="true">
|
|
49
|
-
<ion-item>
|
|
50
|
-
<ion-label>Item 0</ion-label>
|
|
51
|
-
</ion-item>
|
|
52
|
-
</ion-list>
|
|
53
|
-
</div>
|
|
54
|
-
`, config);
|
|
55
|
-
const container = page.locator('#container');
|
|
56
|
-
await expect(container).toHaveScreenshot(screenshot('inset-list-only-item-no-lines'));
|
|
57
|
-
});
|
|
58
|
-
test('last item in inset list with end options should not have line', async ({ page }) => {
|
|
59
|
-
test.info().annotations.push({
|
|
60
|
-
type: 'issue',
|
|
61
|
-
description: 'https://github.com/ionic-team/ionic-framework/issues/28435',
|
|
62
|
-
});
|
|
63
|
-
await page.setContent(`
|
|
64
|
-
<style>
|
|
65
|
-
#container {
|
|
66
|
-
padding: 10px;
|
|
67
|
-
background: #0088cc;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
ion-item {
|
|
71
|
-
--border-color: red;
|
|
72
|
-
}
|
|
73
|
-
</style>
|
|
74
|
-
<div id="container">
|
|
75
|
-
<ion-list inset="true">
|
|
76
|
-
<ion-item-sliding>
|
|
77
|
-
<ion-item>
|
|
78
|
-
<ion-label>Item 0</ion-label>
|
|
79
|
-
</ion-item>
|
|
80
|
-
<ion-item-options slot="end">
|
|
81
|
-
<ion-item-option color="warning">
|
|
82
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
83
|
-
</ion-item-option>
|
|
84
|
-
</ion-item-options>
|
|
85
|
-
</ion-item-sliding>
|
|
86
|
-
|
|
87
|
-
<ion-item-sliding>
|
|
88
|
-
<ion-item>
|
|
89
|
-
<ion-label>Item 1</ion-label>
|
|
90
|
-
</ion-item>
|
|
91
|
-
<ion-item-options slot="end">
|
|
92
|
-
<ion-item-option color="warning">
|
|
93
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
94
|
-
</ion-item-option>
|
|
95
|
-
</ion-item-options>
|
|
96
|
-
</ion-item-sliding>
|
|
97
|
-
|
|
98
|
-
<ion-item-sliding>
|
|
99
|
-
<ion-item>
|
|
100
|
-
<ion-label>Item 2</ion-label>
|
|
101
|
-
</ion-item>
|
|
102
|
-
<ion-item-options slot="end">
|
|
103
|
-
<ion-item-option color="warning">
|
|
104
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
105
|
-
</ion-item-option>
|
|
106
|
-
</ion-item-options>
|
|
107
|
-
</ion-item-sliding>
|
|
108
|
-
</ion-list>
|
|
109
|
-
</div>
|
|
110
|
-
`, config);
|
|
111
|
-
const container = page.locator('#container');
|
|
112
|
-
await expect(container).toHaveScreenshot(screenshot('inset-list-end-options-no-lines'));
|
|
113
|
-
});
|
|
114
|
-
test('last item in inset list with start options should not have line', async ({ page }) => {
|
|
115
|
-
await page.setContent(`
|
|
116
|
-
<style>
|
|
117
|
-
#container {
|
|
118
|
-
padding: 10px;
|
|
119
|
-
background: #0088cc;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
ion-item {
|
|
123
|
-
--border-color: red;
|
|
124
|
-
}
|
|
125
|
-
</style>
|
|
126
|
-
<div id="container">
|
|
127
|
-
<ion-list inset="true">
|
|
128
|
-
<ion-item-sliding>
|
|
129
|
-
<ion-item-options slot="start">
|
|
130
|
-
<ion-item-option color="warning">
|
|
131
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
132
|
-
</ion-item-option>
|
|
133
|
-
</ion-item-options>
|
|
134
|
-
<ion-item>
|
|
135
|
-
<ion-label>Item 0</ion-label>
|
|
136
|
-
</ion-item>
|
|
137
|
-
</ion-item-sliding>
|
|
138
|
-
|
|
139
|
-
<ion-item-sliding>
|
|
140
|
-
<ion-item-options slot="start">
|
|
141
|
-
<ion-item-option color="warning">
|
|
142
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
143
|
-
</ion-item-option>
|
|
144
|
-
</ion-item-options>
|
|
145
|
-
<ion-item>
|
|
146
|
-
<ion-label>Item 1</ion-label>
|
|
147
|
-
</ion-item>
|
|
148
|
-
</ion-item-sliding>
|
|
149
|
-
|
|
150
|
-
<ion-item-sliding>
|
|
151
|
-
<ion-item-options slot="start">
|
|
152
|
-
<ion-item-option color="warning">
|
|
153
|
-
<ion-icon slot="icon-only" name="pin"></ion-icon>
|
|
154
|
-
</ion-item-option>
|
|
155
|
-
</ion-item-options>
|
|
156
|
-
<ion-item>
|
|
157
|
-
<ion-label>Item 2</ion-label>
|
|
158
|
-
</ion-item>
|
|
159
|
-
</ion-item-sliding>
|
|
160
|
-
</ion-list>
|
|
161
|
-
</div>
|
|
162
|
-
`, config);
|
|
163
|
-
const container = page.locator('#container');
|
|
164
|
-
await expect(container).toHaveScreenshot(screenshot('inset-list-start-options-no-lines'));
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
});
|
|
@@ -5,6 +5,7 @@ import { getTimeGivenProgression } from "../../../utils/animation/cubic-bezier";
|
|
|
5
5
|
import { isIonContent, findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../../utils/content/index";
|
|
6
6
|
import { createGesture } from "../../../utils/gesture/index";
|
|
7
7
|
import { clamp, getElementRoot } from "../../../utils/helpers";
|
|
8
|
+
import { OVERLAY_GESTURE_PRIORITY } from "../../../utils/overlays";
|
|
8
9
|
import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
|
|
9
10
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
10
11
|
// Defaults for the card swipe animation
|
|
@@ -250,7 +251,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
250
251
|
const gesture = createGesture({
|
|
251
252
|
el,
|
|
252
253
|
gestureName: 'modalSwipeToClose',
|
|
253
|
-
gesturePriority:
|
|
254
|
+
gesturePriority: OVERLAY_GESTURE_PRIORITY,
|
|
254
255
|
direction: 'y',
|
|
255
256
|
threshold: 10,
|
|
256
257
|
canStart,
|
|
@@ -48,5 +48,48 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
48
48
|
const note = page.locator('ion-note');
|
|
49
49
|
await expect(note).toHaveScreenshot(screenshot(`note-item-divider-scale`));
|
|
50
50
|
});
|
|
51
|
+
test('should wrap label to the next line without truncating', async ({ page }) => {
|
|
52
|
+
await page.setContent(`
|
|
53
|
+
<style>
|
|
54
|
+
html {
|
|
55
|
+
font-size: 310%;
|
|
56
|
+
}
|
|
57
|
+
</style>
|
|
58
|
+
|
|
59
|
+
<ion-list>
|
|
60
|
+
<ion-item>
|
|
61
|
+
<ion-note slot="start">Really really long note</ion-note>
|
|
62
|
+
<ion-label>Label</ion-label>
|
|
63
|
+
</ion-item>
|
|
64
|
+
|
|
65
|
+
<ion-item>
|
|
66
|
+
<ion-label>Label</ion-label>
|
|
67
|
+
<ion-note slot="end">Really really long note</ion-note>
|
|
68
|
+
</ion-item>
|
|
69
|
+
|
|
70
|
+
<ion-item>
|
|
71
|
+
<ion-note slot="start">Note</ion-note>
|
|
72
|
+
<ion-label>Really really long label</ion-label>
|
|
73
|
+
</ion-item>
|
|
74
|
+
|
|
75
|
+
<ion-item>
|
|
76
|
+
<ion-label>Really really long label</ion-label>
|
|
77
|
+
<ion-note slot="end">Note</ion-note>
|
|
78
|
+
</ion-item>
|
|
79
|
+
|
|
80
|
+
<ion-item>
|
|
81
|
+
<ion-note slot="start">Really really long note</ion-note>
|
|
82
|
+
<ion-label>Really really long label</ion-label>
|
|
83
|
+
</ion-item>
|
|
84
|
+
|
|
85
|
+
<ion-item>
|
|
86
|
+
<ion-label>Really really long label</ion-label>
|
|
87
|
+
<ion-note slot="end">Really really long note</ion-note>
|
|
88
|
+
</ion-item>
|
|
89
|
+
</ion-list>
|
|
90
|
+
`, config);
|
|
91
|
+
const list = page.locator('ion-list');
|
|
92
|
+
await expect(list).toHaveScreenshot(screenshot(`note-wrapping-label-scale`));
|
|
93
|
+
});
|
|
51
94
|
});
|
|
52
95
|
});
|
|
@@ -10,11 +10,6 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
10
10
|
test.describe(title('picker-internal: rendering'), () => {
|
|
11
11
|
test('inline pickers should not have visual regression', async ({ page }) => {
|
|
12
12
|
await page.goto(`/src/components/picker-internal/test/basic`, config);
|
|
13
|
-
const fullStack = page.locator('#inline button[data-value="full-stack"]');
|
|
14
|
-
const onion = page.locator('#inline button[data-value="onion"]');
|
|
15
|
-
await expect(fullStack).toHaveClass(/picker-item-active/);
|
|
16
|
-
await expect(onion).toHaveClass(/picker-item-active/);
|
|
17
|
-
await page.waitForChanges();
|
|
18
13
|
await expect(page.locator('#inline')).toHaveScreenshot(screenshot(`picker-internal-inline-diff`));
|
|
19
14
|
});
|
|
20
15
|
});
|
|
@@ -120,6 +120,8 @@ export class Radio {
|
|
|
120
120
|
emitStyle() {
|
|
121
121
|
const style = {
|
|
122
122
|
'interactive-disabled': this.disabled,
|
|
123
|
+
// TODO(FW-3125): remove this
|
|
124
|
+
legacy: !!this.legacy,
|
|
123
125
|
};
|
|
124
126
|
if (this.legacyFormController.hasLegacyControl()) {
|
|
125
127
|
style['radio-checked'] = this.checked;
|
|
@@ -265,40 +265,34 @@
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
.searchbar-cancel-button {
|
|
268
|
-
/**
|
|
269
|
-
* The left edge of the cancel button
|
|
270
|
-
* should align with the left edge
|
|
271
|
-
* of the back button if the searchbar
|
|
272
|
-
* is used in a toolbar.
|
|
273
|
-
*/
|
|
274
268
|
top: 0;
|
|
275
269
|
background-color: transparent;
|
|
276
270
|
font-size: 1.6em;
|
|
277
271
|
}
|
|
278
272
|
@supports (inset-inline-start: 0) {
|
|
279
273
|
.searchbar-cancel-button {
|
|
280
|
-
inset-inline-start:
|
|
274
|
+
inset-inline-start: 5px;
|
|
281
275
|
}
|
|
282
276
|
}
|
|
283
277
|
@supports not (inset-inline-start: 0) {
|
|
284
278
|
.searchbar-cancel-button {
|
|
285
|
-
left:
|
|
279
|
+
left: 5px;
|
|
286
280
|
}
|
|
287
281
|
:host-context([dir=rtl]) .searchbar-cancel-button {
|
|
288
282
|
left: unset;
|
|
289
283
|
right: unset;
|
|
290
|
-
right:
|
|
284
|
+
right: 5px;
|
|
291
285
|
}
|
|
292
286
|
[dir=rtl] .searchbar-cancel-button {
|
|
293
287
|
left: unset;
|
|
294
288
|
right: unset;
|
|
295
|
-
right:
|
|
289
|
+
right: 5px;
|
|
296
290
|
}
|
|
297
291
|
@supports selector(:dir(rtl)) {
|
|
298
292
|
.searchbar-cancel-button:dir(rtl) {
|
|
299
293
|
left: unset;
|
|
300
294
|
right: unset;
|
|
301
|
-
right:
|
|
295
|
+
right: 5px;
|
|
302
296
|
}
|
|
303
297
|
}
|
|
304
298
|
}
|
|
@@ -134,28 +134,3 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
|
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
-
configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
138
|
-
test.describe(title('searchbar: cancel button alignment'), () => {
|
|
139
|
-
test('should align with the back button when used in a toolbar', async ({ page }, testInfo) => {
|
|
140
|
-
testInfo.annotations.push({
|
|
141
|
-
type: 'issue',
|
|
142
|
-
description: 'https://github.com/ionic-team/ionic-framework/issues/28468',
|
|
143
|
-
});
|
|
144
|
-
await page.setContent(`
|
|
145
|
-
<ion-header>
|
|
146
|
-
<ion-toolbar>
|
|
147
|
-
<ion-buttons slot="start">
|
|
148
|
-
<ion-back-button default-href="#"></ion-back-button>
|
|
149
|
-
</ion-buttons>
|
|
150
|
-
<ion-title>Test</ion-title>
|
|
151
|
-
</ion-toolbar>
|
|
152
|
-
<ion-toolbar>
|
|
153
|
-
<ion-searchbar show-cancel-button="always"></ion-searchbar>
|
|
154
|
-
</ion-toolbar>
|
|
155
|
-
</ion-header>
|
|
156
|
-
`, config);
|
|
157
|
-
const header = page.locator('ion-header');
|
|
158
|
-
await expect(header).toHaveScreenshot(screenshot(`searchbar-back-button-align`));
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
});
|