@unlayer/types 1.386.3 → 1.386.5

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.
@@ -12,7 +12,7 @@ import type { LinkTypes, LinkTypesSharedConfig, SpecialLink, SpecialLinks } from
12
12
  import type { MergeTags, MergeTagsConfig, MergeTagsValues } from './merge-tags';
13
13
  import type { StyleGuideConfig } from './style-guide';
14
14
  import type { AppearanceConfig, Theme } from './theme';
15
- import type { Collection, Device, DisplayMode, Location, Variant } from './types';
15
+ import type { CallbackTypeMap, Collection, Device, DisplayMode, Location, Variant } from './types';
16
16
  import type { DeepPartial, LanguagesValue } from './utils';
17
17
  import type { BodyValues } from '../containers/body';
18
18
  import type { ColumnValues } from '../containers/column';
@@ -216,12 +216,16 @@ declare class EditorClass<TClassDisplayMode extends DisplayMode | undefined = un
216
216
  renderEditor(config: Config): void;
217
217
  initEditor(config: Config): void;
218
218
  registerColumns(cells: number[]): void;
219
+ registerCallback<T extends keyof CallbackTypeMap<TClassDisplayMode>>(type: T, callback: CallbackTypeMap<TClassDisplayMode>[T]): void;
219
220
  registerCallback(type: string, callback: (...args: any[]) => void): void;
221
+ unregisterCallback<T extends keyof CallbackTypeMap<TClassDisplayMode>>(type: T): void;
220
222
  unregisterCallback(type: string): void;
221
223
  registerProvider(type: string, callback: (...args: any[]) => any): void;
222
224
  unregisterProvider(type: string): void;
223
225
  reloadProvider(type: string): void;
226
+ addEventListener<T extends keyof CallbackTypeMap<TClassDisplayMode>>(type: T, callback: CallbackTypeMap<TClassDisplayMode>[T]): void;
224
227
  addEventListener(type: string, callback: (...args: any[]) => void): void;
228
+ removeEventListener<T extends keyof CallbackTypeMap<TClassDisplayMode>>(type: T): void;
225
229
  removeEventListener(type: string): void;
226
230
  setDesignId(id: string | null): void;
227
231
  setDesignMode(designMode: DesignMode | null): void;
@@ -1,5 +1,8 @@
1
1
  // Auto-generated by build-values-types.js. Do not edit manually.
2
2
 
3
+ import type { JSONTemplate } from './design';
4
+ import type { MergeTags } from './merge-tags';
5
+
3
6
  export type Device = 'desktop' | 'mobile' | 'tablet';
4
7
 
5
8
  export type Resolution = {
@@ -20,4 +23,174 @@ export interface Location {
20
23
  id: number | string;
21
24
  }
22
25
 
26
+ export interface CallbackContext {
27
+ item: {
28
+ type: string;
29
+ id: string | number;
30
+ };
31
+ column?: {
32
+ id: string | number;
33
+ };
34
+ row?: {
35
+ id: string | number;
36
+ };
37
+ }
38
+
39
+ export interface CallbackTypeMap<TDisplayMode extends DisplayMode | undefined = undefined> {
40
+ 'editor:ready': () => void;
41
+ 'textEditor:ready': () => void;
42
+ 'design:loaded': (data: {
43
+ design: JSONTemplate<TDisplayMode>;
44
+ }) => void;
45
+ /** @deprecated Use design:loaded instead */
46
+ onDesignLoad: (data: {
47
+ design: JSONTemplate<TDisplayMode>;
48
+ }) => void;
49
+ 'design:updated': (data: {
50
+ type: string;
51
+ item?: Record<string, any>;
52
+ changes?: Record<string, any>;
53
+ }) => void;
54
+ 'image:uploaded': (data: {
55
+ image: {
56
+ url: string;
57
+ width?: number;
58
+ height?: number;
59
+ };
60
+ }) => void;
61
+ /** @deprecated Use image:uploaded instead */
62
+ onImageUpload: (data: {
63
+ image: {
64
+ url: string;
65
+ width?: number;
66
+ height?: number;
67
+ };
68
+ }) => void;
69
+ 'item:selected': (data: {
70
+ item: Record<string, any>;
71
+ active: boolean;
72
+ }) => void;
73
+ 'page:added': (data: {
74
+ page: Record<string, any>;
75
+ }) => void;
76
+ 'page:removed': (data: {
77
+ page: Record<string, any>;
78
+ }) => void;
79
+ 'body:added': (data: {
80
+ body: Record<string, any>;
81
+ }) => void;
82
+ 'body:removed': (data: {
83
+ body: Record<string, any>;
84
+ }) => void;
85
+ 'row:added': (data: {
86
+ row: Record<string, any>;
87
+ }) => void;
88
+ 'row:removed': (data: {
89
+ row: Record<string, any>;
90
+ }) => void;
91
+ 'row:moved': (data: {
92
+ row: Record<string, any>;
93
+ }) => void;
94
+ 'header:added': (data: {
95
+ header: Record<string, any>;
96
+ }) => void;
97
+ 'header:removed': (data: {
98
+ header: Record<string, any>;
99
+ }) => void;
100
+ 'footer:added': (data: {
101
+ footer: Record<string, any>;
102
+ }) => void;
103
+ 'footer:removed': (data: {
104
+ footer: Record<string, any>;
105
+ }) => void;
106
+ 'column:added': (data: {
107
+ column: Record<string, any>;
108
+ }) => void;
109
+ 'column:removed': (data: {
110
+ column: Record<string, any>;
111
+ }) => void;
112
+ 'content:added': (data: {
113
+ content: Record<string, any>;
114
+ }) => void;
115
+ 'content:removed': (data: {
116
+ content: Record<string, any>;
117
+ }) => void;
118
+ 'content:moved': (data: {
119
+ content: Record<string, any>;
120
+ }) => void;
121
+ image: (data: {
122
+ accepted: File[];
123
+ attachments: File[];
124
+ }, done: (result: {
125
+ progress?: number;
126
+ url?: string;
127
+ width?: number;
128
+ height?: number;
129
+ id?: number | string;
130
+ filename?: string;
131
+ }) => void) => void;
132
+ selectImage: (data: Record<string, any>, done: (result: {
133
+ url: string;
134
+ width?: number;
135
+ height?: number;
136
+ size?: number;
137
+ id?: string | number;
138
+ }) => void) => void;
139
+ displayCondition: (data: Record<string, any> & {
140
+ context: CallbackContext;
141
+ }, done: (result: {
142
+ type: string;
143
+ label: string;
144
+ description: string;
145
+ before: string;
146
+ after: string;
147
+ } | null) => void) => void;
148
+ mergeTag: (data: {
149
+ mergeTags: MergeTags;
150
+ mergeTagGroup?: string;
151
+ mergeTagRule?: string;
152
+ context: CallbackContext;
153
+ }, done: (result: {
154
+ name?: string;
155
+ value: string;
156
+ }) => void) => void;
157
+ mergeTagRule: (data: {
158
+ mergeTags: MergeTags;
159
+ mergeTagGroup?: string;
160
+ mergeTagRule?: string;
161
+ context: CallbackContext;
162
+ }, done: (result: {
163
+ mergeTagGroup: string;
164
+ mergeTagRule: string;
165
+ }) => void) => void;
166
+ previewHtml: (data: {
167
+ html: string;
168
+ }, done: (result: {
169
+ html: string;
170
+ }) => void) => void;
171
+ fetchImage: (data: {
172
+ url: string;
173
+ }, done: (result: {
174
+ blob: Blob;
175
+ url?: string;
176
+ }) => void) => void;
177
+ 'image:removed': (params: {
178
+ id: string | number;
179
+ projectId?: number | null;
180
+ userId?: string | number;
181
+ }, done: () => void) => void;
182
+ itemAdded: (data: {
183
+ item: Record<string, any>;
184
+ }, done: (result: any) => void) => void;
185
+ itemRemoved: (data: {
186
+ item: Record<string, any>;
187
+ }, done: (result: boolean) => void) => void;
188
+ itemMoved: (data: {
189
+ item: Record<string, any>;
190
+ }, done: (result: any) => void) => void;
191
+ 'block:added': (data: Record<string, any>, done: (result: any) => void) => void;
192
+ 'block:modified': (data: Record<string, any>, done: (result: any) => void) => void;
193
+ 'block:removed': (data: Record<string, any>, done: (result: any) => void) => void;
194
+ }
195
+
23
196
  export type ExporterName = "email" | "web" | "popup" | "document" | "classic" | "ampWeb" | "ampEmail";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unlayer/types",
3
- "version": "1.386.3",
3
+ "version": "1.386.5",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "types": "./dist/index.d.ts",