-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsscreen.scss
More file actions
85 lines (63 loc) · 1.93 KB
/
sscreen.scss
File metadata and controls
85 lines (63 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
@import './lib/breakpoint';
@import './lib/string';
$--sscreen--breakpoints: () !global;
$screen-prefix: '';
$screen-style: camelCase;
$screen-breakpoint-delimiter: '-';
@mixin screen-set($breakpoints, $prefix: $screen-prefix, $style: $screen-style) {
$--sscreen--breakpoints: $breakpoints !global;
@each $name, $value in $breakpoints {
// Up
$min: sscreen--breakpoint-min($name, $breakpoints);
@if $min {
$min-name: #{$name}-up;
@if $style == camelCase {
$min-name: sscreen--string-camelize($min-name);
}
@custom-media --#{$prefix}#{$min-name} (min-width: #{$min});
}
// Down
$max: sscreen--breakpoint-max($name, $breakpoints);
@if $max {
$max-name: #{$name}-down;
@if $style == camelCase {
$max-name: sscreen--string-camelize($max-name);
}
@custom-media --#{$prefix}#{$max-name} (max-width: #{$max});
}
}
}
@function screen-get() {
@return $--sscreen--breakpoints;
}
@function screen-infix($name, $breakpoints: $--sscreen--breakpoints, $delimiter: $screen-breakpoint-delimiter) {
@return sscreen--breakpoint-infix($name, $breakpoints, $delimiter: $delimiter);
}
@mixin screen-up($name, $prefix: $screen-prefix, $style: $screen-style, $breakpoints: $--sscreen--breakpoints) {
$min: sscreen--breakpoint-min($name, $breakpoints);
@if $min {
$min-name: #{$name}-up;
@if $style == camelCase {
$min-name: sscreen--string-camelize($min-name);
}
@media (--#{$prefix}#{$min-name}) {
@content;
}
} @else {
@content;
}
}
@mixin screen-down($name, $prefix: $screen-prefix, $style: $screen-style, $breakpoints: $--sscreen--breakpoints) {
$max: sscreen--breakpoint-max($name, $breakpoints);
@if $max {
$max-name: #{$name}-down;
@if $style == camelCase {
$max-name: sscreen--string-camelize($max-name);
}
@media (--#{$prefix}#{$max-name}) {
@content;
}
} @else {
@content;
}
}