/** * 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. */ /** * Headline for the Component element */ export type ComponentHeadline = string; /** * Subheadline below the component headline */ export type ComponentSubheadline = string; /** * Info text for the component element */ export type ComponentText = string; /** * Visually highlight the text */ export type HighlightText = boolean; /** * Make the text and buttons color neutral */ export type ColorNeutral = boolean; /** * Invert the text and button colors for use on dark backgrounds */ export type Inverted = boolean; /** * Text content to display inside the button */ export type Label = string; /** * Choose an icon */ export type Icon = string; /** * The URL to link to when the button is clicked */ export type URL = string; /** * Background color for the whole element */ export type BackgroundColor = string; /** * Background image for the whole element */ export type BackgroundImage = string; /** * Image source to use */ export type ImageSource = string; /** * Toggle padding of the image */ export type Padding = boolean; /** * Image description */ export type AltText = string; /** * Select a vertical alignment for the image */ export type VerticalAlignmentOfTheImage = "center" | "top" | "bottom"; /** * Switch to displaying the image after the text on mobile */ export type MobileImageAfterText = boolean; /** * Switch to displaying the image after the text on desktop */ export type DesktopImageAfterText = boolean; /** * Choose the alginment of the text */ export type TextAlignment = "left" | "center"; /** * Select a vertical alignment for the content */ export type VerticalAlignmentOfTheContent = "center" | "top" | "bottom"; /** * Toggle padding of the content */ export type Padding1 = boolean; /** * Call to Action (CTA) component for prompting users to take specific actions on a website. */ export interface CtaProps { headline?: ComponentHeadline; sub?: ComponentSubheadline; text?: ComponentText; highlightText?: HighlightText; colorNeutral?: ColorNeutral; inverted?: Inverted; buttons?: Button[]; backgroundColor?: BackgroundColor; backgroundImage?: BackgroundImage; image?: Image; order?: Order; textAlign?: TextAlignment; align?: VerticalAlignmentOfTheContent; padding?: Padding1; } export interface Button { label?: Label; icon?: Icon; url?: URL; } /** * Image displayed alongside the text content */ export interface Image { src?: ImageSource; padding?: Padding; alt?: AltText; align?: VerticalAlignmentOfTheImage; } /** * Choose what comes first on mobile and desktop: image or text */ export interface Order { mobileImageLast?: MobileImageAfterText; desktopImageLast?: DesktopImageAfterText; }