-
Notifications
You must be signed in to change notification settings - Fork 11
/
cms-types.d.ts
126 lines (106 loc) · 2.11 KB
/
cms-types.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
type CMSHeadProps = {
title: string;
seo_title: string;
search_description: string;
seo_keywords: string;
og_twitter_title: string;
og_twitter_url: string;
og_twitter_description: string;
og_twitter_image: { meta: { download_url: string } };
twitter_card: string;
twitter_site: string;
twitter_creator: string;
slug: string;
};
type ImageContent = {
title: string;
url: string;
};
type SVGImageContent = {
title: string;
url: string;
view_box: string;
};
type ImageValue = {
image?: ImageContent;
svg_image?: SVGImageContent;
width?: number;
height?: number;
};
type ImageType = {
type: string;
value: ImageValue;
id: string;
};
type Link = [
{
id: string;
type: string;
value: string;
},
];
type ButtonStyleType =
| 'whiteContained'
| 'whiteOutlined'
| 'turquoiseContained'
| 'gradientContained'
| 'linkWaterContained';
type ButtonValue = {
text: string;
style_type: ButtonStyleType;
icon?: ImageContent;
has_arrow?: boolean;
link?: Link;
};
type Button = {
id: string;
value: ButtonValue;
};
type NewsBanner = {
banner_id: string;
text: string;
// link_text: string;
// link: Link;
button: Button[];
};
type HomePageHeader = {
title: string;
subtitle: string;
buttons: Button[];
};
type HomePageFeature = {
title: string;
text: string;
link_text: string;
link: Link;
};
type UpboundItem = {
id: number;
image: ImageType[];
title: string;
text: string;
footer_text: string;
};
type UpboundItems = UpboundItem[];
type HomePage = {
cms_head_props: CMSHeadProps;
header: { value: HomePageHeader }[];
section_1_title: string;
section_1_sub_title: string;
section_1_button: Button[];
section_1_slack_title_count: string;
section_1_slack_title: string;
section_1_slack_text: string;
section_1_slack_button: Button[];
features_sections: {
id: string;
value: HomePageFeature;
}[];
section_3_title: string;
section_3_text: string;
section_3_card_items: UpboundItem[];
section_3_button: Button[];
cta_section_title: string;
cta_section_text: string;
cta_section_buttons: Button[];
};