136 lines
2.6 KiB
SCSS
136 lines
2.6 KiB
SCSS
collapsible-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
padding-block: 4px;
|
|
|
|
--width-focus-border: 2px;
|
|
|
|
:not(:last-child) > & {
|
|
border-bottom: 1px solid var(--fill-quinary);
|
|
}
|
|
|
|
& > .head {
|
|
@include focus-ring;
|
|
@include comfortable {
|
|
padding-block: 2px;
|
|
}
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.title-box {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
|
|
.title {
|
|
flex: 0 0 auto;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
color: var(--fill-secondary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.summary {
|
|
flex: 1;
|
|
|
|
display: -webkit-box;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 1;
|
|
overflow: hidden;
|
|
color: var(--fill-secondary);
|
|
text-overflow: ellipsis;
|
|
overflow-wrap: anywhere;
|
|
|
|
opacity: 1;
|
|
transition: opacity 0.2s ease-in-out;
|
|
}
|
|
}
|
|
|
|
toolbarbutton {
|
|
flex-shrink: 0;
|
|
width: 20px;
|
|
height: 20px;
|
|
padding: 2px;
|
|
color: var(--fill-secondary);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
toolbarbutton.add {
|
|
@include svgicon-menu("plus", "universal", "16");
|
|
}
|
|
|
|
toolbarbutton.twisty .toolbarbutton-icon {
|
|
@include svgicon-menu("chevron-12", "universal", "16");
|
|
transform: rotate(0deg);
|
|
transform-origin: center;
|
|
transition: transform 0.2s ease-in-out;
|
|
}
|
|
|
|
popupset > menupopup {
|
|
@include macOS-hide-menu-icons;
|
|
}
|
|
}
|
|
|
|
&[open]:not([empty]) > .head {
|
|
toolbarbutton.twisty .toolbarbutton-icon {
|
|
transform: rotate(-180deg);
|
|
|
|
&:-moz-locale-dir(rtl) {
|
|
// Make the animation run in the opposite direction in RTL locales
|
|
transform: rotate(180deg);
|
|
}
|
|
}
|
|
|
|
.title-box .summary {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
&[empty] > .head > toolbarbutton.twisty {
|
|
fill: var(--fill-tertiary);
|
|
}
|
|
|
|
@each $pane, $color in $item-pane-sections {
|
|
&[data-pane="#{$pane}"] {
|
|
& > .head .title::before {
|
|
content: '';
|
|
width: 16px;
|
|
height: 16px;
|
|
background: icon-url("itempane/16/#{$pane}.svg") no-repeat center;
|
|
-moz-context-properties: fill, fill-opacity, stroke, stroke-opacity;
|
|
fill: $color;
|
|
stroke: $color;
|
|
}
|
|
}
|
|
}
|
|
|
|
& > :not(.head) {
|
|
max-height: var(--open-height, auto);
|
|
opacity: 1;
|
|
transition: max-height 0.2s ease-in-out, opacity 0.2s ease-in-out;
|
|
}
|
|
|
|
&:not([open]) {
|
|
& > :not(.head) {
|
|
max-height: 0;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
overflow-y: hidden;
|
|
transition: max-height 0.2s ease-in-out, opacity 0.2s ease-in-out, visibility 0s 0.2s, overflow-y 0s 0.2s;
|
|
}
|
|
}
|
|
|
|
&.disable-transitions * {
|
|
transition: none !important;
|
|
}
|
|
|
|
toolbarbutton, .box, .keyboard-clickable {
|
|
@include focus-ring;
|
|
}
|
|
|
|
}
|