@master/css 2.0.0-rc.67 → 2.0.0-rc.69
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/dist/common.cjs +0 -2
- package/dist/common.d.ts +0 -1
- package/dist/common.mjs +1 -2
- package/dist/config/functions.cjs +9 -243
- package/dist/config/functions.d.ts +137 -2
- package/dist/config/functions.mjs +9 -243
- package/dist/config/index.cjs +2 -2
- package/dist/config/index.mjs +2 -2
- package/dist/config/modes.cjs +307 -3
- package/dist/config/modes.d.ts +306 -2
- package/dist/config/modes.mjs +307 -3
- package/dist/config/rules.cjs +740 -782
- package/dist/config/rules.d.ts +692 -683
- package/dist/config/rules.mjs +741 -783
- package/dist/config/utilities.cjs +328 -97
- package/dist/config/utilities.d.ts +247 -16
- package/dist/config/utilities.mjs +328 -97
- package/dist/config/variables.cjs +88 -460
- package/dist/config/variables.d.ts +358 -369
- package/dist/config/variables.mjs +88 -460
- package/dist/core.cjs +242 -260
- package/dist/core.d.ts +5 -3
- package/dist/core.mjs +242 -260
- package/dist/create.cjs +10 -0
- package/dist/create.d.ts +3 -0
- package/dist/create.mjs +8 -0
- package/dist/declarers/core.group.cjs +99 -0
- package/dist/declarers/core.group.d.ts +2 -0
- package/dist/declarers/core.group.mjs +97 -0
- package/dist/declarers/core.variable.cjs +9 -0
- package/dist/declarers/core.variable.d.ts +4 -0
- package/dist/declarers/core.variable.mjs +7 -0
- package/dist/declarers/index.cjs +13 -0
- package/dist/declarers/index.d.ts +10 -0
- package/dist/declarers/index.mjs +11 -0
- package/dist/declarers/pair.cjs +12 -0
- package/dist/declarers/pair.d.ts +4 -0
- package/dist/declarers/pair.mjs +10 -0
- package/dist/factories/with-syntax-layer.cjs +0 -2
- package/dist/factories/with-syntax-layer.mjs +0 -2
- package/dist/function-transformers/core.calc.cjs +225 -0
- package/dist/function-transformers/core.calc.d.ts +2 -0
- package/dist/function-transformers/core.calc.mjs +223 -0
- package/dist/function-transformers/core.variable.cjs +23 -0
- package/dist/function-transformers/core.variable.d.ts +7 -0
- package/dist/function-transformers/core.variable.mjs +21 -0
- package/dist/function-transformers/index.cjs +11 -0
- package/dist/function-transformers/index.d.ts +8 -0
- package/dist/function-transformers/index.mjs +9 -0
- package/dist/index.cjs +10 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.mjs +6 -1
- package/dist/layer.cjs +2 -4
- package/dist/layer.mjs +2 -4
- package/dist/non-layer.cjs +2 -4
- package/dist/non-layer.mjs +2 -4
- package/dist/syntax-rule-type.cjs +8 -7
- package/dist/syntax-rule-type.d.ts +7 -7
- package/dist/syntax-rule-type.mjs +8 -7
- package/dist/syntax-rule.cjs +305 -253
- package/dist/syntax-rule.d.ts +2 -2
- package/dist/syntax-rule.mjs +306 -254
- package/dist/{utils/autofill-solid-style.cjs → transformers/auto-fill-solid.cjs} +3 -3
- package/dist/transformers/auto-fill-solid.d.ts +2 -0
- package/dist/{utils/autofill-solid-style.mjs → transformers/auto-fill-solid.mjs} +3 -3
- package/dist/transformers/index.cjs +9 -0
- package/dist/transformers/index.d.ts +6 -0
- package/dist/transformers/index.mjs +7 -0
- package/dist/types/common.d.ts +0 -2
- package/dist/types/config.d.ts +24 -20
- package/dist/types/syntax.d.ts +10 -8
- package/dist/utils/equal-selectors.cjs +1 -2
- package/dist/utils/equal-selectors.mjs +1 -2
- package/dist/utils/extend-config.cjs +83 -44
- package/dist/utils/extend-config.d.ts +10 -1
- package/dist/utils/extend-config.mjs +83 -44
- package/dist/utils/flatten-meta-object.cjs +38 -0
- package/dist/utils/flatten-meta-object.d.ts +13 -0
- package/dist/utils/flatten-meta-object.mjs +36 -0
- package/dist/utils/flatten-object.cjs +13 -9
- package/dist/utils/flatten-object.d.ts +1 -1
- package/dist/utils/flatten-object.mjs +13 -9
- package/dist/utils/generate-css.cjs +2 -2
- package/dist/utils/generate-css.d.ts +1 -2
- package/dist/utils/generate-css.mjs +2 -2
- package/dist/utils/generate-selector.cjs +2 -1
- package/dist/utils/generate-selector.mjs +2 -1
- package/dist/utils/minify-extended-config.cjs +64 -0
- package/dist/utils/minify-extended-config.d.ts +9 -0
- package/dist/utils/minify-extended-config.mjs +62 -0
- package/dist/utils/nest-meta-object.cjs +25 -0
- package/dist/utils/nest-meta-object.d.ts +7 -0
- package/dist/utils/nest-meta-object.mjs +23 -0
- package/dist/utils/parse-at.cjs +1 -2
- package/dist/utils/parse-at.d.ts +2 -2
- package/dist/utils/parse-at.mjs +1 -2
- package/dist/utils/parse-pair.cjs +3 -6
- package/dist/utils/parse-pair.mjs +3 -6
- package/dist/utils/parse-selector.cjs +6 -6
- package/dist/utils/parse-selector.d.ts +3 -3
- package/dist/utils/parse-selector.mjs +6 -6
- package/dist/utils/sort-readable-classes.cjs +2 -2
- package/dist/utils/sort-readable-classes.d.ts +1 -2
- package/dist/utils/sort-readable-classes.mjs +2 -2
- package/dist/variable-rule.cjs +35 -29
- package/dist/variable-rule.d.ts +16 -6
- package/dist/variable-rule.mjs +35 -29
- package/package.json +1 -1
- package/dist/utils/autofill-solid-style.d.ts +0 -3
package/dist/variable-rule.mjs
CHANGED
|
@@ -2,28 +2,25 @@ class VariableRule {
|
|
|
2
2
|
name;
|
|
3
3
|
variable;
|
|
4
4
|
css;
|
|
5
|
-
nodes;
|
|
5
|
+
nodes = [];
|
|
6
6
|
constructor(name, variable, css){
|
|
7
7
|
this.name = name;
|
|
8
8
|
this.variable = variable;
|
|
9
9
|
this.css = css;
|
|
10
|
-
this.nodes = [];
|
|
11
10
|
const hasDefaultValue = variable.value !== undefined;
|
|
12
11
|
if (hasDefaultValue) {
|
|
13
|
-
this.nodes.push(new VariableRuleNode(this
|
|
12
|
+
this.nodes.push(new VariableRuleNode(this, variable, css));
|
|
14
13
|
}
|
|
15
|
-
if (variable.modes) {
|
|
14
|
+
if (variable.modes && this.css.config.modeTrigger) {
|
|
16
15
|
for(const mode in variable.modes){
|
|
17
16
|
const modeVariable = variable.modes[mode];
|
|
18
|
-
const variableRule = new VariableRuleNode(this
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.nodes.push(variableRule);
|
|
26
|
-
}
|
|
17
|
+
const variableRule = new VariableRuleNode(this, modeVariable, css, mode);
|
|
18
|
+
const isDefaultMode = hasDefaultValue ? false : this.css.config.defaultMode === mode;
|
|
19
|
+
variableRule.isDefaultMode = isDefaultMode;
|
|
20
|
+
if (isDefaultMode) {
|
|
21
|
+
this.nodes.unshift(variableRule);
|
|
22
|
+
} else {
|
|
23
|
+
this.nodes.push(variableRule);
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
}
|
|
@@ -36,42 +33,51 @@ class VariableRule {
|
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
35
|
class VariableRuleNode {
|
|
39
|
-
|
|
36
|
+
rule;
|
|
40
37
|
variable;
|
|
41
38
|
css;
|
|
42
39
|
mode;
|
|
43
40
|
native;
|
|
44
|
-
isDefaultMode;
|
|
45
|
-
constructor(
|
|
46
|
-
this.
|
|
41
|
+
isDefaultMode = false;
|
|
42
|
+
constructor(rule, variable, css, mode){
|
|
43
|
+
this.rule = rule;
|
|
47
44
|
this.variable = variable;
|
|
48
45
|
this.css = css;
|
|
49
46
|
this.mode = mode;
|
|
50
|
-
this.isDefaultMode = false;
|
|
51
|
-
}
|
|
52
|
-
get modeTrigger() {
|
|
53
|
-
return this.mode ? this.css.config.modes?.[this.mode] : undefined;
|
|
54
47
|
}
|
|
55
48
|
get selectorText() {
|
|
56
49
|
const isDefaultMode = this.isDefaultMode;
|
|
57
50
|
if (this.mode) {
|
|
58
|
-
switch(this.modeTrigger){
|
|
59
|
-
case 'media':
|
|
60
|
-
return ':root';
|
|
51
|
+
switch(this.css.config.modeTrigger){
|
|
61
52
|
case 'host':
|
|
62
|
-
return `:host(.${this.mode})
|
|
53
|
+
return `:host(.${this.mode})${isDefaultMode ? ',:host' : ''}`;
|
|
63
54
|
case 'class':
|
|
64
|
-
return `.${this.mode}
|
|
55
|
+
return `.${this.mode}${isDefaultMode ? ',:root' : ''}`;
|
|
65
56
|
default:
|
|
66
|
-
return '';
|
|
57
|
+
return ':root';
|
|
67
58
|
}
|
|
68
59
|
} else {
|
|
69
60
|
return ':root';
|
|
70
61
|
}
|
|
71
62
|
}
|
|
72
63
|
get text() {
|
|
73
|
-
let
|
|
74
|
-
|
|
64
|
+
let value = '';
|
|
65
|
+
switch(this.rule.variable.type){
|
|
66
|
+
case 'color':
|
|
67
|
+
{
|
|
68
|
+
const color = this.variable;
|
|
69
|
+
value = (color.alpha ?? 1) < 1 ? `${color.space}(${color.value}/${color.alpha})` : `${color.space}(${color.value})`;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case 'number':
|
|
73
|
+
value = String(this.variable.value);
|
|
74
|
+
break;
|
|
75
|
+
case 'string':
|
|
76
|
+
value = this.variable.value;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
let text = `${this.selectorText}{--${this.rule.name}:${value}}`;
|
|
80
|
+
if (this.css.config.modeTrigger === 'media' && this.mode) {
|
|
75
81
|
text = `@media (prefers-color-scheme:${this.mode}){${text}}`;
|
|
76
82
|
}
|
|
77
83
|
return text;
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@master/css","type":"module","scripts":{"build":"techor build \"src/**/*.ts\"","dev":"pnpm build --watch","test":"vitest","type-check":"tsc --noEmit","lint":"eslint"},"license":"MIT","description":"The CSS language and framework for rapidly building modern and high-performance websites","author":"Aoyue Design LLC.","funding":"https://rc.css.master.co/sponsor","homepage":"https://css.master.co","bugs":{"url":"https://github.com/master-co/css/issues"},"repository":{"type":"git","url":"https://github.com/master-co/css.git","directory":"packages/core"},"keywords":["style","styles","html","variants","virtual","virtual-css","utility","css","ui","lightweight","class","webpack","plugin","integration","vite","parcel","build-tools","mastercss"],"sideEffects":false,"main":"./dist/index.cjs","jsnext:main":"./dist/index.mjs","esnext":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"bin":"./dist/bin/index.mjs","files":["dist"],"publishConfig":{"access":"public","provenance":true},"dependencies":{"@master/colors":"^
|
|
1
|
+
{"name":"@master/css","type":"module","scripts":{"build":"techor build \"src/**/*.ts\"","dev":"pnpm build --watch","test":"vitest","bench":"vitest bench","type-check":"tsc --noEmit","lint":"eslint"},"license":"MIT","description":"The CSS language and framework for rapidly building modern and high-performance websites","author":"Aoyue Design LLC.","funding":"https://rc.css.master.co/sponsor","homepage":"https://css.master.co","bugs":{"url":"https://github.com/master-co/css/issues"},"repository":{"type":"git","url":"https://github.com/master-co/css.git","directory":"packages/core"},"keywords":["style","styles","html","variants","virtual","virtual-css","utility","css","ui","lightweight","class","webpack","plugin","integration","vite","parcel","build-tools","mastercss"],"sideEffects":false,"main":"./dist/index.cjs","jsnext:main":"./dist/index.mjs","esnext":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"},"./*":{"types":"./dist/*.d.ts","require":"./dist/*.cjs","import":"./dist/*.mjs"}},"bin":"./dist/bin/index.mjs","files":["dist"],"publishConfig":{"access":"public","provenance":true},"dependencies":{"@master/colors":"^3.0.0","@master/normal.css":"^3.2.0","csstype":"^3.1.3","json-safe-extend":"^3.2.5"},"devDependencies":{"shared":"^2.0.0-rc.69"},"version":"2.0.0-rc.69"}
|