diff options
Diffstat (limited to 'source/bower_components/foundation/scss/foundation/components/_dropdown.scss')
-rw-r--r-- | source/bower_components/foundation/scss/foundation/components/_dropdown.scss | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/source/bower_components/foundation/scss/foundation/components/_dropdown.scss b/source/bower_components/foundation/scss/foundation/components/_dropdown.scss new file mode 100644 index 0000000..39b6369 --- /dev/null +++ b/source/bower_components/foundation/scss/foundation/components/_dropdown.scss @@ -0,0 +1,261 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +@import "global"; + +// +// @variables +// +$include-html-dropdown-classes: $include-html-classes !default; + +// We use these to controls height and width styles. +$f-dropdown-max-width: 200px !default; +$f-dropdown-height: auto !default; +$f-dropdown-max-height: none !default; + +// Used for bottom position +$f-dropdown-margin-top: 2px !default; + +// Used for right position +$f-dropdown-margin-left: $f-dropdown-margin-top !default; + +// Used for left position +$f-dropdown-margin-right: $f-dropdown-margin-top !default; + +// Used for top position +$f-dropdown-margin-bottom: $f-dropdown-margin-top !default; + +// We use this to control the background color +$f-dropdown-bg: $white !default; + +// We use this to set the border styles for dropdowns. +$f-dropdown-border-style: solid !default; +$f-dropdown-border-width: 1px !default; +$f-dropdown-border-color: scale-color($white, $lightness: -20%) !default; + +// We use these to style the triangle pip. +$f-dropdown-triangle-size: 6px !default; +$f-dropdown-triangle-color: $white !default; +$f-dropdown-triangle-side-offset: 10px !default; + +// We use these to control styles for the list elements. +$f-dropdown-list-style: none !default; +$f-dropdown-font-color: $charcoal !default; +$f-dropdown-font-size: rem-calc(14) !default; +$f-dropdown-list-padding: rem-calc(5, 10) !default; +$f-dropdown-line-height: rem-calc(18) !default; +$f-dropdown-list-hover-bg: $smoke !default; +$dropdown-mobile-default-float: 0 !default; + +// We use this to control the styles for when the dropdown has custom content. +$f-dropdown-content-padding: rem-calc(20) !default; + +// Default radius for dropdown. +$f-dropdown-radius: $global-radius !default; + +// +// @mixins +// +// +// NOTE: Make default max-width change between list and content types. Can add more width with classes, maybe .small, .medium, .large, etc.; +// We use this to style the dropdown container element. +// $content-list - Sets list-style. Default: list. Options: [list, content] +// $triangle - Sets if dropdown has triangle. Default:true. +// $max-width - Default: $f-dropdown-max-width || 200px. +@mixin dropdown-container($content:list, $triangle:true, $max-width:$f-dropdown-max-width) { + position: absolute; + left: -9999px; + list-style: $f-dropdown-list-style; + margin-#{$default-float}: 0; + + > *:first-child { margin-top: 0; } + > *:last-child { margin-bottom: 0; } + + @if $content == list { + width: 100%; + max-height: $f-dropdown-max-height; + height: $f-dropdown-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $f-dropdown-font-size; + z-index: 89; + } + @else if $content == content { + padding: $f-dropdown-content-padding; + width: 100%; + height: $f-dropdown-height; + max-height: $f-dropdown-max-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $f-dropdown-font-size; + z-index: 89; + } + + @if $triangle == bottom { + margin-top: $f-dropdown-margin-top; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, bottom); + position: absolute; + top: -($f-dropdown-triangle-size * 2); + #{$default-float}: $f-dropdown-triangle-side-offset; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, bottom); + position: absolute; + top: -(($f-dropdown-triangle-size + 1) * 2); + #{$default-float}: $f-dropdown-triangle-side-offset - 1; + z-index: 88; + } + + &.right:before { + #{$default-float}: auto; + #{$opposite-direction}: $f-dropdown-triangle-side-offset; + } + &.right:after { + #{$default-float}: auto; + #{$opposite-direction}: $f-dropdown-triangle-side-offset - 1; + } + } + + @if $triangle == $default-float { + margin-top: 0; + margin-#{$default-float}: $f-dropdown-margin-right; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$opposite-direction}); + position: absolute; + top: $f-dropdown-triangle-side-offset; + #{$default-float}: -($f-dropdown-triangle-size * 2); + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$opposite-direction}); + position: absolute; + top: $f-dropdown-triangle-side-offset - 1; + #{$default-float}: -($f-dropdown-triangle-size * 2) - 2; + z-index: 88; + } + + } + + @if $triangle == $opposite-direction { + margin-top: 0; + margin-#{$default-float}: -$f-dropdown-margin-right; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, #{$default-float}); + position: absolute; + top: $f-dropdown-triangle-side-offset; + #{$opposite-direction}: -($f-dropdown-triangle-size * 2); + #{$default-float}: auto; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, #{$default-float}); + position: absolute; + top: $f-dropdown-triangle-side-offset - 1; + #{$opposite-direction}: -($f-dropdown-triangle-size * 2) - 2; + #{$default-float}: auto; + z-index: 88; + } + + } + + @if $triangle == top { + margin-top: -$f-dropdown-margin-bottom; + margin-left: 0; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, top); + position: absolute; + top: auto; + bottom: -($f-dropdown-triangle-size * 2); + #{$default-float}: $f-dropdown-triangle-side-offset; + #{$opposite-direction}: auto; + z-index: 89; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, top); + position: absolute; + top: auto; + bottom: -($f-dropdown-triangle-size * 2) - 2; + #{$default-float}: $f-dropdown-triangle-side-offset - 1; + #{$opposite-direction}: auto; + z-index: 88; + } + + } + + @if $max-width { max-width: $max-width; } + @else { max-width: $f-dropdown-max-width; } + +} + +// @MIXIN +// +// We use this to style the list elements or content inside the dropdown. + +@mixin dropdown-style { + font-size: $f-dropdown-font-size; + cursor: $cursor-pointer-value; + + line-height: $f-dropdown-line-height; + margin: 0; + + &:hover, + &:focus { background: $f-dropdown-list-hover-bg; } + + &.radius { @include radius($f-dropdown-radius); } + + a { + display: block; + padding: $f-dropdown-list-padding; + color: $f-dropdown-font-color; + } +} + +@include exports("dropdown") { + @if $include-html-dropdown-classes { + + /* Foundation Dropdowns */ + .f-dropdown { + @include dropdown-container(list, bottom); + + &.drop-#{$opposite-direction} { + @include dropdown-container(list, #{$default-float}); + } + + &.drop-#{$default-float} { + @include dropdown-container(list, #{$opposite-direction}); + } + + &.drop-top { + @include dropdown-container(list, top); + } + // max-width: none; + + li { @include dropdown-style; } + + // You can also put custom content in these dropdowns + &.content { @include dropdown-container(content, $triangle:false); } + + // Sizes + &.tiny { max-width: 200px; } + &.small { max-width: 300px; } + &.medium { max-width: 500px; } + &.large { max-width: 800px; } + &.mega { + width:100%!important; + max-width:100%!important; + + &.open{ + left:0!important; + } + } + } + + } +} |