UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 2.76 kB
import{adminCopyInputSchema as e}from"../../i18n/copy.mjs";import t from"../../../constants/constants.mjs";import{fieldConditionOperators as n,fieldConditionTranslationScopes as r}from"./conditions/index.mjs";import{validateRangeConfig as i}from"./fields/range/schema.mjs";import a from"zod";const o=[`equals`,`notEquals`,`contains`,`notContains`],s=a.object({field:a.string().trim().min(1),operator:a.enum(n),value:a.union([a.string(),a.number(),a.boolean(),a.null()]).optional()}).strict().refine(e=>!o.includes(e.operator)||e.value!==void 0,{message:`Condition rules with a comparison operator require a value`}),c=a.object({action:a.enum([`show`,`hide`]).optional(),translationScope:a.enum(r).optional(),groups:a.array(a.array(s))}).strict(),l=a.object({type:a.string(),key:a.string().refine(e=>!e.includes(t.db.nameSeparator),{message:`Field key cannot contain '${t.db.nameSeparator}'`}).refine(e=>!e.startsWith(t.db.generatedColumnPrefix),{message:`Field key cannot start with a '${t.db.generatedColumnPrefix}' prefix`}),collection:a.union([a.string(),a.array(a.string())]).optional(),details:a.object({label:e.optional(),summary:e.optional(),true:e.optional(),false:e.optional()}).optional(),ai:a.object({enabled:a.boolean().optional(),instructions:a.string().optional(),guidance:a.array(a.object({key:a.string().trim().min(1),label:e,instructions:a.string().trim().min(1)}).strict()).optional(),context:a.function().optional()}).optional(),default:a.union([a.boolean(),a.string(),a.number(),a.undefined(),a.object({}),a.array(a.any()),a.null()]).optional(),localized:a.boolean().optional(),time:a.boolean().optional(),multiple:a.boolean().optional(),thumbs:a.union([a.literal(1),a.literal(2)]).optional(),min:a.number().optional(),max:a.number().optional(),step:a.number().positive().optional(),index:a.literal(!0).optional(),output:a.enum([`nested`,`inline`]).optional(),defaultOpen:a.boolean().optional(),ui:a.object({hidden:a.boolean().optional(),disabled:a.boolean().optional(),condition:c.optional(),width:a.union([a.literal(12),a.literal(8),a.literal(6),a.literal(4),a.literal(3)]).optional()}).optional(),options:a.array(a.object({label:e,value:a.string()})).optional(),presets:a.array(a.string()).optional(),languages:a.array(a.string()).optional(),validation:a.object({zod:a.any().optional(),required:a.boolean().optional(),minItems:a.number().optional(),maxItems:a.number().optional(),extensions:a.array(a.string()).optional(),width:a.object({min:a.number().optional(),max:a.number().optional()}).optional(),height:a.object({min:a.number().optional(),max:a.number().optional()}).optional(),maxGroups:a.number().optional(),minGroups:a.number().optional()}).optional()}).superRefine(i);export{l as default}; //# sourceMappingURL=schema.mjs.map