Проблема с анимацией @vaadin/router

Резко встала проблема анимации переходов с использованием @vaadin/router. Когда пользователь переходит по роутам срабатывает типичный fadeOut и fadeIn, но возникают проблемы из-за позиционирования - #outlet выпадает из основного контейнера. Я так понял, что все происходит из-за того, что при инициализации перехода router устанавливает компоненту height: 0px. Но как это исправить я понятия не имею. Также отмечу, что в официальных доках работает все исправно. Если кто раньше сталкивался с этой проблемой, прошу помочь

P.S. Такая же ошибка обнаружена в Firefox Dev: устанавливает width: 0px; С высотой все в порядке

введите сюда описание изображения

app.js

import {css, html, LitElement} from 'lit-element'
import {router_outlet} from './route'

import '@vaadin/vaadin-button'

class App extends LitElement {
static get styles() {
    return css`
      :host{ 
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
      }
      .app-content{
        position: relative;
        width: inherit;
        background: #fff;
        padding: 6px;
        border-radius: 8px;
        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
      }
      #outlet > .leaving {
        animation: .3s fadeOut ease;
      }
      #outlet > .entering {
        animation: .3s fadeIn ease;
      }
      @keyframes fadeOut {
        to {opacity: 0;}
      }
      @keyframes fadeIn {
        to {opacity: 1;}
      }
    `
}
render() {
    return html`
        <app-links>
            <a href="/">Home</a>
            <a href="/photo">Photo's</a>
            <a href="/news">New's</a>
        </app-links>

        <div class="app-content">
          ${router_outlet}
        </div>
    `
}
}
customElements.define('ng-app', App)

route.js

import { Router } from '@vaadin/router'


const router_outlet = document.createElement('div')
      router_outlet.setAttribute('id', 'outlet')
const Route = new Router(router_outlet)


Route.setRoutes([
{ 
    path: '/',
    animate: true,
    children: [
        {path: '', component: 'home-component', action: async () => await import('./components/home-component')},
        {path: '/photo', component: 'photo-component', action: async () => await import('./components/photo-component')},
        {path: '/news', component: 'news-component', action: async () => await import('./components/news-component')},
        {path: '(.*)', redirect: '/'}
    ]
}
])

export { router_outlet }

Код частично взят из документации vaadin: https://vaadin.github.io/vaadin-router/vaadin-router/demo/#vaadin-router-animated-transitions-demos


Ответы (0 шт):