x
This commit is contained in:
1 parent
3ac0cb4f53
commit
5e724fae20
17 files changed
+2404
-278
No files matched your search
+30
-1
@@ -196,6 +196,9 @@ export interface StoreSettings {
|
||||
scrollRevealStyle?: string | null
|
||||
scrollRevealDuration?: number | null
|
||||
headerStyle?: 'single_line' | 'two_tier' | string | null
|
||||
headerBehavior?: 'always_sticky' | 'hide_on_scroll' | string | null
|
||||
mobileHeaderStyle?: 'logo_center' | 'logo_left' | 'search_bar_below' | string | null
|
||||
mobileHeaderBehavior?: 'always_sticky' | 'hide_on_scroll' | string | null
|
||||
}
|
||||
|
||||
export interface FooterBrand {
|
||||
@@ -473,6 +476,30 @@ export const EditorialCarouselSectionPayloadSchema = z.object({
|
||||
});
|
||||
export type EditorialCarouselSectionPayload = z.infer<typeof EditorialCarouselSectionPayloadSchema>;
|
||||
|
||||
export const HeroCarouselSlideSchema = z.object({
|
||||
imageUrl: z.string().min(1),
|
||||
mobileImageUrl: z.string().optional(),
|
||||
linkUrl: z.string().optional(),
|
||||
alt: LocalizedStringSchema.optional(),
|
||||
title: LocalizedStringSchema.optional(),
|
||||
subtitle: LocalizedStringSchema.optional(),
|
||||
buttonText: LocalizedStringSchema.optional(),
|
||||
focalPoint: z.object({ x: z.string(), y: z.string() }).optional(),
|
||||
});
|
||||
export type HeroCarouselSlide = z.infer<typeof HeroCarouselSlideSchema>;
|
||||
|
||||
export const HeroCarouselSectionPayloadSchema = z.object({
|
||||
slides: z.array(HeroCarouselSlideSchema).min(1),
|
||||
autoplay: z.boolean().optional().default(true),
|
||||
interval: z.number().optional().default(4500),
|
||||
aspectRatio: z.enum(['21/6', '21/7', '21/9', '16/5', '16/6', '4/1', '5/1', 'auto']).optional().default('21/7'),
|
||||
mobileAspectRatio: z.enum(['16/9', '4/3', '1/1', '21/9', 'auto']).optional().default('16/9'),
|
||||
showArrows: z.boolean().optional().default(true),
|
||||
showDots: z.boolean().optional().default(true),
|
||||
backgroundColor: z.string().optional(),
|
||||
});
|
||||
export type HeroCarouselSectionPayload = z.infer<typeof HeroCarouselSectionPayloadSchema>;
|
||||
|
||||
export interface CustomerAddress {
|
||||
id: number
|
||||
customerId: number
|
||||
@@ -869,7 +896,7 @@ export const UspMinimalSectionPayloadSchema = z.object({
|
||||
export type UspMinimalSectionPayload = z.infer<typeof UspMinimalSectionPayloadSchema>;
|
||||
|
||||
export const PAGE_SECTION_TYPES = [
|
||||
'HERO', 'HERO_V2', 'HERO_VIDEO', 'ANNOUNCEMENT_BAR', 'NEWSLETTER', 'EDITORIAL_TILE', 'FEATURED_TILES',
|
||||
'HERO', 'HERO_V2', 'HERO_VIDEO', 'HERO_CAROUSEL', 'ANNOUNCEMENT_BAR', 'NEWSLETTER', 'EDITORIAL_TILE', 'FEATURED_TILES',
|
||||
'EDITORIAL_CAROUSEL', 'PRODUCTS', 'CATEGORIES', 'TEXT', 'BANNER',
|
||||
'HERO_ARTICLE', 'RICH_TEXT', 'ARTICLE_HEADER', 'ARTICLE_MEDIA', 'ARTICLE_GALLERY',
|
||||
'ARTICLE_FACTS', 'ARTICLE_VIDEO', 'ARTICLE_REFERENCES', 'ARTICLE_TABLE', 'ARTICLE_DOWNLOAD',
|
||||
@@ -885,6 +912,7 @@ export const PAGE_SECTION_LOCALIZED_PATHS: Record<SectionType, readonly string[]
|
||||
HERO: ['tagline', 'title', 'description', 'buttonText'],
|
||||
HERO_V2: ['tagline', 'title', 'description', 'primaryButtonText', 'secondaryButtonText'],
|
||||
HERO_VIDEO: ['tagline', 'title', 'description', 'buttonText', 'secondaryButtonText'],
|
||||
HERO_CAROUSEL: ['slides[].title', 'slides[].subtitle', 'slides[].buttonText', 'slides[].alt'],
|
||||
ANNOUNCEMENT_BAR: ['slides[]'],
|
||||
NEWSLETTER: ['title', 'description', 'buttonText', 'placeholderText', 'privacyText'],
|
||||
EDITORIAL_TILE: ['title', 'description', 'buttonText'],
|
||||
@@ -930,6 +958,7 @@ export const PAGE_SECTION_PAYLOAD_SCHEMAS: Record<SectionType, z.ZodType> = {
|
||||
HERO: HeroSectionPayloadSchema,
|
||||
HERO_V2: HeroV2SectionPayloadSchema,
|
||||
HERO_VIDEO: HeroVideoSectionPayloadSchema,
|
||||
HERO_CAROUSEL: HeroCarouselSectionPayloadSchema,
|
||||
ANNOUNCEMENT_BAR: AnnouncementBarSectionPayloadSchema,
|
||||
NEWSLETTER: NewsletterSectionPayloadSchema,
|
||||
EDITORIAL_TILE: EditorialTileSectionPayloadSchema,
|
||||
|
||||
Reference in new issue
Block a user