foundation
Version:
You may also want to checkout:
151 lines (125 loc) • 3.71 kB
text/stylus
$include-html-reveal-classes ?= $include-html-classes;
//
// Reveal Variables
//
// We use these to control the style of the reveal overlay.
$reveal-overlay-bg ?= rgba(#000, .45);
$reveal-overlay-bg-old ?= #000;
// We use these to control the style of the modal itself.
$reveal-modal-bg ?= #fff;
$reveal-position-top ?= 50px;
$reveal-default-width ?= 80%;
$reveal-modal-padding ?= emCalc(20px);
$reveal-box-shadow ?= 0 0 10px rgba(#000,.4);
// We use these to style the reveal close button
$reveal-close-font-size ?= emCalc(22px);
$reveal-close-top ?= emCalc(8px);
$reveal-close-side ?= emCalc(11px);
$reveal-close-color ?= #aaa;
$reveal-close-weight ?= bold;
// We use these to control the modal border
$reveal-border-style ?= solid;
$reveal-border-width ?= 1px;
$reveal-border-color ?= #666;
$reveal-modal-class ?= "reveal-modal";
$close-reveal-modal-class ?= "close-reveal-modal";
//
// Reveal Mixins
//
// We use this to create the reveal background overlay styles
reveal-bg() {
position: fixed;
height: 100%;
width: 100%;
background: $reveal-overlay-bg-old;
background: $reveal-overlay-bg;
z-index: 98;
display: none;
top: 0;
{$default-float}: 0;
}
// We use this mixin to create the structure of a reveal modal
reveal-modal-base($base-style=true, $width=$reveal-default-width) {
if $base-style {
visibility: hidden;
display: none;
position: absolute;
{$default-float}: 50%;
z-index: 99;
height: auto;
background-color: #fff;
// Make sure rows don't have a min-width on them
.column,
.columns { min-width: 0; }
// Get rid of margin from first and last element inside modal
& > :first-child { margin-top: 0; }
& > :last-child { margin-bottom: 0; }
}
if $width {
margin-{$default-float}: -($width / 2);
width: $width;
}
}
// We use this to style the reveal modal defaults
reveal-modal-style($bg=$reveal-modal-bg, $padding=$reveal-modal-padding, $border=true, $border-style=$reveal-border-style, $border-width=$reveal-border-width, $border-color=$reveal-border-color, $box-shadow=true, $top-offset=$reveal-position-top) {
if $bg { background: $bg; }
if $padding { padding: $padding; }
if $border { border: $border-style $border-width $border-color; }
// We can choose whether or not to include the default box-shadow.
if $box-shadow {
if $experimental {
-webkit-box-shadow: $reveal-box-shadow;
}
box-shadow: $reveal-box-shadow;
}
if $top-offset { top: $top-offset; }
}
// We use this to create a close button for the reveal modal
reveal-close($color=$reveal-close-color) {
font-size: $reveal-close-font-size;
line-height: 1;
position: absolute;
top: $reveal-close-top;
{$opposite-direction}: $reveal-close-side;
color: $color;
font-weight: $reveal-close-weight;
cursor: $cursor-pointer-value;
}
if $include-html-reveal-classes != false {
// Reveal Modals
.reveal-modal-bg {
reveal-bg();
}
.{$reveal-modal-class} {
reveal-modal-base();
reveal-modal-style();
.{$close-reveal-modal-class} {
reveal-close();
}
}
// Large Screen Styles
$small {
.{$reveal-modal-class} {
reveal-modal-style(false, emCalc(30px), false, $box-shadow: false, $top-offset: emCalc(100px));
&.tiny {
reveal-modal-base(false, 30%);
}
&.small {
reveal-modal-base(false, 40%);
}
&.medium {
reveal-modal-base(false, 60%);
}
&.large {
reveal-modal-base(false, 70%);
}
&.xlarge {
reveal-modal-base(false, 95%);
}
}
}
// Reveal Print Styles
print {
.{$reveal-modal-class} {background: #fff !important;}
}
}