zotero/scss/elements/_itemPaneSidenav.scss
2024-05-14 04:19:58 -04:00

131 lines
2.7 KiB
SCSS

@use "sass:map";
item-pane-sidenav {
&:not([hidden]) {
display: flex;
}
flex-direction: column;
border-inline-start: var(--material-panedivider);
padding: 6px 4px 0;
align-items: center;
gap: 6px;
background: var(--material-sidepane);
position: relative; // Stop item pane content from overlapping
width: $width-sidenav;
height: auto;
&.stacked {
width: auto;
height: $width-sidenav;
flex-direction: row;
border-inline-start: none;
border-top: var(--material-panedivider);
padding-inline-start: 6px;
padding-inline-end: 0;
padding-block: 4px;
}
.inherit-flex {
display: flex;
flex-direction: inherit;
flex-wrap: inherit;
align-items: inherit;
justify-content: inherit;
gap: inherit;
}
.highlight {
border-radius: 5px;
background-color: var(--fill-quinary);
}
.pin-wrapper {
position: relative;
// Disable pointer events here, re-enable on the button, so that :hover styles are only applied
// when the button itself is hovered
pointer-events: none;
&::after {
content: '';
position: absolute;
top: 1px;
inset-inline-end: 1px;
width: 12px;
height: 12px;
border-radius: 50%;
}
&.pinnable {
&.pinned::after {
background-color: var(--accent-blue);
background-image: icon-url("8/universal/pin.svg");
background-position: center;
background-repeat: no-repeat;
}
}
}
toolbarbutton {
// TODO: Extract button styles?
width: 28px;
height: 28px;
margin: 0;
padding: 4px;
pointer-events: all;
&:disabled,
&[disabled="true"] {
opacity: 60%;
pointer-events: none;
}
@each $pane, $color in $item-pane-sections {
&[data-pane="#{$pane}"] {
list-style-image: url("chrome://zotero/skin/itempane/20/#{$pane}.svg");
fill: $color;
stroke: $color;
}
}
// Notes context pane button
&[data-pane="context-notes"] {
list-style-image: url("chrome://zotero/skin/itempane/20/notes.svg");
fill: map.get($item-pane-sections, "notes");
stroke: map.get($item-pane-sections, "notes");
}
// Locate button
&[data-action="locate"] {
@include svgicon-menu("go-to", "universal", "20");
}
&[custom] {
@media (prefers-color-scheme: light) {
list-style-image: var(--custom-sidenav-icon-light);
}
@media (prefers-color-scheme: dark) {
list-style-image: var(--custom-sidenav-icon-dark);
}
fill: var(--fill-secondary);
stroke: var(--fill-secondary);
-moz-context-properties: fill, fill-opacity, stroke, stroke-opacity;
}
}
&:not(.stacked) > .divider {
width: 20px;
height: 0;
border-bottom: 1px solid var(--fill-quinary);
}
&.stacked > .divider {
width: 0;
height: 20px;
border-inline-end: 1px solid var(--fill-quinary);
}
.context-menu {
@include macOS-hide-menu-icons;
}
}