@adobe/spectrum-css
Version:
The Spectrum CSS top-level backwards compatible package
206 lines (156 loc) • 7.65 kB
CSS
.spectrum-Accordion {
--spectrum-accordion-item-title-tracking-actual: calc(var(--spectrum-accordion-item-title-tracking, var(--spectrum-global-font-letter-spacing-medium)) / 100);
--spectrum-accordion-item-title-padding-y: var(
--spectrum-global-dimension-size-150
);
--spectrum-accordion-item-line-height: 1.3;
--spectrum-accordion-animation-duration: var(--spectrum-global-animation-duration-100, 130ms);
--spectrum-accordion-icon-width: var(--spectrum-global-dimension-size-125);
}
.spectrum-Accordion {
display: block;
list-style: none;
padding: 0;
margin: 0;
}
[dir="ltr"] .spectrum-Accordion-itemIndicator {
left: var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225));
}
[dir="rtl"] .spectrum-Accordion-itemIndicator {
right: var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225));
}
[dir="rtl"] .spectrum-Accordion-itemIndicator { transform: matrix(-1, 0, 0, 1, 0, 0) ; }
.spectrum-Accordion-itemIndicator {
display: block;
position: absolute;
top: calc(50% - var(--spectrum-accordion-icon-height, var(--spectrum-global-dimension-size-125)) / 2);
transition: transform ease var(--spectrum-accordion-animation-duration);
}
.spectrum-Accordion-item {
z-index: inherit;
position: relative;
display: list-item;
margin: 0;
border-bottom: var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)) solid transparent;
}
.spectrum-Accordion-item:first-of-type {
border-top: var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)) solid
transparent;
}
.spectrum-Accordion-itemHeading {
margin: 0;
position: relative;
box-sizing: border-box;
}
[dir="ltr"] .spectrum-Accordion-itemHeader {
padding-left: calc(var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225)) + var(--spectrum-accordion-icon-width, var(--spectrum-global-dimension-size-75)) + var(--spectrum-accordion-icon-gap, var(--spectrum-global-dimension-size-100)) + var(--spectrum-accordion-item-border-left-size-key-focus, var(--spectrum-alias-border-size-thick)));
}
[dir="rtl"] .spectrum-Accordion-itemHeader {
padding-right: calc(var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225)) + var(--spectrum-accordion-icon-width, var(--spectrum-global-dimension-size-75)) + var(--spectrum-accordion-icon-gap, var(--spectrum-global-dimension-size-100)) + var(--spectrum-accordion-item-border-left-size-key-focus, var(--spectrum-alias-border-size-thick)));
}
[dir="ltr"] .spectrum-Accordion-itemHeader {
padding-right: var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225));
}
[dir="rtl"] .spectrum-Accordion-itemHeader {
padding-left: var(--spectrum-accordion-item-padding-x, var(--spectrum-global-dimension-size-225));
}
[dir="ltr"] .spectrum-Accordion-itemHeader {
text-align: left;
}
[dir="rtl"] .spectrum-Accordion-itemHeader {
text-align: right;
}
.spectrum-Accordion-itemHeader {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: start;
justify-content: flex-start;
box-sizing: border-box;
padding-top: var(--spectrum-accordion-item-title-padding-y);
padding-bottom: var(--spectrum-accordion-item-title-padding-y);
margin: 0;
min-height: calc(100% - var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)));
font-size: var(--spectrum-accordion-item-title-text-size, var(--spectrum-global-dimension-font-size-50));
line-height: var(--spectrum-accordion-item-line-height);
text-transform: uppercase;
letter-spacing: var(--spectrum-accordion-item-title-tracking-actual);
text-overflow: ellipsis;
cursor: pointer;
font-weight: 500;
-webkit-appearance: none;
appearance: none;
background-color: inherit;
border: 0;
font-family: inherit;
width: 100%;
}
.spectrum-Accordion-itemHeader:focus {
outline: none;
}
[dir="ltr"] .spectrum-Accordion-itemHeader:focus::after {
left: 0;
}
[dir="rtl"] .spectrum-Accordion-itemHeader:focus::after {
right: 0;
}
.spectrum-Accordion-itemHeader:focus::after {
content: "";
position: absolute;
top: calc(-1 * var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)));
bottom: calc(-1 * var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)));
width: var(--spectrum-accordion-item-border-left-size-key-focus, var(--spectrum-alias-border-size-thick));
}
.spectrum-Accordion-itemContent {
padding-top: 0;
padding-bottom: var(--spectrum-accordion-item-content-padding, var(--spectrum-global-dimension-size-200));
padding-left: var(--spectrum-accordion-item-content-padding, var(--spectrum-global-dimension-size-200));
padding-right: var(--spectrum-accordion-item-content-padding, var(--spectrum-global-dimension-size-200));
display: none;
}
[dir="ltr"] .spectrum-Accordion-item.is-open > .spectrum-Accordion-itemHeading > .spectrum-Accordion-itemIndicator { transform: rotate(90deg); }
[dir="rtl"] .spectrum-Accordion-item.is-open > .spectrum-Accordion-itemHeading > .spectrum-Accordion-itemIndicator { transform: matrix(-1, 0, 0, 1, 0, 0) rotate(90deg); }
[dir="ltr"] .spectrum-Accordion-item.is-open > .spectrum-Accordion-itemIndicator { transform: rotate(90deg); }
[dir="rtl"] .spectrum-Accordion-item.is-open > .spectrum-Accordion-itemIndicator { transform: matrix(-1, 0, 0, 1, 0, 0) rotate(90deg); }
.spectrum-Accordion-item.is-open > .spectrum-Accordion-itemHeader::after {
height: calc(100% - var(--spectrum-accordion-item-border-size, var(--spectrum-alias-border-size-thin)));
}
.spectrum-Accordion-item.is-open > .spectrum-Accordion-itemContent {
display: block;
}
.spectrum-Accordion-item.is-disabled .spectrum-Accordion-itemHeader {
cursor: default;
}
.spectrum-Accordion-item {
border-color: var(--spectrum-accordion-border-color, var(--spectrum-global-color-gray-300));
}
.spectrum-Accordion-itemIndicator {
color: var(--spectrum-accordion-icon-color, var(--spectrum-global-color-gray-600));
}
.spectrum-Accordion-itemHeader {
color: var(--spectrum-accordion-text-color, var(--spectrum-global-color-gray-700));
}
.spectrum-Accordion-itemHeader:hover {
color: var(--spectrum-accordion-text-color-hover, var(--spectrum-global-color-gray-900));
background-color: var(--spectrum-accordion-background-color-hover, var(--spectrum-global-color-gray-200));
}
.spectrum-Accordion-itemHeader:hover + .spectrum-Accordion-itemIndicator {
color: var(--spectrum-accordion-icon-color-hover, var(--spectrum-global-color-gray-800));
}
.spectrum-Accordion-itemHeader.focus-ring:after {
background-color: var(--spectrum-accordion-item-border-left-color-key-focus, var(--spectrum-alias-border-color-focus));
}
.spectrum-Accordion-item.is-open .spectrum-Accordion-itemHeader:hover {
background-color: transparent;
}
.spectrum-Accordion-item.is-disabled .spectrum-Accordion-itemHeader,
.spectrum-Accordion-item.is-disabled .spectrum-Accordion-itemHeader:hover,
.spectrum-Accordion-item.is-disabled .spectrum-Accordion-itemHeader.focus-ring {
color: var(--spectrum-accordion-text-color-disabled, var(--spectrum-global-color-gray-500));
background-color: transparent;
}
.spectrum-Accordion-item.is-disabled .spectrum-Accordion-itemHeader + .spectrum-Accordion-itemIndicator {
color: var(--spectrum-accordion-icon-color-disabled, var(--spectrum-global-color-gray-400));
}