131 lines
2.7 KiB
SCSS
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;
|
|
}
|
|
}
|