| | |
| | .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%; |
| | } |
| |
|