@ebay/skin
Version:
Skin - CSS modules that represent the brand eBay
103 lines (93 loc) • 2.49 kB
CSS
@keyframes chevron-bounce-open {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-7px);
}
to {
transform: translateY(0);
}
}
@keyframes chevron-bounce-close {
0% {
transform: translateY(0);
}
50% {
transform: translateY(7px);
}
to {
transform: translateY(0);
}
}
ul.accordion {
margin: 0;
padding: 0;
width: 100%;
}
ul.accordion ::marker {
font-size: 0;
}
ul.accordion > li:not(:last-child) {
border-bottom: 1px solid var(--color-stroke-subtle);
}
ul.accordion summary.details__summary {
border-radius: 0;
display: flex;
font-size: var(--font-size-medium);
justify-content: space-between;
min-height: 48px;
padding: 12px 16px;
}
ul.accordion details {
overflow: hidden;
}
ul.accordion details .details__content {
margin: 0 16px 6px;
overflow: hidden;
}
ul.accordion summary.details__summary span.details__icon svg {
fill: var(
--details-secondary-foreground-color,
var(--color-foreground-secondary)
);
animation: chevron-bounce-close var(--motion-duration-medium-1)
var(--motion-easing-standard);
}
ul.accordion details[open] summary.details__summary span.details__icon svg {
animation: chevron-bounce-open var(--motion-duration-medium-1)
var(--motion-easing-standard) var(--motion-duration-short-1);
}
ul.accordion details svg.details__expand,
ul.accordion details[open] svg.details__collapse {
display: inline-block;
}
ul.accordion details svg.details__collapse,
ul.accordion details[open] svg.details__expand {
display: none;
}
ul.accordion--large summary.details__summary {
font-size: var(--font-size-large-1);
min-height: 52px;
}
@supports selector(::details-content) and (interpolate-size: allow-keywords) and
(transition: allow-discrete) {
:root {
interpolate-size: allow-keywords;
}
ul.accordion details::details-content {
height: 0;
opacity: 0;
overflow: clip;
transition:
height var(--motion-duration-medium-3) var(--motion-easing-standard),
content-visibility var(--motion-duration-medium-2)
var(--motion-easing-continuous) allow-discrete,
opacity var(--motion-duration-medium-2)
var(--motion-easing-continuous);
}
ul.accordion details[open]::details-content {
height: auto;
opacity: 1;
}
}