@webstudio-is/sdk 0.91.0 → 0.93.0

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 (36) hide show
  1. package/lib/index.js +13 -1
  2. package/lib/instances-utils.js +33 -0
  3. package/lib/instances-utils.test.js +58 -0
  4. package/lib/{assets.js → schema/assets.js} +6 -12
  5. package/lib/schema/breakpoints.js +22 -0
  6. package/lib/schema/data-sources.js +39 -0
  7. package/lib/schema/deployment.js +6 -0
  8. package/lib/schema/instances.js +19 -0
  9. package/lib/schema/pages.js +51 -0
  10. package/lib/schema/props.js +67 -0
  11. package/lib/schema/style-source-selections.js +9 -0
  12. package/lib/schema/style-sources.js +14 -0
  13. package/lib/schema/styles.js +16 -0
  14. package/lib/scope.js +25 -0
  15. package/lib/scope.test.js +15 -0
  16. package/lib/types/index.d.ts +12 -1
  17. package/lib/types/instances-utils.d.ts +27 -0
  18. package/lib/types/instances-utils.test.d.ts +1 -0
  19. package/lib/types/schema/breakpoints.d.ts +56 -0
  20. package/lib/types/schema/data-sources.d.ts +234 -0
  21. package/lib/types/schema/deployment.d.ts +12 -0
  22. package/lib/types/schema/instances.d.ts +123 -0
  23. package/lib/types/schema/pages.d.ts +35 -0
  24. package/lib/types/schema/props.d.ts +423 -0
  25. package/lib/types/schema/style-source-selections.d.ts +23 -0
  26. package/lib/types/schema/style-sources.d.ts +62 -0
  27. package/lib/types/schema/styles.d.ts +2489 -0
  28. package/lib/types/scope.d.ts +16 -0
  29. package/lib/types/scope.test.d.ts +1 -0
  30. package/package.json +12 -10
  31. package/lib/cjs/assets.js +0 -56
  32. package/lib/cjs/index.js +0 -18
  33. package/lib/cjs/package.json +0 -1
  34. package/src/assets.ts +0 -41
  35. package/src/index.ts +0 -1
  36. package/lib/types/{assets.d.ts → schema/assets.d.ts} +36 -36
@@ -0,0 +1,16 @@
1
+ export type Scope = {
2
+ /**
3
+ * Accepts unique id to identify specific variable
4
+ * and preferred name to use it as variable name
5
+ * or suffix if already used.
6
+ */
7
+ getName(id: string, preferredName: string): string;
8
+ };
9
+ /**
10
+ * Utility to maintain unique variable when generate code.
11
+ * Single scope is shared for generated module for simplicity.
12
+ *
13
+ * occupiedIdentifiers parameter prevents collision with hardcoded
14
+ * identifiers.
15
+ */
16
+ export declare const createScope: (occupiedIdentifiers?: string[]) => Scope;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webstudio-is/sdk",
3
- "version": "0.91.0",
3
+ "version": "0.93.0",
4
4
  "description": "Webstudio site data schema",
5
5
  "author": "Webstudio <github@webstudio.is>",
6
6
  "homepage": "https://webstudio.is",
@@ -9,28 +9,30 @@
9
9
  "exports": {
10
10
  "source": "./src/index.ts",
11
11
  "types": "./lib/types/index.d.ts",
12
- "import": "./lib/index.js",
13
- "require": "./lib/cjs/index.js"
12
+ "import": "./lib/index.js"
14
13
  },
15
14
  "files": [
16
15
  "lib/*",
17
- "src/*",
18
- "!*.test.*"
16
+ "!*.{test,stories}.*"
19
17
  ],
20
18
  "sideEffects": false,
21
19
  "dependencies": {
22
20
  "zod": "^3.21.4",
23
- "@webstudio-is/fonts": "^0.91.0"
21
+ "@webstudio-is/fonts": "^0.93.0",
22
+ "@webstudio-is/css-engine": "^0.93.0"
24
23
  },
25
24
  "devDependencies": {
26
- "@webstudio-is/scripts": "^0.0.0",
25
+ "@jest/globals": "^29.6.4",
26
+ "jest": "^29.6.4",
27
+ "@webstudio-is/jest-config": "^1.0.7",
27
28
  "@webstudio-is/tsconfig": "^1.0.7"
28
29
  },
29
30
  "scripts": {
30
31
  "typecheck": "tsc",
31
- "checks": "pnpm typecheck",
32
- "dev": "build-package --watch",
33
- "build": "build-package",
32
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
33
+ "checks": "pnpm typecheck && pnpm test",
34
+ "dev": "pnpm build --watch",
35
+ "build": "rm -rf lib && esbuild 'src/**/*.ts' 'src/**/*.tsx' --outdir=lib",
34
36
  "dts": "tsc --project tsconfig.dts.json"
35
37
  }
36
38
  }
package/lib/cjs/assets.js DELETED
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var assets_exports = {};
20
- __export(assets_exports, {
21
- Asset: () => Asset,
22
- Assets: () => Assets,
23
- FontAsset: () => FontAsset,
24
- ImageAsset: () => ImageAsset,
25
- ImageMeta: () => ImageMeta
26
- });
27
- module.exports = __toCommonJS(assets_exports);
28
- var import_zod = require("zod");
29
- var import_fonts = require("@webstudio-is/fonts");
30
- const AssetId = import_zod.z.string();
31
- const baseAsset = {
32
- id: AssetId,
33
- projectId: import_zod.z.string(),
34
- size: import_zod.z.number(),
35
- name: import_zod.z.string(),
36
- description: import_zod.z.union([import_zod.z.string(), import_zod.z.null()]),
37
- createdAt: import_zod.z.string()
38
- };
39
- const FontAsset = import_zod.z.object({
40
- ...baseAsset,
41
- format: import_fonts.FontFormat,
42
- meta: import_fonts.FontMeta,
43
- type: import_zod.z.literal("font")
44
- });
45
- const ImageMeta = import_zod.z.object({
46
- width: import_zod.z.number(),
47
- height: import_zod.z.number()
48
- });
49
- const ImageAsset = import_zod.z.object({
50
- ...baseAsset,
51
- format: import_zod.z.string(),
52
- meta: ImageMeta,
53
- type: import_zod.z.literal("image")
54
- });
55
- const Asset = import_zod.z.union([FontAsset, ImageAsset]);
56
- const Assets = import_zod.z.map(AssetId, Asset);
package/lib/cjs/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var src_exports = {};
17
- module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./assets"), module.exports);
@@ -1 +0,0 @@
1
- {"type":"commonjs"}
package/src/assets.ts DELETED
@@ -1,41 +0,0 @@
1
- import { z } from "zod";
2
- import { FontFormat, FontMeta } from "@webstudio-is/fonts";
3
-
4
- const AssetId = z.string();
5
-
6
- const baseAsset = {
7
- id: AssetId,
8
- projectId: z.string(),
9
- size: z.number(),
10
- name: z.string(),
11
- description: z.union([z.string(), z.null()]),
12
- createdAt: z.string(),
13
- };
14
-
15
- export const FontAsset = z.object({
16
- ...baseAsset,
17
- format: FontFormat,
18
- meta: FontMeta,
19
- type: z.literal("font"),
20
- });
21
- export type FontAsset = z.infer<typeof FontAsset>;
22
-
23
- export const ImageMeta = z.object({
24
- width: z.number(),
25
- height: z.number(),
26
- });
27
- export type ImageMeta = z.infer<typeof ImageMeta>;
28
-
29
- export const ImageAsset = z.object({
30
- ...baseAsset,
31
- format: z.string(),
32
- meta: ImageMeta,
33
- type: z.literal("image"),
34
- });
35
- export type ImageAsset = z.infer<typeof ImageAsset>;
36
-
37
- export const Asset = z.union([FontAsset, ImageAsset]);
38
- export type Asset = z.infer<typeof Asset>;
39
-
40
- export const Assets = z.map(AssetId, Asset);
41
- export type Assets = z.infer<typeof Assets>;
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./assets";
@@ -6,13 +6,13 @@ export declare const FontAsset: z.ZodObject<{
6
6
  style: z.ZodEnum<["normal", "italic", "oblique"]>;
7
7
  weight: z.ZodNumber;
8
8
  }, "strip", z.ZodTypeAny, {
9
+ family: string;
9
10
  style: "normal" | "italic" | "oblique";
10
11
  weight: number;
11
- family: string;
12
12
  }, {
13
+ family: string;
13
14
  style: "normal" | "italic" | "oblique";
14
15
  weight: number;
15
- family: string;
16
16
  }>, z.ZodObject<{
17
17
  family: z.ZodString;
18
18
  variationAxes: z.ZodRecord<z.ZodEnum<["wght", "wdth", "slnt", "opsz", "ital", "GRAD", "XTRA", "XOPQ", "YOPQ", "YTLC", "YTUC", "YTAS", "YTDE", "YTFI"]>, z.ZodObject<{
@@ -32,21 +32,21 @@ export declare const FontAsset: z.ZodObject<{
32
32
  max: number;
33
33
  }>>;
34
34
  }, "strip", z.ZodTypeAny, {
35
+ family: string;
35
36
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
36
37
  name: string;
37
38
  min: number;
38
39
  default: number;
39
40
  max: number;
40
41
  }>>;
41
- family: string;
42
42
  }, {
43
+ family: string;
43
44
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
44
45
  name: string;
45
46
  min: number;
46
47
  default: number;
47
48
  max: number;
48
49
  }>>;
49
- family: string;
50
50
  }>]>;
51
51
  type: z.ZodLiteral<"font">;
52
52
  id: z.ZodString;
@@ -60,29 +60,29 @@ export declare const FontAsset: z.ZodObject<{
60
60
  name: string;
61
61
  format: "ttf" | "woff" | "woff2" | "otf";
62
62
  meta: ({
63
+ family: string;
63
64
  style: "normal" | "italic" | "oblique";
64
65
  weight: number;
65
- family: string;
66
66
  } | {
67
+ family: string;
67
68
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
68
69
  name: string;
69
70
  min: number;
70
71
  default: number;
71
72
  max: number;
72
73
  }>>;
73
- family: string;
74
74
  }) & ({
75
+ family: string;
75
76
  style: "normal" | "italic" | "oblique";
76
77
  weight: number;
77
- family: string;
78
78
  } | {
79
+ family: string;
79
80
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
80
81
  name: string;
81
82
  min: number;
82
83
  default: number;
83
84
  max: number;
84
85
  }>>;
85
- family: string;
86
86
  } | undefined);
87
87
  id: string;
88
88
  projectId: string;
@@ -94,29 +94,29 @@ export declare const FontAsset: z.ZodObject<{
94
94
  name: string;
95
95
  format: "ttf" | "woff" | "woff2" | "otf";
96
96
  meta: ({
97
+ family: string;
97
98
  style: "normal" | "italic" | "oblique";
98
99
  weight: number;
99
- family: string;
100
100
  } | {
101
+ family: string;
101
102
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
102
103
  name: string;
103
104
  min: number;
104
105
  default: number;
105
106
  max: number;
106
107
  }>>;
107
- family: string;
108
108
  }) & ({
109
+ family: string;
109
110
  style: "normal" | "italic" | "oblique";
110
111
  weight: number;
111
- family: string;
112
112
  } | {
113
+ family: string;
113
114
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
114
115
  name: string;
115
116
  min: number;
116
117
  default: number;
117
118
  max: number;
118
119
  }>>;
119
- family: string;
120
120
  } | undefined);
121
121
  id: string;
122
122
  projectId: string;
@@ -190,13 +190,13 @@ export declare const Asset: z.ZodUnion<[z.ZodObject<{
190
190
  style: z.ZodEnum<["normal", "italic", "oblique"]>;
191
191
  weight: z.ZodNumber;
192
192
  }, "strip", z.ZodTypeAny, {
193
+ family: string;
193
194
  style: "normal" | "italic" | "oblique";
194
195
  weight: number;
195
- family: string;
196
196
  }, {
197
+ family: string;
197
198
  style: "normal" | "italic" | "oblique";
198
199
  weight: number;
199
- family: string;
200
200
  }>, z.ZodObject<{
201
201
  family: z.ZodString;
202
202
  variationAxes: z.ZodRecord<z.ZodEnum<["wght", "wdth", "slnt", "opsz", "ital", "GRAD", "XTRA", "XOPQ", "YOPQ", "YTLC", "YTUC", "YTAS", "YTDE", "YTFI"]>, z.ZodObject<{
@@ -216,21 +216,21 @@ export declare const Asset: z.ZodUnion<[z.ZodObject<{
216
216
  max: number;
217
217
  }>>;
218
218
  }, "strip", z.ZodTypeAny, {
219
+ family: string;
219
220
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
220
221
  name: string;
221
222
  min: number;
222
223
  default: number;
223
224
  max: number;
224
225
  }>>;
225
- family: string;
226
226
  }, {
227
+ family: string;
227
228
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
228
229
  name: string;
229
230
  min: number;
230
231
  default: number;
231
232
  max: number;
232
233
  }>>;
233
- family: string;
234
234
  }>]>;
235
235
  type: z.ZodLiteral<"font">;
236
236
  id: z.ZodString;
@@ -244,29 +244,29 @@ export declare const Asset: z.ZodUnion<[z.ZodObject<{
244
244
  name: string;
245
245
  format: "ttf" | "woff" | "woff2" | "otf";
246
246
  meta: ({
247
+ family: string;
247
248
  style: "normal" | "italic" | "oblique";
248
249
  weight: number;
249
- family: string;
250
250
  } | {
251
+ family: string;
251
252
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
252
253
  name: string;
253
254
  min: number;
254
255
  default: number;
255
256
  max: number;
256
257
  }>>;
257
- family: string;
258
258
  }) & ({
259
+ family: string;
259
260
  style: "normal" | "italic" | "oblique";
260
261
  weight: number;
261
- family: string;
262
262
  } | {
263
+ family: string;
263
264
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
264
265
  name: string;
265
266
  min: number;
266
267
  default: number;
267
268
  max: number;
268
269
  }>>;
269
- family: string;
270
270
  } | undefined);
271
271
  id: string;
272
272
  projectId: string;
@@ -278,29 +278,29 @@ export declare const Asset: z.ZodUnion<[z.ZodObject<{
278
278
  name: string;
279
279
  format: "ttf" | "woff" | "woff2" | "otf";
280
280
  meta: ({
281
+ family: string;
281
282
  style: "normal" | "italic" | "oblique";
282
283
  weight: number;
283
- family: string;
284
284
  } | {
285
+ family: string;
285
286
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
286
287
  name: string;
287
288
  min: number;
288
289
  default: number;
289
290
  max: number;
290
291
  }>>;
291
- family: string;
292
292
  }) & ({
293
+ family: string;
293
294
  style: "normal" | "italic" | "oblique";
294
295
  weight: number;
295
- family: string;
296
296
  } | {
297
+ family: string;
297
298
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
298
299
  name: string;
299
300
  min: number;
300
301
  default: number;
301
302
  max: number;
302
303
  }>>;
303
- family: string;
304
304
  } | undefined);
305
305
  id: string;
306
306
  projectId: string;
@@ -361,13 +361,13 @@ export declare const Assets: z.ZodMap<z.ZodString, z.ZodUnion<[z.ZodObject<{
361
361
  style: z.ZodEnum<["normal", "italic", "oblique"]>;
362
362
  weight: z.ZodNumber;
363
363
  }, "strip", z.ZodTypeAny, {
364
+ family: string;
364
365
  style: "normal" | "italic" | "oblique";
365
366
  weight: number;
366
- family: string;
367
367
  }, {
368
+ family: string;
368
369
  style: "normal" | "italic" | "oblique";
369
370
  weight: number;
370
- family: string;
371
371
  }>, z.ZodObject<{
372
372
  family: z.ZodString;
373
373
  variationAxes: z.ZodRecord<z.ZodEnum<["wght", "wdth", "slnt", "opsz", "ital", "GRAD", "XTRA", "XOPQ", "YOPQ", "YTLC", "YTUC", "YTAS", "YTDE", "YTFI"]>, z.ZodObject<{
@@ -387,21 +387,21 @@ export declare const Assets: z.ZodMap<z.ZodString, z.ZodUnion<[z.ZodObject<{
387
387
  max: number;
388
388
  }>>;
389
389
  }, "strip", z.ZodTypeAny, {
390
+ family: string;
390
391
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
391
392
  name: string;
392
393
  min: number;
393
394
  default: number;
394
395
  max: number;
395
396
  }>>;
396
- family: string;
397
397
  }, {
398
+ family: string;
398
399
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
399
400
  name: string;
400
401
  min: number;
401
402
  default: number;
402
403
  max: number;
403
404
  }>>;
404
- family: string;
405
405
  }>]>;
406
406
  type: z.ZodLiteral<"font">;
407
407
  id: z.ZodString;
@@ -415,29 +415,29 @@ export declare const Assets: z.ZodMap<z.ZodString, z.ZodUnion<[z.ZodObject<{
415
415
  name: string;
416
416
  format: "ttf" | "woff" | "woff2" | "otf";
417
417
  meta: ({
418
+ family: string;
418
419
  style: "normal" | "italic" | "oblique";
419
420
  weight: number;
420
- family: string;
421
421
  } | {
422
+ family: string;
422
423
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
423
424
  name: string;
424
425
  min: number;
425
426
  default: number;
426
427
  max: number;
427
428
  }>>;
428
- family: string;
429
429
  }) & ({
430
+ family: string;
430
431
  style: "normal" | "italic" | "oblique";
431
432
  weight: number;
432
- family: string;
433
433
  } | {
434
+ family: string;
434
435
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
435
436
  name: string;
436
437
  min: number;
437
438
  default: number;
438
439
  max: number;
439
440
  }>>;
440
- family: string;
441
441
  } | undefined);
442
442
  id: string;
443
443
  projectId: string;
@@ -449,29 +449,29 @@ export declare const Assets: z.ZodMap<z.ZodString, z.ZodUnion<[z.ZodObject<{
449
449
  name: string;
450
450
  format: "ttf" | "woff" | "woff2" | "otf";
451
451
  meta: ({
452
+ family: string;
452
453
  style: "normal" | "italic" | "oblique";
453
454
  weight: number;
454
- family: string;
455
455
  } | {
456
+ family: string;
456
457
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
457
458
  name: string;
458
459
  min: number;
459
460
  default: number;
460
461
  max: number;
461
462
  }>>;
462
- family: string;
463
463
  }) & ({
464
+ family: string;
464
465
  style: "normal" | "italic" | "oblique";
465
466
  weight: number;
466
- family: string;
467
467
  } | {
468
+ family: string;
468
469
  variationAxes: Partial<Record<"wght" | "wdth" | "slnt" | "opsz" | "ital" | "GRAD" | "XTRA" | "XOPQ" | "YOPQ" | "YTLC" | "YTUC" | "YTAS" | "YTDE" | "YTFI", {
469
470
  name: string;
470
471
  min: number;
471
472
  default: number;
472
473
  max: number;
473
474
  }>>;
474
- family: string;
475
475
  } | undefined);
476
476
  id: string;
477
477
  projectId: string;