zyzz 0.0.24 → 0.0.25

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 (87) hide show
  1. package/README.md +23 -365
  2. package/dist/Style.d.ts +2 -0
  3. package/dist/Style.d.ts.map +1 -1
  4. package/dist/compiler/Graph.d.ts +3 -0
  5. package/dist/compiler/Graph.d.ts.map +1 -1
  6. package/dist/compiler/Graph.js +38 -2
  7. package/dist/compiler/Graph.js.map +1 -1
  8. package/dist/compiler/Source.d.ts.map +1 -1
  9. package/dist/compiler/Source.js +11 -3
  10. package/dist/compiler/Source.js.map +1 -1
  11. package/dist/compiler/Transform.d.ts +4 -0
  12. package/dist/compiler/Transform.d.ts.map +1 -1
  13. package/dist/compiler/Transform.js +79 -15
  14. package/dist/compiler/Transform.js.map +1 -1
  15. package/dist/compiler/internal/Applications.d.ts +20 -0
  16. package/dist/compiler/internal/Applications.d.ts.map +1 -1
  17. package/dist/compiler/internal/Applications.js +151 -47
  18. package/dist/compiler/internal/Applications.js.map +1 -1
  19. package/dist/compiler/internal/Compositions.d.ts.map +1 -1
  20. package/dist/compiler/internal/Compositions.js +6 -0
  21. package/dist/compiler/internal/Compositions.js.map +1 -1
  22. package/dist/compiler/internal/Configurations.d.ts.map +1 -1
  23. package/dist/compiler/internal/Configurations.js +4 -0
  24. package/dist/compiler/internal/Configurations.js.map +1 -1
  25. package/dist/compiler/internal/Contract.d.ts.map +1 -1
  26. package/dist/compiler/internal/Contract.js +34 -7
  27. package/dist/compiler/internal/Contract.js.map +1 -1
  28. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
  29. package/dist/compiler/internal/PackedStyles.js +7 -0
  30. package/dist/compiler/internal/PackedStyles.js.map +1 -1
  31. package/dist/compiler/internal/Themes.d.ts.map +1 -1
  32. package/dist/compiler/internal/Themes.js +20 -8
  33. package/dist/compiler/internal/Themes.js.map +1 -1
  34. package/dist/internal/Configuration.d.ts +10 -0
  35. package/dist/internal/Configuration.d.ts.map +1 -1
  36. package/dist/internal/Configuration.js +8 -0
  37. package/dist/internal/Configuration.js.map +1 -1
  38. package/dist/internal/Token.d.ts +2 -0
  39. package/dist/internal/Token.d.ts.map +1 -1
  40. package/dist/internal/Token.js.map +1 -1
  41. package/dist/next/internal/Project.d.ts.map +1 -1
  42. package/dist/next/internal/Project.js +30 -25
  43. package/dist/next/internal/Project.js.map +1 -1
  44. package/dist/next/loader.js +2 -1
  45. package/dist/next/loader.js.map +1 -1
  46. package/dist/node/Host.d.ts.map +1 -1
  47. package/dist/node/Host.js +32 -23
  48. package/dist/node/Host.js.map +1 -1
  49. package/dist/node/internal/Contracts.d.ts +22 -0
  50. package/dist/node/internal/Contracts.d.ts.map +1 -0
  51. package/dist/node/internal/Contracts.js +287 -0
  52. package/dist/node/internal/Contracts.js.map +1 -0
  53. package/dist/unplugin/index.d.ts.map +1 -1
  54. package/dist/unplugin/index.js +31 -13
  55. package/dist/unplugin/index.js.map +1 -1
  56. package/dist/vite/index.d.ts.map +1 -1
  57. package/dist/vite/index.js +30 -37
  58. package/dist/vite/index.js.map +1 -1
  59. package/dist/web/Css.d.ts +10 -5
  60. package/dist/web/Css.d.ts.map +1 -1
  61. package/dist/web/Css.js +170 -31
  62. package/dist/web/Css.js.map +1 -1
  63. package/dist/web/internal/ClassName.d.ts +49 -0
  64. package/dist/web/internal/ClassName.d.ts.map +1 -1
  65. package/dist/web/internal/ClassName.js +57 -0
  66. package/dist/web/internal/ClassName.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/Style.ts +2 -0
  69. package/src/compiler/Graph.ts +42 -2
  70. package/src/compiler/Source.ts +11 -3
  71. package/src/compiler/Transform.ts +130 -29
  72. package/src/compiler/internal/Applications.ts +239 -63
  73. package/src/compiler/internal/Compositions.ts +9 -0
  74. package/src/compiler/internal/Configurations.ts +4 -0
  75. package/src/compiler/internal/Contract.ts +59 -7
  76. package/src/compiler/internal/PackedStyles.ts +9 -0
  77. package/src/compiler/internal/Themes.ts +25 -7
  78. package/src/internal/Configuration.ts +21 -0
  79. package/src/internal/Token.ts +2 -0
  80. package/src/next/internal/Project.ts +28 -23
  81. package/src/next/loader.ts +2 -1
  82. package/src/node/Host.ts +31 -24
  83. package/src/node/internal/Contracts.ts +384 -0
  84. package/src/unplugin/index.ts +35 -13
  85. package/src/vite/index.ts +35 -36
  86. package/src/web/Css.ts +228 -42
  87. package/src/web/internal/ClassName.ts +114 -0
package/dist/web/Css.js CHANGED
@@ -14,7 +14,8 @@ import * as Themes from './internal/Themes.js';
14
14
  /**
15
15
  * Emits atomic or grouped CSS without reading files or generating runtime code.
16
16
  * Shares only nonconflicting declaration domains; conflicting rules retain authored
17
- * order by default. Independent composition deduplicates complete applications.
17
+ * order by default. Independent composition deduplicates complete applications and
18
+ * shares equal atomic domain declarations under short names.
18
19
  * Class lists are scoped to the complete compilation input. Empty styles
19
20
  * return an empty class list and no rule.
20
21
  * @param options - Validated, ordered definitions from Style.define.
@@ -23,6 +24,8 @@ import * as Themes from './internal/Themes.js';
23
24
  */
24
25
  export function compile(options) {
25
26
  const labels = options[ClassName.labels] ?? options.styles[ClassName.labels];
27
+ const units = options[ClassName.units] ??
28
+ ClassName.registry().scope({ owner: '', qualifier: '' });
26
29
  options = {
27
30
  ...options,
28
31
  styles: { styles: options.styles.styles.map(Targets.web) },
@@ -61,11 +64,17 @@ export function compile(options) {
61
64
  const classes = Object.create(null);
62
65
  const diagnostics = [];
63
66
  const groups = new Map();
64
- const nestedComposition = options.styles.styles.some((style) => style.rules);
67
+ const nestedComposition = options.styles.styles.some((style) => style.rules && !isolated(style));
65
68
  const properties = new Set();
66
- for (const style of analyzed)
69
+ // Conditional and composed declarations join the same conflict domains.
70
+ function collect(style) {
67
71
  for (const { property } of style.declarations)
68
72
  properties.add(property);
73
+ for (const rule of style.rules ?? [])
74
+ collect(rule.style);
75
+ }
76
+ for (const style of analyzed)
77
+ collect(style);
69
78
  // Logical dimensions may alias either physical axis in inherited writing modes.
70
79
  // Preserve physical-only factoring when no logical dimension is authored.
71
80
  const logicalSizing = [...properties].some((property) => /^(min|max)?(blockSize|inlineSize)$/i.test(canonical(property)));
@@ -278,28 +287,31 @@ export function compile(options) {
278
287
  }
279
288
  // Sharing is safe only when every use of a conflict domain has the same
280
289
  // declaration sequence. Conditions conservatively retain contextual identities.
290
+ // Isolated class lists never combine, so atomic sharing considers ordered styles only.
291
+ const ordered = new Map();
292
+ const combinable = new Set();
293
+ for (const [index, style] of options.styles.styles.entries())
294
+ if (!isolated(style))
295
+ combinable.add(canonicalStyles[index]);
281
296
  for (const style of analyzed) {
282
297
  const domains = new Map();
283
298
  for (const item of style.declarations) {
284
299
  const property = item.property;
285
300
  const key = conflict(property);
286
- const declaration = declarationBody(item);
287
- if (groups.get(key) === false)
288
- continue;
289
- const entry = domains.get(key) ?? {
290
- body: '',
291
- property,
292
- };
293
- entry.body += declaration;
294
- if (entry.property !== property)
295
- groups.set(key, false);
301
+ const entry = domains.get(key) ?? { body: '', mixed: false, property };
302
+ entry.body += declarationBody(item);
303
+ entry.mixed ||= entry.property !== property;
296
304
  domains.set(key, entry);
297
305
  }
298
- for (const [key, entry] of domains) {
299
- const value = entry.body;
300
- const previous = groups.get(key);
301
- groups.set(key, previous === undefined || previous === value ? value : false);
302
- }
306
+ for (const [key, entry] of domains)
307
+ for (const map of combinable.has(style) ? [groups, ordered] : [groups]) {
308
+ const previous = map.get(key);
309
+ map.set(key, previous === false ||
310
+ entry.mixed ||
311
+ (previous !== undefined && previous !== entry.body)
312
+ ? false
313
+ : entry.body);
314
+ }
303
315
  }
304
316
  const defaultMode = options.cssOutput ?? 'atomic';
305
317
  if (defaultMode !== 'atomic' && defaultMode !== 'grouped')
@@ -313,6 +325,59 @@ export function compile(options) {
313
325
  function outputMode(style) {
314
326
  return Object.getOwnPropertyDescriptor(style, 'cssOutput')?.value;
315
327
  }
328
+ function compositionMode(style) {
329
+ const mode = Object.getOwnPropertyDescriptor(style, 'composition')
330
+ ?.value;
331
+ return mode ?? options.composition ?? 'ordered';
332
+ }
333
+ // Development keeps every style ordered so names survive value edits.
334
+ function isolated(style) {
335
+ return compositionMode(style) === 'independent' && !options.development;
336
+ }
337
+ // Lists declaration groups in authored order; undefined marks styles whose
338
+ // nested grouped output or anonymous layers emit one opaque rule.
339
+ function flatten(style, conditions = []) {
340
+ if (outputMode(style) === 'grouped')
341
+ return undefined;
342
+ if (style.rules) {
343
+ const items = [];
344
+ for (const rule of style.rules) {
345
+ if (rule.condition?.trim() === '@layer')
346
+ return undefined;
347
+ const nested = flatten(rule.style, rule.condition === undefined
348
+ ? conditions
349
+ : [...conditions, rule.condition]);
350
+ if (!nested)
351
+ return undefined;
352
+ items.push(...nested);
353
+ }
354
+ return items;
355
+ }
356
+ const items = [];
357
+ for (let index = 0; index < style.declarations.length;) {
358
+ const property = style.declarations[index].property;
359
+ let value = '';
360
+ // Keep same-property fallbacks ordered; they form one semantic value.
361
+ while (style.declarations[index]?.property === property) {
362
+ const declaration = style.declarations[index++];
363
+ value += `${Literal.name(property)}:${serialize(declaration.value)}${declaration.important ? '!important' : ''};`;
364
+ }
365
+ items.push({ conditions, property, value });
366
+ }
367
+ return items;
368
+ }
369
+ function byDomain(items) {
370
+ const result = new Map();
371
+ for (const item of items) {
372
+ const key = conflict(item.property);
373
+ const domain = result.get(key);
374
+ if (domain)
375
+ domain.push(item);
376
+ else
377
+ result.set(key, [item]);
378
+ }
379
+ return result;
380
+ }
316
381
  function representation(style) {
317
382
  return [
318
383
  outputMode(style),
@@ -348,8 +413,40 @@ export function compile(options) {
348
413
  const key = conflict(declaration.property);
349
414
  occurrences.set(key, (occurrences.get(key) ?? 0) + 1);
350
415
  }
416
+ // An ordered atomic style reuses the rules of the previous style that set a
417
+ // domain to the same sequence: no differing rule sits between them.
418
+ const runs = new Map();
419
+ const owned = new Map();
420
+ if (!options.development) {
421
+ const last = new Map();
422
+ for (const [index, style] of options.styles.styles.entries()) {
423
+ if (isolated(style))
424
+ continue;
425
+ const items = (outputMode(style) ?? defaultMode) === 'atomic' &&
426
+ options.names?.[style.name] === undefined
427
+ ? flatten(style)
428
+ : undefined;
429
+ // Grouped, explicit, and opaque rules may set any domain.
430
+ if (!items) {
431
+ last.clear();
432
+ continue;
433
+ }
434
+ for (const [domain, list] of byDomain(items)) {
435
+ const key = JSON.stringify(list.map((item) => [item.conditions, item.value]));
436
+ const previous = last.get(domain);
437
+ if (previous?.key !== key) {
438
+ last.set(domain, { key, owner: index });
439
+ continue;
440
+ }
441
+ const reuse = runs.get(index) ?? new Map();
442
+ reuse.set(domain, previous.owner);
443
+ runs.set(index, reuse);
444
+ }
445
+ }
446
+ }
351
447
  for (const [styleIndex, style] of options.styles.styles.entries()) {
352
448
  const mode = outputMode(style) ?? defaultMode;
449
+ const independent = compositionMode(style) === 'independent' && !options.development;
353
450
  if (!style.name || Object.hasOwn(classes, style.name)) {
354
451
  diagnostics.push({
355
452
  code: 'invalid_name',
@@ -375,9 +472,7 @@ export function compile(options) {
375
472
  continue;
376
473
  explicitModes.add(key);
377
474
  }
378
- const application = explicit === undefined &&
379
- options.composition === 'independent' &&
380
- !options.development
475
+ const application = explicit === undefined && independent
381
476
  ? `${mode}:${style.rules ? JSON.stringify(representation(style)) : ''}:${nested(canonicalStyles[styleIndex])}`
382
477
  : undefined;
383
478
  if (application !== undefined && applications.has(application)) {
@@ -396,16 +491,13 @@ export function compile(options) {
396
491
  }
397
492
  function emit(body, label, shared, output = mode, conditional) {
398
493
  if (!body)
399
- return;
400
- const independent = mode === 'grouped' &&
401
- !options.development &&
402
- output === mode &&
403
- options.composition === 'independent';
404
- const reusable = explicit === undefined && (shared || independent);
494
+ return undefined;
495
+ const reusable = explicit === undefined &&
496
+ (shared || (independent && mode === 'grouped' && output === mode));
405
497
  const previous = reusable ? sharedRules[output].get(body) : undefined;
406
498
  if (previous && !names.includes(previous)) {
407
499
  names.push(previous);
408
- return;
500
+ return previous;
409
501
  }
410
502
  if (previous)
411
503
  shared = false;
@@ -447,6 +539,7 @@ export function compile(options) {
447
539
  sharedRules[output].set(body, identity);
448
540
  names.push(identity);
449
541
  }
542
+ return identity;
450
543
  }
451
544
  function atoms(style, conditions = []) {
452
545
  if (outputMode(style) === 'grouped') {
@@ -475,14 +568,56 @@ export function compile(options) {
475
568
  // Keep same-property fallbacks ordered; they form one semantic value.
476
569
  while (style.declarations[index]?.property === property)
477
570
  values.push(style.declarations[index++]);
571
+ const domain = conflict(property);
572
+ const owner = runs.get(styleIndex)?.get(domain);
573
+ const reused = owner === undefined ? undefined : owned.get(owner)?.get(domain);
574
+ if (reused) {
575
+ for (const identity of reused)
576
+ if (!names.includes(identity))
577
+ names.push(identity);
578
+ continue;
579
+ }
478
580
  const value = values
479
581
  .map(({ important, value }) => `${Literal.name(property)}:${serialize(value)}${important ? '!important' : ''};`)
480
582
  .join('');
481
583
  const body = conditions.reduceRight((body, condition) => `${condition}{${body}}`, value);
482
584
  const shared = !nestedComposition &&
483
585
  !conditions.length &&
484
- groups.get(conflict(property)) !== false;
485
- emit(body, property, shared, mode, { conditions, value });
586
+ ordered.get(domain) !== false;
587
+ const identity = emit(body, property, shared, mode, {
588
+ conditions,
589
+ value,
590
+ });
591
+ if (identity === undefined)
592
+ continue;
593
+ const domains = owned.get(styleIndex) ?? new Map();
594
+ domains.set(domain, [...(domains.get(domain) ?? []), identity]);
595
+ owned.set(styleIndex, domains);
596
+ }
597
+ }
598
+ // Independent class lists never combine, so only declarations within one
599
+ // conflict domain need relative order. Equal domain bodies share one rule.
600
+ function share(style) {
601
+ const items = flatten(style);
602
+ if (!items)
603
+ return atoms(style);
604
+ for (const domain of byDomain(items).values()) {
605
+ // Conditional rules stay contextual to keep their order against base declarations.
606
+ if (domain.some((item) => item.conditions.length)) {
607
+ for (const item of domain)
608
+ emit(item.conditions.reduceRight((body, condition) => `${condition}{${body}}`, item.value), item.property, false, mode, item);
609
+ continue;
610
+ }
611
+ const body = domain.map((item) => item.value).join('');
612
+ const identity = units.name(body, cssNamespace);
613
+ if (rules.has(identity) && rules.get(identity) !== body)
614
+ diagnostics.push({
615
+ code: 'identity_collision',
616
+ message: 'Generated class names conflict. Supply distinct config or style ids.',
617
+ path: [style.name],
618
+ });
619
+ rules.set(identity, body);
620
+ names.push(identity);
486
621
  }
487
622
  }
488
623
  try {
@@ -492,7 +627,7 @@ export function compile(options) {
492
627
  for (const declaration of style.declarations) {
493
628
  const key = conflict(declaration.property);
494
629
  const reusable = !style.rules &&
495
- options.composition === 'independent' &&
630
+ independent &&
496
631
  groups.get(key) !== false &&
497
632
  (occurrences.get(key) ?? 0) > 1;
498
633
  if (reusable)
@@ -507,6 +642,8 @@ export function compile(options) {
507
642
  else
508
643
  emit(nested(style), 'style', false);
509
644
  }
645
+ else if (explicit === undefined && independent)
646
+ share(style);
510
647
  else
511
648
  atoms(style);
512
649
  }
@@ -576,6 +713,7 @@ export function compile(options) {
576
713
  const result = {
577
714
  ...(scopes.resources.length ? { [Themes.shared]: scopes.resources } : {}),
578
715
  ...(contributionCss ? { contributionCss, scopedCss } : {}),
716
+ [ClassName.units]: units.used,
579
717
  [ClassName.rules]: Object.freeze({
580
718
  ...Object.fromEntries(rules),
581
719
  ...Object.fromEntries(scopes.rules.map((rule) => [
@@ -588,6 +726,7 @@ export function compile(options) {
588
726
  vars: scopes.classes,
589
727
  };
590
728
  Object.defineProperty(result, ClassName.rules, { enumerable: false });
729
+ Object.defineProperty(result, ClassName.units, { enumerable: false });
591
730
  return Object.freeze(result);
592
731
  }
593
732
  /** Aggregated literal compilation diagnostics in authored traversal order. */
@@ -1 +1 @@
1
- {"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,55 @@ export declare namespace create {
20
20
  export declare function selector(value: string): string;
21
21
  /** Carries exact emitted rule bodies for graph-wide collision checks. */
22
22
  export declare const rules: unique symbol;
23
+ /** Carries a compilation's unit naming scope in, and its naming decisions out. */
24
+ export declare const units: unique symbol;
25
+ /**
26
+ * Marks a graph compiled once with every module, whose stylesheets load together.
27
+ * Only its modules may reuse names that unrelated modules introduce.
28
+ */
29
+ export declare const complete: unique symbol;
30
+ /** One compilation's unit names. */
31
+ export type Units = {
32
+ /** Names a declaration unit, reusing a visible earlier name for an equal body. */
33
+ readonly name: (body: string, namespace: string | undefined) => string;
34
+ /** Names chosen so far, keyed by namespace and body, and whether each was reused. */
35
+ readonly used: ReadonlyMap<string, Decision>;
36
+ };
37
+ /** A naming decision recorded so cached output can be validated against a later build. */
38
+ export type Decision = {
39
+ /** Whether the name was introduced by an earlier compilation. */
40
+ readonly borrowed: boolean;
41
+ /** Emitted class name. */
42
+ readonly name: string;
43
+ };
44
+ /** Shares unit names across the compilations of one graph. */
45
+ export declare function registry(): registry.ReturnType;
46
+ /** Graph-wide unit naming contracts. */
47
+ export declare namespace registry {
48
+ /** Visibility and identity of one compilation in the shared name table. */
49
+ type Options = {
50
+ /** Compilation identity recorded on the names it introduces. */
51
+ readonly owner: string;
52
+ /** Limits reuse to names introduced by these owners. Defaults to every owner. */
53
+ readonly visible?: ((owner: string) => boolean) | undefined;
54
+ };
55
+ /** Creates per-compilation naming scopes over one shared name table. */
56
+ type ReturnType = {
57
+ /**
58
+ * Registers a cached compilation's names. Returns false, registering nothing,
59
+ * when compiling it now would choose different names.
60
+ */
61
+ readonly restore: (options: Options & {
62
+ /** Decisions recorded by the cached compilation. */
63
+ readonly used: ReadonlyMap<string, Decision>;
64
+ }) => boolean;
65
+ /** Names units for one compilation, whose qualifier keeps new names distinct. */
66
+ readonly scope: (options: Options & {
67
+ /** Fixed prefix distinguishing this compilation's new names. */
68
+ readonly qualifier: string;
69
+ }) => Units;
70
+ };
71
+ }
23
72
  /** Carries authored names between source extraction and CSS emission. */
24
73
  export declare const labels: unique symbol;
25
74
  /** Authored names retained on extracted style data. */
@@ -1 +1 @@
1
- {"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
1
+ {"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,kFAAkF;AAClF,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,QAAQ,eAA8B,CAAA;AAEnD,oCAAoC;AACpC,MAAM,MAAM,KAAK,GAAG;IAClB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAA;IACtE,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG;IACrB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAsD9C;AAED,wCAAwC;AACxC,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,2EAA2E;IAC3E,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,iFAAiF;QACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;KAC5D,CAAA;IAED,wEAAwE;IACxE,KAAK,UAAU,GAAG;QAChB;;;WAGG;QACH,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,OAAO,GAAG;YACjB,oDAAoD;YACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;SAC7C,KACE,OAAO,CAAA;QACZ,iFAAiF;QACjF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,GAAG;YACjB,gEAAgE;YAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;SAC3B,KACE,KAAK,CAAA;KACX,CAAA;CACF;AAED,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
@@ -59,6 +59,63 @@ export function selector(value) {
59
59
  }
60
60
  /** Carries exact emitted rule bodies for graph-wide collision checks. */
61
61
  export const rules = Symbol('zyzz.css.rules');
62
+ /** Carries a compilation's unit naming scope in, and its naming decisions out. */
63
+ export const units = Symbol('zyzz.css.units');
64
+ /**
65
+ * Marks a graph compiled once with every module, whose stylesheets load together.
66
+ * Only its modules may reuse names that unrelated modules introduce.
67
+ */
68
+ export const complete = Symbol('zyzz.css.complete');
69
+ /** Shares unit names across the compilations of one graph. */
70
+ export function registry() {
71
+ const names = new Map();
72
+ // A borrowed name stays tied to its first owner, so later modules can resolve it.
73
+ function borrow(key, visible) {
74
+ const previous = names.get(key);
75
+ if (previous && (visible?.(previous.owner) ?? true))
76
+ return previous.name;
77
+ return undefined;
78
+ }
79
+ return {
80
+ restore(options) {
81
+ for (const [key, decision] of options.used) {
82
+ const name = borrow(key, options.visible);
83
+ if ((name !== undefined) !== decision.borrowed)
84
+ return false;
85
+ if (name !== undefined && name !== decision.name)
86
+ return false;
87
+ }
88
+ for (const [key, decision] of options.used)
89
+ if (!names.has(key))
90
+ names.set(key, { name: decision.name, owner: options.owner });
91
+ return true;
92
+ },
93
+ scope(options) {
94
+ const local = new Map();
95
+ const used = new Map();
96
+ return {
97
+ name(body, namespace) {
98
+ const key = `${namespace ?? ''}\n${body}`;
99
+ // Every distinct body consumes a slot, so own names never depend on reuse.
100
+ let index = local.get(key);
101
+ if (index === undefined) {
102
+ index = local.size;
103
+ local.set(key, index);
104
+ }
105
+ const borrowed = borrow(key, options.visible);
106
+ // The underscore keeps unit names apart from readable names and anonymous scopes.
107
+ const name = borrowed ??
108
+ `z_${namespace ? `${namespace}-` : ''}${options.qualifier}${index.toString(36)}`;
109
+ if (!names.has(key))
110
+ names.set(key, { name, owner: options.owner });
111
+ used.set(key, { borrowed: borrowed !== undefined, name });
112
+ return name;
113
+ },
114
+ used,
115
+ };
116
+ },
117
+ };
118
+ }
62
119
  /** Carries authored names between source extraction and CSS emission. */
63
120
  export const labels = Symbol('zyzz.css.labels');
64
121
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
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
@@ -842,6 +842,8 @@ export type LiteralDeclarations = {
842
842
 
843
843
  /** A named group of ordered declarations. */
844
844
  export type NamedStyle<name extends string = string> = {
845
+ /** Compiler-owned composition mode inherited from the defining configuration. */
846
+ readonly composition?: 'independent' | 'ordered' | undefined
845
847
  /** Compiler-owned web mode inherited from the defining configuration. */
846
848
  readonly cssOutput?: 'atomic' | 'grouped' | undefined
847
849
  /** Ordered nested blocks, when this style contains conditions. */