@shotstack/schemas 1.6.0 → 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 (90) 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/zod/zod.gen.cjs +1080 -921
  87. package/dist/zod/zod.gen.d.ts +139 -139
  88. package/dist/zod/zod.gen.js +1081 -922
  89. package/dist/zod/zod.gen.ts +1583 -1648
  90. package/package.json +79 -73
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "SvgCircleShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A perfect circle shape defined by its radius.\nThe circle is centered at the shape's position.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `circle`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "circle"
14
+ ]
15
+ },
16
+ "radius": {
17
+ "description": "The radius of the circle in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 2048
21
+ }
22
+ },
23
+ "required": [
24
+ "type",
25
+ "radius"
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "SvgCrossShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A cross or plus shape with equal or different arm lengths.\nCan be styled as a plus sign (+) or a cross (x with rotation).\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `cross`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "cross"
14
+ ]
15
+ },
16
+ "width": {
17
+ "description": "The total width of the cross in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 4096
21
+ },
22
+ "height": {
23
+ "description": "The total height of the cross in pixels.",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 4096
27
+ },
28
+ "thickness": {
29
+ "description": "The thickness of the cross arms in pixels.",
30
+ "type": "number",
31
+ "minimum": 1,
32
+ "maximum": 500
33
+ }
34
+ },
35
+ "required": [
36
+ "type",
37
+ "width",
38
+ "height",
39
+ "thickness"
40
+ ]
41
+ }
42
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "SvgEllipseShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "An ellipse (oval) shape with separate horizontal and vertical radii.\nThe ellipse is centered at the shape's position.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `ellipse`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "ellipse"
14
+ ]
15
+ },
16
+ "radiusX": {
17
+ "description": "The horizontal radius (semi-major axis) in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 2048
21
+ },
22
+ "radiusY": {
23
+ "description": "The vertical radius (semi-minor axis) in pixels.",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 2048
27
+ }
28
+ },
29
+ "required": [
30
+ "type",
31
+ "radiusX",
32
+ "radiusY"
33
+ ]
34
+ }
35
+ }
@@ -0,0 +1,169 @@
1
+ {
2
+ "name": "SvgFill",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Fill properties for SVG shapes. Supports solid colors and gradients.\nThe fill defines how the interior of a shape is painted.\n",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/$defs/SvgSolidFill"
9
+ },
10
+ {
11
+ "$ref": "#/$defs/SvgLinearGradientFill"
12
+ },
13
+ {
14
+ "$ref": "#/$defs/SvgRadialGradientFill"
15
+ }
16
+ ],
17
+ "$defs": {
18
+ "SvgSolidFill": {
19
+ "description": "A solid color fill for SVG shapes.",
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "type": {
24
+ "description": "The fill type - set to `solid` for a single color fill.",
25
+ "type": "string",
26
+ "enum": [
27
+ "solid"
28
+ ]
29
+ },
30
+ "color": {
31
+ "description": "The fill color using hexadecimal color notation (e.g., `#FF0000` for red).\nMust be a 6-digit hex color code prefixed with `#`.\n",
32
+ "type": "string"
33
+ },
34
+ "opacity": {
35
+ "anyOf": [
36
+ {
37
+ "type": "number",
38
+ "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",
39
+ "minimum": 0,
40
+ "maximum": 1
41
+ },
42
+ {
43
+ "type": "null"
44
+ }
45
+ ]
46
+ }
47
+ },
48
+ "required": [
49
+ "type",
50
+ "color",
51
+ "opacity"
52
+ ]
53
+ },
54
+ "SvgLinearGradientFill": {
55
+ "description": "A linear gradient fill that transitions colors along a straight line.\nThe gradient direction is controlled by the `angle` property.\n",
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "properties": {
59
+ "type": {
60
+ "description": "The fill type - set to `linear` for a linear gradient fill.",
61
+ "type": "string",
62
+ "enum": [
63
+ "linear"
64
+ ]
65
+ },
66
+ "angle": {
67
+ "anyOf": [
68
+ {
69
+ "type": "number",
70
+ "description": "The angle of the gradient in degrees. `0` is horizontal (left to right),\n`90` is vertical (bottom to top), `180` is right to left, etc.\n",
71
+ "minimum": 0,
72
+ "maximum": 360
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
78
+ },
79
+ "stops": {
80
+ "description": "Array of color stops that define the gradient colors and their positions.\nMust have at least 2 stops. Offsets should increase from 0 to 1.\n",
81
+ "type": "array",
82
+ "items": {
83
+ "$ref": "#/$defs/SvgGradientStop"
84
+ }
85
+ },
86
+ "opacity": {
87
+ "anyOf": [
88
+ {
89
+ "type": "number",
90
+ "description": "The overall opacity of the gradient where `1` is fully opaque and `0` is fully transparent.\n",
91
+ "minimum": 0,
92
+ "maximum": 1
93
+ },
94
+ {
95
+ "type": "null"
96
+ }
97
+ ]
98
+ }
99
+ },
100
+ "required": [
101
+ "type",
102
+ "angle",
103
+ "stops",
104
+ "opacity"
105
+ ]
106
+ },
107
+ "SvgGradientStop": {
108
+ "description": "A color stop in a gradient. Each stop defines a color at a specific position\nalong the gradient vector. Gradients require at least 2 stops.\n",
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "properties": {
112
+ "offset": {
113
+ "description": "Position of the color stop along the gradient vector.\n`0` represents the start and `1` represents the end of the gradient.\n",
114
+ "type": "number",
115
+ "minimum": 0,
116
+ "maximum": 1
117
+ },
118
+ "color": {
119
+ "description": "The color at this stop using hexadecimal color notation.",
120
+ "type": "string"
121
+ }
122
+ },
123
+ "required": [
124
+ "offset",
125
+ "color"
126
+ ]
127
+ },
128
+ "SvgRadialGradientFill": {
129
+ "description": "A radial gradient fill that transitions colors radiating outward from a center point.\nThe gradient creates a circular or elliptical color transition.\n",
130
+ "type": "object",
131
+ "additionalProperties": false,
132
+ "properties": {
133
+ "type": {
134
+ "description": "The fill type - set to `radial` for a radial gradient fill.",
135
+ "type": "string",
136
+ "enum": [
137
+ "radial"
138
+ ]
139
+ },
140
+ "stops": {
141
+ "description": "Array of color stops that define the gradient colors and their positions.\nMust have at least 2 stops. Offset `0` is the center, `1` is the outer edge.\n",
142
+ "type": "array",
143
+ "items": {
144
+ "$ref": "#/$defs/SvgGradientStop"
145
+ }
146
+ },
147
+ "opacity": {
148
+ "anyOf": [
149
+ {
150
+ "type": "number",
151
+ "description": "The overall opacity of the gradient where `1` is fully opaque and `0` is fully transparent.\n",
152
+ "minimum": 0,
153
+ "maximum": 1
154
+ },
155
+ {
156
+ "type": "null"
157
+ }
158
+ ]
159
+ }
160
+ },
161
+ "required": [
162
+ "type",
163
+ "stops",
164
+ "opacity"
165
+ ]
166
+ }
167
+ }
168
+ }
169
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "SvgGradientStop",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A color stop in a gradient. Each stop defines a color at a specific position\nalong the gradient vector. Gradients require at least 2 stops.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "offset": {
10
+ "description": "Position of the color stop along the gradient vector.\n`0` represents the start and `1` represents the end of the gradient.\n",
11
+ "type": "number",
12
+ "minimum": 0,
13
+ "maximum": 1
14
+ },
15
+ "color": {
16
+ "description": "The color at this stop using hexadecimal color notation.",
17
+ "type": "string"
18
+ }
19
+ },
20
+ "required": [
21
+ "offset",
22
+ "color"
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "SvgHeartShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A heart shape commonly used for love/like icons.\nThe heart is defined by a single size parameter.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `heart`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "heart"
14
+ ]
15
+ },
16
+ "size": {
17
+ "description": "The size of the heart in pixels.\nThis determines both the width and height proportionally.\n",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 4096
21
+ }
22
+ },
23
+ "required": [
24
+ "type",
25
+ "size"
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "SvgLineShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A straight line shape with a specified length and thickness.\nThe line is drawn horizontally by default and can be rotated using transform.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `line`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "line"
14
+ ]
15
+ },
16
+ "length": {
17
+ "description": "The length of the line in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 4096
21
+ },
22
+ "thickness": {
23
+ "description": "The thickness of the line in pixels.",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 500
27
+ }
28
+ },
29
+ "required": [
30
+ "type",
31
+ "length",
32
+ "thickness"
33
+ ]
34
+ }
35
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "SvgLinearGradientFill",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A linear gradient fill that transitions colors along a straight line.\nThe gradient direction is controlled by the `angle` property.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The fill type - set to `linear` for a linear gradient fill.",
11
+ "type": "string",
12
+ "enum": [
13
+ "linear"
14
+ ]
15
+ },
16
+ "angle": {
17
+ "anyOf": [
18
+ {
19
+ "type": "number",
20
+ "description": "The angle of the gradient in degrees. `0` is horizontal (left to right),\n`90` is vertical (bottom to top), `180` is right to left, etc.\n",
21
+ "minimum": 0,
22
+ "maximum": 360
23
+ },
24
+ {
25
+ "type": "null"
26
+ }
27
+ ]
28
+ },
29
+ "stops": {
30
+ "description": "Array of color stops that define the gradient colors and their positions.\nMust have at least 2 stops. Offsets should increase from 0 to 1.\n",
31
+ "type": "array",
32
+ "items": {
33
+ "$ref": "#/$defs/SvgGradientStop"
34
+ }
35
+ },
36
+ "opacity": {
37
+ "anyOf": [
38
+ {
39
+ "type": "number",
40
+ "description": "The overall opacity of the gradient where `1` is fully opaque and `0` is fully transparent.\n",
41
+ "minimum": 0,
42
+ "maximum": 1
43
+ },
44
+ {
45
+ "type": "null"
46
+ }
47
+ ]
48
+ }
49
+ },
50
+ "required": [
51
+ "type",
52
+ "angle",
53
+ "stops",
54
+ "opacity"
55
+ ],
56
+ "$defs": {
57
+ "SvgGradientStop": {
58
+ "description": "A color stop in a gradient. Each stop defines a color at a specific position\nalong the gradient vector. Gradients require at least 2 stops.\n",
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "properties": {
62
+ "offset": {
63
+ "description": "Position of the color stop along the gradient vector.\n`0` represents the start and `1` represents the end of the gradient.\n",
64
+ "type": "number",
65
+ "minimum": 0,
66
+ "maximum": 1
67
+ },
68
+ "color": {
69
+ "description": "The color at this stop using hexadecimal color notation.",
70
+ "type": "string"
71
+ }
72
+ },
73
+ "required": [
74
+ "offset",
75
+ "color"
76
+ ]
77
+ }
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "SvgPathShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A custom shape defined by SVG path data.\nSupports all standard SVG path commands for creating complex shapes.\n\n**Path Commands:**\n- `M x y` / `m dx dy` - Move to (absolute/relative)\n- `L x y` / `l dx dy` - Line to\n- `H x` / `h dx` - Horizontal line to\n- `V y` / `v dy` - Vertical line to\n- `C x1 y1 x2 y2 x y` / `c` - Cubic Bezier curve\n- `S x2 y2 x y` / `s` - Smooth cubic Bezier\n- `Q x1 y1 x y` / `q` - Quadratic Bezier curve\n- `T x y` / `t` - Smooth quadratic Bezier\n- `A rx ry angle large-arc sweep x y` / `a` - Elliptical arc\n- `Z` / `z` - Close path\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `path`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "path"
14
+ ]
15
+ },
16
+ "d": {
17
+ "description": "The SVG path data string defining the shape.\nUses standard SVG path commands (M, L, C, Q, A, Z, etc.).\nExample: `M 0 0 L 100 0 L 100 100 L 0 100 Z` draws a square.\n",
18
+ "type": "string"
19
+ }
20
+ },
21
+ "required": [
22
+ "type",
23
+ "d"
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "SvgPolygonShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A regular polygon shape with a specified number of sides.\nExamples: triangle (3), square (4), pentagon (5), hexagon (6), etc.\nThe polygon is inscribed in a circle of the given radius.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `polygon`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "polygon"
14
+ ]
15
+ },
16
+ "sides": {
17
+ "description": "The number of sides of the polygon.\nMinimum 3 (triangle), maximum 100 for practical use.\n",
18
+ "type": "integer",
19
+ "minimum": 3,
20
+ "maximum": 100
21
+ },
22
+ "radius": {
23
+ "description": "The radius of the circumscribed circle in pixels.\nThis determines the size of the polygon.\n",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 2048
27
+ }
28
+ },
29
+ "required": [
30
+ "type",
31
+ "sides",
32
+ "radius"
33
+ ]
34
+ }
35
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "SvgRadialGradientFill",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A radial gradient fill that transitions colors radiating outward from a center point.\nThe gradient creates a circular or elliptical color transition.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The fill type - set to `radial` for a radial gradient fill.",
11
+ "type": "string",
12
+ "enum": [
13
+ "radial"
14
+ ]
15
+ },
16
+ "stops": {
17
+ "description": "Array of color stops that define the gradient colors and their positions.\nMust have at least 2 stops. Offset `0` is the center, `1` is the outer edge.\n",
18
+ "type": "array",
19
+ "items": {
20
+ "$ref": "#/$defs/SvgGradientStop"
21
+ }
22
+ },
23
+ "opacity": {
24
+ "anyOf": [
25
+ {
26
+ "type": "number",
27
+ "description": "The overall opacity of the gradient where `1` is fully opaque and `0` is fully transparent.\n",
28
+ "minimum": 0,
29
+ "maximum": 1
30
+ },
31
+ {
32
+ "type": "null"
33
+ }
34
+ ]
35
+ }
36
+ },
37
+ "required": [
38
+ "type",
39
+ "stops",
40
+ "opacity"
41
+ ],
42
+ "$defs": {
43
+ "SvgGradientStop": {
44
+ "description": "A color stop in a gradient. Each stop defines a color at a specific position\nalong the gradient vector. Gradients require at least 2 stops.\n",
45
+ "type": "object",
46
+ "additionalProperties": false,
47
+ "properties": {
48
+ "offset": {
49
+ "description": "Position of the color stop along the gradient vector.\n`0` represents the start and `1` represents the end of the gradient.\n",
50
+ "type": "number",
51
+ "minimum": 0,
52
+ "maximum": 1
53
+ },
54
+ "color": {
55
+ "description": "The color at this stop using hexadecimal color notation.",
56
+ "type": "string"
57
+ }
58
+ },
59
+ "required": [
60
+ "offset",
61
+ "color"
62
+ ]
63
+ }
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "SvgRectangleShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A rectangle shape with optional rounded corners.\nThe rectangle is defined by its width and height dimensions.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `rectangle`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "rectangle"
14
+ ]
15
+ },
16
+ "width": {
17
+ "description": "The width of the rectangle in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 4096
21
+ },
22
+ "height": {
23
+ "description": "The height of the rectangle in pixels.",
24
+ "type": "number",
25
+ "minimum": 1,
26
+ "maximum": 4096
27
+ },
28
+ "cornerRadius": {
29
+ "anyOf": [
30
+ {
31
+ "type": "number",
32
+ "description": "The corner radius for rounded corners in pixels.\nSet to `0` for sharp corners. The radius is automatically clamped\nto half of the smallest dimension.\n",
33
+ "minimum": 0,
34
+ "maximum": 2048
35
+ },
36
+ {
37
+ "type": "null"
38
+ }
39
+ ]
40
+ }
41
+ },
42
+ "required": [
43
+ "type",
44
+ "width",
45
+ "height",
46
+ "cornerRadius"
47
+ ]
48
+ }
49
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "SvgRingShape",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "A ring (donut/annulus) shape - a circle with a circular hole in the center.\nThe ring is defined by outer and inner radii.\n",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "type": {
10
+ "description": "The shape type - set to `ring`.",
11
+ "type": "string",
12
+ "enum": [
13
+ "ring"
14
+ ]
15
+ },
16
+ "outerRadius": {
17
+ "description": "The outer radius of the ring in pixels.",
18
+ "type": "number",
19
+ "minimum": 1,
20
+ "maximum": 2048
21
+ },
22
+ "innerRadius": {
23
+ "description": "The inner radius (hole) of the ring in pixels.\nMust be smaller than outerRadius.\n",
24
+ "type": "number",
25
+ "minimum": 0,
26
+ "maximum": 2048
27
+ }
28
+ },
29
+ "required": [
30
+ "type",
31
+ "outerRadius",
32
+ "innerRadius"
33
+ ]
34
+ }
35
+ }