@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.
Files changed (109) hide show
  1. package/dist/common.cjs +0 -2
  2. package/dist/common.d.ts +0 -1
  3. package/dist/common.mjs +1 -2
  4. package/dist/config/functions.cjs +9 -243
  5. package/dist/config/functions.d.ts +137 -2
  6. package/dist/config/functions.mjs +9 -243
  7. package/dist/config/index.cjs +2 -2
  8. package/dist/config/index.mjs +2 -2
  9. package/dist/config/modes.cjs +307 -3
  10. package/dist/config/modes.d.ts +306 -2
  11. package/dist/config/modes.mjs +307 -3
  12. package/dist/config/rules.cjs +740 -782
  13. package/dist/config/rules.d.ts +692 -683
  14. package/dist/config/rules.mjs +741 -783
  15. package/dist/config/utilities.cjs +328 -97
  16. package/dist/config/utilities.d.ts +247 -16
  17. package/dist/config/utilities.mjs +328 -97
  18. package/dist/config/variables.cjs +88 -460
  19. package/dist/config/variables.d.ts +358 -369
  20. package/dist/config/variables.mjs +88 -460
  21. package/dist/core.cjs +242 -260
  22. package/dist/core.d.ts +5 -3
  23. package/dist/core.mjs +242 -260
  24. package/dist/create.cjs +10 -0
  25. package/dist/create.d.ts +3 -0
  26. package/dist/create.mjs +8 -0
  27. package/dist/declarers/core.group.cjs +99 -0
  28. package/dist/declarers/core.group.d.ts +2 -0
  29. package/dist/declarers/core.group.mjs +97 -0
  30. package/dist/declarers/core.variable.cjs +9 -0
  31. package/dist/declarers/core.variable.d.ts +4 -0
  32. package/dist/declarers/core.variable.mjs +7 -0
  33. package/dist/declarers/index.cjs +13 -0
  34. package/dist/declarers/index.d.ts +10 -0
  35. package/dist/declarers/index.mjs +11 -0
  36. package/dist/declarers/pair.cjs +12 -0
  37. package/dist/declarers/pair.d.ts +4 -0
  38. package/dist/declarers/pair.mjs +10 -0
  39. package/dist/factories/with-syntax-layer.cjs +0 -2
  40. package/dist/factories/with-syntax-layer.mjs +0 -2
  41. package/dist/function-transformers/core.calc.cjs +225 -0
  42. package/dist/function-transformers/core.calc.d.ts +2 -0
  43. package/dist/function-transformers/core.calc.mjs +223 -0
  44. package/dist/function-transformers/core.variable.cjs +23 -0
  45. package/dist/function-transformers/core.variable.d.ts +7 -0
  46. package/dist/function-transformers/core.variable.mjs +21 -0
  47. package/dist/function-transformers/index.cjs +11 -0
  48. package/dist/function-transformers/index.d.ts +8 -0
  49. package/dist/function-transformers/index.mjs +9 -0
  50. package/dist/index.cjs +10 -1
  51. package/dist/index.d.ts +8 -2
  52. package/dist/index.mjs +6 -1
  53. package/dist/layer.cjs +2 -4
  54. package/dist/layer.mjs +2 -4
  55. package/dist/non-layer.cjs +2 -4
  56. package/dist/non-layer.mjs +2 -4
  57. package/dist/syntax-rule-type.cjs +8 -7
  58. package/dist/syntax-rule-type.d.ts +7 -7
  59. package/dist/syntax-rule-type.mjs +8 -7
  60. package/dist/syntax-rule.cjs +305 -253
  61. package/dist/syntax-rule.d.ts +2 -2
  62. package/dist/syntax-rule.mjs +306 -254
  63. package/dist/{utils/autofill-solid-style.cjs → transformers/auto-fill-solid.cjs} +3 -3
  64. package/dist/transformers/auto-fill-solid.d.ts +2 -0
  65. package/dist/{utils/autofill-solid-style.mjs → transformers/auto-fill-solid.mjs} +3 -3
  66. package/dist/transformers/index.cjs +9 -0
  67. package/dist/transformers/index.d.ts +6 -0
  68. package/dist/transformers/index.mjs +7 -0
  69. package/dist/types/common.d.ts +0 -2
  70. package/dist/types/config.d.ts +24 -20
  71. package/dist/types/syntax.d.ts +10 -8
  72. package/dist/utils/equal-selectors.cjs +1 -2
  73. package/dist/utils/equal-selectors.mjs +1 -2
  74. package/dist/utils/extend-config.cjs +83 -44
  75. package/dist/utils/extend-config.d.ts +10 -1
  76. package/dist/utils/extend-config.mjs +83 -44
  77. package/dist/utils/flatten-meta-object.cjs +38 -0
  78. package/dist/utils/flatten-meta-object.d.ts +13 -0
  79. package/dist/utils/flatten-meta-object.mjs +36 -0
  80. package/dist/utils/flatten-object.cjs +13 -9
  81. package/dist/utils/flatten-object.d.ts +1 -1
  82. package/dist/utils/flatten-object.mjs +13 -9
  83. package/dist/utils/generate-css.cjs +2 -2
  84. package/dist/utils/generate-css.d.ts +1 -2
  85. package/dist/utils/generate-css.mjs +2 -2
  86. package/dist/utils/generate-selector.cjs +2 -1
  87. package/dist/utils/generate-selector.mjs +2 -1
  88. package/dist/utils/minify-extended-config.cjs +64 -0
  89. package/dist/utils/minify-extended-config.d.ts +9 -0
  90. package/dist/utils/minify-extended-config.mjs +62 -0
  91. package/dist/utils/nest-meta-object.cjs +25 -0
  92. package/dist/utils/nest-meta-object.d.ts +7 -0
  93. package/dist/utils/nest-meta-object.mjs +23 -0
  94. package/dist/utils/parse-at.cjs +1 -2
  95. package/dist/utils/parse-at.d.ts +2 -2
  96. package/dist/utils/parse-at.mjs +1 -2
  97. package/dist/utils/parse-pair.cjs +3 -6
  98. package/dist/utils/parse-pair.mjs +3 -6
  99. package/dist/utils/parse-selector.cjs +6 -6
  100. package/dist/utils/parse-selector.d.ts +3 -3
  101. package/dist/utils/parse-selector.mjs +6 -6
  102. package/dist/utils/sort-readable-classes.cjs +2 -2
  103. package/dist/utils/sort-readable-classes.d.ts +1 -2
  104. package/dist/utils/sort-readable-classes.mjs +2 -2
  105. package/dist/variable-rule.cjs +35 -29
  106. package/dist/variable-rule.d.ts +16 -6
  107. package/dist/variable-rule.mjs +35 -29
  108. package/package.json +1 -1
  109. package/dist/utils/autofill-solid-style.d.ts +0 -3
@@ -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.name, variable, css));
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.name, modeVariable, css, mode);
19
- if (variableRule.modeTrigger) {
20
- const isDefaultMode = hasDefaultValue ? false : this.css.config.defaultMode === mode;
21
- variableRule.isDefaultMode = isDefaultMode;
22
- if (isDefaultMode) {
23
- this.nodes.unshift(variableRule);
24
- } else {
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
- name;
36
+ rule;
40
37
  variable;
41
38
  css;
42
39
  mode;
43
40
  native;
44
- isDefaultMode;
45
- constructor(name, variable, css, mode){
46
- this.name = name;
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})` + (isDefaultMode ? ',:host' : '');
53
+ return `:host(.${this.mode})${isDefaultMode ? ',:host' : ''}`;
63
54
  case 'class':
64
- return `.${this.mode}` + (isDefaultMode ? ',:root' : '');
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 text = `${this.selectorText}{--${this.name}:${String(this.variable.value)}}`;
74
- if (this.modeTrigger === 'media') {
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":"^2.1.1","@master/normal.css":"^3.2.0","@techor/extend":"^3.2.0","csstype":"^3.1.3"},"devDependencies":{"shared":"^2.0.0-rc.67"},"version":"2.0.0-rc.67"}
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"}
@@ -1,3 +0,0 @@
1
- import { SyntaxRuleDefinition } from '../types/config';
2
- declare const autofillSolidStyle: SyntaxRuleDefinition['transformValueComponents'];
3
- export default autofillSolidStyle;