foundation-rails 5.1.1.0 → 5.2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -7
  3. data/bower.json +2 -2
  4. data/lib/foundation/rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/foundation/foundation.abide.js +3 -6
  6. data/vendor/assets/javascripts/foundation/foundation.accordion.js +5 -4
  7. data/vendor/assets/javascripts/foundation/foundation.alert.js +1 -1
  8. data/vendor/assets/javascripts/foundation/foundation.clearing.js +70 -34
  9. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +121 -28
  10. data/vendor/assets/javascripts/foundation/foundation.equalizer.js +6 -6
  11. data/vendor/assets/javascripts/foundation/foundation.interchange.js +34 -25
  12. data/vendor/assets/javascripts/foundation/foundation.joyride.js +4 -8
  13. data/vendor/assets/javascripts/foundation/foundation.js +94 -78
  14. data/vendor/assets/javascripts/foundation/foundation.magellan.js +3 -4
  15. data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +19 -1
  16. data/vendor/assets/javascripts/foundation/foundation.orbit.js +151 -102
  17. data/vendor/assets/javascripts/foundation/foundation.reveal.js +43 -15
  18. data/vendor/assets/javascripts/foundation/foundation.slider.js +187 -0
  19. data/vendor/assets/javascripts/foundation/foundation.tab.js +116 -18
  20. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +112 -60
  21. data/vendor/assets/javascripts/foundation/foundation.topbar.js +47 -14
  22. data/vendor/assets/javascripts/vendor/modernizr.js +3 -3
  23. data/vendor/assets/stylesheets/foundation.scss +7 -0
  24. data/vendor/assets/stylesheets/foundation/_functions.scss +4 -0
  25. data/vendor/assets/stylesheets/foundation/_settings.scss +11 -2
  26. data/vendor/assets/stylesheets/foundation/components/_accordion.scss +5 -1
  27. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +4 -0
  28. data/vendor/assets/stylesheets/foundation/components/_block-grid.scss +44 -12
  29. data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +4 -0
  30. data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +4 -0
  31. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +7 -5
  32. data/vendor/assets/stylesheets/foundation/components/_clearing.scss +4 -0
  33. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +4 -0
  34. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +100 -11
  35. data/vendor/assets/stylesheets/foundation/components/_flex-video.scss +4 -0
  36. data/vendor/assets/stylesheets/foundation/components/_forms.scss +25 -21
  37. data/vendor/assets/stylesheets/foundation/components/_global.scss +79 -44
  38. data/vendor/assets/stylesheets/foundation/components/_grid.scss +6 -2
  39. data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +4 -0
  40. data/vendor/assets/stylesheets/foundation/components/_joyride.scss +4 -0
  41. data/vendor/assets/stylesheets/foundation/components/_keystrokes.scss +5 -1
  42. data/vendor/assets/stylesheets/foundation/components/_labels.scss +4 -0
  43. data/vendor/assets/stylesheets/foundation/components/_magellan.scss +4 -0
  44. data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +51 -59
  45. data/vendor/assets/stylesheets/foundation/components/_orbit.scss +97 -14
  46. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +7 -2
  47. data/vendor/assets/stylesheets/foundation/components/_panels.scss +5 -1
  48. data/vendor/assets/stylesheets/foundation/components/_pricing-tables.scss +4 -0
  49. data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +4 -0
  50. data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +148 -0
  51. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +36 -7
  52. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +8 -3
  53. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +4 -0
  54. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +6 -2
  55. data/vendor/assets/stylesheets/foundation/components/_switch.scss +4 -0
  56. data/vendor/assets/stylesheets/foundation/components/_tables.scss +4 -0
  57. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +12 -6
  58. data/vendor/assets/stylesheets/foundation/components/_thumbs.scss +4 -0
  59. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +9 -0
  60. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +52 -25
  61. data/vendor/assets/stylesheets/foundation/components/_type.scss +132 -75
  62. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +198 -538
  63. data/vendor/assets/stylesheets/normalize.scss +179 -166
  64. metadata +4 -2
@@ -4,7 +4,7 @@
4
4
  Foundation.libs.topbar = {
5
5
  name : 'topbar',
6
6
 
7
- version: '5.1.1',
7
+ version: '5.2.0',
8
8
 
9
9
  settings : {
10
10
  index : 0,
@@ -13,7 +13,8 @@
13
13
  back_text: 'Back',
14
14
  is_hover: true,
15
15
  mobile_show_parent_link: false,
16
- scrolltop : true // jump to top when sticky nav menu toggle is clicked
16
+ scrolltop : true, // jump to top when sticky nav menu toggle is clicked
17
+ sticky_on : 'all'
17
18
  },
18
19
 
19
20
  init : function (section, method, options) {
@@ -25,15 +26,13 @@
25
26
  this.bindings(method, options);
26
27
 
27
28
  self.S('[' + this.attr_name() + ']', this.scope).each(function () {
28
- var topbar = self.S(this),
29
+ var topbar = $(this),
29
30
  settings = topbar.data(self.attr_name(true) + '-init'),
30
31
  section = self.S('section', this),
31
- titlebar = $('> ul', this).first();
32
-
32
+ titlebar = topbar.children().filter('ul').first();
33
33
  topbar.data('index', 0);
34
-
35
34
  var topbarContainer = topbar.parent();
36
- if(topbarContainer.hasClass('fixed') || topbarContainer.hasClass(settings.sticky_class)) {
35
+ if(topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) {
37
36
  self.settings.sticky_class = settings.sticky_class;
38
37
  self.settings.sticky_topbar = topbar;
39
38
  topbar.data('height', topbarContainer.outerHeight());
@@ -60,6 +59,22 @@
60
59
 
61
60
  },
62
61
 
62
+ is_sticky: function (topbar, topbarContainer, settings) {
63
+ var sticky = topbarContainer.hasClass(settings.sticky_class);
64
+
65
+ if (sticky && settings.sticky_on === 'all') {
66
+ return true;
67
+ } else if (sticky && this.small() && settings.sticky_on === 'small') {
68
+ return true;
69
+ } else if (sticky && this.medium() && settings.sticky_on === 'medium') {
70
+ return true;
71
+ } else if (sticky && this.large() && settings.sticky_on === 'large') {
72
+ return true;
73
+ }
74
+
75
+ return false;
76
+ },
77
+
63
78
  toggle: function (toggleEl) {
64
79
  var self = this;
65
80
 
@@ -109,7 +124,7 @@
109
124
  }
110
125
  }
111
126
  } else {
112
- if(topbar.parent().hasClass(self.settings.sticky_class)) {
127
+ if(self.is_sticky(topbar, topbar.parent(), settings)) {
113
128
  topbar.parent().addClass('fixed');
114
129
  }
115
130
 
@@ -139,6 +154,13 @@
139
154
  e.preventDefault();
140
155
  self.toggle(this);
141
156
  })
157
+ .on('click.fndtn.topbar','.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]',function (e) {
158
+ var li = $(this).closest('li');
159
+ if(self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown'))
160
+ {
161
+ self.toggle();
162
+ }
163
+ })
142
164
  .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) {
143
165
  var li = S(this),
144
166
  target = S(e.target),
@@ -266,7 +288,7 @@
266
288
  }
267
289
  }
268
290
 
269
- if(stickyContainer.length > 0) {
291
+ if(self.is_sticky(topbar, stickyContainer, settings)) {
270
292
  if(stickyContainer.hasClass('fixed')) {
271
293
  // Remove the fixed to allow for correct calculation of the offset.
272
294
  stickyContainer.removeClass('fixed');
@@ -291,11 +313,23 @@
291
313
  return !matchMedia(Foundation.media_queries['topbar']).matches;
292
314
  },
293
315
 
316
+ small : function () {
317
+ return matchMedia(Foundation.media_queries['small']).matches;
318
+ },
319
+
320
+ medium : function () {
321
+ return matchMedia(Foundation.media_queries['medium']).matches;
322
+ },
323
+
324
+ large : function () {
325
+ return matchMedia(Foundation.media_queries['large']).matches;
326
+ },
327
+
294
328
  assemble : function (topbar) {
295
329
  var self = this,
296
330
  settings = topbar.data(this.attr_name(true) + '-init'),
297
331
  section = self.S('section', topbar),
298
- titlebar = $('> ul', topbar).first();
332
+ titlebar = $(this).children().filter('ul').first();
299
333
 
300
334
  // Pull element out of the DOM for manipulation
301
335
  section.detach();
@@ -355,11 +389,10 @@
355
389
 
356
390
  update_sticky_positioning: function() {
357
391
  var klass = '.' + this.settings.sticky_class,
358
- $window = this.S(window),
392
+ $window = this.S(window),
359
393
  self = this;
360
394
 
361
-
362
- if (self.S(klass).length > 0) {
395
+ if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) {
363
396
  var distance = this.settings.sticky_topbar.data('stickyoffset');
364
397
  if (!self.S(klass).hasClass('expanded')) {
365
398
  if ($window.scrollTop() > (distance)) {
@@ -384,4 +417,4 @@
384
417
 
385
418
  reflow : function () {}
386
419
  };
387
- }(jQuery, this, this.document));
420
+ }(jQuery, this, this.document));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Modernizr v2.7.1
2
+ * Modernizr v2.7.2
3
3
  * www.modernizr.com
4
4
  *
5
5
  * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
@@ -24,7 +24,7 @@
24
24
 
25
25
  window.Modernizr = (function( window, document, undefined ) {
26
26
 
27
- var version = '2.7.1',
27
+ var version = '2.7.2',
28
28
 
29
29
  Modernizr = {},
30
30
 
@@ -605,7 +605,7 @@ window.Modernizr = (function( window, document, undefined ) {
605
605
 
606
606
  // Note, Android < 4 will pass this test, but can only animate
607
607
  // a single property at a time
608
- // daneden.me/2011/12/putting-up-with-androids-bullshit/
608
+ // goo.gl/v3V4Gp
609
609
  tests['cssanimations'] = function() {
610
610
  return testPropsAll('animationName');
611
611
  };
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  // Make sure the charset is set appropriately
2
6
  @charset "UTF-8";
3
7
 
@@ -25,6 +29,7 @@
25
29
  "foundation/components/panels",
26
30
  "foundation/components/pricing-tables",
27
31
  "foundation/components/progress-bars",
32
+ "foundation/components/range-slider",
28
33
  "foundation/components/reveal",
29
34
  "foundation/components/side-nav",
30
35
  "foundation/components/split-buttons",
@@ -38,3 +43,5 @@
38
43
  "foundation/components/type",
39
44
  "foundation/components/offcanvas",
40
45
  "foundation/components/visibility";
46
+
47
+ // * { border-radius: 500px !important; }
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  // This is the default html and body font-size for the base rem value.
2
6
  $rem-base: 16px !default;
3
7
 
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  //
2
6
  // FOUNDATION SETTINGS
3
7
  //
@@ -114,7 +118,7 @@
114
118
 
115
119
  // We use these to control header font styles
116
120
  // $header-font-family: $body-font-family;
117
- // $header-font-weight: 300;
121
+ // $header-font-weight: normal;
118
122
  // $header-font-style: normal;
119
123
  // $header-font-color: #222;
120
124
  // $header-line-height: 1.4;
@@ -1151,12 +1155,15 @@
1151
1155
  // $topbar-link-weight: normal;
1152
1156
  // $topbar-link-font-size: rem-calc(13);
1153
1157
  // $topbar-link-hover-lightness: -10%; // Darken by 10%
1154
- // $topbar-link-bg-hover: #272727 ;
1158
+ // $topbar-link-bg-hover: #272727;
1155
1159
  // $topbar-link-bg-active: $primary-color;
1156
1160
  // $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%);
1157
1161
  // $topbar-link-font-family: $body-font-family;
1162
+ // $topbar-link-text-transform: none;
1163
+ // $topbar-link-padding: $topbar-height / 3;
1158
1164
 
1159
1165
  // $topbar-button-font-size: 0.75rem;
1166
+ // $topbar-button-top: 7px;
1160
1167
 
1161
1168
  // $topbar-dropdown-label-color: #777;
1162
1169
  // $topbar-dropdown-label-text-transform: uppercase;
@@ -1192,3 +1199,5 @@
1192
1199
  //
1193
1200
 
1194
1201
  // $include-html-visibility-classes: $include-html-classes;
1202
+ // $include-table-visibility-classes: true;
1203
+ // $include-legacy-visibility-classes: true;
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
  @import "grid";
3
7
 
@@ -25,7 +29,7 @@ $accordion-content-active-bg-color: #fff !default;
25
29
  dd {
26
30
  display: block;
27
31
  margin-bottom: 0 !important;
28
- &.active a { background: $accordion-navigation-active-bg-color; }
32
+ &.active > a { background: $accordion-navigation-active-bg-color; }
29
33
  > a {
30
34
  background: $accordion-navigation-bg-color;
31
35
  color: $accordion-navigation-font-color;
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -9,6 +13,11 @@ $include-html-grid-classes: $include-html-classes !default;
9
13
  $block-grid-elements: 12 !default;
10
14
  $block-grid-default-spacing: rem-calc(20) !default;
11
15
 
16
+ $align-block-grid-to-grid: true;
17
+ @if $align-block-grid-to-grid {
18
+ $block-grid-default-spacing: $column-gutter;
19
+ }
20
+
12
21
  // Enables media queries for block-grid classes. Set to false if writing semantic HTML.
13
22
  $block-grid-media-queries: true !default;
14
23
 
@@ -30,7 +39,11 @@ $block-grid-media-queries: true !default;
30
39
  @if $base-style {
31
40
  display: block;
32
41
  padding: 0;
33
- margin: 0 (-$spacing/2);
42
+ @if $align-block-grid-to-grid {
43
+ margin: 0;
44
+ } @else {
45
+ margin: 0 (-$spacing/2);
46
+ }
34
47
  @include clearfix;
35
48
 
36
49
  &>li {
@@ -53,9 +66,26 @@ $block-grid-media-queries: true !default;
53
66
 
54
67
  &:nth-of-type(n) { clear: none; }
55
68
  &:nth-of-type(#{$per-row}n+1) { clear: both; }
69
+ @if $align-block-grid-to-grid {
70
+ @include block-grid-aligned($per-row, $spacing);
71
+ }
56
72
  }
57
73
  }
74
+ }
58
75
 
76
+ @mixin block-grid-aligned($per-row, $spacing) {
77
+ @for $i from 1 through $block-grid-elements {
78
+ @if $per-row >= $i {
79
+ $grid-column: '+' + $i;
80
+ @if $per-row == $i {
81
+ $grid-column: '';
82
+ }
83
+ &:nth-child(#{$per-row}n#{unquote($grid-column)}) {
84
+ padding-left: ($spacing - (($spacing / $per-row) * ($per-row - ($i - 1))));
85
+ padding-right: ($spacing - (($spacing / $per-row) * $i));
86
+ }
87
+ }
88
+ }
59
89
  }
60
90
 
61
91
  // Generate presentational markup for block grid.
@@ -73,17 +103,19 @@ $block-grid-media-queries: true !default;
73
103
  @if $include-html-grid-classes {
74
104
 
75
105
  [class*="block-grid-"] { @include block-grid; }
76
-
77
- @media #{$small-up} {
78
- @include block-grid-html-classes($size:small,$include-spacing:false);
79
- }
80
-
81
- @media #{$medium-up} {
82
- @include block-grid-html-classes($size:medium,$include-spacing:false);
83
- }
84
-
85
- @media #{$large-up} {
86
- @include block-grid-html-classes($size:large,$include-spacing:false);
106
+
107
+ @if $block-grid-media-queries {
108
+ @media #{$small-up} {
109
+ @include block-grid-html-classes($size:small,$include-spacing:false);
110
+ }
111
+
112
+ @media #{$medium-up} {
113
+ @include block-grid-html-classes($size:medium,$include-spacing:false);
114
+ }
115
+
116
+ @media #{$large-up} {
117
+ @include block-grid-html-classes($size:large,$include-spacing:false);
118
+ }
87
119
  }
88
120
  }
89
121
  }
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
  @import "buttons";
3
7
 
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -111,14 +115,12 @@ $button-disabled-opacity: 0.7 !default;
111
115
  padding-top: $is-input + rem-calc(.5);
112
116
  padding-bottom: $is-input + rem-calc(.5);
113
117
  -webkit-appearance: none;
114
- border: none;
115
118
  font-weight: $button-font-weight !important;
116
119
  }
117
120
  @else if $is-input {
118
121
  padding-top: $is-input + rem-calc(1);
119
122
  padding-bottom: $is-input;
120
123
  -webkit-appearance: none;
121
- border: none;
122
124
  font-weight: $button-font-weight !important;
123
125
  }
124
126
  }
@@ -128,7 +130,7 @@ $button-disabled-opacity: 0.7 !default;
128
130
  // We use this mixin to add button color styles
129
131
  //
130
132
  // $bg - Primary color set in settings file. Default: $primary-color.
131
- // $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: false
133
+ // $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: true
132
134
  // $disabled - We can set $disabled:true to create a disabled transparent button. Default: false
133
135
  @mixin button-style($bg:$primary-color, $radius:false, $disabled:false) {
134
136
 
@@ -202,7 +204,7 @@ $button-disabled-opacity: 0.7 !default;
202
204
  @include button-style;
203
205
 
204
206
  @include single-transition(background-color);
205
- @include button-size($padding:false, $is-input:$button-med);
207
+ @include button-size($padding:$button-med, $full-width:false, $is-input:false);
206
208
 
207
209
  &.secondary { @include button-style($bg:$secondary-color); }
208
210
  &.success { @include button-style($bg:$success-color); }
@@ -233,4 +235,4 @@ $button-disabled-opacity: 0.7 !default;
233
235
  }
234
236
  }
235
237
  }
236
- }
238
+ }
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -1,3 +1,7 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
1
5
  @import "global";
2
6
 
3
7
  //
@@ -9,8 +13,19 @@ $include-html-dropdown-classes: $include-html-classes !default;
9
13
  $f-dropdown-max-width: 200px !default;
10
14
  $f-dropdown-height: auto !default;
11
15
  $f-dropdown-max-height: none !default;
16
+
17
+ // Used for bottom position
12
18
  $f-dropdown-margin-top: 2px !default;
13
19
 
20
+ // Used for right position
21
+ $f-dropdown-margin-left: $f-dropdown-margin-top !default;
22
+
23
+ // Used for left position
24
+ $f-dropdown-margin-right: $f-dropdown-margin-top !default;
25
+
26
+ // Used for top position
27
+ $f-dropdown-margin-bottom: $f-dropdown-margin-top !default;
28
+
14
29
  // We use this to control the background color
15
30
  $f-dropdown-bg: #fff !default;
16
31
 
@@ -60,7 +75,7 @@ $f-dropdown-content-padding: rem-calc(20) !default;
60
75
  height: $f-dropdown-height;
61
76
  background: $f-dropdown-bg;
62
77
  border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color;
63
- font-size: $rem-base;
78
+ font-size: $f-dropdown-font-size;
64
79
  z-index: 99;
65
80
  }
66
81
  @else if $content == content {
@@ -70,11 +85,11 @@ $f-dropdown-content-padding: rem-calc(20) !default;
70
85
  max-height: $f-dropdown-max-height;
71
86
  background: $f-dropdown-bg;
72
87
  border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color;
73
- font-size: $rem-base;
88
+ font-size: $f-dropdown-font-size;
74
89
  z-index: 99;
75
90
  }
76
91
 
77
- @if $triangle {
92
+ @if $triangle == bottom {
78
93
  margin-top: $f-dropdown-margin-top;
79
94
 
80
95
  &:before {
@@ -102,6 +117,75 @@ $f-dropdown-content-padding: rem-calc(20) !default;
102
117
  }
103
118
  }
104
119
 
120
+ @if $triangle == left {
121
+ margin-top: 0;
122
+ margin-left: $f-dropdown-margin-right;
123
+
124
+ &:before {
125
+ @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, right);
126
+ position: absolute;
127
+ top: $f-dropdown-triangle-side-offset;
128
+ #{$default-float}: -($f-dropdown-triangle-size * 2);
129
+ z-index: 99;
130
+ }
131
+ &:after {
132
+ @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, right);
133
+ position: absolute;
134
+ top: $f-dropdown-triangle-side-offset - 1;
135
+ #{$default-float}: -($f-dropdown-triangle-size * 2) - 2;
136
+ z-index: 98;
137
+ }
138
+
139
+ }
140
+
141
+ @if $triangle == right {
142
+ margin-top: 0;
143
+ margin-left: -$f-dropdown-margin-right;
144
+
145
+ &:before {
146
+ @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, left);
147
+ position: absolute;
148
+ top: $f-dropdown-triangle-side-offset;
149
+ #{$opposite-direction}: -($f-dropdown-triangle-size * 2);
150
+ left: auto;
151
+ z-index: 99;
152
+ }
153
+ &:after {
154
+ @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, left);
155
+ position: absolute;
156
+ top: $f-dropdown-triangle-side-offset - 1;
157
+ #{$opposite-direction}: -($f-dropdown-triangle-size * 2) - 2;
158
+ left: auto;
159
+ z-index: 98;
160
+ }
161
+
162
+ }
163
+
164
+ @if $triangle == top {
165
+ margin-top: -$f-dropdown-margin-bottom;
166
+ margin-left: 0;
167
+
168
+ &:before {
169
+ @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, top);
170
+ position: absolute;
171
+ top: auto;
172
+ bottom: -($f-dropdown-triangle-size * 2);
173
+ #{$default-float}: $f-dropdown-triangle-side-offset;
174
+ right: auto;
175
+ z-index: 99;
176
+ }
177
+ &:after {
178
+ @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, top);
179
+ position: absolute;
180
+ top: auto;
181
+ bottom: -($f-dropdown-triangle-size * 2) - 2;
182
+ #{$default-float}: $f-dropdown-triangle-side-offset - 1;
183
+ right: auto;
184
+ z-index: 98;
185
+ }
186
+
187
+ }
188
+
105
189
  @if $max-width { max-width: $max-width; }
106
190
  @else { max-width: $f-dropdown-max-width; }
107
191
 
@@ -131,16 +215,21 @@ $f-dropdown-content-padding: rem-calc(20) !default;
131
215
  @include exports("dropdown") {
132
216
  @if $include-html-dropdown-classes {
133
217
 
134
- @media #{$small-only} {
135
- .f-dropdown {
136
- max-width: 100%;
137
- #{$default-float}: $dropdown-mobile-default-float;
138
- }
139
- }
140
-
141
218
  /* Foundation Dropdowns */
142
219
  .f-dropdown {
143
- @include dropdown-container(list);
220
+ @include dropdown-container(list, bottom);
221
+
222
+ &.drop-right {
223
+ @include dropdown-container(list, left);
224
+ }
225
+
226
+ &.drop-left {
227
+ @include dropdown-container(list, right);
228
+ }
229
+
230
+ &.drop-top {
231
+ @include dropdown-container(list, top);
232
+ }
144
233
  // max-width: none;
145
234
 
146
235
  li { @include dropdown-style; }