minimal-mistakes-jekyll 4.8.0 → 4.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -2
- data/LICENSE.txt +59 -59
- data/README.md +1 -3
- data/_data/navigation.yml +11 -11
- data/_data/ui-text.yml +977 -932
- data/_includes/analytics-providers/custom.html +2 -2
- data/_includes/analytics-providers/google-universal.html +9 -9
- data/_includes/analytics-providers/google.html +10 -10
- data/_includes/analytics.html +11 -11
- data/_includes/archive-single.html +37 -37
- data/_includes/author-profile-custom-links.html +6 -6
- data/_includes/author-profile.html +266 -249
- data/_includes/base_path +4 -4
- data/_includes/breadcrumbs.html +39 -39
- data/_includes/browser-upgrade.html +3 -3
- data/_includes/category-list.html +25 -25
- data/_includes/comment.html +22 -22
- data/_includes/comments-providers/custom.html +2 -2
- data/_includes/comments-providers/discourse.html +13 -13
- data/_includes/comments-providers/facebook.html +7 -7
- data/_includes/comments-providers/google-plus.html +1 -1
- data/_includes/comments-providers/staticman.html +41 -41
- data/_includes/comments-providers/staticman_v2.html +41 -41
- data/_includes/feature_row +49 -49
- data/_includes/figure +12 -12
- data/_includes/footer.html +25 -25
- data/_includes/footer/custom.html +2 -2
- data/_includes/gallery +46 -46
- data/_includes/group-by-array +46 -46
- data/_includes/head.html +42 -42
- data/_includes/head/custom.html +4 -4
- data/_includes/masthead.html +32 -32
- data/_includes/nav_list +46 -46
- data/_includes/page__hero_video.html +4 -4
- data/_includes/page__taxonomy.html +6 -6
- data/_includes/paginator.html +69 -69
- data/_includes/post_pagination.html +13 -13
- data/_includes/read-time.html +14 -14
- data/_includes/scripts.html +20 -20
- data/_includes/search_form.html +3 -3
- data/_includes/seo.html +162 -162
- data/_includes/sidebar.html +22 -22
- data/_includes/social-share.html +13 -13
- data/_includes/tag-list.html +25 -25
- data/_includes/toc +6 -6
- data/_includes/toc.html +74 -74
- data/_includes/video +11 -11
- data/_layouts/archive-taxonomy.html +14 -14
- data/_layouts/compress.html +10 -10
- data/_layouts/default.html +1 -1
- data/_layouts/home.html +11 -11
- data/_layouts/search.html +32 -32
- data/_layouts/single.html +92 -92
- data/_layouts/splash.html +21 -21
- data/_sass/minimal-mistakes.scss +1 -1
- data/_sass/minimal-mistakes/_animations.scss +20 -20
- data/_sass/minimal-mistakes/_archive.scss +310 -310
- data/_sass/minimal-mistakes/_base.scss +360 -360
- data/_sass/minimal-mistakes/_buttons.scss +97 -97
- data/_sass/minimal-mistakes/_footer.scss +82 -82
- data/_sass/minimal-mistakes/_masthead.scss +83 -83
- data/_sass/minimal-mistakes/_mixins.scss +91 -91
- data/_sass/minimal-mistakes/_navigation.scss +540 -540
- data/_sass/minimal-mistakes/_notices.scss +99 -99
- data/_sass/minimal-mistakes/_page.scss +426 -426
- data/_sass/minimal-mistakes/_search.scss +107 -107
- data/_sass/minimal-mistakes/_sidebar.scss +267 -262
- data/_sass/minimal-mistakes/_tables.scss +36 -36
- data/_sass/minimal-mistakes/_utilities.scss +516 -516
- data/_sass/minimal-mistakes/_variables.scss +137 -137
- data/_sass/minimal-mistakes/skins/_air.scss +22 -22
- data/_sass/minimal-mistakes/skins/_aqua.scss +29 -29
- data/_sass/minimal-mistakes/skins/_contrast.scss +33 -33
- data/_sass/minimal-mistakes/skins/_dark.scss +23 -23
- data/_sass/minimal-mistakes/skins/_default.scss +5 -5
- data/_sass/minimal-mistakes/skins/_dirt.scss +14 -14
- data/_sass/minimal-mistakes/skins/_mint.scss +22 -22
- data/_sass/minimal-mistakes/skins/_sunrise.scss +25 -25
- data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -114
- data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +94 -94
- data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -151
- data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +49 -49
- data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -15
- data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -215
- data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -82
- data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +70 -70
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -33
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -82
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -31
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -26
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -36
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -22
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -13
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -18
- data/_sass/minimal-mistakes/vendor/font-awesome/_animated.scss +34 -34
- data/_sass/minimal-mistakes/vendor/font-awesome/_bordered-pulled.scss +25 -25
- data/_sass/minimal-mistakes/vendor/font-awesome/_core.scss +12 -12
- data/_sass/minimal-mistakes/vendor/font-awesome/_fixed-width.scss +6 -6
- data/_sass/minimal-mistakes/vendor/font-awesome/_font-awesome.scss +18 -18
- data/_sass/minimal-mistakes/vendor/font-awesome/_icons.scss +789 -789
- data/_sass/minimal-mistakes/vendor/font-awesome/_larger.scss +13 -13
- data/_sass/minimal-mistakes/vendor/font-awesome/_list.scss +19 -19
- data/_sass/minimal-mistakes/vendor/font-awesome/_mixins.scss +60 -60
- data/_sass/minimal-mistakes/vendor/font-awesome/_path.scss +15 -15
- data/_sass/minimal-mistakes/vendor/font-awesome/_rotated-flipped.scss +20 -20
- data/_sass/minimal-mistakes/vendor/font-awesome/_screen-reader.scss +5 -5
- data/_sass/minimal-mistakes/vendor/font-awesome/_stacked.scss +20 -20
- data/_sass/minimal-mistakes/vendor/font-awesome/_variables.scss +800 -800
- data/_sass/minimal-mistakes/vendor/magnific-popup/_magnific-popup.scss +649 -649
- data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +45 -45
- data/_sass/minimal-mistakes/vendor/susy/_susy-prefix.scss +13 -13
- data/_sass/minimal-mistakes/vendor/susy/_susy.scss +5 -5
- data/_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss +5 -5
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss +7 -7
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -114
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -67
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -14
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -18
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -133
- data/_sass/minimal-mistakes/vendor/susy/susy/_api.scss +318 -318
- data/_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss +261 -261
- data/_sass/minimal-mistakes/vendor/susy/susy/_parse.scss +163 -163
- data/_sass/minimal-mistakes/vendor/susy/susy/_settings.scss +329 -329
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss +441 -441
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss +213 -213
- data/_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss +191 -191
- data/_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss +56 -56
- data/_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss +167 -167
- data/assets/css/main.scss +7 -7
- data/assets/fonts/fontawesome-webfont.svg +2671 -2671
- data/assets/js/_main.js +85 -85
- data/assets/js/lunr-en.js +104 -93
- data/assets/js/lunr.min.js +2977 -7
- data/assets/js/main.min.js +5 -5
- data/assets/js/plugins/jquery.fitvids.js +81 -81
- data/assets/js/plugins/jquery.greedy-navigation.js +83 -83
- metadata +3 -3
@@ -1,151 +1,151 @@
|
|
1
|
-
//////////////////////////////
|
2
|
-
// Converts the input value to Base EMs
|
3
|
-
//////////////////////////////
|
4
|
-
@function breakpoint-to-base-em($value) {
|
5
|
-
$value-unit: unit($value);
|
6
|
-
|
7
|
-
// Will convert relative EMs into root EMs.
|
8
|
-
@if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' {
|
9
|
-
$base-unit: unit(breakpoint-get('base font size'));
|
10
|
-
|
11
|
-
@if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' {
|
12
|
-
@return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em;
|
13
|
-
}
|
14
|
-
@else {
|
15
|
-
@warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!';
|
16
|
-
@return false;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
@else {
|
20
|
-
@return base-conversion($value);
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
@function base-conversion($value) {
|
25
|
-
$unit: unit($value);
|
26
|
-
|
27
|
-
@if $unit == 'px' {
|
28
|
-
@return $value / 16px * 1em;
|
29
|
-
}
|
30
|
-
@else if $unit == '%' {
|
31
|
-
@return $value / 100% * 1em;
|
32
|
-
}
|
33
|
-
@else if $unit == 'em' {
|
34
|
-
@return $value;
|
35
|
-
}
|
36
|
-
@else if $unit == 'pt' {
|
37
|
-
@return $value / 12pt * 1em;
|
38
|
-
}
|
39
|
-
@else {
|
40
|
-
@return $value;
|
41
|
-
// @warn 'Everything is terrible! What have you done?!';
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
//////////////////////////////
|
46
|
-
// Returns whether the feature can have a min/max pair
|
47
|
-
//////////////////////////////
|
48
|
-
$breakpoint-min-max-features: 'color',
|
49
|
-
'color-index',
|
50
|
-
'aspect-ratio',
|
51
|
-
'device-aspect-ratio',
|
52
|
-
'device-height',
|
53
|
-
'device-width',
|
54
|
-
'height',
|
55
|
-
'monochrome',
|
56
|
-
'resolution',
|
57
|
-
'width';
|
58
|
-
|
59
|
-
@function breakpoint-min-max($feature) {
|
60
|
-
@each $item in $breakpoint-min-max-features {
|
61
|
-
@if $feature == $item {
|
62
|
-
@return true;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
@return false;
|
66
|
-
}
|
67
|
-
|
68
|
-
//////////////////////////////
|
69
|
-
// Returns whether the feature can have a string value
|
70
|
-
//////////////////////////////
|
71
|
-
$breakpoint-string-features: 'orientation',
|
72
|
-
'scan',
|
73
|
-
'color',
|
74
|
-
'aspect-ratio',
|
75
|
-
'device-aspect-ratio',
|
76
|
-
'pointer',
|
77
|
-
'luminosity';
|
78
|
-
|
79
|
-
@function breakpoint-string-value($feature) {
|
80
|
-
@each $item in $breakpoint-string-features {
|
81
|
-
@if breakpoint-min-max($item) {
|
82
|
-
@if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' {
|
83
|
-
@return true;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
@else if $feature == $item {
|
87
|
-
@return true;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
@return false;
|
91
|
-
}
|
92
|
-
|
93
|
-
//////////////////////////////
|
94
|
-
// Returns whether the feature is a media type
|
95
|
-
//////////////////////////////
|
96
|
-
$breakpoint-media-types: 'all',
|
97
|
-
'braille',
|
98
|
-
'embossed',
|
99
|
-
'handheld',
|
100
|
-
'print',
|
101
|
-
'projection',
|
102
|
-
'screen',
|
103
|
-
'speech',
|
104
|
-
'tty',
|
105
|
-
'tv';
|
106
|
-
|
107
|
-
@function breakpoint-is-media($feature) {
|
108
|
-
@each $media in $breakpoint-media-types {
|
109
|
-
@if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') {
|
110
|
-
@return true;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
@return false;
|
115
|
-
}
|
116
|
-
|
117
|
-
//////////////////////////////
|
118
|
-
// Returns whether the feature can stand alone
|
119
|
-
//////////////////////////////
|
120
|
-
$breakpoint-single-string-features: 'color',
|
121
|
-
'color-index',
|
122
|
-
'grid',
|
123
|
-
'monochrome';
|
124
|
-
|
125
|
-
@function breakpoint-single-string($feature) {
|
126
|
-
@each $item in $breakpoint-single-string-features {
|
127
|
-
@if $feature == $item {
|
128
|
-
@return true;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
@return false;
|
132
|
-
}
|
133
|
-
|
134
|
-
//////////////////////////////
|
135
|
-
// Returns whether the feature
|
136
|
-
//////////////////////////////
|
137
|
-
@function breakpoint-is-resolution($feature) {
|
138
|
-
$resolutions: 'device-pixel-ratio', 'dpr';
|
139
|
-
|
140
|
-
@if breakpoint-get('transform resolutions') {
|
141
|
-
$resolutions: append($resolutions, 'resolution');
|
142
|
-
}
|
143
|
-
|
144
|
-
@each $reso in $resolutions {
|
145
|
-
@if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') {
|
146
|
-
@return true;
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
@return false;
|
151
|
-
}
|
1
|
+
//////////////////////////////
|
2
|
+
// Converts the input value to Base EMs
|
3
|
+
//////////////////////////////
|
4
|
+
@function breakpoint-to-base-em($value) {
|
5
|
+
$value-unit: unit($value);
|
6
|
+
|
7
|
+
// Will convert relative EMs into root EMs.
|
8
|
+
@if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' {
|
9
|
+
$base-unit: unit(breakpoint-get('base font size'));
|
10
|
+
|
11
|
+
@if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' {
|
12
|
+
@return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em;
|
13
|
+
}
|
14
|
+
@else {
|
15
|
+
@warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!';
|
16
|
+
@return false;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
@else {
|
20
|
+
@return base-conversion($value);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
@function base-conversion($value) {
|
25
|
+
$unit: unit($value);
|
26
|
+
|
27
|
+
@if $unit == 'px' {
|
28
|
+
@return $value / 16px * 1em;
|
29
|
+
}
|
30
|
+
@else if $unit == '%' {
|
31
|
+
@return $value / 100% * 1em;
|
32
|
+
}
|
33
|
+
@else if $unit == 'em' {
|
34
|
+
@return $value;
|
35
|
+
}
|
36
|
+
@else if $unit == 'pt' {
|
37
|
+
@return $value / 12pt * 1em;
|
38
|
+
}
|
39
|
+
@else {
|
40
|
+
@return $value;
|
41
|
+
// @warn 'Everything is terrible! What have you done?!';
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
//////////////////////////////
|
46
|
+
// Returns whether the feature can have a min/max pair
|
47
|
+
//////////////////////////////
|
48
|
+
$breakpoint-min-max-features: 'color',
|
49
|
+
'color-index',
|
50
|
+
'aspect-ratio',
|
51
|
+
'device-aspect-ratio',
|
52
|
+
'device-height',
|
53
|
+
'device-width',
|
54
|
+
'height',
|
55
|
+
'monochrome',
|
56
|
+
'resolution',
|
57
|
+
'width';
|
58
|
+
|
59
|
+
@function breakpoint-min-max($feature) {
|
60
|
+
@each $item in $breakpoint-min-max-features {
|
61
|
+
@if $feature == $item {
|
62
|
+
@return true;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
@return false;
|
66
|
+
}
|
67
|
+
|
68
|
+
//////////////////////////////
|
69
|
+
// Returns whether the feature can have a string value
|
70
|
+
//////////////////////////////
|
71
|
+
$breakpoint-string-features: 'orientation',
|
72
|
+
'scan',
|
73
|
+
'color',
|
74
|
+
'aspect-ratio',
|
75
|
+
'device-aspect-ratio',
|
76
|
+
'pointer',
|
77
|
+
'luminosity';
|
78
|
+
|
79
|
+
@function breakpoint-string-value($feature) {
|
80
|
+
@each $item in $breakpoint-string-features {
|
81
|
+
@if breakpoint-min-max($item) {
|
82
|
+
@if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' {
|
83
|
+
@return true;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
@else if $feature == $item {
|
87
|
+
@return true;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
@return false;
|
91
|
+
}
|
92
|
+
|
93
|
+
//////////////////////////////
|
94
|
+
// Returns whether the feature is a media type
|
95
|
+
//////////////////////////////
|
96
|
+
$breakpoint-media-types: 'all',
|
97
|
+
'braille',
|
98
|
+
'embossed',
|
99
|
+
'handheld',
|
100
|
+
'print',
|
101
|
+
'projection',
|
102
|
+
'screen',
|
103
|
+
'speech',
|
104
|
+
'tty',
|
105
|
+
'tv';
|
106
|
+
|
107
|
+
@function breakpoint-is-media($feature) {
|
108
|
+
@each $media in $breakpoint-media-types {
|
109
|
+
@if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') {
|
110
|
+
@return true;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
@return false;
|
115
|
+
}
|
116
|
+
|
117
|
+
//////////////////////////////
|
118
|
+
// Returns whether the feature can stand alone
|
119
|
+
//////////////////////////////
|
120
|
+
$breakpoint-single-string-features: 'color',
|
121
|
+
'color-index',
|
122
|
+
'grid',
|
123
|
+
'monochrome';
|
124
|
+
|
125
|
+
@function breakpoint-single-string($feature) {
|
126
|
+
@each $item in $breakpoint-single-string-features {
|
127
|
+
@if $feature == $item {
|
128
|
+
@return true;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
@return false;
|
132
|
+
}
|
133
|
+
|
134
|
+
//////////////////////////////
|
135
|
+
// Returns whether the feature
|
136
|
+
//////////////////////////////
|
137
|
+
@function breakpoint-is-resolution($feature) {
|
138
|
+
$resolutions: 'device-pixel-ratio', 'dpr';
|
139
|
+
|
140
|
+
@if breakpoint-get('transform resolutions') {
|
141
|
+
$resolutions: append($resolutions, 'resolution');
|
142
|
+
}
|
143
|
+
|
144
|
+
@each $reso in $resolutions {
|
145
|
+
@if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') {
|
146
|
+
@return true;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
@return false;
|
151
|
+
}
|
@@ -1,50 +1,50 @@
|
|
1
|
-
@mixin legacy-settings-warning {
|
2
|
-
$legacyVars: (
|
3
|
-
'default-media': 'default media',
|
4
|
-
'default-feature': 'default feature',
|
5
|
-
'force-media-all': 'force all media type',
|
6
|
-
'to-ems': 'to ems',
|
7
|
-
'resolutions': 'transform resolutions',
|
8
|
-
'no-queries': 'no queries',
|
9
|
-
'no-query-fallbacks': 'no query fallbacks',
|
10
|
-
'base-font-size': 'base font size',
|
11
|
-
'legacy-syntax': 'legacy syntax'
|
12
|
-
);
|
13
|
-
|
14
|
-
@each $legacy, $new in $legacyVars {
|
15
|
-
@if global-variable-exists('breakpoint-' + $legacy) {
|
16
|
-
@warn "In order to avoid variable namspace collisions, we have updated the way to change settings for Breakpoint. Please change all instances of `$breakpoint-#{$legacy}: {{setting}}` to `@include breakpoint-set('#{$new}', {{setting}})`. Variable settings, as well as this warning will be deprecated in a future release."
|
17
|
-
}
|
18
|
-
};
|
19
|
-
|
20
|
-
//////////////////////////////
|
21
|
-
// Hand correct each setting
|
22
|
-
//////////////////////////////
|
23
|
-
@if global-variable-exists('breakpoint-default-media') and $breakpoint-default-media != breakpoint-get('default media') {
|
24
|
-
@include breakpoint-set('default media', $breakpoint-default-media);
|
25
|
-
}
|
26
|
-
@if global-variable-exists('breakpoint-default-feature') and $breakpoint-default-feature != breakpoint-get('default feature') {
|
27
|
-
@include breakpoint-set('default feature', $breakpoint-default-feature);
|
28
|
-
}
|
29
|
-
@if global-variable-exists('breakpoint-force-media-all') and $breakpoint-force-media-all != breakpoint-get('force all media type') {
|
30
|
-
@include breakpoint-set('force all media type', $breakpoint-force-media-all);
|
31
|
-
}
|
32
|
-
@if global-variable-exists('breakpoint-to-ems') and $breakpoint-to-ems != breakpoint-get('to ems') {
|
33
|
-
@include breakpoint-set('to ems', $breakpoint-to-ems);
|
34
|
-
}
|
35
|
-
@if global-variable-exists('breakpoint-resolutions') and $breakpoint-resolutions != breakpoint-get('transform resolutions') {
|
36
|
-
@include breakpoint-set('transform resolutions', $breakpoint-resolutions);
|
37
|
-
}
|
38
|
-
@if global-variable-exists('breakpoint-no-queries') and $breakpoint-no-queries != breakpoint-get('no queries') {
|
39
|
-
@include breakpoint-set('no queries', $breakpoint-no-queries);
|
40
|
-
}
|
41
|
-
@if global-variable-exists('breakpoint-no-query-fallbacks') and $breakpoint-no-query-fallbacks != breakpoint-get('no query fallbacks') {
|
42
|
-
@include breakpoint-set('no query fallbacks', $breakpoint-no-query-fallbacks);
|
43
|
-
}
|
44
|
-
@if global-variable-exists('breakpoint-base-font-size') and $breakpoint-base-font-size != breakpoint-get('base font size') {
|
45
|
-
@include breakpoint-set('base font size', $breakpoint-base-font-size);
|
46
|
-
}
|
47
|
-
@if global-variable-exists('breakpoint-legacy-syntax') and $breakpoint-legacy-syntax != breakpoint-get('legacy syntax') {
|
48
|
-
@include breakpoint-set('legacy syntax', $breakpoint-legacy-syntax);
|
49
|
-
}
|
1
|
+
@mixin legacy-settings-warning {
|
2
|
+
$legacyVars: (
|
3
|
+
'default-media': 'default media',
|
4
|
+
'default-feature': 'default feature',
|
5
|
+
'force-media-all': 'force all media type',
|
6
|
+
'to-ems': 'to ems',
|
7
|
+
'resolutions': 'transform resolutions',
|
8
|
+
'no-queries': 'no queries',
|
9
|
+
'no-query-fallbacks': 'no query fallbacks',
|
10
|
+
'base-font-size': 'base font size',
|
11
|
+
'legacy-syntax': 'legacy syntax'
|
12
|
+
);
|
13
|
+
|
14
|
+
@each $legacy, $new in $legacyVars {
|
15
|
+
@if global-variable-exists('breakpoint-' + $legacy) {
|
16
|
+
@warn "In order to avoid variable namspace collisions, we have updated the way to change settings for Breakpoint. Please change all instances of `$breakpoint-#{$legacy}: {{setting}}` to `@include breakpoint-set('#{$new}', {{setting}})`. Variable settings, as well as this warning will be deprecated in a future release."
|
17
|
+
}
|
18
|
+
};
|
19
|
+
|
20
|
+
//////////////////////////////
|
21
|
+
// Hand correct each setting
|
22
|
+
//////////////////////////////
|
23
|
+
@if global-variable-exists('breakpoint-default-media') and $breakpoint-default-media != breakpoint-get('default media') {
|
24
|
+
@include breakpoint-set('default media', $breakpoint-default-media);
|
25
|
+
}
|
26
|
+
@if global-variable-exists('breakpoint-default-feature') and $breakpoint-default-feature != breakpoint-get('default feature') {
|
27
|
+
@include breakpoint-set('default feature', $breakpoint-default-feature);
|
28
|
+
}
|
29
|
+
@if global-variable-exists('breakpoint-force-media-all') and $breakpoint-force-media-all != breakpoint-get('force all media type') {
|
30
|
+
@include breakpoint-set('force all media type', $breakpoint-force-media-all);
|
31
|
+
}
|
32
|
+
@if global-variable-exists('breakpoint-to-ems') and $breakpoint-to-ems != breakpoint-get('to ems') {
|
33
|
+
@include breakpoint-set('to ems', $breakpoint-to-ems);
|
34
|
+
}
|
35
|
+
@if global-variable-exists('breakpoint-resolutions') and $breakpoint-resolutions != breakpoint-get('transform resolutions') {
|
36
|
+
@include breakpoint-set('transform resolutions', $breakpoint-resolutions);
|
37
|
+
}
|
38
|
+
@if global-variable-exists('breakpoint-no-queries') and $breakpoint-no-queries != breakpoint-get('no queries') {
|
39
|
+
@include breakpoint-set('no queries', $breakpoint-no-queries);
|
40
|
+
}
|
41
|
+
@if global-variable-exists('breakpoint-no-query-fallbacks') and $breakpoint-no-query-fallbacks != breakpoint-get('no query fallbacks') {
|
42
|
+
@include breakpoint-set('no query fallbacks', $breakpoint-no-query-fallbacks);
|
43
|
+
}
|
44
|
+
@if global-variable-exists('breakpoint-base-font-size') and $breakpoint-base-font-size != breakpoint-get('base font size') {
|
45
|
+
@include breakpoint-set('base font size', $breakpoint-base-font-size);
|
46
|
+
}
|
47
|
+
@if global-variable-exists('breakpoint-legacy-syntax') and $breakpoint-legacy-syntax != breakpoint-get('legacy syntax') {
|
48
|
+
@include breakpoint-set('legacy syntax', $breakpoint-legacy-syntax);
|
49
|
+
}
|
50
50
|
}
|
@@ -1,15 +1,15 @@
|
|
1
|
-
@function breakpoint-no-query($query) {
|
2
|
-
@if type-of($query) == 'list' {
|
3
|
-
$keyword: nth($query, 1);
|
4
|
-
|
5
|
-
@if type-of($keyword) == 'string' and ($keyword == 'no-query' or $keyword == 'no query' or $keyword == 'fallback') {
|
6
|
-
@return nth($query, 2);
|
7
|
-
}
|
8
|
-
@else {
|
9
|
-
@return false;
|
10
|
-
}
|
11
|
-
}
|
12
|
-
@else {
|
13
|
-
@return false;
|
14
|
-
}
|
15
|
-
}
|
1
|
+
@function breakpoint-no-query($query) {
|
2
|
+
@if type-of($query) == 'list' {
|
3
|
+
$keyword: nth($query, 1);
|
4
|
+
|
5
|
+
@if type-of($keyword) == 'string' and ($keyword == 'no-query' or $keyword == 'no query' or $keyword == 'fallback') {
|
6
|
+
@return nth($query, 2);
|
7
|
+
}
|
8
|
+
@else {
|
9
|
+
@return false;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
@else {
|
13
|
+
@return false;
|
14
|
+
}
|
15
|
+
}
|
@@ -1,215 +1,215 @@
|
|
1
|
-
//////////////////////////////
|
2
|
-
// Import Parser Pieces
|
3
|
-
//////////////////////////////
|
4
|
-
@import "parsers/query";
|
5
|
-
@import "parsers/single";
|
6
|
-
@import "parsers/double";
|
7
|
-
@import "parsers/triple";
|
8
|
-
@import "parsers/resolution";
|
9
|
-
|
10
|
-
$Memo-Exists: function-exists(memo-get) and function-exists(memo-set);
|
11
|
-
|
12
|
-
//////////////////////////////
|
13
|
-
// Breakpoint Function
|
14
|
-
//////////////////////////////
|
15
|
-
@function breakpoint($query, $contexts...) {
|
16
|
-
$run: true;
|
17
|
-
$return: ();
|
18
|
-
|
19
|
-
// Grab the Memo Output if Memoization can be a thing
|
20
|
-
@if $Memo-Exists {
|
21
|
-
$return: memo-get(breakpoint, breakpoint $query $contexts);
|
22
|
-
|
23
|
-
@if $return != null {
|
24
|
-
$run: false;
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
@if not $Memo-Exists or $run {
|
29
|
-
// Internal Variables
|
30
|
-
$query-string: '';
|
31
|
-
$query-fallback: false;
|
32
|
-
$return: ();
|
33
|
-
|
34
|
-
// Reserve Global Private Breakpoint Context
|
35
|
-
$holder-context: $private-breakpoint-context-holder;
|
36
|
-
$holder-query-count: $private-breakpoint-query-count;
|
37
|
-
|
38
|
-
// Reset Global Private Breakpoint Context
|
39
|
-
$private-breakpoint-context-holder: () !global;
|
40
|
-
$private-breakpoint-query-count: 0 !global;
|
41
|
-
|
42
|
-
|
43
|
-
// Test to see if it's a comma-separated list
|
44
|
-
$or-list: if(list-separator($query) == 'comma', true, false);
|
45
|
-
|
46
|
-
|
47
|
-
@if ($or-list == false and breakpoint-get('legacy syntax') == false) {
|
48
|
-
$query-string: breakpoint-parse($query);
|
49
|
-
}
|
50
|
-
@else {
|
51
|
-
$length: length($query);
|
52
|
-
|
53
|
-
$last: nth($query, $length);
|
54
|
-
$query-fallback: breakpoint-no-query($last);
|
55
|
-
|
56
|
-
@if ($query-fallback != false) {
|
57
|
-
$length: $length - 1;
|
58
|
-
}
|
59
|
-
|
60
|
-
@if (breakpoint-get('legacy syntax') == true) {
|
61
|
-
$mq: ();
|
62
|
-
|
63
|
-
@for $i from 1 through $length {
|
64
|
-
$mq: append($mq, nth($query, $i), comma);
|
65
|
-
}
|
66
|
-
|
67
|
-
$query-string: breakpoint-parse($mq);
|
68
|
-
}
|
69
|
-
@else {
|
70
|
-
$query-string: '';
|
71
|
-
@for $i from 1 through $length {
|
72
|
-
$query-string: $query-string + if($i == 1, '', ', ') + breakpoint-parse(nth($query, $i));
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
$return: ('query': $query-string,
|
78
|
-
'fallback': $query-fallback,
|
79
|
-
'context holder': $private-breakpoint-context-holder,
|
80
|
-
'query count': $private-breakpoint-query-count
|
81
|
-
);
|
82
|
-
@if length($contexts) > 0 and nth($contexts, 1) != false {
|
83
|
-
@if $query-fallback != false {
|
84
|
-
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
|
85
|
-
}
|
86
|
-
$context-map: ();
|
87
|
-
@each $context in $contexts {
|
88
|
-
$context-map: map-merge($context-map, ($context: breakpoint-get-context($context)));
|
89
|
-
}
|
90
|
-
$return: map-merge($return, (context: $context-map));
|
91
|
-
}
|
92
|
-
|
93
|
-
// Reset Global Private Breakpoint Context
|
94
|
-
$private-breakpoint-context-holder: () !global;
|
95
|
-
$private-breakpoint-query-count: 0 !global;
|
96
|
-
|
97
|
-
@if $Memo-Exists {
|
98
|
-
$holder: memo-set(breakpoint, breakpoint $query $contexts, $return);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
@return $return;
|
103
|
-
}
|
104
|
-
|
105
|
-
//////////////////////////////
|
106
|
-
// General Breakpoint Parser
|
107
|
-
//////////////////////////////
|
108
|
-
@function breakpoint-parse($query) {
|
109
|
-
// Increase number of 'and' queries
|
110
|
-
$private-breakpoint-query-count: $private-breakpoint-query-count + 1 !global;
|
111
|
-
|
112
|
-
// Set up Media Type
|
113
|
-
$query-print: '';
|
114
|
-
|
115
|
-
$force-all: ((breakpoint-get('force all media type') == true) and (breakpoint-get('default media') == 'all'));
|
116
|
-
$empty-media: true;
|
117
|
-
@if ($force-all == true) or (breakpoint-get('default media') != 'all') {
|
118
|
-
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
|
119
|
-
$query-print: breakpoint-get('default media');
|
120
|
-
$empty-media: false;
|
121
|
-
}
|
122
|
-
|
123
|
-
|
124
|
-
$query-resolution: false;
|
125
|
-
|
126
|
-
$query-holder: breakpoint-parse-query($query);
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
// Loop over each parsed out query and write it to $query-print
|
131
|
-
$first: true;
|
132
|
-
|
133
|
-
@each $feature in $query-holder {
|
134
|
-
$length: length($feature);
|
135
|
-
|
136
|
-
// Parse a single feature
|
137
|
-
@if ($length == 1) {
|
138
|
-
// Feature is currently a list, grab the actual value
|
139
|
-
$feature: nth($feature, 1);
|
140
|
-
|
141
|
-
// Media Type must by convention be the first item, so it's safe to flat override $query-print, which right now should only be the default media type
|
142
|
-
@if (breakpoint-is-media($feature)) {
|
143
|
-
@if ($force-all == true) or ($feature != 'all') {
|
144
|
-
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
|
145
|
-
$query-print: $feature;
|
146
|
-
$empty-media: false;
|
147
|
-
|
148
|
-
// Set Context
|
149
|
-
$context-setter: private-breakpoint-set-context(media, $query-print);
|
150
|
-
}
|
151
|
-
}
|
152
|
-
@else {
|
153
|
-
$parsed: breakpoint-parse-single($feature, $empty-media, $first);
|
154
|
-
$query-print: '#{$query-print} #{$parsed}';
|
155
|
-
$first: false;
|
156
|
-
}
|
157
|
-
}
|
158
|
-
// Parse a double feature
|
159
|
-
@else if ($length == 2) {
|
160
|
-
@if (breakpoint-is-resolution($feature) != false) {
|
161
|
-
$query-resolution: $feature;
|
162
|
-
}
|
163
|
-
@else {
|
164
|
-
$parsed: null;
|
165
|
-
// If it's a string/number pair,
|
166
|
-
// we check to see if one is a single-string value,
|
167
|
-
// then we parse it as a normal double
|
168
|
-
$alpha: nth($feature, 1);
|
169
|
-
$beta: nth($feature, 2);
|
170
|
-
@if breakpoint-single-string($alpha) or breakpoint-single-string($beta) {
|
171
|
-
$parsed: breakpoint-parse-single($alpha, $empty-media, $first);
|
172
|
-
$query-print: '#{$query-print} #{$parsed}';
|
173
|
-
$first: false;
|
174
|
-
$parsed: breakpoint-parse-single($beta, $empty-media, $first);
|
175
|
-
$query-print: '#{$query-print} #{$parsed}';
|
176
|
-
}
|
177
|
-
@else {
|
178
|
-
$parsed: breakpoint-parse-double($feature, $empty-media, $first);
|
179
|
-
$query-print: '#{$query-print} #{$parsed}';
|
180
|
-
$first: false;
|
181
|
-
}
|
182
|
-
}
|
183
|
-
}
|
184
|
-
// Parse a triple feature
|
185
|
-
@else if ($length == 3) {
|
186
|
-
$parsed: breakpoint-parse-triple($feature, $empty-media, $first);
|
187
|
-
$query-print: '#{$query-print} #{$parsed}';
|
188
|
-
$first: false;
|
189
|
-
}
|
190
|
-
|
191
|
-
}
|
192
|
-
|
193
|
-
@if ($query-resolution != false) {
|
194
|
-
$query-print: breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first);
|
195
|
-
}
|
196
|
-
|
197
|
-
// Loop through each feature that's been detected so far and append 'false' to the the value list to increment their counters
|
198
|
-
@each $f, $v in $private-breakpoint-context-holder {
|
199
|
-
$v-holder: $v;
|
200
|
-
$length: length($v-holder);
|
201
|
-
@if length($v-holder) < $private-breakpoint-query-count {
|
202
|
-
@for $i from $length to $private-breakpoint-query-count {
|
203
|
-
@if $f == 'media' {
|
204
|
-
$v-holder: append($v-holder, breakpoint-get('default media'));
|
205
|
-
}
|
206
|
-
@else {
|
207
|
-
$v-holder: append($v-holder, false);
|
208
|
-
}
|
209
|
-
}
|
210
|
-
}
|
211
|
-
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($f: $v-holder)) !global;
|
212
|
-
}
|
213
|
-
|
214
|
-
@return $query-print;
|
215
|
-
}
|
1
|
+
//////////////////////////////
|
2
|
+
// Import Parser Pieces
|
3
|
+
//////////////////////////////
|
4
|
+
@import "parsers/query";
|
5
|
+
@import "parsers/single";
|
6
|
+
@import "parsers/double";
|
7
|
+
@import "parsers/triple";
|
8
|
+
@import "parsers/resolution";
|
9
|
+
|
10
|
+
$Memo-Exists: function-exists(memo-get) and function-exists(memo-set);
|
11
|
+
|
12
|
+
//////////////////////////////
|
13
|
+
// Breakpoint Function
|
14
|
+
//////////////////////////////
|
15
|
+
@function breakpoint($query, $contexts...) {
|
16
|
+
$run: true;
|
17
|
+
$return: ();
|
18
|
+
|
19
|
+
// Grab the Memo Output if Memoization can be a thing
|
20
|
+
@if $Memo-Exists {
|
21
|
+
$return: memo-get(breakpoint, breakpoint $query $contexts);
|
22
|
+
|
23
|
+
@if $return != null {
|
24
|
+
$run: false;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
@if not $Memo-Exists or $run {
|
29
|
+
// Internal Variables
|
30
|
+
$query-string: '';
|
31
|
+
$query-fallback: false;
|
32
|
+
$return: ();
|
33
|
+
|
34
|
+
// Reserve Global Private Breakpoint Context
|
35
|
+
$holder-context: $private-breakpoint-context-holder;
|
36
|
+
$holder-query-count: $private-breakpoint-query-count;
|
37
|
+
|
38
|
+
// Reset Global Private Breakpoint Context
|
39
|
+
$private-breakpoint-context-holder: () !global;
|
40
|
+
$private-breakpoint-query-count: 0 !global;
|
41
|
+
|
42
|
+
|
43
|
+
// Test to see if it's a comma-separated list
|
44
|
+
$or-list: if(list-separator($query) == 'comma', true, false);
|
45
|
+
|
46
|
+
|
47
|
+
@if ($or-list == false and breakpoint-get('legacy syntax') == false) {
|
48
|
+
$query-string: breakpoint-parse($query);
|
49
|
+
}
|
50
|
+
@else {
|
51
|
+
$length: length($query);
|
52
|
+
|
53
|
+
$last: nth($query, $length);
|
54
|
+
$query-fallback: breakpoint-no-query($last);
|
55
|
+
|
56
|
+
@if ($query-fallback != false) {
|
57
|
+
$length: $length - 1;
|
58
|
+
}
|
59
|
+
|
60
|
+
@if (breakpoint-get('legacy syntax') == true) {
|
61
|
+
$mq: ();
|
62
|
+
|
63
|
+
@for $i from 1 through $length {
|
64
|
+
$mq: append($mq, nth($query, $i), comma);
|
65
|
+
}
|
66
|
+
|
67
|
+
$query-string: breakpoint-parse($mq);
|
68
|
+
}
|
69
|
+
@else {
|
70
|
+
$query-string: '';
|
71
|
+
@for $i from 1 through $length {
|
72
|
+
$query-string: $query-string + if($i == 1, '', ', ') + breakpoint-parse(nth($query, $i));
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
$return: ('query': $query-string,
|
78
|
+
'fallback': $query-fallback,
|
79
|
+
'context holder': $private-breakpoint-context-holder,
|
80
|
+
'query count': $private-breakpoint-query-count
|
81
|
+
);
|
82
|
+
@if length($contexts) > 0 and nth($contexts, 1) != false {
|
83
|
+
@if $query-fallback != false {
|
84
|
+
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
|
85
|
+
}
|
86
|
+
$context-map: ();
|
87
|
+
@each $context in $contexts {
|
88
|
+
$context-map: map-merge($context-map, ($context: breakpoint-get-context($context)));
|
89
|
+
}
|
90
|
+
$return: map-merge($return, (context: $context-map));
|
91
|
+
}
|
92
|
+
|
93
|
+
// Reset Global Private Breakpoint Context
|
94
|
+
$private-breakpoint-context-holder: () !global;
|
95
|
+
$private-breakpoint-query-count: 0 !global;
|
96
|
+
|
97
|
+
@if $Memo-Exists {
|
98
|
+
$holder: memo-set(breakpoint, breakpoint $query $contexts, $return);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
@return $return;
|
103
|
+
}
|
104
|
+
|
105
|
+
//////////////////////////////
|
106
|
+
// General Breakpoint Parser
|
107
|
+
//////////////////////////////
|
108
|
+
@function breakpoint-parse($query) {
|
109
|
+
// Increase number of 'and' queries
|
110
|
+
$private-breakpoint-query-count: $private-breakpoint-query-count + 1 !global;
|
111
|
+
|
112
|
+
// Set up Media Type
|
113
|
+
$query-print: '';
|
114
|
+
|
115
|
+
$force-all: ((breakpoint-get('force all media type') == true) and (breakpoint-get('default media') == 'all'));
|
116
|
+
$empty-media: true;
|
117
|
+
@if ($force-all == true) or (breakpoint-get('default media') != 'all') {
|
118
|
+
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
|
119
|
+
$query-print: breakpoint-get('default media');
|
120
|
+
$empty-media: false;
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
$query-resolution: false;
|
125
|
+
|
126
|
+
$query-holder: breakpoint-parse-query($query);
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
// Loop over each parsed out query and write it to $query-print
|
131
|
+
$first: true;
|
132
|
+
|
133
|
+
@each $feature in $query-holder {
|
134
|
+
$length: length($feature);
|
135
|
+
|
136
|
+
// Parse a single feature
|
137
|
+
@if ($length == 1) {
|
138
|
+
// Feature is currently a list, grab the actual value
|
139
|
+
$feature: nth($feature, 1);
|
140
|
+
|
141
|
+
// Media Type must by convention be the first item, so it's safe to flat override $query-print, which right now should only be the default media type
|
142
|
+
@if (breakpoint-is-media($feature)) {
|
143
|
+
@if ($force-all == true) or ($feature != 'all') {
|
144
|
+
// Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all)
|
145
|
+
$query-print: $feature;
|
146
|
+
$empty-media: false;
|
147
|
+
|
148
|
+
// Set Context
|
149
|
+
$context-setter: private-breakpoint-set-context(media, $query-print);
|
150
|
+
}
|
151
|
+
}
|
152
|
+
@else {
|
153
|
+
$parsed: breakpoint-parse-single($feature, $empty-media, $first);
|
154
|
+
$query-print: '#{$query-print} #{$parsed}';
|
155
|
+
$first: false;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
// Parse a double feature
|
159
|
+
@else if ($length == 2) {
|
160
|
+
@if (breakpoint-is-resolution($feature) != false) {
|
161
|
+
$query-resolution: $feature;
|
162
|
+
}
|
163
|
+
@else {
|
164
|
+
$parsed: null;
|
165
|
+
// If it's a string/number pair,
|
166
|
+
// we check to see if one is a single-string value,
|
167
|
+
// then we parse it as a normal double
|
168
|
+
$alpha: nth($feature, 1);
|
169
|
+
$beta: nth($feature, 2);
|
170
|
+
@if breakpoint-single-string($alpha) or breakpoint-single-string($beta) {
|
171
|
+
$parsed: breakpoint-parse-single($alpha, $empty-media, $first);
|
172
|
+
$query-print: '#{$query-print} #{$parsed}';
|
173
|
+
$first: false;
|
174
|
+
$parsed: breakpoint-parse-single($beta, $empty-media, $first);
|
175
|
+
$query-print: '#{$query-print} #{$parsed}';
|
176
|
+
}
|
177
|
+
@else {
|
178
|
+
$parsed: breakpoint-parse-double($feature, $empty-media, $first);
|
179
|
+
$query-print: '#{$query-print} #{$parsed}';
|
180
|
+
$first: false;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
// Parse a triple feature
|
185
|
+
@else if ($length == 3) {
|
186
|
+
$parsed: breakpoint-parse-triple($feature, $empty-media, $first);
|
187
|
+
$query-print: '#{$query-print} #{$parsed}';
|
188
|
+
$first: false;
|
189
|
+
}
|
190
|
+
|
191
|
+
}
|
192
|
+
|
193
|
+
@if ($query-resolution != false) {
|
194
|
+
$query-print: breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first);
|
195
|
+
}
|
196
|
+
|
197
|
+
// Loop through each feature that's been detected so far and append 'false' to the the value list to increment their counters
|
198
|
+
@each $f, $v in $private-breakpoint-context-holder {
|
199
|
+
$v-holder: $v;
|
200
|
+
$length: length($v-holder);
|
201
|
+
@if length($v-holder) < $private-breakpoint-query-count {
|
202
|
+
@for $i from $length to $private-breakpoint-query-count {
|
203
|
+
@if $f == 'media' {
|
204
|
+
$v-holder: append($v-holder, breakpoint-get('default media'));
|
205
|
+
}
|
206
|
+
@else {
|
207
|
+
$v-holder: append($v-holder, false);
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}
|
211
|
+
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($f: $v-holder)) !global;
|
212
|
+
}
|
213
|
+
|
214
|
+
@return $query-print;
|
215
|
+
}
|