@studiocms/ui
Version:
The UI library for StudioCMS. Includes the layouts & components we use to build StudioCMS.
79 lines (78 loc) • 1.86 kB
CSS
.sui-accordion {
width: 100%;
}
.sui-accordion-item,
.sui-accordion-details {
margin-top: 0 ;
}
.sui-accordion-details {
margin-left: calc(2.25rem);
display: grid;
grid-template-rows: 0fr;
position: relative;
bottom: 0;
transition: grid-template-rows 0.3s ease, bottom 0.3s ease;
overflow: hidden;
}
.sui-accordion-item[data-open=true] > .sui-accordion-details {
bottom: 0.25rem;
grid-template-rows: 1fr;
}
.sui-accordion-content {
min-height: 0;
overflow: hidden;
}
.sui-accordion.outlined,
.sui-accordion.filled {
border: 1px solid var(--border);
border-radius: var(--radius-sm);
}
.sui-accordion.filled {
background-color: var(--background-step-1);
}
.sui-accordion.separated .sui-accordion-item,
.sui-accordion.outlined .sui-accordion-item,
.sui-accordion.filled .sui-accordion-item {
border-bottom: 1px solid var(--border);
}
.sui-accordion.separated .sui-accordion-item:first-of-type {
border-top: 1px solid var(--border);
}
.sui-accordion.filled .sui-accordion-item:last-of-type,
.sui-accordion.outlined .sui-accordion-item:last-of-type {
border-bottom: none;
}
.sui-accordion-summary {
color: var(--text-normal);
display: flex;
flex-direction: row;
gap: 0.5rem;
align-items: center;
padding-left: 0.5rem;
padding-bottom: 0.5rem;
padding-top: 0.5rem;
user-select: none;
width: 100%;
border: none;
background: transparent;
cursor: pointer;
text-align: left;
}
.sui-accordion-summary:focus-visible {
outline: 2px solid var(--text-normal);
outline-offset: 2px;
}
.sui-summary-chevron {
transition: all 0.3s ease;
}
.sui-accordion-item[data-open=true] > .sui-accordion-summary .sui-summary-chevron {
transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce) {
.sui-accordion-details {
transition: none;
}
.sui-summary-chevron {
transition: none;
}
}