@contentful/experiences-validators 1.33.2-dev-20250226T1247-7e3b57f.0 → 1.33.2-dev-20250226T2047-b9a00dc.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.
package/dist/index.cjs CHANGED
@@ -111,6 +111,7 @@ const PatternPropertyDefinitionSchema = zod.z.object({
111
111
  .object({
112
112
  path: zod.z.string(),
113
113
  type: zod.z.literal('BoundValue'),
114
+ contentType: zod.z.string(),
114
115
  })
115
116
  .optional(),
116
117
  contentTypes: zod.z.record(zod.z.string(), zod.z.any()),
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/schemas/schemaVersions.ts","../src/schemas/v2023_09_28/experience.ts","../src/schemas/componentDefinition.ts","../src/utils/zodToContentfulError.ts","../src/validators/validateBreakpointDefinitions.ts","../src/validators/validateComponentDefinition.ts","../src/validators/validateExperienceFields.ts"],"sourcesContent":["import { z } from 'zod';\n// If more than one version is supported, use z.union\nexport const SchemaVersions = z.literal('2023-09-28');\n\nexport type SchemaVersions = z.infer<typeof SchemaVersions>;\n\n// Keep deprecated versions here just for reference\nexport const UnsupportedSchemaVersions = z.union([\n z.literal('2023-08-23'),\n z.literal('2023-07-26'),\n z.literal('2023-06-27'),\n]);\n","import { z } from 'zod';\nimport { SchemaVersions } from '../schemaVersions';\n\nexport const DefinitionPropertyTypeSchema = z.enum([\n 'Text',\n 'RichText',\n 'Number',\n 'Date',\n 'Boolean',\n 'Location',\n 'Media',\n 'Object',\n 'Hyperlink',\n 'Array',\n 'Link',\n]);\n\nexport const DefinitionPropertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,32}$/, { message: 'Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/' });\n\nexport const PrimitiveValueSchema = z.union([\n z.string(),\n z.boolean(),\n z.number(),\n z.record(z.any(), z.any()),\n z.undefined(),\n]);\n\nconst uuidKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,21}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,21}$/' });\n\n/**\n * Property keys for imported components have a limit of 32 characters (to be implemented) while\n * property keys for patterns have a limit of 54 characters (<32-char-variabl-name>_<21-char-nanoid-id>).\n * Because we cannot distinguish between the two in the componentTree, we will use the larger limit for both.\n */\nconst propertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,54}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,54}$/' });\n\nconst DataSourceSchema = z.record(\n uuidKeySchema,\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.enum(['Entry', 'Asset']),\n }),\n }),\n);\n\nconst ValuesByBreakpointSchema = z.record(z.lazy(() => PrimitiveValueSchema));\n\nconst DesignValueSchema = z\n .object({\n type: z.literal('DesignValue'),\n valuesByBreakpoint: ValuesByBreakpointSchema,\n })\n .strict();\nconst BoundValueSchema = z\n .object({\n type: z.literal('BoundValue'),\n path: z.string(),\n })\n .strict();\nconst HyperlinkValueSchema = z\n .object({\n type: z.literal('HyperlinkValue'),\n linkTargetKey: z.string(),\n /** Allows to override parts of the URL, e.g. the locale */\n overrides: z.object({}).optional(),\n })\n .strict();\nconst UnboundValueSchema = z\n .object({\n type: z.literal('UnboundValue'),\n key: z.string(),\n })\n .strict();\nconst ComponentValueSchema = z\n .object({\n type: z.literal('ComponentValue'),\n key: z.string(),\n })\n .strict();\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst NoValueSchema = z.object({ type: z.literal('NoValue') }).strict();\n\nconst ComponentPropertyValueSchema = z.discriminatedUnion('type', [\n DesignValueSchema,\n BoundValueSchema,\n UnboundValueSchema,\n HyperlinkValueSchema,\n ComponentValueSchema,\n NoValueSchema,\n]);\n\nexport type ComponentPropertyValue = z.infer<typeof ComponentPropertyValueSchema>;\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst VariableMappingSchema = z.object({\n patternPropertyDefinitionId: propertyKeySchema,\n type: z.literal('ContentTypeMapping'),\n pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),\n});\n\nconst VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertyDefinitionSchema = z.object({\n defaultValue: z\n .object({\n path: z.string(),\n type: z.literal('BoundValue'),\n })\n .optional(),\n contentTypes: z.record(z.string(), z.any()),\n});\n\nconst PatternPropertyDefinitionsSchema = z.record(\n propertyKeySchema,\n PatternPropertyDefinitionSchema,\n);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertySchema = z.object({\n type: z.literal('BoundValue'),\n path: z.string(),\n contentType: z.string(),\n});\n\nconst PatternPropertysSchema = z.record(propertyKeySchema, PatternPropertySchema);\n\nexport const BreakpointSchema = z\n .object({\n id: propertyKeySchema,\n query: z.string().regex(/^\\*$|^<[0-9*]+px$/),\n previewSize: z.string(),\n displayName: z.string(),\n displayIcon: z.enum(['desktop', 'tablet', 'mobile']).optional(),\n })\n .strict();\n\nconst UnboundValuesSchema = z.record(\n uuidKeySchema,\n z.object({\n value: PrimitiveValueSchema,\n }),\n);\n\nexport const ComponentTreeNodeIdSchema = z\n .string()\n .regex(/^[a-zA-Z0-9]{1,8}$/, { message: 'Does not match /^[a-zA-Z0-9]{1,8}$/' });\n\n// Use helper schema to define a recursive schema with its type correctly below\nconst BaseComponentTreeNodeSchema = z.object({\n id: ComponentTreeNodeIdSchema.optional(),\n definitionId: DefinitionPropertyKeySchema,\n displayName: z.string().optional(),\n slotId: z.string().optional(),\n variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),\n patternProperties: PatternPropertysSchema.optional(),\n});\nexport type ComponentTreeNode = z.infer<typeof BaseComponentTreeNodeSchema> & {\n children: ComponentTreeNode[];\n};\nconst ComponentTreeNodeSchema: z.ZodType<ComponentTreeNode> = BaseComponentTreeNodeSchema.extend({\n children: z.lazy(() => ComponentTreeNodeSchema.array()),\n});\n\nconst BindingSourceTypeEnumSchema = z\n .array(z.enum(['entry', 'asset', 'manual', 'experience']))\n .nonempty();\n\nexport const ComponentVariableSchema = z.object({\n displayName: z.string().optional(),\n type: DefinitionPropertyTypeSchema,\n description: z.string().optional(),\n group: z.string().optional(),\n defaultValue: PrimitiveValueSchema.or(ComponentPropertyValueSchema).optional(),\n validations: z\n .object({\n bindingSourceType: BindingSourceTypeEnumSchema.optional(),\n required: z.boolean().optional(),\n format: z.literal('URL').optional(),\n in: z\n .array(\n z.object({\n value: z.union([z.string(), z.number()]),\n displayName: z.string().optional(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nexport const ComponentVariablesSchema = z.record(\n z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length\n ComponentVariableSchema,\n);\n\nconst THUMBNAIL_IDS = [\n 'columns',\n 'columnsPlusRight',\n 'imagesSquare',\n 'subtitles',\n 'rowsPlusBottom',\n 'userRectangle',\n 'textbox',\n 'monitorPlay',\n 'article',\n 'table',\n 'star',\n 'heartStraight',\n 'frameCorners',\n 'rows',\n 'dotsThreeOutline',\n 'listDashes',\n 'checkerBoard',\n 'gridFour',\n 'slideshow',\n 'diamondsFour',\n 'cards',\n 'textColumns',\n 'duplex',\n] as const;\n\nconst ComponentSettingsSchema = z.object({\n variableDefinitions: ComponentVariablesSchema,\n thumbnailId: z.enum(THUMBNAIL_IDS).optional(),\n variableMappings: VariableMappingsSchema.optional(),\n patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),\n});\n\nconst UsedComponentsSchema = z.array(\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.literal('Entry'),\n }),\n }),\n);\n\nexport const breakpointsRefinement = (value: Breakpoint[], ctx: z.RefinementCtx) => {\n if (!value.length || value[0].query !== '*') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `The first breakpoint should include the following attributes: { \"query\": \"*\" }`,\n });\n }\n\n const hasDuplicateIds = value.some((currentBreakpoint, currentBreakpointIndex) => {\n // check if the current breakpoint id is found in the rest of the array\n const breakpointIndex = value.findIndex((breakpoint) => breakpoint.id === currentBreakpoint.id);\n return breakpointIndex !== currentBreakpointIndex;\n });\n\n if (hasDuplicateIds) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoint IDs must be unique`,\n });\n }\n // Extract the queries boundary by removing the special characters around it\n const queries = value.map((bp) =>\n bp.query === '*' ? bp.query : parseInt(bp.query.replace(/px|<|>/, '')),\n );\n // sort updates queries array in place so we need to create a copy\n const originalQueries = [...queries];\n queries.sort((q1, q2) => {\n if (q1 === '*') {\n return -1;\n }\n if (q2 === '*') {\n return 1;\n }\n return q1 > q2 ? -1 : 1;\n });\n\n if (originalQueries.join('') !== queries.join('')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoints should be ordered from largest to smallest pixel value`,\n });\n }\n};\n\nconst ComponentTreeSchema = z\n .object({\n breakpoints: z.array(BreakpointSchema).superRefine(breakpointsRefinement),\n children: z.array(ComponentTreeNodeSchema),\n schemaVersion: SchemaVersions,\n })\n .strict();\n\nconst localeWrapper = (fieldSchema: any) => z.record(z.string(), fieldSchema);\n\nexport const ExperienceFieldsCMAShapeSchema = z.object({\n componentTree: localeWrapper(ComponentTreeSchema),\n dataSource: localeWrapper(DataSourceSchema),\n unboundValues: localeWrapper(UnboundValuesSchema),\n usedComponents: localeWrapper(UsedComponentsSchema).optional(),\n componentSettings: localeWrapper(ComponentSettingsSchema).optional(),\n});\n\nexport type ExperienceFields = z.infer<typeof ExperienceFieldsCMAShapeSchema>;\nexport type ExperienceDataSource = z.infer<typeof DataSourceSchema>;\nexport type ExperienceUnboundValues = z.infer<typeof UnboundValuesSchema>;\nexport type ExperienceUsedComponents = z.infer<typeof UsedComponentsSchema>;\nexport type ExperienceComponentSettings = z.infer<typeof ComponentSettingsSchema>;\nexport type ExperienceComponentTree = z.infer<typeof ComponentTreeSchema>;\nexport type ValuesByBreakpoint = z.infer<typeof ValuesByBreakpointSchema>;\nexport type Breakpoint = z.infer<typeof BreakpointSchema>;\nexport type PrimitiveValue = z.infer<typeof PrimitiveValueSchema>;\nexport type DesignValue = z.infer<typeof DesignValueSchema>;\nexport type BoundValue = z.infer<typeof BoundValueSchema>;\nexport type NoValue = z.infer<typeof NoValueSchema>;\nexport type UnboundValue = z.infer<typeof UnboundValueSchema>;\nexport type HyperlinkValue = z.infer<typeof HyperlinkValueSchema>;\nexport type ComponentValue = z.infer<typeof ComponentValueSchema>;\nexport type BindingSourceTypeEnum = z.infer<typeof BindingSourceTypeEnumSchema>;\nexport type PatternPropertyDefinition = z.infer<typeof PatternPropertyDefinitionSchema>;\nexport type PatternProperty = z.infer<typeof PatternPropertySchema>;\nexport type VariableMapping = z.infer<typeof VariableMappingSchema>;\n","import { z } from 'zod';\nimport {\n ComponentVariableSchema,\n DefinitionPropertyKeySchema,\n DefinitionPropertyTypeSchema,\n PrimitiveValueSchema,\n} from './v2023_09_28/experience';\n\nexport const ComponentDefinitionSchema = z.object({\n id: DefinitionPropertyKeySchema,\n variables: z.record(\n DefinitionPropertyKeySchema,\n ComponentVariableSchema.extend({\n defaultValue: PrimitiveValueSchema.optional(),\n }).superRefine((val, ctx) => {\n switch (val.type) {\n case 'Array':\n if (typeof val.defaultValue !== 'undefined') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Array\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Boolean':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'boolean') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a boolean when type is \"Boolean\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Date':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Date\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Hyperlink':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Hyperlink\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Link':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Link\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Location':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Location\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Media':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Media\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Number':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'number') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a number when type is \"Number\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Object':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Object\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'RichText':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"RichText\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Text':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Text\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n }\n }),\n ),\n});\n\nexport type ComponentDefinitionPropertyType = z.infer<typeof DefinitionPropertyTypeSchema>;\nexport type ComponentDefinitionType = z.infer<typeof ComponentDefinitionSchema>;\n","import { ZodIssueCode, ZodIssue, z } from 'zod';\n\nexport enum CodeNames {\n Type = 'type',\n Required = 'required',\n Unexpected = 'unexpected',\n Regex = 'regex',\n In = 'in',\n Size = 'size',\n Custom = 'custom',\n}\n\nexport type ContentfulErrorDetails = {\n details: string;\n min?: number | bigint;\n max?: number | bigint;\n name: (typeof CodeNames)[keyof typeof CodeNames];\n path: (string | number)[];\n value?: string;\n expected?: (string | number)[];\n};\n\nconst convertInvalidType = (issue: z.ZodInvalidTypeIssue): ContentfulErrorDetails => {\n const name = issue.received === 'undefined' ? CodeNames.Required : CodeNames.Type;\n const details =\n issue.received === 'undefined'\n ? `The property \"${issue.path.slice(-1)}\" is required here`\n : `The type of \"${issue.path.slice(-1)}\" is incorrect, expected type: ${issue.expected}`;\n\n return {\n details: details,\n name: name,\n path: issue.path,\n value: issue.received.toString(),\n };\n};\n\nconst convertUnrecognizedKeys = (issue: z.ZodUnrecognizedKeysIssue): ContentfulErrorDetails => {\n const missingProperties = issue.keys.map((k) => `\"${k}\"`).join(', ');\n return {\n details:\n issue.keys.length > 1\n ? `The properties ${missingProperties} are not expected`\n : `The property ${missingProperties} is not expected`,\n name: CodeNames.Unexpected,\n path: issue.path,\n };\n};\n\nconst convertInvalidString = (issue: z.ZodInvalidStringIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Invalid string',\n name: issue.validation === 'regex' ? CodeNames.Regex : CodeNames.Unexpected,\n path: issue.path,\n };\n};\nconst convertInvalidEnumValue = (issue: z.ZodInvalidEnumValueIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received.toString(),\n expected: issue.options,\n };\n};\nconst convertInvalidLiteral = (issue: z.ZodInvalidLiteralIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received as string,\n expected: [issue.expected as string],\n };\n};\n\nconst convertTooBig = (issue: z.ZodTooBigIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at most ${issue.maximum}`,\n name: CodeNames.Size,\n path: issue.path,\n max: issue.maximum,\n };\n};\n\nconst convertTooSmall = (issue: z.ZodTooSmallIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at least ${issue.minimum}`,\n name: CodeNames.Size,\n path: issue.path,\n min: issue.minimum,\n };\n};\nconst defaultConversion = (issue: ZodIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'An unexpected error occurred',\n name: CodeNames.Custom,\n path: issue.path.map(String),\n };\n};\n\nexport const zodToContentfulError = (issue: ZodIssue): ContentfulErrorDetails => {\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n return convertInvalidType(issue);\n case ZodIssueCode.unrecognized_keys:\n return convertUnrecognizedKeys(issue);\n case ZodIssueCode.invalid_enum_value:\n return convertInvalidEnumValue(issue);\n case ZodIssueCode.invalid_string:\n return convertInvalidString(issue);\n case ZodIssueCode.too_small:\n return convertTooSmall(issue);\n case ZodIssueCode.too_big:\n return convertTooBig(issue);\n case ZodIssueCode.invalid_literal:\n return convertInvalidLiteral(issue);\n default:\n return defaultConversion(issue);\n }\n};\n","import { z } from 'zod';\nimport { BreakpointSchema, breakpointsRefinement } from '../schemas/latest';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateBreakpointsDefinition = (breakpoints): ValidatorReturnValue => {\n const result = z\n .array(BreakpointSchema)\n .superRefine(breakpointsRefinement)\n .safeParse(breakpoints);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { ComponentDefinitionSchema } from '../schemas';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateComponentDefinition = (definition): ValidatorReturnValue => {\n const result = ComponentDefinitionSchema.safeParse(definition);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { type SchemaVersions } from '../types';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { Schema_2023_09_28 } from '../schemas';\nimport { zodToContentfulError, CodeNames } from '../utils/zodToContentfulError';\n\nconst VERSION_SCHEMAS = {\n '2023-09-28': Schema_2023_09_28,\n};\n\n/**\n *\n * @param experience The experience entry to validate\n * @param schemaVersionOverride Optional override for the schema version to validate against. By default the schema version is read from the experience entry\n * @returns object with success property and optional errors array\n */\nexport const validateExperienceFields = (\n experience: any,\n schemaVersionOverride?: SchemaVersions,\n): ValidatorReturnValue => {\n let schemaVersion;\n if (experience.fields.componentTree) {\n const locale = Object.keys(experience.fields.componentTree)[0];\n schemaVersion = experience.fields.componentTree[locale].schemaVersion;\n }\n const schema = VERSION_SCHEMAS[schemaVersionOverride || schemaVersion];\n\n if (!schema) {\n return {\n success: false,\n errors: [\n {\n name: schemaVersion ? CodeNames.In : CodeNames.Required,\n expected: ['2023-09-28'],\n value: schemaVersion,\n path: ['fields', 'componentTree', 'schemaVersion'],\n details: schemaVersion\n ? 'Unsupported schema version'\n : 'The property \"schemaVersion\" is required here',\n },\n ],\n };\n }\n\n const fieldsToValidate = {\n componentTree: experience.fields.componentTree,\n dataSource: experience.fields.dataSource,\n unboundValues: experience.fields.unboundValues,\n usedComponents: experience.fields.usedComponents,\n componentSettings: experience.fields.componentSettings,\n };\n\n const result = schema.safeParse(fieldsToValidate);\n if (!result.success) {\n return {\n success: result.success,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n"],"names":["z","ZodIssueCode","Schema_2023_09_28"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/schemas/schemaVersions.ts","../src/schemas/v2023_09_28/experience.ts","../src/schemas/componentDefinition.ts","../src/utils/zodToContentfulError.ts","../src/validators/validateBreakpointDefinitions.ts","../src/validators/validateComponentDefinition.ts","../src/validators/validateExperienceFields.ts"],"sourcesContent":["import { z } from 'zod';\n// If more than one version is supported, use z.union\nexport const SchemaVersions = z.literal('2023-09-28');\n\nexport type SchemaVersions = z.infer<typeof SchemaVersions>;\n\n// Keep deprecated versions here just for reference\nexport const UnsupportedSchemaVersions = z.union([\n z.literal('2023-08-23'),\n z.literal('2023-07-26'),\n z.literal('2023-06-27'),\n]);\n","import { z } from 'zod';\nimport { SchemaVersions } from '../schemaVersions';\n\nexport const DefinitionPropertyTypeSchema = z.enum([\n 'Text',\n 'RichText',\n 'Number',\n 'Date',\n 'Boolean',\n 'Location',\n 'Media',\n 'Object',\n 'Hyperlink',\n 'Array',\n 'Link',\n]);\n\nexport const DefinitionPropertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,32}$/, { message: 'Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/' });\n\nexport const PrimitiveValueSchema = z.union([\n z.string(),\n z.boolean(),\n z.number(),\n z.record(z.any(), z.any()),\n z.undefined(),\n]);\n\nconst uuidKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,21}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,21}$/' });\n\n/**\n * Property keys for imported components have a limit of 32 characters (to be implemented) while\n * property keys for patterns have a limit of 54 characters (<32-char-variabl-name>_<21-char-nanoid-id>).\n * Because we cannot distinguish between the two in the componentTree, we will use the larger limit for both.\n */\nconst propertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,54}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,54}$/' });\n\nconst DataSourceSchema = z.record(\n uuidKeySchema,\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.enum(['Entry', 'Asset']),\n }),\n }),\n);\n\nconst ValuesByBreakpointSchema = z.record(z.lazy(() => PrimitiveValueSchema));\n\nconst DesignValueSchema = z\n .object({\n type: z.literal('DesignValue'),\n valuesByBreakpoint: ValuesByBreakpointSchema,\n })\n .strict();\nconst BoundValueSchema = z\n .object({\n type: z.literal('BoundValue'),\n path: z.string(),\n })\n .strict();\nconst HyperlinkValueSchema = z\n .object({\n type: z.literal('HyperlinkValue'),\n linkTargetKey: z.string(),\n /** Allows to override parts of the URL, e.g. the locale */\n overrides: z.object({}).optional(),\n })\n .strict();\nconst UnboundValueSchema = z\n .object({\n type: z.literal('UnboundValue'),\n key: z.string(),\n })\n .strict();\nconst ComponentValueSchema = z\n .object({\n type: z.literal('ComponentValue'),\n key: z.string(),\n })\n .strict();\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst NoValueSchema = z.object({ type: z.literal('NoValue') }).strict();\n\nconst ComponentPropertyValueSchema = z.discriminatedUnion('type', [\n DesignValueSchema,\n BoundValueSchema,\n UnboundValueSchema,\n HyperlinkValueSchema,\n ComponentValueSchema,\n NoValueSchema,\n]);\n\nexport type ComponentPropertyValue = z.infer<typeof ComponentPropertyValueSchema>;\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst VariableMappingSchema = z.object({\n patternPropertyDefinitionId: propertyKeySchema,\n type: z.literal('ContentTypeMapping'),\n pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),\n});\n\nconst VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertyDefinitionSchema = z.object({\n defaultValue: z\n .object({\n path: z.string(),\n type: z.literal('BoundValue'),\n contentType: z.string(),\n })\n .optional(),\n contentTypes: z.record(z.string(), z.any()),\n});\n\nconst PatternPropertyDefinitionsSchema = z.record(\n propertyKeySchema,\n PatternPropertyDefinitionSchema,\n);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertySchema = z.object({\n type: z.literal('BoundValue'),\n path: z.string(),\n contentType: z.string(),\n});\n\nconst PatternPropertysSchema = z.record(propertyKeySchema, PatternPropertySchema);\n\nexport const BreakpointSchema = z\n .object({\n id: propertyKeySchema,\n query: z.string().regex(/^\\*$|^<[0-9*]+px$/),\n previewSize: z.string(),\n displayName: z.string(),\n displayIcon: z.enum(['desktop', 'tablet', 'mobile']).optional(),\n })\n .strict();\n\nconst UnboundValuesSchema = z.record(\n uuidKeySchema,\n z.object({\n value: PrimitiveValueSchema,\n }),\n);\n\nexport const ComponentTreeNodeIdSchema = z\n .string()\n .regex(/^[a-zA-Z0-9]{1,8}$/, { message: 'Does not match /^[a-zA-Z0-9]{1,8}$/' });\n\n// Use helper schema to define a recursive schema with its type correctly below\nconst BaseComponentTreeNodeSchema = z.object({\n id: ComponentTreeNodeIdSchema.optional(),\n definitionId: DefinitionPropertyKeySchema,\n displayName: z.string().optional(),\n slotId: z.string().optional(),\n variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),\n patternProperties: PatternPropertysSchema.optional(),\n});\nexport type ComponentTreeNode = z.infer<typeof BaseComponentTreeNodeSchema> & {\n children: ComponentTreeNode[];\n};\nconst ComponentTreeNodeSchema: z.ZodType<ComponentTreeNode> = BaseComponentTreeNodeSchema.extend({\n children: z.lazy(() => ComponentTreeNodeSchema.array()),\n});\n\nconst BindingSourceTypeEnumSchema = z\n .array(z.enum(['entry', 'asset', 'manual', 'experience']))\n .nonempty();\n\nexport const ComponentVariableSchema = z.object({\n displayName: z.string().optional(),\n type: DefinitionPropertyTypeSchema,\n description: z.string().optional(),\n group: z.string().optional(),\n defaultValue: PrimitiveValueSchema.or(ComponentPropertyValueSchema).optional(),\n validations: z\n .object({\n bindingSourceType: BindingSourceTypeEnumSchema.optional(),\n required: z.boolean().optional(),\n format: z.literal('URL').optional(),\n in: z\n .array(\n z.object({\n value: z.union([z.string(), z.number()]),\n displayName: z.string().optional(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nexport const ComponentVariablesSchema = z.record(\n z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length\n ComponentVariableSchema,\n);\n\nconst THUMBNAIL_IDS = [\n 'columns',\n 'columnsPlusRight',\n 'imagesSquare',\n 'subtitles',\n 'rowsPlusBottom',\n 'userRectangle',\n 'textbox',\n 'monitorPlay',\n 'article',\n 'table',\n 'star',\n 'heartStraight',\n 'frameCorners',\n 'rows',\n 'dotsThreeOutline',\n 'listDashes',\n 'checkerBoard',\n 'gridFour',\n 'slideshow',\n 'diamondsFour',\n 'cards',\n 'textColumns',\n 'duplex',\n] as const;\n\nconst ComponentSettingsSchema = z.object({\n variableDefinitions: ComponentVariablesSchema,\n thumbnailId: z.enum(THUMBNAIL_IDS).optional(),\n variableMappings: VariableMappingsSchema.optional(),\n patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),\n});\n\nconst UsedComponentsSchema = z.array(\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.literal('Entry'),\n }),\n }),\n);\n\nexport const breakpointsRefinement = (value: Breakpoint[], ctx: z.RefinementCtx) => {\n if (!value.length || value[0].query !== '*') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `The first breakpoint should include the following attributes: { \"query\": \"*\" }`,\n });\n }\n\n const hasDuplicateIds = value.some((currentBreakpoint, currentBreakpointIndex) => {\n // check if the current breakpoint id is found in the rest of the array\n const breakpointIndex = value.findIndex((breakpoint) => breakpoint.id === currentBreakpoint.id);\n return breakpointIndex !== currentBreakpointIndex;\n });\n\n if (hasDuplicateIds) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoint IDs must be unique`,\n });\n }\n // Extract the queries boundary by removing the special characters around it\n const queries = value.map((bp) =>\n bp.query === '*' ? bp.query : parseInt(bp.query.replace(/px|<|>/, '')),\n );\n // sort updates queries array in place so we need to create a copy\n const originalQueries = [...queries];\n queries.sort((q1, q2) => {\n if (q1 === '*') {\n return -1;\n }\n if (q2 === '*') {\n return 1;\n }\n return q1 > q2 ? -1 : 1;\n });\n\n if (originalQueries.join('') !== queries.join('')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoints should be ordered from largest to smallest pixel value`,\n });\n }\n};\n\nconst ComponentTreeSchema = z\n .object({\n breakpoints: z.array(BreakpointSchema).superRefine(breakpointsRefinement),\n children: z.array(ComponentTreeNodeSchema),\n schemaVersion: SchemaVersions,\n })\n .strict();\n\nconst localeWrapper = (fieldSchema: any) => z.record(z.string(), fieldSchema);\n\nexport const ExperienceFieldsCMAShapeSchema = z.object({\n componentTree: localeWrapper(ComponentTreeSchema),\n dataSource: localeWrapper(DataSourceSchema),\n unboundValues: localeWrapper(UnboundValuesSchema),\n usedComponents: localeWrapper(UsedComponentsSchema).optional(),\n componentSettings: localeWrapper(ComponentSettingsSchema).optional(),\n});\n\nexport type ExperienceFields = z.infer<typeof ExperienceFieldsCMAShapeSchema>;\nexport type ExperienceDataSource = z.infer<typeof DataSourceSchema>;\nexport type ExperienceUnboundValues = z.infer<typeof UnboundValuesSchema>;\nexport type ExperienceUsedComponents = z.infer<typeof UsedComponentsSchema>;\nexport type ExperienceComponentSettings = z.infer<typeof ComponentSettingsSchema>;\nexport type ExperienceComponentTree = z.infer<typeof ComponentTreeSchema>;\nexport type ValuesByBreakpoint = z.infer<typeof ValuesByBreakpointSchema>;\nexport type Breakpoint = z.infer<typeof BreakpointSchema>;\nexport type PrimitiveValue = z.infer<typeof PrimitiveValueSchema>;\nexport type DesignValue = z.infer<typeof DesignValueSchema>;\nexport type BoundValue = z.infer<typeof BoundValueSchema>;\nexport type NoValue = z.infer<typeof NoValueSchema>;\nexport type UnboundValue = z.infer<typeof UnboundValueSchema>;\nexport type HyperlinkValue = z.infer<typeof HyperlinkValueSchema>;\nexport type ComponentValue = z.infer<typeof ComponentValueSchema>;\nexport type BindingSourceTypeEnum = z.infer<typeof BindingSourceTypeEnumSchema>;\nexport type PatternPropertyDefinition = z.infer<typeof PatternPropertyDefinitionSchema>;\nexport type PatternProperty = z.infer<typeof PatternPropertySchema>;\nexport type VariableMapping = z.infer<typeof VariableMappingSchema>;\n","import { z } from 'zod';\nimport {\n ComponentVariableSchema,\n DefinitionPropertyKeySchema,\n DefinitionPropertyTypeSchema,\n PrimitiveValueSchema,\n} from './v2023_09_28/experience';\n\nexport const ComponentDefinitionSchema = z.object({\n id: DefinitionPropertyKeySchema,\n variables: z.record(\n DefinitionPropertyKeySchema,\n ComponentVariableSchema.extend({\n defaultValue: PrimitiveValueSchema.optional(),\n }).superRefine((val, ctx) => {\n switch (val.type) {\n case 'Array':\n if (typeof val.defaultValue !== 'undefined') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Array\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Boolean':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'boolean') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a boolean when type is \"Boolean\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Date':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Date\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Hyperlink':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Hyperlink\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Link':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Link\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Location':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Location\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Media':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Media\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Number':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'number') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a number when type is \"Number\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Object':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Object\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'RichText':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"RichText\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Text':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Text\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n }\n }),\n ),\n});\n\nexport type ComponentDefinitionPropertyType = z.infer<typeof DefinitionPropertyTypeSchema>;\nexport type ComponentDefinitionType = z.infer<typeof ComponentDefinitionSchema>;\n","import { ZodIssueCode, ZodIssue, z } from 'zod';\n\nexport enum CodeNames {\n Type = 'type',\n Required = 'required',\n Unexpected = 'unexpected',\n Regex = 'regex',\n In = 'in',\n Size = 'size',\n Custom = 'custom',\n}\n\nexport type ContentfulErrorDetails = {\n details: string;\n min?: number | bigint;\n max?: number | bigint;\n name: (typeof CodeNames)[keyof typeof CodeNames];\n path: (string | number)[];\n value?: string;\n expected?: (string | number)[];\n};\n\nconst convertInvalidType = (issue: z.ZodInvalidTypeIssue): ContentfulErrorDetails => {\n const name = issue.received === 'undefined' ? CodeNames.Required : CodeNames.Type;\n const details =\n issue.received === 'undefined'\n ? `The property \"${issue.path.slice(-1)}\" is required here`\n : `The type of \"${issue.path.slice(-1)}\" is incorrect, expected type: ${issue.expected}`;\n\n return {\n details: details,\n name: name,\n path: issue.path,\n value: issue.received.toString(),\n };\n};\n\nconst convertUnrecognizedKeys = (issue: z.ZodUnrecognizedKeysIssue): ContentfulErrorDetails => {\n const missingProperties = issue.keys.map((k) => `\"${k}\"`).join(', ');\n return {\n details:\n issue.keys.length > 1\n ? `The properties ${missingProperties} are not expected`\n : `The property ${missingProperties} is not expected`,\n name: CodeNames.Unexpected,\n path: issue.path,\n };\n};\n\nconst convertInvalidString = (issue: z.ZodInvalidStringIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Invalid string',\n name: issue.validation === 'regex' ? CodeNames.Regex : CodeNames.Unexpected,\n path: issue.path,\n };\n};\nconst convertInvalidEnumValue = (issue: z.ZodInvalidEnumValueIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received.toString(),\n expected: issue.options,\n };\n};\nconst convertInvalidLiteral = (issue: z.ZodInvalidLiteralIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received as string,\n expected: [issue.expected as string],\n };\n};\n\nconst convertTooBig = (issue: z.ZodTooBigIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at most ${issue.maximum}`,\n name: CodeNames.Size,\n path: issue.path,\n max: issue.maximum,\n };\n};\n\nconst convertTooSmall = (issue: z.ZodTooSmallIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at least ${issue.minimum}`,\n name: CodeNames.Size,\n path: issue.path,\n min: issue.minimum,\n };\n};\nconst defaultConversion = (issue: ZodIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'An unexpected error occurred',\n name: CodeNames.Custom,\n path: issue.path.map(String),\n };\n};\n\nexport const zodToContentfulError = (issue: ZodIssue): ContentfulErrorDetails => {\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n return convertInvalidType(issue);\n case ZodIssueCode.unrecognized_keys:\n return convertUnrecognizedKeys(issue);\n case ZodIssueCode.invalid_enum_value:\n return convertInvalidEnumValue(issue);\n case ZodIssueCode.invalid_string:\n return convertInvalidString(issue);\n case ZodIssueCode.too_small:\n return convertTooSmall(issue);\n case ZodIssueCode.too_big:\n return convertTooBig(issue);\n case ZodIssueCode.invalid_literal:\n return convertInvalidLiteral(issue);\n default:\n return defaultConversion(issue);\n }\n};\n","import { z } from 'zod';\nimport { BreakpointSchema, breakpointsRefinement } from '../schemas/latest';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateBreakpointsDefinition = (breakpoints): ValidatorReturnValue => {\n const result = z\n .array(BreakpointSchema)\n .superRefine(breakpointsRefinement)\n .safeParse(breakpoints);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { ComponentDefinitionSchema } from '../schemas';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateComponentDefinition = (definition): ValidatorReturnValue => {\n const result = ComponentDefinitionSchema.safeParse(definition);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { type SchemaVersions } from '../types';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { Schema_2023_09_28 } from '../schemas';\nimport { zodToContentfulError, CodeNames } from '../utils/zodToContentfulError';\n\nconst VERSION_SCHEMAS = {\n '2023-09-28': Schema_2023_09_28,\n};\n\n/**\n *\n * @param experience The experience entry to validate\n * @param schemaVersionOverride Optional override for the schema version to validate against. By default the schema version is read from the experience entry\n * @returns object with success property and optional errors array\n */\nexport const validateExperienceFields = (\n experience: any,\n schemaVersionOverride?: SchemaVersions,\n): ValidatorReturnValue => {\n let schemaVersion;\n if (experience.fields.componentTree) {\n const locale = Object.keys(experience.fields.componentTree)[0];\n schemaVersion = experience.fields.componentTree[locale].schemaVersion;\n }\n const schema = VERSION_SCHEMAS[schemaVersionOverride || schemaVersion];\n\n if (!schema) {\n return {\n success: false,\n errors: [\n {\n name: schemaVersion ? CodeNames.In : CodeNames.Required,\n expected: ['2023-09-28'],\n value: schemaVersion,\n path: ['fields', 'componentTree', 'schemaVersion'],\n details: schemaVersion\n ? 'Unsupported schema version'\n : 'The property \"schemaVersion\" is required here',\n },\n ],\n };\n }\n\n const fieldsToValidate = {\n componentTree: experience.fields.componentTree,\n dataSource: experience.fields.dataSource,\n unboundValues: experience.fields.unboundValues,\n usedComponents: experience.fields.usedComponents,\n componentSettings: experience.fields.componentSettings,\n };\n\n const result = schema.safeParse(fieldsToValidate);\n if (!result.success) {\n return {\n success: result.success,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n"],"names":["z","ZodIssueCode","Schema_2023_09_28"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -161,12 +161,15 @@ declare const PatternPropertyDefinitionSchema: z.ZodObject<{
161
161
  defaultValue: z.ZodOptional<z.ZodObject<{
162
162
  path: z.ZodString;
163
163
  type: z.ZodLiteral<"BoundValue">;
164
+ contentType: z.ZodString;
164
165
  }, "strip", z.ZodTypeAny, {
165
166
  path: string;
166
167
  type: "BoundValue";
168
+ contentType: string;
167
169
  }, {
168
170
  path: string;
169
171
  type: "BoundValue";
172
+ contentType: string;
170
173
  }>>;
171
174
  contentTypes: z.ZodRecord<z.ZodString, z.ZodAny>;
172
175
  }, "strip", z.ZodTypeAny, {
@@ -174,12 +177,14 @@ declare const PatternPropertyDefinitionSchema: z.ZodObject<{
174
177
  defaultValue?: {
175
178
  path: string;
176
179
  type: "BoundValue";
180
+ contentType: string;
177
181
  } | undefined;
178
182
  }, {
179
183
  contentTypes: Record<string, any>;
180
184
  defaultValue?: {
181
185
  path: string;
182
186
  type: "BoundValue";
187
+ contentType: string;
183
188
  } | undefined;
184
189
  }>;
185
190
  declare const PatternPropertySchema: z.ZodObject<{
@@ -546,12 +551,15 @@ declare const ComponentSettingsSchema: z.ZodObject<{
546
551
  defaultValue: z.ZodOptional<z.ZodObject<{
547
552
  path: z.ZodString;
548
553
  type: z.ZodLiteral<"BoundValue">;
554
+ contentType: z.ZodString;
549
555
  }, "strip", z.ZodTypeAny, {
550
556
  path: string;
551
557
  type: "BoundValue";
558
+ contentType: string;
552
559
  }, {
553
560
  path: string;
554
561
  type: "BoundValue";
562
+ contentType: string;
555
563
  }>>;
556
564
  contentTypes: z.ZodRecord<z.ZodString, z.ZodAny>;
557
565
  }, "strip", z.ZodTypeAny, {
@@ -559,12 +567,14 @@ declare const ComponentSettingsSchema: z.ZodObject<{
559
567
  defaultValue?: {
560
568
  path: string;
561
569
  type: "BoundValue";
570
+ contentType: string;
562
571
  } | undefined;
563
572
  }, {
564
573
  contentTypes: Record<string, any>;
565
574
  defaultValue?: {
566
575
  path: string;
567
576
  type: "BoundValue";
577
+ contentType: string;
568
578
  } | undefined;
569
579
  }>>>;
570
580
  }, "strip", z.ZodTypeAny, {
@@ -615,6 +625,7 @@ declare const ComponentSettingsSchema: z.ZodObject<{
615
625
  defaultValue?: {
616
626
  path: string;
617
627
  type: "BoundValue";
628
+ contentType: string;
618
629
  } | undefined;
619
630
  }> | undefined;
620
631
  }, {
@@ -665,6 +676,7 @@ declare const ComponentSettingsSchema: z.ZodObject<{
665
676
  defaultValue?: {
666
677
  path: string;
667
678
  type: "BoundValue";
679
+ contentType: string;
668
680
  } | undefined;
669
681
  }> | undefined;
670
682
  }>;
package/dist/index.js CHANGED
@@ -109,6 +109,7 @@ const PatternPropertyDefinitionSchema = z.object({
109
109
  .object({
110
110
  path: z.string(),
111
111
  type: z.literal('BoundValue'),
112
+ contentType: z.string(),
112
113
  })
113
114
  .optional(),
114
115
  contentTypes: z.record(z.string(), z.any()),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/schemas/schemaVersions.ts","../src/schemas/v2023_09_28/experience.ts","../src/schemas/componentDefinition.ts","../src/utils/zodToContentfulError.ts","../src/validators/validateBreakpointDefinitions.ts","../src/validators/validateComponentDefinition.ts","../src/validators/validateExperienceFields.ts"],"sourcesContent":["import { z } from 'zod';\n// If more than one version is supported, use z.union\nexport const SchemaVersions = z.literal('2023-09-28');\n\nexport type SchemaVersions = z.infer<typeof SchemaVersions>;\n\n// Keep deprecated versions here just for reference\nexport const UnsupportedSchemaVersions = z.union([\n z.literal('2023-08-23'),\n z.literal('2023-07-26'),\n z.literal('2023-06-27'),\n]);\n","import { z } from 'zod';\nimport { SchemaVersions } from '../schemaVersions';\n\nexport const DefinitionPropertyTypeSchema = z.enum([\n 'Text',\n 'RichText',\n 'Number',\n 'Date',\n 'Boolean',\n 'Location',\n 'Media',\n 'Object',\n 'Hyperlink',\n 'Array',\n 'Link',\n]);\n\nexport const DefinitionPropertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,32}$/, { message: 'Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/' });\n\nexport const PrimitiveValueSchema = z.union([\n z.string(),\n z.boolean(),\n z.number(),\n z.record(z.any(), z.any()),\n z.undefined(),\n]);\n\nconst uuidKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,21}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,21}$/' });\n\n/**\n * Property keys for imported components have a limit of 32 characters (to be implemented) while\n * property keys for patterns have a limit of 54 characters (<32-char-variabl-name>_<21-char-nanoid-id>).\n * Because we cannot distinguish between the two in the componentTree, we will use the larger limit for both.\n */\nconst propertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,54}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,54}$/' });\n\nconst DataSourceSchema = z.record(\n uuidKeySchema,\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.enum(['Entry', 'Asset']),\n }),\n }),\n);\n\nconst ValuesByBreakpointSchema = z.record(z.lazy(() => PrimitiveValueSchema));\n\nconst DesignValueSchema = z\n .object({\n type: z.literal('DesignValue'),\n valuesByBreakpoint: ValuesByBreakpointSchema,\n })\n .strict();\nconst BoundValueSchema = z\n .object({\n type: z.literal('BoundValue'),\n path: z.string(),\n })\n .strict();\nconst HyperlinkValueSchema = z\n .object({\n type: z.literal('HyperlinkValue'),\n linkTargetKey: z.string(),\n /** Allows to override parts of the URL, e.g. the locale */\n overrides: z.object({}).optional(),\n })\n .strict();\nconst UnboundValueSchema = z\n .object({\n type: z.literal('UnboundValue'),\n key: z.string(),\n })\n .strict();\nconst ComponentValueSchema = z\n .object({\n type: z.literal('ComponentValue'),\n key: z.string(),\n })\n .strict();\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst NoValueSchema = z.object({ type: z.literal('NoValue') }).strict();\n\nconst ComponentPropertyValueSchema = z.discriminatedUnion('type', [\n DesignValueSchema,\n BoundValueSchema,\n UnboundValueSchema,\n HyperlinkValueSchema,\n ComponentValueSchema,\n NoValueSchema,\n]);\n\nexport type ComponentPropertyValue = z.infer<typeof ComponentPropertyValueSchema>;\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst VariableMappingSchema = z.object({\n patternPropertyDefinitionId: propertyKeySchema,\n type: z.literal('ContentTypeMapping'),\n pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),\n});\n\nconst VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertyDefinitionSchema = z.object({\n defaultValue: z\n .object({\n path: z.string(),\n type: z.literal('BoundValue'),\n })\n .optional(),\n contentTypes: z.record(z.string(), z.any()),\n});\n\nconst PatternPropertyDefinitionsSchema = z.record(\n propertyKeySchema,\n PatternPropertyDefinitionSchema,\n);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertySchema = z.object({\n type: z.literal('BoundValue'),\n path: z.string(),\n contentType: z.string(),\n});\n\nconst PatternPropertysSchema = z.record(propertyKeySchema, PatternPropertySchema);\n\nexport const BreakpointSchema = z\n .object({\n id: propertyKeySchema,\n query: z.string().regex(/^\\*$|^<[0-9*]+px$/),\n previewSize: z.string(),\n displayName: z.string(),\n displayIcon: z.enum(['desktop', 'tablet', 'mobile']).optional(),\n })\n .strict();\n\nconst UnboundValuesSchema = z.record(\n uuidKeySchema,\n z.object({\n value: PrimitiveValueSchema,\n }),\n);\n\nexport const ComponentTreeNodeIdSchema = z\n .string()\n .regex(/^[a-zA-Z0-9]{1,8}$/, { message: 'Does not match /^[a-zA-Z0-9]{1,8}$/' });\n\n// Use helper schema to define a recursive schema with its type correctly below\nconst BaseComponentTreeNodeSchema = z.object({\n id: ComponentTreeNodeIdSchema.optional(),\n definitionId: DefinitionPropertyKeySchema,\n displayName: z.string().optional(),\n slotId: z.string().optional(),\n variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),\n patternProperties: PatternPropertysSchema.optional(),\n});\nexport type ComponentTreeNode = z.infer<typeof BaseComponentTreeNodeSchema> & {\n children: ComponentTreeNode[];\n};\nconst ComponentTreeNodeSchema: z.ZodType<ComponentTreeNode> = BaseComponentTreeNodeSchema.extend({\n children: z.lazy(() => ComponentTreeNodeSchema.array()),\n});\n\nconst BindingSourceTypeEnumSchema = z\n .array(z.enum(['entry', 'asset', 'manual', 'experience']))\n .nonempty();\n\nexport const ComponentVariableSchema = z.object({\n displayName: z.string().optional(),\n type: DefinitionPropertyTypeSchema,\n description: z.string().optional(),\n group: z.string().optional(),\n defaultValue: PrimitiveValueSchema.or(ComponentPropertyValueSchema).optional(),\n validations: z\n .object({\n bindingSourceType: BindingSourceTypeEnumSchema.optional(),\n required: z.boolean().optional(),\n format: z.literal('URL').optional(),\n in: z\n .array(\n z.object({\n value: z.union([z.string(), z.number()]),\n displayName: z.string().optional(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nexport const ComponentVariablesSchema = z.record(\n z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length\n ComponentVariableSchema,\n);\n\nconst THUMBNAIL_IDS = [\n 'columns',\n 'columnsPlusRight',\n 'imagesSquare',\n 'subtitles',\n 'rowsPlusBottom',\n 'userRectangle',\n 'textbox',\n 'monitorPlay',\n 'article',\n 'table',\n 'star',\n 'heartStraight',\n 'frameCorners',\n 'rows',\n 'dotsThreeOutline',\n 'listDashes',\n 'checkerBoard',\n 'gridFour',\n 'slideshow',\n 'diamondsFour',\n 'cards',\n 'textColumns',\n 'duplex',\n] as const;\n\nconst ComponentSettingsSchema = z.object({\n variableDefinitions: ComponentVariablesSchema,\n thumbnailId: z.enum(THUMBNAIL_IDS).optional(),\n variableMappings: VariableMappingsSchema.optional(),\n patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),\n});\n\nconst UsedComponentsSchema = z.array(\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.literal('Entry'),\n }),\n }),\n);\n\nexport const breakpointsRefinement = (value: Breakpoint[], ctx: z.RefinementCtx) => {\n if (!value.length || value[0].query !== '*') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `The first breakpoint should include the following attributes: { \"query\": \"*\" }`,\n });\n }\n\n const hasDuplicateIds = value.some((currentBreakpoint, currentBreakpointIndex) => {\n // check if the current breakpoint id is found in the rest of the array\n const breakpointIndex = value.findIndex((breakpoint) => breakpoint.id === currentBreakpoint.id);\n return breakpointIndex !== currentBreakpointIndex;\n });\n\n if (hasDuplicateIds) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoint IDs must be unique`,\n });\n }\n // Extract the queries boundary by removing the special characters around it\n const queries = value.map((bp) =>\n bp.query === '*' ? bp.query : parseInt(bp.query.replace(/px|<|>/, '')),\n );\n // sort updates queries array in place so we need to create a copy\n const originalQueries = [...queries];\n queries.sort((q1, q2) => {\n if (q1 === '*') {\n return -1;\n }\n if (q2 === '*') {\n return 1;\n }\n return q1 > q2 ? -1 : 1;\n });\n\n if (originalQueries.join('') !== queries.join('')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoints should be ordered from largest to smallest pixel value`,\n });\n }\n};\n\nconst ComponentTreeSchema = z\n .object({\n breakpoints: z.array(BreakpointSchema).superRefine(breakpointsRefinement),\n children: z.array(ComponentTreeNodeSchema),\n schemaVersion: SchemaVersions,\n })\n .strict();\n\nconst localeWrapper = (fieldSchema: any) => z.record(z.string(), fieldSchema);\n\nexport const ExperienceFieldsCMAShapeSchema = z.object({\n componentTree: localeWrapper(ComponentTreeSchema),\n dataSource: localeWrapper(DataSourceSchema),\n unboundValues: localeWrapper(UnboundValuesSchema),\n usedComponents: localeWrapper(UsedComponentsSchema).optional(),\n componentSettings: localeWrapper(ComponentSettingsSchema).optional(),\n});\n\nexport type ExperienceFields = z.infer<typeof ExperienceFieldsCMAShapeSchema>;\nexport type ExperienceDataSource = z.infer<typeof DataSourceSchema>;\nexport type ExperienceUnboundValues = z.infer<typeof UnboundValuesSchema>;\nexport type ExperienceUsedComponents = z.infer<typeof UsedComponentsSchema>;\nexport type ExperienceComponentSettings = z.infer<typeof ComponentSettingsSchema>;\nexport type ExperienceComponentTree = z.infer<typeof ComponentTreeSchema>;\nexport type ValuesByBreakpoint = z.infer<typeof ValuesByBreakpointSchema>;\nexport type Breakpoint = z.infer<typeof BreakpointSchema>;\nexport type PrimitiveValue = z.infer<typeof PrimitiveValueSchema>;\nexport type DesignValue = z.infer<typeof DesignValueSchema>;\nexport type BoundValue = z.infer<typeof BoundValueSchema>;\nexport type NoValue = z.infer<typeof NoValueSchema>;\nexport type UnboundValue = z.infer<typeof UnboundValueSchema>;\nexport type HyperlinkValue = z.infer<typeof HyperlinkValueSchema>;\nexport type ComponentValue = z.infer<typeof ComponentValueSchema>;\nexport type BindingSourceTypeEnum = z.infer<typeof BindingSourceTypeEnumSchema>;\nexport type PatternPropertyDefinition = z.infer<typeof PatternPropertyDefinitionSchema>;\nexport type PatternProperty = z.infer<typeof PatternPropertySchema>;\nexport type VariableMapping = z.infer<typeof VariableMappingSchema>;\n","import { z } from 'zod';\nimport {\n ComponentVariableSchema,\n DefinitionPropertyKeySchema,\n DefinitionPropertyTypeSchema,\n PrimitiveValueSchema,\n} from './v2023_09_28/experience';\n\nexport const ComponentDefinitionSchema = z.object({\n id: DefinitionPropertyKeySchema,\n variables: z.record(\n DefinitionPropertyKeySchema,\n ComponentVariableSchema.extend({\n defaultValue: PrimitiveValueSchema.optional(),\n }).superRefine((val, ctx) => {\n switch (val.type) {\n case 'Array':\n if (typeof val.defaultValue !== 'undefined') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Array\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Boolean':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'boolean') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a boolean when type is \"Boolean\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Date':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Date\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Hyperlink':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Hyperlink\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Link':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Link\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Location':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Location\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Media':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Media\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Number':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'number') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a number when type is \"Number\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Object':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Object\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'RichText':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"RichText\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Text':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Text\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n }\n }),\n ),\n});\n\nexport type ComponentDefinitionPropertyType = z.infer<typeof DefinitionPropertyTypeSchema>;\nexport type ComponentDefinitionType = z.infer<typeof ComponentDefinitionSchema>;\n","import { ZodIssueCode, ZodIssue, z } from 'zod';\n\nexport enum CodeNames {\n Type = 'type',\n Required = 'required',\n Unexpected = 'unexpected',\n Regex = 'regex',\n In = 'in',\n Size = 'size',\n Custom = 'custom',\n}\n\nexport type ContentfulErrorDetails = {\n details: string;\n min?: number | bigint;\n max?: number | bigint;\n name: (typeof CodeNames)[keyof typeof CodeNames];\n path: (string | number)[];\n value?: string;\n expected?: (string | number)[];\n};\n\nconst convertInvalidType = (issue: z.ZodInvalidTypeIssue): ContentfulErrorDetails => {\n const name = issue.received === 'undefined' ? CodeNames.Required : CodeNames.Type;\n const details =\n issue.received === 'undefined'\n ? `The property \"${issue.path.slice(-1)}\" is required here`\n : `The type of \"${issue.path.slice(-1)}\" is incorrect, expected type: ${issue.expected}`;\n\n return {\n details: details,\n name: name,\n path: issue.path,\n value: issue.received.toString(),\n };\n};\n\nconst convertUnrecognizedKeys = (issue: z.ZodUnrecognizedKeysIssue): ContentfulErrorDetails => {\n const missingProperties = issue.keys.map((k) => `\"${k}\"`).join(', ');\n return {\n details:\n issue.keys.length > 1\n ? `The properties ${missingProperties} are not expected`\n : `The property ${missingProperties} is not expected`,\n name: CodeNames.Unexpected,\n path: issue.path,\n };\n};\n\nconst convertInvalidString = (issue: z.ZodInvalidStringIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Invalid string',\n name: issue.validation === 'regex' ? CodeNames.Regex : CodeNames.Unexpected,\n path: issue.path,\n };\n};\nconst convertInvalidEnumValue = (issue: z.ZodInvalidEnumValueIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received.toString(),\n expected: issue.options,\n };\n};\nconst convertInvalidLiteral = (issue: z.ZodInvalidLiteralIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received as string,\n expected: [issue.expected as string],\n };\n};\n\nconst convertTooBig = (issue: z.ZodTooBigIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at most ${issue.maximum}`,\n name: CodeNames.Size,\n path: issue.path,\n max: issue.maximum,\n };\n};\n\nconst convertTooSmall = (issue: z.ZodTooSmallIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at least ${issue.minimum}`,\n name: CodeNames.Size,\n path: issue.path,\n min: issue.minimum,\n };\n};\nconst defaultConversion = (issue: ZodIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'An unexpected error occurred',\n name: CodeNames.Custom,\n path: issue.path.map(String),\n };\n};\n\nexport const zodToContentfulError = (issue: ZodIssue): ContentfulErrorDetails => {\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n return convertInvalidType(issue);\n case ZodIssueCode.unrecognized_keys:\n return convertUnrecognizedKeys(issue);\n case ZodIssueCode.invalid_enum_value:\n return convertInvalidEnumValue(issue);\n case ZodIssueCode.invalid_string:\n return convertInvalidString(issue);\n case ZodIssueCode.too_small:\n return convertTooSmall(issue);\n case ZodIssueCode.too_big:\n return convertTooBig(issue);\n case ZodIssueCode.invalid_literal:\n return convertInvalidLiteral(issue);\n default:\n return defaultConversion(issue);\n }\n};\n","import { z } from 'zod';\nimport { BreakpointSchema, breakpointsRefinement } from '../schemas/latest';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateBreakpointsDefinition = (breakpoints): ValidatorReturnValue => {\n const result = z\n .array(BreakpointSchema)\n .superRefine(breakpointsRefinement)\n .safeParse(breakpoints);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { ComponentDefinitionSchema } from '../schemas';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateComponentDefinition = (definition): ValidatorReturnValue => {\n const result = ComponentDefinitionSchema.safeParse(definition);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { type SchemaVersions } from '../types';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { Schema_2023_09_28 } from '../schemas';\nimport { zodToContentfulError, CodeNames } from '../utils/zodToContentfulError';\n\nconst VERSION_SCHEMAS = {\n '2023-09-28': Schema_2023_09_28,\n};\n\n/**\n *\n * @param experience The experience entry to validate\n * @param schemaVersionOverride Optional override for the schema version to validate against. By default the schema version is read from the experience entry\n * @returns object with success property and optional errors array\n */\nexport const validateExperienceFields = (\n experience: any,\n schemaVersionOverride?: SchemaVersions,\n): ValidatorReturnValue => {\n let schemaVersion;\n if (experience.fields.componentTree) {\n const locale = Object.keys(experience.fields.componentTree)[0];\n schemaVersion = experience.fields.componentTree[locale].schemaVersion;\n }\n const schema = VERSION_SCHEMAS[schemaVersionOverride || schemaVersion];\n\n if (!schema) {\n return {\n success: false,\n errors: [\n {\n name: schemaVersion ? CodeNames.In : CodeNames.Required,\n expected: ['2023-09-28'],\n value: schemaVersion,\n path: ['fields', 'componentTree', 'schemaVersion'],\n details: schemaVersion\n ? 'Unsupported schema version'\n : 'The property \"schemaVersion\" is required here',\n },\n ],\n };\n }\n\n const fieldsToValidate = {\n componentTree: experience.fields.componentTree,\n dataSource: experience.fields.dataSource,\n unboundValues: experience.fields.unboundValues,\n usedComponents: experience.fields.usedComponents,\n componentSettings: experience.fields.componentSettings,\n };\n\n const result = schema.safeParse(fieldsToValidate);\n if (!result.success) {\n return {\n success: result.success,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n"],"names":["Schema_2023_09_28"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/schemas/schemaVersions.ts","../src/schemas/v2023_09_28/experience.ts","../src/schemas/componentDefinition.ts","../src/utils/zodToContentfulError.ts","../src/validators/validateBreakpointDefinitions.ts","../src/validators/validateComponentDefinition.ts","../src/validators/validateExperienceFields.ts"],"sourcesContent":["import { z } from 'zod';\n// If more than one version is supported, use z.union\nexport const SchemaVersions = z.literal('2023-09-28');\n\nexport type SchemaVersions = z.infer<typeof SchemaVersions>;\n\n// Keep deprecated versions here just for reference\nexport const UnsupportedSchemaVersions = z.union([\n z.literal('2023-08-23'),\n z.literal('2023-07-26'),\n z.literal('2023-06-27'),\n]);\n","import { z } from 'zod';\nimport { SchemaVersions } from '../schemaVersions';\n\nexport const DefinitionPropertyTypeSchema = z.enum([\n 'Text',\n 'RichText',\n 'Number',\n 'Date',\n 'Boolean',\n 'Location',\n 'Media',\n 'Object',\n 'Hyperlink',\n 'Array',\n 'Link',\n]);\n\nexport const DefinitionPropertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,32}$/, { message: 'Property needs to match: /^[a-zA-Z0-9-_]{1,32}$/' });\n\nexport const PrimitiveValueSchema = z.union([\n z.string(),\n z.boolean(),\n z.number(),\n z.record(z.any(), z.any()),\n z.undefined(),\n]);\n\nconst uuidKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,21}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,21}$/' });\n\n/**\n * Property keys for imported components have a limit of 32 characters (to be implemented) while\n * property keys for patterns have a limit of 54 characters (<32-char-variabl-name>_<21-char-nanoid-id>).\n * Because we cannot distinguish between the two in the componentTree, we will use the larger limit for both.\n */\nconst propertyKeySchema = z\n .string()\n .regex(/^[a-zA-Z0-9-_]{1,54}$/, { message: 'Does not match /^[a-zA-Z0-9-_]{1,54}$/' });\n\nconst DataSourceSchema = z.record(\n uuidKeySchema,\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.enum(['Entry', 'Asset']),\n }),\n }),\n);\n\nconst ValuesByBreakpointSchema = z.record(z.lazy(() => PrimitiveValueSchema));\n\nconst DesignValueSchema = z\n .object({\n type: z.literal('DesignValue'),\n valuesByBreakpoint: ValuesByBreakpointSchema,\n })\n .strict();\nconst BoundValueSchema = z\n .object({\n type: z.literal('BoundValue'),\n path: z.string(),\n })\n .strict();\nconst HyperlinkValueSchema = z\n .object({\n type: z.literal('HyperlinkValue'),\n linkTargetKey: z.string(),\n /** Allows to override parts of the URL, e.g. the locale */\n overrides: z.object({}).optional(),\n })\n .strict();\nconst UnboundValueSchema = z\n .object({\n type: z.literal('UnboundValue'),\n key: z.string(),\n })\n .strict();\nconst ComponentValueSchema = z\n .object({\n type: z.literal('ComponentValue'),\n key: z.string(),\n })\n .strict();\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst NoValueSchema = z.object({ type: z.literal('NoValue') }).strict();\n\nconst ComponentPropertyValueSchema = z.discriminatedUnion('type', [\n DesignValueSchema,\n BoundValueSchema,\n UnboundValueSchema,\n HyperlinkValueSchema,\n ComponentValueSchema,\n NoValueSchema,\n]);\n\nexport type ComponentPropertyValue = z.infer<typeof ComponentPropertyValueSchema>;\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst VariableMappingSchema = z.object({\n patternPropertyDefinitionId: propertyKeySchema,\n type: z.literal('ContentTypeMapping'),\n pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),\n});\n\nconst VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertyDefinitionSchema = z.object({\n defaultValue: z\n .object({\n path: z.string(),\n type: z.literal('BoundValue'),\n contentType: z.string(),\n })\n .optional(),\n contentTypes: z.record(z.string(), z.any()),\n});\n\nconst PatternPropertyDefinitionsSchema = z.record(\n propertyKeySchema,\n PatternPropertyDefinitionSchema,\n);\n\n// TODO: finalize schema structure before release\n// https://contentful.atlassian.net/browse/LUMOS-523\nconst PatternPropertySchema = z.object({\n type: z.literal('BoundValue'),\n path: z.string(),\n contentType: z.string(),\n});\n\nconst PatternPropertysSchema = z.record(propertyKeySchema, PatternPropertySchema);\n\nexport const BreakpointSchema = z\n .object({\n id: propertyKeySchema,\n query: z.string().regex(/^\\*$|^<[0-9*]+px$/),\n previewSize: z.string(),\n displayName: z.string(),\n displayIcon: z.enum(['desktop', 'tablet', 'mobile']).optional(),\n })\n .strict();\n\nconst UnboundValuesSchema = z.record(\n uuidKeySchema,\n z.object({\n value: PrimitiveValueSchema,\n }),\n);\n\nexport const ComponentTreeNodeIdSchema = z\n .string()\n .regex(/^[a-zA-Z0-9]{1,8}$/, { message: 'Does not match /^[a-zA-Z0-9]{1,8}$/' });\n\n// Use helper schema to define a recursive schema with its type correctly below\nconst BaseComponentTreeNodeSchema = z.object({\n id: ComponentTreeNodeIdSchema.optional(),\n definitionId: DefinitionPropertyKeySchema,\n displayName: z.string().optional(),\n slotId: z.string().optional(),\n variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),\n patternProperties: PatternPropertysSchema.optional(),\n});\nexport type ComponentTreeNode = z.infer<typeof BaseComponentTreeNodeSchema> & {\n children: ComponentTreeNode[];\n};\nconst ComponentTreeNodeSchema: z.ZodType<ComponentTreeNode> = BaseComponentTreeNodeSchema.extend({\n children: z.lazy(() => ComponentTreeNodeSchema.array()),\n});\n\nconst BindingSourceTypeEnumSchema = z\n .array(z.enum(['entry', 'asset', 'manual', 'experience']))\n .nonempty();\n\nexport const ComponentVariableSchema = z.object({\n displayName: z.string().optional(),\n type: DefinitionPropertyTypeSchema,\n description: z.string().optional(),\n group: z.string().optional(),\n defaultValue: PrimitiveValueSchema.or(ComponentPropertyValueSchema).optional(),\n validations: z\n .object({\n bindingSourceType: BindingSourceTypeEnumSchema.optional(),\n required: z.boolean().optional(),\n format: z.literal('URL').optional(),\n in: z\n .array(\n z.object({\n value: z.union([z.string(), z.number()]),\n displayName: z.string().optional(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nexport const ComponentVariablesSchema = z.record(\n z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length\n ComponentVariableSchema,\n);\n\nconst THUMBNAIL_IDS = [\n 'columns',\n 'columnsPlusRight',\n 'imagesSquare',\n 'subtitles',\n 'rowsPlusBottom',\n 'userRectangle',\n 'textbox',\n 'monitorPlay',\n 'article',\n 'table',\n 'star',\n 'heartStraight',\n 'frameCorners',\n 'rows',\n 'dotsThreeOutline',\n 'listDashes',\n 'checkerBoard',\n 'gridFour',\n 'slideshow',\n 'diamondsFour',\n 'cards',\n 'textColumns',\n 'duplex',\n] as const;\n\nconst ComponentSettingsSchema = z.object({\n variableDefinitions: ComponentVariablesSchema,\n thumbnailId: z.enum(THUMBNAIL_IDS).optional(),\n variableMappings: VariableMappingsSchema.optional(),\n patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),\n});\n\nconst UsedComponentsSchema = z.array(\n z.object({\n sys: z.object({\n type: z.literal('Link'),\n id: z.string(),\n linkType: z.literal('Entry'),\n }),\n }),\n);\n\nexport const breakpointsRefinement = (value: Breakpoint[], ctx: z.RefinementCtx) => {\n if (!value.length || value[0].query !== '*') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `The first breakpoint should include the following attributes: { \"query\": \"*\" }`,\n });\n }\n\n const hasDuplicateIds = value.some((currentBreakpoint, currentBreakpointIndex) => {\n // check if the current breakpoint id is found in the rest of the array\n const breakpointIndex = value.findIndex((breakpoint) => breakpoint.id === currentBreakpoint.id);\n return breakpointIndex !== currentBreakpointIndex;\n });\n\n if (hasDuplicateIds) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoint IDs must be unique`,\n });\n }\n // Extract the queries boundary by removing the special characters around it\n const queries = value.map((bp) =>\n bp.query === '*' ? bp.query : parseInt(bp.query.replace(/px|<|>/, '')),\n );\n // sort updates queries array in place so we need to create a copy\n const originalQueries = [...queries];\n queries.sort((q1, q2) => {\n if (q1 === '*') {\n return -1;\n }\n if (q2 === '*') {\n return 1;\n }\n return q1 > q2 ? -1 : 1;\n });\n\n if (originalQueries.join('') !== queries.join('')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Breakpoints should be ordered from largest to smallest pixel value`,\n });\n }\n};\n\nconst ComponentTreeSchema = z\n .object({\n breakpoints: z.array(BreakpointSchema).superRefine(breakpointsRefinement),\n children: z.array(ComponentTreeNodeSchema),\n schemaVersion: SchemaVersions,\n })\n .strict();\n\nconst localeWrapper = (fieldSchema: any) => z.record(z.string(), fieldSchema);\n\nexport const ExperienceFieldsCMAShapeSchema = z.object({\n componentTree: localeWrapper(ComponentTreeSchema),\n dataSource: localeWrapper(DataSourceSchema),\n unboundValues: localeWrapper(UnboundValuesSchema),\n usedComponents: localeWrapper(UsedComponentsSchema).optional(),\n componentSettings: localeWrapper(ComponentSettingsSchema).optional(),\n});\n\nexport type ExperienceFields = z.infer<typeof ExperienceFieldsCMAShapeSchema>;\nexport type ExperienceDataSource = z.infer<typeof DataSourceSchema>;\nexport type ExperienceUnboundValues = z.infer<typeof UnboundValuesSchema>;\nexport type ExperienceUsedComponents = z.infer<typeof UsedComponentsSchema>;\nexport type ExperienceComponentSettings = z.infer<typeof ComponentSettingsSchema>;\nexport type ExperienceComponentTree = z.infer<typeof ComponentTreeSchema>;\nexport type ValuesByBreakpoint = z.infer<typeof ValuesByBreakpointSchema>;\nexport type Breakpoint = z.infer<typeof BreakpointSchema>;\nexport type PrimitiveValue = z.infer<typeof PrimitiveValueSchema>;\nexport type DesignValue = z.infer<typeof DesignValueSchema>;\nexport type BoundValue = z.infer<typeof BoundValueSchema>;\nexport type NoValue = z.infer<typeof NoValueSchema>;\nexport type UnboundValue = z.infer<typeof UnboundValueSchema>;\nexport type HyperlinkValue = z.infer<typeof HyperlinkValueSchema>;\nexport type ComponentValue = z.infer<typeof ComponentValueSchema>;\nexport type BindingSourceTypeEnum = z.infer<typeof BindingSourceTypeEnumSchema>;\nexport type PatternPropertyDefinition = z.infer<typeof PatternPropertyDefinitionSchema>;\nexport type PatternProperty = z.infer<typeof PatternPropertySchema>;\nexport type VariableMapping = z.infer<typeof VariableMappingSchema>;\n","import { z } from 'zod';\nimport {\n ComponentVariableSchema,\n DefinitionPropertyKeySchema,\n DefinitionPropertyTypeSchema,\n PrimitiveValueSchema,\n} from './v2023_09_28/experience';\n\nexport const ComponentDefinitionSchema = z.object({\n id: DefinitionPropertyKeySchema,\n variables: z.record(\n DefinitionPropertyKeySchema,\n ComponentVariableSchema.extend({\n defaultValue: PrimitiveValueSchema.optional(),\n }).superRefine((val, ctx) => {\n switch (val.type) {\n case 'Array':\n if (typeof val.defaultValue !== 'undefined') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Array\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Boolean':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'boolean') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a boolean when type is \"Boolean\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Date':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Date\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Hyperlink':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Hyperlink\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Link':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue is not supported for \"Link\" type for ${ctx.path.join('.')}`,\n fatal: false,\n });\n }\n break;\n case 'Location':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Location\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Media':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Media\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Number':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'number') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a number when type is \"Number\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Object':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"Object\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'RichText':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'object') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be an object when type is \"RichText\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n case 'Text':\n if (typeof val.defaultValue !== 'undefined' && typeof val.defaultValue !== 'string') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `defaultValue must be a string when type is \"Text\" for ${ctx.path.join('.')}, got ${typeof val.defaultValue} instead`,\n fatal: false,\n });\n }\n break;\n }\n }),\n ),\n});\n\nexport type ComponentDefinitionPropertyType = z.infer<typeof DefinitionPropertyTypeSchema>;\nexport type ComponentDefinitionType = z.infer<typeof ComponentDefinitionSchema>;\n","import { ZodIssueCode, ZodIssue, z } from 'zod';\n\nexport enum CodeNames {\n Type = 'type',\n Required = 'required',\n Unexpected = 'unexpected',\n Regex = 'regex',\n In = 'in',\n Size = 'size',\n Custom = 'custom',\n}\n\nexport type ContentfulErrorDetails = {\n details: string;\n min?: number | bigint;\n max?: number | bigint;\n name: (typeof CodeNames)[keyof typeof CodeNames];\n path: (string | number)[];\n value?: string;\n expected?: (string | number)[];\n};\n\nconst convertInvalidType = (issue: z.ZodInvalidTypeIssue): ContentfulErrorDetails => {\n const name = issue.received === 'undefined' ? CodeNames.Required : CodeNames.Type;\n const details =\n issue.received === 'undefined'\n ? `The property \"${issue.path.slice(-1)}\" is required here`\n : `The type of \"${issue.path.slice(-1)}\" is incorrect, expected type: ${issue.expected}`;\n\n return {\n details: details,\n name: name,\n path: issue.path,\n value: issue.received.toString(),\n };\n};\n\nconst convertUnrecognizedKeys = (issue: z.ZodUnrecognizedKeysIssue): ContentfulErrorDetails => {\n const missingProperties = issue.keys.map((k) => `\"${k}\"`).join(', ');\n return {\n details:\n issue.keys.length > 1\n ? `The properties ${missingProperties} are not expected`\n : `The property ${missingProperties} is not expected`,\n name: CodeNames.Unexpected,\n path: issue.path,\n };\n};\n\nconst convertInvalidString = (issue: z.ZodInvalidStringIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Invalid string',\n name: issue.validation === 'regex' ? CodeNames.Regex : CodeNames.Unexpected,\n path: issue.path,\n };\n};\nconst convertInvalidEnumValue = (issue: z.ZodInvalidEnumValueIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received.toString(),\n expected: issue.options,\n };\n};\nconst convertInvalidLiteral = (issue: z.ZodInvalidLiteralIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'Value must be one of expected values',\n name: CodeNames.In,\n path: issue.path,\n value: issue.received as string,\n expected: [issue.expected as string],\n };\n};\n\nconst convertTooBig = (issue: z.ZodTooBigIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at most ${issue.maximum}`,\n name: CodeNames.Size,\n path: issue.path,\n max: issue.maximum,\n };\n};\n\nconst convertTooSmall = (issue: z.ZodTooSmallIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || `Size should be at least ${issue.minimum}`,\n name: CodeNames.Size,\n path: issue.path,\n min: issue.minimum,\n };\n};\nconst defaultConversion = (issue: ZodIssue): ContentfulErrorDetails => {\n return {\n details: issue.message || 'An unexpected error occurred',\n name: CodeNames.Custom,\n path: issue.path.map(String),\n };\n};\n\nexport const zodToContentfulError = (issue: ZodIssue): ContentfulErrorDetails => {\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n return convertInvalidType(issue);\n case ZodIssueCode.unrecognized_keys:\n return convertUnrecognizedKeys(issue);\n case ZodIssueCode.invalid_enum_value:\n return convertInvalidEnumValue(issue);\n case ZodIssueCode.invalid_string:\n return convertInvalidString(issue);\n case ZodIssueCode.too_small:\n return convertTooSmall(issue);\n case ZodIssueCode.too_big:\n return convertTooBig(issue);\n case ZodIssueCode.invalid_literal:\n return convertInvalidLiteral(issue);\n default:\n return defaultConversion(issue);\n }\n};\n","import { z } from 'zod';\nimport { BreakpointSchema, breakpointsRefinement } from '../schemas/latest';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateBreakpointsDefinition = (breakpoints): ValidatorReturnValue => {\n const result = z\n .array(BreakpointSchema)\n .superRefine(breakpointsRefinement)\n .safeParse(breakpoints);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { ComponentDefinitionSchema } from '../schemas';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { zodToContentfulError } from '../utils/zodToContentfulError';\n\nexport const validateComponentDefinition = (definition): ValidatorReturnValue => {\n const result = ComponentDefinitionSchema.safeParse(definition);\n if (!result.success) {\n return {\n success: false,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n","import { type SchemaVersions } from '../types';\nimport { ValidatorReturnValue } from './ValidatorReturnValue';\nimport { Schema_2023_09_28 } from '../schemas';\nimport { zodToContentfulError, CodeNames } from '../utils/zodToContentfulError';\n\nconst VERSION_SCHEMAS = {\n '2023-09-28': Schema_2023_09_28,\n};\n\n/**\n *\n * @param experience The experience entry to validate\n * @param schemaVersionOverride Optional override for the schema version to validate against. By default the schema version is read from the experience entry\n * @returns object with success property and optional errors array\n */\nexport const validateExperienceFields = (\n experience: any,\n schemaVersionOverride?: SchemaVersions,\n): ValidatorReturnValue => {\n let schemaVersion;\n if (experience.fields.componentTree) {\n const locale = Object.keys(experience.fields.componentTree)[0];\n schemaVersion = experience.fields.componentTree[locale].schemaVersion;\n }\n const schema = VERSION_SCHEMAS[schemaVersionOverride || schemaVersion];\n\n if (!schema) {\n return {\n success: false,\n errors: [\n {\n name: schemaVersion ? CodeNames.In : CodeNames.Required,\n expected: ['2023-09-28'],\n value: schemaVersion,\n path: ['fields', 'componentTree', 'schemaVersion'],\n details: schemaVersion\n ? 'Unsupported schema version'\n : 'The property \"schemaVersion\" is required here',\n },\n ],\n };\n }\n\n const fieldsToValidate = {\n componentTree: experience.fields.componentTree,\n dataSource: experience.fields.dataSource,\n unboundValues: experience.fields.unboundValues,\n usedComponents: experience.fields.usedComponents,\n componentSettings: experience.fields.componentSettings,\n };\n\n const result = schema.safeParse(fieldsToValidate);\n if (!result.success) {\n return {\n success: result.success,\n errors: result.error.issues.map(zodToContentfulError),\n };\n }\n return { success: true };\n};\n"],"names":["Schema_2023_09_28"],"mappings":";;AACA;AACO,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAItD;AACyC,CAAC,CAAC,KAAK,CAAC;AAC/C,IAAA,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AACvB,IAAA,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AACvB,IAAA,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AACxB,CAAA;;ACRM,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,MAAM;IACN,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,MAAM;AACP,CAAA,CAAC,CAAC;AAEI,MAAM,2BAA2B,GAAG,CAAC;AACzC,KAAA,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,CAAC;AAE5F,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,EAAE;AACV,IAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC,SAAS,EAAE;AACd,CAAA,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC;AACpB,KAAA,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;AAEzF;;;;AAIG;AACH,MAAM,iBAAiB,GAAG,CAAC;AACxB,KAAA,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;AAEzF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAC/B,aAAa,EACb,CAAC,CAAC,MAAM,CAAC;AACP,IAAA,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;AACZ,QAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACvB,QAAA,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;AACH,CAAA,CAAC,CACH,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC;AAE9E,MAAM,iBAAiB,GAAG,CAAC;AACxB,KAAA,MAAM,CAAC;AACN,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;AAC9B,IAAA,kBAAkB,EAAE,wBAAwB;CAC7C,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AACZ,MAAM,gBAAgB,GAAG,CAAC;AACvB,KAAA,MAAM,CAAC;AACN,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AAC7B,IAAA,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AACZ,MAAM,oBAAoB,GAAG,CAAC;AAC3B,KAAA,MAAM,CAAC;AACN,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACjC,IAAA,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;;IAEzB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnC,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AACZ,MAAM,kBAAkB,GAAG,CAAC;AACzB,KAAA,MAAM,CAAC;AACN,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;AAC/B,IAAA,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AACZ,MAAM,oBAAoB,GAAG,CAAC;AAC3B,KAAA,MAAM,CAAC;AACN,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACjC,IAAA,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AAEZ;AACA;AACA,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExE,MAAM,4BAA4B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAChE,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;AACd,CAAA,CAAC,CAAC;AAIH;AACA;AACA,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;AACrC,IAAA,2BAA2B,EAAE,iBAAiB;AAC9C,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzE,CAAA,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAElF;AACA;AACA,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;AAC/C,IAAA,YAAY,EAAE,CAAC;AACZ,SAAA,MAAM,CAAC;AACN,QAAA,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AAChB,QAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AAC7B,QAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;AACD,SAAA,QAAQ,EAAE;AACb,IAAA,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAC5C,CAAA,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAC/C,iBAAiB,EACjB,+BAA+B,CAChC,CAAC;AAEF;AACA;AACA,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;AACrC,IAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AAC7B,IAAA,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AAChB,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;AACxB,CAAA,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAE3E,MAAM,gBAAgB,GAAG,CAAC;AAC9B,KAAA,MAAM,CAAC;AACN,IAAA,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC5C,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB,IAAA,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AAEZ,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAClC,aAAa,EACb,CAAC,CAAC,MAAM,CAAC;AACP,IAAA,KAAK,EAAE,oBAAoB;AAC5B,CAAA,CAAC,CACH,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAAC;AACvC,KAAA,MAAM,EAAE;KACR,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;AAEnF;AACA,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3C,IAAA,EAAE,EAAE,yBAAyB,CAAC,QAAQ,EAAE;AACxC,IAAA,YAAY,EAAE,2BAA2B;AACzC,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAClC,IAAA,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;AACpE,IAAA,iBAAiB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;AACrD,CAAA,CAAC,CAAC;AAIH,MAAM,uBAAuB,GAAiC,2BAA2B,CAAC,MAAM,CAAC;AAC/F,IAAA,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,KAAK,EAAE,CAAC;AACxD,CAAA,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC;AAClC,KAAA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACzD,KAAA,QAAQ,EAAE,CAAC;AAEP,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;AAC9C,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAClC,IAAA,IAAI,EAAE,4BAA4B;AAClC,IAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAClC,IAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,oBAAoB,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;AAC9E,IAAA,WAAW,EAAE,CAAC;AACX,SAAA,MAAM,CAAC;AACN,QAAA,iBAAiB,EAAE,2BAA2B,CAAC,QAAQ,EAAE;AACzD,QAAA,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;AACnC,QAAA,EAAE,EAAE,CAAC;AACF,aAAA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;AACP,YAAA,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,YAAA,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACnC,SAAA,CAAC,CACH;AACA,aAAA,QAAQ,EAAE;KACd,CAAC;AACD,SAAA,QAAQ,EAAE;AACd,CAAA,CAAC,CAAC;AAEI,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC;AACzC,uBAAuB,CACxB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,aAAa;IACb,SAAS;IACT,OAAO;IACP,MAAM;IACN,eAAe;IACf,cAAc;IACd,MAAM;IACN,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,UAAU;IACV,WAAW;IACX,cAAc;IACd,OAAO;IACP,aAAa;IACb,QAAQ;CACA,CAAC;AAEX,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;AACvC,IAAA,mBAAmB,EAAE,wBAAwB;IAC7C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;AAC7C,IAAA,gBAAgB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;AACnD,IAAA,0BAA0B,EAAE,gCAAgC,CAAC,QAAQ,EAAE;AACxE,CAAA,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAClC,CAAC,CAAC,MAAM,CAAC;AACP,IAAA,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;AACZ,QAAA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACvB,QAAA,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;AACd,QAAA,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;KAC7B,CAAC;AACH,CAAA,CAAC,CACH,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAmB,EAAE,GAAoB,KAAI;AACjF,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE;QAC3C,GAAG,CAAC,QAAQ,CAAC;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,YAAA,OAAO,EAAE,CAAgF,8EAAA,CAAA;AAC1F,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,sBAAsB,KAAI;;AAE/E,QAAA,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,eAAe,KAAK,sBAAsB,CAAC;AACpD,KAAC,CAAC,CAAC;IAEH,IAAI,eAAe,EAAE;QACnB,GAAG,CAAC,QAAQ,CAAC;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,YAAA,OAAO,EAAE,CAA+B,6BAAA,CAAA;AACzC,SAAA,CAAC,CAAC;KACJ;;AAED,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAC3B,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CACvE,CAAC;;AAEF,IAAA,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAI;AACtB,QAAA,IAAI,EAAE,KAAK,GAAG,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACX;AACD,QAAA,IAAI,EAAE,KAAK,GAAG,EAAE;AACd,YAAA,OAAO,CAAC,CAAC;SACV;AACD,QAAA,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1B,KAAC,CAAC,CAAC;AAEH,IAAA,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QACjD,GAAG,CAAC,QAAQ,CAAC;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,YAAA,OAAO,EAAE,CAAoE,kEAAA,CAAA;AAC9E,SAAA,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC;AAC1B,KAAA,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;AACzE,IAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;AAC1C,IAAA,aAAa,EAAE,cAAc;CAC9B,CAAC;AACD,KAAA,MAAM,EAAE,CAAC;AAEZ,MAAM,aAAa,GAAG,CAAC,WAAgB,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;AAEjE,MAAA,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;AACrD,IAAA,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;AACjD,IAAA,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC;AAC3C,IAAA,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;AACjD,IAAA,cAAc,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;AAC9D,IAAA,iBAAiB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;AACrE,CAAA;;ACjTY,MAAA,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;AAChD,IAAA,EAAE,EAAE,2BAA2B;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,CACjB,2BAA2B,EAC3B,uBAAuB,CAAC,MAAM,CAAC;AAC7B,QAAA,YAAY,EAAE,oBAAoB,CAAC,QAAQ,EAAE;KAC9C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AAC1B,QAAA,QAAQ,GAAG,CAAC,IAAI;AACd,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE;oBAC3C,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,EAAE,CAAsD,mDAAA,EAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;AACnF,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,SAAS;AACZ,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE;oBACpF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,0DAAA,EAA6D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AAClI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,sDAAA,EAAyD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AAC9H,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,2DAAA,EAA8D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AACnI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,EAAE,CAAqD,kDAAA,EAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;AAClF,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,2DAAA,EAA8D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AACnI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,uDAAA,EAA0D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AAC/H,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,wDAAA,EAA2D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AAChI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,yDAAA,EAA4D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AACjI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,2DAAA,EAA8D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AACnI,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE;oBACnF,GAAG,CAAC,QAAQ,CAAC;AACX,wBAAA,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;AAC3B,wBAAA,OAAO,EAAE,CAAA,sDAAA,EAAyD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,OAAO,GAAG,CAAC,YAAY,CAAU,QAAA,CAAA;AAC9H,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;iBACJ;gBACD,MAAM;SACT;AACH,KAAC,CAAC,CACH;AACF,CAAA;;ACpHD,IAAY,SAQX,CAAA;AARD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EARW,SAAS,KAAT,SAAS,GAQpB,EAAA,CAAA,CAAA,CAAA;AAYD,MAAM,kBAAkB,GAAG,CAAC,KAA4B,KAA4B;AAClF,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,WAAW,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;AAClF,IAAA,MAAM,OAAO,GACX,KAAK,CAAC,QAAQ,KAAK,WAAW;UAC1B,CAAiB,cAAA,EAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAoB,kBAAA,CAAA;AAC3D,UAAE,CAAgB,aAAA,EAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAkC,+BAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,CAAC;IAE7F,OAAO;AACL,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAiC,KAA4B;IAC5F,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,EAAI,CAAC,CAAG,CAAA,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO;AACL,QAAA,OAAO,EACL,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;cACjB,CAAkB,eAAA,EAAA,iBAAiB,CAAmB,iBAAA,CAAA;cACtD,CAAgB,aAAA,EAAA,iBAAiB,CAAkB,gBAAA,CAAA;QACzD,IAAI,EAAE,SAAS,CAAC,UAAU;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAA8B,KAA4B;IACtF,OAAO;AACL,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,gBAAgB;AAC1C,QAAA,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,OAAO,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU;QAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,uBAAuB,GAAG,CAAC,KAAiC,KAA4B;IAC5F,OAAO;AACL,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,sCAAsC;QAChE,IAAI,EAAE,SAAS,CAAC,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,QAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,KAAK,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,KAA+B,KAA4B;IACxF,OAAO;AACL,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,sCAAsC;QAChE,IAAI,EAAE,SAAS,CAAC,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,QAAkB;AAC/B,QAAA,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAkB,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAuB,KAA4B;IACxE,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAA0B,uBAAA,EAAA,KAAK,CAAC,OAAO,CAAE,CAAA;QACnE,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,OAAO;KACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAyB,KAA4B;IAC5E,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAA2B,wBAAA,EAAA,KAAK,CAAC,OAAO,CAAE,CAAA;QACpE,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,OAAO;KACnB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,KAAe,KAA4B;IACpE,OAAO;AACL,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,8BAA8B;QACxD,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;KAC7B,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,KAAe,KAA4B;AAC9E,IAAA,QAAQ,KAAK,CAAC,IAAI;QAChB,KAAK,YAAY,CAAC,YAAY;AAC5B,YAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,YAAY,CAAC,iBAAiB;AACjC,YAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,YAAY,CAAC,kBAAkB;AAClC,YAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,YAAY,CAAC,cAAc;AAC9B,YAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,YAAY,CAAC,SAAS;AACzB,YAAA,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,YAAY,CAAC,OAAO;AACvB,YAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,YAAY,CAAC,eAAe;AAC/B,YAAA,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA;AACE,YAAA,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACnC;AACH,CAAC;;AClHY,MAAA,6BAA6B,GAAG,CAAC,WAAW,KAA0B;IACjF,MAAM,MAAM,GAAG,CAAC;SACb,KAAK,CAAC,gBAAgB,CAAC;SACvB,WAAW,CAAC,qBAAqB,CAAC;SAClC,SAAS,CAAC,WAAW,CAAC,CAAC;AAC1B,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,OAAO;AACL,YAAA,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;SACtD,CAAC;KACH;AACD,IAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B;;ACba,MAAA,2BAA2B,GAAG,CAAC,UAAU,KAA0B;IAC9E,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/D,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,OAAO;AACL,YAAA,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;SACtD,CAAC;KACH;AACD,IAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B;;ACRA,MAAM,eAAe,GAAG;AACtB,IAAA,YAAY,EAAEA,8BAAiB;CAChC,CAAC;AAEF;;;;;AAKG;MACU,wBAAwB,GAAG,CACtC,UAAe,EACf,qBAAsC,KACd;AACxB,IAAA,IAAI,aAAa,CAAC;AAClB,IAAA,IAAI,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;AACnC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;KACvE;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,qBAAqB,IAAI,aAAa,CAAC,CAAC;IAEvE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;AACL,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,MAAM,EAAE;AACN,gBAAA;AACE,oBAAA,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ;oBACvD,QAAQ,EAAE,CAAC,YAAY,CAAC;AACxB,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC;AAClD,oBAAA,OAAO,EAAE,aAAa;AACpB,0BAAE,4BAA4B;AAC9B,0BAAE,+CAA+C;AACpD,iBAAA;AACF,aAAA;SACF,CAAC;KACH;AAED,IAAA,MAAM,gBAAgB,GAAG;AACvB,QAAA,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa;AAC9C,QAAA,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU;AACxC,QAAA,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa;AAC9C,QAAA,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc;AAChD,QAAA,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB;KACvD,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAClD,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;SACtD,CAAC;KACH;AACD,IAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
package/dist/types.d.ts CHANGED
@@ -484,12 +484,15 @@ declare const ComponentSettingsSchema: z.ZodObject<{
484
484
  defaultValue: z.ZodOptional<z.ZodObject<{
485
485
  path: z.ZodString;
486
486
  type: z.ZodLiteral<"BoundValue">;
487
+ contentType: z.ZodString;
487
488
  }, "strip", z.ZodTypeAny, {
488
489
  path: string;
489
490
  type: "BoundValue";
491
+ contentType: string;
490
492
  }, {
491
493
  path: string;
492
494
  type: "BoundValue";
495
+ contentType: string;
493
496
  }>>;
494
497
  contentTypes: z.ZodRecord<z.ZodString, z.ZodAny>;
495
498
  }, "strip", z.ZodTypeAny, {
@@ -497,12 +500,14 @@ declare const ComponentSettingsSchema: z.ZodObject<{
497
500
  defaultValue?: {
498
501
  path: string;
499
502
  type: "BoundValue";
503
+ contentType: string;
500
504
  } | undefined;
501
505
  }, {
502
506
  contentTypes: Record<string, any>;
503
507
  defaultValue?: {
504
508
  path: string;
505
509
  type: "BoundValue";
510
+ contentType: string;
506
511
  } | undefined;
507
512
  }>>>;
508
513
  }, "strip", z.ZodTypeAny, {
@@ -553,6 +558,7 @@ declare const ComponentSettingsSchema: z.ZodObject<{
553
558
  defaultValue?: {
554
559
  path: string;
555
560
  type: "BoundValue";
561
+ contentType: string;
556
562
  } | undefined;
557
563
  }> | undefined;
558
564
  }, {
@@ -603,6 +609,7 @@ declare const ComponentSettingsSchema: z.ZodObject<{
603
609
  defaultValue?: {
604
610
  path: string;
605
611
  type: "BoundValue";
612
+ contentType: string;
606
613
  } | undefined;
607
614
  }> | undefined;
608
615
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experiences-validators",
3
- "version": "1.33.2-dev-20250226T1247-7e3b57f.0",
3
+ "version": "1.33.2-dev-20250226T2047-b9a00dc.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -50,5 +50,5 @@
50
50
  "publishConfig": {
51
51
  "registry": "https://npm.pkg.github.com/"
52
52
  },
53
- "gitHead": "43666f51924cf3dda97d2e07eb8cef47434a28f9"
53
+ "gitHead": "6ea5ba14ac3b49214d6df7c8696bb9221d219edf"
54
54
  }