$v-panel-background-color: scale-color(lighten($v-app-background-color, 5%), $saturation: -5%) !default; $v-panel-border: $v-border !default; @mixin valo-panel ($primary-stylename: v-panel, $include-additional-styles: contains($v-included-additional-styles, panel)) { .#{$primary-stylename} { @include valo-panel-style; overflow: visible !important; } .#{$primary-stylename}-caption { @include valo-panel-caption-style; border-radius: $v-border-radius - first-number($v-border) $v-border-radius - first-number($v-border) 0 0; } .#{$primary-stylename}-content { @include box-sizing(border-box); width: 100%; height: 100%; @include valo-panel-adjust-content-margins; } @if $include-additional-styles { .#{$primary-stylename}-borderless { @include valo-panel-borderless-style; } .#{$primary-stylename}-well { @include valo-panel-well-style; } .#{$primary-stylename}-scroll-divider { @include valo-panel-scroll-divider-style; } .#{$primary-stylename}-caption.v-horizontallayout { height: auto !important; line-height: 0; .v-slot { vertical-align: middle; } .v-label { line-height: $v-unit-size; } } } } @mixin valo-panel-style ( $primary-stylename: v-panel, $background-color : $v-panel-background-color, $shadow : $v-shadow, $border : $v-panel-border, $border-radius : $v-border-radius ) { background: $background-color; color: valo-font-color($background-color); border-radius: $border-radius; border: valo-border($border: $border, $color: darkest-color($background-color, $v-app-background-color), $strength: 0.7); @include box-shadow(valo-bevel-and-shadow($shadow: $shadow)); } @mixin valo-panel-caption-style ( $background-color : $v-background-color, $bevel : $v-bevel, $gradient : valo-gradient-style($v-gradient) valo-gradient-opacity($v-gradient)/4, $border : $v-panel-border ) { @include box-sizing(border-box); padding: 0 round($v-unit-size/3); line-height: $v-unit-size - first-number($v-border); $bg: $background-color; $shadow: null; @if color-luminance($background-color) < color-luminance($v-background-color) - 10 { $border-style: valo-border($border: $border, $color: $bg, $strength: 0.7); $shadow: 0 0 0 first-number($border-style) first-color($border-style); border-bottom: none; margin-bottom: first-number($border-style); .v-ie8 & { outline: first-number($border-style) solid first-color($border-style); } } @else { border-bottom: valo-border($border: $border, $color: $v-background-color, $strength: 0.7); } @include valo-gradient($color: $bg, $gradient: $gradient); color: valo-font-color($bg); font-weight: $v-caption-font-weight; font-size: $v-caption-font-size; @include box-shadow(valo-bevel-and-shadow($background-color: $bg, $bevel: $bevel, $shadow: $shadow, $gradient: $gradient)); text-shadow: valo-text-shadow(valo-font-color($bg), $bg, $v-bevel); } @mixin valo-panel-well-style ($shadow: false) { @if $shadow == false { $new-shadow: (); @if list-of-lists($v-shadow) { @each $part in $v-shadow { $new-part: join(inset, $part); $new-shadow: $new-shadow, $new-part; } } @else { $new-shadow: join(inset, $v-shadow); } $shadow: 0 1px 0 0 v-tint, $new-shadow; } $bg: scale-color(adjust-color($v-background-color, $lightness: -2%), $saturation: -1.5%); background: $bg; color: valo-font-color($bg); @include box-shadow(valo-bevel-and-shadow($shadow: $shadow)); border-radius: $v-border-radius; border: valo-border(); > div > [class*="-caption"] { background: transparent; @include box-shadow(none); } } @mixin valo-panel-borderless-style { background: transparent; color: inherit; border: none; border-radius: 0; @include box-shadow(none); > div > [class*="-caption"] { background: transparent; @include box-shadow(none); color: inherit; padding: 0; margin: 0 round($v-unit-size/3); border-bottom: none; } } @mixin valo-panel-scroll-divider-style ($border-width: max(1px, first-number($v-panel-border))) { > [class*="-captionwrap"] { position: relative; z-index: 2; &:after { content: ""; position: absolute; bottom: -$border-width; right: 0; left: 0; height: 0; border-top: $border-width solid first-color(valo-border($color: $v-app-background-color, $strength: 0.5)); } } > [class*="-content"] { &:before { content: ""; position: absolute; z-index: 2; top: 0; height: 0; border-top: $border-width solid $v-app-background-color; left: 0; right: 0; } } } @mixin valo-panel-adjust-content-margins { > .v-margin-top { padding-top: round($v-unit-size/3); } > .v-margin-right { padding-right: round($v-unit-size/3); } > .v-margin-bottom { padding-bottom: round($v-unit-size/3); } > .v-margin-left { padding-left: round($v-unit-size/3); } }