foundation-scss 6.3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  3. data/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  4. data/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  5. data/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  6. data/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  7. data/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  8. data/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  9. data/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  10. data/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  11. data/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  12. data/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  13. data/foundation-scss.gemspec +9 -0
  14. data/lib/foundation/scss/in/sass_path.rb +6 -0
  15. data/scss/_global.scss +219 -0
  16. data/scss/components/_accordion-menu.scss +36 -0
  17. data/scss/components/_accordion.scss +150 -0
  18. data/scss/components/_badge.scss +63 -0
  19. data/scss/components/_breadcrumbs.scss +100 -0
  20. data/scss/components/_button-group.scss +253 -0
  21. data/scss/components/_button.scss +332 -0
  22. data/scss/components/_callout.scss +106 -0
  23. data/scss/components/_card.scss +121 -0
  24. data/scss/components/_close-button.scss +102 -0
  25. data/scss/components/_drilldown.scss +93 -0
  26. data/scss/components/_dropdown-menu.scss +226 -0
  27. data/scss/components/_dropdown.scss +72 -0
  28. data/scss/components/_flex-video.scss +1 -0
  29. data/scss/components/_flex.scss +34 -0
  30. data/scss/components/_float.scss +27 -0
  31. data/scss/components/_label.scss +64 -0
  32. data/scss/components/_media-object.scss +114 -0
  33. data/scss/components/_menu-icon.scss +9 -0
  34. data/scss/components/_menu.scss +376 -0
  35. data/scss/components/_off-canvas.scss +329 -0
  36. data/scss/components/_orbit.scss +196 -0
  37. data/scss/components/_pagination.scss +193 -0
  38. data/scss/components/_progress-bar.scss +64 -0
  39. data/scss/components/_responsive-embed.scss +70 -0
  40. data/scss/components/_reveal.scss +178 -0
  41. data/scss/components/_slider.scss +138 -0
  42. data/scss/components/_sticky.scss +38 -0
  43. data/scss/components/_switch.scss +247 -0
  44. data/scss/components/_table.scss +329 -0
  45. data/scss/components/_tabs.scss +196 -0
  46. data/scss/components/_thumbnail.scss +67 -0
  47. data/scss/components/_title-bar.scss +84 -0
  48. data/scss/components/_tooltip.scss +107 -0
  49. data/scss/components/_top-bar.scss +173 -0
  50. data/scss/components/_visibility.scss +132 -0
  51. data/scss/forms/_checkbox.scss +41 -0
  52. data/scss/forms/_error.scss +88 -0
  53. data/scss/forms/_fieldset.scss +54 -0
  54. data/scss/forms/_forms.scss +34 -0
  55. data/scss/forms/_help-text.scss +30 -0
  56. data/scss/forms/_input-group.scss +135 -0
  57. data/scss/forms/_label.scss +50 -0
  58. data/scss/forms/_meter.scss +110 -0
  59. data/scss/forms/_progress.scss +94 -0
  60. data/scss/forms/_range.scss +149 -0
  61. data/scss/forms/_select.scss +85 -0
  62. data/scss/forms/_text.scss +170 -0
  63. data/scss/foundation.scss +118 -0
  64. data/scss/grid/_classes.scss +176 -0
  65. data/scss/grid/_column.scss +112 -0
  66. data/scss/grid/_flex-grid.scss +312 -0
  67. data/scss/grid/_grid.scss +48 -0
  68. data/scss/grid/_gutter.scss +82 -0
  69. data/scss/grid/_layout.scss +76 -0
  70. data/scss/grid/_position.scss +76 -0
  71. data/scss/grid/_row.scss +99 -0
  72. data/scss/grid/_size.scss +24 -0
  73. data/scss/settings/_settings.scss +620 -0
  74. data/scss/typography/_alignment.scss +22 -0
  75. data/scss/typography/_base.scss +509 -0
  76. data/scss/typography/_helpers.scss +78 -0
  77. data/scss/typography/_print.scss +86 -0
  78. data/scss/typography/_typography.scss +26 -0
  79. data/scss/util/_breakpoint.scss +281 -0
  80. data/scss/util/_color.scss +126 -0
  81. data/scss/util/_direction.scss +31 -0
  82. data/scss/util/_flex.scss +85 -0
  83. data/scss/util/_math.scss +72 -0
  84. data/scss/util/_mixins.scss +276 -0
  85. data/scss/util/_selector.scss +41 -0
  86. data/scss/util/_typography.scss +26 -0
  87. data/scss/util/_unit.scss +152 -0
  88. data/scss/util/_util.scss +14 -0
  89. data/scss/util/_value.scss +160 -0
  90. metadata +144 -0
@@ -0,0 +1,173 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group top-bar
7
+ ////
8
+
9
+ /// Padding for the top bar.
10
+ /// @type Number
11
+ $topbar-padding: 0.5rem !default;
12
+
13
+ /// Background color for the top bar. This color also cascades to menus within the top bar.
14
+ /// @type Color
15
+ $topbar-background: $light-gray !default;
16
+
17
+ /// Background color submenus within the top bar. Usefull if $topbar-background is transparent.
18
+ /// @type Color
19
+ $topbar-submenu-background: $topbar-background !default;
20
+
21
+ /// Spacing for the top bar title.
22
+ /// @type Number
23
+ $topbar-title-spacing: 0.5rem 1rem 0.5rem 0 !default;
24
+
25
+ /// Maximum width of `<input>` elements inside the top bar.
26
+ /// @type Number
27
+ $topbar-input-width: 200px !default;
28
+
29
+ /// Breakpoint at which top bar switches from mobile to desktop view.
30
+ /// @type Breakpoint
31
+ $topbar-unstack-breakpoint: medium !default;
32
+
33
+ /// Adds styles for a top bar container.
34
+ @mixin top-bar-container {
35
+ @if $global-flexbox {
36
+ display: flex;
37
+ flex-wrap: nowrap;
38
+ justify-content: space-between;
39
+ align-items: center;
40
+ }
41
+ @else {
42
+ @include clearfix;
43
+ }
44
+
45
+ padding: $topbar-padding;
46
+
47
+ &,
48
+ ul {
49
+ background-color: $topbar-background;
50
+ }
51
+
52
+ // Check if $topbar-background is differnt from $topbar-background-submenu
53
+ @if ($topbar-background != $topbar-submenu-background) {
54
+ ul ul {
55
+ background-color: $topbar-submenu-background;
56
+ }
57
+ }
58
+
59
+ // Restrain width of inputs by default to make them easier to arrange
60
+ input {
61
+ max-width: $topbar-input-width;
62
+ margin-#{$global-right}: 1rem;
63
+ }
64
+
65
+ // The above styles shouldn't apply to input group fields
66
+ .input-group-field {
67
+ width: 100%;
68
+ margin-#{$global-right}: 0;
69
+ }
70
+
71
+ input.button { // sass-lint:disable-line no-qualifying-elements
72
+ width: auto;
73
+ }
74
+ }
75
+
76
+ /// Makes sections of a top bar stack on top of each other.
77
+ @mixin top-bar-stacked {
78
+ @if $global-flexbox {
79
+ flex-wrap: wrap;
80
+
81
+ // Sub-sections
82
+ .top-bar-left,
83
+ .top-bar-right {
84
+ flex: 0 0 100%;
85
+ max-width: 100%;
86
+ }
87
+ }
88
+ @else {
89
+ // Sub-sections
90
+ .top-bar-left,
91
+ .top-bar-right {
92
+ width: 100%;
93
+ }
94
+ }
95
+ }
96
+
97
+ /// Undoes the CSS applied by the `top-bar-stacked()` mixin.
98
+ @mixin top-bar-unstack {
99
+ @if $global-flexbox {
100
+ flex-wrap: nowrap;
101
+
102
+ .top-bar-left {
103
+ flex: 1 1 auto;
104
+ }
105
+
106
+ .top-bar-right {
107
+ flex: 0 1 auto;
108
+ }
109
+ }
110
+ @else {
111
+ .top-bar-left,
112
+ .top-bar-right {
113
+ width: auto;
114
+ }
115
+ }
116
+ }
117
+
118
+ @mixin foundation-top-bar {
119
+ // Top bar container
120
+ .top-bar {
121
+ @include top-bar-container;
122
+
123
+ // Stack on small screens by default
124
+ @include top-bar-stacked;
125
+
126
+ @include breakpoint($topbar-unstack-breakpoint) {
127
+ @include top-bar-unstack;
128
+ }
129
+
130
+ // Generate classes for stacking on each screen size (defined in $breakpoint-classes)
131
+ @each $size in $breakpoint-classes {
132
+ @if $size != $-zf-zero-breakpoint {
133
+ &.stacked-for-#{$size} {
134
+ @include breakpoint($size down) {
135
+ @include top-bar-stacked;
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ // Sub-sections
143
+ @if $global-flexbox {
144
+ .top-bar-title {
145
+ flex: 0 0 auto;
146
+ margin: $topbar-title-spacing;
147
+ }
148
+
149
+ .top-bar-left,
150
+ .top-bar-right {
151
+ flex: 0 0 auto;
152
+ }
153
+ }
154
+ @else {
155
+ .top-bar-title {
156
+ display: inline-block;
157
+ float: left;
158
+ padding: $topbar-title-spacing;
159
+
160
+ .menu-icon {
161
+ bottom: 2px;
162
+ }
163
+ }
164
+
165
+ .top-bar-left {
166
+ float: left;
167
+ }
168
+
169
+ .top-bar-right {
170
+ float: right;
171
+ }
172
+ }
173
+ }
@@ -0,0 +1,132 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ /// Hide an element by default, only displaying it above a certain screen size.
6
+ /// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
7
+ @mixin show-for($size) {
8
+ $size: map-get($breakpoints, $size);
9
+ $size: -zf-bp-to-em($size) - (1 / 16);
10
+
11
+ @include breakpoint($size down) {
12
+ display: none !important;
13
+ }
14
+ }
15
+
16
+ /// Hide an element by default, only displaying it within a certain breakpoint.
17
+ /// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
18
+ @mixin show-for-only($size) {
19
+ $lower-bound-size: map-get($breakpoints, $size);
20
+ $upper-bound-size: -zf-map-next($breakpoints, $size);
21
+
22
+ // more often than not this will be correct, just one time round the loop it won't so set in scope here
23
+ $lower-bound: -zf-bp-to-em($lower-bound-size) - (1 / 16);
24
+ // test actual lower-bound-size, if 0 set it to 0em
25
+ @if strip-unit($lower-bound-size) == 0 {
26
+ $lower-bound: -zf-bp-to-em($lower-bound-size);
27
+ }
28
+
29
+ @if $upper-bound-size == null {
30
+ @media screen and (max-width: $lower-bound) {
31
+ display: none !important;
32
+ }
33
+ }
34
+ @else {
35
+ $upper-bound: -zf-bp-to-em($upper-bound-size);
36
+
37
+ @media screen and (max-width: $lower-bound), screen and (min-width: $upper-bound) {
38
+ display: none !important;
39
+ }
40
+ }
41
+ }
42
+
43
+
44
+ /// Show an element by default, and hide it above a certain screen size.
45
+ /// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
46
+ @mixin hide-for($size) {
47
+ @include breakpoint($size) {
48
+ display: none !important;
49
+ }
50
+ }
51
+
52
+ /// Show an element by default, and hide it above a certain screen size.
53
+ /// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
54
+ @mixin hide-for-only($size) {
55
+ @include breakpoint($size only) {
56
+ display: none !important;
57
+ }
58
+ }
59
+
60
+ @mixin foundation-visibility-classes {
61
+ // Basic hiding classes
62
+ .hide {
63
+ display: none !important;
64
+ }
65
+
66
+ .invisible {
67
+ visibility: hidden;
68
+ }
69
+
70
+ // Responsive visibility classes
71
+ @each $size in $breakpoint-classes {
72
+ @if $size != $-zf-zero-breakpoint {
73
+ .hide-for-#{$size} {
74
+ @include hide-for($size);
75
+ }
76
+
77
+ .show-for-#{$size} {
78
+ @include show-for($size);
79
+ }
80
+ }
81
+
82
+ .hide-for-#{$size}-only {
83
+ @include hide-for-only($size);
84
+ }
85
+
86
+ .show-for-#{$size}-only {
87
+ @include show-for-only($size);
88
+ }
89
+ }
90
+
91
+ // Screen reader visibility classes
92
+ // Need a "hide-for-sr" class? Add aria-hidden='true' to the element
93
+ .show-for-sr,
94
+ .show-on-focus {
95
+ @include element-invisible;
96
+ }
97
+
98
+ // Only display the element when it's focused
99
+ .show-on-focus {
100
+ &:active,
101
+ &:focus {
102
+ @include element-invisible-off;
103
+ }
104
+ }
105
+
106
+ // Landscape and portrait visibility
107
+ .show-for-landscape,
108
+ .hide-for-portrait {
109
+ display: block !important;
110
+
111
+ @include breakpoint(landscape) {
112
+ display: block !important;
113
+ }
114
+
115
+ @include breakpoint(portrait) {
116
+ display: none !important;
117
+ }
118
+ }
119
+
120
+ .hide-for-landscape,
121
+ .show-for-portrait {
122
+ display: none !important;
123
+
124
+ @include breakpoint(landscape) {
125
+ display: none !important;
126
+ }
127
+
128
+ @include breakpoint(portrait) {
129
+ display: block !important;
130
+ }
131
+ }
132
+ }
@@ -0,0 +1,41 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group forms
7
+ ////
8
+
9
+ @mixin foundation-form-checkbox {
10
+ [type='file'],
11
+ [type='checkbox'],
12
+ [type='radio'] {
13
+ margin: 0 0 $form-spacing;
14
+ }
15
+
16
+ // Styles for input/label siblings
17
+ [type='checkbox'] + label,
18
+ [type='radio'] + label {
19
+ display: inline-block;
20
+ vertical-align: baseline;
21
+
22
+ margin-#{$global-left}: $form-spacing * 0.5;
23
+ margin-#{$global-right}: $form-spacing;
24
+ margin-bottom: 0;
25
+
26
+ &[for] {
27
+ cursor: pointer;
28
+ }
29
+ }
30
+
31
+ // Styles for inputs inside labels
32
+ label > [type='checkbox'],
33
+ label > [type='radio'] {
34
+ margin-#{$global-right}: $form-spacing * 0.5;
35
+ }
36
+
37
+ // Normalize file input width
38
+ [type='file'] {
39
+ width: 100%;
40
+ }
41
+ }
@@ -0,0 +1,88 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group abide
7
+ ////
8
+
9
+ /// Sets if error styles should be added to inputs.
10
+ /// @type Boolean
11
+ $abide-inputs: true !default;
12
+
13
+ /// Sets if error styles should be added to labels.
14
+ /// @type Boolean
15
+ $abide-labels: true !default;
16
+
17
+ /// Background color to use for invalid text inputs.
18
+ /// @type Color
19
+ $input-background-invalid: get-color(alert) !default;
20
+
21
+ /// Color to use for labels of invalid inputs.
22
+ /// @type Color
23
+ $form-label-color-invalid: get-color(alert) !default;
24
+
25
+ /// Default font color for form error text.
26
+ /// @type Color
27
+ $input-error-color: get-color(alert) !default;
28
+
29
+ /// Default font size for form error text.
30
+ /// @type Number
31
+ $input-error-font-size: rem-calc(12) !default;
32
+
33
+ /// Default font weight for form error text.
34
+ /// @type Keyword
35
+ $input-error-font-weight: $global-weight-bold !default;
36
+
37
+ /// Styles the background and border of an input field to have an error state.
38
+ ///
39
+ /// @param {Color} $background [$alert-color] - Color to use for the background and border.
40
+ /// @param {Number} $background-lighten [10%] - Lightness level of the background color.
41
+ @mixin form-input-error(
42
+ $background: $input-background-invalid,
43
+ $background-lighten: 10%
44
+ ) {
45
+ &:not(:focus) {
46
+ border-color: $background;
47
+ background-color: mix($background, $white, $background-lighten);
48
+ &::placeholder {
49
+ color: $background;
50
+ }
51
+ }
52
+ }
53
+
54
+ /// Adds error styles to a form element, using the values in the settings file.
55
+ @mixin form-error {
56
+ display: none;
57
+ margin-top: $form-spacing * -0.5;
58
+ margin-bottom: $form-spacing;
59
+
60
+ font-size: $input-error-font-size;
61
+ font-weight: $input-error-font-weight;
62
+ color: $input-error-color;
63
+ }
64
+
65
+ @mixin foundation-form-error {
66
+ @if $abide-inputs {
67
+ // Error class for invalid inputs
68
+ .is-invalid-input {
69
+ @include form-input-error;
70
+ }
71
+ }
72
+
73
+ @if $abide-labels {
74
+ // Error class for labels of invalid outputs
75
+ .is-invalid-label {
76
+ color: $form-label-color-invalid;
77
+ }
78
+ }
79
+
80
+ // Form error element
81
+ .form-error {
82
+ @include form-error;
83
+
84
+ &.is-visible {
85
+ display: block;
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,54 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group forms
7
+ ////
8
+
9
+ /// Default border around custom fieldsets.
10
+ /// @type Border
11
+ $fieldset-border: 1px solid $medium-gray !default;
12
+
13
+ /// Default padding inside custom fieldsets.
14
+ /// @type Number
15
+ $fieldset-padding: rem-calc(20) !default;
16
+
17
+ /// Default margin around custom fieldsets.
18
+ /// @type Number
19
+ $fieldset-margin: rem-calc(18 0) !default;
20
+
21
+ /// Default padding between the legend text and fieldset border.
22
+ /// @type Number
23
+ $legend-padding: rem-calc(0 3) !default;
24
+
25
+ @mixin fieldset {
26
+ margin: $fieldset-margin;
27
+ padding: $fieldset-padding;
28
+ border: $fieldset-border;
29
+
30
+ legend {
31
+ // Covers up the fieldset's border to create artificial padding
32
+ margin: 0;
33
+ margin-#{$global-left}: rem-calc(-3);
34
+ padding: $legend-padding;
35
+ background: $body-background;
36
+ }
37
+ }
38
+
39
+ @mixin foundation-form-fieldset {
40
+ fieldset {
41
+ margin: 0;
42
+ padding: 0;
43
+ border: 0;
44
+ }
45
+
46
+ legend {
47
+ max-width: 100%;
48
+ margin-bottom: $form-spacing * 0.5;
49
+ }
50
+
51
+ .fieldset {
52
+ @include fieldset;
53
+ }
54
+ }