x
This commit is contained in:
1 parent
e349ef5b84
commit
8d415ecef7
14 files changed
+372
-119
No files matched your search
@@ -617,6 +617,24 @@ export const DesktopContentPositionSchema = (fallback: ContentPosition) =>
|
||||
.optional()
|
||||
.transform((val) => (val ? (val as ContentPosition) : fallback));
|
||||
|
||||
export const ContentWidthSchema = z.enum(['full', 'standard', 'compact']);
|
||||
export type ContentWidth = z.infer<typeof ContentWidthSchema>;
|
||||
|
||||
export const DefaultContentWidthSchema = (fallback: ContentWidth = 'standard') =>
|
||||
z
|
||||
.union([ContentWidthSchema, z.literal(''), z.null()])
|
||||
.optional()
|
||||
.transform((val) => (val ? (val as ContentWidth) : fallback));
|
||||
|
||||
export const TextColorSchemeSchema = z.enum(['light', 'dark']);
|
||||
export type TextColorScheme = z.infer<typeof TextColorSchemeSchema>;
|
||||
|
||||
export const DefaultTextColorSchemeSchema = (fallback: TextColorScheme = 'light') =>
|
||||
z
|
||||
.union([TextColorSchemeSchema, z.literal(''), z.null()])
|
||||
.optional()
|
||||
.transform((val) => (val ? (val as TextColorScheme) : fallback));
|
||||
|
||||
export const HeroSectionPayloadSchema = z.object({
|
||||
tagline: LocalizedStringSchema.optional(),
|
||||
title: LocalizedStringSchema.optional(),
|
||||
@@ -627,6 +645,8 @@ export const HeroSectionPayloadSchema = z.object({
|
||||
focalPoint: z.object({ x: z.string(), y: z.string() }).optional(),
|
||||
buttonPosition: DesktopContentPositionSchema('center'),
|
||||
mobileButtonPosition: OptionalContentPositionSchema,
|
||||
contentWidth: DefaultContentWidthSchema('standard'),
|
||||
textColorScheme: DefaultTextColorSchemeSchema('light'),
|
||||
overlayStyle: z.enum(['gradient', 'solid', 'none']).optional().default('gradient'),
|
||||
overlayOpacity: z.number().min(0).max(100).optional(),
|
||||
});
|
||||
@@ -661,6 +681,8 @@ export const BannerSectionPayloadSchema = z.object({
|
||||
focalPoint: z.object({ x: z.string(), y: z.string() }).optional(),
|
||||
buttonPosition: DesktopContentPositionSchema('center-left'),
|
||||
mobileButtonPosition: OptionalContentPositionSchema,
|
||||
contentWidth: DefaultContentWidthSchema('standard'),
|
||||
textColorScheme: DefaultTextColorSchemeSchema('light'),
|
||||
});
|
||||
export type BannerSectionPayload = z.infer<typeof BannerSectionPayloadSchema>;
|
||||
|
||||
@@ -739,6 +761,8 @@ export const HeroVideoSectionPayloadSchema = z.object({
|
||||
focalPoint: z.object({ x: z.string(), y: z.string() }).optional(),
|
||||
buttonPosition: DesktopContentPositionSchema('center'),
|
||||
mobileButtonPosition: OptionalContentPositionSchema,
|
||||
contentWidth: DefaultContentWidthSchema('standard'),
|
||||
textColorScheme: DefaultTextColorSchemeSchema('light'),
|
||||
});
|
||||
export type HeroVideoSectionPayload = z.infer<typeof HeroVideoSectionPayloadSchema>;
|
||||
|
||||
@@ -770,6 +794,8 @@ export const HeroCarouselSlideSchema = z.object({
|
||||
focalPoint: z.object({ x: z.string(), y: z.string() }).optional(),
|
||||
buttonPosition: DesktopContentPositionSchema('bottom-left'),
|
||||
mobileButtonPosition: OptionalContentPositionSchema,
|
||||
contentWidth: DefaultContentWidthSchema('standard'),
|
||||
textColorScheme: DefaultTextColorSchemeSchema('light'),
|
||||
});
|
||||
export type HeroCarouselSlide = z.infer<typeof HeroCarouselSlideSchema>;
|
||||
|
||||
|
||||
Reference in new issue
Block a user