@guebbit/css-toolkit 1.2.2 → 1.3.1
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/docs/.vitepress/config.ts +1 -1
- package/docs/.vitepress/dist/404.html +4 -4
- package/docs/.vitepress/dist/assets/app.CE7x4Dlp.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.CS_28jj8.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.TmXlq6CT.js +8 -0
- package/docs/.vitepress/dist/assets/chunks/framework.BZemHgQ6.js +18 -0
- package/docs/.vitepress/dist/assets/chunks/theme.BWSHCtHe.js +2 -0
- package/docs/.vitepress/dist/assets/{colors_bootstrap.md.B8QNot57.js → colors_bootstrap.md.CFg-dNGF.js} +1 -1
- package/docs/.vitepress/dist/assets/{colors_bootstrap.md.B8QNot57.lean.js → colors_bootstrap.md.CFg-dNGF.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/colors_brands.md.CUxoS0ml.js +1 -0
- package/docs/.vitepress/dist/assets/colors_brands.md.CUxoS0ml.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{colors_customs.md.B9XC2fYm.js → colors_customs.md.CnHhl84q.js} +1 -1
- package/docs/.vitepress/dist/assets/{colors_customs.md.B9XC2fYm.lean.js → colors_customs.md.CnHhl84q.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/{functions_colors.md.8WIzA1Az.js → functions_colors.md.BsOBqU9L.js} +1 -1
- package/docs/.vitepress/dist/assets/functions_colors.md.BsOBqU9L.lean.js +1 -0
- package/docs/.vitepress/dist/assets/functions_helpers.md.B3A_IOEL.js +1 -0
- package/docs/.vitepress/dist/assets/functions_helpers.md.B3A_IOEL.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{functions_strings.md.B-I-mSmy.js → functions_strings.md.BdV8Kx9J.js} +1 -1
- package/docs/.vitepress/dist/assets/{functions_strings.md.B-I-mSmy.lean.js → functions_strings.md.BdV8Kx9J.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/{index.md.DO-yHYeM.js → index.md.Cn1TneoC.js} +1 -1
- package/docs/.vitepress/dist/assets/{index.md.DO-yHYeM.lean.js → index.md.Cn1TneoC.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/{mixins_build-aspect-ratio.md.Cjv_a3MY.js → mixins_build-aspect-ratio.md.cD70Q1mW.js} +1 -1
- package/docs/.vitepress/dist/assets/{mixins_build-aspect-ratio.md.Cjv_a3MY.lean.js → mixins_build-aspect-ratio.md.cD70Q1mW.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/{mixins_build-compatibility.md.BO6wODYa.js → mixins_build-compatibility.md.DvZg2OSO.js} +15 -4
- package/docs/.vitepress/dist/assets/mixins_build-compatibility.md.DvZg2OSO.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{mixins_build-scrollbar.md.BX34elgD.js → mixins_build-scrollbar.md.Bze7PgzU.js} +1 -1
- package/docs/.vitepress/dist/assets/mixins_build-scrollbar.md.Bze7PgzU.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{mixins_create-colors.md.82HeTZt6.js → mixins_create-colors.md.Bi4iqAHf.js} +1 -1
- package/docs/.vitepress/dist/assets/{mixins_create-colors.md.82HeTZt6.lean.js → mixins_create-colors.md.Bi4iqAHf.lean.js} +1 -1
- package/docs/.vitepress/dist/assets/{mixins_create-helper-margin.md.D2-T7z0a.js → mixins_create-helper-margin.md.DqwBKQ0G.js} +1 -1
- package/docs/.vitepress/dist/assets/mixins_create-helper-margin.md.DqwBKQ0G.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{mixins_create-helper-padding.md.Cp-laxuA.js → mixins_create-helper-padding.md.Br9TOGl1.js} +1 -1
- package/docs/.vitepress/dist/assets/mixins_create-helper-padding.md.Br9TOGl1.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{mixins_create-instruction.md.dJ83FO6R.js → mixins_create-instruction.md.BeAIoeQx.js} +15 -7
- package/docs/.vitepress/dist/assets/mixins_create-instruction.md.BeAIoeQx.lean.js +1 -0
- package/docs/.vitepress/dist/assets/style.BsKZwvOR.css +1 -0
- package/docs/.vitepress/dist/colors/bootstrap.html +8 -8
- package/docs/.vitepress/dist/colors/brands.html +8 -8
- package/docs/.vitepress/dist/colors/customs.html +8 -8
- package/docs/.vitepress/dist/functions/colors.html +8 -8
- package/docs/.vitepress/dist/functions/helpers.html +8 -8
- package/docs/.vitepress/dist/functions/strings.html +8 -8
- package/docs/.vitepress/dist/hashmap.json +1 -1
- package/docs/.vitepress/dist/index.html +8 -8
- package/docs/.vitepress/dist/mixins/build-aspect-ratio.html +8 -8
- package/docs/.vitepress/dist/mixins/build-compatibility.html +21 -10
- package/docs/.vitepress/dist/mixins/build-scrollbar.html +8 -8
- package/docs/.vitepress/dist/mixins/create-colors.html +8 -8
- package/docs/.vitepress/dist/mixins/create-helper-margin.html +9 -9
- package/docs/.vitepress/dist/mixins/create-helper-padding.html +8 -8
- package/docs/.vitepress/dist/mixins/create-instruction.html +21 -13
- package/docs/.vitepress/dist/vp-icons.css +0 -2
- package/docs/mixins/build-compatibility.md +1 -1
- package/docs/mixins/create-instruction.md +2 -2
- package/package.json +12 -12
- package/src/colors/_brands.scss +2 -2
- package/src/colors/_index.scss +4 -4
- package/src/functions/_colors.scss +5 -4
- package/src/index.scss +2 -1
- package/src/mixins/_build-compatibility.scss +13 -2
- package/src/mixins/_create-class.scss +19 -0
- package/src/mixins/_create-colors-vars.scss +35 -0
- package/src/mixins/_create-colors.scss +94 -53
- package/test/compile.test.js +28 -2
- package/test/test.css +9825 -4881
- package/test/test.scss +43 -5
- package/vite.config.ts +1 -1
- package/docs/.vitepress/dist/assets/app.BQiPqeST.js +0 -1
- package/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.C9A3MdGo.js +0 -1
- package/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.Bz_zRP0g.js +0 -8
- package/docs/.vitepress/dist/assets/chunks/framework.BQmytedh.js +0 -18
- package/docs/.vitepress/dist/assets/chunks/theme.DOuq-6g9.js +0 -2
- package/docs/.vitepress/dist/assets/colors_brands.md.DA7CAmLz.js +0 -1
- package/docs/.vitepress/dist/assets/colors_brands.md.DA7CAmLz.lean.js +0 -1
- package/docs/.vitepress/dist/assets/functions_colors.md.8WIzA1Az.lean.js +0 -10
- package/docs/.vitepress/dist/assets/functions_helpers.md.DlnJURDc.js +0 -1
- package/docs/.vitepress/dist/assets/functions_helpers.md.DlnJURDc.lean.js +0 -1
- package/docs/.vitepress/dist/assets/mixins_build-compatibility.md.BO6wODYa.lean.js +0 -30
- package/docs/.vitepress/dist/assets/mixins_build-scrollbar.md.BX34elgD.lean.js +0 -32
- package/docs/.vitepress/dist/assets/mixins_create-helper-margin.md.D2-T7z0a.lean.js +0 -46
- package/docs/.vitepress/dist/assets/mixins_create-helper-padding.md.Cp-laxuA.lean.js +0 -45
- package/docs/.vitepress/dist/assets/mixins_create-instruction.md.dJ83FO6R.lean.js +0 -20
- package/docs/.vitepress/dist/assets/style.BKBz-tcN.css +0 -1
- package/src/mixins/_create-instructions.scss +0 -11
|
@@ -4,19 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create all the needed classes for the requested colors
|
|
7
|
-
* $
|
|
8
|
-
*
|
|
9
|
-
* $
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
7
|
+
* WARNING: $gradient-* are not meant to be used in color and border classes (because they have gradients)
|
|
8
|
+
*
|
|
9
|
+
* @param $color-list - list of colors (like $colors-collection: ("branch": ( "leaf: $color" )))
|
|
10
|
+
* @param $vars: if true, use css vars instead of rgb
|
|
11
|
+
* @param $prefix: prefix that applies to classes
|
|
12
|
+
* @param $prefixV: prefix that applies to vars (if true)
|
|
13
|
+
* @param $branch-list: - when filled: becomes a whitelist (aka: include only listed brands)
|
|
14
|
+
* @param $feature-list: - when filled: becomes a whitelist. May become cumbersome and many are not needed. Use with care.
|
|
15
|
+
* - text
|
|
13
16
|
* - background
|
|
14
17
|
* - border
|
|
15
|
-
* - pseudo (bg only,
|
|
18
|
+
* - pseudo (bg only, text very rarely used)
|
|
16
19
|
* - hover
|
|
17
|
-
* $prefix: prefix that applies to classes
|
|
18
20
|
*/
|
|
19
|
-
@mixin create-colors($color-list: (), $branch-list: (), $feature-list: ()
|
|
21
|
+
@mixin create-colors($color-list: (), $vars: false, $prefix: "", $prefixV: "", $branch-list: (), $feature-list: ()) {
|
|
20
22
|
// for every branch
|
|
21
23
|
@each $branch-name, $branch in $color-list {
|
|
22
24
|
// check that there is no $branch-list or, if present, it's correctly whitelisted
|
|
@@ -25,13 +27,22 @@
|
|
|
25
27
|
// for every leaf
|
|
26
28
|
@each $sname, $scolor in $branch {
|
|
27
29
|
|
|
28
|
-
@if not list.index($branch-name, "
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
@if not list.index($branch-name, "gradient") and (list.length($feature-list) < 1 or list.index($feature-list, "text")) {
|
|
31
|
+
.#{$prefix}#{$branch-name}-#{$sname}-text {
|
|
32
|
+
@if $vars {
|
|
33
|
+
color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
34
|
+
} @else {
|
|
31
35
|
color: $scolor !important;
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@if not list.index($branch-name, "gradient") and (list.length($feature-list) < 1 or list.index($feature-list, "border")) {
|
|
41
|
+
@if $vars {
|
|
42
|
+
.#{$prefix}#{$branch-name}-#{$sname}-border {
|
|
43
|
+
border-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
44
|
+
}
|
|
45
|
+
} @else {
|
|
35
46
|
.#{$prefix}#{$branch-name}-#{$sname}-border {
|
|
36
47
|
border-color: $scolor !important;
|
|
37
48
|
}
|
|
@@ -39,31 +50,62 @@
|
|
|
39
50
|
}
|
|
40
51
|
|
|
41
52
|
@if list.length($feature-list) < 1 or list.index($feature-list, "background") {
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
@if $vars {
|
|
54
|
+
.#{$prefix}#{$branch-name}-#{$sname}-bg {
|
|
55
|
+
background-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
56
|
+
color: var(--#{$prefixV}on-#{$branch-name}-#{$sname}) !important;
|
|
57
|
+
}
|
|
58
|
+
} @else {
|
|
59
|
+
.#{$prefix}#{$branch-name}-#{$sname}-bg {
|
|
60
|
+
background-color: $scolor !important;
|
|
61
|
+
}
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
64
|
|
|
47
65
|
@if list.length($feature-list) < 1 or list.index($feature-list, "pseudo") {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
@if $vars {
|
|
67
|
+
.#{$prefix}#{$branch-name}-#{$sname}-pseudo-bg {
|
|
68
|
+
&::after,
|
|
69
|
+
&::before {
|
|
70
|
+
background-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
} @else {
|
|
74
|
+
.#{$prefix}#{$branch-name}-#{$sname}-pseudo-bg {
|
|
75
|
+
&::after,
|
|
76
|
+
&::before {
|
|
77
|
+
background-color: $scolor !important;
|
|
78
|
+
}
|
|
52
79
|
}
|
|
53
80
|
}
|
|
54
81
|
}
|
|
55
82
|
|
|
56
|
-
@if list.length($feature-list) < 1 or list.index($feature-list, "hover"){
|
|
83
|
+
@if list.length($feature-list) < 1 or list.index($feature-list, "hover") {
|
|
57
84
|
|
|
58
|
-
@if not list.index($branch-name, "
|
|
59
|
-
@if
|
|
85
|
+
@if not list.index($branch-name, "gradient") and (list.length($feature-list) < 1 or list.index($feature-list, "text")) {
|
|
86
|
+
@if $vars {
|
|
87
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-text {
|
|
88
|
+
&:hover {
|
|
89
|
+
color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
} @else {
|
|
60
93
|
.#{$prefix}#{$branch-name}-#{$sname}-hover-text {
|
|
61
94
|
&:hover {
|
|
62
95
|
color: $scolor !important;
|
|
63
96
|
}
|
|
64
97
|
}
|
|
65
98
|
}
|
|
66
|
-
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@if not list.index($branch-name, "gradient") and (list.length($feature-list) < 1 or list.index($feature-list, "border")) {
|
|
102
|
+
@if $vars {
|
|
103
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-border {
|
|
104
|
+
&:hover {
|
|
105
|
+
border-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
} @else {
|
|
67
109
|
.#{$prefix}#{$branch-name}-#{$sname}-hover-border {
|
|
68
110
|
&:hover {
|
|
69
111
|
border-color: $scolor !important;
|
|
@@ -73,19 +115,39 @@
|
|
|
73
115
|
}
|
|
74
116
|
|
|
75
117
|
@if list.length($feature-list) < 1 or list.index($feature-list, "background") {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
118
|
+
@if $vars {
|
|
119
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-bg {
|
|
120
|
+
&:hover {
|
|
121
|
+
background-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
122
|
+
color: var(--#{$prefixV}on-#{$branch-name}-#{$sname}) !important;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
} @else {
|
|
126
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-bg {
|
|
127
|
+
&:hover {
|
|
128
|
+
background-color: $scolor !important;
|
|
129
|
+
}
|
|
79
130
|
}
|
|
80
131
|
}
|
|
81
132
|
}
|
|
82
133
|
|
|
83
134
|
@if list.length($feature-list) < 1 or list.index($feature-list, "pseudo") {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
135
|
+
@if $vars {
|
|
136
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-pseudo-bg {
|
|
137
|
+
&:hover {
|
|
138
|
+
&::after,
|
|
139
|
+
&::before {
|
|
140
|
+
background-color: var(--#{$prefixV}#{$branch-name}-#{$sname}) !important;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
} @else {
|
|
145
|
+
.#{$prefix}#{$branch-name}-#{$sname}-hover-pseudo-bg {
|
|
146
|
+
&:hover {
|
|
147
|
+
&::after,
|
|
148
|
+
&::before {
|
|
149
|
+
background-color: $scolor !important;
|
|
150
|
+
}
|
|
89
151
|
}
|
|
90
152
|
}
|
|
91
153
|
}
|
|
@@ -94,26 +156,5 @@
|
|
|
94
156
|
}
|
|
95
157
|
}
|
|
96
158
|
}
|
|
159
|
+
}
|
|
97
160
|
|
|
98
|
-
/**
|
|
99
|
-
* CSS VARS on root (they will be translated in "RGB" instead of "HEX"
|
|
100
|
-
*/
|
|
101
|
-
:root{
|
|
102
|
-
@if list.length($feature-list) < 1 or list.index($feature-list, "root"){
|
|
103
|
-
@each $branch-name, $branch in $color-list {
|
|
104
|
-
@each $sname, $scolor in $branch {
|
|
105
|
-
--#{$prefix}#{$branch-name}-#{$sname}: #{color-functions.extract-colors($scolor)};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
@if list.length($feature-list) < 1 or list.index($feature-list, "on-root"){
|
|
110
|
-
@each $branch-name, $branch in $color-list {
|
|
111
|
-
@each $sname, $scolor in $branch {
|
|
112
|
-
// @if meta.type-of($scolor) == color {
|
|
113
|
-
--#{$prefix}on-#{$branch-name}-#{$sname}: #{color-functions.extract-colors(color-functions.color-contrast($scolor))};
|
|
114
|
-
// _}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
package/test/compile.test.js
CHANGED
|
@@ -35,11 +35,37 @@ describe("COMPILE", function() {
|
|
|
35
35
|
expect(cssCompiled).to.contain('.blue-400-text {');
|
|
36
36
|
expect(cssCompiled).to.contain('color: rgb(61.4, 139, 253.4) !important;');
|
|
37
37
|
expect(cssCompiled).to.contain('.blue-400-bg {');
|
|
38
|
-
expect(cssCompiled).to.contain('background: rgb(61.4, 139, 253.4) !important;');
|
|
38
|
+
expect(cssCompiled).to.contain('background-color: rgb(61.4, 139, 253.4) !important;');
|
|
39
|
+
expect(cssCompiled).to.contain('.blue-400-border {');
|
|
40
|
+
expect(cssCompiled).to.contain('border-color: rgb(61.4, 139, 253.4) !important;');
|
|
41
|
+
expect(cssCompiled).to.contain('.blue-400-pseudo-bg::after, .blue-400-pseudo-bg::before {');
|
|
42
|
+
expect(cssCompiled).to.contain('background-color: rgb(61.4, 139, 253.4) !important;');
|
|
43
|
+
expect(cssCompiled).to.contain('.blue-400-hover-text:hover {');
|
|
44
|
+
expect(cssCompiled).to.contain('.blue-400-hover-bg:hover {');
|
|
45
|
+
expect(cssCompiled).to.contain('.blue-400-hover-border:hover {');
|
|
46
|
+
expect(cssCompiled).to.contain('.blue-400-hover-pseudo-bg:hover::after, .blue-400-hover-pseudo-bg:hover::before {');
|
|
39
47
|
// --
|
|
48
|
+
expect(cssCompiled).to.contain('.primary-500-text {');
|
|
49
|
+
expect(cssCompiled).to.contain('color: var(--g-theme-primary-500) !important;');
|
|
50
|
+
expect(cssCompiled).to.contain('.primary-500-bg {');
|
|
51
|
+
expect(cssCompiled).to.contain('background-color: var(--g-theme-primary-500) !important;');
|
|
52
|
+
expect(cssCompiled).to.contain('.primary-500-border {');
|
|
53
|
+
expect(cssCompiled).to.contain('border-color: var(--g-theme-primary-500) !important;');
|
|
54
|
+
expect(cssCompiled).to.contain('.primary-500-pseudo-bg::after, .primary-500-pseudo-bg::before {');
|
|
55
|
+
expect(cssCompiled).to.contain('.primary-500-hover-text:hover {');
|
|
56
|
+
expect(cssCompiled).to.contain('.primary-500-hover-bg:hover {');
|
|
57
|
+
expect(cssCompiled).to.contain('.primary-500-hover-border:hover {');
|
|
58
|
+
expect(cssCompiled).to.contain('.primary-500-hover-pseudo-bg:hover::after, .primary-500-hover-pseudo-bg:hover::before {');
|
|
59
|
+
// --
|
|
60
|
+
expect(cssCompiled).to.contain('--g-theme-primary-500: 255 0 255;');
|
|
61
|
+
expect(cssCompiled).to.contain('--g-theme-on-primary-500: 255 255 255;');
|
|
40
62
|
expect(cssCompiled).to.contain('--blue-400: 61.4 139 253.4;');
|
|
63
|
+
expect(cssCompiled).to.contain('--on-blue-400: 0 0 0;');
|
|
41
64
|
expect(cssCompiled).to.contain('--manga-red-500: 212 24 22;');
|
|
42
|
-
expect(cssCompiled).to.contain('--
|
|
65
|
+
expect(cssCompiled).to.contain('--gradient-brand-instagram: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);');
|
|
66
|
+
expect(cssCompiled).to.contain('.text-align-right {');
|
|
67
|
+
expect(cssCompiled).to.contain('text-align: right !important;');
|
|
68
|
+
|
|
43
69
|
expect(cssCompiled).to.contain('.mt-auto {');
|
|
44
70
|
expect(cssCompiled).to.contain('margin-top: auto;');
|
|
45
71
|
expect(cssCompiled).to.contain('.my-48 {');
|