foundation-scss 6.3.1.0

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 (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
+ }