zurb-foundation 4.0.9 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.md +10 -3
  3. data/docs/Gemfile +4 -1
  4. data/docs/Gemfile.lock +1 -1
  5. data/docs/_sidebar-components.html.erb +1 -0
  6. data/docs/_sidebar.html.erb +2 -0
  7. data/docs/components/dropdown.html.erb +3 -3
  8. data/docs/components/global.html.erb +1 -1
  9. data/docs/components/grid.html.erb +4 -4
  10. data/docs/components/joyride.html.erb +4 -1
  11. data/docs/components/kitchen-sink.html.erb +864 -0
  12. data/docs/components/orbit.html.erb +1 -1
  13. data/docs/components/section.html.erb +29 -2
  14. data/docs/components/split-buttons.html.erb +1 -1
  15. data/docs/components/top-bar.html.erb +0 -3
  16. data/docs/css/docs.scss +8 -6
  17. data/docs/layout.html.erb +13 -2
  18. data/docs/rtl.html.erb +53 -0
  19. data/docs/support.html.erb +1 -1
  20. data/js/foundation/foundation.clearing.js +20 -14
  21. data/js/foundation/foundation.dropdown.js +10 -11
  22. data/js/foundation/foundation.forms.js +45 -13
  23. data/js/foundation/foundation.joyride.js +14 -6
  24. data/js/foundation/foundation.js +7 -1
  25. data/js/foundation/foundation.orbit.js +10 -8
  26. data/js/foundation/foundation.reveal.js +1 -1
  27. data/js/foundation/foundation.section.js +23 -7
  28. data/js/foundation/foundation.tooltips.js +7 -3
  29. data/js/foundation/foundation.topbar.js +28 -12
  30. data/lib/foundation/generators/install_generator.rb +1 -1
  31. data/lib/foundation/version.rb +1 -1
  32. data/package.json +7 -1
  33. data/scss/foundation/_foundation-global.scss +3 -3
  34. data/scss/foundation/components/_alert-boxes.scss +4 -4
  35. data/scss/foundation/components/_button-groups.scss +6 -4
  36. data/scss/foundation/components/_buttons.scss +4 -4
  37. data/scss/foundation/components/_clearing.scss +18 -16
  38. data/scss/foundation/components/_custom-forms.scss +8 -8
  39. data/scss/foundation/components/_dropdown-buttons.scss +12 -12
  40. data/scss/foundation/components/_dropdown.scss +5 -6
  41. data/scss/foundation/components/_forms.scss +15 -15
  42. data/scss/foundation/components/_grid.scss +18 -18
  43. data/scss/foundation/components/_inline-lists.scss +8 -3
  44. data/scss/foundation/components/_joyride.scss +8 -8
  45. data/scss/foundation/components/_magellan.scss +3 -2
  46. data/scss/foundation/components/_orbit.scss +24 -16
  47. data/scss/foundation/components/_pricing-tables.scss +1 -1
  48. data/scss/foundation/components/_reveal.scss +2 -2
  49. data/scss/foundation/components/_section.scss +5 -5
  50. data/scss/foundation/components/_split-buttons.scss +18 -18
  51. data/scss/foundation/components/_sub-nav.scss +1 -1
  52. data/scss/foundation/components/_switch.scss +11 -12
  53. data/scss/foundation/components/_tables.scss +1 -1
  54. data/scss/foundation/components/_tooltips.scss +2 -1
  55. data/scss/foundation/components/_top-bar.scss +10 -9
  56. data/templates/project/index.html +2 -2
  57. data/templates/project/scss/_settings.scss +8 -0
  58. metadata +6 -4
@@ -53,8 +53,8 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
53
53
 
54
54
  .lt-ie9 .joyride-tip-guide {
55
55
  max-width:800px;
56
- left: 50%;
57
- margin-left:-400px;
56
+ #{$default-float}: 50%;
57
+ margin-#{$default-float}:-400px;
58
58
  }
59
59
 
60
60
  .joyride-content-wrapper {
@@ -79,7 +79,7 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
79
79
  border-color: $joyride-tip-bg;
80
80
  border-top-color: transparent !important;
81
81
  border-#{$default-float}-color: transparent !important;
82
- border-#{$default-opposite}-color: transparent !important;
82
+ border-#{$opposite-direction}-color: transparent !important;
83
83
  top: -($joyride-tip-nub-size*2);
84
84
  bottom: none;
85
85
  }
@@ -87,7 +87,7 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
87
87
  border-color: $joyride-tip-bg !important;
88
88
  border-bottom-color: transparent !important;
89
89
  border-#{$default-float}-color: transparent !important;
90
- border-#{$default-opposite}-color: transparent !important;
90
+ border-#{$opposite-direction}-color: transparent !important;
91
91
  bottom: -($joyride-tip-nub-size*2);
92
92
  bottom: none;
93
93
  }
@@ -120,7 +120,7 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
120
120
  height: $joyride-tip-timer-height;
121
121
  border: $joyride-tip-border;
122
122
  position: absolute;
123
- #{$default-opposite}: emCalc(17px);
123
+ #{$opposite-direction}: emCalc(17px);
124
124
  bottom: emCalc(16px);
125
125
  }
126
126
  .joyride-timer-indicator {
@@ -132,7 +132,7 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
132
132
 
133
133
  .joyride-close-tip {
134
134
  position: absolute;
135
- #{$default-opposite}: 12px;
135
+ #{$opposite-direction}: 12px;
136
136
  top: 10px;
137
137
  color: $joyride-tip-close-color !important;
138
138
  text-decoration: none;
@@ -160,13 +160,13 @@ $joyride-screenfill: rgba(0,0,0,0.5) !default;
160
160
 
161
161
  /* Styles for screens that are atleast 768px; */
162
162
  @media #{$small} {
163
- .joyride-tip-guide { width: $joyride-tip-default-width; #{$default-float}: 0;
163
+ .joyride-tip-guide { width: $joyride-tip-default-width; #{$default-float}: inherit;
164
164
  .joyride-nub {
165
165
  &.bottom {
166
166
  border-color: $joyride-tip-bg !important;
167
167
  border-bottom-color: transparent !important;
168
168
  border-#{$default-float}-color: transparent !important;
169
- border-#{$default-opposite}-color: transparent !important;
169
+ border-#{$opposite-direction}-color: transparent !important;
170
170
  bottom: -($joyride-tip-nub-size*2);
171
171
  bottom: none;
172
172
  }
@@ -2,14 +2,15 @@
2
2
  // Magellan Variables
3
3
  //
4
4
  $magellan-bg: #fff !default;
5
+ $magellan-padding: 10px !default;
5
6
 
6
7
  @if $include-html-magellan-classes {
7
8
 
8
9
  [data-magellan-expedition] {
9
10
  background: $magellan-bg;
10
- z-index: 997;
11
+ z-index: 50;
11
12
  min-width: 100%;
12
- padding: 10px;
13
+ padding: $magellan-padding;
13
14
 
14
15
  .sub-nav {
15
16
  margin-bottom: 0;
@@ -44,7 +44,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
44
44
 
45
45
  &>* {
46
46
  position: relative;
47
- float: left;
47
+ float: $default-float;
48
48
  height: 100%;
49
49
 
50
50
  .orbit-caption {
@@ -65,7 +65,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
65
65
  .orbit-slide-number {
66
66
  position: absolute;
67
67
  top: 10px;
68
- left: 10px;
68
+ #{$default-float}: 10px;
69
69
  font-size: 12px;
70
70
  span { font-weight: 700; }
71
71
  }
@@ -73,7 +73,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
73
73
  .orbit-timer {
74
74
  position: absolute;
75
75
  top: 10px;
76
- right: 10px;
76
+ #{$opposite-direction}: 10px;
77
77
  height: 6px;
78
78
  width: 100px;
79
79
  .orbit-progress {
@@ -88,7 +88,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
88
88
  display: none;
89
89
  position: absolute;
90
90
  top: 10px;
91
- right: 0px;
91
+ #{$opposite-direction}: 0px;
92
92
  width: 11px;
93
93
  height: 14px;
94
94
  border: solid 4px #000;
@@ -98,7 +98,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
98
98
 
99
99
  &.paused {
100
100
  & > span {
101
- right: -6px;
101
+ #{$opposite-direction}: -6px;
102
102
  top: 9px;
103
103
  width: 11px;
104
104
  height: 14px;
@@ -134,17 +134,25 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
134
134
  border: solid 16px;
135
135
  }
136
136
  }
137
- .orbit-prev { left: 0;
138
- & > span { border-color: transparent #fff transparent transparent; }
139
- &:hover > span { border-color: transparent #ccc transparent transparent; }
137
+ .orbit-prev { #{$default-float}: 0;
138
+ & > span {
139
+ border-color: transparent;
140
+ border-#{$opposite-direction}-color: #fff;
141
+ }
142
+ &:hover > span {
143
+ border-#{$opposite-direction}-color: #ccc;
144
+ }
140
145
  }
141
- .orbit-next { right: 0;
146
+ .orbit-next { #{$opposite-direction}: 0;
142
147
  & > span {
143
- border-color: transparent transparent transparent #fff;
144
- left: 50%;
145
- margin-left: -8px;
148
+ border-color: transparent;
149
+ border-#{$default-float}-color: #fff;
150
+ #{$default-float}: 50%;
151
+ margin-#{$default-float}: -8px;
152
+ }
153
+ &:hover > span {
154
+ border-#{$default-float}-color: #ccc;
146
155
  }
147
- &:hover > span { border-color: transparent transparent transparent #ccc; }
148
156
  }
149
157
  }
150
158
 
@@ -159,8 +167,8 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
159
167
  width: 18px;
160
168
  height: 18px;
161
169
  background: #fff;
162
- float: left;
163
- margin-right: 6px;
170
+ float: $default-float;
171
+ margin-#{$opposite-direction}: 6px;
164
172
  border: solid 2px #000;
165
173
  @include radius(1000px);
166
174
 
@@ -168,7 +176,7 @@ $stack-on-small-margin-bottom: emCalc(20px) !default;
168
176
  background: #000;
169
177
  }
170
178
 
171
- &:last-child { margin-right: 0; }
179
+ &:last-child { margin-#{$opposite-direction}: 0; }
172
180
  }
173
181
  }
174
182
 
@@ -54,7 +54,7 @@ $price-cta-padding: emCalc(20px) emCalc(20px) 0 !default;
54
54
  // We use this to create the container element for the pricing tables
55
55
  @mixin pricing-table-container {
56
56
  border: $price-table-border;
57
- margin-left: 0;
57
+ margin-#{$default-float}: 0;
58
58
  margin-bottom: $price-table-margin-bottom;
59
59
 
60
60
  & * {
@@ -41,7 +41,7 @@ $reveal-border-color: #666 !default;
41
41
  z-index: 98;
42
42
  display: none;
43
43
  top: 0;
44
- left: 0;
44
+ #{$default-float}: 0;
45
45
  }
46
46
 
47
47
  // We use this mixin to create the structure of a reveal modal
@@ -93,7 +93,7 @@ $reveal-border-color: #666 !default;
93
93
  line-height: 1;
94
94
  position: absolute;
95
95
  top: $reveal-close-top;
96
- #{$default-opposite}: $reveal-close-side;
96
+ #{$opposite-direction}: $reveal-close-side;
97
97
  color: $color;
98
98
  font-weight: $reveal-close-weight;
99
99
  cursor: pointer;
@@ -117,14 +117,14 @@ $section-bottom-margin: emCalc(20px) !default;
117
117
  .title {
118
118
  width: auto;
119
119
  border: $section-border-size $section-border-style $section-border-color;
120
- border-right: 0;
120
+ border-#{$opposite-direction}: 0;
121
121
  border-bottom: 0;
122
122
  position: absolute;
123
123
  z-index: 1;
124
124
 
125
125
  a { width: 100%; }
126
126
  }
127
- &:last-child .title { border-right: $section-border-size $section-border-style $section-border-color; }
127
+ &:last-child .title { border-#{$opposite-direction}: $section-border-size $section-border-style $section-border-color; }
128
128
 
129
129
  .content {
130
130
  border: $section-border-size $section-border-style $section-border-color;
@@ -157,7 +157,7 @@ $section-bottom-margin: emCalc(20px) !default;
157
157
  .content {
158
158
  display: block;
159
159
  position: absolute;
160
- left: 100%;
160
+ #{$default-float}: 100%;
161
161
  top: -1px;
162
162
  z-index: 999;
163
163
  min-width: $section-vertical-nav-min-width;
@@ -175,7 +175,7 @@ $section-bottom-margin: emCalc(20px) !default;
175
175
  .title {
176
176
  width: auto;
177
177
  border: $section-border-size $section-border-style $section-border-color;
178
- border-left: 0;
178
+ border-#{$default-float}: 0;
179
179
  top: -1px;
180
180
  position: absolute;
181
181
  z-index: 1;
@@ -190,7 +190,7 @@ $section-bottom-margin: emCalc(20px) !default;
190
190
  display: block;
191
191
  position: absolute;
192
192
  z-index: 999;
193
- left: 0;
193
+ #{$default-float}: 0;
194
194
  top: -2px;
195
195
  min-width: $section-vertical-nav-min-width;
196
196
  border: $section-border-size $section-border-style $section-border-color;
@@ -13,28 +13,28 @@ $split-button-padding-tny: $button-tny * 9 !default;
13
13
  $split-button-span-width-tny: $button-tny * 6.5 !default;
14
14
  $split-button-pip-size-tny: $button-tny !default;
15
15
  $split-button-pip-top-tny: $button-tny * 2 !default;
16
- $split-button-pip-left-tny: emCalc(-5px) !default;
16
+ $split-button-pip-default-float-tny: emCalc(-5px) !default;
17
17
 
18
18
  // We use these to control small split buttons
19
19
  $split-button-padding-sml: $button-sml * 7 !default;
20
20
  $split-button-span-width-sml: $button-sml * 5 !default;
21
21
  $split-button-pip-size-sml: $button-sml !default;
22
22
  $split-button-pip-top-sml: $button-sml * 1.5 !default;
23
- $split-button-pip-left-sml: emCalc(-9px) !default;
23
+ $split-button-pip-default-float-sml: emCalc(-9px) !default;
24
24
 
25
25
  // We use these to control medium split buttons
26
26
  $split-button-padding-med: $button-med * 6.4 !default;
27
27
  $split-button-span-width-med: $button-med * 4 !default;
28
28
  $split-button-pip-size-med: $button-med - emCalc(3px) !default;
29
29
  $split-button-pip-top-med: $button-med * 1.5 !default;
30
- $split-button-pip-left-med: emCalc(-9px) !default;
30
+ $split-button-pip-default-float-med: emCalc(-9px) !default;
31
31
 
32
32
  // We use these to control large split buttons
33
33
  $split-button-padding-lrg: $button-lrg * 6 !default;
34
34
  $split-button-span-width-lrg: $button-lrg * 3.75 !default;
35
35
  $split-button-pip-size-lrg: $button-lrg - emCalc(6px) !default;
36
36
  $split-button-pip-top-lrg: $button-lrg + emCalc(5px) !default;
37
- $split-button-pip-left-lrg: emCalc(-9px) !default;
37
+ $split-button-pip-default-float-lrg: emCalc(-9px) !default;
38
38
 
39
39
 
40
40
  //
@@ -53,9 +53,9 @@ $split-button-pip-left-lrg: emCalc(-9px) !default;
53
53
  display: block;
54
54
  height: 100%;
55
55
  position: absolute;
56
- #{$default-opposite}: 0;
56
+ #{$opposite-direction}: 0;
57
57
  top: 0;
58
- border-left: solid 1px;
58
+ border-#{$default-float}: solid 1px;
59
59
 
60
60
  // Building the triangle pip indicator
61
61
  &:before {
@@ -66,7 +66,7 @@ $split-button-pip-left-lrg: emCalc(-9px) !default;
66
66
  display: block;
67
67
  border-style: solid;
68
68
 
69
- left: 50%;
69
+ #{$default-float}: 50%;
70
70
  }
71
71
 
72
72
  &:active { background-color: $split-button-active-bg-tint; }
@@ -75,57 +75,57 @@ $split-button-pip-left-lrg: emCalc(-9px) !default;
75
75
 
76
76
  // Control the border color for the span area of the split button
77
77
  @if $span-border {
78
- span { border-left-color: darken($span-border, $split-button-function-factor); }
78
+ span { border-#{$default-float}-color: darken($span-border, $split-button-function-factor); }
79
79
  }
80
80
 
81
81
  // Style of the button and clickable area for tiny sizes
82
82
  @if $padding == tiny {
83
- padding-#{$default-opposite}: $split-button-padding-tny;
83
+ padding-#{$opposite-direction}: $split-button-padding-tny;
84
84
 
85
85
  span { width: $split-button-span-width-tny;
86
86
  &:before {
87
87
  border-width: $split-button-pip-size-tny;
88
88
  top: $split-button-pip-top-tny;
89
- margin-left: $split-button-pip-left-tny;
89
+ margin-#{$default-float}: $split-button-pip-default-float-tny;
90
90
  }
91
91
  }
92
92
  }
93
93
 
94
94
  // Style of the button and clickable area for small sizes
95
95
  @else if $padding == small {
96
- padding-#{$default-opposite}: $split-button-padding-sml;
96
+ padding-#{$opposite-direction}: $split-button-padding-sml;
97
97
 
98
98
  span { width: $split-button-span-width-sml;
99
99
  &:before {
100
100
  border-width: $split-button-pip-size-sml;
101
101
  top: $split-button-pip-top-sml;
102
- margin-left: $split-button-pip-left-sml;
102
+ margin-#{$default-float}: $split-button-pip-default-float-sml;
103
103
  }
104
104
  }
105
105
  }
106
106
 
107
107
  // Style of the button and clickable area for default (medium) sizes
108
108
  @else if $padding == medium {
109
- padding-#{$default-opposite}: $split-button-padding-med;
109
+ padding-#{$opposite-direction}: $split-button-padding-med;
110
110
 
111
111
  span { width: $split-button-span-width-med;
112
112
  &:before {
113
113
  border-width: $split-button-pip-size-med;
114
114
  top: $split-button-pip-top-med;
115
- margin-left: $split-button-pip-left-med;
115
+ margin-#{$default-float}: $split-button-pip-default-float-med;
116
116
  }
117
117
  }
118
118
  }
119
119
 
120
120
  // Style of the button and clickable area for large sizes
121
121
  @else if $padding == large {
122
- padding-#{$default-opposite}: $split-button-padding-lrg;
122
+ padding-#{$opposite-direction}: $split-button-padding-lrg;
123
123
 
124
124
  span { width: $split-button-span-width-lrg;
125
125
  &:before {
126
126
  border-width: $split-button-pip-size-lrg;
127
127
  top: $split-button-pip-top-lrg;
128
- margin-left: $split-button-pip-left-lrg;
128
+ margin-#{$default-float}: $split-button-pip-default-float-lrg;
129
129
  }
130
130
  }
131
131
  }
@@ -152,8 +152,8 @@ $split-button-pip-left-lrg: emCalc(-9px) !default;
152
152
 
153
153
  &.secondary { @include split-button(false, $split-button-pip-color-alt, false, false); }
154
154
 
155
- &.radius span { @include side-radius(right, $global-radius); }
156
- &.round span { @include side-radius(right, 1000px); }
155
+ &.radius span { @include side-radius($opposite-direction, $global-radius); }
156
+ &.round span { @include side-radius($opposite-direction, 1000px); }
157
157
  }
158
158
 
159
159
  }
@@ -30,7 +30,7 @@ $sub-nav-active-cursor: default !default;
30
30
  overflow: hidden;
31
31
  margin: $sub-nav-list-margin;
32
32
  padding-top: $sub-nav-list-padding-top;
33
- margin-#{$default-opposite}: 0;
33
+ margin-#{$opposite-direction}: 0;
34
34
  margin-#{$default-float}: emCalc(-9px);
35
35
 
36
36
  dt,
@@ -57,15 +57,14 @@ $switch-label-outline: 1px dotted #888 !default;
57
57
  // Default label styles for type and transition
58
58
  label {
59
59
  position: relative;
60
- left: 0;
60
+ #{$default-float}: 0;
61
61
  z-index: 2;
62
- float: left;
62
+ float: $default-float;
63
63
  width: 50%;
64
64
  height: 100%;
65
65
  margin: 0;
66
- text-align: right;
67
66
  font-weight: bold;
68
- text-align: left;
67
+ text-align: $default-float;
69
68
 
70
69
  // Transition for the switch label to follow paddle
71
70
  @include single-transition(all, $transition-speed, $transition-ease);
@@ -91,7 +90,7 @@ $switch-label-outline: 1px dotted #888 !default;
91
90
  & > span {
92
91
  position: absolute;
93
92
  top: -1px;
94
- left: -1px;
93
+ #{$default-float}: -1px;
95
94
  z-index: 1;
96
95
  display: block;
97
96
  padding: 0;
@@ -107,19 +106,19 @@ $switch-label-outline: 1px dotted #888 !default;
107
106
 
108
107
  // Controlling the position of the labels as they are toggled.
109
108
  input:checked { display: none !important; }
110
- input { left: 0; display: block !important; }
109
+ input { #{$default-float}: 0; display: block !important; }
111
110
 
112
111
  // Left Label alignment and position changes, including fixes for while inside a custom form
113
112
  input:first-of-type + label,
114
- input:first-of-type + span + label { left: -50%; }
113
+ input:first-of-type + span + label { #{$default-float}: -50%; }
115
114
  input:first-of-type:checked + label,
116
- input:first-of-type:checked + span + label { left: 0%; }
115
+ input:first-of-type:checked + span + label { #{$default-float}: 0%; }
117
116
 
118
117
  // Right Label alignment and position changes, including fixes for while inside a custom form
119
118
  input:last-of-type + label,
120
- input:last-of-type + span + label { right: -50%; left: auto; text-align: right; }
119
+ input:last-of-type + span + label {#{$opposite-direction}: -50%; #{$default-float}: auto; text-align: $opposite-direction; }
121
120
  input:last-of-type:checked + label,
122
- input:last-of-type:checked + span + label { right: 0%; left: auto; }
121
+ input:last-of-type:checked + span + label { #{$opposite-direction}: 0%; #{$default-float}: auto; }
123
122
 
124
123
  // Hiding custom form spans since we auto-create them
125
124
  span.custom { display: none !important; }
@@ -144,8 +143,8 @@ $switch-label-outline: 1px dotted #888 !default;
144
143
  input {
145
144
  // Move the paddle to the right position
146
145
  &:first-of-type:checked ~ span {
147
- left: 100%;
148
- margin-left: emCalc(-$height + 1px);
146
+ #{$default-float}: 100%;
147
+ margin-#{$default-float}: emCalc(-$height + 1px);
149
148
  }
150
149
  }
151
150