| |
| .animated-tab-panel { |
| transition-property: opacity, translate; |
| transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
| transition-duration: 300ms; |
| animation-duration: 300ms; |
| } |
|
|
| |
| .animated-tab-list { |
| position: relative; |
| } |
|
|
| .animated-tab-list::after { |
| content: ''; |
| position: absolute; |
| bottom: 0; |
| height: 2px; |
| background-color: currentColor; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| left: var(--tab-left, 0); |
| width: var(--tab-width, 0); |
| } |
|
|
| .animated-tab { |
| position: relative; |
| } |
|
|
| .animated-tab[data-state='active'] { |
| border-bottom-color: transparent !important; |
| } |
|
|
| .animated-tab-panel[data-enter] { |
| opacity: 1 !important; |
| translate: 0 !important; |
| } |
|
|
| @media (prefers-reduced-motion: reduce) { |
| .animated-tab-panel { |
| transition: none; |
| } |
| } |
|
|
| .animated-tab-panel:not([data-open]) { |
| position: absolute; |
| top: 0px; |
| } |
|
|
| .animated-panels:has(> [data-was-open]) > .animated-tab-panel { |
| opacity: 0; |
| translate: -100%; |
| } |
|
|
| .animated-panels [data-was-open] ~ .animated-tab-panel, |
| .animated-panels [data-open] ~ .animated-tab-panel { |
| translate: 100%; |
| } |
|
|