@shotstack/schemas 1.8.4 → 1.8.6

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 (34) hide show
  1. package/dist/api.bundled.json +832 -6
  2. package/dist/json-schema/asset.json +853 -1
  3. package/dist/json-schema/clip.json +853 -1
  4. package/dist/json-schema/edit.json +854 -2
  5. package/dist/json-schema/schemas.json +950 -5
  6. package/dist/json-schema/svg-arrow-shape.json +49 -0
  7. package/dist/json-schema/svg-asset.json +857 -6
  8. package/dist/json-schema/svg-circle-shape.json +28 -0
  9. package/dist/json-schema/svg-cross-shape.json +42 -0
  10. package/dist/json-schema/svg-ellipse-shape.json +35 -0
  11. package/dist/json-schema/svg-fill.json +169 -0
  12. package/dist/json-schema/svg-gradient-stop.json +25 -0
  13. package/dist/json-schema/svg-heart-shape.json +28 -0
  14. package/dist/json-schema/svg-line-shape.json +35 -0
  15. package/dist/json-schema/svg-linear-gradient-fill.json +80 -0
  16. package/dist/json-schema/svg-path-shape.json +26 -0
  17. package/dist/json-schema/svg-polygon-shape.json +35 -0
  18. package/dist/json-schema/svg-radial-gradient-fill.json +66 -0
  19. package/dist/json-schema/svg-rectangle-shape.json +49 -0
  20. package/dist/json-schema/svg-ring-shape.json +35 -0
  21. package/dist/json-schema/svg-shadow.json +79 -0
  22. package/dist/json-schema/svg-shape.json +404 -0
  23. package/dist/json-schema/svg-solid-fill.json +40 -0
  24. package/dist/json-schema/svg-star-shape.json +42 -0
  25. package/dist/json-schema/svg-stroke.json +115 -0
  26. package/dist/json-schema/svg-transform.json +93 -0
  27. package/dist/json-schema/timeline.json +854 -2
  28. package/dist/json-schema/track.json +854 -2
  29. package/dist/schema.d.ts +659 -7
  30. package/dist/zod/zod.gen.cjs +603 -11
  31. package/dist/zod/zod.gen.d.ts +8792 -286
  32. package/dist/zod/zod.gen.js +599 -8
  33. package/dist/zod/zod.gen.ts +374 -8
  34. package/package.json +1 -1
@@ -5,9 +5,10 @@ exports.openAiGeneratedAssetSchema = exports.openaiGeneratedAssetOpenAiGenerated
5
5
  exports.s3DestinationOptionsSchema = exports.s3DestinationOptionsS3DestinationOptionsSchema = exports.muxDestinationSchema = exports.muxDestinationMuxDestinationSchema = exports.muxDestinationOptionsSchema = exports.muxDestinationOptionsMuxDestinationOptionsSchema = exports.googleDriveDestinationSchema = exports.googleDriveDestinationGoogleDriveDestinationSchema = exports.googleDriveDestinationOptionsSchema = exports.googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema = exports.googleCloudStorageDestinationSchema = exports.googleCloudStorageDestinationGoogleCloudStorageDestinationSchema = exports.googleCloudStorageDestinationOptionsSchema = exports.googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema = exports.azureBlobStorageDestinationAzureBlobStorageDestinationSchema = exports.azureBlobStorageDestinationOptionsAzureBlobStorageDestinationOptionsSchema = exports.akamaiNetStorageDestinationAkamaiNetStorageDestinationSchema = exports.akamaiNetStorageDestinationOptionsAkamaiNetStorageDestinationOptionsSchema = exports.cropSchema = exports.cropCropSchema = exports.generatedAssetSchema = exports.generatedAssetGeneratedAssetSchema = exports.stabilityAiGeneratedAssetSchema = exports.stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema = exports.stabilityAiGeneratedAssetOptionsSchema = exports.stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema = exports.stabilityAiTextToImageOptionsSchema = exports.stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema = exports.shotstackGeneratedAssetSchema = exports.shotstackGeneratedAssetShotstackGeneratedAssetSchema = exports.shotstackGeneratedAssetOptionsSchema = exports.shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema = exports.shotstackTextToSpeechOptionsSchema = exports.shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema = exports.shotstackTextToImageOptionsSchema = exports.shotstackTextToImageOptionsShotstackTextToImageOptionsSchema = exports.shotstackTextGeneratorOptionsSchema = exports.shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema = exports.shotstackImageToVideoOptionsSchema = exports.shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema = exports.generatedAssetResponseSchema = exports.generatedAssetResponseGeneratedAssetResponseSchema = exports.generatedAssetResponseDataSchema = exports.generatedAssetResponseDataGeneratedAssetResponseDataSchema = exports.generatedAssetResponseAttributesSchema = exports.generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema = exports.generatedAssetErrorResponseSchema = exports.generatedAssetErrorResponseGeneratedAssetErrorResponseSchema = exports.generatedAssetErrorResponseDataSchema = exports.generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema = void 0;
6
6
  exports.transcriptionSchema = exports.transcriptionTranscriptionSchema = exports.speedSchema = exports.speedSpeedSchema = exports.uploadResponseSchema = exports.uploadresponseUploadResponseSchema = exports.uploadResponseDataSchema = exports.uploadresponsedataUploadResponseDataSchema = exports.uploadResponseAttributesSchema = exports.uploadresponseattributesUploadResponseAttributesSchema = exports.queuedSourceResponseSchema = exports.queuedsourceresponseQueuedSourceResponseSchema = exports.queuedSourceResponseDataSchema = exports.queuedsourceresponsedataQueuedSourceResponseDataSchema = exports.ingestErrorResponseSchema = exports.ingesterrorresponseIngestErrorResponseSchema = exports.ingestErrorResponseDataSchema = exports.ingesterrorresponsedataIngestErrorResponseDataSchema = exports.enhancementsSchema = exports.enhancementsEnhancementsSchema = exports.audioEnhancementSchema = exports.audioEnhancementAudioEnhancementSchema = exports.dolbyEnhancementSchema = exports.dolbyEnhancementDolbyEnhancementSchema = exports.dolbyEnhancementOptionsSchema = exports.dolbyEnhancementOptionsDolbyEnhancementOptionsSchema = exports.imageToVideoAssetSchema = exports.imagetovideoassetImageToVideoAssetSchema = exports.imageAssetSchema = exports.imageassetImageAssetSchema = exports.htmlAssetSchema = exports.htmlassetHtmlAssetSchema = exports.fontSchema = exports.fontFontSchema = exports.flipTransformationSchema = exports.fliptransformationFlipTransformationSchema = exports.destinationsSchema = exports.destinationsDestinationsSchema = exports.vimeoDestinationSchema = exports.vimeoDestinationVimeoDestinationSchema = exports.vimeoDestinationOptionsSchema = exports.vimeoDestinationOptionsVimeoDestinationOptionsSchema = exports.vimeoDestinationPrivacyOptionsSchema = exports.vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema = exports.tiktokDestinationTiktokDestinationSchema = exports.tiktokDestinationOptionsTiktokDestinationOptionsSchema = exports.shotstackDestinationSchema = exports.shotstackDestinationShotstackDestinationSchema = exports.s3DestinationSchema = exports.s3DestinationS3DestinationSchema = void 0;
7
7
  exports.richTextShadowSchema = exports.richtextpropertiesRichTextShadowSchema = exports.richtextpropertiesRichTextPaddingSchema = exports.richTextGradientSchema = exports.richtextpropertiesRichTextGradientSchema = exports.richtextpropertiesRichTextBorderSchema = exports.richTextBackgroundSchema = exports.richtextpropertiesRichTextBackgroundSchema = exports.richTextAnimationSchema = exports.richtextpropertiesRichTextAnimationSchema = exports.richTextAlignmentSchema = exports.richtextpropertiesRichTextAlignmentSchema = exports.wordTimingSchema = exports.richcaptionpropertiesWordTimingSchema = exports.richCaptionWordAnimationSchema = exports.richcaptionpropertiesRichCaptionWordAnimationSchema = exports.richCaptionActiveFontSchema = exports.richcaptionpropertiesRichCaptionActiveFontSchema = exports.templateResponseSchema = exports.templateresponseTemplateResponseSchema = exports.templateResponseDataSchema = exports.templateresponsedataTemplateResponseDataSchema = exports.templateListResponseSchema = exports.templatelistresponseTemplateListResponseSchema = exports.templateListResponseDataSchema = exports.templatelistresponsedataTemplateListResponseDataSchema = exports.templateListResponseItemSchema = exports.templatelistresponseitemTemplateListResponseItemSchema = exports.queuedResponseSchema = exports.queuedresponseQueuedResponseSchema = exports.queuedResponseDataSchema = exports.queuedresponsedataQueuedResponseDataSchema = exports.probeResponseSchema = exports.proberesponseProbeResponseSchema = exports.assetResponseSchema = exports.assetresponseAssetResponseSchema = exports.assetRenderResponseSchema = exports.assetrenderresponseAssetRenderResponseSchema = exports.assetResponseDataSchema = exports.assetresponsedataAssetResponseDataSchema = exports.assetResponseAttributesSchema = exports.assetresponseattributesAssetResponseAttributesSchema = exports.rangeSchema = exports.rangeRangeSchema = exports.posterSchema = exports.posterPosterSchema = exports.mergeFieldSchema = exports.mergefieldMergeFieldSchema = exports.lumaAssetSchema = exports.lumaassetLumaAssetSchema = void 0;
8
- exports.textAlignmentSchema = exports.textpropertiesTextAlignmentSchema = exports.templateRenderSchema = exports.templaterenderTemplateRenderSchema = exports.svgAssetSchema = exports.svgassetSvgAssetSchema = exports.soundtrackSchema = exports.soundtrackSoundtrackSchema = exports.sourceSchema = exports.sourceSourceSchema = exports.sourceResponseSchema = exports.sourceresponseSourceResponseSchema = exports.sourceListResponseSchema = exports.sourcelistresponseSourceListResponseSchema = exports.sourceResponseDataSchema = exports.sourceresponsedataSourceResponseDataSchema = exports.sourceResponseAttributesSchema = exports.sourceresponseattributesSourceResponseAttributesSchema = exports.outputsResponseSchema = exports.outputsresponseOutputsResponseSchema = exports.renditionResponseAttributesSchema = exports.renditionresponseattributesRenditionResponseAttributesSchema = exports.outputsSchema = exports.outputsOutputsSchema = exports.renditionSchema = exports.renditionRenditionSchema = exports.sizeSchema = exports.sizeSizeSchema = exports.shapeAssetSchema = exports.shapeassetShapeAssetSchema = exports.transferSchema = exports.transferTransferSchema = exports.transferResponseSchema = exports.transferresponseTransferResponseSchema = exports.transferResponseDataSchema = exports.transferresponsedataTransferResponseDataSchema = exports.transferResponseAttributesSchema = exports.transferresponseattributesTransferResponseAttributesSchema = exports.richTextAssetSchema = exports.richtextassetRichTextAssetSchema = exports.richCaptionAssetSchema = exports.richcaptionassetRichCaptionAssetSchema = exports.richTextStyleSchema = exports.richtextpropertiesRichTextStyleSchema = exports.richTextFontSchema = exports.richtextpropertiesRichTextFontSchema = exports.richCaptionActiveSchema = exports.richcaptionpropertiesRichCaptionActiveSchema = exports.richTextStrokeSchema = exports.richtextpropertiesRichTextStrokeSchema = void 0;
9
- exports.templateDataResponseDataSchema = exports.templatedataresponsedataTemplateDataResponseDataSchema = exports.renderResponseSchema = exports.renderresponseRenderResponseSchema = exports.renderResponseDataSchema = exports.renderresponsedataRenderResponseDataSchema = exports.editSchema = exports.editEditSchema = exports.timelineSchema = exports.timelineTimelineSchema = exports.trackSchema = exports.trackTrackSchema = exports.clipSchema = exports.clipClipSchema = exports.assetSchema = exports.assetAssetSchema = exports.videoAssetSchema = exports.videoassetVideoAssetSchema = exports.transformationSchema = exports.transformationTransformationSchema = exports.titleAssetSchema = exports.titleassetTitleAssetSchema = exports.textToSpeechAssetSchema = exports.texttospeechassetTextToSpeechAssetSchema = exports.skewTransformationSchema = exports.skewtransformationSkewTransformationSchema = exports.rotateTransformationSchema = exports.rotatetransformationRotateTransformationSchema = exports.offsetSchema = exports.offsetOffsetSchema = exports.audioAssetSchema = exports.audioassetAudioAssetSchema = exports.tweenSchema = exports.tweenTweenSchema = exports.transitionSchema = exports.transitionTransitionSchema = exports.outputSchema = exports.outputOutputSchema = exports.thumbnailSchema = exports.thumbnailThumbnailSchema = exports.textToImageAssetSchema = exports.texttoimageassetTextToImageAssetSchema = exports.textAssetSchema = exports.textassetTextAssetSchema = exports.textpropertiesTextStrokeSchema = exports.textFontSchema = exports.textpropertiesTextFontSchema = exports.textBackgroundSchema = exports.textpropertiesTextBackgroundSchema = exports.textpropertiesTextAnimationSchema = void 0;
10
- exports.getGeneratedAssetResponse = exports.getGeneratedAssetRequest = exports.postGenerateAssetResponse = exports.postGenerateAssetRequest = exports.getUploadSignedUrlResponse = exports.getUploadSignedUrlRequest = exports.getSourceResponse = exports.getSourceRequest = exports.deleteSourceResponse = exports.deleteSourceRequest = exports.postSourceResponse = exports.postSourceRequest = exports.getSourcesResponse = exports.getSourcesRequest = exports.postServeAssetResponse = exports.postServeAssetRequest = exports.getAssetByRenderIdResponse = exports.getAssetByRenderIdRequest = exports.getAssetResponse = exports.getAssetRequest = exports.deleteAssetResponse = exports.deleteAssetRequest = exports.probeResponse = exports.probeRequest = exports.postTemplateRenderResponse = exports.postTemplateRenderRequest = exports.putTemplateResponse = exports.putTemplateRequest = exports.getTemplateResponse = exports.getTemplateRequest = exports.deleteTemplateResponse = exports.deleteTemplateRequest = exports.postTemplateResponse = exports.postTemplateRequest = exports.getTemplatesResponse = exports.getTemplatesRequest = exports.getRenderResponse = exports.getRenderRequest = exports.postRenderResponse = exports.postRenderRequest = exports.templateSchema = exports.templateTemplateSchema = exports.templateDataResponseSchema = exports.templatedataresponseTemplateDataResponseSchema = void 0;
8
+ exports.svgRadialGradientFillSchema = exports.svgpropertiesSvgRadialGradientFillSchema = exports.svgLinearGradientFillSchema = exports.svgpropertiesSvgLinearGradientFillSchema = exports.svgGradientStopSchema = exports.svgpropertiesSvgGradientStopSchema = exports.soundtrackSchema = exports.soundtrackSoundtrackSchema = exports.sourceSchema = exports.sourceSourceSchema = exports.sourceResponseSchema = exports.sourceresponseSourceResponseSchema = exports.sourceListResponseSchema = exports.sourcelistresponseSourceListResponseSchema = exports.sourceResponseDataSchema = exports.sourceresponsedataSourceResponseDataSchema = exports.sourceResponseAttributesSchema = exports.sourceresponseattributesSourceResponseAttributesSchema = exports.outputsResponseSchema = exports.outputsresponseOutputsResponseSchema = exports.renditionResponseAttributesSchema = exports.renditionresponseattributesRenditionResponseAttributesSchema = exports.outputsSchema = exports.outputsOutputsSchema = exports.renditionSchema = exports.renditionRenditionSchema = exports.sizeSchema = exports.sizeSizeSchema = exports.shapeAssetSchema = exports.shapeassetShapeAssetSchema = exports.transferSchema = exports.transferTransferSchema = exports.transferResponseSchema = exports.transferresponseTransferResponseSchema = exports.transferResponseDataSchema = exports.transferresponsedataTransferResponseDataSchema = exports.transferResponseAttributesSchema = exports.transferresponseattributesTransferResponseAttributesSchema = exports.richTextAssetSchema = exports.richtextassetRichTextAssetSchema = exports.richCaptionAssetSchema = exports.richcaptionassetRichCaptionAssetSchema = exports.richTextStyleSchema = exports.richtextpropertiesRichTextStyleSchema = exports.richTextFontSchema = exports.richtextpropertiesRichTextFontSchema = exports.richCaptionActiveSchema = exports.richcaptionpropertiesRichCaptionActiveSchema = exports.richTextStrokeSchema = exports.richtextpropertiesRichTextStrokeSchema = void 0;
9
+ exports.textToImageAssetSchema = exports.texttoimageassetTextToImageAssetSchema = exports.textAssetSchema = exports.textassetTextAssetSchema = exports.textpropertiesTextStrokeSchema = exports.textFontSchema = exports.textpropertiesTextFontSchema = exports.textBackgroundSchema = exports.textpropertiesTextBackgroundSchema = exports.textpropertiesTextAnimationSchema = exports.textAlignmentSchema = exports.textpropertiesTextAlignmentSchema = exports.templateRenderSchema = exports.templaterenderTemplateRenderSchema = exports.svgAssetSchema = exports.svgassetSvgAssetSchema = exports.svgShapeSchema = exports.svgshapesSvgShapeSchema = exports.svgStarShapeSchema = exports.svgshapesSvgStarShapeSchema = exports.svgRingShapeSchema = exports.svgshapesSvgRingShapeSchema = exports.svgRectangleShapeSchema = exports.svgshapesSvgRectangleShapeSchema = exports.svgPolygonShapeSchema = exports.svgshapesSvgPolygonShapeSchema = exports.svgPathShapeSchema = exports.svgshapesSvgPathShapeSchema = exports.svgLineShapeSchema = exports.svgshapesSvgLineShapeSchema = exports.svgHeartShapeSchema = exports.svgshapesSvgHeartShapeSchema = exports.svgEllipseShapeSchema = exports.svgshapesSvgEllipseShapeSchema = exports.svgCrossShapeSchema = exports.svgshapesSvgCrossShapeSchema = exports.svgCircleShapeSchema = exports.svgshapesSvgCircleShapeSchema = exports.svgArrowShapeSchema = exports.svgshapesSvgArrowShapeSchema = exports.svgTransformSchema = exports.svgpropertiesSvgTransformSchema = exports.svgStrokeSchema = exports.svgpropertiesSvgStrokeSchema = exports.svgFillSchema = exports.svgpropertiesSvgFillSchema = exports.svgSolidFillSchema = exports.svgpropertiesSvgSolidFillSchema = exports.svgShadowSchema = exports.svgpropertiesSvgShadowSchema = void 0;
10
+ exports.getTemplatesResponse = exports.getTemplatesRequest = exports.getRenderResponse = exports.getRenderRequest = exports.postRenderResponse = exports.postRenderRequest = exports.templateSchema = exports.templateTemplateSchema = exports.templateDataResponseSchema = exports.templatedataresponseTemplateDataResponseSchema = exports.templateDataResponseDataSchema = exports.templatedataresponsedataTemplateDataResponseDataSchema = exports.renderResponseSchema = exports.renderresponseRenderResponseSchema = exports.renderResponseDataSchema = exports.renderresponsedataRenderResponseDataSchema = exports.editSchema = exports.editEditSchema = exports.timelineSchema = exports.timelineTimelineSchema = exports.trackSchema = exports.trackTrackSchema = exports.clipSchema = exports.clipClipSchema = exports.assetSchema = exports.assetAssetSchema = exports.videoAssetSchema = exports.videoassetVideoAssetSchema = exports.transformationSchema = exports.transformationTransformationSchema = exports.titleAssetSchema = exports.titleassetTitleAssetSchema = exports.textToSpeechAssetSchema = exports.texttospeechassetTextToSpeechAssetSchema = exports.skewTransformationSchema = exports.skewtransformationSkewTransformationSchema = exports.rotateTransformationSchema = exports.rotatetransformationRotateTransformationSchema = exports.offsetSchema = exports.offsetOffsetSchema = exports.audioAssetSchema = exports.audioassetAudioAssetSchema = exports.tweenSchema = exports.tweenTweenSchema = exports.transitionSchema = exports.transitionTransitionSchema = exports.outputSchema = exports.outputOutputSchema = exports.thumbnailSchema = exports.thumbnailThumbnailSchema = void 0;
11
+ exports.getGeneratedAssetResponse = exports.getGeneratedAssetRequest = exports.postGenerateAssetResponse = exports.postGenerateAssetRequest = exports.getUploadSignedUrlResponse = exports.getUploadSignedUrlRequest = exports.getSourceResponse = exports.getSourceRequest = exports.deleteSourceResponse = exports.deleteSourceRequest = exports.postSourceResponse = exports.postSourceRequest = exports.getSourcesResponse = exports.getSourcesRequest = exports.postServeAssetResponse = exports.postServeAssetRequest = exports.getAssetByRenderIdResponse = exports.getAssetByRenderIdRequest = exports.getAssetResponse = exports.getAssetRequest = exports.deleteAssetResponse = exports.deleteAssetRequest = exports.probeResponse = exports.probeRequest = exports.postTemplateRenderResponse = exports.postTemplateRenderRequest = exports.putTemplateResponse = exports.putTemplateRequest = exports.getTemplateResponse = exports.getTemplateRequest = exports.deleteTemplateResponse = exports.deleteTemplateRequest = exports.postTemplateResponse = exports.postTemplateRequest = void 0;
11
12
  const zod_1 = require("zod");
12
13
  exports.editRootSchema = zod_1.z.unknown();
13
14
  exports.sourceRootSchema = zod_1.z.unknown();
@@ -823,7 +824,7 @@ exports.akamaiNetStorageDestinationOptionsAkamaiNetStorageDestinationOptionsSche
823
824
  * Send videos and assets to [Akamai NetStorage](https://techdocs.akamai.com/netstorage-usage/docs). Send files to your NetStorage upload directory with a custom path and filename. Akamai credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/akamai-netstorage), not in the request.
824
825
  */
825
826
  exports.akamaiNetStorageDestinationAkamaiNetStorageDestinationSchema = zod_1.z.object({
826
- provider: zod_1.z.string().default("akamai-netstorage"),
827
+ provider: zod_1.z.literal("akamai-netstorage"),
827
828
  options: zod_1.z.optional(exports.akamaiNetStorageDestinationOptionsAkamaiNetStorageDestinationOptionsSchema),
828
829
  }).strict();
829
830
  /**
@@ -839,7 +840,7 @@ exports.azureBlobStorageDestinationOptionsAzureBlobStorageDestinationOptionsSche
839
840
  * Send videos and assets to [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/). Send files to any container with a custom prefix and filename. Azure credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/azure-blob-storage), not in the request.
840
841
  */
841
842
  exports.azureBlobStorageDestinationAzureBlobStorageDestinationSchema = zod_1.z.object({
842
- provider: zod_1.z.string().default("azure-blob-storage"),
843
+ provider: zod_1.z.literal("azure-blob-storage"),
843
844
  options: zod_1.z.optional(exports.azureBlobStorageDestinationOptionsAzureBlobStorageDestinationOptionsSchema),
844
845
  }).strict();
845
846
  /**
@@ -976,7 +977,9 @@ exports.destinationsDestinationsSchema = zod_1.z.discriminatedUnion("provider",
976
977
  exports.googleCloudStorageDestinationGoogleCloudStorageDestinationSchema,
977
978
  exports.googleDriveDestinationGoogleDriveDestinationSchema,
978
979
  exports.vimeoDestinationVimeoDestinationSchema,
979
- exports.tiktokDestinationTiktokDestinationSchema
980
+ exports.tiktokDestinationTiktokDestinationSchema,
981
+ exports.akamaiNetStorageDestinationAkamaiNetStorageDestinationSchema,
982
+ exports.azureBlobStorageDestinationAzureBlobStorageDestinationSchema
980
983
  ]);
981
984
  exports.destinationsSchema = exports.destinationsDestinationsSchema;
982
985
  /**
@@ -2116,23 +2119,612 @@ exports.soundtrackSoundtrackSchema = zod_1.z.object({
2116
2119
  }).strict();
2117
2120
  exports.soundtrackSchema = exports.soundtrackSoundtrackSchema;
2118
2121
  /**
2119
- * The SvgAsset is used to create scalable vector graphic (SVG) assets using
2120
- * raw SVG markup.
2122
+ * A color stop in a gradient. Each stop defines a color at a specific position
2123
+ * along the gradient vector. Gradients require at least 2 stops.
2121
2124
  *
2125
+ */
2126
+ exports.svgpropertiesSvgGradientStopSchema = zod_1.z.object({
2127
+ offset: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2128
+ return undefined; if (Array.isArray(v))
2129
+ return v; if (typeof v === 'string') {
2130
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2131
+ return v;
2132
+ return Number(v);
2133
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2134
+ color: zod_1.z.union([zod_1.z.string().regex(/^#[A-Fa-f0-9]{6}$/), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2135
+ }).strict();
2136
+ exports.svgGradientStopSchema = exports.svgpropertiesSvgGradientStopSchema;
2137
+ /**
2138
+ * A linear gradient fill that transitions colors along a straight line.
2139
+ * The gradient direction is controlled by the `angle` property.
2140
+ *
2141
+ */
2142
+ exports.svgpropertiesSvgLinearGradientFillSchema = zod_1.z.object({
2143
+ type: zod_1.z.enum(["linear"]),
2144
+ angle: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2145
+ return undefined; if (Array.isArray(v))
2146
+ return v; if (typeof v === 'string') {
2147
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2148
+ return v;
2149
+ return Number(v);
2150
+ } return v; }), zod_1.z.number().gte(0).lte(360)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2151
+ stops: zod_1.z.array(exports.svgpropertiesSvgGradientStopSchema).min(2),
2152
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2153
+ return undefined; if (Array.isArray(v))
2154
+ return v; if (typeof v === 'string') {
2155
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2156
+ return v;
2157
+ return Number(v);
2158
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2159
+ }).strict();
2160
+ exports.svgLinearGradientFillSchema = exports.svgpropertiesSvgLinearGradientFillSchema;
2161
+ /**
2162
+ * A radial gradient fill that transitions colors radiating outward from a center point.
2163
+ * The gradient creates a circular or elliptical color transition.
2164
+ *
2165
+ */
2166
+ exports.svgpropertiesSvgRadialGradientFillSchema = zod_1.z.object({
2167
+ type: zod_1.z.enum(["radial"]),
2168
+ stops: zod_1.z.array(exports.svgpropertiesSvgGradientStopSchema).min(2),
2169
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2170
+ return undefined; if (Array.isArray(v))
2171
+ return v; if (typeof v === 'string') {
2172
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2173
+ return v;
2174
+ return Number(v);
2175
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2176
+ }).strict();
2177
+ exports.svgRadialGradientFillSchema = exports.svgpropertiesSvgRadialGradientFillSchema;
2178
+ /**
2179
+ * Drop shadow properties for SVG shapes. Creates a shadow effect behind the shape.
2180
+ *
2181
+ */
2182
+ exports.svgpropertiesSvgShadowSchema = zod_1.z.object({
2183
+ offsetX: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2184
+ return undefined; if (Array.isArray(v))
2185
+ return v; if (typeof v === 'string') {
2186
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2187
+ return v;
2188
+ return Number(v);
2189
+ } return v; }), zod_1.z.number()), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2190
+ offsetY: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2191
+ return undefined; if (Array.isArray(v))
2192
+ return v; if (typeof v === 'string') {
2193
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2194
+ return v;
2195
+ return Number(v);
2196
+ } return v; }), zod_1.z.number()), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2197
+ blur: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2198
+ return undefined; if (Array.isArray(v))
2199
+ return v; if (typeof v === 'string') {
2200
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2201
+ return v;
2202
+ return Number(v);
2203
+ } return v; }), zod_1.z.number().gte(0)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2204
+ color: zod_1.z.optional(zod_1.z.union([zod_1.z.string().regex(/^#[A-Fa-f0-9]{6}$/), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
2205
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2206
+ return undefined; if (Array.isArray(v))
2207
+ return v; if (typeof v === 'string') {
2208
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2209
+ return v;
2210
+ return Number(v);
2211
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
2212
+ }).strict();
2213
+ exports.svgShadowSchema = exports.svgpropertiesSvgShadowSchema;
2214
+ /**
2215
+ * A solid color fill for SVG shapes.
2216
+ */
2217
+ exports.svgpropertiesSvgSolidFillSchema = zod_1.z.object({
2218
+ type: zod_1.z.enum(["solid"]),
2219
+ color: zod_1.z
2220
+ .string()
2221
+ .regex(/^#[A-Fa-f0-9]{6}$/)
2222
+ .default("#000000"),
2223
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2224
+ return undefined; if (Array.isArray(v))
2225
+ return v; if (typeof v === 'string') {
2226
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2227
+ return v;
2228
+ return Number(v);
2229
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2230
+ }).strict();
2231
+ exports.svgSolidFillSchema = exports.svgpropertiesSvgSolidFillSchema;
2232
+ /**
2233
+ * Fill properties for SVG shapes. Supports solid colors and gradients.
2234
+ * The fill defines how the interior of a shape is painted.
2235
+ *
2236
+ */
2237
+ exports.svgpropertiesSvgFillSchema = zod_1.z.discriminatedUnion("type", [
2238
+ exports.svgpropertiesSvgSolidFillSchema,
2239
+ exports.svgpropertiesSvgLinearGradientFillSchema,
2240
+ exports.svgpropertiesSvgRadialGradientFillSchema,
2241
+ ]);
2242
+ exports.svgFillSchema = exports.svgpropertiesSvgFillSchema;
2243
+ /**
2244
+ * Stroke (outline) properties for SVG shapes. The stroke defines how the outline
2245
+ * of a shape is painted, including its color, width, and line style.
2246
+ *
2247
+ */
2248
+ exports.svgpropertiesSvgStrokeSchema = zod_1.z.object({
2249
+ color: zod_1.z.optional(zod_1.z.union([zod_1.z.string().regex(/^#[A-Fa-f0-9]{6}$/), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
2250
+ width: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2251
+ return undefined; if (Array.isArray(v))
2252
+ return v; if (typeof v === 'string') {
2253
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2254
+ return v;
2255
+ return Number(v);
2256
+ } return v; }), zod_1.z.number().gte(0).lte(100)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2257
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2258
+ return undefined; if (Array.isArray(v))
2259
+ return v; if (typeof v === 'string') {
2260
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2261
+ return v;
2262
+ return Number(v);
2263
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2264
+ lineCap: zod_1.z.optional(zod_1.z.enum(["butt", "round", "square"])),
2265
+ lineJoin: zod_1.z.optional(zod_1.z.enum(["miter", "round", "bevel"])),
2266
+ dashArray: zod_1.z.optional(zod_1.z.array(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2267
+ return undefined; if (Array.isArray(v))
2268
+ return v; if (typeof v === 'string') {
2269
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2270
+ return v;
2271
+ return Number(v);
2272
+ } return v; }), zod_1.z.number().gte(0)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))),
2273
+ dashOffset: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2274
+ return undefined; if (Array.isArray(v))
2275
+ return v; if (typeof v === 'string') {
2276
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2277
+ return v;
2278
+ return Number(v);
2279
+ } return v; }), zod_1.z.number()), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2280
+ }).strict();
2281
+ exports.svgStrokeSchema = exports.svgpropertiesSvgStrokeSchema;
2282
+ /**
2283
+ * Transformation properties for positioning, rotating, and scaling SVG shapes.
2284
+ *
2285
+ */
2286
+ exports.svgpropertiesSvgTransformSchema = zod_1.z.object({
2287
+ x: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2288
+ return undefined; if (Array.isArray(v))
2289
+ return v; if (typeof v === 'string') {
2290
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2291
+ return v;
2292
+ return Number(v);
2293
+ } return v; }), zod_1.z.number()), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2294
+ y: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2295
+ return undefined; if (Array.isArray(v))
2296
+ return v; if (typeof v === 'string') {
2297
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2298
+ return v;
2299
+ return Number(v);
2300
+ } return v; }), zod_1.z.number()), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2301
+ rotation: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2302
+ return undefined; if (Array.isArray(v))
2303
+ return v; if (typeof v === 'string') {
2304
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2305
+ return v;
2306
+ return Number(v);
2307
+ } return v; }), zod_1.z.number().gte(-360).lte(360)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2308
+ scale: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2309
+ return undefined; if (Array.isArray(v))
2310
+ return v; if (typeof v === 'string') {
2311
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2312
+ return v;
2313
+ return Number(v);
2314
+ } return v; }), zod_1.z.number().gte(0.01).lte(100)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2315
+ originX: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2316
+ return undefined; if (Array.isArray(v))
2317
+ return v; if (typeof v === 'string') {
2318
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2319
+ return v;
2320
+ return Number(v);
2321
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
2322
+ originY: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2323
+ return undefined; if (Array.isArray(v))
2324
+ return v; if (typeof v === 'string') {
2325
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2326
+ return v;
2327
+ return Number(v);
2328
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
2329
+ }).strict();
2330
+ exports.svgTransformSchema = exports.svgpropertiesSvgTransformSchema;
2331
+ /**
2332
+ * An arrow shape pointing to the right by default.
2333
+ * Use transform rotation to change direction.
2334
+ *
2335
+ */
2336
+ exports.svgshapesSvgArrowShapeSchema = zod_1.z.object({
2337
+ type: zod_1.z.enum(["arrow"]),
2338
+ length: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2339
+ return undefined; if (Array.isArray(v))
2340
+ return v; if (typeof v === 'string') {
2341
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2342
+ return v;
2343
+ return Number(v);
2344
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2345
+ headWidth: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2346
+ return undefined; if (Array.isArray(v))
2347
+ return v; if (typeof v === 'string') {
2348
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2349
+ return v;
2350
+ return Number(v);
2351
+ } return v; }), zod_1.z.number().gte(1).lte(1000)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2352
+ headLength: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2353
+ return undefined; if (Array.isArray(v))
2354
+ return v; if (typeof v === 'string') {
2355
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2356
+ return v;
2357
+ return Number(v);
2358
+ } return v; }), zod_1.z.number().gte(1).lte(1000)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2359
+ shaftWidth: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2360
+ return undefined; if (Array.isArray(v))
2361
+ return v; if (typeof v === 'string') {
2362
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2363
+ return v;
2364
+ return Number(v);
2365
+ } return v; }), zod_1.z.number().gte(1).lte(1000)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2366
+ }).strict();
2367
+ exports.svgArrowShapeSchema = exports.svgshapesSvgArrowShapeSchema;
2368
+ /**
2369
+ * A perfect circle shape defined by its radius.
2370
+ * The circle is centered at the shape's position.
2371
+ *
2372
+ */
2373
+ exports.svgshapesSvgCircleShapeSchema = zod_1.z.object({
2374
+ type: zod_1.z.enum(["circle"]),
2375
+ radius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2376
+ return undefined; if (Array.isArray(v))
2377
+ return v; if (typeof v === 'string') {
2378
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2379
+ return v;
2380
+ return Number(v);
2381
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2382
+ }).strict();
2383
+ exports.svgCircleShapeSchema = exports.svgshapesSvgCircleShapeSchema;
2384
+ /**
2385
+ * A cross or plus shape with equal or different arm lengths.
2386
+ * Can be styled as a plus sign (+) or a cross (x with rotation).
2387
+ *
2388
+ */
2389
+ exports.svgshapesSvgCrossShapeSchema = zod_1.z.object({
2390
+ type: zod_1.z.enum(["cross"]),
2391
+ width: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2392
+ return undefined; if (Array.isArray(v))
2393
+ return v; if (typeof v === 'string') {
2394
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2395
+ return v;
2396
+ return Number(v);
2397
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2398
+ height: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2399
+ return undefined; if (Array.isArray(v))
2400
+ return v; if (typeof v === 'string') {
2401
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2402
+ return v;
2403
+ return Number(v);
2404
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2405
+ thickness: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2406
+ return undefined; if (Array.isArray(v))
2407
+ return v; if (typeof v === 'string') {
2408
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2409
+ return v;
2410
+ return Number(v);
2411
+ } return v; }), zod_1.z.number().gte(1).lte(500)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2412
+ }).strict();
2413
+ exports.svgCrossShapeSchema = exports.svgshapesSvgCrossShapeSchema;
2414
+ /**
2415
+ * An ellipse (oval) shape with separate horizontal and vertical radii.
2416
+ * The ellipse is centered at the shape's position.
2417
+ *
2418
+ */
2419
+ exports.svgshapesSvgEllipseShapeSchema = zod_1.z.object({
2420
+ type: zod_1.z.enum(["ellipse"]),
2421
+ radiusX: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2422
+ return undefined; if (Array.isArray(v))
2423
+ return v; if (typeof v === 'string') {
2424
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2425
+ return v;
2426
+ return Number(v);
2427
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2428
+ radiusY: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2429
+ return undefined; if (Array.isArray(v))
2430
+ return v; if (typeof v === 'string') {
2431
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2432
+ return v;
2433
+ return Number(v);
2434
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2435
+ }).strict();
2436
+ exports.svgEllipseShapeSchema = exports.svgshapesSvgEllipseShapeSchema;
2437
+ /**
2438
+ * A heart shape commonly used for love/like icons.
2439
+ * The heart is defined by a single size parameter.
2440
+ *
2441
+ */
2442
+ exports.svgshapesSvgHeartShapeSchema = zod_1.z.object({
2443
+ type: zod_1.z.enum(["heart"]),
2444
+ size: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2445
+ return undefined; if (Array.isArray(v))
2446
+ return v; if (typeof v === 'string') {
2447
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2448
+ return v;
2449
+ return Number(v);
2450
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2451
+ }).strict();
2452
+ exports.svgHeartShapeSchema = exports.svgshapesSvgHeartShapeSchema;
2453
+ /**
2454
+ * A straight line shape with a specified length and thickness.
2455
+ * The line is drawn horizontally by default and can be rotated using transform.
2456
+ *
2457
+ */
2458
+ exports.svgshapesSvgLineShapeSchema = zod_1.z.object({
2459
+ type: zod_1.z.enum(["line"]),
2460
+ length: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2461
+ return undefined; if (Array.isArray(v))
2462
+ return v; if (typeof v === 'string') {
2463
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2464
+ return v;
2465
+ return Number(v);
2466
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2467
+ thickness: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2468
+ return undefined; if (Array.isArray(v))
2469
+ return v; if (typeof v === 'string') {
2470
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2471
+ return v;
2472
+ return Number(v);
2473
+ } return v; }), zod_1.z.number().gte(1).lte(500)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2474
+ }).strict();
2475
+ exports.svgLineShapeSchema = exports.svgshapesSvgLineShapeSchema;
2476
+ /**
2477
+ * A custom shape defined by SVG path data.
2478
+ * Supports all standard SVG path commands for creating complex shapes.
2479
+ *
2480
+ * **Path Commands:**
2481
+ * - `M x y` / `m dx dy` - Move to (absolute/relative)
2482
+ * - `L x y` / `l dx dy` - Line to
2483
+ * - `H x` / `h dx` - Horizontal line to
2484
+ * - `V y` / `v dy` - Vertical line to
2485
+ * - `C x1 y1 x2 y2 x y` / `c` - Cubic Bezier curve
2486
+ * - `S x2 y2 x y` / `s` - Smooth cubic Bezier
2487
+ * - `Q x1 y1 x y` / `q` - Quadratic Bezier curve
2488
+ * - `T x y` / `t` - Smooth quadratic Bezier
2489
+ * - `A rx ry angle large-arc sweep x y` / `a` - Elliptical arc
2490
+ * - `Z` / `z` - Close path
2491
+ *
2492
+ */
2493
+ exports.svgshapesSvgPathShapeSchema = zod_1.z.object({
2494
+ type: zod_1.z.enum(["path"]),
2495
+ d: zod_1.z.string().min(1).max(100000),
2496
+ }).strict();
2497
+ exports.svgPathShapeSchema = exports.svgshapesSvgPathShapeSchema;
2498
+ /**
2499
+ * A regular polygon shape with a specified number of sides.
2500
+ * Examples: triangle (3), square (4), pentagon (5), hexagon (6), etc.
2501
+ * The polygon is inscribed in a circle of the given radius.
2502
+ *
2503
+ */
2504
+ exports.svgshapesSvgPolygonShapeSchema = zod_1.z.object({
2505
+ type: zod_1.z.enum(["polygon"]),
2506
+ sides: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2507
+ return undefined; if (Array.isArray(v))
2508
+ return v; if (typeof v === 'string') {
2509
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2510
+ return v;
2511
+ return Number(v);
2512
+ } return v; }), zod_1.z.number().int().gte(3).lte(100)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2513
+ radius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2514
+ return undefined; if (Array.isArray(v))
2515
+ return v; if (typeof v === 'string') {
2516
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2517
+ return v;
2518
+ return Number(v);
2519
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2520
+ }).strict();
2521
+ exports.svgPolygonShapeSchema = exports.svgshapesSvgPolygonShapeSchema;
2522
+ /**
2523
+ * A rectangle shape with optional rounded corners.
2524
+ * The rectangle is defined by its width and height dimensions.
2525
+ *
2526
+ */
2527
+ exports.svgshapesSvgRectangleShapeSchema = zod_1.z.object({
2528
+ type: zod_1.z.enum(["rectangle"]),
2529
+ width: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2530
+ return undefined; if (Array.isArray(v))
2531
+ return v; if (typeof v === 'string') {
2532
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2533
+ return v;
2534
+ return Number(v);
2535
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2536
+ height: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2537
+ return undefined; if (Array.isArray(v))
2538
+ return v; if (typeof v === 'string') {
2539
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2540
+ return v;
2541
+ return Number(v);
2542
+ } return v; }), zod_1.z.number().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2543
+ cornerRadius: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2544
+ return undefined; if (Array.isArray(v))
2545
+ return v; if (typeof v === 'string') {
2546
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2547
+ return v;
2548
+ return Number(v);
2549
+ } return v; }), zod_1.z.number().gte(0).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2550
+ }).strict();
2551
+ exports.svgRectangleShapeSchema = exports.svgshapesSvgRectangleShapeSchema;
2552
+ /**
2553
+ * A ring (donut/annulus) shape - a circle with a circular hole in the center.
2554
+ * The ring is defined by outer and inner radii.
2555
+ *
2556
+ */
2557
+ exports.svgshapesSvgRingShapeSchema = zod_1.z.object({
2558
+ type: zod_1.z.enum(["ring"]),
2559
+ outerRadius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2560
+ return undefined; if (Array.isArray(v))
2561
+ return v; if (typeof v === 'string') {
2562
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2563
+ return v;
2564
+ return Number(v);
2565
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2566
+ innerRadius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2567
+ return undefined; if (Array.isArray(v))
2568
+ return v; if (typeof v === 'string') {
2569
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2570
+ return v;
2571
+ return Number(v);
2572
+ } return v; }), zod_1.z.number().gte(0).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2573
+ }).strict();
2574
+ exports.svgRingShapeSchema = exports.svgshapesSvgRingShapeSchema;
2575
+ /**
2576
+ * A star shape with a specified number of points.
2577
+ * The star is defined by outer and inner radii, creating the characteristic
2578
+ * pointed appearance.
2579
+ *
2580
+ */
2581
+ exports.svgshapesSvgStarShapeSchema = zod_1.z.object({
2582
+ type: zod_1.z.enum(["star"]),
2583
+ points: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2584
+ return undefined; if (Array.isArray(v))
2585
+ return v; if (typeof v === 'string') {
2586
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2587
+ return v;
2588
+ return Number(v);
2589
+ } return v; }), zod_1.z.number().int().gte(3).lte(100)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2590
+ outerRadius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2591
+ return undefined; if (Array.isArray(v))
2592
+ return v; if (typeof v === 'string') {
2593
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2594
+ return v;
2595
+ return Number(v);
2596
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2597
+ innerRadius: zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2598
+ return undefined; if (Array.isArray(v))
2599
+ return v; if (typeof v === 'string') {
2600
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2601
+ return v;
2602
+ return Number(v);
2603
+ } return v; }), zod_1.z.number().gte(1).lte(2048)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2604
+ }).strict();
2605
+ exports.svgStarShapeSchema = exports.svgshapesSvgStarShapeSchema;
2606
+ /**
2607
+ * The shape definition for an SVG asset. Each shape type has its own specific
2608
+ * properties. The `type` field determines which shape is rendered.
2609
+ *
2610
+ */
2611
+ exports.svgshapesSvgShapeSchema = zod_1.z.discriminatedUnion("type", [
2612
+ exports.svgshapesSvgRectangleShapeSchema,
2613
+ exports.svgshapesSvgCircleShapeSchema,
2614
+ exports.svgshapesSvgEllipseShapeSchema,
2615
+ exports.svgshapesSvgLineShapeSchema,
2616
+ exports.svgshapesSvgPolygonShapeSchema,
2617
+ exports.svgshapesSvgStarShapeSchema,
2618
+ exports.svgshapesSvgArrowShapeSchema,
2619
+ exports.svgshapesSvgHeartShapeSchema,
2620
+ exports.svgshapesSvgCrossShapeSchema,
2621
+ exports.svgshapesSvgRingShapeSchema,
2622
+ exports.svgshapesSvgPathShapeSchema,
2623
+ ]);
2624
+ exports.svgShapeSchema = exports.svgshapesSvgShapeSchema;
2625
+ /**
2626
+ * The SvgAsset is used to add scalable vector graphics (SVG) shapes to a video.
2627
+ * It provides two mutually exclusive ways to define shapes:
2628
+ *
2629
+ * **Option 1: Import SVG markup using `src`**
2122
2630
  * ```json
2123
2631
  * {
2124
2632
  * "type": "svg",
2125
2633
  * "src": "<svg width=\"100\" height=\"100\"><circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"#FF0000\"/></svg>"
2126
2634
  * }
2127
2635
  * ```
2636
+ * When using `src`, no other properties are allowed. The fill, stroke, and dimensions
2637
+ * are automatically extracted from the SVG markup.
2638
+ *
2639
+ * **Option 2: Define shapes programmatically using `shape`**
2640
+ * ```json
2641
+ * {
2642
+ * "type": "svg",
2643
+ * "shape": { "type": "circle", "radius": 50 },
2644
+ * "fill": { "type": "solid", "color": "#FF0000" }
2645
+ * }
2646
+ * ```
2647
+ * When using `shape`, you can customize fill, stroke, shadow, transform, and other properties.
2648
+ * The `src` property is not allowed in this mode.
2649
+ *
2650
+ * **Important:** You must provide either `src` OR `shape`, but not both.
2651
+ * These two modes are mutually exclusive.
2652
+ *
2653
+ * **Available Shapes (Option 2 only):**
2654
+ * - `rectangle` - Rectangles with optional rounded corners
2655
+ * - `circle` - Perfect circles
2656
+ * - `ellipse` - Ellipses/ovals with separate x and y radii
2657
+ * - `line` - Straight lines with configurable thickness
2658
+ * - `polygon` - Regular polygons (triangle, pentagon, hexagon, etc.)
2659
+ * - `star` - Multi-pointed stars
2660
+ * - `arrow` - Directional arrows
2661
+ * - `heart` - Heart shapes
2662
+ * - `cross` - Plus/cross shapes
2663
+ * - `ring` - Donut/ring shapes
2664
+ * - `path` - Custom shapes using SVG path data
2128
2665
  *
2129
- * See [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for SVG markup syntax.
2666
+ * See [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for path data syntax.
2130
2667
  *
2131
2668
  */
2132
2669
  exports.svgassetSvgAssetSchema = zod_1.z.object({
2133
2670
  type: zod_1.z.enum(["svg"]),
2134
- src: zod_1.z.string().min(1).max(500000),
2135
- }).strict();
2671
+ src: zod_1.z.optional(zod_1.z.string().min(1).max(500000)),
2672
+ shape: zod_1.z.optional(exports.svgshapesSvgShapeSchema),
2673
+ fill: zod_1.z.optional(exports.svgpropertiesSvgFillSchema),
2674
+ stroke: zod_1.z.optional(exports.svgpropertiesSvgStrokeSchema),
2675
+ shadow: zod_1.z.optional(exports.svgpropertiesSvgShadowSchema),
2676
+ transform: zod_1.z.optional(exports.svgpropertiesSvgTransformSchema),
2677
+ opacity: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2678
+ return undefined; if (Array.isArray(v))
2679
+ return v; if (typeof v === 'string') {
2680
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2681
+ return v;
2682
+ return Number(v);
2683
+ } return v; }), zod_1.z.number().gte(0).lte(1)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2684
+ width: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2685
+ return undefined; if (Array.isArray(v))
2686
+ return v; if (typeof v === 'string') {
2687
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2688
+ return v;
2689
+ return Number(v);
2690
+ } return v; }), zod_1.z.number().int().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2691
+ height: zod_1.z.optional(zod_1.z.union([zod_1.z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
2692
+ return undefined; if (Array.isArray(v))
2693
+ return v; if (typeof v === 'string') {
2694
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
2695
+ return v;
2696
+ return Number(v);
2697
+ } return v; }), zod_1.z.number().int().gte(1).lte(4096)), zod_1.z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2698
+ }).strict().superRefine((data, ctx) => {
2699
+ const hasShape = data.shape !== undefined;
2700
+ const hasSrc = data.src !== undefined && data.src.trim() !== "";
2701
+ if (!hasShape && !hasSrc) {
2702
+ ctx.addIssue({
2703
+ code: zod_1.z.ZodIssueCode.custom,
2704
+ message: "Either 'src' or 'shape' must be provided",
2705
+ path: [],
2706
+ });
2707
+ }
2708
+ if (hasShape && hasSrc) {
2709
+ ctx.addIssue({
2710
+ code: zod_1.z.ZodIssueCode.custom,
2711
+ message: "Provide either 'src' or 'shape', not both",
2712
+ path: ["src"],
2713
+ });
2714
+ }
2715
+ if (hasSrc) {
2716
+ const disallowedProps = ["shape", "fill", "stroke", "shadow", "transform", "width", "height"];
2717
+ for (const prop of disallowedProps) {
2718
+ if (data[prop] !== undefined) {
2719
+ ctx.addIssue({
2720
+ code: zod_1.z.ZodIssueCode.custom,
2721
+ message: `'${prop}' is not allowed when using 'src'. Only 'type' and 'src' are allowed in import mode`,
2722
+ path: [prop],
2723
+ });
2724
+ }
2725
+ }
2726
+ }
2727
+ });
2136
2728
  exports.svgAssetSchema = exports.svgassetSvgAssetSchema;
2137
2729
  /**
2138
2730
  * Configure the id and optional merge fields to render a template by id.