import { expoOut } from 'svelte/easing'
import { transitionTime } from '../helpers/transitionTime'
export let zIndex = 0
</script>
<div
class="view {$$props.class ? $$props.class : ''}"
style="z-index: {zIndex}"
in:fly="{{ duration: transitionTime, x: 64, easing: expoOut }}"
out:fly="{{ duration: transitionTime / 2, x: -16, easing: expoOut }}">
<slot />
</div>
<style>
.view {
position: absolute;
width: 100%;
height: 100vh;
height: -webkit-fill-available;
background: var(--background);
overflow: hidden;
}
.view.scrollable {
overflow-y: scroll;
overflow-y: overlay;
overflow-x: hidden;
}
.view.transparent {
background: var(--transparent);
}
</style>
С самими анимациями я лично проблем почти не имел, в большинстве случаев проблема была в реакции родительского тега или соседних тегов/компонентов. Можно анимацию сделать по дольше и просмотреть как меняется этот компонент и его родительский тег.
Обсуждают сегодня