SnapKit/_sass/foundation/components/_panels.scss

108 lines
2.9 KiB
SCSS
Executable File

// Foundation by ZURB
// foundation.zurb.com
// Licensed under MIT Open Source
@import 'global';
//
// @variables
//
$include-html-panel-classes: $include-html-classes !default;
// We use these to control the background and border styles
$panel-bg: scale-color($white, $lightness: -5%) !default;
$panel-border-style: solid !default;
$panel-border-size: 1px !default;
$callout-panel-bg: scale-color($primary-color, $lightness: 94%) !default;
// We use this % to control how much we darken things on hover
$panel-border-color: scale-color($panel-bg, $lightness: -11%) !default;
// We use these to set default inner padding and bottom margin
$panel-margin-bottom: rem-calc(20) !default;
$panel-padding: rem-calc(20) !default;
// We use these to set default font colors
$panel-font-color: $oil !default;
$panel-font-color-alt: $white !default;
$panel-header-adjust: true !default;
$callout-panel-link-color: $primary-color !default;
$callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%) !default;
//
// @mixins
//
// We use this mixin to create panels.
// $bg - Sets the panel background color. Default: $panel-pg || scale-color($white, $lightness: -5%) !default
// $padding - Sets the panel padding amount. Default: $panel-padding || rem-calc(20)
// $adjust - Sets the font color based on the darkness of the bg & resets header line-heights for panels. Default: $panel-header-adjust || true
@mixin panel($bg:$panel-bg, $padding:$panel-padding, $adjust:$panel-header-adjust, $border:true) {
@if $bg {
$bg-lightness: lightness($bg);
@if $border {
border-style: $panel-border-style;
border-width: $panel-border-size;
border-color: $panel-border-color;
} @else {
border-style: none;
border-width: 0;
}
margin-bottom: $panel-margin-bottom;
padding: $padding;
background: $bg;
@if $bg-lightness >= 50% { color: $panel-font-color; }
@else { color: $panel-font-color-alt; }
// Respect the padding, fool.
> :first-child { margin-top: 0; }
> :last-child { margin-bottom: 0; }
@if $adjust {
// We set the font color based on the darkness of the bg.
@if $bg-lightness >= 50% {
h1, h2, h3, h4, h5, h6, p, li, dl { color: $panel-font-color; }
}
@else {
h1, h2, h3, h4, h5, h6, p, li, dl { color: $panel-font-color-alt; }
}
// reset header line-heights for panels
h1, h2, h3, h4, h5, h6 {
line-height: 1; margin-bottom: rem-calc(20) / 2;
&.subheader { line-height: 1.4; }
}
}
}
}
@include exports("panel") {
@if $include-html-panel-classes {
/* Panels */
.panel { @include panel;
&.callout {
@include panel($callout-panel-bg);
a:not(.button) {
color: $callout-panel-link-color;
&:hover,
&:focus {
color: $callout-panel-link-color-hover;
}
}
}
&.radius {
@include radius;
}
}
}
}