/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ import type { BlogTeaserProps } from "../blog-teaser/BlogTeaserProps"; import type { BusinessCardProps } from "../business-card/BusinessCardProps"; import type { ContactProps } from "../contact/ContactProps"; import type { ContentNavProps } from "../content-nav/ContentNavProps"; import type { CtaProps } from "../cta/CtaProps"; import type { DividerProps } from "../divider/DividerProps"; import type { DownloadsProps } from "../downloads/DownloadsProps"; import type { EventLatestTeaserProps } from "../event-latest-teaser/EventLatestTeaserProps"; import type { EventListTeaserProps } from "../event-list-teaser/EventListTeaserProps"; import type { FaqProps } from "../faq/FaqProps"; import type { FeaturesProps } from "../features/FeaturesProps"; import type { GalleryProps } from "../gallery/GalleryProps"; import type { HeadlineProps } from "../headline/HeadlineProps"; import type { HeroProps } from "../hero/HeroProps"; import type { HtmlProps } from "../html/HtmlProps"; import type { ImageStoryProps } from "../image-story/ImageStoryProps"; import type { ImageTextProps } from "../image-text/ImageTextProps"; import type { LogosProps } from "../logos/LogosProps"; import type { MosaicProps } from "../mosaic/MosaicProps"; import type { SliderProps } from "../slider/SliderProps"; import type { SplitEvenProps } from "../split-even/SplitEvenProps"; import type { SplitWeightedProps } from "../split-weighted/SplitWeightedProps"; import type { StatsProps } from "../stats/StatsProps"; import type { TeaserCardProps } from "../teaser-card/TeaserCardProps"; import type { TestimonialsProps } from "../testimonials/TestimonialsProps"; import type { TextProps } from "../text/TextProps"; import type { VideoCurtainProps } from "../video-curtain/VideoCurtainProps"; import type { ButtonProps } from "../button/ButtonProps"; /** * Width of section to use */ export type Width = "full" | "max" | "wide" | "default" | "narrow"; /** * Style of background */ export type Style = "default" | "framed" | "deko"; /** * Color of background */ export type Style1 = "default" | "accent" | "bold"; /** * Color of background */ export type Style2 = "none" | "to-default" | "to-accent" | "to-bold" | "to-inverted"; /** * Background image for the whole section */ export type BackgroundImage = string; /** * Show spotlight behind cursor */ export type Spotlight = boolean; /** * Amount of spacing before the section */ export type SpaceBefore = "default" | "small" | "none"; /** * Amount of spacing after the section */ export type SpaceAfter = "default" | "small" | "none"; /** * Whether to invert the section */ export type Inverted = boolean; /** * Reserve additional spacing for a floating header */ export type HeaderSpacing = boolean; /** * Headline Text for the section */ export type Headline = string; /** * Make the headline larger */ export type LargeHeadline = boolean; /** * Width of headline to use */ export type HeadlineWidth = "unset" | "narrow" | "default" | "wide"; /** * Choose the text alignment for the headline */ export type HeadlineTextAlignment = "left" | "center" | "right"; /** * Choose an alignment for positioning the headline */ export type HeadlineAlignment = "left" | "center" | "right"; /** * Subheadline for the section */ export type Subheadline = string; /** * Switch the order of headline and subheadline */ export type SwitchHeadlineOrder = boolean; /** * Width of content to use */ export type ContentWidth = "unset" | "narrow" | "default" | "wide"; /** * Choose an alignment for the content */ export type ContentAlignment = "left" | "center" | "right"; /** * Size of gutter to use */ export type Gutter = "large" | "default" | "small" | "none"; /** * Layout mode used for section contents */ export type Mode = "default" | "tile" | "list" | "slider"; /** * Set min-width for the tiles in the grid */ export type TileWidth = "smallest" | "default" | "medium" | "large" | "largest" | "full"; /** * Allowed components for content */ export type Content = (BlogTeaserProps | BusinessCardProps | ContactProps | ContentNavProps | CtaProps | DividerProps | DownloadsProps | EventLatestTeaserProps | EventListTeaserProps | FaqProps | FeaturesProps | GalleryProps | HeadlineProps | HeroProps | HtmlProps | ImageStoryProps | ImageTextProps | LogosProps | MosaicProps | SliderProps | SplitEvenProps | SplitWeightedProps | StatsProps | TeaserCardProps | TestimonialsProps | TextProps | VideoCurtainProps)[]; /** * Buttons of the Button Group */ export type Buttons = ButtonProps[]; /** * If true, the section is marked as an AI-generated draft */ export type AIDraft = boolean; /** * Component used to layout components into pages */ export interface SectionProps { width?: Width; style?: Style; backgroundColor?: Style1; transition?: Style2; backgroundImage?: BackgroundImage; spotlight?: Spotlight; spaceBefore?: SpaceBefore; spaceAfter?: SpaceAfter; inverted?: Inverted; headerSpacing?: HeaderSpacing; headline?: { text?: Headline; large?: LargeHeadline; width?: HeadlineWidth; textAlign?: HeadlineTextAlignment; align?: HeadlineAlignment; sub?: Subheadline; switchOrder?: SwitchHeadlineOrder; }; content?: { width?: ContentWidth; align?: ContentAlignment; gutter?: Gutter; mode?: Mode; tileWidth?: TileWidth; }; components?: Content; buttons?: Buttons; aiDraft?: AIDraft; }