ustatic-css 0.0.1-b.2
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.
- package/LICENSE +21 -0
- package/README.md +202 -0
- package/dist/_ustatic-vars-Cx6_uZJY.cjs +1 -0
- package/dist/_ustatic-vars-D2NgNZNI.js +4 -0
- package/dist/css/modules/align.css +1 -0
- package/dist/css/modules/animations.css +1 -0
- package/dist/css/modules/base.css +1 -0
- package/dist/css/modules/bg.css +1 -0
- package/dist/css/modules/border.css +1 -0
- package/dist/css/modules/cursor.css +1 -0
- package/dist/css/modules/display.css +1 -0
- package/dist/css/modules/effects.css +1 -0
- package/dist/css/modules/filters.css +1 -0
- package/dist/css/modules/flexbox.css +1 -0
- package/dist/css/modules/grid.css +1 -0
- package/dist/css/modules/hide.css +1 -0
- package/dist/css/modules/interactivity.css +1 -0
- package/dist/css/modules/outline.css +1 -0
- package/dist/css/modules/position.css +1 -0
- package/dist/css/modules/scroll.css +1 -0
- package/dist/css/modules/sizing.css +1 -0
- package/dist/css/modules/spacing.css +1 -0
- package/dist/css/modules/typography.css +1 -0
- package/dist/css/ustatic-vars.css +1 -0
- package/dist/css/ustatic.css +1 -0
- package/dist/js/index.cjs.js +9 -0
- package/dist/js/index.es.js +175 -0
- package/dist/types/package.json.d.ts +102 -0
- package/dist/types/src/index.d.ts +4 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/plugins/vue.plugin.d.ts +15 -0
- package/dist/types/src/plugins/vue.plugin.d.ts.map +1 -0
- package/dist/types/src/utils/styleLoader.d.ts +35 -0
- package/dist/types/src/utils/styleLoader.d.ts.map +1 -0
- package/dist/types/src/utils/styleloader.classmap.d.ts +2 -0
- package/dist/types/src/utils/styleloader.classmap.d.ts.map +1 -0
- package/dist/types/src/utils/useCssProperties.d.ts +17 -0
- package/dist/types/src/utils/useCssProperties.d.ts.map +1 -0
- package/dist/types/src/utils/useTokens.d.ts +21 -0
- package/dist/types/src/utils/useTokens.d.ts.map +1 -0
- package/dist/ustatic-index-1SZfqZon.js +4 -0
- package/dist/ustatic-index-QcZrD98s.cjs +1 -0
- package/package.json +99 -0
- package/src/css/assets/tokens/_ustatic-list.scss +460 -0
- package/src/css/assets/tokens/_ustatic-prefix.scss +1 -0
- package/src/css/assets/tokens/_ustatic-vars.scss +757 -0
- package/src/css/modules/align/index.scss +17 -0
- package/src/css/modules/animations/index.scss +151 -0
- package/src/css/modules/base/index.scss +406 -0
- package/src/css/modules/base/scrollbar.scss +21 -0
- package/src/css/modules/bg/index.scss +60 -0
- package/src/css/modules/border/border.scss +88 -0
- package/src/css/modules/border/divider.scss +38 -0
- package/src/css/modules/border/index.scss +3 -0
- package/src/css/modules/border/rounded.scss +70 -0
- package/src/css/modules/cursor/index.scss +33 -0
- package/src/css/modules/display/index.scss +19 -0
- package/src/css/modules/effects/index.scss +35 -0
- package/src/css/modules/filters/index.scss +34 -0
- package/src/css/modules/flexbox/flex.scss +132 -0
- package/src/css/modules/flexbox/gap.scss +15 -0
- package/src/css/modules/flexbox/index.scss +2 -0
- package/src/css/modules/grid/index.scss +94 -0
- package/src/css/modules/hide/index.scss +27 -0
- package/src/css/modules/interactivity/index.scss +28 -0
- package/src/css/modules/outline/index.scss +63 -0
- package/src/css/modules/position/index.scss +94 -0
- package/src/css/modules/scroll/index.scss +68 -0
- package/src/css/modules/sizing/index.scss +91 -0
- package/src/css/modules/spacing/index.scss +56 -0
- package/src/css/modules/typography/index.scss +139 -0
- package/src/css/tokens/base/animations/underline.yaml +5 -0
- package/src/css/tokens/base/border/color.yaml +17 -0
- package/src/css/tokens/base/border/radius.yaml +33 -0
- package/src/css/tokens/base/border/width.yaml +19 -0
- package/src/css/tokens/base/color/accent.yaml +416 -0
- package/src/css/tokens/base/color/base.yaml +492 -0
- package/src/css/tokens/base/color/opacity.yaml +4 -0
- package/src/css/tokens/base/color/variant.yaml +18 -0
- package/src/css/tokens/base/cursor/base.yaml +18 -0
- package/src/css/tokens/base/font/weight.yaml +23 -0
- package/src/css/tokens/base/grid/base.yaml +9 -0
- package/src/css/tokens/base/position/base.yaml +253 -0
- package/src/css/tokens/base/rotation/base.yaml +20 -0
- package/src/css/tokens/base/screen/base.yaml +10 -0
- package/src/css/tokens/base/scroll/base.yaml +16 -0
- package/src/css/tokens/base/size/base.yaml +16 -0
- package/src/css/tokens/base/text/color.yaml +20 -0
- package/src/css/tokens/base/text/size.yaml +37 -0
- package/src/css/tokens/base/visibility/base.yaml +61 -0
- package/src/css/ustatic-index.scss +24 -0
- package/src/css/utils/_token.scss +56 -0
- package/src/css/variables.scss +359 -0
- package/src/index.ts +6 -0
- package/src/plugins/vue.plugin.ts +77 -0
- package/src/utils/styleLoader.ts +257 -0
- package/src/utils/styleloader.classmap.ts +109 -0
- package/src/utils/useCssProperties.ts +152 -0
- package/src/utils/useTokens.ts +287 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
@use "sass:list";
|
|
2
|
+
@import '../../utils/token';
|
|
3
|
+
@import '../../variables.scss';
|
|
4
|
+
|
|
5
|
+
@mixin border($direction, $bw: -1) {
|
|
6
|
+
@if $direction == "all" {
|
|
7
|
+
border-style: solid;
|
|
8
|
+
@if $bw == -1 {
|
|
9
|
+
border-width: token("base.border.width.def");
|
|
10
|
+
} @else {
|
|
11
|
+
border-width: token("base.border.width." + $bw);
|
|
12
|
+
}
|
|
13
|
+
} @else {
|
|
14
|
+
border-#{$direction}-style: solid;
|
|
15
|
+
@if $bw == -1 {
|
|
16
|
+
border-#{$direction}-width: token("base.border.width.def");
|
|
17
|
+
} @else {
|
|
18
|
+
border-#{$direction}-width: token("base.border.width." + $bw);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.border {
|
|
24
|
+
&-none {
|
|
25
|
+
border: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@for $i from -1 through 5 {
|
|
29
|
+
@each $key, $value in $directions {
|
|
30
|
+
@if $key == "" {
|
|
31
|
+
@if $i == -1 {
|
|
32
|
+
@include border("all");
|
|
33
|
+
} @else {
|
|
34
|
+
&-#{$i} {
|
|
35
|
+
@include border("all", $i);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
} @else {
|
|
39
|
+
&-#{$key} {
|
|
40
|
+
@each $subKey in $value {
|
|
41
|
+
@if $subKey == "" {
|
|
42
|
+
} @else {
|
|
43
|
+
@if $i == -1 {
|
|
44
|
+
@include border($subKey);
|
|
45
|
+
} @else {
|
|
46
|
+
&-#{$i} {
|
|
47
|
+
@include border($subKey, $i);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Цвета границ для всех сторон
|
|
58
|
+
@each $name, $value in $palette-rgb {
|
|
59
|
+
&-#{"" + $name} {
|
|
60
|
+
border-color: token("base.color.border");
|
|
61
|
+
@include set-token("base.color.border", rgba($value, token("base.color.opacity")));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Цвета границ по сторонам (border-t-red-500, border-b-blue-300, etc.)
|
|
66
|
+
@each $dirKey, $dirValue in $directions {
|
|
67
|
+
@if $dirKey != "" {
|
|
68
|
+
@each $subKey in $dirValue {
|
|
69
|
+
@if $subKey != "" {
|
|
70
|
+
@each $name, $value in $palette-rgb {
|
|
71
|
+
&-#{$dirKey}-#{"" + $name} {
|
|
72
|
+
border-#{$subKey}-color: token("base.color.border");
|
|
73
|
+
@include set-token("base.color.border", rgba($value, token("base.color.opacity")));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&-transparent {
|
|
82
|
+
border-color: token("base.color.transparent");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&-dashed {
|
|
86
|
+
border-style: dashed;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@use "sass:list";
|
|
2
|
+
@import '../../utils/token';
|
|
3
|
+
@import '../../variables.scss';
|
|
4
|
+
|
|
5
|
+
.divider {
|
|
6
|
+
&-x {
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 1px;
|
|
9
|
+
background-color: #000;
|
|
10
|
+
margin: 20px 0;
|
|
11
|
+
|
|
12
|
+
&--small {
|
|
13
|
+
margin: 10px 0;
|
|
14
|
+
}
|
|
15
|
+
&--medium {
|
|
16
|
+
margin: 20px 0;
|
|
17
|
+
}
|
|
18
|
+
&--large {
|
|
19
|
+
margin: 30px 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
&-y {
|
|
23
|
+
width: 1px;
|
|
24
|
+
height: 100%;
|
|
25
|
+
background-color: #000;
|
|
26
|
+
margin: 20px 0;
|
|
27
|
+
|
|
28
|
+
&--small {
|
|
29
|
+
margin: 10px 0;
|
|
30
|
+
}
|
|
31
|
+
&--medium {
|
|
32
|
+
margin: 20px 0;
|
|
33
|
+
}
|
|
34
|
+
&--large {
|
|
35
|
+
margin: 30px 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
@import '../../utils/token';
|
|
2
|
+
@import '../../variables.scss';
|
|
3
|
+
|
|
4
|
+
// @function rounded-position($position) {
|
|
5
|
+
// @return (
|
|
6
|
+
// t: "border-top-right-radius: #{$position}; border-top-left-radius: #{$position}",
|
|
7
|
+
// r: "border-top-right-radius: #{$position}; border-bottom-right-radius: #{$position}",
|
|
8
|
+
// b: "border-bottom-right-radius: #{$position}; border-bottom-left-radius: #{$position}",
|
|
9
|
+
// l: "border-top-left-radius: #{$position}; border-bottom-left-radius: #{$position}",
|
|
10
|
+
|
|
11
|
+
// tr: "border-top-right-radius: #{$position}",
|
|
12
|
+
// tl: "border-top-left-radius: #{$position}",
|
|
13
|
+
// br: "border-bottom-right-radius: #{$position}",
|
|
14
|
+
// bl: "border-bottom-left-radius: #{$position}"
|
|
15
|
+
// );
|
|
16
|
+
// }
|
|
17
|
+
|
|
18
|
+
.rounded {
|
|
19
|
+
@each $key, $value in $radiuses {
|
|
20
|
+
&-#{$key} {
|
|
21
|
+
@if $key == "base" {
|
|
22
|
+
border-radius: $value;
|
|
23
|
+
} @else {
|
|
24
|
+
border-radius: $value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&-t-#{$key} {
|
|
29
|
+
border-top-right-radius: #{$value};
|
|
30
|
+
border-top-left-radius: #{$value};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&-r-#{$key} {
|
|
34
|
+
border-top-right-radius: #{$value};
|
|
35
|
+
border-bottom-right-radius: #{$value};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&-b-#{$key} {
|
|
39
|
+
border-bottom-right-radius: #{$value};
|
|
40
|
+
border-bottom-left-radius: #{$value};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&-l-#{$key} {
|
|
44
|
+
border-top-left-radius: #{$value};
|
|
45
|
+
border-bottom-left-radius: #{$value};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&-tr-#{$key} {
|
|
49
|
+
border-top-right-radius: #{$value};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&-tl-#{$key} {
|
|
53
|
+
border-top-left-radius: #{$value};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&-br-#{$key} {
|
|
57
|
+
border-bottom-right-radius: #{$value};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&-bl-#{$key} {
|
|
61
|
+
border-bottom-left-radius: #{$value};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
&-none {
|
|
65
|
+
border-radius: 0;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
.circle {
|
|
69
|
+
border-radius: token("base.border.rounded");
|
|
70
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@import '../../utils/token';
|
|
2
|
+
@import '../../variables.scss';
|
|
3
|
+
|
|
4
|
+
.cursor {
|
|
5
|
+
&-pointer {
|
|
6
|
+
cursor: token("base.cursor.pointer");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&-move {
|
|
10
|
+
cursor: token("base.cursor.move");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&-default {
|
|
14
|
+
cursor: token("base.cursor.default");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-disabled {
|
|
18
|
+
cursor: token("base.cursor.disabled");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&-resize-x {
|
|
22
|
+
cursor: token("base.cursor.resize.ew");
|
|
23
|
+
}
|
|
24
|
+
&-resize-y {
|
|
25
|
+
cursor: token("base.cursor.resize.ns");
|
|
26
|
+
}
|
|
27
|
+
&-wait {
|
|
28
|
+
cursor: token("base.cursor.wait");
|
|
29
|
+
}
|
|
30
|
+
&-help {
|
|
31
|
+
cursor: token("base.cursor.help");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
.inline { display: inline }
|
|
3
|
+
.block { display: block }
|
|
4
|
+
.inline-block { display: inline-block }
|
|
5
|
+
.table { display: table }
|
|
6
|
+
.table-cell { display: table-cell }
|
|
7
|
+
|
|
8
|
+
.overflow-hidden { overflow: hidden }
|
|
9
|
+
.overflow-y-hidden { overflow-y: hidden }
|
|
10
|
+
.overflow-x-hidden { overflow-x: hidden }
|
|
11
|
+
|
|
12
|
+
.overflow-scroll { overflow: scroll }
|
|
13
|
+
.overflow-y-scroll { overflow-y: scroll }
|
|
14
|
+
.overflow-x-scroll { overflow-x: scroll }
|
|
15
|
+
|
|
16
|
+
.overflow-auto { overflow: auto }
|
|
17
|
+
.overflow-y-auto { overflow-y: auto }
|
|
18
|
+
.overflow-x-auto { overflow-x: auto }
|
|
19
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import '../../utils/token';
|
|
2
|
+
@import '../../variables.scss';
|
|
3
|
+
|
|
4
|
+
.opacity {
|
|
5
|
+
@each $step in $opacities {
|
|
6
|
+
&-#{$step} {
|
|
7
|
+
opacity: calc($step / 100);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.hover\:opacity {
|
|
13
|
+
@each $step in $opacities {
|
|
14
|
+
&-#{$step} {
|
|
15
|
+
&:hover {
|
|
16
|
+
opacity: calc($step / 100);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.required::after {
|
|
23
|
+
position: absolute;
|
|
24
|
+
margin-left: token("base.position.1");
|
|
25
|
+
color: token("base.color.variant.danger");
|
|
26
|
+
content: "*";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.rotate {
|
|
30
|
+
@each $key, $value in $rotations {
|
|
31
|
+
&-#{$key} {
|
|
32
|
+
transform: rotate(calc($value * 1deg));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@import '../../utils/token';
|
|
2
|
+
@import '../../variables.scss';
|
|
3
|
+
|
|
4
|
+
.grayscale {
|
|
5
|
+
filter: grayscale(100%);
|
|
6
|
+
-webkit-filter: grayscale(100%);
|
|
7
|
+
-moz-filter: grayscale(100%);
|
|
8
|
+
-ms-filter: grayscale(100%);
|
|
9
|
+
-o-filter: grayscale(100%);
|
|
10
|
+
|
|
11
|
+
&-0 {
|
|
12
|
+
filter: grayscale(0%);
|
|
13
|
+
-webkit-filter: grayscale(0%);
|
|
14
|
+
-moz-filter: grayscale(0%);
|
|
15
|
+
-ms-filter: grayscale(0%);
|
|
16
|
+
-o-filter: grayscale(0%);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.no-filter {
|
|
21
|
+
filter: none;
|
|
22
|
+
-webkit-filter: none;
|
|
23
|
+
-moz-filter: none;
|
|
24
|
+
-ms-filter: none;
|
|
25
|
+
-o-filter: none;
|
|
26
|
+
|
|
27
|
+
&:hover {
|
|
28
|
+
filter: none;
|
|
29
|
+
-webkit-filter: none;
|
|
30
|
+
-moz-filter: none;
|
|
31
|
+
-ms-filter: none;
|
|
32
|
+
-o-filter: none;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
@import "../../variables";
|
|
2
|
+
|
|
3
|
+
$align-types: (
|
|
4
|
+
start: flex-start,
|
|
5
|
+
end: flex-end,
|
|
6
|
+
center: center,
|
|
7
|
+
baseline: baseline,
|
|
8
|
+
stretch: stretch
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
$content-types: (
|
|
12
|
+
start: flex-start,
|
|
13
|
+
end: flex-end,
|
|
14
|
+
center: center,
|
|
15
|
+
between: space-between,
|
|
16
|
+
around: space-around
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
.flex {
|
|
20
|
+
display: flex;
|
|
21
|
+
|
|
22
|
+
&-column, &-col {
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
|
|
25
|
+
&-reverse {
|
|
26
|
+
flex-direction: column-reverse;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&-row {
|
|
31
|
+
flex-direction: row;
|
|
32
|
+
|
|
33
|
+
&-reverse {
|
|
34
|
+
flex-direction: row-reverse;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&-wrap {
|
|
39
|
+
flex-wrap: wrap;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&-nowrap {
|
|
43
|
+
flex-wrap: nowrap;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&-0 {
|
|
47
|
+
flex: 0 0 auto;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&-auto {
|
|
51
|
+
flex: 1 1 auto;
|
|
52
|
+
min-width: 0; /* 1 */
|
|
53
|
+
min-height: 0; /* 1 */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&-1 {
|
|
57
|
+
flex: 1;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&-none {
|
|
61
|
+
flex: none;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.items {
|
|
66
|
+
@each $key, $value in $align-types {
|
|
67
|
+
&-#{$key} {
|
|
68
|
+
align-items: $value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.self {
|
|
74
|
+
@each $key, $value in $align-types {
|
|
75
|
+
&-#{$key} {
|
|
76
|
+
align-self: $value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.justify {
|
|
82
|
+
@each $key, $value in $content-types {
|
|
83
|
+
&-#{$key} {
|
|
84
|
+
justify-content: $value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&-evenly {
|
|
89
|
+
justify-content: space-evenly;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.content {
|
|
94
|
+
@each $key, $value in $align-types {
|
|
95
|
+
&-#{$key} {
|
|
96
|
+
align-content: $value;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&-stretch {
|
|
101
|
+
align-content: stretch;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.shrink {
|
|
106
|
+
flex-shrink: 1;
|
|
107
|
+
|
|
108
|
+
@for $i from 0 through 3 {
|
|
109
|
+
&-#{$i} {
|
|
110
|
+
flex-shrink: $i;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.grow {
|
|
116
|
+
flex-grow: 1;
|
|
117
|
+
|
|
118
|
+
@for $i from 0 through 3 {
|
|
119
|
+
&-#{$i} {
|
|
120
|
+
flex-grow: $i;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.order {
|
|
126
|
+
@each $key, $value in $flex-orders {
|
|
127
|
+
&-#{$key} {
|
|
128
|
+
order: $value;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
@import "../../variables";
|
|
2
|
+
|
|
3
|
+
$grid-template-columns: token("base.grid.template.columns") !default;
|
|
4
|
+
$grid-template-rows: token("base.grid.template.rows") !default;
|
|
5
|
+
$grid-template-colspan: token("base.grid.template.colspan") !default;
|
|
6
|
+
|
|
7
|
+
.grid {
|
|
8
|
+
display: grid;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.grid-container {
|
|
12
|
+
container-type: inline-size;
|
|
13
|
+
container-name: grid;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.grid-columns {
|
|
17
|
+
grid-template-columns: $grid-template-columns;
|
|
18
|
+
|
|
19
|
+
&--1fr-auto {
|
|
20
|
+
grid-template-columns: 1fr auto;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&--auto-1fr {
|
|
24
|
+
grid-template-columns: auto 1fr;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&--1fr-1fr {
|
|
28
|
+
grid-template-columns: 1fr 1fr;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&--1fr-2fr {
|
|
32
|
+
grid-template-columns: 1fr 2fr;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&--1fr-1fr-1fr {
|
|
36
|
+
grid-template-columns: repeat(3, 1fr);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
$columns: ();
|
|
40
|
+
@for $i from 1 through 10 {
|
|
41
|
+
$columns: append($columns, $i);
|
|
42
|
+
}
|
|
43
|
+
$columns: append($columns, auto-fill);
|
|
44
|
+
|
|
45
|
+
@each $size, $sizeValue in $sizes {
|
|
46
|
+
@each $n, $nValue in $columns {
|
|
47
|
+
&--#{$n}-#{$size} {
|
|
48
|
+
grid-template-columns: repeat($n, minmax($sizeValue, 1fr));
|
|
49
|
+
@container grid (max-width: 1800px) {
|
|
50
|
+
// grid-template-columns: repeat(auto-fill, minmax($sizeValue, 1fr));
|
|
51
|
+
grid-template-columns: 1fr;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.grid-rows {
|
|
59
|
+
grid-template-rows: $grid-template-rows;
|
|
60
|
+
|
|
61
|
+
&--auto-1fr-auto {
|
|
62
|
+
grid-template-rows: auto 1fr auto;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&--1fr-auto {
|
|
66
|
+
grid-template-rows: 1fr auto;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&--auto-1fr {
|
|
70
|
+
grid-template-rows: auto 1fr;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&--1fr-1fr-1fr {
|
|
74
|
+
grid-template-rows: repeat(3, 1fr);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&--1fr-1fr {
|
|
78
|
+
grid-template-rows: 1fr 1fr;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.grid-col-span {
|
|
83
|
+
&-1 {
|
|
84
|
+
grid-column: span 1;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&-2 {
|
|
88
|
+
grid-column: span 2;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&-3 {
|
|
92
|
+
grid-column: span 3;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@import "../../variables";
|
|
2
|
+
|
|
3
|
+
.hide {
|
|
4
|
+
display: none !important;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@each $breakpoint, $width in $screens {
|
|
8
|
+
@if $breakpoint == 'xs' {
|
|
9
|
+
// Пропускаем `xs`, так как это начальный брейкпоинт.
|
|
10
|
+
} @else {
|
|
11
|
+
// Получаем предыдущий брейкпоинт в списке.
|
|
12
|
+
$prev-breakpoint: nth(nth(map-keys($screens), index(map-keys($screens), $breakpoint) - 1), 1);
|
|
13
|
+
$prev-width: map-get($screens, $prev-breakpoint);
|
|
14
|
+
|
|
15
|
+
// Создаем custom media query для текущего брейкпоинта.
|
|
16
|
+
@media (min-width: $prev-width) and (max-width: calc($width - 1px)) {
|
|
17
|
+
.hide-#{$breakpoint} { display: none !important }
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Генерация custom media для последнего брейкпоинта без max-width.
|
|
23
|
+
$last-breakpoint: nth(map-keys($screens), length(map-keys($screens)));
|
|
24
|
+
$last-width: map-get($screens, $last-breakpoint);
|
|
25
|
+
@media (min-width: $last-width) {
|
|
26
|
+
.hide-full { display: none !important }
|
|
27
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
.pointer-events {
|
|
3
|
+
&-none {
|
|
4
|
+
pointer-events: none;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
&-auto {
|
|
8
|
+
pointer-events: auto;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.user-select {
|
|
13
|
+
&-none {
|
|
14
|
+
user-select: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-auto {
|
|
18
|
+
user-select: auto;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&-all {
|
|
22
|
+
user-select: all;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&-text {
|
|
26
|
+
user-select: text;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@use "sass:list";
|
|
2
|
+
@import '../../utils/token';
|
|
3
|
+
@import '../../variables.scss';
|
|
4
|
+
|
|
5
|
+
.outline {
|
|
6
|
+
&-none {
|
|
7
|
+
outline: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// Только ширина
|
|
11
|
+
@each $size, $sizeValue in $sizes-short {
|
|
12
|
+
&-#{$size} {
|
|
13
|
+
outline-width: $sizeValue;
|
|
14
|
+
outline-style: solid;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Только цвет
|
|
19
|
+
@each $color, $value in $palette-rgb {
|
|
20
|
+
&-#{"#{$color}"} {
|
|
21
|
+
outline-color: token("base.color.outline");
|
|
22
|
+
@include set-token("base.color.outline", rgba($value, token("base.color.opacity")));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&-style {
|
|
27
|
+
&--solid {
|
|
28
|
+
outline-style: solid;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&--dotted {
|
|
32
|
+
outline-style: dotted;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&--dashed {
|
|
36
|
+
outline-style: dashed;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&--groove {
|
|
40
|
+
outline-style: groove;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&--ridge {
|
|
44
|
+
outline-style: ridge;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&--inset {
|
|
48
|
+
outline-style: inset;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&--outset {
|
|
52
|
+
outline-style: outset;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@for $offsetStep from -10 through 10 {
|
|
58
|
+
$modifier: if($offsetStep < 0, "\-outline-offset", "outline-offset");
|
|
59
|
+
$value: abs($offsetStep);
|
|
60
|
+
.#{$modifier}-#{$value} {
|
|
61
|
+
outline-offset: #{$offsetStep}px;
|
|
62
|
+
}
|
|
63
|
+
}
|