{"version":3,"file":"collection-bricks.mjs","names":[],"sources":["../../src/schemas/collection-bricks.ts"],"sourcesContent":["import z from \"zod\";\nimport { resolvedAdminCopySchema } from \"../libs/i18n/index.js\";\nimport {\n\tfieldClientResponseSchema,\n\tfieldConfigSchema,\n\tfieldInputSchema,\n\tfieldResponseSchema,\n} from \"./collection-fields.js\";\n\nexport const brickInputSchema = z.object({\n\tid: z.number().nullable().optional(),\n\tref: z.string(),\n\tkey: z.string(),\n\torder: z.number(),\n\ttype: z.union([z.literal(\"builder\"), z.literal(\"fixed\")]),\n\topen: z.boolean().optional(),\n\tfields: z.array(fieldInputSchema).optional(),\n});\nexport type BrickInputSchema = z.infer<typeof brickInputSchema>;\n\nexport const brickConfigSchema = z.object({\n\tkey: z.string().min(1).meta({\n\t\tdescription: \"Unique identifier for the brick\",\n\t\texample: \"banner\",\n\t}),\n\tdetails: z.object({\n\t\tname: resolvedAdminCopySchema.meta({\n\t\t\tdescription: \"Display name for the brick\",\n\t\t\texample: {\n\t\t\t\ttype: \"lucid.copy\",\n\t\t\t\tscope: \"admin\",\n\t\t\t\tkey: \"bricks.banner.name\",\n\t\t\t\tdefaultMessage: \"Banner\",\n\t\t\t},\n\t\t}),\n\t\tsummary: resolvedAdminCopySchema\n\t\t\t.nullable()\n\t\t\t.meta({\n\t\t\t\tdescription: \"Description text for the brick\",\n\t\t\t\texample: {\n\t\t\t\t\ttype: \"lucid.copy\",\n\t\t\t\t\tscope: \"admin\",\n\t\t\t\t\tkey: \"bricks.banner.summary\",\n\t\t\t\t\tdefaultMessage: \"A banner with a title and intro text\",\n\t\t\t\t},\n\t\t\t})\n\t\t\t.optional(),\n\t}),\n\tpreview: z.object({\n\t\timage: z\n\t\t\t.string()\n\t\t\t.nullable()\n\t\t\t.meta({\n\t\t\t\tdescription: \"Preview image URL for the brick\",\n\t\t\t\texample: \"https://example.com/banner-brick.png\",\n\t\t\t})\n\t\t\t.optional(),\n\t}),\n\tget fields() {\n\t\treturn z.array(fieldConfigSchema);\n\t},\n});\n\nexport const brickResponseBaseSchema = z\n\t.object({\n\t\tid: z.number().meta({\n\t\t\tdescription: \"The ID of the brick row\",\n\t\t\texample: 1,\n\t\t}),\n\t\tkey: z.string().meta({\n\t\t\tdescription: \"The key that identifies the brick\",\n\t\t\texample: \"hero\",\n\t\t}),\n\t\tref: z.string().meta({\n\t\t\tdescription: \"The unique reference identifier for this brick\",\n\t\t\texample: \"7645654\",\n\t\t}),\n\t\torder: z.number().meta({\n\t\t\tdescription: \"The position order of this brick in the document\",\n\t\t\texample: 0,\n\t\t}),\n\t\topen: z.boolean().meta({\n\t\t\tdescription: \"Whether this brick is expanded in the UI\",\n\t\t\texample: true,\n\t\t}),\n\t\ttype: z.enum([\"builder\", \"fixed\"]).meta({\n\t\t\tdescription: \"The type of brick\",\n\t\t\texample: \"builder\",\n\t\t}),\n\t})\n\t.meta({\n\t\tadditionalProperties: true,\n\t});\n\nexport const brickResponseSchema = brickResponseBaseSchema.extend({\n\tget fields() {\n\t\treturn z.array(fieldResponseSchema);\n\t},\n});\nexport const brickClientResponseSchema = brickResponseBaseSchema.extend({\n\tget fields() {\n\t\treturn z.record(z.any(), z.array(fieldClientResponseSchema));\n\t},\n});\n"],"mappings":"6NASA,MAAa,EAAmB,EAAE,OAAO,CACxC,GAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACnC,IAAK,EAAE,OAAO,EACd,IAAK,EAAE,OAAO,EACd,MAAO,EAAE,OAAO,EAChB,KAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,SAAS,EAAG,EAAE,QAAQ,OAAO,CAAC,CAAC,EACxD,KAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,EAC3B,OAAQ,EAAE,MAAM,CAAgB,CAAC,CAAC,SAAS,CAC5C,CAAC,EAGY,EAAoB,EAAE,OAAO,CACzC,IAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAC3B,YAAa,kCACb,QAAS,QACV,CAAC,EACD,QAAS,EAAE,OAAO,CACjB,KAAM,EAAwB,KAAK,CAClC,YAAa,6BACb,QAAS,CACR,KAAM,aACN,MAAO,QACP,IAAK,qBACL,eAAgB,QACjB,CACD,CAAC,EACD,QAAS,EACP,SAAS,CAAC,CACV,KAAK,CACL,YAAa,iCACb,QAAS,CACR,KAAM,aACN,MAAO,QACP,IAAK,wBACL,eAAgB,sCACjB,CACD,CAAC,CAAC,CACD,SAAS,CACZ,CAAC,EACD,QAAS,EAAE,OAAO,CACjB,MAAO,EACL,OAAO,CAAC,CACR,SAAS,CAAC,CACV,KAAK,CACL,YAAa,kCACb,QAAS,sCACV,CAAC,CAAC,CACD,SAAS,CACZ,CAAC,EACD,IAAI,QAAS,CACZ,OAAO,EAAE,MAAM,CAAiB,CACjC,CACD,CAAC,EAEY,EAA0B,EACrC,OAAO,CACP,GAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CACnB,YAAa,0BACb,QAAS,CACV,CAAC,EACD,IAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CACpB,YAAa,oCACb,QAAS,MACV,CAAC,EACD,IAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CACpB,YAAa,iDACb,QAAS,SACV,CAAC,EACD,MAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CACtB,YAAa,mDACb,QAAS,CACV,CAAC,EACD,KAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CACtB,YAAa,2CACb,QAAS,EACV,CAAC,EACD,KAAM,EAAE,KAAK,CAAC,UAAW,OAAO,CAAC,CAAC,CAAC,KAAK,CACvC,YAAa,oBACb,QAAS,SACV,CAAC,CACF,CAAC,CAAC,CACD,KAAK,CACL,qBAAsB,EACvB,CAAC,EAEW,EAAsB,EAAwB,OAAO,CACjE,IAAI,QAAS,CACZ,OAAO,EAAE,MAAM,CAAmB,CACnC,CACD,CAAC,EACwC,EAAwB,OAAO,CACvE,IAAI,QAAS,CACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAG,EAAE,MAAM,CAAyB,CAAC,CAC5D,CACD,CAAC"}