@design-token-kit/core 0.1.2 → 0.2.1

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.
@@ -1,533 +1,533 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://designtokens.local/schemas/hrdt-tokens.json",
4
4
  "title": "HRDT Design Tokens Schema",
5
5
  "description": "JSON Schema for the HRDT token format before conversion to DTCG JSON.",
6
- "type": "object",
7
- "properties": {
8
- "$schema": {
9
- "type": "string",
10
- "format": "uri-reference",
11
- "description": "URI reference to this JSON schema."
12
- },
13
- "primitive": {
14
- "$ref": "#/definitions/primitiveRoot"
15
- }
16
- },
17
- "patternProperties": {
18
- "^(?!\\$schema$|primitive$)[^${}.][^{}.]*$": {
19
- "$ref": "#/definitions/referenceGroup"
20
- }
21
- },
22
- "additionalProperties": false,
23
- "definitions": {
24
- "tokenName": {
25
- "type": "string",
26
- "pattern": "^[^${}.][^{}.]*$"
27
- },
28
- "reference": {
29
- "type": "string",
30
- "pattern": "^\\{[^{}]+\\}$"
31
- },
32
- "dimensionString": {
33
- "type": "string",
34
- "pattern": "^-?\\d+(?:\\.\\d+)?(?:px|rem)$"
35
- },
36
- "durationString": {
37
- "type": "string",
38
- "pattern": "^-?\\d+(?:\\.\\d+)?(?:ms|s)$"
39
- },
40
- "hexColor": {
41
- "type": "string",
42
- "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
43
- },
44
- "referenceableScalar": {
45
- "anyOf": [
46
- {
47
- "$ref": "#/definitions/reference"
48
- },
49
- {
50
- "type": "string"
51
- },
52
- {
53
- "type": "number"
54
- },
55
- {
56
- "type": "boolean"
57
- },
58
- {
59
- "type": "null"
60
- }
61
- ]
62
- },
63
- "referenceGroup": {
64
- "oneOf": [
65
- {
66
- "$ref": "#/definitions/referenceableScalar"
67
- },
68
- {
69
- "type": "array",
70
- "items": {
71
- "$ref": "#/definitions/referenceGroup"
72
- }
73
- },
74
- {
75
- "type": "object",
76
- "additionalProperties": {
77
- "$ref": "#/definitions/referenceGroup"
78
- }
79
- }
80
- ]
81
- },
82
- "tokenMap": {
83
- "type": "object",
84
- "propertyNames": {
85
- "$ref": "#/definitions/tokenName"
86
- }
87
- },
88
- "primitiveRoot": {
89
- "type": "object",
90
- "properties": {
91
- "color": {
92
- "allOf": [
93
- {
94
- "$ref": "#/definitions/tokenMap"
95
- },
96
- {
97
- "additionalProperties": {
98
- "anyOf": [
99
- {
100
- "$ref": "#/definitions/hexColor"
101
- },
102
- {
103
- "$ref": "#/definitions/reference"
104
- }
105
- ]
106
- }
107
- }
108
- ]
109
- },
110
- "dimension": {
111
- "allOf": [
112
- {
113
- "$ref": "#/definitions/tokenMap"
114
- },
115
- {
116
- "additionalProperties": {
117
- "anyOf": [
118
- {
119
- "$ref": "#/definitions/dimensionString"
120
- },
121
- {
122
- "$ref": "#/definitions/reference"
123
- }
124
- ]
125
- }
126
- }
127
- ]
128
- },
129
- "fontFamily": {
130
- "allOf": [
131
- {
132
- "$ref": "#/definitions/tokenMap"
133
- },
134
- {
135
- "additionalProperties": {
136
- "anyOf": [
137
- {
138
- "$ref": "#/definitions/fontFamilyValue"
139
- },
140
- {
141
- "$ref": "#/definitions/reference"
142
- }
143
- ]
144
- }
145
- }
146
- ]
147
- },
148
- "fontWeight": {
149
- "allOf": [
150
- {
151
- "$ref": "#/definitions/tokenMap"
152
- },
153
- {
154
- "additionalProperties": {
155
- "anyOf": [
156
- {
157
- "type": "string"
158
- },
159
- {
160
- "type": "number"
161
- },
162
- {
163
- "$ref": "#/definitions/reference"
164
- }
165
- ]
166
- }
167
- }
168
- ]
169
- },
170
- "duration": {
171
- "allOf": [
172
- {
173
- "$ref": "#/definitions/tokenMap"
174
- },
175
- {
176
- "additionalProperties": {
177
- "oneOf": [
178
- {
179
- "$ref": "#/definitions/durationString"
180
- },
181
- {
182
- "$ref": "#/definitions/reference"
183
- }
184
- ]
185
- }
186
- }
187
- ]
188
- },
189
- "cubicBezier": {
190
- "allOf": [
191
- {
192
- "$ref": "#/definitions/tokenMap"
193
- },
194
- {
195
- "additionalProperties": {
196
- "oneOf": [
197
- {
198
- "$ref": "#/definitions/cubicBezierValue"
199
- },
200
- {
201
- "$ref": "#/definitions/reference"
202
- }
203
- ]
204
- }
205
- }
206
- ]
207
- },
208
- "number": {
209
- "allOf": [
210
- {
211
- "$ref": "#/definitions/tokenMap"
212
- },
213
- {
214
- "additionalProperties": {
215
- "oneOf": [
216
- {
217
- "type": "number"
218
- },
219
- {
220
- "$ref": "#/definitions/reference"
221
- }
222
- ]
223
- }
224
- }
225
- ]
226
- },
227
- "strokeStyle": {
228
- "allOf": [
229
- {
230
- "$ref": "#/definitions/tokenMap"
231
- },
232
- {
233
- "additionalProperties": {
234
- "anyOf": [
235
- {
236
- "type": "string"
237
- },
238
- {
239
- "$ref": "#/definitions/strokeStyleValue"
240
- },
241
- {
242
- "$ref": "#/definitions/reference"
243
- }
244
- ]
245
- }
246
- }
247
- ]
248
- },
249
- "border": {
250
- "allOf": [
251
- {
252
- "$ref": "#/definitions/tokenMap"
253
- },
254
- {
255
- "additionalProperties": {
256
- "oneOf": [
257
- {
258
- "$ref": "#/definitions/borderValue"
259
- },
260
- {
261
- "$ref": "#/definitions/reference"
262
- }
263
- ]
264
- }
265
- }
266
- ]
267
- },
268
- "transition": {
269
- "allOf": [
270
- {
271
- "$ref": "#/definitions/tokenMap"
272
- },
273
- {
274
- "additionalProperties": {
275
- "oneOf": [
276
- {
277
- "$ref": "#/definitions/transitionValue"
278
- },
279
- {
280
- "$ref": "#/definitions/reference"
281
- }
282
- ]
283
- }
284
- }
285
- ]
286
- },
287
- "shadow": {
288
- "allOf": [
289
- {
290
- "$ref": "#/definitions/tokenMap"
291
- },
292
- {
293
- "additionalProperties": {
294
- "oneOf": [
295
- {
296
- "$ref": "#/definitions/shadowValue"
297
- },
298
- {
299
- "$ref": "#/definitions/reference"
300
- }
301
- ]
302
- }
303
- }
304
- ]
305
- },
306
- "gradient": {
307
- "allOf": [
308
- {
309
- "$ref": "#/definitions/tokenMap"
310
- },
311
- {
312
- "additionalProperties": {
313
- "oneOf": [
314
- {
315
- "$ref": "#/definitions/gradientValue"
316
- },
317
- {
318
- "$ref": "#/definitions/reference"
319
- }
320
- ]
321
- }
322
- }
323
- ]
324
- },
325
- "typography": {
326
- "allOf": [
327
- {
328
- "$ref": "#/definitions/tokenMap"
329
- },
330
- {
331
- "additionalProperties": {
332
- "oneOf": [
333
- {
334
- "$ref": "#/definitions/typographyValue"
335
- },
336
- {
337
- "$ref": "#/definitions/reference"
338
- }
339
- ]
340
- }
341
- }
342
- ]
343
- }
344
- },
345
- "additionalProperties": false
346
- },
347
- "fontFamilyValue": {
348
- "type": "array",
349
- "items": {
350
- "type": "string"
351
- },
352
- "minItems": 1
353
- },
354
- "cubicBezierValue": {
355
- "type": "array",
356
- "items": {
357
- "type": "number"
358
- },
359
- "minItems": 4,
360
- "maxItems": 4
361
- },
362
- "strokeStyleValue": {
363
- "type": "object",
364
- "properties": {
365
- "dashArray": {
366
- "type": "array",
367
- "items": {
368
- "$ref": "#/definitions/dimensionString"
369
- },
370
- "minItems": 1
371
- },
372
- "lineCap": {
373
- "type": "string"
374
- }
375
- },
376
- "required": [
377
- "dashArray",
378
- "lineCap"
379
- ],
380
- "additionalProperties": false
381
- },
382
- "borderValue": {
383
- "type": "object",
384
- "properties": {
385
- "color": {
386
- "$ref": "#/definitions/hexColor"
387
- },
388
- "width": {
389
- "$ref": "#/definitions/dimensionString"
390
- },
391
- "style": {
392
- "anyOf": [
393
- {
394
- "type": "string"
395
- },
396
- {
397
- "$ref": "#/definitions/strokeStyleValue"
398
- },
399
- {
400
- "$ref": "#/definitions/reference"
401
- }
402
- ]
403
- }
404
- },
405
- "required": [
406
- "color",
407
- "width",
408
- "style"
409
- ],
410
- "additionalProperties": false
411
- },
412
- "transitionValue": {
413
- "type": "object",
414
- "properties": {
415
- "duration": {
416
- "$ref": "#/definitions/durationString"
417
- },
418
- "delay": {
419
- "$ref": "#/definitions/durationString"
420
- },
421
- "timingFunction": {
422
- "$ref": "#/definitions/cubicBezierValue"
423
- }
424
- },
425
- "required": [
426
- "duration",
427
- "delay",
428
- "timingFunction"
429
- ],
430
- "additionalProperties": false
431
- },
432
- "shadowLayer": {
433
- "type": "object",
434
- "properties": {
435
- "color": {
436
- "$ref": "#/definitions/hexColor"
437
- },
438
- "offsetX": {
439
- "$ref": "#/definitions/dimensionString"
440
- },
441
- "offsetY": {
442
- "$ref": "#/definitions/dimensionString"
443
- },
444
- "blur": {
445
- "$ref": "#/definitions/dimensionString"
446
- },
447
- "spread": {
448
- "$ref": "#/definitions/dimensionString"
449
- }
450
- },
451
- "required": [
452
- "color",
453
- "offsetX",
454
- "offsetY",
455
- "blur",
456
- "spread"
457
- ],
458
- "additionalProperties": false
459
- },
460
- "shadowValue": {
461
- "oneOf": [
462
- {
463
- "$ref": "#/definitions/shadowLayer"
464
- },
465
- {
466
- "type": "array",
467
- "items": {
468
- "$ref": "#/definitions/shadowLayer"
469
- },
470
- "minItems": 1
471
- }
472
- ]
473
- },
474
- "gradientStop": {
475
- "type": "object",
476
- "properties": {
477
- "color": {
478
- "$ref": "#/definitions/hexColor"
479
- },
480
- "position": {
481
- "type": "number"
482
- }
483
- },
484
- "required": [
485
- "color",
486
- "position"
487
- ],
488
- "additionalProperties": false
489
- },
490
- "gradientValue": {
491
- "type": "array",
492
- "items": {
493
- "$ref": "#/definitions/gradientStop"
494
- },
495
- "minItems": 1
496
- },
497
- "typographyValue": {
498
- "type": "object",
499
- "properties": {
500
- "fontFamily": {
501
- "$ref": "#/definitions/fontFamilyValue"
502
- },
503
- "fontSize": {
504
- "$ref": "#/definitions/dimensionString"
505
- },
506
- "fontWeight": {
507
- "oneOf": [
508
- {
509
- "type": "string"
510
- },
511
- {
512
- "type": "number"
513
- }
514
- ]
515
- },
516
- "letterSpacing": {
517
- "$ref": "#/definitions/dimensionString"
518
- },
519
- "lineHeight": {
520
- "type": "number"
521
- }
522
- },
523
- "required": [
524
- "fontFamily",
525
- "fontSize",
526
- "fontWeight",
527
- "letterSpacing",
528
- "lineHeight"
529
- ],
530
- "additionalProperties": false
531
- }
532
- }
533
- }
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "format": "uri-reference",
11
+ "description": "URI reference to this JSON schema."
12
+ },
13
+ "primitive": {
14
+ "$ref": "#/definitions/primitiveRoot"
15
+ }
16
+ },
17
+ "patternProperties": {
18
+ "^(?!\\$schema$|primitive$)[^${}.][^{}.]*$": {
19
+ "$ref": "#/definitions/referenceGroup"
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "definitions": {
24
+ "tokenName": {
25
+ "type": "string",
26
+ "pattern": "^[^${}.][^{}.]*$"
27
+ },
28
+ "reference": {
29
+ "type": "string",
30
+ "pattern": "^\\{[^{}]+\\}$"
31
+ },
32
+ "dimensionString": {
33
+ "type": "string",
34
+ "pattern": "^-?\\d+(?:\\.\\d+)?(?:px|rem)$"
35
+ },
36
+ "durationString": {
37
+ "type": "string",
38
+ "pattern": "^-?\\d+(?:\\.\\d+)?(?:ms|s)$"
39
+ },
40
+ "hexColor": {
41
+ "type": "string",
42
+ "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
43
+ },
44
+ "referenceableScalar": {
45
+ "anyOf": [
46
+ {
47
+ "$ref": "#/definitions/reference"
48
+ },
49
+ {
50
+ "type": "string"
51
+ },
52
+ {
53
+ "type": "number"
54
+ },
55
+ {
56
+ "type": "boolean"
57
+ },
58
+ {
59
+ "type": "null"
60
+ }
61
+ ]
62
+ },
63
+ "referenceGroup": {
64
+ "oneOf": [
65
+ {
66
+ "$ref": "#/definitions/referenceableScalar"
67
+ },
68
+ {
69
+ "type": "array",
70
+ "items": {
71
+ "$ref": "#/definitions/referenceGroup"
72
+ }
73
+ },
74
+ {
75
+ "type": "object",
76
+ "additionalProperties": {
77
+ "$ref": "#/definitions/referenceGroup"
78
+ }
79
+ }
80
+ ]
81
+ },
82
+ "tokenMap": {
83
+ "type": "object",
84
+ "propertyNames": {
85
+ "$ref": "#/definitions/tokenName"
86
+ }
87
+ },
88
+ "primitiveRoot": {
89
+ "type": "object",
90
+ "properties": {
91
+ "color": {
92
+ "allOf": [
93
+ {
94
+ "$ref": "#/definitions/tokenMap"
95
+ },
96
+ {
97
+ "additionalProperties": {
98
+ "anyOf": [
99
+ {
100
+ "$ref": "#/definitions/hexColor"
101
+ },
102
+ {
103
+ "$ref": "#/definitions/reference"
104
+ }
105
+ ]
106
+ }
107
+ }
108
+ ]
109
+ },
110
+ "dimension": {
111
+ "allOf": [
112
+ {
113
+ "$ref": "#/definitions/tokenMap"
114
+ },
115
+ {
116
+ "additionalProperties": {
117
+ "anyOf": [
118
+ {
119
+ "$ref": "#/definitions/dimensionString"
120
+ },
121
+ {
122
+ "$ref": "#/definitions/reference"
123
+ }
124
+ ]
125
+ }
126
+ }
127
+ ]
128
+ },
129
+ "fontFamily": {
130
+ "allOf": [
131
+ {
132
+ "$ref": "#/definitions/tokenMap"
133
+ },
134
+ {
135
+ "additionalProperties": {
136
+ "anyOf": [
137
+ {
138
+ "$ref": "#/definitions/fontFamilyValue"
139
+ },
140
+ {
141
+ "$ref": "#/definitions/reference"
142
+ }
143
+ ]
144
+ }
145
+ }
146
+ ]
147
+ },
148
+ "fontWeight": {
149
+ "allOf": [
150
+ {
151
+ "$ref": "#/definitions/tokenMap"
152
+ },
153
+ {
154
+ "additionalProperties": {
155
+ "anyOf": [
156
+ {
157
+ "type": "string"
158
+ },
159
+ {
160
+ "type": "number"
161
+ },
162
+ {
163
+ "$ref": "#/definitions/reference"
164
+ }
165
+ ]
166
+ }
167
+ }
168
+ ]
169
+ },
170
+ "duration": {
171
+ "allOf": [
172
+ {
173
+ "$ref": "#/definitions/tokenMap"
174
+ },
175
+ {
176
+ "additionalProperties": {
177
+ "oneOf": [
178
+ {
179
+ "$ref": "#/definitions/durationString"
180
+ },
181
+ {
182
+ "$ref": "#/definitions/reference"
183
+ }
184
+ ]
185
+ }
186
+ }
187
+ ]
188
+ },
189
+ "cubicBezier": {
190
+ "allOf": [
191
+ {
192
+ "$ref": "#/definitions/tokenMap"
193
+ },
194
+ {
195
+ "additionalProperties": {
196
+ "oneOf": [
197
+ {
198
+ "$ref": "#/definitions/cubicBezierValue"
199
+ },
200
+ {
201
+ "$ref": "#/definitions/reference"
202
+ }
203
+ ]
204
+ }
205
+ }
206
+ ]
207
+ },
208
+ "number": {
209
+ "allOf": [
210
+ {
211
+ "$ref": "#/definitions/tokenMap"
212
+ },
213
+ {
214
+ "additionalProperties": {
215
+ "oneOf": [
216
+ {
217
+ "type": "number"
218
+ },
219
+ {
220
+ "$ref": "#/definitions/reference"
221
+ }
222
+ ]
223
+ }
224
+ }
225
+ ]
226
+ },
227
+ "strokeStyle": {
228
+ "allOf": [
229
+ {
230
+ "$ref": "#/definitions/tokenMap"
231
+ },
232
+ {
233
+ "additionalProperties": {
234
+ "anyOf": [
235
+ {
236
+ "type": "string"
237
+ },
238
+ {
239
+ "$ref": "#/definitions/strokeStyleValue"
240
+ },
241
+ {
242
+ "$ref": "#/definitions/reference"
243
+ }
244
+ ]
245
+ }
246
+ }
247
+ ]
248
+ },
249
+ "border": {
250
+ "allOf": [
251
+ {
252
+ "$ref": "#/definitions/tokenMap"
253
+ },
254
+ {
255
+ "additionalProperties": {
256
+ "oneOf": [
257
+ {
258
+ "$ref": "#/definitions/borderValue"
259
+ },
260
+ {
261
+ "$ref": "#/definitions/reference"
262
+ }
263
+ ]
264
+ }
265
+ }
266
+ ]
267
+ },
268
+ "transition": {
269
+ "allOf": [
270
+ {
271
+ "$ref": "#/definitions/tokenMap"
272
+ },
273
+ {
274
+ "additionalProperties": {
275
+ "oneOf": [
276
+ {
277
+ "$ref": "#/definitions/transitionValue"
278
+ },
279
+ {
280
+ "$ref": "#/definitions/reference"
281
+ }
282
+ ]
283
+ }
284
+ }
285
+ ]
286
+ },
287
+ "shadow": {
288
+ "allOf": [
289
+ {
290
+ "$ref": "#/definitions/tokenMap"
291
+ },
292
+ {
293
+ "additionalProperties": {
294
+ "oneOf": [
295
+ {
296
+ "$ref": "#/definitions/shadowValue"
297
+ },
298
+ {
299
+ "$ref": "#/definitions/reference"
300
+ }
301
+ ]
302
+ }
303
+ }
304
+ ]
305
+ },
306
+ "gradient": {
307
+ "allOf": [
308
+ {
309
+ "$ref": "#/definitions/tokenMap"
310
+ },
311
+ {
312
+ "additionalProperties": {
313
+ "oneOf": [
314
+ {
315
+ "$ref": "#/definitions/gradientValue"
316
+ },
317
+ {
318
+ "$ref": "#/definitions/reference"
319
+ }
320
+ ]
321
+ }
322
+ }
323
+ ]
324
+ },
325
+ "typography": {
326
+ "allOf": [
327
+ {
328
+ "$ref": "#/definitions/tokenMap"
329
+ },
330
+ {
331
+ "additionalProperties": {
332
+ "oneOf": [
333
+ {
334
+ "$ref": "#/definitions/typographyValue"
335
+ },
336
+ {
337
+ "$ref": "#/definitions/reference"
338
+ }
339
+ ]
340
+ }
341
+ }
342
+ ]
343
+ }
344
+ },
345
+ "additionalProperties": false
346
+ },
347
+ "fontFamilyValue": {
348
+ "type": "array",
349
+ "items": {
350
+ "type": "string"
351
+ },
352
+ "minItems": 1
353
+ },
354
+ "cubicBezierValue": {
355
+ "type": "array",
356
+ "items": {
357
+ "type": "number"
358
+ },
359
+ "minItems": 4,
360
+ "maxItems": 4
361
+ },
362
+ "strokeStyleValue": {
363
+ "type": "object",
364
+ "properties": {
365
+ "dashArray": {
366
+ "type": "array",
367
+ "items": {
368
+ "$ref": "#/definitions/dimensionString"
369
+ },
370
+ "minItems": 1
371
+ },
372
+ "lineCap": {
373
+ "type": "string"
374
+ }
375
+ },
376
+ "required": [
377
+ "dashArray",
378
+ "lineCap"
379
+ ],
380
+ "additionalProperties": false
381
+ },
382
+ "borderValue": {
383
+ "type": "object",
384
+ "properties": {
385
+ "color": {
386
+ "$ref": "#/definitions/hexColor"
387
+ },
388
+ "width": {
389
+ "$ref": "#/definitions/dimensionString"
390
+ },
391
+ "style": {
392
+ "anyOf": [
393
+ {
394
+ "type": "string"
395
+ },
396
+ {
397
+ "$ref": "#/definitions/strokeStyleValue"
398
+ },
399
+ {
400
+ "$ref": "#/definitions/reference"
401
+ }
402
+ ]
403
+ }
404
+ },
405
+ "required": [
406
+ "color",
407
+ "width",
408
+ "style"
409
+ ],
410
+ "additionalProperties": false
411
+ },
412
+ "transitionValue": {
413
+ "type": "object",
414
+ "properties": {
415
+ "duration": {
416
+ "$ref": "#/definitions/durationString"
417
+ },
418
+ "delay": {
419
+ "$ref": "#/definitions/durationString"
420
+ },
421
+ "timingFunction": {
422
+ "$ref": "#/definitions/cubicBezierValue"
423
+ }
424
+ },
425
+ "required": [
426
+ "duration",
427
+ "delay",
428
+ "timingFunction"
429
+ ],
430
+ "additionalProperties": false
431
+ },
432
+ "shadowLayer": {
433
+ "type": "object",
434
+ "properties": {
435
+ "color": {
436
+ "$ref": "#/definitions/hexColor"
437
+ },
438
+ "offsetX": {
439
+ "$ref": "#/definitions/dimensionString"
440
+ },
441
+ "offsetY": {
442
+ "$ref": "#/definitions/dimensionString"
443
+ },
444
+ "blur": {
445
+ "$ref": "#/definitions/dimensionString"
446
+ },
447
+ "spread": {
448
+ "$ref": "#/definitions/dimensionString"
449
+ }
450
+ },
451
+ "required": [
452
+ "color",
453
+ "offsetX",
454
+ "offsetY",
455
+ "blur",
456
+ "spread"
457
+ ],
458
+ "additionalProperties": false
459
+ },
460
+ "shadowValue": {
461
+ "oneOf": [
462
+ {
463
+ "$ref": "#/definitions/shadowLayer"
464
+ },
465
+ {
466
+ "type": "array",
467
+ "items": {
468
+ "$ref": "#/definitions/shadowLayer"
469
+ },
470
+ "minItems": 1
471
+ }
472
+ ]
473
+ },
474
+ "gradientStop": {
475
+ "type": "object",
476
+ "properties": {
477
+ "color": {
478
+ "$ref": "#/definitions/hexColor"
479
+ },
480
+ "position": {
481
+ "type": "number"
482
+ }
483
+ },
484
+ "required": [
485
+ "color",
486
+ "position"
487
+ ],
488
+ "additionalProperties": false
489
+ },
490
+ "gradientValue": {
491
+ "type": "array",
492
+ "items": {
493
+ "$ref": "#/definitions/gradientStop"
494
+ },
495
+ "minItems": 1
496
+ },
497
+ "typographyValue": {
498
+ "type": "object",
499
+ "properties": {
500
+ "fontFamily": {
501
+ "$ref": "#/definitions/fontFamilyValue"
502
+ },
503
+ "fontSize": {
504
+ "$ref": "#/definitions/dimensionString"
505
+ },
506
+ "fontWeight": {
507
+ "oneOf": [
508
+ {
509
+ "type": "string"
510
+ },
511
+ {
512
+ "type": "number"
513
+ }
514
+ ]
515
+ },
516
+ "letterSpacing": {
517
+ "$ref": "#/definitions/dimensionString"
518
+ },
519
+ "lineHeight": {
520
+ "type": "number"
521
+ }
522
+ },
523
+ "required": [
524
+ "fontFamily",
525
+ "fontSize",
526
+ "fontWeight",
527
+ "letterSpacing",
528
+ "lineHeight"
529
+ ],
530
+ "additionalProperties": false
531
+ }
532
+ }
533
+ }