zyzz 0.0.9 → 0.0.12

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 (119) hide show
  1. package/README.md +1 -1
  2. package/dist/Style.js +2 -2
  3. package/dist/Style.js.map +1 -1
  4. package/dist/Vars.d.ts +2 -2
  5. package/dist/Vars.d.ts.map +1 -1
  6. package/dist/Vars.js.map +1 -1
  7. package/dist/compiler/Source.d.ts.map +1 -1
  8. package/dist/compiler/Source.js +10 -0
  9. package/dist/compiler/Source.js.map +1 -1
  10. package/dist/compiler/internal/Contract.d.ts.map +1 -1
  11. package/dist/compiler/internal/Contract.js +11 -6
  12. package/dist/compiler/internal/Contract.js.map +1 -1
  13. package/dist/compiler/internal/Contributions.d.ts.map +1 -1
  14. package/dist/compiler/internal/Contributions.js +592 -556
  15. package/dist/compiler/internal/Contributions.js.map +1 -1
  16. package/dist/compiler/internal/Expression.d.ts +4 -0
  17. package/dist/compiler/internal/Expression.d.ts.map +1 -1
  18. package/dist/compiler/internal/Expression.js +45 -0
  19. package/dist/compiler/internal/Expression.js.map +1 -1
  20. package/dist/compiler/internal/RecipeConditions.js +2 -2
  21. package/dist/compiler/internal/RecipeConditions.js.map +1 -1
  22. package/dist/compiler/internal/Themes.d.ts.map +1 -1
  23. package/dist/compiler/internal/Themes.js +2 -0
  24. package/dist/compiler/internal/Themes.js.map +1 -1
  25. package/dist/default.d.ts +75 -19
  26. package/dist/default.d.ts.map +1 -1
  27. package/dist/default.js +76 -11
  28. package/dist/default.js.map +2 -2
  29. package/dist/default.js.zyzz.json +1 -1
  30. package/dist/internal/Condition.d.ts +1 -1
  31. package/dist/internal/Condition.d.ts.map +1 -1
  32. package/dist/internal/Configuration.js +2 -2
  33. package/dist/internal/Configuration.js.map +1 -1
  34. package/dist/internal/Query.d.ts +2 -2
  35. package/dist/internal/Query.d.ts.map +1 -1
  36. package/dist/internal/Query.js +1 -1
  37. package/dist/internal/Query.js.map +1 -1
  38. package/dist/internal/Theme.d.ts +4 -4
  39. package/dist/internal/Theme.d.ts.map +1 -1
  40. package/dist/internal/Theme.js +6 -6
  41. package/dist/internal/Theme.js.map +1 -1
  42. package/dist/internal/Token.d.ts +185 -2
  43. package/dist/internal/Token.d.ts.map +1 -1
  44. package/dist/internal/Token.js +236 -23
  45. package/dist/internal/Token.js.map +1 -1
  46. package/dist/internal/VariableSets.d.ts.map +1 -1
  47. package/dist/internal/VariableSets.js +9 -6
  48. package/dist/internal/VariableSets.js.map +1 -1
  49. package/dist/unplugin/index.d.ts.map +1 -1
  50. package/dist/unplugin/index.js +14 -0
  51. package/dist/unplugin/index.js.map +1 -1
  52. package/dist/variants.d.ts +13 -2
  53. package/dist/variants.d.ts.map +1 -1
  54. package/dist/variants.js.map +1 -1
  55. package/dist/web/colorProfile.d.ts +9 -5
  56. package/dist/web/colorProfile.d.ts.map +1 -1
  57. package/dist/web/colorProfile.js.map +1 -1
  58. package/dist/web/counterStyle.d.ts +13 -9
  59. package/dist/web/counterStyle.d.ts.map +1 -1
  60. package/dist/web/counterStyle.js.map +1 -1
  61. package/dist/web/cssFunction.d.ts +19 -14
  62. package/dist/web/cssFunction.d.ts.map +1 -1
  63. package/dist/web/cssFunction.js.map +1 -1
  64. package/dist/web/fontFace.d.ts +6 -1
  65. package/dist/web/fontFace.d.ts.map +1 -1
  66. package/dist/web/fontFace.js.map +1 -1
  67. package/dist/web/fontFeatureValues.d.ts +11 -7
  68. package/dist/web/fontFeatureValues.d.ts.map +1 -1
  69. package/dist/web/fontFeatureValues.js.map +1 -1
  70. package/dist/web/fontPaletteValues.d.ts +8 -3
  71. package/dist/web/fontPaletteValues.d.ts.map +1 -1
  72. package/dist/web/fontPaletteValues.js.map +1 -1
  73. package/dist/web/internal/Context.d.ts +3 -3
  74. package/dist/web/internal/Context.d.ts.map +1 -1
  75. package/dist/web/keyframes.d.ts +7 -3
  76. package/dist/web/keyframes.d.ts.map +1 -1
  77. package/dist/web/keyframes.js.map +1 -1
  78. package/dist/web/page.d.ts +11 -4
  79. package/dist/web/page.d.ts.map +1 -1
  80. package/dist/web/page.js.map +1 -1
  81. package/dist/web/positionTry.d.ts +6 -1
  82. package/dist/web/positionTry.d.ts.map +1 -1
  83. package/dist/web/positionTry.js.map +1 -1
  84. package/dist/web/property.d.ts +10 -5
  85. package/dist/web/property.d.ts.map +1 -1
  86. package/dist/web/property.js.map +1 -1
  87. package/dist/web/viewTransition.d.ts +10 -6
  88. package/dist/web/viewTransition.d.ts.map +1 -1
  89. package/dist/web/viewTransition.js.map +1 -1
  90. package/package.json +1 -1
  91. package/src/Style.ts +2 -2
  92. package/src/Vars.ts +2 -3
  93. package/src/compiler/Source.ts +19 -0
  94. package/src/compiler/internal/Contract.ts +19 -8
  95. package/src/compiler/internal/Contributions.ts +734 -685
  96. package/src/compiler/internal/Expression.ts +57 -0
  97. package/src/compiler/internal/RecipeConditions.ts +2 -2
  98. package/src/compiler/internal/Themes.ts +2 -0
  99. package/src/default.ts +175 -30
  100. package/src/internal/Condition.ts +3 -3
  101. package/src/internal/Configuration.ts +2 -2
  102. package/src/internal/Query.ts +3 -3
  103. package/src/internal/Theme.ts +12 -12
  104. package/src/internal/Token.ts +253 -33
  105. package/src/internal/VariableSets.ts +28 -25
  106. package/src/unplugin/index.ts +14 -0
  107. package/src/variants.ts +35 -2
  108. package/src/web/colorProfile.ts +25 -10
  109. package/src/web/counterStyle.ts +29 -14
  110. package/src/web/cssFunction.ts +47 -24
  111. package/src/web/fontFace.ts +16 -3
  112. package/src/web/fontFeatureValues.ts +35 -18
  113. package/src/web/fontPaletteValues.ts +25 -11
  114. package/src/web/internal/Context.ts +9 -3
  115. package/src/web/keyframes.ts +24 -9
  116. package/src/web/page.ts +22 -5
  117. package/src/web/positionTry.ts +20 -5
  118. package/src/web/property.ts +23 -9
  119. package/src/web/viewTransition.ts +28 -13
@@ -2,11 +2,7 @@
2
2
  import type * as Context from './internal/Context.js';
3
3
  import type * as FunctionSyntax from '../internal/FunctionSyntax.js';
4
4
  /** Emits an eager registration; initial values are checked by the compiler. */
5
- export declare function property<const options extends property.Options>(options: options & Record<Exclude<keyof options, keyof property.Options>, never> & {
6
- readonly syntax: FunctionSyntax.Checked<`type(${options['syntax']})`> extends never ? never : options['syntax'];
7
- } & (options['syntax'] extends '*' ? unknown : {
8
- readonly initialValue: string | number;
9
- }), context?: Context.Options): void;
5
+ export declare function property<const options extends Record<string, unknown>>(options: options & NoInfer<Accepted<options>>, context?: Context.Options): void;
10
6
  /** Native registration descriptors. */
11
7
  export declare namespace property {
12
8
  /** Descriptors and authored identity for one registration. */
@@ -21,4 +17,13 @@ export declare namespace property {
21
17
  readonly syntax: string;
22
18
  };
23
19
  }
20
+ type Accepted<input> = {
21
+ [key in keyof input as key extends Context.Group ? key : never]: Accepted<input[key]>;
22
+ } & (keyof input extends never ? Definition<input> : Exclude<keyof input, Context.Group> extends never ? unknown : Definition<Omit<input, Context.Group>>);
23
+ type Definition<options> = options extends property.Options ? options & Record<Exclude<keyof options, keyof property.Options>, never> & {
24
+ readonly syntax: FunctionSyntax.Checked<`type(${options['syntax']})`> extends never ? never : options['syntax'];
25
+ } & (options['syntax'] extends '*' ? unknown : {
26
+ readonly initialValue: string | number;
27
+ }) : never;
28
+ export {};
24
29
  //# sourceMappingURL=property.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../src/web/property.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,KAAK,cAAc,MAAM,+BAA+B,CAAA;AAEpE,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,KAAK,CAAC,OAAO,SAAS,QAAQ,CAAC,OAAO,EAC7D,OAAO,EAAE,OAAO,GACd,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG;IAC9D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,KAAK,GAC/E,KAAK,GACL,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,GAC9B,OAAO,GACP;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,EACjD,OAAO,GAAE,OAAO,CAAC,OAAY,GAC5B,IAAI,CAIN;AAED,uCAAuC;AACvC,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,8DAA8D;IAC9D,KAAK,OAAO,GAAG;QACb,6CAA6C;QAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;QAC1B,gFAAgF;QAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;QACnD,qCAAqC;QACrC,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;QAC5B,0EAA0E;QAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACxB,CAAA;CACF"}
1
+ {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../src/web/property.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,KAAK,cAAc,MAAM,+BAA+B,CAAA;AAEpE,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC7C,OAAO,GAAE,OAAO,CAAC,OAAY,GAC5B,IAAI,CAIN;AAED,uCAAuC;AACvC,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,8DAA8D;IAC9D,KAAK,OAAO,GAAG;QACb,6CAA6C;QAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;QAC1B,gFAAgF;QAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;QACnD,qCAAqC;QACrC,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;QAC5B,0EAA0E;QAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED,KAAK,QAAQ,CAAC,KAAK,IAAI;KACpB,GAAG,IAAI,MAAM,KAAK,IAAI,GAAG,SAAS,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,QAAQ,CACvE,KAAK,CAAC,GAAG,CAAC,CACX;CACF,GAAG,CAAC,MAAM,KAAK,SAAS,KAAK,GAC1B,UAAU,CAAC,KAAK,CAAC,GACjB,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,GAC/C,OAAO,GACP,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAE7C,KAAK,UAAU,CAAC,OAAO,IAAI,OAAO,SAAS,QAAQ,CAAC,OAAO,GACvD,OAAO,GACL,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG;IAC9D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,KAAK,GAC/E,KAAK,GACL,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,GAC9B,OAAO,GACP;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,GACjD,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/web/property.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACtB,OAOiD,EACjD,OAAO,GAAoB,EAAE;IAE7B,KAAK,OAAO,CAAA;IACZ,KAAK,OAAO,CAAA;IACZ,OAAM;AACR,CAAC"}
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/web/property.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACtB,OAA6C,EAC7C,OAAO,GAAoB,EAAE;IAE7B,KAAK,OAAO,CAAA;IACZ,KAAK,OAAO,CAAA;IACZ,OAAM;AACR,CAAC"}
@@ -2,12 +2,7 @@
2
2
  import type * as Context from './internal/Context.js';
3
3
  import type * as Lexical from '../internal/Lexical.js';
4
4
  /** Emits an eager view-transition rule; browser navigation owns transition execution. */
5
- export declare function viewTransition<const options extends Omit<viewTransition.Options, 'navigation'> & {
6
- readonly navigation?: string | undefined;
7
- }>(options: options & Record<Exclude<keyof options, keyof viewTransition.Options>, never> & {
8
- readonly types?: NoInfer<Types<options['types']>>;
9
- readonly navigation?: Checked<options['navigation'], Exclude<viewTransition.Options['navigation'], undefined>>;
10
- }, context?: Context.Options): void;
5
+ export declare function viewTransition<const options extends Record<string, unknown>>(options: options & NoInfer<Accepted<options>>, context?: Context.Options): void;
11
6
  /** Standard navigation and transition type descriptors. */
12
7
  export declare namespace viewTransition {
13
8
  /** Static descriptors for cross-document view transitions. */
@@ -25,5 +20,14 @@ type Types<value> = value extends string ? string extends value ? value : value
25
20
  type Space = ' ' | '\t' | '\n' | '\r' | '\f';
26
21
  type Names<value extends string> = value extends `${Space}${infer rest}` ? Names<rest> : value extends `${infer rest}${Space}` ? Names<rest> : value extends `${infer first}${Space}${infer rest}` ? Name<first> extends true ? Names<rest> : false : Name<value>;
27
22
  type Name<value extends string> = value extends '' | '-' | `${number}${string}` | `-${number}${string}` ? false : value extends `${string}${',' | ';' | ':' | '(' | ')' | '{' | '}' | '[' | ']' | '"' | "'" | '/' | '!' | '.' | '+' | '=' | '#' | '@'}${string}` ? false : Lexical.Fold<value> extends 'none' | 'default' | 'inherit' | 'initial' | 'revert' | 'revert-layer' | 'unset' ? false : true;
23
+ type Accepted<input> = {
24
+ [key in keyof input as key extends Context.Group ? key : never]: Accepted<input[key]>;
25
+ } & (keyof input extends never ? Definition<input> : Exclude<keyof input, Context.Group> extends never ? unknown : Definition<Omit<input, Context.Group>>);
26
+ type Definition<options> = options extends Omit<viewTransition.Options, 'navigation'> & {
27
+ readonly navigation?: string | undefined;
28
+ } ? options & Record<Exclude<keyof options, keyof viewTransition.Options>, never> & {
29
+ readonly types?: NoInfer<Types<options['types']>>;
30
+ readonly navigation?: Checked<options['navigation'], Exclude<viewTransition.Options['navigation'], undefined>>;
31
+ } : never;
28
32
  export {};
29
33
  //# sourceMappingURL=viewTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewTransition.d.ts","sourceRoot":"","sources":["../../src/web/viewTransition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewTransition.d.ts","sourceRoot":"","sources":["../../src/web/viewTransition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewTransition.js","sourceRoot":"","sources":["../../src/web/viewTransition.ts"],"names":[],"mappings":"AAIA,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAK5B,OAOG,EACH,OAAO,GAAoB,EAAE;IAE7B,KAAK,OAAO,CAAA;IACZ,KAAK,OAAO,CAAA;IACZ,OAAM;AACR,CAAC"}
1
+ {"version":3,"file":"viewTransition.js","sourceRoot":"","sources":["../../src/web/viewTransition.ts"],"names":[],"mappings":"AAIA,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAC5B,OAA6C,EAC7C,OAAO,GAAoB,EAAE;IAE7B,KAAK,OAAO,CAAA;IACZ,KAAK,OAAO,CAAA;IACZ,OAAM;AACR,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.9",
3
+ "version": "0.0.12",
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
@@ -459,8 +459,8 @@ export function define(
459
459
  ? Query.resolve(
460
460
  key,
461
461
  theme?.[Token.definition].queries ?? {
462
- breakpoints: {},
463
- containers: {},
462
+ breakpoint: {},
463
+ container: {},
464
464
  containerNames: [],
465
465
  },
466
466
  )
package/src/Vars.ts CHANGED
@@ -45,7 +45,7 @@ export type Definition<values extends Values = Values> = (Values extends values
45
45
  export type References<values, root extends boolean = true> = {
46
46
  readonly [key in Exclude<
47
47
  keyof values,
48
- root extends true ? 'breakpoints' | 'containers' | 'containerNames' : never
48
+ root extends true ? 'breakpoint' | 'containerNames' : never
49
49
  >]: values[key] extends Value
50
50
  ? Token.Reference<Domain<Scalar<values[key]>>> & {
51
51
  readonly [Token.scalar]: Scalar<values[key]>
@@ -184,8 +184,7 @@ export type Mappings = Readonly<
184
184
  /** Type carrier for configured shorthand lookup. */
185
185
  export type Mapped<values, mappings> = (Pick<
186
186
  values,
187
- keyof values &
188
- ('breakpoints' | 'containers' | 'containerNames' | 'typography')
187
+ keyof values & ('breakpoint' | 'container' | 'containerNames' | 'typography')
189
188
  > extends infer metadata extends Theme.Tokens
190
189
  ? metadata
191
190
  : {}) & {
@@ -31,6 +31,7 @@ import type * as Theme from '../internal/Theme.js'
31
31
  import * as Themes from './internal/Themes.js'
32
32
  import * as ThemeValues from '../web/internal/Themes.js'
33
33
  import * as Token from '../internal/Token.js'
34
+ import * as Literal from '../internal/Literal.js'
34
35
  import * as Typography from '../internal/Typography.js'
35
36
  import * as Value from '../internal/Value.js'
36
37
  import * as Vars from './internal/Vars.js'
@@ -1021,6 +1022,8 @@ export function extract(options: extract.Options): extract.ReturnType {
1021
1022
  : targets.every(
1022
1023
  (target) =>
1023
1024
  Token.acceptsReference(part, target) ||
1025
+ (part.contract.variableSet &&
1026
+ Expression.acceptsVariables(template, target)) ||
1024
1027
  (part.group === 'color' &&
1025
1028
  Expression.acceptsColor(template, target)),
1026
1029
  ))
@@ -1181,6 +1184,22 @@ export function extract(options: extract.Options): extract.ReturnType {
1181
1184
  )
1182
1185
 
1183
1186
  function validate(style: Style.NamedStyle, path: readonly string[]) {
1187
+ for (const declaration of style.declarations) {
1188
+ if (
1189
+ Token.is(declaration.value) &&
1190
+ declaration.value.contract.variableSet &&
1191
+ Literal.rule(declaration.property)?.kind === 'identifier' &&
1192
+ !Expression.acceptsIdentifier(
1193
+ declaration.value,
1194
+ declaration.property,
1195
+ )
1196
+ )
1197
+ report(
1198
+ 'invalid_literal',
1199
+ 'Variable value is incompatible with this property.',
1200
+ call,
1201
+ )
1202
+ }
1184
1203
  if (style.targets?.web)
1185
1204
  validate(style.targets.web, [...path, 'targets', 'web'])
1186
1205
  for (const rule of style.rules ?? []) {
@@ -26,7 +26,7 @@ export function read(
26
26
  if (
27
27
  ![
28
28
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
29
- 22, 23, 24, 25, 26, 27,
29
+ 22, 23, 24, 25, 26, 27, 28,
30
30
  ].includes(data.version as number)
31
31
  )
32
32
  throw new Error('Unsupported Zyzz contract version.')
@@ -102,8 +102,8 @@ export function read(
102
102
  for (const [name, value] of Object.entries(record(data.themes))) {
103
103
  const entry = record(value)
104
104
  const identity = string(entry.identity)
105
- if (entry.variableSet === true && (data.version as number) < 26)
106
- throw new Error('Vars contracts require contract version 26 or later.')
105
+ if (entry.variableSet === true && (data.version as number) < 28)
106
+ throw new Error('Vars contracts require contract version 28 or later.')
107
107
  const mappings = VariableSets.mappings(entry.mappings)
108
108
  if (
109
109
  entry.cssOutput !== undefined &&
@@ -294,7 +294,7 @@ export function read(
294
294
  if (
295
295
  ![
296
296
  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
297
- 27,
297
+ 27, 28,
298
298
  ].includes(data.version as number) ||
299
299
  ![
300
300
  'cssFunction',
@@ -419,6 +419,14 @@ export function read(
419
419
  entry.options === undefined ? undefined : record(decode(entry.options))
420
420
 
421
421
  if (options) {
422
+ if (
423
+ entry.variableConfig === true &&
424
+ JSON.stringify(VariableSets.mappings(entry.variableMappings) ?? {}) !==
425
+ JSON.stringify(definition[Token.definition].contract.mappings ?? {})
426
+ )
427
+ throw new Error(
428
+ 'Configuration mappings disagree with linked variable metadata.',
429
+ )
422
430
  if (entry.variableConfig === true)
423
431
  Config.create(
424
432
  variableOptions(
@@ -722,16 +730,19 @@ export function write(
722
730
  if (
723
731
  Object.values(themes).some(
724
732
  (theme) =>
725
- theme[Token.definition].contract.defaultLayer !== undefined,
733
+ theme[Token.definition].contract.variableSet ||
734
+ theme[Token.definition].queries,
726
735
  )
727
736
  )
728
- return 27
737
+ return 28
738
+
729
739
  if (
730
740
  Object.values(themes).some(
731
- (theme) => theme[Token.definition].contract.variableSet,
741
+ (theme) =>
742
+ theme[Token.definition].contract.defaultLayer !== undefined,
732
743
  )
733
744
  )
734
- return 26
745
+ return 27
735
746
  if (
736
747
  Object.values(themes).some(
737
748
  (theme) =>