@import "button"; /********** ! Notebook ***********/ @include exports("notebook") { notebook { > header { padding: 1px; border-color: $borders_color; border-width: 1px; background-color: shade($base_color, .9); &:backdrop { border-color: $backdrop_borders_color; background-color: shade($backdrop_base_color, .9); } tabs { margin: -1px; } &.top { border-bottom-style: solid; > tabs { margin-bottom: -2px; > tab { &:hover { box-shadow: inset 0 -3px $borders_color; } &:backdrop { box-shadow: none; } &:checked { box-shadow: inset 0 -3px $selected_bg_color; } } } } &.bottom { border-top-style: solid; > tabs { margin-top: -2px; > tab { &:hover { box-shadow: inset 0 3px $borders_color; } &:backdrop { box-shadow: none; } &:checked { box-shadow: inset 0 3px $selected_bg_color; } } } } &.left { border-right-style: solid; > tabs { margin-right: -2px; > tab { &:hover { box-shadow: inset -3px 0 $borders_color; } &:backdrop { box-shadow: none; } &:checked { box-shadow: inset -3px 0 $selected_bg_color; } } } } &.right { border-left-style: solid; > tabs { margin-left: -2px; > tab { &:hover { box-shadow: inset 3px 0 $borders_color; } &:backdrop { box-shadow: none; } &:checked { box-shadow: inset 3px 0 $selected_bg_color; } } } } &.top > tabs > arrow { @extend %notebook_vert_arrows; border-top-style: none; } &.bottom > tabs > arrow { @extend %notebook_vert_arrows; border-bottom-style: none; } @at-root %notebook_vert_arrows { margin-left: 0; margin-right: 0; padding-left: 4px; padding-right: 4px; &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); } &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); } } &.left > tabs > arrow { @extend %notebook_horz_arrows; border-left-style: none; } &.right > tabs > arrow { @extend %notebook_horz_arrows; border-right-style: none; } @at-root %notebook_horz_arrows { margin-top: 0; margin-bottom: 0; padding-top: 4px; padding-bottom: 4px; &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); } &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); } } > tabs > arrow { //@extend %button_basic; //@extend %button_basic.flat; min-height: 16px; min-width: 16px; border-radius: 0; &:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: transparentize(white, .7); border-color: transparent; box-shadow: none; } //&:disabled { @include button(undecorated); } } tab { min-height: 30px; min-width: 30px; padding: $spacing $spacing * 2; outline-offset: -5px; color: $insensitive_fg_color; border-width: 1px; // for reorderable tabs border-color: transparent; // &:hover { color: mix($insensitive_fg_color, $fg_color, .5); &.reorderable-page { border-color: transparentize($borders_color, .7); background-color: transparentize($base_color, .8); } } &:backdrop { color: mix($backdrop_fg_color, $backdrop_bg_color, .6); &.reorderable-page { border-color: transparent; background-color: transparent; } } &:checked { color: $fg_color; &.reorderable-page { border-color: transparentize($borders_color, .4); background-color: transparentize($base_color, .5); &:hover { background-color: transparentize($base_color, .3); } } } &:backdrop:checked { color: $backdrop_fg_color; &.reorderable-page { border-color: $backdrop_borders_color; background-color: $backdrop_base_color; } } // colors the button like the label, overridden otherwise button.flat { &:hover { color: currentColor; } &, &:backdrop { color: gtkalpha(currentColor, .3); } padding: 0; margin-top: 4px; margin-bottom: 4px; // FIXME: generalize .small-button? min-width: 20px; min-height: 20px; &:last-child { margin-left: 4px; margin-right: -4px; } &:first-child { margin-left: -4px; margin-right: 4px; } } } &.top, &.bottom { tabs { padding-left: 0; padding-right: 0; &:not(:only-child) { margin-left: 3px; margin-right: 3px; &:first-child { margin-left: -1px; } &:last-child { margin-right: -1px; } } tab { margin-left: 0; margin-right: 0; &.reorderable-page { border-style: none solid; } } } } &.left, &.right { tabs { padding-top: 0; padding-bottom: 0; &:not(:only-child) { margin-top: 3px; margin-bottom: 3px; &:first-child { margin-top: -1px; } &:last-child { margin-bottom: -1px; } } tab { margin-top: 0; margin-bottom: 0; &.reorderable-page { border-style: solid none; } } } } &.top tab { padding-bottom: 4px; } &.bottom tab { padding-top: 4px; } } > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks background-color: $base_color; &:backdrop { background-color: $backdrop_base_color; } } } }