@emabuild/types 0.0.1
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/dist/config.d.ts +146 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/design.d.ts +139 -0
- package/dist/design.d.ts.map +1 -0
- package/dist/design.js +8 -0
- package/dist/design.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/tool.d.ts +49 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +2 -0
- package/dist/tool.js.map +1 -0
- package/package.json +29 -0
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { UnlayerDesign, FontFamily, DisplayCondition } from './design.js';
|
|
2
|
+
import type { DisplayMode } from './tool.js';
|
|
3
|
+
export interface MailEditorConfig {
|
|
4
|
+
displayMode?: DisplayMode;
|
|
5
|
+
projectId?: number;
|
|
6
|
+
locale?: string;
|
|
7
|
+
appearance?: AppearanceConfig;
|
|
8
|
+
tools?: Record<string, ToolConfig>;
|
|
9
|
+
blocks?: SavedBlock[];
|
|
10
|
+
fonts?: FontConfig;
|
|
11
|
+
mergeTags?: MergeTagGroup[] | MergeTagDefinition[];
|
|
12
|
+
designTags?: Record<string, string>;
|
|
13
|
+
designTagsConfig?: Record<string, DesignTagConfig>;
|
|
14
|
+
customCSS?: string | string[];
|
|
15
|
+
customJS?: string | string[];
|
|
16
|
+
tabs?: TabConfig;
|
|
17
|
+
editor?: EditorBehaviorConfig;
|
|
18
|
+
features?: FeaturesConfig;
|
|
19
|
+
design?: UnlayerDesign;
|
|
20
|
+
}
|
|
21
|
+
export interface AppearanceConfig {
|
|
22
|
+
theme?: string;
|
|
23
|
+
panels?: {
|
|
24
|
+
tools?: {
|
|
25
|
+
dock?: 'left' | 'right';
|
|
26
|
+
collapsible?: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface ToolConfig {
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
usageLimit?: number;
|
|
33
|
+
position?: number;
|
|
34
|
+
properties?: Record<string, ToolPropertyOverride>;
|
|
35
|
+
}
|
|
36
|
+
export interface ToolPropertyOverride {
|
|
37
|
+
value?: unknown;
|
|
38
|
+
editor?: {
|
|
39
|
+
data?: Record<string, unknown>;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface SavedBlock {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
category?: string;
|
|
46
|
+
tags?: string[];
|
|
47
|
+
data: unknown;
|
|
48
|
+
displayMode?: DisplayMode;
|
|
49
|
+
}
|
|
50
|
+
export interface FontConfig {
|
|
51
|
+
showDefaultFonts?: boolean;
|
|
52
|
+
customFonts?: FontFamily[];
|
|
53
|
+
}
|
|
54
|
+
export interface MergeTagGroup {
|
|
55
|
+
name: string;
|
|
56
|
+
mergeTags: Record<string, MergeTagDefinition>;
|
|
57
|
+
}
|
|
58
|
+
export interface MergeTagDefinition {
|
|
59
|
+
name: string;
|
|
60
|
+
value: string;
|
|
61
|
+
sample?: string;
|
|
62
|
+
mergeTags?: Record<string, MergeTagDefinition>;
|
|
63
|
+
}
|
|
64
|
+
export interface DesignTagConfig {
|
|
65
|
+
delimiter: [string, string];
|
|
66
|
+
}
|
|
67
|
+
export interface TabConfig {
|
|
68
|
+
content?: TabItemConfig;
|
|
69
|
+
blocks?: TabItemConfig;
|
|
70
|
+
body?: TabItemConfig;
|
|
71
|
+
images?: TabItemConfig;
|
|
72
|
+
uploads?: TabItemConfig;
|
|
73
|
+
[key: string]: TabItemConfig | undefined;
|
|
74
|
+
}
|
|
75
|
+
export interface TabItemConfig {
|
|
76
|
+
enabled?: boolean;
|
|
77
|
+
position?: number;
|
|
78
|
+
icon?: string;
|
|
79
|
+
}
|
|
80
|
+
export interface EditorBehaviorConfig {
|
|
81
|
+
minRows?: number;
|
|
82
|
+
maxRows?: number;
|
|
83
|
+
autoSelectOnDrop?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface FeaturesConfig {
|
|
86
|
+
textEditor?: {
|
|
87
|
+
spellChecker?: boolean;
|
|
88
|
+
tables?: boolean;
|
|
89
|
+
cleanPaste?: boolean;
|
|
90
|
+
emojis?: boolean;
|
|
91
|
+
};
|
|
92
|
+
undoRedo?: boolean;
|
|
93
|
+
stockImages?: {
|
|
94
|
+
enabled: boolean;
|
|
95
|
+
safeSearch?: boolean;
|
|
96
|
+
};
|
|
97
|
+
userUploads?: boolean;
|
|
98
|
+
imageEditor?: boolean;
|
|
99
|
+
}
|
|
100
|
+
export interface CustomTabDefinition {
|
|
101
|
+
name: string;
|
|
102
|
+
label: string;
|
|
103
|
+
icon: string;
|
|
104
|
+
render: () => unknown;
|
|
105
|
+
}
|
|
106
|
+
export interface ExportOptions {
|
|
107
|
+
minify?: boolean;
|
|
108
|
+
inlineStyles?: boolean;
|
|
109
|
+
cleanup?: boolean;
|
|
110
|
+
mergeTags?: Record<string, string>;
|
|
111
|
+
}
|
|
112
|
+
export interface ExportResult {
|
|
113
|
+
design: UnlayerDesign;
|
|
114
|
+
html: string;
|
|
115
|
+
chunks: ExportChunks;
|
|
116
|
+
}
|
|
117
|
+
export interface ExportChunks {
|
|
118
|
+
body: string;
|
|
119
|
+
css: string;
|
|
120
|
+
fonts: string[];
|
|
121
|
+
js: string;
|
|
122
|
+
}
|
|
123
|
+
export interface DesignUpdatedEvent {
|
|
124
|
+
type: 'content_updated' | 'row_added' | 'row_removed' | 'row_reordered' | 'content_added' | 'content_removed' | 'content_reordered' | 'body_updated';
|
|
125
|
+
item?: unknown;
|
|
126
|
+
changes?: unknown;
|
|
127
|
+
}
|
|
128
|
+
export interface ImageUploadedEvent {
|
|
129
|
+
url: string;
|
|
130
|
+
width?: number;
|
|
131
|
+
height?: number;
|
|
132
|
+
}
|
|
133
|
+
export interface DesignLoadedEvent {
|
|
134
|
+
design: UnlayerDesign;
|
|
135
|
+
}
|
|
136
|
+
export type CallbackType = 'image' | 'displayCondition' | 'selectImage';
|
|
137
|
+
export interface ImageUploadDone {
|
|
138
|
+
progress: number;
|
|
139
|
+
url?: string;
|
|
140
|
+
}
|
|
141
|
+
export type ImageUploadCallback = (file: File, done: (result: ImageUploadDone) => void) => void;
|
|
142
|
+
export type DisplayConditionCallback = (data: {
|
|
143
|
+
label: string;
|
|
144
|
+
description: string;
|
|
145
|
+
}, done: (condition: DisplayCondition) => void) => void;
|
|
146
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":""}
|
package/dist/design.d.ts
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/** Top-level design document */
|
|
2
|
+
export interface UnlayerDesign {
|
|
3
|
+
counters: Record<string, number>;
|
|
4
|
+
body: DesignBody;
|
|
5
|
+
schemaVersion: number;
|
|
6
|
+
}
|
|
7
|
+
/** Design body containing rows, headers, footers and global values */
|
|
8
|
+
export interface DesignBody {
|
|
9
|
+
id: string;
|
|
10
|
+
rows: DesignRow[];
|
|
11
|
+
headers: DesignRow[];
|
|
12
|
+
footers: DesignRow[];
|
|
13
|
+
values: BodyValues;
|
|
14
|
+
}
|
|
15
|
+
/** A row in the design — contains columns */
|
|
16
|
+
export interface DesignRow {
|
|
17
|
+
id: string;
|
|
18
|
+
cells: number[];
|
|
19
|
+
columns: DesignColumn[];
|
|
20
|
+
values: RowValues;
|
|
21
|
+
}
|
|
22
|
+
/** A column within a row — contains content blocks */
|
|
23
|
+
export interface DesignColumn {
|
|
24
|
+
id: string;
|
|
25
|
+
contents: DesignContent[];
|
|
26
|
+
values: ColumnValues;
|
|
27
|
+
}
|
|
28
|
+
/** A content block (tool instance) within a column */
|
|
29
|
+
export interface DesignContent {
|
|
30
|
+
id: string;
|
|
31
|
+
type: string;
|
|
32
|
+
values: ContentValues;
|
|
33
|
+
}
|
|
34
|
+
export interface MetaInfo {
|
|
35
|
+
htmlID: string;
|
|
36
|
+
htmlClassNames: string;
|
|
37
|
+
}
|
|
38
|
+
export interface BackgroundImage {
|
|
39
|
+
url: string;
|
|
40
|
+
fullWidth: boolean;
|
|
41
|
+
repeat: boolean | string;
|
|
42
|
+
center: boolean;
|
|
43
|
+
cover: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface LinkStyle {
|
|
46
|
+
body: boolean;
|
|
47
|
+
linkColor: string;
|
|
48
|
+
linkHoverColor: string;
|
|
49
|
+
linkUnderline: boolean;
|
|
50
|
+
linkHoverUnderline: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface PopupCloseButtonAction {
|
|
53
|
+
name: string;
|
|
54
|
+
attrs: Record<string, string>;
|
|
55
|
+
}
|
|
56
|
+
export interface FontFamily {
|
|
57
|
+
label: string;
|
|
58
|
+
value: string;
|
|
59
|
+
url?: string;
|
|
60
|
+
weights?: number[];
|
|
61
|
+
}
|
|
62
|
+
export interface Border {
|
|
63
|
+
borderTopWidth?: string;
|
|
64
|
+
borderTopStyle?: string;
|
|
65
|
+
borderTopColor?: string;
|
|
66
|
+
borderRightWidth?: string;
|
|
67
|
+
borderRightStyle?: string;
|
|
68
|
+
borderRightColor?: string;
|
|
69
|
+
borderBottomWidth?: string;
|
|
70
|
+
borderBottomStyle?: string;
|
|
71
|
+
borderBottomColor?: string;
|
|
72
|
+
borderLeftWidth?: string;
|
|
73
|
+
borderLeftStyle?: string;
|
|
74
|
+
borderLeftColor?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface BodyValues {
|
|
77
|
+
backgroundColor: string;
|
|
78
|
+
contentAlign: string;
|
|
79
|
+
contentVerticalAlign: string;
|
|
80
|
+
contentWidth: string;
|
|
81
|
+
fontFamily: FontFamily;
|
|
82
|
+
textColor: string;
|
|
83
|
+
linkStyle: LinkStyle;
|
|
84
|
+
preheaderText: string;
|
|
85
|
+
popupPosition: string;
|
|
86
|
+
popupWidth: string;
|
|
87
|
+
popupHeight: string;
|
|
88
|
+
borderRadius: string;
|
|
89
|
+
popupBackgroundColor: string;
|
|
90
|
+
popupBackgroundImage: BackgroundImage;
|
|
91
|
+
popupOverlay_backgroundColor: string;
|
|
92
|
+
popupCloseButton_position: string;
|
|
93
|
+
popupCloseButton_backgroundColor: string;
|
|
94
|
+
popupCloseButton_iconColor: string;
|
|
95
|
+
popupCloseButton_borderRadius: string;
|
|
96
|
+
popupCloseButton_margin: string;
|
|
97
|
+
popupCloseButton_action: PopupCloseButtonAction;
|
|
98
|
+
_meta: MetaInfo;
|
|
99
|
+
[key: string]: unknown;
|
|
100
|
+
}
|
|
101
|
+
export interface RowValues {
|
|
102
|
+
displayCondition: DisplayCondition | null;
|
|
103
|
+
columns: boolean;
|
|
104
|
+
backgroundColor: string;
|
|
105
|
+
columnsBackgroundColor: string;
|
|
106
|
+
backgroundImage: BackgroundImage;
|
|
107
|
+
padding: string;
|
|
108
|
+
anchor: string;
|
|
109
|
+
hideDesktop: boolean;
|
|
110
|
+
hideMobile: boolean;
|
|
111
|
+
_meta: MetaInfo;
|
|
112
|
+
[key: string]: unknown;
|
|
113
|
+
}
|
|
114
|
+
export interface ColumnValues {
|
|
115
|
+
backgroundColor: string;
|
|
116
|
+
padding: string;
|
|
117
|
+
border: Border;
|
|
118
|
+
borderRadius: string;
|
|
119
|
+
_meta: MetaInfo;
|
|
120
|
+
[key: string]: unknown;
|
|
121
|
+
}
|
|
122
|
+
export interface ContentValues {
|
|
123
|
+
_meta: MetaInfo;
|
|
124
|
+
containerPadding: string;
|
|
125
|
+
anchor: string;
|
|
126
|
+
hideDesktop: boolean;
|
|
127
|
+
hideMobile: boolean;
|
|
128
|
+
displayCondition: DisplayCondition | null;
|
|
129
|
+
[key: string]: unknown;
|
|
130
|
+
}
|
|
131
|
+
export interface DisplayCondition {
|
|
132
|
+
type: string;
|
|
133
|
+
label: string;
|
|
134
|
+
description: string;
|
|
135
|
+
before?: string;
|
|
136
|
+
after?: string;
|
|
137
|
+
[key: string]: unknown;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=design.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
package/dist/design.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Unlayer-compatible design JSON types
|
|
3
|
+
// These interfaces match the Unlayer JSON schema exactly
|
|
4
|
+
// so that designs exported from Unlayer can be loaded here
|
|
5
|
+
// and vice-versa.
|
|
6
|
+
// ============================================================
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=design.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uCAAuC;AACvC,yDAAyD;AACzD,2DAA2D;AAC3D,kBAAkB;AAClB,+DAA+D"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { UnlayerDesign, DesignBody, DesignRow, DesignColumn, DesignContent, MetaInfo, BackgroundImage, LinkStyle, PopupCloseButtonAction, FontFamily, Border, BodyValues, RowValues, ColumnValues, ContentValues, DisplayCondition, } from './design.js';
|
|
2
|
+
export type { DisplayMode, ToolDefinition, ToolRenderer, EditorRenderContext, ExportRenderContext, ToolPropertyGroup, ToolProperty, PropertyEditorDefinition, } from './tool.js';
|
|
3
|
+
export type { MailEditorConfig, AppearanceConfig, ToolConfig, ToolPropertyOverride, SavedBlock, FontConfig, MergeTagGroup, MergeTagDefinition, DesignTagConfig, TabConfig, TabItemConfig, EditorBehaviorConfig, FeaturesConfig, CustomTabDefinition, ExportOptions, ExportResult, ExportChunks, DesignUpdatedEvent, ImageUploadedEvent, DesignLoadedEvent, CallbackType, ImageUploadDone, ImageUploadCallback, DisplayConditionCallback, } from './config.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,eAAe,EACf,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/tool.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ContentValues } from './design.js';
|
|
2
|
+
export type DisplayMode = 'email' | 'web' | 'popup';
|
|
3
|
+
/** Definition for a built-in or custom tool */
|
|
4
|
+
export interface ToolDefinition<TEditorResult = unknown> {
|
|
5
|
+
name: string;
|
|
6
|
+
label: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
supportedDisplayModes: DisplayMode[];
|
|
9
|
+
category?: string;
|
|
10
|
+
usageLimit?: number;
|
|
11
|
+
position?: number;
|
|
12
|
+
options: Record<string, ToolPropertyGroup>;
|
|
13
|
+
defaultValues: Record<string, unknown>;
|
|
14
|
+
renderer: ToolRenderer<TEditorResult>;
|
|
15
|
+
}
|
|
16
|
+
export interface ToolRenderer<TEditorResult = unknown> {
|
|
17
|
+
/** Render the tool in the editor canvas (interactive) */
|
|
18
|
+
renderEditor(values: ContentValues, context: EditorRenderContext): TEditorResult;
|
|
19
|
+
/** Render the tool as email-safe HTML string */
|
|
20
|
+
renderHtml(values: ContentValues, context: ExportRenderContext): string;
|
|
21
|
+
}
|
|
22
|
+
export interface EditorRenderContext {
|
|
23
|
+
isSelected: boolean;
|
|
24
|
+
isHovered: boolean;
|
|
25
|
+
columnWidth: number;
|
|
26
|
+
displayMode: DisplayMode;
|
|
27
|
+
}
|
|
28
|
+
export interface ExportRenderContext {
|
|
29
|
+
columnWidth: number;
|
|
30
|
+
displayMode: DisplayMode;
|
|
31
|
+
contentWidth: number;
|
|
32
|
+
bodyValues: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
/** A group of properties shown in the property panel */
|
|
35
|
+
export interface ToolPropertyGroup {
|
|
36
|
+
title: string;
|
|
37
|
+
options: Record<string, ToolProperty>;
|
|
38
|
+
}
|
|
39
|
+
/** A single property within a group */
|
|
40
|
+
export interface ToolProperty {
|
|
41
|
+
label: string;
|
|
42
|
+
defaultValue: unknown;
|
|
43
|
+
widget: string;
|
|
44
|
+
widgetParams?: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
export interface PropertyEditorDefinition<TResult = unknown> {
|
|
47
|
+
render(value: unknown, onChange: (value: unknown) => void, params?: Record<string, unknown>): TResult;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpD,+CAA+C;AAC/C,MAAM,WAAW,cAAc,CAAC,aAAa,GAAG,OAAO;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,EAAE,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY,CAAC,aAAa,GAAG,OAAO;IACnD,yDAAyD;IACzD,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC;IACjF,gDAAgD;IAChD,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAAC;CACzE;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACvC;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAMD,MAAM,WAAW,wBAAwB,CAAC,OAAO,GAAG,OAAO;IACzD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CACvG"}
|
package/dist/tool.js
ADDED
package/dist/tool.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@emabuild/types",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Unlayer-compatible TypeScript type definitions for maileditor",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"development": "./src/index.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsc",
|
|
27
|
+
"clean": "rm -rf dist"
|
|
28
|
+
}
|
|
29
|
+
}
|