zyzz 0.0.20 → 0.0.21

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 (131) hide show
  1. package/dist/Style.d.ts +7 -0
  2. package/dist/Style.d.ts.map +1 -1
  3. package/dist/Style.js +1 -5
  4. package/dist/Style.js.map +1 -1
  5. package/dist/compiler/Graph.d.ts +3 -0
  6. package/dist/compiler/Graph.d.ts.map +1 -1
  7. package/dist/compiler/Graph.js +44 -37
  8. package/dist/compiler/Graph.js.map +1 -1
  9. package/dist/compiler/Source.d.ts +4 -0
  10. package/dist/compiler/Source.d.ts.map +1 -1
  11. package/dist/compiler/Source.js +63 -6
  12. package/dist/compiler/Source.js.map +1 -1
  13. package/dist/compiler/Transform.d.ts +4 -1
  14. package/dist/compiler/Transform.d.ts.map +1 -1
  15. package/dist/compiler/Transform.js +32 -46
  16. package/dist/compiler/Transform.js.map +1 -1
  17. package/dist/compiler/internal/Catalogs.d.ts.map +1 -1
  18. package/dist/compiler/internal/Catalogs.js +6 -1
  19. package/dist/compiler/internal/Catalogs.js.map +1 -1
  20. package/dist/compiler/internal/Compositions.d.ts.map +1 -1
  21. package/dist/compiler/internal/Compositions.js +5 -0
  22. package/dist/compiler/internal/Compositions.js.map +1 -1
  23. package/dist/compiler/internal/Configurations.d.ts.map +1 -1
  24. package/dist/compiler/internal/Configurations.js +2 -1
  25. package/dist/compiler/internal/Configurations.js.map +1 -1
  26. package/dist/compiler/internal/Contract.d.ts +4 -1
  27. package/dist/compiler/internal/Contract.d.ts.map +1 -1
  28. package/dist/compiler/internal/Contract.js +56 -147
  29. package/dist/compiler/internal/Contract.js.map +1 -1
  30. package/dist/compiler/internal/Contributions.d.ts.map +1 -1
  31. package/dist/compiler/internal/Contributions.js +1 -3
  32. package/dist/compiler/internal/Contributions.js.map +1 -1
  33. package/dist/compiler/internal/Dynamic.d.ts +1 -1
  34. package/dist/compiler/internal/Dynamic.d.ts.map +1 -1
  35. package/dist/compiler/internal/Dynamic.js +5 -5
  36. package/dist/compiler/internal/Dynamic.js.map +1 -1
  37. package/dist/compiler/internal/Names.d.ts +5 -0
  38. package/dist/compiler/internal/Names.d.ts.map +1 -0
  39. package/dist/compiler/internal/Names.js +37 -0
  40. package/dist/compiler/internal/Names.js.map +1 -0
  41. package/dist/compiler/internal/Selectors.d.ts +1 -1
  42. package/dist/compiler/internal/Selectors.d.ts.map +1 -1
  43. package/dist/compiler/internal/Selectors.js +5 -2
  44. package/dist/compiler/internal/Selectors.js.map +1 -1
  45. package/dist/compiler/internal/Stylesheets.js +2 -2
  46. package/dist/compiler/internal/Stylesheets.js.map +1 -1
  47. package/dist/compiler/internal/Themes.d.ts.map +1 -1
  48. package/dist/compiler/internal/Themes.js +2 -1
  49. package/dist/compiler/internal/Themes.js.map +1 -1
  50. package/dist/compiler/internal/Vars.d.ts +2 -0
  51. package/dist/compiler/internal/Vars.d.ts.map +1 -1
  52. package/dist/compiler/internal/Vars.js +7 -1
  53. package/dist/compiler/internal/Vars.js.map +1 -1
  54. package/dist/default.d.ts +4 -4
  55. package/dist/default.d.ts.map +1 -1
  56. package/dist/default.js +9 -9
  57. package/dist/default.js.map +2 -2
  58. package/dist/default.js.zyzz.json +1 -1
  59. package/dist/internal/Authoring.d.ts.map +1 -1
  60. package/dist/internal/Authoring.js +8 -3
  61. package/dist/internal/Authoring.js.map +1 -1
  62. package/dist/internal/Binding.d.ts +4 -0
  63. package/dist/internal/Binding.d.ts.map +1 -1
  64. package/dist/internal/Binding.js +2 -0
  65. package/dist/internal/Binding.js.map +1 -1
  66. package/dist/internal/Configuration.d.ts +2 -2
  67. package/dist/internal/Configuration.d.ts.map +1 -1
  68. package/dist/internal/Configuration.js +4 -2
  69. package/dist/internal/Configuration.js.map +1 -1
  70. package/dist/internal/Identity.d.ts +3 -3
  71. package/dist/internal/Identity.d.ts.map +1 -1
  72. package/dist/internal/Identity.js +11 -9
  73. package/dist/internal/Identity.js.map +1 -1
  74. package/dist/internal/Theme.js +2 -2
  75. package/dist/internal/Theme.js.map +1 -1
  76. package/dist/internal/Token.d.ts +5 -1
  77. package/dist/internal/Token.d.ts.map +1 -1
  78. package/dist/internal/Token.js +9 -2
  79. package/dist/internal/Token.js.map +1 -1
  80. package/dist/internal/VariableSets.js +1 -1
  81. package/dist/internal/VariableSets.js.map +1 -1
  82. package/dist/node/Host.d.ts.map +1 -1
  83. package/dist/node/Host.js +2 -0
  84. package/dist/node/Host.js.map +1 -1
  85. package/dist/variable.js +1 -1
  86. package/dist/variable.js.map +1 -1
  87. package/dist/vite/index.d.ts.map +1 -1
  88. package/dist/vite/index.js +36 -12
  89. package/dist/vite/index.js.map +1 -1
  90. package/dist/web/Css.d.ts +7 -2
  91. package/dist/web/Css.d.ts.map +1 -1
  92. package/dist/web/Css.js +46 -39
  93. package/dist/web/Css.js.map +1 -1
  94. package/dist/web/internal/ClassName.d.ts +13 -2
  95. package/dist/web/internal/ClassName.d.ts.map +1 -1
  96. package/dist/web/internal/ClassName.js +17 -30
  97. package/dist/web/internal/ClassName.js.map +1 -1
  98. package/dist/web/internal/Themes.d.ts +3 -0
  99. package/dist/web/internal/Themes.d.ts.map +1 -1
  100. package/dist/web/internal/Themes.js +48 -24
  101. package/dist/web/internal/Themes.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/Style.ts +4 -1
  104. package/src/compiler/Graph.ts +60 -46
  105. package/src/compiler/Source.ts +83 -5
  106. package/src/compiler/Transform.ts +42 -60
  107. package/src/compiler/internal/Catalogs.ts +9 -1
  108. package/src/compiler/internal/Compositions.ts +7 -0
  109. package/src/compiler/internal/Configurations.ts +2 -1
  110. package/src/compiler/internal/Contract.ts +75 -253
  111. package/src/compiler/internal/Contributions.ts +1 -5
  112. package/src/compiler/internal/Dynamic.ts +14 -9
  113. package/src/compiler/internal/Names.ts +48 -0
  114. package/src/compiler/internal/Selectors.ts +6 -1
  115. package/src/compiler/internal/Stylesheets.ts +2 -2
  116. package/src/compiler/internal/Themes.ts +6 -1
  117. package/src/compiler/internal/Vars.ts +9 -1
  118. package/src/default.ts +9 -10
  119. package/src/internal/Authoring.ts +8 -2
  120. package/src/internal/Binding.ts +5 -0
  121. package/src/internal/Configuration.ts +7 -4
  122. package/src/internal/Identity.ts +14 -12
  123. package/src/internal/Theme.ts +2 -2
  124. package/src/internal/Token.ts +13 -1
  125. package/src/internal/VariableSets.ts +1 -1
  126. package/src/node/Host.ts +3 -0
  127. package/src/variable.ts +1 -1
  128. package/src/vite/index.ts +43 -18
  129. package/src/web/Css.ts +83 -49
  130. package/src/web/internal/ClassName.ts +31 -36
  131. package/src/web/internal/Themes.ts +75 -29
@@ -12,20 +12,17 @@ export function create(options) {
12
12
  ? body.slice(prefix.length, -1)
13
13
  : '';
14
14
  const simple = /^[a-zA-Z0-9-]{1,24}$/.test(literal);
15
- const label = options.property === 'display' && displays.has(literal)
15
+ const namespace = options.namespace ? `${options.namespace}-` : '';
16
+ if (options.context !== undefined)
17
+ return `z-${namespace}${options.context}-${encode(property)}${options.slot === undefined ? '' : `-${options.slot}`}`;
18
+ const value = simple ? literal : `[${literal || body}]`;
19
+ const readable = options.property === 'display' && displays.has(literal)
16
20
  ? literal
17
- : `${property.startsWith('--') ? encode(property).replaceAll('-', '_2d_') : property}${simple ? `-${literal}` : ''}`;
18
- const suffix = (() => {
19
- if (options.context !== undefined)
20
- return `-${hash(options.stable || simple ? options.context : JSON.stringify([options.context, options.body]))}${options.slot === undefined ? '' : `-${options.slot}`}`;
21
- if (!simple)
22
- return `-${hash(options.body)}`;
23
- return '';
24
- })();
25
- if (options.stable)
26
- return `z-${encode(property)}${suffix}`;
27
- // Custom properties and vendor spellings can contain identifier punctuation.
28
- return `z-${condition ? `${condition[1]}-` : ''}${encode(label)}${suffix}`;
21
+ : property.startsWith('--')
22
+ ? `[${property}:${literal || body}]`
23
+ : `${property}-${value}`;
24
+ // DOM class tokens cannot contain whitespace; preserve its spelling reversibly.
25
+ return `z-${namespace}${condition ? `${condition[1]}-` : ''}${readable.replace(/[\s_"'<>]/gu, (character) => `_${character.codePointAt(0).toString(16)}_`)}`;
29
26
  }
30
27
  const aliases = {
31
28
  backgroundColor: 'bg',
@@ -56,22 +53,12 @@ const displays = new Set([
56
53
  function encode(value) {
57
54
  return value.replace(/[^a-zA-Z0-9-]/g, (character) => `_${character.charCodeAt(0).toString(16)}_`);
58
55
  }
59
- // Six CSS identifier characters retain 36 bits from two deterministic streams.
60
- function hash(value) {
61
- let first = 2166136261;
62
- let second = 5381;
63
- for (let index = 0; index < value.length; index++) {
64
- const code = value.charCodeAt(index);
65
- first = Math.imul(first ^ code, 16777619);
66
- second = Math.imul(second, 33) ^ code;
67
- }
68
- const alphabet = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';
69
- let bits = (first >>> 0) * 16 + (second >>> 28);
70
- let result = '';
71
- for (let index = 0; index < 6; index++) {
72
- result = alphabet[bits % 64] + result;
73
- bits = Math.floor(bits / 64);
74
- }
75
- return result;
56
+ /** Escapes a generated class token for use as a CSS selector. */
57
+ export function selector(value) {
58
+ return value.replace(/[^a-zA-Z0-9_-]/gu, (character) => `\\${character.codePointAt(0).toString(16)} `);
76
59
  }
60
+ /** Carries exact emitted rule bodies for graph-wide collision checks. */
61
+ export const rules = Symbol('zyzz.css.rules');
62
+ /** Carries authored names between source extraction and CSS emission. */
63
+ export const labels = Symbol('zyzz.css.labels');
77
64
  //# sourceMappingURL=ClassName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassName.js","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClassName.js","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare function create(): {
6
6
  emit: (themes: Readonly<Record<string, Theme.Definition | Vars.Definition>>, schemes?: boolean, separate?: 'all' | 'defaults') => {
7
7
  classes: Readonly<Record<string, string>>;
8
8
  css: string;
9
+ rules: Rule[];
9
10
  resources: Resource[];
10
11
  };
11
12
  serialize: (token: Token.Reference) => string;
@@ -36,4 +37,6 @@ export type Rule = {
36
37
  };
37
38
  /** Selects independently shareable defaults or all token rules. */
38
39
  export declare const shared: unique symbol;
40
+ /** Names an authored scope without its private source identity. */
41
+ export declare function scope(value: string, identity?: string): string;
39
42
  //# sourceMappingURL=Themes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Themes.d.ts","sourceRoot":"","sources":["../../../src/web/internal/Themes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,KAAK,IAAI,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAErD,6EAA6E;AAC7E,wBAAgB,MAAM;mBAsCV,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,gCAEzD,KAAK,GAAG,UAAU;QA6H3B,OAAO;QACP,GAAG;QAaH,SAAS;;uBAxKa,KAAK,CAAC,SAAS,KAAG,MAAM;EA6RnD;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED,oGAAoG;AACpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,MAAM,CAyCrD;AAED,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,IAAI,GAAG;IACjB,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,MAAM,eAA+B,CAAA"}
1
+ {"version":3,"file":"Themes.d.ts","sourceRoot":"","sources":["../../../src/web/internal/Themes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,KAAK,IAAI,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAErD,6EAA6E;AAC7E,wBAAgB,MAAM;mBAqCV,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,gCAEzD,KAAK,GAAG,UAAU;;;;;;uBA9BL,KAAK,CAAC,SAAS,KAAG,MAAM;EAiUnD;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED,oGAAoG;AACpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,MAAM,CAyCrD;AAED,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,IAAI,GAAG;IACjB,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,MAAM,eAA+B,CAAA;AAElD,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9D"}
@@ -7,8 +7,6 @@ import * as Scheme from '../../internal/Scheme.js';
7
7
  import * as Token from '../../internal/Token.js';
8
8
  /** Collects live token references within one in-memory compilation graph. */
9
9
  export function create() {
10
- let nextScope = 0;
11
- let nextVariable = 0;
12
10
  const contracts = new Map();
13
11
  const defaults = new Map();
14
12
  const defaultGroups = new Map();
@@ -24,17 +22,15 @@ export function create() {
24
22
  }
25
23
  let name = contract.paths.get(token.path);
26
24
  if (!name) {
27
- name =
28
- contract.identity === undefined
29
- ? `--z${nextVariable++}`
30
- : variable(contract.identity, token.path);
25
+ name = variable(contract.identity, token.path, token.contract.variableNaming);
31
26
  contract.paths.set(token.path, name);
32
27
  }
33
- const label = contract.identity?.startsWith('src-') ? token.path : undefined;
28
+ const label = token.path;
34
29
  return `var(${name},${literal(value, label, token.contract)})`;
35
30
  }
36
31
  function emit(themes, schemes = false, separate) {
37
32
  const classes = Object.create(null);
33
+ const scopeBodies = new Map();
38
34
  const completeDefaults = new Set();
39
35
  const empty = [];
40
36
  const rules = [];
@@ -47,9 +43,11 @@ export function create() {
47
43
  throw new Error('Expected a theme definition.');
48
44
  // Anonymous contracts are graph-local. Source-owned contracts retain stable
49
45
  // identities across separately compiled components and theme scopes.
50
- const className = data.contract[Token.identity] === undefined
51
- ? `t_${nextScope++}`
52
- : `z_theme-${encode(name)}`;
46
+ const className = scope(data.cssName ??
47
+ (data.contract[Token.identity] &&
48
+ name.startsWith(`${data.contract[Token.identity]}-`)
49
+ ? name.slice(data.contract[Token.identity].length + 1)
50
+ : name), data.contract[Token.identity]);
53
51
  classes[name] = className;
54
52
  let contract = contracts.get(data.contract);
55
53
  if (data.contract[Token.complete]) {
@@ -61,9 +59,7 @@ export function create() {
61
59
  for (const path of Object.keys(data.values)) {
62
60
  if (contract.paths.has(path))
63
61
  continue;
64
- contract.paths.set(path, contract.identity === undefined
65
- ? `--z${nextVariable++}`
66
- : variable(contract.identity, path));
62
+ contract.paths.set(path, variable(contract.identity, path, data.contract.variableNaming));
67
63
  }
68
64
  contracts.set(data.contract, contract);
69
65
  }
@@ -73,7 +69,7 @@ export function create() {
73
69
  if (separate === 'all' && contract.identity) {
74
70
  completeDefaults.add(data.contract);
75
71
  for (const [path, value] of Object.entries(data.values))
76
- literal(value, contract.identity.startsWith('src-') ? path : undefined, data.contract);
72
+ literal(value, path, data.contract);
77
73
  }
78
74
  if (!contract.paths.size)
79
75
  empty.push(`.${className}{}`);
@@ -84,17 +80,39 @@ export function create() {
84
80
  const value = data.values[path];
85
81
  if (value === undefined)
86
82
  throw new Error('Theme scope is missing a live token.');
87
- const label = contract.identity?.startsWith('src-') ? path : undefined;
83
+ const label = path;
88
84
  declarations.push({
89
85
  conditions: [],
90
86
  property: name,
91
87
  selector: `.${className}`,
92
88
  value: literal(value, label, data.contract),
93
89
  });
90
+ // Standalone styles have no contract metadata to select their original spelling.
91
+ if (contract.identity?.startsWith('id-') &&
92
+ data.contract.variableNaming === undefined)
93
+ declarations.push({
94
+ conditions: [],
95
+ property: variable(`id-${Array.from(contract.identity
96
+ .slice(3)
97
+ .replace(/_([0-9a-f]+)_/g, (_, code) => String.fromCodePoint(Number.parseInt(code, 16))), (character) => character.codePointAt(0).toString(16)).join('-')}`, path, 'legacy'),
98
+ selector: `.${className}`,
99
+ value: `var(${name})`,
100
+ });
94
101
  }
95
102
  rules.push(...declarations);
96
103
  for (const [path, name] of contract.paths)
97
- conditional(data.values[path], name, `.${className}`, rules, contract.identity?.startsWith('src-') ? path : undefined, [], data.contract);
104
+ conditional(data.values[path], name, `.${className}`, rules, path, [], data.contract);
105
+ }
106
+ for (const rule of rules) {
107
+ const key = JSON.stringify([
108
+ rule.selector,
109
+ rule.conditions,
110
+ rule.property,
111
+ ]);
112
+ const previous = scopeBodies.get(key);
113
+ if (previous !== undefined && previous !== rule.value)
114
+ throw new Error(`Generated scope ${rule.selector.slice(1)} conflicts. Supply distinct config ids.`);
115
+ scopeBodies.set(key, rule.value);
98
116
  }
99
117
  const scopes = new Map();
100
118
  for (const rule of rules) {
@@ -139,6 +157,7 @@ export function create() {
139
157
  ]
140
158
  .filter(Boolean)
141
159
  .join('\n'),
160
+ rules,
142
161
  resources: separate
143
162
  ? [
144
163
  ...resources,
@@ -178,9 +197,7 @@ export function create() {
178
197
  const base = literal(value.default, label, owner);
179
198
  // Rule consolidation must not change existing variable identities.
180
199
  const css = `:where(*){--fallback:${base};}${conditionalCss(value, '--fallback', ':where(*)', label, owner)}`;
181
- const name = label
182
- ? `--z-${Identity.label(label)}-fallback-${Identity.compact(css)}`
183
- : `--z-f${Identity.hash(css)}`;
200
+ const name = `${variable(owner?.[Token.identity], label ?? 'value')}-fallback-${Identity.name(css)}`;
184
201
  const emitted = [
185
202
  { conditions: [], property: name, selector: ':where(*)', value: base },
186
203
  ];
@@ -271,10 +288,17 @@ export function render(rules) {
271
288
  }
272
289
  /** Selects independently shareable defaults or all token rules. */
273
290
  export const shared = Symbol('shared token rules');
274
- function variable(index, path) {
275
- // Packed declarations retain the spelling assigned by their compiler.
276
- if (typeof index === 'string' && index.startsWith('src-'))
277
- return `--z-${Identity.label(path)}-${Identity.compact(JSON.stringify([index, path]))}`;
278
- return `--z-t${encode(String(index))}-${encode(path)}`;
291
+ /** Names an authored scope without its private source identity. */
292
+ export function scope(value, identity) {
293
+ const namespace = identity?.startsWith('id-') ? `${identity.slice(3)}-` : '';
294
+ return `z-theme-${namespace}${Identity.name(value)}`;
295
+ }
296
+ function variable(identity, path, naming) {
297
+ if (naming === 'legacy' && identity)
298
+ return `--z-t${encode(identity)}-${encode(path)}`;
299
+ if (naming === 'hashed')
300
+ return `--z-${Identity.label(path)}-${Identity.compact(JSON.stringify([identity, path]))}`;
301
+ const namespace = identity?.startsWith('id-') ? `${identity.slice(3)}-` : '';
302
+ return `--z-${namespace}${path.split('.').map(Identity.name).join('-')}`;
279
303
  }
280
304
  //# sourceMappingURL=Themes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../../src/web/internal/Themes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../../src/web/internal/Themes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "license": "MIT",
5
5
  "description": "Modern, universal, simple styling library for the Web and React Native",
6
6
  "repository": {
package/src/Style.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Copies typed style declarations into immutable, ordered, target-independent data.
3
3
  * @module
4
4
  */
5
+ import type * as ClassName from './web/internal/ClassName.js'
5
6
  import * as VariableSets from './internal/VariableSets.js'
6
7
  import type * as Vars from './Vars.js'
7
8
  import * as Condition from './internal/Condition.js'
@@ -671,7 +672,7 @@ export function define(
671
672
  !custom &&
672
673
  !reference &&
673
674
  Token.mapped(theme, key) &&
674
- !(Binding.is(resolved) && !resolved.name.startsWith('--z-d')) &&
675
+ !(Binding.is(resolved) && !resolved[Binding.dynamic]) &&
675
676
  !(
676
677
  Token.isExpression(resolved) &&
677
678
  resolved.parts.every((part) => Token.is(part) || part === '')
@@ -778,6 +779,8 @@ export declare namespace define {
778
779
  export type Definition<name extends string = string, input = unknown> = {
779
780
  /** Type-only declarations used to retain native component compatibility. */
780
781
  readonly [Targets.authored]?: input
782
+ /** Internal source naming metadata retained through target compilation. */
783
+ readonly [ClassName.labels]?: ClassName.Labels | undefined
781
784
  /** Named styles in own enumerable property order. */
782
785
  readonly styles: readonly NamedStyle<name>[]
783
786
  }
@@ -6,6 +6,7 @@ import * as Contributions from './internal/Contributions.js'
6
6
  import * as Stylesheets from './internal/Stylesheets.js'
7
7
  import type * as Mapping from '@jridgewell/gen-mapping'
8
8
  import * as Css from '../web/Css.js'
9
+ import * as ClassName from '../web/internal/ClassName.js'
9
10
  import * as Native from './Native.js'
10
11
  import * as Edits from './internal/Edits.js'
11
12
  import * as Identity from '../internal/Identity.js'
@@ -39,6 +40,8 @@ export declare namespace compile {
39
40
 
40
41
  /** Source modules available for relative import resolution. */
41
42
  type Options = {
43
+ /** CSS-only hosts publish variable scopes once with shared rules. */
44
+ readonly [ThemeRules.shared]?: 'all' | 'defaults' | undefined
42
45
  /** Host entrypoints emit owned stylesheet effects without packed contracts. */
43
46
  readonly [Stylesheets.entry]?: string | undefined
44
47
  /** Host syntax from the same immutable source snapshot. */
@@ -156,6 +159,7 @@ type Cache = {
156
159
  native: compile.Options['native']
157
160
  result: compile.ReturnType
158
161
  schemes: boolean
162
+ shared?: 'all' | 'defaults' | undefined
159
163
  sources: Readonly<Record<string, string>>
160
164
  themes: Readonly<Record<string, Theme.Definition>>
161
165
  }
@@ -193,6 +197,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
193
197
  if (cache?.reset !== options.reset) cache = undefined
194
198
  if (cache?.cssOutput !== options.cssOutput) cache = undefined
195
199
  if (cache?.composition !== options.composition) cache = undefined
200
+ if (cache?.shared !== options[ThemeRules.shared]) cache = undefined
196
201
  if (
197
202
  (cache?.entry === undefined) !==
198
203
  (options[Stylesheets.entry] === undefined)
@@ -295,7 +300,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
295
300
  previous.type !== slot.type)
296
301
  )
297
302
  throw new Error(
298
- `Conflicting packed variable identity: ${slot.name}; compile libraries with package-qualified module IDs.`,
303
+ `Conflicting packed variable identity: ${slot.name}; supply distinct declaration ids.`,
299
304
  )
300
305
 
301
306
  variableSlots.set(slot.name, {
@@ -1014,7 +1019,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
1014
1019
  )
1015
1020
  fail(
1016
1021
  moduleId,
1017
- `Conflicting variable identity: ${slot.name}; compile libraries with package-qualified module IDs.`,
1022
+ `Conflicting variable identity: ${slot.name}; supply distinct declaration ids.`,
1018
1023
  call,
1019
1024
  )
1020
1025
 
@@ -1455,23 +1460,26 @@ function build(options: compile.Options, cache?: Cache): Cache {
1455
1460
  for (const library of Object.values(libraries))
1456
1461
  for (const link of Object.values(library.links)) published(link)
1457
1462
 
1458
- const atomicOwners = new Map<string, string>()
1459
- function packedOwners(link: Themes.Link, moduleId: string) {
1460
- for (const name of link.style?.className?.split(' ') ?? []) {
1461
- if (
1462
- !name.startsWith('z-') ||
1463
- name.startsWith('z-style-') ||
1464
- name.startsWith('z-content-')
1465
- )
1466
- continue
1467
- if (!atomicOwners.has(name)) atomicOwners.set(name, moduleId)
1463
+ const emittedRules = new Map<string, { body: string; moduleId: string }>()
1464
+ function registerRules(
1465
+ classRules: Readonly<Record<string, string>>,
1466
+ moduleId: string,
1467
+ ) {
1468
+ for (const [name, body] of Object.entries(classRules)) {
1469
+ const previous = emittedRules.get(name)
1470
+ if (previous && previous.body !== body)
1471
+ throw new Css.CompileError([
1472
+ {
1473
+ code: 'identity_collision',
1474
+ message: `Generated ${name.startsWith('@scope:') ? `scope ${name.split(':')[1]}` : `class ${name}`} conflicts with module ${previous.moduleId}. Supply distinct config or style ids.`,
1475
+ path: [moduleId],
1476
+ },
1477
+ ])
1478
+ emittedRules.set(name, { body, moduleId })
1468
1479
  }
1469
- for (const member of Object.values(link.members ?? {}))
1470
- packedOwners(member, moduleId)
1471
1480
  }
1472
1481
  for (const [moduleId, library] of Object.entries(libraries))
1473
- for (const link of Object.values(library.links))
1474
- packedOwners(link, moduleId)
1482
+ registerRules(library.classRules, moduleId)
1475
1483
  if (options.compiler === false) {
1476
1484
  const identities = new Map<string, string>()
1477
1485
  for (const [moduleId, library] of Object.entries(libraries)) {
@@ -1570,7 +1578,9 @@ function build(options: compile.Options, cache?: Cache): Cache {
1570
1578
  ? previous!.result.modules[moduleId]!
1571
1579
  : Transform.compile({
1572
1580
  [ThemeRules.shared]:
1573
- options[Stylesheets.entry] === undefined ? 'defaults' : 'all',
1581
+ options[Stylesheets.entry] === undefined
1582
+ ? (options[ThemeRules.shared] ?? 'defaults')
1583
+ : 'all',
1574
1584
  compiler: options.compiler,
1575
1585
  development: options.development,
1576
1586
  composition: options.composition,
@@ -1610,34 +1620,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
1610
1620
  })
1611
1621
  if (transformed.size > 256)
1612
1622
  transformed.delete(transformed.keys().next().value!)
1613
- // Module-local checks cannot detect truncated ownership hashes colliding across files.
1614
- const emitted = new Set(
1615
- Array.from(
1616
- modules[moduleId]!.css.matchAll(/\.(z-[\w-]+)\{/g),
1617
- (match) => match[1],
1618
- ),
1619
- )
1620
- for (const value of Object.values(modules[moduleId]!.classes))
1621
- for (const name of value.split(' ')) {
1622
- if (
1623
- options.compiler === false ||
1624
- !name.startsWith('z-') ||
1625
- !emitted.has(name)
1626
- )
1627
- continue
1628
-
1629
- const owner = atomicOwners.get(name)
1630
- if (owner !== undefined && owner !== moduleId)
1631
- throw new Css.CompileError([
1632
- {
1633
- code: 'invalid_name',
1634
- message: `Atomic class ${name} is also owned by module ${owner}.`,
1635
- path: [moduleId],
1636
- },
1637
- ])
1638
-
1639
- atomicOwners.set(name, moduleId)
1640
- }
1623
+ registerRules(modules[moduleId]![ClassName.rules], moduleId)
1641
1624
 
1642
1625
  for (const call of extracted.get(moduleId)!.calls)
1643
1626
  if (
@@ -1651,20 +1634,32 @@ function build(options: compile.Options, cache?: Cache): Cache {
1651
1634
 
1652
1635
  const defaults = new Set<string>()
1653
1636
  const defaultRules = new Map<string, ThemeRules.Rule[]>()
1637
+ const defaultSections: Stylesheets.Section[] = []
1654
1638
  if (options[Stylesheets.entry] === undefined)
1655
1639
  for (const [source, output] of Object.entries(modules))
1656
1640
  for (const resource of output[ThemeRules.shared] ?? []) {
1657
1641
  if (defaults.has(resource.id)) continue
1658
1642
  defaults.add(resource.id)
1659
1643
 
1644
+ if (!resource.rules) {
1645
+ defaultSections.push({
1646
+ css: resource.css,
1647
+ key: resource.id,
1648
+ layers: [],
1649
+ source,
1650
+ })
1651
+ continue
1652
+ }
1653
+
1660
1654
  const rules = defaultRules.get(source) ?? []
1661
- rules.push(...(resource.rules ?? []))
1655
+ rules.push(...resource.rules)
1662
1656
  defaultRules.set(source, rules)
1663
1657
  }
1664
1658
 
1665
1659
  const shared = defaults.size
1666
1660
  ? renderShared([
1667
1661
  ...sharedSections,
1662
+ ...defaultSections,
1668
1663
  ...[...defaultRules].map(([source, rules]) => ({
1669
1664
  css: ThemeRules.render(rules),
1670
1665
  key: 'theme-defaults',
@@ -1675,6 +1670,22 @@ function build(options: compile.Options, cache?: Cache): Cache {
1675
1670
  : contributions
1676
1671
  const sharedCss = shared.css
1677
1672
 
1673
+ function publishedRules(
1674
+ id: string,
1675
+ visited = new Set<string>(),
1676
+ ): Readonly<Record<string, string>> {
1677
+ if (visited.has(id)) return {}
1678
+ visited.add(id)
1679
+ return Object.assign(
1680
+ {},
1681
+ ...(dependencies[id] ?? []).map((dependency) =>
1682
+ publishedRules(dependency, visited),
1683
+ ),
1684
+ libraries[id]?.classRules,
1685
+ modules[id]?.[ClassName.rules],
1686
+ )
1687
+ }
1688
+
1678
1689
  function publishedStyle(link: Themes.Link): Themes.Link {
1679
1690
  return {
1680
1691
  ...link,
@@ -1733,6 +1744,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
1733
1744
 
1734
1745
  return {
1735
1746
  compiler: options.compiler !== false,
1747
+ shared: options[ThemeRules.shared],
1736
1748
  composition: options.composition,
1737
1749
  cssOutput: options.cssOutput,
1738
1750
  contracts,
@@ -1803,6 +1815,7 @@ function build(options: compile.Options, cache?: Cache): Cache {
1803
1815
  })),
1804
1816
  id,
1805
1817
  configurations(id),
1818
+ publishedRules(id),
1806
1819
  ),
1807
1820
  ]),
1808
1821
  ),
@@ -1825,6 +1838,7 @@ function nativeOutput(
1825
1838
  let sourceMap: Mapping.EncodedSourceMap | undefined
1826
1839
 
1827
1840
  return Object.freeze({
1841
+ [ClassName.rules]: Object.freeze({}),
1828
1842
  classes: Object.freeze({}),
1829
1843
  [Edits.key]: output[Edits.key],
1830
1844
  code: output.code,