easy-email-pro-core 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs.js +105 -0
- package/lib/index.es.js +7244 -0
- package/lib/typings/blocks/basic/Button/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Column/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Divider/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Group/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Hero/index.d.ts +2 -0
- package/lib/typings/blocks/basic/HtmlNode/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Image/index.d.ts +2 -0
- package/lib/typings/blocks/basic/LineBreak/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Mergetag/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Navbar/index.d.ts +2 -0
- package/lib/typings/blocks/basic/NavbarLink/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Page/index.d.ts +3 -0
- package/lib/typings/blocks/basic/Placeholder/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Raw/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Section/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Social/index.d.ts +2 -0
- package/lib/typings/blocks/basic/SocialElement/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Spacer/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Text/index.d.ts +2 -0
- package/lib/typings/blocks/basic/Wrapper/index.d.ts +2 -0
- package/lib/typings/blocks/basic/index.d.ts +23 -0
- package/lib/typings/blocks/index.d.ts +45 -0
- package/lib/typings/blocks/logic/ForEach/index.d.ts +3 -0
- package/lib/typings/blocks/logic/Show/index.d.ts +2 -0
- package/lib/typings/blocks/logic/index.d.ts +5 -0
- package/lib/typings/blocks/standard/Button/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Column/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Divider/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Group/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Hero/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Image/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Navbar/index.d.ts +2 -0
- package/lib/typings/blocks/standard/NavbarLink/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Section/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Social/index.d.ts +2 -0
- package/lib/typings/blocks/standard/SocialElement/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Spacer/index.d.ts +2 -0
- package/lib/typings/blocks/standard/Text/generateTextBlock.d.ts +4 -0
- package/lib/typings/blocks/standard/Text/index.d.ts +7 -0
- package/lib/typings/blocks/standard/TextList/TextListItem.d.ts +2 -0
- package/lib/typings/blocks/standard/TextList/index.d.ts +3 -0
- package/lib/typings/blocks/standard/Wrapper/index.d.ts +2 -0
- package/lib/typings/blocks/standard/index.d.ts +24 -0
- package/lib/typings/components/BasicBlock.d.ts +7 -0
- package/lib/typings/components/BlockRenderer.d.ts +9 -0
- package/lib/typings/components/ContentEditableBlock.d.ts +4 -0
- package/lib/typings/components/ContentLeaf.d.ts +4 -0
- package/lib/typings/components/Elements/Button.d.ts +9 -0
- package/lib/typings/components/Elements/Column.d.ts +8 -0
- package/lib/typings/components/Elements/Divider.d.ts +8 -0
- package/lib/typings/components/Elements/ForEach.d.ts +6 -0
- package/lib/typings/components/Elements/Group.d.ts +8 -0
- package/lib/typings/components/Elements/Hero.d.ts +8 -0
- package/lib/typings/components/Elements/HtmlNode.d.ts +9 -0
- package/lib/typings/components/Elements/Image.d.ts +8 -0
- package/lib/typings/components/Elements/Navbar.d.ts +8 -0
- package/lib/typings/components/Elements/NavbarLink.d.ts +8 -0
- package/lib/typings/components/Elements/Raw.d.ts +8 -0
- package/lib/typings/components/Elements/Section.d.ts +8 -0
- package/lib/typings/components/Elements/Show.d.ts +6 -0
- package/lib/typings/components/Elements/Social.d.ts +8 -0
- package/lib/typings/components/Elements/SocialElement.d.ts +8 -0
- package/lib/typings/components/Elements/Spacer.d.ts +8 -0
- package/lib/typings/components/Elements/Text.d.ts +8 -0
- package/lib/typings/components/Elements/Wrapper.d.ts +8 -0
- package/lib/typings/components/Elements/index.d.ts +19 -0
- package/lib/typings/components/index.d.ts +5 -0
- package/lib/typings/constants/blockCategory.d.ts +20 -0
- package/lib/typings/constants/blockType.d.ts +100 -0
- package/lib/typings/constants/editor.d.ts +1 -0
- package/lib/typings/constants/index.d.ts +4 -0
- package/lib/typings/constants/regexp.d.ts +2 -0
- package/lib/typings/constants/responsive.d.ts +4 -0
- package/lib/typings/index.d.ts +8 -0
- package/lib/typings/typings/custom-types.d.ts +22 -0
- package/lib/typings/typings/element-logic.d.ts +38 -0
- package/lib/typings/typings/element.d.ts +609 -0
- package/lib/typings/typings/helper.d.ts +6 -0
- package/lib/typings/typings/index.d.ts +35 -0
- package/lib/typings/typings/mergeTagGenerate.d.ts +18 -0
- package/lib/typings/utils/BeacasCore/contexts/EmailGlobalContext.d.ts +32 -0
- package/lib/typings/utils/BeacasCore/contexts/EmailRenderContext.d.ts +18 -0
- package/lib/typings/utils/BeacasCore/index.d.ts +14 -0
- package/lib/typings/utils/BeacasCore/universalElement.d.ts +11 -0
- package/lib/typings/utils/BlockManager.d.ts +7 -0
- package/lib/typings/utils/I18nManager.d.ts +9 -0
- package/lib/typings/utils/NodeUtils.d.ts +37 -0
- package/lib/typings/utils/classnames.d.ts +1 -0
- package/lib/typings/utils/createBlock.d.ts +5 -0
- package/lib/typings/utils/getAdapterAttributesString.d.ts +10 -0
- package/lib/typings/utils/index.d.ts +9 -0
- package/lib/typings/utils/isProductionMode.d.ts +15 -0
- package/lib/typings/utils/isValidReactChildren.d.ts +2 -0
- package/lib/typings/utils/mergeBlock.d.ts +2 -0
- package/lib/typings/utils/plugins/PluginManager.d.ts +43 -0
- package/lib/typings/utils/plugins/TemplateEngine.d.ts +9 -0
- package/lib/typings/utils/plugins/index.d.ts +2 -0
- package/package.json +34 -0
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
import { ElementCategory, ElementType } from "../constants";
|
|
2
|
+
import { LogicCondition, LogicIteration } from "./element-logic";
|
|
3
|
+
import { Element } from "./custom-types";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export type InternalElementType = typeof ElementType;
|
|
6
|
+
type ValueOf<T> = T[keyof T];
|
|
7
|
+
export type ElementCategoryType = ValueOf<typeof ElementCategory>;
|
|
8
|
+
export type TextNode = {
|
|
9
|
+
text: string;
|
|
10
|
+
bold?: boolean;
|
|
11
|
+
italic?: boolean;
|
|
12
|
+
underline?: boolean;
|
|
13
|
+
strikethrough?: boolean;
|
|
14
|
+
color?: string;
|
|
15
|
+
bgColor?: string;
|
|
16
|
+
fontSize?: string;
|
|
17
|
+
fontFamily?: string;
|
|
18
|
+
link?: {
|
|
19
|
+
href?: string;
|
|
20
|
+
blank?: boolean;
|
|
21
|
+
} | null;
|
|
22
|
+
};
|
|
23
|
+
export interface BasicElement<K extends {
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
} = any, T extends {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
} = any, Type extends string = string> {
|
|
28
|
+
uid?: string;
|
|
29
|
+
title?: string;
|
|
30
|
+
type: Type;
|
|
31
|
+
data: T;
|
|
32
|
+
logic?: {
|
|
33
|
+
condition?: LogicCondition;
|
|
34
|
+
iteration?: LogicIteration;
|
|
35
|
+
};
|
|
36
|
+
visible?: "desktop" | "mobile";
|
|
37
|
+
mobileAttributes?: Omit<K, "css-class" | "mj-class"> & Partial<{
|
|
38
|
+
"css-class": string;
|
|
39
|
+
"mj-class": string;
|
|
40
|
+
}>;
|
|
41
|
+
attributes: Omit<K, "css-class" | "mj-class"> & Partial<{
|
|
42
|
+
"css-class": string;
|
|
43
|
+
"mj-class": string;
|
|
44
|
+
}>;
|
|
45
|
+
children: Array<Element | TextNode>;
|
|
46
|
+
}
|
|
47
|
+
export interface VariableItem {
|
|
48
|
+
label: string;
|
|
49
|
+
value: string;
|
|
50
|
+
type: string;
|
|
51
|
+
key: string;
|
|
52
|
+
}
|
|
53
|
+
export type PageElement = BasicElement<{
|
|
54
|
+
width?: string;
|
|
55
|
+
"background-color"?: string;
|
|
56
|
+
"content-background-color"?: string;
|
|
57
|
+
"link-color"?: string;
|
|
58
|
+
"link-text-decoration"?: string;
|
|
59
|
+
"link-font-weight"?: string;
|
|
60
|
+
"link-font-style"?: string;
|
|
61
|
+
"margin-top"?: string;
|
|
62
|
+
"margin-bottom"?: string;
|
|
63
|
+
}, {
|
|
64
|
+
globalAttributes?: Record<string, string>;
|
|
65
|
+
categoryAttributes?: Record<string, Record<string, string>>;
|
|
66
|
+
blockAttributes?: Record<string, Record<string, string>>;
|
|
67
|
+
classAttributes?: Record<string, Record<string, string>>;
|
|
68
|
+
globalStyles?: Array<{
|
|
69
|
+
content: string;
|
|
70
|
+
inline: boolean;
|
|
71
|
+
}>;
|
|
72
|
+
breakpoint: string;
|
|
73
|
+
headStyles?: {
|
|
74
|
+
content: string;
|
|
75
|
+
inline?: "inline";
|
|
76
|
+
}[];
|
|
77
|
+
variables?: Array<VariableItem>;
|
|
78
|
+
fonts?: {
|
|
79
|
+
name: string;
|
|
80
|
+
href: string;
|
|
81
|
+
}[];
|
|
82
|
+
preheader?: string;
|
|
83
|
+
}> & {
|
|
84
|
+
type: InternalElementType["PAGE"];
|
|
85
|
+
};
|
|
86
|
+
export type RawElement = BasicElement<{}, {
|
|
87
|
+
content: string;
|
|
88
|
+
}> & {
|
|
89
|
+
type: InternalElementType["RAW"];
|
|
90
|
+
};
|
|
91
|
+
export type WrapperElement = BasicElement<{
|
|
92
|
+
"background-color"?: string;
|
|
93
|
+
"background-position"?: string;
|
|
94
|
+
"background-position-x"?: string;
|
|
95
|
+
"background-position-y"?: string;
|
|
96
|
+
"background-repeat"?: "repeat" | "no-repeat";
|
|
97
|
+
"background-size"?: string;
|
|
98
|
+
"background-url"?: string;
|
|
99
|
+
border?: string;
|
|
100
|
+
"border-radius"?: string;
|
|
101
|
+
direction?: "ltr" | "rtl";
|
|
102
|
+
"full-width"?: string;
|
|
103
|
+
padding?: string;
|
|
104
|
+
"padding-top"?: string;
|
|
105
|
+
"padding-bottom"?: string;
|
|
106
|
+
"padding-left"?: string;
|
|
107
|
+
"padding-right"?: string;
|
|
108
|
+
"text-align"?: string;
|
|
109
|
+
}, {}> & {
|
|
110
|
+
type: InternalElementType["WRAPPER"];
|
|
111
|
+
};
|
|
112
|
+
export type SectionElement = BasicElement<{
|
|
113
|
+
"background-color"?: string;
|
|
114
|
+
"background-position"?: string;
|
|
115
|
+
"background-position-x"?: string;
|
|
116
|
+
"background-position-y"?: string;
|
|
117
|
+
"background-repeat"?: "repeat" | "no-repeat";
|
|
118
|
+
"background-size"?: string;
|
|
119
|
+
"background-url"?: string;
|
|
120
|
+
border?: string;
|
|
121
|
+
"border-radius"?: string;
|
|
122
|
+
direction?: "ltr" | "rtl";
|
|
123
|
+
"full-width"?: string;
|
|
124
|
+
padding?: string;
|
|
125
|
+
"padding-top"?: string;
|
|
126
|
+
"padding-bottom"?: string;
|
|
127
|
+
"padding-left"?: string;
|
|
128
|
+
"padding-right"?: string;
|
|
129
|
+
"text-align"?: string;
|
|
130
|
+
}, {}> & {
|
|
131
|
+
type: InternalElementType["SECTION"];
|
|
132
|
+
};
|
|
133
|
+
export type ColumnElement = BasicElement<{
|
|
134
|
+
border?: string;
|
|
135
|
+
"background-color"?: string;
|
|
136
|
+
"border-radius"?: string;
|
|
137
|
+
"inner-border"?: string;
|
|
138
|
+
"inner-border-radius"?: string;
|
|
139
|
+
"inner-background-color"?: "color";
|
|
140
|
+
padding?: string;
|
|
141
|
+
"text-align"?: string;
|
|
142
|
+
"vertical-align"?: string;
|
|
143
|
+
width?: string;
|
|
144
|
+
direction?: string;
|
|
145
|
+
}, {}> & {
|
|
146
|
+
type: InternalElementType["COLUMN"];
|
|
147
|
+
};
|
|
148
|
+
export type GroupElement = BasicElement<{
|
|
149
|
+
width?: string;
|
|
150
|
+
"vertical-align"?: "middle" | "top" | "bottom";
|
|
151
|
+
"background-color"?: string;
|
|
152
|
+
direction?: "ltr" | "rtl";
|
|
153
|
+
}, {}> & {
|
|
154
|
+
type: InternalElementType["GROUP"];
|
|
155
|
+
};
|
|
156
|
+
export type TextElement = BasicElement<{
|
|
157
|
+
color?: string;
|
|
158
|
+
"font-family"?: string;
|
|
159
|
+
"font-size"?: string;
|
|
160
|
+
"font-style"?: string;
|
|
161
|
+
"font-weight"?: string;
|
|
162
|
+
"line-height"?: string | number;
|
|
163
|
+
"letter-spacing"?: string;
|
|
164
|
+
height?: string;
|
|
165
|
+
"text-decoration"?: string;
|
|
166
|
+
"text-transform"?: string;
|
|
167
|
+
align?: string;
|
|
168
|
+
"container-background-color"?: string;
|
|
169
|
+
width?: string;
|
|
170
|
+
padding?: string;
|
|
171
|
+
"padding-top"?: string;
|
|
172
|
+
"padding-bottom"?: string;
|
|
173
|
+
"padding-left"?: string;
|
|
174
|
+
"padding-right"?: string;
|
|
175
|
+
}, {}> & {
|
|
176
|
+
type: InternalElementType["TEXT"];
|
|
177
|
+
};
|
|
178
|
+
export type MergetagElement = BasicElement<{}, {
|
|
179
|
+
default?: string;
|
|
180
|
+
}> & {
|
|
181
|
+
type: InternalElementType["MERGETAG"];
|
|
182
|
+
};
|
|
183
|
+
export type LineBreakElement = BasicElement<{}, {}> & {
|
|
184
|
+
type: InternalElementType["LINE_BREAK"];
|
|
185
|
+
};
|
|
186
|
+
export type PlaceholderElement = BasicElement<{}, {}> & {
|
|
187
|
+
type: InternalElementType["PLACEHOLDER"];
|
|
188
|
+
};
|
|
189
|
+
export type HtmlNodeElement = BasicElement<React.HtmlHTMLAttributes<HTMLElement>, {
|
|
190
|
+
tagName: string;
|
|
191
|
+
}> & {
|
|
192
|
+
type: InternalElementType["HTML_NODE"];
|
|
193
|
+
};
|
|
194
|
+
export type ButtonElement = BasicElement<{
|
|
195
|
+
align?: string;
|
|
196
|
+
color?: string;
|
|
197
|
+
"background-color"?: string;
|
|
198
|
+
"container-background-color"?: string;
|
|
199
|
+
border?: string;
|
|
200
|
+
"border-radius"?: string;
|
|
201
|
+
href?: string;
|
|
202
|
+
rel?: string;
|
|
203
|
+
target?: string;
|
|
204
|
+
title?: string;
|
|
205
|
+
padding?: string;
|
|
206
|
+
"inner-padding"?: string;
|
|
207
|
+
"text-align"?: string;
|
|
208
|
+
"vertical-align"?: "middle" | "top" | "bottom";
|
|
209
|
+
width?: string;
|
|
210
|
+
"font-family"?: string;
|
|
211
|
+
"font-size"?: string;
|
|
212
|
+
"font-style"?: string;
|
|
213
|
+
"font-weight"?: string;
|
|
214
|
+
"line-height"?: string | number;
|
|
215
|
+
"letter-spacing"?: string;
|
|
216
|
+
height?: string;
|
|
217
|
+
"text-decoration"?: string;
|
|
218
|
+
"text-transform"?: string;
|
|
219
|
+
"padding-top"?: string;
|
|
220
|
+
"padding-bottom"?: string;
|
|
221
|
+
"padding-left"?: string;
|
|
222
|
+
"padding-right"?: string;
|
|
223
|
+
}, {}> & {
|
|
224
|
+
type: InternalElementType["BUTTON"];
|
|
225
|
+
};
|
|
226
|
+
export type ImageElement = BasicElement<{
|
|
227
|
+
alt?: string;
|
|
228
|
+
src?: string;
|
|
229
|
+
title?: string;
|
|
230
|
+
href?: string;
|
|
231
|
+
target?: string;
|
|
232
|
+
border?: string;
|
|
233
|
+
height?: string;
|
|
234
|
+
"text-decoration"?: string;
|
|
235
|
+
"text-transform"?: string;
|
|
236
|
+
align?: string;
|
|
237
|
+
"container-background-color"?: string;
|
|
238
|
+
width?: string;
|
|
239
|
+
padding?: string;
|
|
240
|
+
"padding-top"?: string;
|
|
241
|
+
"padding-bottom"?: string;
|
|
242
|
+
"padding-left"?: string;
|
|
243
|
+
"padding-right"?: string;
|
|
244
|
+
"border-radius"?: string;
|
|
245
|
+
}, {}> & {
|
|
246
|
+
type: InternalElementType["IMAGE"];
|
|
247
|
+
};
|
|
248
|
+
export type HeroElement = BasicElement<{
|
|
249
|
+
"background-color"?: string;
|
|
250
|
+
"background-height"?: string;
|
|
251
|
+
"background-position"?: string;
|
|
252
|
+
"background-url"?: string;
|
|
253
|
+
"background-width"?: string;
|
|
254
|
+
"vertical-align"?: string;
|
|
255
|
+
"border-radius"?: string;
|
|
256
|
+
width?: string;
|
|
257
|
+
height?: string;
|
|
258
|
+
mode?: "fluid-height" | "fixed-height";
|
|
259
|
+
"padding-top"?: string;
|
|
260
|
+
"padding-bottom"?: string;
|
|
261
|
+
"padding-left"?: string;
|
|
262
|
+
"padding-right"?: string;
|
|
263
|
+
}, {}> & {
|
|
264
|
+
type: InternalElementType["HERO"];
|
|
265
|
+
};
|
|
266
|
+
export type NavbarElement = BasicElement<{
|
|
267
|
+
align?: string;
|
|
268
|
+
hamburger?: string | null;
|
|
269
|
+
"ico-open"?: string | null;
|
|
270
|
+
"ico-close"?: string | null;
|
|
271
|
+
"ico-font-family"?: string | null;
|
|
272
|
+
"base-url"?: string | null;
|
|
273
|
+
"ico-align"?: string;
|
|
274
|
+
"ico-color"?: string;
|
|
275
|
+
"ico-font-size"?: string;
|
|
276
|
+
"ico-line-height"?: string;
|
|
277
|
+
"ico-padding"?: string;
|
|
278
|
+
"ico-text-decoration"?: string;
|
|
279
|
+
"ico-text-transform"?: string;
|
|
280
|
+
padding?: string;
|
|
281
|
+
"padding-top"?: string;
|
|
282
|
+
"padding-bottom"?: string;
|
|
283
|
+
"padding-left"?: string;
|
|
284
|
+
"padding-right"?: string;
|
|
285
|
+
}, {}> & {
|
|
286
|
+
type: InternalElementType["NAVBAR"];
|
|
287
|
+
};
|
|
288
|
+
export type NavbarLinkElement = BasicElement<{
|
|
289
|
+
color?: string;
|
|
290
|
+
href?: string;
|
|
291
|
+
"font-family"?: string;
|
|
292
|
+
"font-size"?: string;
|
|
293
|
+
"font-style"?: string;
|
|
294
|
+
"font-weight"?: string;
|
|
295
|
+
"line-height"?: string;
|
|
296
|
+
"text-decoration"?: string;
|
|
297
|
+
"text-transform"?: string;
|
|
298
|
+
target?: string;
|
|
299
|
+
padding?: string;
|
|
300
|
+
"padding-top"?: string;
|
|
301
|
+
"padding-bottom"?: string;
|
|
302
|
+
"padding-left"?: string;
|
|
303
|
+
"padding-right"?: string;
|
|
304
|
+
}, {}> & {
|
|
305
|
+
type: InternalElementType["NAVBAR_LINK"];
|
|
306
|
+
};
|
|
307
|
+
export type StandardNavbarLinkElement = BasicElement<{
|
|
308
|
+
color?: string;
|
|
309
|
+
href?: string;
|
|
310
|
+
"font-family"?: string;
|
|
311
|
+
"font-size"?: string;
|
|
312
|
+
"font-style"?: string;
|
|
313
|
+
"font-weight"?: string;
|
|
314
|
+
"line-height"?: string;
|
|
315
|
+
"text-decoration"?: string;
|
|
316
|
+
"text-transform"?: string;
|
|
317
|
+
target?: string;
|
|
318
|
+
padding?: string;
|
|
319
|
+
"padding-top"?: string;
|
|
320
|
+
"padding-bottom"?: string;
|
|
321
|
+
"padding-left"?: string;
|
|
322
|
+
"padding-right"?: string;
|
|
323
|
+
}, {}> & {
|
|
324
|
+
type: InternalElementType["STANDARD_NAVBAR_LINK"];
|
|
325
|
+
};
|
|
326
|
+
export type SocialElement = BasicElement<{
|
|
327
|
+
align?: string;
|
|
328
|
+
color?: string;
|
|
329
|
+
"container-background-color"?: string;
|
|
330
|
+
"border-radius"?: string;
|
|
331
|
+
"icon-height"?: string;
|
|
332
|
+
"icon-size"?: string;
|
|
333
|
+
mode?: "vertical" | "horizontal";
|
|
334
|
+
"icon-padding"?: string;
|
|
335
|
+
"text-padding"?: string;
|
|
336
|
+
"text-decoration"?: string;
|
|
337
|
+
padding?: string;
|
|
338
|
+
"padding-top"?: string;
|
|
339
|
+
"padding-bottom"?: string;
|
|
340
|
+
"padding-left"?: string;
|
|
341
|
+
"padding-right"?: string;
|
|
342
|
+
"inner-padding"?: string;
|
|
343
|
+
"font-family"?: string;
|
|
344
|
+
"font-size"?: string;
|
|
345
|
+
"font-style"?: string;
|
|
346
|
+
"font-weight"?: string;
|
|
347
|
+
"line-height"?: string;
|
|
348
|
+
}, {}> & {
|
|
349
|
+
type: InternalElementType["SOCIAL"];
|
|
350
|
+
};
|
|
351
|
+
export type StandardSocialElement = BasicElement<{
|
|
352
|
+
align?: string;
|
|
353
|
+
color?: string;
|
|
354
|
+
"container-background-color"?: string;
|
|
355
|
+
"border-radius"?: string;
|
|
356
|
+
"icon-height"?: string;
|
|
357
|
+
"icon-size"?: string;
|
|
358
|
+
mode?: "vertical" | "horizontal";
|
|
359
|
+
"icon-padding"?: string;
|
|
360
|
+
"text-padding"?: string;
|
|
361
|
+
"text-decoration"?: string;
|
|
362
|
+
"padding-top"?: string;
|
|
363
|
+
"padding-bottom"?: string;
|
|
364
|
+
"padding-left"?: string;
|
|
365
|
+
"padding-right"?: string;
|
|
366
|
+
"inner-padding"?: string;
|
|
367
|
+
"font-family"?: string;
|
|
368
|
+
"font-size"?: string;
|
|
369
|
+
"font-style"?: string;
|
|
370
|
+
"font-weight"?: string;
|
|
371
|
+
"line-height"?: string;
|
|
372
|
+
}, {}> & {
|
|
373
|
+
type: InternalElementType["STANDARD_SOCIAL"];
|
|
374
|
+
};
|
|
375
|
+
export type SocialItemElement = BasicElement<{
|
|
376
|
+
src?: string;
|
|
377
|
+
align?: string;
|
|
378
|
+
alt?: string;
|
|
379
|
+
"background-color"?: string;
|
|
380
|
+
"border-radius"?: string;
|
|
381
|
+
color?: string;
|
|
382
|
+
"font-family"?: string;
|
|
383
|
+
"font-size"?: string;
|
|
384
|
+
"font-style"?: string;
|
|
385
|
+
"font-weight"?: string;
|
|
386
|
+
href?: string;
|
|
387
|
+
"icon-height"?: string;
|
|
388
|
+
"icon-size"?: string;
|
|
389
|
+
"line-height"?: string;
|
|
390
|
+
name?: string;
|
|
391
|
+
"icon-padding"?: string;
|
|
392
|
+
"text-padding"?: string;
|
|
393
|
+
target?: string;
|
|
394
|
+
title?: string;
|
|
395
|
+
"text-decoration"?: string;
|
|
396
|
+
"vertical-align"?: string;
|
|
397
|
+
padding?: string;
|
|
398
|
+
"padding-top"?: string;
|
|
399
|
+
"padding-bottom"?: string;
|
|
400
|
+
"padding-left"?: string;
|
|
401
|
+
"padding-right"?: string;
|
|
402
|
+
}, {}> & {
|
|
403
|
+
type: InternalElementType["SOCIAL_ELEMENT"];
|
|
404
|
+
};
|
|
405
|
+
export type StandardSocialItemElement = BasicElement<{
|
|
406
|
+
src?: string;
|
|
407
|
+
align?: string;
|
|
408
|
+
alt?: string;
|
|
409
|
+
"background-color"?: string;
|
|
410
|
+
"border-radius"?: string;
|
|
411
|
+
color?: string;
|
|
412
|
+
"font-family"?: string;
|
|
413
|
+
"font-size"?: string;
|
|
414
|
+
"font-style"?: string;
|
|
415
|
+
"font-weight"?: string;
|
|
416
|
+
href?: string;
|
|
417
|
+
"icon-height"?: string;
|
|
418
|
+
"icon-size"?: string;
|
|
419
|
+
"line-height"?: string;
|
|
420
|
+
name?: string;
|
|
421
|
+
"icon-padding"?: string;
|
|
422
|
+
"text-padding"?: string;
|
|
423
|
+
target?: string;
|
|
424
|
+
title?: string;
|
|
425
|
+
"text-decoration"?: string;
|
|
426
|
+
"vertical-align"?: string;
|
|
427
|
+
padding?: string;
|
|
428
|
+
"padding-top"?: string;
|
|
429
|
+
"padding-bottom"?: string;
|
|
430
|
+
"padding-left"?: string;
|
|
431
|
+
"padding-right"?: string;
|
|
432
|
+
}, {}> & {
|
|
433
|
+
type: InternalElementType["STANDARD_SOCIAL_ELEMENT"];
|
|
434
|
+
};
|
|
435
|
+
export type SpacerElement = BasicElement<{
|
|
436
|
+
"container-background-color"?: string;
|
|
437
|
+
height?: string;
|
|
438
|
+
padding?: string;
|
|
439
|
+
}, {}> & {
|
|
440
|
+
type: InternalElementType["SPACER"];
|
|
441
|
+
};
|
|
442
|
+
export type DividerElement = BasicElement<{
|
|
443
|
+
"border-color"?: string;
|
|
444
|
+
"border-style"?: string;
|
|
445
|
+
"border-width"?: string;
|
|
446
|
+
"container-background-color"?: string;
|
|
447
|
+
width?: string;
|
|
448
|
+
align?: "left" | "center" | "right";
|
|
449
|
+
padding?: string;
|
|
450
|
+
"padding-top"?: string;
|
|
451
|
+
"padding-bottom"?: string;
|
|
452
|
+
"padding-left"?: string;
|
|
453
|
+
"padding-right"?: string;
|
|
454
|
+
}, {}> & {
|
|
455
|
+
type: InternalElementType["DIVIDER"];
|
|
456
|
+
};
|
|
457
|
+
export type StandardWrapperElement = Omit<SectionElement, "type"> & {
|
|
458
|
+
type: InternalElementType["STANDARD_WRAPPER"];
|
|
459
|
+
};
|
|
460
|
+
export type StandardSectionElement = BasicElement<Omit<SectionElement["attributes"], "padding" | "border"> & {
|
|
461
|
+
"background-image-enabled"?: boolean;
|
|
462
|
+
"padding-top"?: string;
|
|
463
|
+
"padding-bottom"?: string;
|
|
464
|
+
"padding-left"?: string;
|
|
465
|
+
"padding-right"?: string;
|
|
466
|
+
"border-enabled"?: boolean;
|
|
467
|
+
"border-width"?: string;
|
|
468
|
+
"border-style"?: string;
|
|
469
|
+
"border-color"?: string;
|
|
470
|
+
"vertical-align"?: "top" | "middle" | "bottom";
|
|
471
|
+
}, {}> & {
|
|
472
|
+
type: InternalElementType["STANDARD_SECTION"];
|
|
473
|
+
};
|
|
474
|
+
export type StandardGroupElement = Omit<GroupElement, "type"> & {
|
|
475
|
+
type: InternalElementType["STANDARD_GROUP"];
|
|
476
|
+
};
|
|
477
|
+
export type StandardColumnElement = Omit<ColumnElement, "type"> & {
|
|
478
|
+
type: InternalElementType["STANDARD_COLUMN"];
|
|
479
|
+
};
|
|
480
|
+
export type StandardButtonElement = BasicElement<Omit<ButtonElement["attributes"], "inner-padding"> & {
|
|
481
|
+
"inner-padding-top"?: string;
|
|
482
|
+
"inner-padding-bottom"?: string;
|
|
483
|
+
"inner-padding-left"?: string;
|
|
484
|
+
"inner-padding-right"?: string;
|
|
485
|
+
"border-enabled"?: boolean;
|
|
486
|
+
"border-width"?: string;
|
|
487
|
+
"border-style"?: string;
|
|
488
|
+
"border-color"?: string;
|
|
489
|
+
}, {}> & {
|
|
490
|
+
type: InternalElementType["STANDARD_BUTTON"];
|
|
491
|
+
};
|
|
492
|
+
export type StandardImageElement = BasicElement<Omit<ImageElement["attributes"], "inner-padding"> & {
|
|
493
|
+
"inner-padding-top"?: string;
|
|
494
|
+
"inner-padding-bottom"?: string;
|
|
495
|
+
"inner-padding-left"?: string;
|
|
496
|
+
"inner-padding-right"?: string;
|
|
497
|
+
"border-enabled"?: boolean;
|
|
498
|
+
"border-width"?: string;
|
|
499
|
+
"border-style"?: string;
|
|
500
|
+
"border-color"?: string;
|
|
501
|
+
}, {}> & {
|
|
502
|
+
type: InternalElementType["STANDARD_IMAGE"];
|
|
503
|
+
};
|
|
504
|
+
export type StandardSpacerElement = BasicElement<Omit<SpacerElement["attributes"], "padding"> & {
|
|
505
|
+
"padding-top"?: string;
|
|
506
|
+
"padding-bottom"?: string;
|
|
507
|
+
"padding-left"?: string;
|
|
508
|
+
"padding-right"?: string;
|
|
509
|
+
}, {}> & {
|
|
510
|
+
type: InternalElementType["STANDARD_SPACER"];
|
|
511
|
+
};
|
|
512
|
+
export type StandardHeroElement = BasicElement<{
|
|
513
|
+
"background-color"?: string;
|
|
514
|
+
"background-height"?: string;
|
|
515
|
+
"background-position"?: string;
|
|
516
|
+
"background-url"?: string;
|
|
517
|
+
"background-width"?: string;
|
|
518
|
+
"vertical-align"?: string;
|
|
519
|
+
"border-radius"?: string;
|
|
520
|
+
width?: string;
|
|
521
|
+
height?: string;
|
|
522
|
+
mode?: "fluid-height" | "fixed-height";
|
|
523
|
+
"padding-top"?: string;
|
|
524
|
+
"padding-bottom"?: string;
|
|
525
|
+
"padding-left"?: string;
|
|
526
|
+
"padding-right"?: string;
|
|
527
|
+
"background-image-enabled"?: boolean;
|
|
528
|
+
}, {}> & {
|
|
529
|
+
type: InternalElementType["STANDARD_HERO"];
|
|
530
|
+
};
|
|
531
|
+
export type StandardDividerElement = Omit<DividerElement, "type"> & {
|
|
532
|
+
type: InternalElementType["STANDARD_DIVIDER"];
|
|
533
|
+
};
|
|
534
|
+
export type StandardTextElement = Omit<TextElement, "type"> & {
|
|
535
|
+
type: InternalElementType["STANDARD_TEXT"];
|
|
536
|
+
};
|
|
537
|
+
export type StandardParagraphElement = Omit<TextElement, "type"> & {
|
|
538
|
+
type: InternalElementType["STANDARD_PARAGRAPH"];
|
|
539
|
+
};
|
|
540
|
+
export type StandardH1Element = Omit<TextElement, "type"> & {
|
|
541
|
+
type: InternalElementType["STANDARD_H1"];
|
|
542
|
+
};
|
|
543
|
+
export type StandardH2Element = Omit<TextElement, "type"> & {
|
|
544
|
+
type: InternalElementType["STANDARD_H2"];
|
|
545
|
+
};
|
|
546
|
+
export type StandardH3Element = Omit<TextElement, "type"> & {
|
|
547
|
+
type: InternalElementType["STANDARD_H3"];
|
|
548
|
+
};
|
|
549
|
+
export type StandardH4Element = Omit<TextElement, "type"> & {
|
|
550
|
+
type: InternalElementType["STANDARD_H4"];
|
|
551
|
+
};
|
|
552
|
+
export type StandardTextListElement = BasicElement<{
|
|
553
|
+
"list-style": "number" | "circle";
|
|
554
|
+
} & TextElement["attributes"], {}> & {
|
|
555
|
+
type: InternalElementType["STANDARD_TEXT_LIST"];
|
|
556
|
+
};
|
|
557
|
+
export type StandardTextListItemElement = BasicElement<{}, {}> & {
|
|
558
|
+
type: InternalElementType["STANDARD_TEXT_LIST_ITEM"];
|
|
559
|
+
};
|
|
560
|
+
export type StandardNavbarElement = BasicElement<{
|
|
561
|
+
hamburger?: string | null;
|
|
562
|
+
"ico-open"?: string | null;
|
|
563
|
+
"ico-close"?: string | null;
|
|
564
|
+
"ico-font-family"?: string | null;
|
|
565
|
+
"base-url"?: string | null;
|
|
566
|
+
"ico-align"?: string;
|
|
567
|
+
"ico-color"?: string;
|
|
568
|
+
"ico-font-size"?: string;
|
|
569
|
+
"ico-line-height"?: string;
|
|
570
|
+
"ico-padding"?: string;
|
|
571
|
+
"ico-text-decoration"?: string;
|
|
572
|
+
"ico-text-transform"?: string;
|
|
573
|
+
padding?: string;
|
|
574
|
+
align?: string;
|
|
575
|
+
"padding-top"?: string;
|
|
576
|
+
"padding-bottom"?: string;
|
|
577
|
+
"padding-left"?: string;
|
|
578
|
+
"padding-right"?: string;
|
|
579
|
+
target?: string;
|
|
580
|
+
color?: string;
|
|
581
|
+
"font-family"?: string;
|
|
582
|
+
"font-size"?: string;
|
|
583
|
+
"font-style"?: string;
|
|
584
|
+
"font-weight"?: string;
|
|
585
|
+
"line-height"?: string;
|
|
586
|
+
"letter-spacing"?: string;
|
|
587
|
+
"text-decoration"?: string;
|
|
588
|
+
"text-transform"?: string;
|
|
589
|
+
spacing?: string;
|
|
590
|
+
"item-padding-top"?: string;
|
|
591
|
+
"item-padding-bottom"?: string;
|
|
592
|
+
"item-padding-left"?: string;
|
|
593
|
+
"item-padding-right"?: string;
|
|
594
|
+
}, {}> & {
|
|
595
|
+
type: InternalElementType["STANDARD_NAVBAR"];
|
|
596
|
+
};
|
|
597
|
+
export type ForEachElement = BasicElement<{}, Omit<LogicIteration, "enabled" | "limit" | "mockQuantity"> & Partial<Pick<LogicIteration, "limit">>> & {
|
|
598
|
+
type: InternalElementType["FOR_EACH"];
|
|
599
|
+
};
|
|
600
|
+
export type ShowElement = BasicElement<{}, {
|
|
601
|
+
expression: string;
|
|
602
|
+
showTruthyInTesting?: boolean;
|
|
603
|
+
component: React.ReactNode;
|
|
604
|
+
fallback?: React.ReactNode;
|
|
605
|
+
}> & {
|
|
606
|
+
type: InternalElementType["SHOW"];
|
|
607
|
+
};
|
|
608
|
+
export type InternalElement = PageElement | WrapperElement | SectionElement | HeroElement | GroupElement | ColumnElement | TextElement | NavbarElement | NavbarLinkElement | ButtonElement | ImageElement | SocialElement | SocialItemElement | DividerElement | SpacerElement | RawElement | MergetagElement | LineBreakElement | PlaceholderElement | HtmlNodeElement | StandardHeroElement | StandardWrapperElement | StandardSectionElement | StandardColumnElement | StandardSpacerElement | StandardDividerElement | StandardTextElement | StandardButtonElement | StandardImageElement | StandardParagraphElement | StandardSocialElement | StandardH1Element | StandardH2Element | StandardH3Element | StandardH4Element | StandardGroupElement | StandardTextListElement | StandardTextListItemElement | StandardNavbarElement | StandardNavbarLinkElement | StandardSocialItemElement | ForEachElement | ShowElement;
|
|
609
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type Expand<T> = T extends object ? T extends infer O ? {
|
|
2
|
+
[K in keyof O]: Expand<O[K]>;
|
|
3
|
+
} : never : T;
|
|
4
|
+
export type RecursivePartial<T> = {
|
|
5
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
|
|
6
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ElementCategoryType, PageElement } from "./element";
|
|
3
|
+
import { Element, PickObjectValueByKey } from "./custom-types";
|
|
4
|
+
import { RecursivePartial } from "./helper";
|
|
5
|
+
export * from "./element";
|
|
6
|
+
export * from "./custom-types";
|
|
7
|
+
export * from "./element-logic";
|
|
8
|
+
export * from "./helper";
|
|
9
|
+
export * from "./mergeTagGenerate";
|
|
10
|
+
export type ElementDefinition<T extends Element = Element> = {
|
|
11
|
+
name: string;
|
|
12
|
+
type: Element["type"];
|
|
13
|
+
create: (payload?: RecursivePartial<T>) => T;
|
|
14
|
+
void?: boolean;
|
|
15
|
+
inlineElement?: boolean;
|
|
16
|
+
category: ElementCategoryType;
|
|
17
|
+
defaultData: Omit<T, "children" | "type">;
|
|
18
|
+
render: (node: {
|
|
19
|
+
node: T;
|
|
20
|
+
mode: "testing" | "production";
|
|
21
|
+
context: {
|
|
22
|
+
content: PageElement;
|
|
23
|
+
};
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
idx?: string | null;
|
|
26
|
+
keepEmptyAttributes: boolean;
|
|
27
|
+
mergetagsData?: Record<string, any>;
|
|
28
|
+
}) => React.ReactNode;
|
|
29
|
+
};
|
|
30
|
+
export type ElementMap = {
|
|
31
|
+
[K in PickObjectValueByKey<Element, "type">]: ElementDefinition<Extract<Element, {
|
|
32
|
+
type: K;
|
|
33
|
+
}>>;
|
|
34
|
+
};
|
|
35
|
+
export type ElementChildren = React.ReactElement | React.ReactElement[] | JSX.Element | JSX.Element[] | React.ReactNode;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Num2Array<T extends number, R extends any[] = []> = T extends R["length"] ? R : Num2Array<T, [...R, any]>;
|
|
2
|
+
type Primitive = string | number | bigint | boolean | undefined | symbol;
|
|
3
|
+
export type PropertyStringPath<T, Prefix = "", CountArr extends any[] = []> = CountArr extends Num2Array<20> ? never : T extends Record<string, any> ? {
|
|
4
|
+
[K in keyof T]: T[K] extends Primitive | Array<any> ? `${string & Prefix}${string & K}` : PropertyStringPath<T[K], `${string & Prefix}${string & K}.`, [
|
|
5
|
+
...CountArr,
|
|
6
|
+
any
|
|
7
|
+
]>;
|
|
8
|
+
}[keyof T] : never;
|
|
9
|
+
export type PropertyPath<T, Prefix = "", CountArr extends any[] = []> = CountArr extends Num2Array<20> ? never : T extends Record<string, any> ? {
|
|
10
|
+
[K in keyof T]: T[K] extends Primitive | Array<any> ? `${string & Prefix}${string & K}` : `${string & Prefix}${string & K}` | PropertyPath<T[K], `${string & Prefix}${string & K}.`, [
|
|
11
|
+
...CountArr,
|
|
12
|
+
any
|
|
13
|
+
]>;
|
|
14
|
+
}[keyof T] : never;
|
|
15
|
+
export declare const mergeTagGenerate: (tag: string) => string;
|
|
16
|
+
export declare const variableGenerate: <T extends Record<string, any>, P extends string = "">() => (tag: T extends Record<string, any> ? (T extends infer T_1 extends Record<string, any> ? { [K in keyof T_1]: T[K] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}` : T[K] extends infer T_2 ? T_2 extends T[K] ? T_2 extends Record<string, any> ? (T_2 extends infer T_3 extends Record<string, any> ? { [K_1 in keyof T_3]: T_2[K_1] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}` : T_2[K_1] extends infer T_4 ? T_4 extends T_2[K_1] ? T_4 extends Record<string, any> ? (T_4 extends infer T_5 extends Record<string, any> ? { [K_2 in keyof T_5]: T_4[K_2] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}` : T_4[K_2] extends infer T_6 ? T_6 extends T_4[K_2] ? T_6 extends Record<string, any> ? (T_6 extends infer T_7 extends Record<string, any> ? { [K_3 in keyof T_7]: T_6[K_3] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}` : T_6[K_3] extends infer T_8 ? T_8 extends T_6[K_3] ? T_8 extends Record<string, any> ? (T_8 extends infer T_9 extends Record<string, any> ? { [K_4 in keyof T_9]: T_8[K_4] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}` : T_8[K_4] extends infer T_10 ? T_10 extends T_8[K_4] ? T_10 extends Record<string, any> ? (T_10 extends infer T_11 extends Record<string, any> ? { [K_5 in keyof T_11]: T_10[K_5] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}` : T_10[K_5] extends infer T_12 ? T_12 extends T_10[K_5] ? T_12 extends Record<string, any> ? (T_12 extends infer T_13 extends Record<string, any> ? { [K_6 in keyof T_13]: T_12[K_6] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}` : T_12[K_6] extends infer T_14 ? T_14 extends T_12[K_6] ? T_14 extends Record<string, any> ? (T_14 extends infer T_15 extends Record<string, any> ? { [K_7 in keyof T_15]: T_14[K_7] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}` : T_14[K_7] extends infer T_16 ? T_16 extends T_14[K_7] ? T_16 extends Record<string, any> ? (T_16 extends infer T_17 extends Record<string, any> ? { [K_8 in keyof T_17]: T_16[K_8] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}` : T_16[K_8] extends infer T_18 ? T_18 extends T_16[K_8] ? T_18 extends Record<string, any> ? (T_18 extends infer T_19 extends Record<string, any> ? { [K_9 in keyof T_19]: T_18[K_9] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}` : T_18[K_9] extends infer T_20 ? T_20 extends T_18[K_9] ? T_20 extends Record<string, any> ? (T_20 extends infer T_21 extends Record<string, any> ? { [K_10 in keyof T_21]: T_20[K_10] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}.${string & K_10}` : any; } : never)[keyof T_20] : never : never : never; } : never)[keyof T_18] : never : never : never; } : never)[keyof T_16] : never : never : never; } : never)[keyof T_14] : never : never : never; } : never)[keyof T_12] : never : never : never; } : never)[keyof T_10] : never : never : never; } : never)[keyof T_8] : never : never : never; } : never)[keyof T_6] : never : never : never; } : never)[keyof T_4] : never : never : never; } : never)[keyof T_2] : never : never : never; } : never)[keyof T] : never) => string;
|
|
17
|
+
export declare const keyGenerate: <T extends Record<string, any>, P extends string = "">() => (tag: T extends Record<string, any> ? (T extends infer T_1 extends Record<string, any> ? { [K in keyof T_1]: T[K] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}` | (T[K] extends infer T_2 ? T_2 extends T[K] ? T_2 extends Record<string, any> ? (T_2 extends infer T_3 extends Record<string, any> ? { [K_1 in keyof T_3]: T_2[K_1] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}` | (T_2[K_1] extends infer T_4 ? T_4 extends T_2[K_1] ? T_4 extends Record<string, any> ? (T_4 extends infer T_5 extends Record<string, any> ? { [K_2 in keyof T_5]: T_4[K_2] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}` | (T_4[K_2] extends infer T_6 ? T_6 extends T_4[K_2] ? T_6 extends Record<string, any> ? (T_6 extends infer T_7 extends Record<string, any> ? { [K_3 in keyof T_7]: T_6[K_3] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}` | (T_6[K_3] extends infer T_8 ? T_8 extends T_6[K_3] ? T_8 extends Record<string, any> ? (T_8 extends infer T_9 extends Record<string, any> ? { [K_4 in keyof T_9]: T_8[K_4] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}` | (T_8[K_4] extends infer T_10 ? T_10 extends T_8[K_4] ? T_10 extends Record<string, any> ? (T_10 extends infer T_11 extends Record<string, any> ? { [K_5 in keyof T_11]: T_10[K_5] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}` | (T_10[K_5] extends infer T_12 ? T_12 extends T_10[K_5] ? T_12 extends Record<string, any> ? (T_12 extends infer T_13 extends Record<string, any> ? { [K_6 in keyof T_13]: T_12[K_6] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}` | (T_12[K_6] extends infer T_14 ? T_14 extends T_12[K_6] ? T_14 extends Record<string, any> ? (T_14 extends infer T_15 extends Record<string, any> ? { [K_7 in keyof T_15]: T_14[K_7] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}` | (T_14[K_7] extends infer T_16 ? T_16 extends T_14[K_7] ? T_16 extends Record<string, any> ? (T_16 extends infer T_17 extends Record<string, any> ? { [K_8 in keyof T_17]: T_16[K_8] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}` | (T_16[K_8] extends infer T_18 ? T_18 extends T_16[K_8] ? T_18 extends Record<string, any> ? (T_18 extends infer T_19 extends Record<string, any> ? { [K_9 in keyof T_19]: T_18[K_9] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}` | (T_18[K_9] extends infer T_20 ? T_20 extends T_18[K_9] ? T_20 extends Record<string, any> ? (T_20 extends infer T_21 extends Record<string, any> ? { [K_10 in keyof T_21]: T_20[K_10] extends any[] | Primitive ? `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}.${string & K_10}` : `${string & (P extends "" ? "" : `${P}.`)}${string & K}.${string & K_1}.${string & K_2}.${string & K_3}.${string & K_4}.${string & K_5}.${string & K_6}.${string & K_7}.${string & K_8}.${string & K_9}.${string & K_10}` | any; } : never)[keyof T_20] : never : never : never); } : never)[keyof T_18] : never : never : never); } : never)[keyof T_16] : never : never : never); } : never)[keyof T_14] : never : never : never); } : never)[keyof T_12] : never : never : never); } : never)[keyof T_10] : never : never : never); } : never)[keyof T_8] : never : never : never); } : never)[keyof T_6] : never : never : never); } : never)[keyof T_4] : never : never : never); } : never)[keyof T_2] : never : never : never); } : never)[keyof T] : never) => string;
|
|
18
|
+
export {};
|