You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

174 lines
2.6 KiB

export interface NavItem {
label: string;
href: string;
children?: NavItem[];
}
export type ProductTag = "new" | "hot" | "sale" | "none";
export interface Product {
id: string;
name: string;
description?: string;
price?: number;
image: string;
href?: string;
tag?: ProductTag;
eyebrow?: string;
summary?: string;
bullets?: string[];
badges?: string[];
}
export interface Floor {
id: string;
title: string;
hero?: {
image?: string;
href?: string;
title?: string;
subtitle?: string;
eyebrow?: string;
description?: string;
};
products: Product[];
}
export interface HeroData {
title: string;
subtitle: string;
cta1: string;
cta2: string;
cta2Href: string;
}
export interface AboutCard {
title: string;
content: string;
}
export interface AboutData {
hero?: {
title: string;
subtitle: string;
};
title: string;
content: string;
cards: AboutCard[];
}
export interface TechItem {
title: string;
content: string;
}
export interface TechData {
hero?: {
title: string;
subtitle: string;
};
title: string;
items: TechItem[];
}
export interface SolutionItem {
id: string;
tag?: string;
title: string;
summary: string;
bullets: string[];
badges?: string[];
image: string;
}
export interface SolutionsData {
hero?: {
eyebrow?: string;
title: string;
subtitle?: string;
description?: string;
};
title: string;
items: SolutionItem[];
}
export interface CaseItem {
title: string;
content: string;
}
export interface CasesData {
hero?: {
title: string;
subtitle: string;
};
title: string;
items: CaseItem[];
}
export interface PartnersData {
title: string;
partners: string[];
}
export interface NewsItem {
title: string;
content: string;
meta: string;
}
export interface NewsData {
hero?: {
title: string;
subtitle: string;
};
title: string;
items: NewsItem[];
}
export interface CareersData {
hero?: {
title: string;
subtitle: string;
};
title: string;
content: string;
}
export type ContactFieldType =
| "text"
| "email"
| "tel"
| "url"
| "textarea"
| "select";
export interface ContactField {
id: string;
label?: string;
placeholder: string;
type?: ContactFieldType;
maxLength?: number;
span?: "full";
options?: string[];
}
export interface ContactFormContent {
title: string;
description?: string;
note?: string;
submit: string;
fields: ContactField[];
}
export interface ContactData {
hero?: {
title: string;
subtitle?: string;
image?: string;
};
form: ContactFormContent;
}