@shotstack/schemas 1.7.1 → 1.8.2

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/README.md +89 -89
  2. package/dist/api.bundled.json +49 -833
  3. package/dist/json-schema/asset.json +84 -855
  4. package/dist/json-schema/clip.json +84 -855
  5. package/dist/json-schema/edit.json +84 -855
  6. package/dist/json-schema/rich-caption-asset.json +221 -140
  7. package/dist/json-schema/schemas.json +93 -951
  8. package/dist/json-schema/svg-asset.json +6 -857
  9. package/dist/json-schema/timeline.json +84 -855
  10. package/dist/json-schema/track.json +84 -855
  11. package/dist/schema.d.ts +43 -660
  12. package/dist/zod/zod.gen.cjs +914 -1640
  13. package/dist/zod/zod.gen.d.ts +306 -8714
  14. package/dist/zod/zod.gen.js +911 -1636
  15. package/dist/zod/zod.gen.ts +1593 -1880
  16. package/package.json +79 -79
  17. package/dist/json-schema/svg-arrow-shape.json +0 -49
  18. package/dist/json-schema/svg-circle-shape.json +0 -28
  19. package/dist/json-schema/svg-cross-shape.json +0 -42
  20. package/dist/json-schema/svg-ellipse-shape.json +0 -35
  21. package/dist/json-schema/svg-fill.json +0 -169
  22. package/dist/json-schema/svg-gradient-stop.json +0 -25
  23. package/dist/json-schema/svg-heart-shape.json +0 -28
  24. package/dist/json-schema/svg-line-shape.json +0 -35
  25. package/dist/json-schema/svg-linear-gradient-fill.json +0 -80
  26. package/dist/json-schema/svg-path-shape.json +0 -26
  27. package/dist/json-schema/svg-polygon-shape.json +0 -35
  28. package/dist/json-schema/svg-radial-gradient-fill.json +0 -66
  29. package/dist/json-schema/svg-rectangle-shape.json +0 -49
  30. package/dist/json-schema/svg-ring-shape.json +0 -35
  31. package/dist/json-schema/svg-shadow.json +0 -79
  32. package/dist/json-schema/svg-shape.json +0 -404
  33. package/dist/json-schema/svg-solid-fill.json +0 -40
  34. package/dist/json-schema/svg-star-shape.json +0 -42
  35. package/dist/json-schema/svg-stroke.json +0 -115
  36. package/dist/json-schema/svg-transform.json +0 -93
package/package.json CHANGED
@@ -1,79 +1,79 @@
1
- {
2
- "name": "@shotstack/schemas",
3
- "version": "1.7.1",
4
- "description": "Centralized OpenAPI schemas and TypeScript types for Shotstack API",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "default": "./dist/index.js"
12
- },
13
- "./zod": {
14
- "types": "./dist/zod/zod.gen.d.ts",
15
- "import": "./dist/zod/zod.gen.js",
16
- "require": "./dist/zod/zod.gen.cjs"
17
- },
18
- "./json": {
19
- "types": "./dist/json-schema/index.d.ts",
20
- "import": "./dist/json-schema/index.js",
21
- "require": "./dist/json-schema/index.cjs"
22
- }
23
- },
24
- "files": [
25
- "dist"
26
- ],
27
- "scripts": {
28
- "test": "tsc --noEmit --skipLibCheck",
29
- "clean": "node -e \"fs=require('fs');if(fs.existsSync('dist'))fs.rmSync('dist',{recursive:true})\"",
30
- "bundle": "swagger-cli bundle api.oas3.yaml -o dist/api.bundled.json -t json",
31
- "generate:types": "openapi-typescript dist/api.bundled.json -o dist/schema.d.ts --default-non-nullable=false",
32
- "generate:zod": "openapi-ts",
33
- "compile:zod:cjs": "tsc --declaration false --module commonjs --moduleResolution node --target ES2022 --outDir dist/zod --skipLibCheck dist/zod/zod.gen.ts && node -e \"require('fs').renameSync('dist/zod/zod.gen.js','dist/zod/zod.gen.cjs')\"",
34
- "compile:zod:esm": "tsc --declaration --module nodenext --moduleResolution nodenext --target ES2022 --outDir dist/zod --skipLibCheck dist/zod/zod.gen.ts",
35
- "compile:zod": "npm run compile:zod:cjs && npm run compile:zod:esm",
36
- "generate:json-schema": "node scripts/generate-json-schema.cjs",
37
- "fix:discriminator": "node scripts/fix-discriminator.cjs",
38
- "copy:index": "node -e \"require('fs').writeFileSync('dist/index.d.ts','export type * from \\\"./schema\\\";');require('fs').writeFileSync('dist/index.js','// Type-only package\\nexport {};');\"",
39
- "build": "npm run clean && node -e \"require('fs').mkdirSync('dist',{recursive:true})\" && npm run bundle && npm run generate:types && npm run generate:zod && npm run fix:discriminator && npm run compile:zod && npm run generate:json-schema && npm run copy:index",
40
- "build:docs": "cross-env ./build-docs.sh",
41
- "build:sdks": "cross-env ./build-sdks.sh",
42
- "start": "cross-env ./build-docs.sh && http-server build/docs/ -o -c-1",
43
- "deploy:docs": "aws s3 sync build/docs/ s3://shotstack.io/docs/api",
44
- "prepublishOnly": "npm run build && npm run test"
45
- },
46
- "repository": {
47
- "type": "git",
48
- "url": "git+ssh://git@bitbucket.org/shotstack/oas-api-definition.git"
49
- },
50
- "author": "Shotstack",
51
- "license": "MIT",
52
- "homepage": "https://github.com/shotstack/oas-api-definition",
53
- "keywords": [
54
- "shotstack",
55
- "video",
56
- "api",
57
- "openapi",
58
- "schema",
59
- "typescript",
60
- "zod"
61
- ],
62
- "dependencies": {
63
- "zod": "^4.2.0"
64
- },
65
- "peerDependencies": {
66
- "zod": "^4.0.0"
67
- },
68
- "devDependencies": {
69
- "@apidevtools/swagger-cli": "^4.0.4",
70
- "@hey-api/openapi-ts": "^0.89.2",
71
- "ajv": "^8.11.2",
72
- "cross-env": "^7.0.3",
73
- "http-server": "^14.1.0",
74
- "openapi-typescript": "^7.4.4",
75
- "tsx": "^4.21.0",
76
- "typescript": "^5.7.2",
77
- "widdershins": "^4.0.1"
78
- }
79
- }
1
+ {
2
+ "name": "@shotstack/schemas",
3
+ "version": "1.8.2",
4
+ "description": "Centralized OpenAPI schemas and TypeScript types for Shotstack API",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./zod": {
14
+ "types": "./dist/zod/zod.gen.d.ts",
15
+ "import": "./dist/zod/zod.gen.js",
16
+ "require": "./dist/zod/zod.gen.cjs"
17
+ },
18
+ "./json": {
19
+ "types": "./dist/json-schema/index.d.ts",
20
+ "import": "./dist/json-schema/index.js",
21
+ "require": "./dist/json-schema/index.cjs"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "scripts": {
28
+ "test": "tsc --noEmit --skipLibCheck",
29
+ "clean": "node -e \"fs=require('fs');if(fs.existsSync('dist'))fs.rmSync('dist',{recursive:true})\"",
30
+ "bundle": "swagger-cli bundle api.oas3.yaml -o dist/api.bundled.json -t json",
31
+ "generate:types": "openapi-typescript dist/api.bundled.json -o dist/schema.d.ts --default-non-nullable=false",
32
+ "generate:zod": "openapi-ts",
33
+ "compile:zod:cjs": "tsc --declaration false --module commonjs --moduleResolution node --target ES2022 --outDir dist/zod --skipLibCheck dist/zod/zod.gen.ts && node -e \"require('fs').renameSync('dist/zod/zod.gen.js','dist/zod/zod.gen.cjs')\"",
34
+ "compile:zod:esm": "tsc --declaration --module nodenext --moduleResolution nodenext --target ES2022 --outDir dist/zod --skipLibCheck dist/zod/zod.gen.ts",
35
+ "compile:zod": "npm run compile:zod:cjs && npm run compile:zod:esm",
36
+ "generate:json-schema": "node scripts/generate-json-schema.cjs",
37
+ "fix:discriminator": "node scripts/fix-discriminator.cjs",
38
+ "copy:index": "node -e \"require('fs').writeFileSync('dist/index.d.ts','export type * from \\\"./schema\\\";');require('fs').writeFileSync('dist/index.js','// Type-only package\\nexport {};');\"",
39
+ "build": "npm run clean && node -e \"require('fs').mkdirSync('dist',{recursive:true})\" && npm run bundle && npm run generate:types && npm run generate:zod && npm run fix:discriminator && npm run compile:zod && npm run generate:json-schema && npm run copy:index",
40
+ "build:docs": "cross-env ./build-docs.sh",
41
+ "build:sdks": "cross-env ./build-sdks.sh",
42
+ "start": "cross-env ./build-docs.sh && http-server build/docs/ -o -c-1",
43
+ "deploy:docs": "aws s3 sync build/docs/ s3://shotstack.io/docs/api",
44
+ "prepublishOnly": "npm run build && npm run test"
45
+ },
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "git+ssh://git@bitbucket.org/shotstack/oas-api-definition.git"
49
+ },
50
+ "author": "Shotstack",
51
+ "license": "MIT",
52
+ "homepage": "https://github.com/shotstack/oas-api-definition",
53
+ "keywords": [
54
+ "shotstack",
55
+ "video",
56
+ "api",
57
+ "openapi",
58
+ "schema",
59
+ "typescript",
60
+ "zod"
61
+ ],
62
+ "dependencies": {
63
+ "zod": "^4.2.0"
64
+ },
65
+ "peerDependencies": {
66
+ "zod": "^4.0.0"
67
+ },
68
+ "devDependencies": {
69
+ "@apidevtools/swagger-cli": "^4.0.4",
70
+ "@hey-api/openapi-ts": "^0.89.2",
71
+ "ajv": "^8.11.2",
72
+ "cross-env": "^7.0.3",
73
+ "http-server": "^14.1.0",
74
+ "openapi-typescript": "^7.4.4",
75
+ "tsx": "^4.21.0",
76
+ "typescript": "^5.7.2",
77
+ "widdershins": "^4.0.1"
78
+ }
79
+ }
@@ -1,49 +0,0 @@
1
- {
2
- "name": "SvgArrowShape",
3
- "strict": true,
4
- "schema": {
5
- "description": "An arrow shape pointing to the right by default.\nUse transform rotation to change direction.\n",
6
- "type": "object",
7
- "additionalProperties": false,
8
- "properties": {
9
- "type": {
10
- "description": "The shape type - set to `arrow`.",
11
- "type": "string",
12
- "enum": [
13
- "arrow"
14
- ]
15
- },
16
- "length": {
17
- "description": "The total length of the arrow from tail to tip in pixels.",
18
- "type": "number",
19
- "minimum": 1,
20
- "maximum": 4096
21
- },
22
- "headWidth": {
23
- "description": "The width of the arrow head (the widest part) in pixels.",
24
- "type": "number",
25
- "minimum": 1,
26
- "maximum": 1000
27
- },
28
- "headLength": {
29
- "description": "The length of the arrow head portion in pixels.",
30
- "type": "number",
31
- "minimum": 1,
32
- "maximum": 1000
33
- },
34
- "shaftWidth": {
35
- "description": "The width of the arrow shaft (body) in pixels.",
36
- "type": "number",
37
- "minimum": 1,
38
- "maximum": 1000
39
- }
40
- },
41
- "required": [
42
- "type",
43
- "length",
44
- "headWidth",
45
- "headLength",
46
- "shaftWidth"
47
- ]
48
- }
49
- }
@@ -1,28 +0,0 @@
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
- }
@@ -1,42 +0,0 @@
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
- }
@@ -1,35 +0,0 @@
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
- }
@@ -1,169 +0,0 @@
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
- }
@@ -1,25 +0,0 @@
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
- }
@@ -1,28 +0,0 @@
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
- }
@@ -1,35 +0,0 @@
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
- }
@@ -1,80 +0,0 @@
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
- }