@shotstack/schemas 1.5.9 → 1.7.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 (91) hide show
  1. package/README.md +89 -89
  2. package/dist/json-schema/asset.json +3123 -0
  3. package/dist/json-schema/audio-asset.json +180 -0
  4. package/dist/json-schema/caption-asset.json +285 -0
  5. package/dist/json-schema/caption-background.json +61 -0
  6. package/dist/json-schema/caption-font.json +97 -0
  7. package/dist/json-schema/caption-margin.json +49 -0
  8. package/dist/json-schema/chroma-key.json +46 -0
  9. package/dist/json-schema/clip.json +3575 -0
  10. package/dist/json-schema/crop.json +69 -0
  11. package/dist/json-schema/destinations.json +495 -0
  12. package/dist/json-schema/edit.json +4540 -0
  13. package/dist/json-schema/flip-transformation.json +37 -0
  14. package/dist/json-schema/font.json +18 -0
  15. package/dist/json-schema/google-cloud-storage-destination-options.json +42 -0
  16. package/dist/json-schema/google-cloud-storage-destination.json +73 -0
  17. package/dist/json-schema/google-drive-destination-options.json +30 -0
  18. package/dist/json-schema/google-drive-destination.json +54 -0
  19. package/dist/json-schema/image-asset.json +104 -0
  20. package/dist/json-schema/image-to-video-asset.json +151 -0
  21. package/dist/json-schema/index.cjs +1 -0
  22. package/dist/json-schema/index.d.ts +6 -0
  23. package/dist/json-schema/index.js +3 -0
  24. package/dist/json-schema/luma-asset.json +38 -0
  25. package/dist/json-schema/merge-field.json +23 -0
  26. package/dist/json-schema/offset.json +145 -0
  27. package/dist/json-schema/output.json +771 -0
  28. package/dist/json-schema/poster.json +18 -0
  29. package/dist/json-schema/range.json +39 -0
  30. package/dist/json-schema/rich-caption-active-font.json +54 -0
  31. package/dist/json-schema/rich-caption-active.json +154 -0
  32. package/dist/json-schema/rich-caption-asset.json +1098 -0
  33. package/dist/json-schema/rich-caption-word-animation.json +60 -0
  34. package/dist/json-schema/rich-text-alignment.json +47 -0
  35. package/dist/json-schema/rich-text-animation.json +74 -0
  36. package/dist/json-schema/rich-text-asset.json +737 -0
  37. package/dist/json-schema/rich-text-background.json +52 -0
  38. package/dist/json-schema/rich-text-font.json +157 -0
  39. package/dist/json-schema/rich-text-gradient.json +68 -0
  40. package/dist/json-schema/rich-text-shadow.json +79 -0
  41. package/dist/json-schema/rich-text-stroke.json +55 -0
  42. package/dist/json-schema/rich-text-style.json +165 -0
  43. package/dist/json-schema/rotate-transformation.json +123 -0
  44. package/dist/json-schema/s3destination-options.json +59 -0
  45. package/dist/json-schema/s3destination.json +90 -0
  46. package/dist/json-schema/schemas.json +4983 -0
  47. package/dist/json-schema/shape-asset.json +225 -0
  48. package/dist/json-schema/shotstack-destination.json +33 -0
  49. package/dist/json-schema/size.json +41 -0
  50. package/dist/json-schema/skew-transformation.json +145 -0
  51. package/dist/json-schema/soundtrack.json +47 -0
  52. package/dist/json-schema/svg-arrow-shape.json +49 -0
  53. package/dist/json-schema/svg-asset.json +877 -0
  54. package/dist/json-schema/svg-circle-shape.json +28 -0
  55. package/dist/json-schema/svg-cross-shape.json +42 -0
  56. package/dist/json-schema/svg-ellipse-shape.json +35 -0
  57. package/dist/json-schema/svg-fill.json +169 -0
  58. package/dist/json-schema/svg-gradient-stop.json +25 -0
  59. package/dist/json-schema/svg-heart-shape.json +28 -0
  60. package/dist/json-schema/svg-line-shape.json +35 -0
  61. package/dist/json-schema/svg-linear-gradient-fill.json +80 -0
  62. package/dist/json-schema/svg-path-shape.json +26 -0
  63. package/dist/json-schema/svg-polygon-shape.json +35 -0
  64. package/dist/json-schema/svg-radial-gradient-fill.json +66 -0
  65. package/dist/json-schema/svg-rectangle-shape.json +49 -0
  66. package/dist/json-schema/svg-ring-shape.json +35 -0
  67. package/dist/json-schema/svg-shadow.json +79 -0
  68. package/dist/json-schema/svg-shape.json +404 -0
  69. package/dist/json-schema/svg-solid-fill.json +40 -0
  70. package/dist/json-schema/svg-star-shape.json +42 -0
  71. package/dist/json-schema/svg-stroke.json +115 -0
  72. package/dist/json-schema/svg-transform.json +93 -0
  73. package/dist/json-schema/text-to-image-asset.json +128 -0
  74. package/dist/json-schema/text-to-speech-asset.json +209 -0
  75. package/dist/json-schema/thumbnail.json +25 -0
  76. package/dist/json-schema/timeline.json +3703 -0
  77. package/dist/json-schema/track.json +3590 -0
  78. package/dist/json-schema/transformation.json +251 -0
  79. package/dist/json-schema/transition.json +37 -0
  80. package/dist/json-schema/tween.json +90 -0
  81. package/dist/json-schema/video-asset.json +321 -0
  82. package/dist/json-schema/vimeo-destination-options.json +149 -0
  83. package/dist/json-schema/vimeo-destination-privacy-options.json +90 -0
  84. package/dist/json-schema/vimeo-destination.json +178 -0
  85. package/dist/json-schema/word-timing.json +44 -0
  86. package/dist/schema.d.ts +77 -77
  87. package/dist/zod/zod.gen.cjs +1080 -921
  88. package/dist/zod/zod.gen.d.ts +139 -139
  89. package/dist/zod/zod.gen.js +1081 -922
  90. package/dist/zod/zod.gen.ts +1583 -1648
  91. package/package.json +79 -73
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "SvgShadow",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Drop shadow properties for SVG shapes. Creates a shadow effect behind the shape.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "offsetX": {
10
+ "anyOf": [
11
+ {
12
+ "type": "number",
13
+ "description": "Horizontal offset of the shadow in pixels.\nPositive values move the shadow to the right, negative to the left.\n"
14
+ },
15
+ {
16
+ "type": "null"
17
+ }
18
+ ]
19
+ },
20
+ "offsetY": {
21
+ "anyOf": [
22
+ {
23
+ "type": "number",
24
+ "description": "Vertical offset of the shadow in pixels.\nPositive values move the shadow down, negative values move it up.\n"
25
+ },
26
+ {
27
+ "type": "null"
28
+ }
29
+ ]
30
+ },
31
+ "blur": {
32
+ "anyOf": [
33
+ {
34
+ "type": "number",
35
+ "description": "The blur radius of the shadow in pixels. Must be 0 or greater.",
36
+ "minimum": 0
37
+ },
38
+ {
39
+ "type": "null"
40
+ }
41
+ ]
42
+ },
43
+ "color": {
44
+ "anyOf": [
45
+ {
46
+ "type": "string",
47
+ "description": "The shadow color using hexadecimal color notation.",
48
+ "enum": [
49
+ "#000000"
50
+ ]
51
+ },
52
+ {
53
+ "type": "null"
54
+ }
55
+ ]
56
+ },
57
+ "opacity": {
58
+ "anyOf": [
59
+ {
60
+ "type": "number",
61
+ "description": "The opacity of the shadow where `1` is opaque and `0` is transparent.",
62
+ "minimum": 0,
63
+ "maximum": 1
64
+ },
65
+ {
66
+ "type": "null"
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ "required": [
72
+ "offsetX",
73
+ "offsetY",
74
+ "blur",
75
+ "color",
76
+ "opacity"
77
+ ]
78
+ }
79
+ }
@@ -0,0 +1,404 @@
1
+ {
2
+ "name": "SvgShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "The shape definiti...",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/$defs/SvgRectangleShape"
9
+ },
10
+ {
11
+ "$ref": "#/$defs/SvgCircleShape"
12
+ },
13
+ {
14
+ "$ref": "#/$defs/SvgEllipseShape"
15
+ },
16
+ {
17
+ "$ref": "#/$defs/SvgLineShape"
18
+ },
19
+ {
20
+ "$ref": "#/$defs/SvgPolygonShape"
21
+ },
22
+ {
23
+ "$ref": "#/$defs/SvgStarShape"
24
+ },
25
+ {
26
+ "$ref": "#/$defs/SvgArrowShape"
27
+ },
28
+ {
29
+ "$ref": "#/$defs/SvgHeartShape"
30
+ },
31
+ {
32
+ "$ref": "#/$defs/SvgCrossShape"
33
+ },
34
+ {
35
+ "$ref": "#/$defs/SvgRingShape"
36
+ },
37
+ {
38
+ "$ref": "#/$defs/SvgPathShape"
39
+ }
40
+ ],
41
+ "$defs": {
42
+ "SvgRectangleShape": {
43
+ "description": "A rectangle s...",
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "properties": {
47
+ "type": {
48
+ "description": "Th...",
49
+ "type": "string",
50
+ "enum": [
51
+ "rectangle"
52
+ ]
53
+ },
54
+ "width": {
55
+ "description": "Th...",
56
+ "type": "number",
57
+ "minimum": 1,
58
+ "maximum": 4096
59
+ },
60
+ "height": {
61
+ "description": "Th...",
62
+ "type": "number",
63
+ "minimum": 1,
64
+ "maximum": 4096
65
+ },
66
+ "cornerRadius": {
67
+ "anyOf": [
68
+ {
69
+ "type": "number",
70
+ "description": "The corner radius f...",
71
+ "minimum": 0,
72
+ "maximum": 2048
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
78
+ }
79
+ },
80
+ "required": [
81
+ "type",
82
+ "width",
83
+ "height",
84
+ "cornerRadius"
85
+ ]
86
+ },
87
+ "SvgCircleShape": {
88
+ "description": "A perfect c...",
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "properties": {
92
+ "type": {
93
+ "description": "T...",
94
+ "type": "string",
95
+ "enum": [
96
+ "circle"
97
+ ]
98
+ },
99
+ "radius": {
100
+ "description": "Th...",
101
+ "type": "number",
102
+ "minimum": 1,
103
+ "maximum": 2048
104
+ }
105
+ },
106
+ "required": [
107
+ "type",
108
+ "radius"
109
+ ]
110
+ },
111
+ "SvgEllipseShape": {
112
+ "description": "An ellipse (ov...",
113
+ "type": "object",
114
+ "additionalProperties": false,
115
+ "properties": {
116
+ "type": {
117
+ "description": "Th...",
118
+ "type": "string",
119
+ "enum": [
120
+ "ellipse"
121
+ ]
122
+ },
123
+ "radiusX": {
124
+ "description": "The ...",
125
+ "type": "number",
126
+ "minimum": 1,
127
+ "maximum": 2048
128
+ },
129
+ "radiusY": {
130
+ "description": "The ...",
131
+ "type": "number",
132
+ "minimum": 1,
133
+ "maximum": 2048
134
+ }
135
+ },
136
+ "required": [
137
+ "type",
138
+ "radiusX",
139
+ "radiusY"
140
+ ]
141
+ },
142
+ "SvgLineShape": {
143
+ "description": "A straight line s...",
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "properties": {
147
+ "type": {
148
+ "description": "T...",
149
+ "type": "string",
150
+ "enum": [
151
+ "line"
152
+ ]
153
+ },
154
+ "length": {
155
+ "description": "T...",
156
+ "type": "number",
157
+ "minimum": 1,
158
+ "maximum": 4096
159
+ },
160
+ "thickness": {
161
+ "description": "Th...",
162
+ "type": "number",
163
+ "minimum": 1,
164
+ "maximum": 500
165
+ }
166
+ },
167
+ "required": [
168
+ "type",
169
+ "length",
170
+ "thickness"
171
+ ]
172
+ },
173
+ "SvgPolygonShape": {
174
+ "description": "A regular polygon shape ...",
175
+ "type": "object",
176
+ "additionalProperties": false,
177
+ "properties": {
178
+ "type": {
179
+ "description": "Th...",
180
+ "type": "string",
181
+ "enum": [
182
+ "polygon"
183
+ ]
184
+ },
185
+ "sides": {
186
+ "description": "The number...",
187
+ "type": "integer",
188
+ "minimum": 3,
189
+ "maximum": 100
190
+ },
191
+ "radius": {
192
+ "description": "The radius...",
193
+ "type": "number",
194
+ "minimum": 1,
195
+ "maximum": 2048
196
+ }
197
+ },
198
+ "required": [
199
+ "type",
200
+ "sides",
201
+ "radius"
202
+ ]
203
+ },
204
+ "SvgStarShape": {
205
+ "description": "A star shape with ...",
206
+ "type": "object",
207
+ "additionalProperties": false,
208
+ "properties": {
209
+ "type": {
210
+ "description": "T...",
211
+ "type": "string",
212
+ "enum": [
213
+ "star"
214
+ ]
215
+ },
216
+ "points": {
217
+ "description": "The number o...",
218
+ "type": "integer",
219
+ "minimum": 3,
220
+ "maximum": 100
221
+ },
222
+ "outerRadius": {
223
+ "description": "The outer...",
224
+ "type": "number",
225
+ "minimum": 1,
226
+ "maximum": 2048
227
+ },
228
+ "innerRadius": {
229
+ "description": "The inner radius...",
230
+ "type": "number",
231
+ "minimum": 1,
232
+ "maximum": 2048
233
+ }
234
+ },
235
+ "required": [
236
+ "type",
237
+ "points",
238
+ "outerRadius",
239
+ "innerRadius"
240
+ ]
241
+ },
242
+ "SvgArrowShape": {
243
+ "description": "An arrow s...",
244
+ "type": "object",
245
+ "additionalProperties": false,
246
+ "properties": {
247
+ "type": {
248
+ "description": "T...",
249
+ "type": "string",
250
+ "enum": [
251
+ "arrow"
252
+ ]
253
+ },
254
+ "length": {
255
+ "description": "The t...",
256
+ "type": "number",
257
+ "minimum": 1,
258
+ "maximum": 4096
259
+ },
260
+ "headWidth": {
261
+ "description": "The w...",
262
+ "type": "number",
263
+ "minimum": 1,
264
+ "maximum": 1000
265
+ },
266
+ "headLength": {
267
+ "description": "The ...",
268
+ "type": "number",
269
+ "minimum": 1,
270
+ "maximum": 1000
271
+ },
272
+ "shaftWidth": {
273
+ "description": "The...",
274
+ "type": "number",
275
+ "minimum": 1,
276
+ "maximum": 1000
277
+ }
278
+ },
279
+ "required": [
280
+ "type",
281
+ "length",
282
+ "headWidth",
283
+ "headLength",
284
+ "shaftWidth"
285
+ ]
286
+ },
287
+ "SvgHeartShape": {
288
+ "description": "A heart sha...",
289
+ "type": "object",
290
+ "additionalProperties": false,
291
+ "properties": {
292
+ "type": {
293
+ "description": "T...",
294
+ "type": "string",
295
+ "enum": [
296
+ "heart"
297
+ ]
298
+ },
299
+ "size": {
300
+ "description": "The size o...",
301
+ "type": "number",
302
+ "minimum": 1,
303
+ "maximum": 4096
304
+ }
305
+ },
306
+ "required": [
307
+ "type",
308
+ "size"
309
+ ]
310
+ },
311
+ "SvgCrossShape": {
312
+ "description": "A cross or plus...",
313
+ "type": "object",
314
+ "additionalProperties": false,
315
+ "properties": {
316
+ "type": {
317
+ "description": "T...",
318
+ "type": "string",
319
+ "enum": [
320
+ "cross"
321
+ ]
322
+ },
323
+ "width": {
324
+ "description": "Th...",
325
+ "type": "number",
326
+ "minimum": 1,
327
+ "maximum": 4096
328
+ },
329
+ "height": {
330
+ "description": "Th...",
331
+ "type": "number",
332
+ "minimum": 1,
333
+ "maximum": 4096
334
+ },
335
+ "thickness": {
336
+ "description": "The...",
337
+ "type": "number",
338
+ "minimum": 1,
339
+ "maximum": 500
340
+ }
341
+ },
342
+ "required": [
343
+ "type",
344
+ "width",
345
+ "height",
346
+ "thickness"
347
+ ]
348
+ },
349
+ "SvgRingShape": {
350
+ "description": "A ring (donut/a...",
351
+ "type": "object",
352
+ "additionalProperties": false,
353
+ "properties": {
354
+ "type": {
355
+ "description": "T...",
356
+ "type": "string",
357
+ "enum": [
358
+ "ring"
359
+ ]
360
+ },
361
+ "outerRadius": {
362
+ "description": "Th...",
363
+ "type": "number",
364
+ "minimum": 1,
365
+ "maximum": 2048
366
+ },
367
+ "innerRadius": {
368
+ "description": "The inner...",
369
+ "type": "number",
370
+ "minimum": 0,
371
+ "maximum": 2048
372
+ }
373
+ },
374
+ "required": [
375
+ "type",
376
+ "outerRadius",
377
+ "innerRadius"
378
+ ]
379
+ },
380
+ "SvgPathShape": {
381
+ "description": "A custom shape defined by SVG path data.\nSupports all standard SVG path command...",
382
+ "type": "object",
383
+ "additionalProperties": false,
384
+ "properties": {
385
+ "type": {
386
+ "description": "T...",
387
+ "type": "string",
388
+ "enum": [
389
+ "path"
390
+ ]
391
+ },
392
+ "d": {
393
+ "description": "The SVG path data str...",
394
+ "type": "string"
395
+ }
396
+ },
397
+ "required": [
398
+ "type",
399
+ "d"
400
+ ]
401
+ }
402
+ }
403
+ }
404
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "SvgSolidFill",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A solid color fill for SVG shapes.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The fill type - set to `solid` for a single color fill.",
11
+ "type": "string",
12
+ "enum": [
13
+ "solid"
14
+ ]
15
+ },
16
+ "color": {
17
+ "description": "The fill color using hexadecimal color notation (e.g., `#FF0000` for red).\nMust be a 6-digit hex color code prefixed with `#`.\n",
18
+ "type": "string"
19
+ },
20
+ "opacity": {
21
+ "anyOf": [
22
+ {
23
+ "type": "number",
24
+ "description": "The opacity of the fill where `1` is fully opaque and `0` is fully transparent.\nValues between 0 and 1 create semi-transparent fills.\n",
25
+ "minimum": 0,
26
+ "maximum": 1
27
+ },
28
+ {
29
+ "type": "null"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ "required": [
35
+ "type",
36
+ "color",
37
+ "opacity"
38
+ ]
39
+ }
40
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "SvgStarShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A star shape with a specified number of points.\nThe star is defined by outer and inner radii, creating the characteristic\npointed appearance.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `star`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "star"
14
+ ]
15
+ },
16
+ "points": {
17
+ "description": "The number of points on the star.\nMinimum 3 for a triangle-like star, typically 5 for a classic star.\n",
18
+ "type": "integer",
19
+ "minimum": 3,
20
+ "maximum": 100
21
+ },
22
+ "outerRadius": {
23
+ "description": "The outer radius in pixels - the distance from center to the tips of the points.\n",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 2048
27
+ },
28
+ "innerRadius": {
29
+ "description": "The inner radius in pixels - the distance from center to the inner vertices.\nShould be smaller than outerRadius for a star effect.\n",
30
+ "type": "number",
31
+ "minimum": 1,
32
+ "maximum": 2048
33
+ }
34
+ },
35
+ "required": [
36
+ "type",
37
+ "points",
38
+ "outerRadius",
39
+ "innerRadius"
40
+ ]
41
+ }
42
+ }
@@ -0,0 +1,115 @@
1
+ {
2
+ "name": "SvgStroke",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Stroke (outline) properties for SVG shapes. The stroke defines how the outline\nof a shape is painted, including its color, width, and line style.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "color": {
10
+ "anyOf": [
11
+ {
12
+ "type": "string",
13
+ "description": "The stroke color using hexadecimal color notation."
14
+ },
15
+ {
16
+ "type": "null"
17
+ }
18
+ ]
19
+ },
20
+ "width": {
21
+ "anyOf": [
22
+ {
23
+ "type": "number",
24
+ "description": "The width of the stroke in pixels. Must be greater than 0.\nLarger values create thicker outlines.\n",
25
+ "minimum": 0,
26
+ "maximum": 100
27
+ },
28
+ {
29
+ "type": "null"
30
+ }
31
+ ]
32
+ },
33
+ "opacity": {
34
+ "anyOf": [
35
+ {
36
+ "type": "number",
37
+ "description": "The opacity of the stroke where `1` is opaque and `0` is transparent.",
38
+ "minimum": 0,
39
+ "maximum": 1
40
+ },
41
+ {
42
+ "type": "null"
43
+ }
44
+ ]
45
+ },
46
+ "lineCap": {
47
+ "anyOf": [
48
+ {
49
+ "type": "string",
50
+ "description": "The shape at the end of open paths (lines, polylines, unclosed paths).\n<ul>\n <li>`butt` - flat edge perpendicular to the line (default)</li>\n <li>`round` - semicircular cap extending beyond the endpoint</li>\n <li>`square` - rectangular cap extending beyond the endpoint</li>\n</ul>\n",
51
+ "enum": [
52
+ "butt",
53
+ "round",
54
+ "square"
55
+ ]
56
+ },
57
+ {
58
+ "type": "null"
59
+ }
60
+ ]
61
+ },
62
+ "lineJoin": {
63
+ "anyOf": [
64
+ {
65
+ "type": "string",
66
+ "description": "The shape at the corners where two lines meet.\n<ul>\n <li>`miter` - sharp corner (default)</li>\n <li>`round` - rounded corner</li>\n <li>`bevel` - flattened corner</li>\n</ul>\n",
67
+ "enum": [
68
+ "miter",
69
+ "round",
70
+ "bevel"
71
+ ]
72
+ },
73
+ {
74
+ "type": "null"
75
+ }
76
+ ]
77
+ },
78
+ "dashArray": {
79
+ "anyOf": [
80
+ {
81
+ "type": "array",
82
+ "description": "Pattern of dashes and gaps for the stroke. An array of numbers where\nodd indices are dash lengths and even indices are gap lengths.\nFor example, `[10, 5]` creates 10px dashes with 5px gaps.\n`[10, 5, 2, 5]` creates alternating 10px and 2px dashes with 5px gaps.\n",
83
+ "items": {
84
+ "type": "number",
85
+ "minimum": 0
86
+ }
87
+ },
88
+ {
89
+ "type": "null"
90
+ }
91
+ ]
92
+ },
93
+ "dashOffset": {
94
+ "anyOf": [
95
+ {
96
+ "type": "number",
97
+ "description": "Offset for the dash pattern. Positive values shift the pattern\nforward along the path, negative values shift it backward.\n"
98
+ },
99
+ {
100
+ "type": "null"
101
+ }
102
+ ]
103
+ }
104
+ },
105
+ "required": [
106
+ "color",
107
+ "width",
108
+ "opacity",
109
+ "lineCap",
110
+ "lineJoin",
111
+ "dashArray",
112
+ "dashOffset"
113
+ ]
114
+ }
115
+ }