foundation-rails 6.3.1.0 → 6.4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/bower.json +3 -3
  3. data/lib/foundation/rails/version.rb +1 -1
  4. data/lib/generators/foundation/install_generator.rb +1 -1
  5. data/lib/generators/foundation/templates/_settings.scss +291 -48
  6. data/vendor/assets/js/entries/foundation-plugins.js +25 -0
  7. data/vendor/assets/js/entries/foundation.js +101 -0
  8. data/vendor/assets/js/entries/plugins/foundation.abide.js +4 -0
  9. data/vendor/assets/js/entries/plugins/foundation.accordion.js +4 -0
  10. data/vendor/assets/js/entries/plugins/foundation.accordionMenu.js +5 -0
  11. data/vendor/assets/js/entries/plugins/foundation.core.js +21 -0
  12. data/vendor/assets/js/entries/plugins/foundation.drilldown.js +4 -0
  13. data/vendor/assets/js/entries/plugins/foundation.dropdown.js +5 -0
  14. data/vendor/assets/js/entries/plugins/foundation.dropdownMenu.js +4 -0
  15. data/vendor/assets/js/entries/plugins/foundation.equalizer.js +4 -0
  16. data/vendor/assets/js/entries/plugins/foundation.interchange.js +4 -0
  17. data/vendor/assets/js/entries/plugins/foundation.magellan.js +4 -0
  18. data/vendor/assets/js/entries/plugins/foundation.offcanvas.js +4 -0
  19. data/vendor/assets/js/entries/plugins/foundation.orbit.js +5 -0
  20. data/vendor/assets/js/entries/plugins/foundation.responsiveAccordionTabs.js +5 -0
  21. data/vendor/assets/js/entries/plugins/foundation.responsiveMenu.js +5 -0
  22. data/vendor/assets/js/entries/plugins/foundation.responsiveToggle.js +5 -0
  23. data/vendor/assets/js/entries/plugins/foundation.reveal.js +4 -0
  24. data/vendor/assets/js/entries/plugins/foundation.slider.js +5 -0
  25. data/vendor/assets/js/entries/plugins/foundation.smoothScroll.js +5 -0
  26. data/vendor/assets/js/entries/plugins/foundation.sticky.js +5 -0
  27. data/vendor/assets/js/entries/plugins/foundation.tabs.js +5 -0
  28. data/vendor/assets/js/entries/plugins/foundation.toggler.js +5 -0
  29. data/vendor/assets/js/entries/plugins/foundation.tooltip.js +4 -0
  30. data/vendor/assets/js/entries/plugins/foundation.util.box.js +4 -0
  31. data/vendor/assets/js/entries/plugins/foundation.util.imageLoader.js +5 -0
  32. data/vendor/assets/js/entries/plugins/foundation.util.keyboard.js +4 -0
  33. data/vendor/assets/js/entries/plugins/foundation.util.mediaQuery.js +4 -0
  34. data/vendor/assets/js/entries/plugins/foundation.util.motion.js +5 -0
  35. data/vendor/assets/js/entries/plugins/foundation.util.nest.js +5 -0
  36. data/vendor/assets/js/entries/plugins/foundation.util.timer.js +5 -0
  37. data/vendor/assets/js/entries/plugins/foundation.util.touch.js +7 -0
  38. data/vendor/assets/js/entries/plugins/foundation.util.triggers.js +5 -0
  39. data/vendor/assets/js/foundation.abide.js.es6 +18 -15
  40. data/vendor/assets/js/foundation.accordion.js.es6 +37 -23
  41. data/vendor/assets/js/foundation.accordionMenu.js.es6 +96 -51
  42. data/vendor/assets/js/foundation.core.js.es6 +46 -87
  43. data/vendor/assets/js/foundation.drilldown.js.es6 +47 -29
  44. data/vendor/assets/js/foundation.dropdown.js.es6 +84 -122
  45. data/vendor/assets/js/foundation.dropdownMenu.js.es6 +44 -28
  46. data/vendor/assets/js/foundation.equalizer.js.es6 +18 -17
  47. data/vendor/assets/js/foundation.interchange.js.es6 +26 -19
  48. data/vendor/assets/js/foundation.js.es6 +8 -3
  49. data/vendor/assets/js/foundation.magellan.js.es6 +36 -30
  50. data/vendor/assets/js/foundation.offcanvas.js.es6 +148 -36
  51. data/vendor/assets/js/foundation.orbit.js.es6 +26 -18
  52. data/vendor/assets/js/foundation.plugin.js.es6 +54 -0
  53. data/vendor/assets/js/foundation.positionable.js.es6 +206 -0
  54. data/vendor/assets/js/{foundation.zf.responsiveAccordionTabs.js.es6 → foundation.responsiveAccordionTabs.js.es6} +33 -30
  55. data/vendor/assets/js/foundation.responsiveMenu.js.es6 +37 -29
  56. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +17 -16
  57. data/vendor/assets/js/foundation.reveal.js.es6 +61 -79
  58. data/vendor/assets/js/foundation.slider.js.es6 +33 -18
  59. data/vendor/assets/js/foundation.smoothScroll.js.es6 +135 -0
  60. data/vendor/assets/js/foundation.sticky.js.es6 +25 -17
  61. data/vendor/assets/js/foundation.tabs.js.es6 +35 -27
  62. data/vendor/assets/js/foundation.toggler.js.es6 +15 -13
  63. data/vendor/assets/js/foundation.tooltip.js.es6 +100 -108
  64. data/vendor/assets/js/foundation.util.box.js.es6 +114 -78
  65. data/vendor/assets/js/foundation.util.core.js.es6 +52 -0
  66. data/vendor/assets/js/foundation.util.imageLoader.js.es6 +45 -0
  67. data/vendor/assets/js/foundation.util.keyboard.js.es6 +41 -31
  68. data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +59 -55
  69. data/vendor/assets/js/foundation.util.motion.js.es6 +4 -5
  70. data/vendor/assets/js/foundation.util.nest.js.es6 +9 -23
  71. data/vendor/assets/js/{foundation.util.timerAndImageLoader.js.es6 → foundation.util.timer.js.es6} +2 -42
  72. data/vendor/assets/js/foundation.util.touch.js.es6 +91 -294
  73. data/vendor/assets/js/foundation.util.triggers.js.es6 +199 -141
  74. data/vendor/assets/scss/_global.scss +29 -1
  75. data/vendor/assets/scss/components/_accordion-menu.scss +148 -13
  76. data/vendor/assets/scss/components/_accordion.scss +5 -0
  77. data/vendor/assets/scss/components/_breadcrumbs.scss +26 -9
  78. data/vendor/assets/scss/components/_button-group.scss +4 -4
  79. data/vendor/assets/scss/components/_button.scss +59 -12
  80. data/vendor/assets/scss/components/_card.scss +10 -2
  81. data/vendor/assets/scss/components/_drilldown.scss +90 -41
  82. data/vendor/assets/scss/components/_dropdown-menu.scss +52 -6
  83. data/vendor/assets/scss/components/_dropdown.scss +8 -1
  84. data/vendor/assets/scss/components/_flex.scss +85 -2
  85. data/vendor/assets/scss/components/_menu.scss +267 -162
  86. data/vendor/assets/scss/components/_off-canvas.scss +159 -45
  87. data/vendor/assets/scss/components/_pagination.scss +1 -1
  88. data/vendor/assets/scss/components/_reveal.scss +13 -11
  89. data/vendor/assets/scss/components/_slider.scss +0 -1
  90. data/vendor/assets/scss/components/_sticky.scss +1 -0
  91. data/vendor/assets/scss/components/_table.scss +7 -6
  92. data/vendor/assets/scss/components/_tabs.scss +1 -1
  93. data/vendor/assets/scss/components/_title-bar.scss +1 -1
  94. data/vendor/assets/scss/components/_tooltip.scss +74 -21
  95. data/vendor/assets/scss/components/_top-bar.scss +2 -0
  96. data/vendor/assets/scss/forms/_fieldset.scss +0 -1
  97. data/vendor/assets/scss/forms/_meter.scss +7 -1
  98. data/vendor/assets/scss/forms/_select.scss +4 -3
  99. data/vendor/assets/scss/forms/_text.scss +11 -2
  100. data/vendor/assets/scss/foundation.scss +17 -3
  101. data/vendor/assets/scss/grid/_flex-grid.scss +3 -52
  102. data/vendor/assets/scss/prototype/_arrow.scss +36 -0
  103. data/vendor/assets/scss/prototype/_border-box.scss +35 -0
  104. data/vendor/assets/scss/prototype/_border-none.scss +35 -0
  105. data/vendor/assets/scss/prototype/_bordered.scss +54 -0
  106. data/vendor/assets/scss/prototype/_box.scss +23 -0
  107. data/vendor/assets/scss/prototype/_display.scss +50 -0
  108. data/vendor/assets/scss/prototype/_font-styling.scss +95 -0
  109. data/vendor/assets/scss/prototype/_list-style-type.scss +95 -0
  110. data/vendor/assets/scss/prototype/_overflow.scss +72 -0
  111. data/vendor/assets/scss/prototype/_position.scss +114 -0
  112. data/vendor/assets/scss/prototype/_prototype.scss +91 -0
  113. data/vendor/assets/scss/prototype/_relation.scss +157 -0
  114. data/vendor/assets/scss/prototype/_rotate.scss +31 -0
  115. data/vendor/assets/scss/prototype/_rounded.scss +54 -0
  116. data/vendor/assets/scss/prototype/_separator.scss +96 -0
  117. data/vendor/assets/scss/prototype/_shadow.scss +43 -0
  118. data/vendor/assets/scss/prototype/_sizing.scss +73 -0
  119. data/vendor/assets/scss/prototype/_spacing.scss +204 -0
  120. data/vendor/assets/scss/prototype/_text-decoration.scss +48 -0
  121. data/vendor/assets/scss/prototype/_text-transformation.scss +48 -0
  122. data/vendor/assets/scss/prototype/_text-utilities.scss +88 -0
  123. data/vendor/assets/scss/prototype/_typescale.scss +20 -0
  124. data/vendor/assets/scss/settings/_settings.scss +291 -48
  125. data/vendor/assets/scss/typography/_base.scss +2 -2
  126. data/vendor/assets/scss/typography/_helpers.scss +6 -4
  127. data/vendor/assets/scss/util/_breakpoint.scss +60 -1
  128. data/vendor/assets/scss/util/_color.scss +8 -5
  129. data/vendor/assets/scss/util/_mixins.scss +45 -5
  130. data/vendor/assets/scss/xy-grid/_cell.scss +179 -0
  131. data/vendor/assets/scss/xy-grid/_classes.scss +455 -0
  132. data/vendor/assets/scss/xy-grid/_collapse.scss +54 -0
  133. data/vendor/assets/scss/xy-grid/_frame.scss +54 -0
  134. data/vendor/assets/scss/xy-grid/_grid.scss +56 -0
  135. data/vendor/assets/scss/xy-grid/_gutters.scss +45 -0
  136. data/vendor/assets/scss/xy-grid/_layout.scss +33 -0
  137. data/vendor/assets/scss/xy-grid/_position.scss +28 -0
  138. data/vendor/assets/scss/xy-grid/_xy-grid.scss +52 -0
  139. metadata +73 -4
@@ -2,6 +2,18 @@
2
2
  /// @group accordion-menu
3
3
  ////
4
4
 
5
+ /// Sets accordion menu padding.
6
+ /// @type Number
7
+ $accordionmenu-padding: $global-menu-padding !default;
8
+
9
+ /// Sets accordion menu nested margin
10
+ /// @type Number
11
+ $accordionmenu-nested-margin: $global-menu-nested-margin !default;
12
+
13
+ /// Sets accordion menu submenu padding.
14
+ /// @type Number
15
+ $accordionmenu-submenu-padding: $accordionmenu-padding !default;
16
+
5
17
  /// Sets if accordion menus have the default arrow styles.
6
18
  /// @type Boolean
7
19
  $accordionmenu-arrows: true !default;
@@ -10,27 +22,150 @@ $accordionmenu-arrows: true !default;
10
22
  /// @type Color
11
23
  $accordionmenu-arrow-color: $primary-color !default;
12
24
 
25
+ /// Sets accordion menu item padding.
26
+ /// @type Color
27
+ $accordionmenu-item-background: null !default;
28
+
29
+ /// Sets accordion menu item border.
30
+ /// @type Color
31
+ $accordionmenu-border: null !default;
32
+
33
+ /// Sets accordion menu item padding.
34
+ /// @type Color
35
+ $accordionmenu-submenu-toggle-background: null !default;
36
+
37
+ /// Sets accordion menu item padding.
38
+ /// @type List
39
+ $accordion-submenu-toggle-border: $accordionmenu-border !default;
40
+
41
+ /// Sets accordion menu submenu toggle background width.
42
+ /// @type Number
43
+ $accordionmenu-submenu-toggle-width: 40px !default;
44
+
45
+ /// Sets accordion menu submenu toggle background height.
46
+ /// @type Number
47
+ $accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width !default;
48
+
13
49
  /// Sets accordion menu arrow size if arrow is used.
14
50
  /// @type Length
15
51
  $accordionmenu-arrow-size: 6px !default;
16
52
 
53
+ @mixin zf-accordion-menu-left-right-arrows {
54
+ .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
55
+ position: relative;
56
+
57
+ &::after {
58
+ @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down);
59
+ position: absolute;
60
+ top: 50%;
61
+ margin-top: -1 * ($accordionmenu-arrow-size / 2);
62
+ #{$global-right}: 1rem;
63
+ }
64
+ }
65
+ &.align-left .is-accordion-submenu-parent > a::after {
66
+ left: auto;
67
+ right: 1rem;
68
+ }
69
+ &.align-right .is-accordion-submenu-parent > a::after {
70
+ right: auto;
71
+ left: 1rem;
72
+ }
73
+ }
17
74
  @mixin foundation-accordion-menu {
18
- @if $accordionmenu-arrows {
19
- .is-accordion-submenu-parent > a {
20
- position: relative;
21
-
22
- &::after {
23
- @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down);
24
- position: absolute;
25
- top: 50%;
26
- margin-top: -1 * ($accordionmenu-arrow-size / 2);
27
- #{$global-right}: 1rem;
75
+
76
+ .accordion-menu {
77
+ @if $accordionmenu-border {
78
+ border-bottom: $accordionmenu-border;
79
+ }
80
+
81
+ li {
82
+ @if $accordionmenu-border {
83
+ border-top: $accordionmenu-border;
84
+ border-right: $accordionmenu-border;
85
+ border-left: $accordionmenu-border;
86
+ }
87
+ width: 100%;
88
+ }
89
+
90
+ a {
91
+ @if $accordionmenu-item-background {
92
+ background: $accordionmenu-item-background;
93
+ }
94
+ padding: $accordionmenu-padding;
95
+ }
96
+
97
+ .is-accordion-submenu a {
98
+ padding: $accordionmenu-submenu-padding;
99
+ }
100
+
101
+ .nested.is-accordion-submenu {
102
+ @include menu-nested($accordionmenu-nested-margin);
103
+ }
104
+
105
+ &.align-#{$global-right} {
106
+ .nested.is-accordion-submenu {
107
+ @include menu-nested($accordionmenu-nested-margin, right);
28
108
  }
29
109
  }
30
110
 
31
- .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
32
- transform: rotate(180deg);
33
- transform-origin: 50% 50%;
111
+ @if $accordionmenu-arrows {
112
+ @include zf-accordion-menu-left-right-arrows;
113
+
114
+ .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
115
+ transform: rotate(180deg);
116
+ transform-origin: 50% 50%;
117
+ }
118
+ }
119
+ }
120
+
121
+ .is-accordion-submenu li {
122
+ @if $accordionmenu-border {
123
+ border-right: 0;
124
+ border-left: 0;
125
+ }
126
+ }
127
+
128
+ .is-accordion-submenu-parent {
129
+ position: relative;
130
+ }
131
+
132
+ .has-submenu-toggle > a {
133
+ margin-#{$global-right}: $accordionmenu-submenu-toggle-width;
134
+ }
135
+
136
+ // Submenu toggle
137
+ .submenu-toggle {
138
+ position: absolute;
139
+ top: 0;
140
+ #{$global-right}: 0;
141
+ cursor: pointer;
142
+
143
+ width: $accordionmenu-submenu-toggle-width;
144
+ height: $accordionmenu-submenu-toggle-height;
145
+
146
+ border-#{$global-left}: $accordion-submenu-toggle-border;
147
+
148
+ @if $accordionmenu-submenu-toggle-background {
149
+ background: $accordionmenu-submenu-toggle-background;
150
+ }
151
+
152
+ // Add the arrow to the toggle
153
+ &::after {
154
+ @include css-triangle(6px, $accordionmenu-arrow-color, down);
155
+
156
+ top: 0;
157
+ bottom: 0;
158
+ margin: auto;
34
159
  }
35
160
  }
161
+
162
+ // Rotate the arrow when menu is open
163
+ .submenu-toggle[aria-expanded='true']::after {
164
+ transform: scaleY(-1);
165
+ transform-origin: 50% 50%;
166
+ }
167
+
168
+ .submenu-toggle-text {
169
+ @include element-invisible;
170
+ }
36
171
  }
@@ -53,6 +53,11 @@ $accordion-content-padding: 1rem !default;
53
53
  margin-#{$global-left}: 0;
54
54
  background: $background;
55
55
  list-style-type: none;
56
+ &[disabled] {
57
+ .accordion-title {
58
+ cursor: not-allowed;
59
+ }
60
+ }
56
61
  }
57
62
 
58
63
  /// Adds styles for the accordion item. Apply this to the list item within an accordion ul.
@@ -34,13 +34,31 @@ $breadcrumbs-item-margin: 0.75rem !default;
34
34
  /// @type Boolean
35
35
  $breadcrumbs-item-uppercase: true !default;
36
36
 
37
- /// If `true`, adds a slash between breadcrumb links.
37
+ /// If `true`, adds a seperator between breadcrumb links.
38
38
  /// @type Boolean
39
- $breadcrumbs-item-slash: true !default;
39
+ $breadcrumbs-item-separator: true !default;
40
40
 
41
- /// Color of breadcrumb slash.
41
+ // If it exists $breadcrumbs-item-slash is used to build $breadcrumbs-item-separator. See the documentation.
42
+ @if variable-exists(breadcrumbs-item-slash) {
43
+ $breadcrumbs-item-separator: $breadcrumbs-item-slash;
44
+ }
45
+
46
+ /// Used character for the breadcrumb separator.
47
+ /// @type Content
48
+ $breadcrumbs-item-separator-item: '/' !default;
49
+
50
+ /// Used character for the breadcrumb separator in rtl mode.
51
+ /// @type Content
52
+ $breadcrumbs-item-separator-item-rtl: '\\' !default;
53
+
54
+ /// Color of breadcrumb item.
42
55
  /// @type Color
43
- $breadcrumbs-item-slash-color: $medium-gray !default;
56
+ $breadcrumbs-item-separator-color: $medium-gray !default;
57
+
58
+ // If it exists $breadcrumbs-item-slash-color is used to build $breadcrumbs-item-separator-color. See the documentation.
59
+ @if variable-exists(breadcrumbs-item-slash-color) {
60
+ $breadcrumbs-item-separator-color: $breadcrumbs-item-slash-color;
61
+ }
44
62
 
45
63
  /// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.
46
64
  @mixin breadcrumbs-container {
@@ -60,17 +78,16 @@ $breadcrumbs-item-slash-color: $medium-gray !default;
60
78
  text-transform: uppercase;
61
79
  }
62
80
 
63
- @if $breadcrumbs-item-slash {
81
+ @if $breadcrumbs-item-separator {
64
82
  // Need to escape the backslash
65
- $slash: if($global-text-direction == 'ltr', '/', '\\');
83
+ $separator: if($global-text-direction == 'ltr', $breadcrumbs-item-separator-item, $breadcrumbs-item-separator-item-rtl);
66
84
 
67
85
  &:not(:last-child)::after {
68
86
  position: relative;
69
- top: 1px;
70
87
  margin: 0 $breadcrumbs-item-margin;
71
88
  opacity: 1;
72
- content: $slash;
73
- color: $breadcrumbs-item-slash-color;
89
+ content: $separator;
90
+ color: $breadcrumbs-item-separator-color;
74
91
  }
75
92
  }
76
93
  @else {
@@ -63,13 +63,13 @@ $buttongroup-radius-on-each: true !default;
63
63
  border-radius: 0;
64
64
 
65
65
  &:first-child {
66
- border-top-#{$global-left}-radius: $global-radius;
67
- border-bottom-#{$global-left}-radius: $global-radius;
66
+ border-top-#{$global-left}-radius: $button-radius;
67
+ border-bottom-#{$global-left}-radius: $button-radius;
68
68
  }
69
69
 
70
70
  &:last-child {
71
- border-top-#{$global-right}-radius: $global-radius;
72
- border-bottom-#{$global-right}-radius: $global-radius;
71
+ border-top-#{$global-right}-radius: $button-radius;
72
+ border-bottom-#{$global-right}-radius: $button-radius;
73
73
  }
74
74
  }
75
75
 
@@ -6,6 +6,10 @@
6
6
  /// @group button
7
7
  ////
8
8
 
9
+ /// Font family for button elements.
10
+ /// @type Font
11
+ $button-font-family: inherit !default;
12
+
9
13
  /// Padding inside buttons.
10
14
  /// @type List
11
15
  $button-padding: 0.85em 1em !default;
@@ -82,6 +86,7 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
82
86
  display: inline-block;
83
87
  vertical-align: middle;
84
88
  margin: $button-margin;
89
+ font-family: $button-font-family;
85
90
 
86
91
  @if (type-of($button-padding) == 'map') {
87
92
  @each $size, $padding in $button-padding {
@@ -154,11 +159,19 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
154
159
  &:hover, &:focus {
155
160
  background-color: transparent;
156
161
  }
162
+
163
+ &.disabled,
164
+ &[disabled] {
165
+ &,
166
+ &:hover, &:focus {
167
+ background-color: transparent;
168
+ }
169
+ }
157
170
  }
158
171
 
159
172
  @mixin button-hollow-style(
160
- $color: $primary-color,
161
- $hover-lightness: $button-hollow-hover-lightness,
173
+ $color: $button-background,
174
+ $hover-lightness: $button-hollow-hover-lightness,
162
175
  $border-width: $button-hollow-border-width
163
176
  ) {
164
177
  $color-hover: scale-color($color, $lightness: $hover-lightness);
@@ -169,14 +182,19 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
169
182
  &:hover, &:focus {
170
183
  border-color: $color-hover;
171
184
  color: $color-hover;
185
+ &.disabled,
186
+ &[disabled] {
187
+ border: $border-width solid $color;
188
+ color: $color;
189
+ }
172
190
  }
173
191
  }
174
192
 
175
193
  /// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.
176
- /// @param [Color] $background [$primary-color] - Background color of the disabled button.
194
+ /// @param [Color] $background [$button-background] - Background color of the disabled button.
177
195
  /// @param [Color] $color [$button-color] - Text color of the disabled button. Set to `auto` to have the mixin automatically generate a color based on the background color.
178
196
  @mixin button-disabled(
179
- $background: $primary-color,
197
+ $background: $button-background,
180
198
  $color: $button-color
181
199
  ) {
182
200
  @if $color == auto {
@@ -208,7 +226,7 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
208
226
 
209
227
  display: inline-block;
210
228
  float: #{$global-right};
211
- margin-#{$global-left}: get-side($button-padding, right);
229
+ margin-#{$global-left}: $offset;
212
230
  }
213
231
  }
214
232
 
@@ -271,6 +289,18 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
271
289
  }
272
290
  }
273
291
 
292
+ // Disabled style
293
+ &.disabled,
294
+ &[disabled] {
295
+ @include button-disabled;
296
+
297
+ @each $name, $color in $button-palette {
298
+ &.#{$name} {
299
+ @include button-disabled($color, auto);
300
+ }
301
+ }
302
+ }
303
+
274
304
  // Hollow style
275
305
  @if $button-fill != hollow {
276
306
  &.hollow {
@@ -285,14 +315,31 @@ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !defau
285
315
  }
286
316
  }
287
317
 
288
- // Disabled style
289
- &.disabled,
290
- &[disabled] {
291
- @include button-disabled;
318
+ // Clear style
319
+ @if $button-fill != clear {
320
+ &.clear {
321
+ @include button-hollow;
322
+ @include button-hollow-style;
292
323
 
293
- @each $name, $color in $button-palette {
294
- &.#{$name} {
295
- @include button-disabled($color, auto);
324
+ &, &:hover, &:focus {
325
+ &, &.disabled, &[disabled] {
326
+ border-color: transparent;
327
+ }
328
+ }
329
+
330
+ @each $name, $color in $button-palette {
331
+ &.#{$name} {
332
+ @include button-hollow-style($color);
333
+
334
+ &, &:hover,
335
+ &:focus {
336
+ &,
337
+ &.disabled,
338
+ &[disabled] {
339
+ border-color: transparent;
340
+ }
341
+ }
342
+ }
296
343
  }
297
344
  }
298
345
  }
@@ -36,7 +36,7 @@ $card-padding: $global-padding !default;
36
36
 
37
37
  /// Default bottom margin.
38
38
  /// @type number
39
- $card-margin: $global-margin !default;
39
+ $card-margin-bottom: $global-margin !default;
40
40
 
41
41
  /// Adds styles for a card container.
42
42
  /// @param {Color} $background - Background color of the card.
@@ -48,7 +48,7 @@ $card-margin: $global-margin !default;
48
48
  @mixin card-container(
49
49
  $background: $card-background,
50
50
  $color: $card-font-color,
51
- $margin: $card-margin,
51
+ $margin: $card-margin-bottom,
52
52
  $border: $card-border,
53
53
  $radius: $card-border-radius,
54
54
  $shadow: $card-shadow
@@ -56,6 +56,7 @@ $card-margin: $global-margin !default;
56
56
  @if $global-flexbox {
57
57
  display: flex;
58
58
  flex-direction: column;
59
+ flex-grow: 1;
59
60
  }
60
61
 
61
62
  margin-bottom: $margin;
@@ -81,6 +82,7 @@ $card-margin: $global-margin !default;
81
82
  ) {
82
83
  @if $global-flexbox {
83
84
  flex: 0 1 auto;
85
+ display: flex;
84
86
  }
85
87
 
86
88
  padding: $padding;
@@ -118,4 +120,10 @@ $card-margin: $global-margin !default;
118
120
  .card-section {
119
121
  @include card-section;
120
122
  }
123
+
124
+ // For IE 11 - Flexbug
125
+ // https://github.com/philipwalton/flexbugs/issues/75
126
+ .card-image {
127
+ min-height: 1px;
128
+ }
121
129
  }
@@ -14,6 +14,26 @@ $drilldown-transition: transform 0.15s linear !default;
14
14
  /// @type Boolean
15
15
  $drilldown-arrows: true !default;
16
16
 
17
+ /// Sets drilldown menu item padding.
18
+ /// @type Number
19
+ $drilldown-padding: $global-menu-padding !default;
20
+
21
+ /// Sets drilldown menu nested margin
22
+ /// @type Number
23
+ $drilldown-nested-margin: 0 !default;
24
+
25
+ /// Background color for drilldown top level items.
26
+ /// @type Color
27
+ $drilldown-background: $white !default;
28
+
29
+ /// Sets drilldown menu item padding in the submenu.
30
+ /// @type Number
31
+ $drilldown-submenu-padding: $drilldown-padding !default;
32
+
33
+ /// Background color for drilldown submenus.
34
+ /// @type Color
35
+ $drilldown-submenu-background: $white !default;
36
+
17
37
  /// Sets drilldown arrow color if arrow is used.
18
38
  /// @type Color
19
39
  $drilldown-arrow-color: $primary-color !default;
@@ -22,9 +42,31 @@ $drilldown-arrow-color: $primary-color !default;
22
42
  /// @type Length
23
43
  $drilldown-arrow-size: 6px !default;
24
44
 
25
- /// Background color for drilldown submenus.
26
- /// @type Color
27
- $drilldown-background: $white !default;
45
+ @mixin zf-drilldown-left-right-arrows {
46
+ .is-drilldown-submenu-parent > a {
47
+ position: relative;
48
+ &::after {
49
+ position: absolute;
50
+ top: 50%;
51
+ margin-top: -1 * $drilldown-arrow-size;
52
+ #{$global-right}: 1rem;
53
+ @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);
54
+ }
55
+ }
56
+
57
+ &.align-left .is-drilldown-submenu-parent > a::after {
58
+ left: auto;
59
+ right: 1rem;
60
+ @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);
61
+ }
62
+
63
+ &.align-right .is-drilldown-submenu-parent > a::after {
64
+ right: auto;
65
+ left: 1rem;
66
+ @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);
67
+ }
68
+
69
+ }
28
70
 
29
71
  @mixin foundation-drilldown-menu {
30
72
  // Applied to the Menu container
@@ -41,53 +83,60 @@ $drilldown-background: $white !default;
41
83
  }
42
84
  }
43
85
 
44
- // Applied to nested <ul>s
45
- .is-drilldown-submenu {
46
- position: absolute;
47
- top: 0;
48
- #{$global-left}: 100%;
49
- z-index: -1;
86
+ // The top level <ul>
87
+ .drilldown {
88
+ a {
89
+ padding: $drilldown-padding;
90
+ background: $drilldown-background;
91
+ }
50
92
 
51
- width: 100%;
52
- background: $drilldown-background;
53
- transition: $drilldown-transition;
93
+ // Applied to submenu <ul>s
94
+ .is-drilldown-submenu {
95
+ position: absolute;
96
+ top: 0;
97
+ #{$global-left}: 100%;
98
+ z-index: -1;
99
+
100
+ width: 100%;
101
+ background: $drilldown-submenu-background;
102
+ transition: $drilldown-transition;
103
+
104
+ &.is-active {
105
+ z-index: 1;
106
+ display: block;
107
+ transform: translateX(if($global-text-direction == ltr, -100%, 100%));
108
+ }
54
109
 
55
- &.is-active {
56
- z-index: 1;
57
- display: block;
58
- transform: translateX(if($global-text-direction == ltr, -100%, 100%));
59
- }
110
+ &.is-closing {
111
+ transform: translateX(if($global-text-direction == ltr, 100%, -100%));
112
+ }
60
113
 
61
- &.is-closing {
62
- transform: translateX(if($global-text-direction == ltr, 100%, -100%));
114
+ // Submenu item padding
115
+ a {
116
+ padding: $drilldown-submenu-padding;
117
+ }
63
118
  }
64
- }
65
-
66
- .drilldown-submenu-cover-previous {
67
- min-height: 100%;
68
- }
69
119
 
70
- @if $drilldown-arrows {
71
- .is-drilldown-submenu-parent > a {
72
- position: relative;
120
+ .nested.is-drilldown-submenu {
121
+ @include menu-nested($drilldown-nested-margin);
122
+ }
73
123
 
74
- &::after {
75
- @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);
76
- position: absolute;
77
- top: 50%;
78
- margin-top: -1 * $drilldown-arrow-size;
79
- #{$global-right}: 1rem;
80
- }
124
+ .drilldown-submenu-cover-previous {
125
+ min-height: 100%;
81
126
  }
82
127
 
83
- .js-drilldown-back > a::before {
84
- @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);
85
- border-#{$global-left}-width: 0;
86
- display: inline-block;
87
- vertical-align: middle;
88
- margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text
128
+ @if $drilldown-arrows {
129
+ @include zf-drilldown-left-right-arrows;
89
130
 
90
- border-#{$global-left}-width: 0;
131
+ .js-drilldown-back > a::before {
132
+ @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);
133
+ border-#{$global-left}-width: 0;
134
+ display: inline-block;
135
+ vertical-align: middle;
136
+ margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text
137
+
138
+ border-#{$global-left}-width: 0;
139
+ }
91
140
  }
92
141
  }
93
142
  }