@import "button"; /********** ! Notebook ***********/ @include exports("notebook") { notebook { &.frame { border-color: border_normal($base_color); &.top { border-width: 1px 1px 0; } &.right { border-width: 1px 1px 1px 0; } &.bottom { border-width: 0 1px 1px; } &.left { border-width: 1px 0 1px 1px; } } > header { padding: 0; margin: 0; border-width: 0; border-radius: 0; background-image: none; background-clip: border-box; background-color: shade($base_color, .9); color: $text_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: -5px; margin-right: -5px; 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: -5px; margin-bottom: -5px; 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 %close_button; min-height: 16px; min-width: 16px; &:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: transparentize(white, 0.7); border-color: transparent; box-shadow: none; } &:disabled { @extend %undecorated_button; } } tab { padding: ($spacing + 1) 0 0; // top | left/right | bottom border-style: solid; border-color: shade($bg_color, .8); border-width: 0px; background-color: mix($bg_color, $base_color, .6); background-image: none; box-shadow: none; outline: none; button, button:hover { padding: $spacing - 4; margin-left: 15px; min-height: 18px; min-width: 18px; opacity: 0; transition: opacity .3s ease-in; } > box, > label { padding: 0 ($spacing * 3) ($spacing + 1); // top | left/right | bottom border-width: 2px; border-style: solid; border-color: transparent; transition: border-bottom-color .3s ease-out; } &:hover { background-color: shade($base_color, .93); button, button:hover { opacity: 1; } &:checked { background-color: mix($bg_color, $base_color, .6); } } &:checked { border-bottom-color: transparent; outline: none; label { color: $selected_bg_color; } &:hover { background-color: mix($bg_color, $base_color, .6); } } label { color: mix($text_color, $base_color, .3); } /* close button styling */ button { @extend %close_button; } } &.top tab { padding: ($spacing + 1) 0 0; // top | left/right | bottom border-style: solid; border-color: shade($bg_color, .8); border-width: 0px; border-bottom-width: 1px; > box, > label { padding: 0 ($spacing * 3) ($spacing + 1); // top | left/right | bottom } &:checked { border-bottom-color: transparent; outline: none; > box, > label { border-bottom-color: $selected_bg_color; } label { margin-bottom: -1px; color: $selected_bg_color; } &:hover { background-color: mix($bg_color, $base_color, .6); } } } &.right tab { padding: 0 ($spacing + 1) 0 0; // top | right | bottom | left border-style: solid; border-color: shade($bg_color, .8); border-width: 0px; border-left-width: 1px; > box, > label { padding: ($spacing + 1) ($spacing * 3); // top | right | bottom | left } &:checked { border-left-color: transparent; outline: none; > box, > label { margin-left: -1px; border-left-color: $selected_bg_color; } } } &.bottom tab { padding: 0 0 ($spacing + 1); // top | left/right | bottom border-style: solid; border-color: shade($bg_color, .8); border-width: 0px; border-top-width: 1px; > box, > label { padding: ($spacing + 1) ($spacing * 3) 0; // top/bottom | left/right } &:checked { border-top-color: transparent; outline: none; > box, > label { margin-top: -1px; border-top-color: $selected_bg_color; } } } &.left tab { padding: 0 0 0 ($spacing + 1); // top | right | bottom | left border-style: solid; border-color: shade($bg_color, .8); border-width: 0px; border-right-width: 1px; > box, > label { padding: ($spacing + 1) ($spacing * 3); // top/bottom | left/right } &:checked { border-right-color: transparent; outline: none; > box, > label { margin-right: -1px; border-right-color: $selected_bg_color; } } } } viewport { border-width: 0; background-color: $base_color; color: $text_color; } } }