@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; } }