useblocks 1.1.53 → 1.1.60

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.
Files changed (68) hide show
  1. package/iframe/js/amp.BP7EklKo.js +1 -1
  2. package/iframe/js/iframe-eblock.js +1 -1
  3. package/iframe/js/iframe.js +1 -1
  4. package/iframe/js/rules.4N5s3OV-.js +1 -1
  5. package/npm-publish.manifest.json +7 -7
  6. package/package.json +1 -7
  7. package/runtime/THIRD_PARTY_LICENSES.txt +0 -235
  8. package/runtime/index.js +0 -2
  9. package/runtime/package.json +0 -6
  10. package/runtime/plugin-dev-manifest.json +0 -4
  11. package/singlepage_headless_plugin.html +1 -1
  12. package/static/core/{5318562c.js → 161d1254.js} +268 -257
  13. package/static/core/{b9f47840.js → 17d3ee0b.js} +8 -8
  14. package/static/core/{6895dd352.js → 195ca4a32.js} +15 -15
  15. package/static/core/{dc1f9e4f.js → 2569fac8.js} +26 -26
  16. package/static/core/{4ca527032.js → 26ddf93e2.js} +2 -2
  17. package/static/core/{9929a348.js → 30c5fe5f.js} +90 -90
  18. package/static/core/{e93d55b92.js → 3af8f3592.js} +4 -4
  19. package/static/core/{ebd852b6.js → 40f73dfb.js} +1019 -1032
  20. package/static/core/{c3058168.js → 43c3f160.js} +3283 -3189
  21. package/static/core/{542ea53f2.js → 4a27bba92.js} +8 -8
  22. package/static/core/4c39852e.js +3150 -0
  23. package/static/core/{e5e07f1d.js → 4e75b331.js} +13 -13
  24. package/static/core/{e1d239ab.js → 5345bef8.js} +42 -42
  25. package/static/core/{31e98e6e.js → 53463a60.js} +707 -712
  26. package/static/core/{27544e7e.js → 581ce428.js} +37 -19
  27. package/static/core/{d8daf1142.js → 6156301b2.js} +3 -3
  28. package/static/core/{c3849484.js → 64bea1a9.js} +5 -5
  29. package/static/core/{ce4fc17f2.js → 680236f4.js} +1 -1
  30. package/static/core/{4b75d16c2.js → 687795b52.js} +4 -4
  31. package/static/core/{70407ac0.js → 72f86b2d.js} +3 -3
  32. package/static/core/{139e4380.js → 7a15fa8b.js} +3 -3
  33. package/static/core/{b77f0769.js → 8432f11e.js} +5 -5
  34. package/static/core/{d1eb3c68.js → 8815eb5b.js} +15670 -15289
  35. package/static/core/{f3cff4c9.js → 8a496b64.js} +158 -158
  36. package/static/core/{4e1b970f.js → 8ba13f332.js} +1 -1
  37. package/static/core/{75737a9d.js → 951903fb.js} +9096 -9074
  38. package/static/core/{a95c02bb.js → a1355a35.js} +5 -5
  39. package/static/core/{7c6fb2162.js → a36c3ab62.js} +3 -3
  40. package/static/core/{2da1d66b.js → abd3f34c.js} +5 -5
  41. package/static/core/{528ad9282.js → ae20f0992.js} +16 -16
  42. package/static/core/ba6c356e.js +466 -0
  43. package/static/core/{ee0ddb51.js → c9e59b34.js} +6884 -4960
  44. package/static/core/{f96d2049.js → d1a1d4902.js} +1 -1
  45. package/static/core/{5b48fd69.js → d8d6485e.js} +5 -5
  46. package/static/core/{59e92cc3.js → d9398296.js} +5 -5
  47. package/static/core/{b408f33a.js → d9baa55e.js} +25 -25
  48. package/static/core/dbf19c2e.js +811 -0
  49. package/static/core/{bc7e3d2b.js → f953827c.js} +10 -10
  50. package/static/core/{1e5bf73c.js → ffee9a77.js} +7 -7
  51. package/static/esm/2474de05.js +131 -0
  52. package/static/esm/{d180c108.js → 53b688bd.js} +66 -85
  53. package/two_step_headless_plugin.html +1 -1
  54. package/useblocks-core.f6bb8947.js +673 -0
  55. package/useblocks-esm.js +875 -552
  56. package/useblocks.d.ts +8 -0
  57. package/useblocks.js +691 -408
  58. package/runtime/prop-types/index.js +0 -4
  59. package/runtime/react-router-dom/index.js +0 -2
  60. package/static/core/1995fb0a2.js +0 -602
  61. package/static/core/1f5e1fc9.js +0 -3097
  62. package/static/core/ce0410b1.js +0 -467
  63. package/static/esm/448d4bb0.js +0 -127
  64. package/static/runtime/dom-export-CHgQ7Ws9.js +0 -8069
  65. package/static/runtime/prop-types-p_yYKrF7.js +0 -47
  66. package/useblocks-core.2a5dade1.js +0 -643
  67. /package/iframe/{iframe-eblock.2a5dade1.html → iframe-eblock.f6bb8947.html} +0 -0
  68. /package/iframe/{iframe.2a5dade1.html → iframe.f6bb8947.html} +0 -0
@@ -0,0 +1,673 @@
1
+ __useblocks__.define("core", [
2
+ "require",
3
+ "exports",
4
+ "module",
5
+ "static/core/bd36b180.js",
6
+ "static/core/c9e59b34.js",
7
+ "static/core/43c3f160.js",
8
+ "static/core/161d1254.js"
9
+ ], function(f, E, Se) {
10
+ Object.defineProperties(E, {
11
+ __esModule: { value: !0 },
12
+ [Symbol.toStringTag]: { value: "Module" }
13
+ });
14
+ f("./static/core/bd36b180.js");
15
+ const n = f("./static/core/c9e59b34.js"), l = f("./static/core/43c3f160.js"), S = f("./static/core/161d1254.js");
16
+ var A = "Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";
17
+ function w() {
18
+ const e = new Error(A);
19
+ return e.name = "DestroyedInstanceError", e;
20
+ }
21
+ function O(e) {
22
+ return async () => (await e.app.app_init_create({})).data;
23
+ }
24
+ function L(e, t, o) {
25
+ e.inject(n.APP_ID, void 0);
26
+ let i;
27
+ e.injectFactory(n.APP_ID, async (s, r) => i || (i = (async () => {
28
+ const a = r ? await r : void 0;
29
+ return t({
30
+ baseUrl: o.baseUrl,
31
+ user: o.user,
32
+ project: o.project,
33
+ prevApp: a
34
+ });
35
+ })(), i.catch(() => {}), i), !0);
36
+ }
37
+ var R = S.defineMixin((e) => {
38
+ let t, o, i, s, r, a = !1;
39
+ function d(c) {
40
+ return String(c || "").trim() || void 0;
41
+ }
42
+ return { setOptions(c) {
43
+ const p = !!e.getInstance(n.SECURITY_MODULE_ID), h = c.hasOwnProperty("baseUrl") ? d(c.baseUrl) : o, u = h ? n.getActiveBaseUrl(h) : n.getActiveBaseUrl() || void 0;
44
+ if (c.hasOwnProperty("baseUrl")) {
45
+ const he = e.getInstance(n.REST_CLIENT_FACTORY_ID);
46
+ t !== u && he?.setOptions(u ? { baseUrl: u } : {});
47
+ }
48
+ const de = i !== c.appInit, ue = !n.deepEqual(s, c.user), pe = r !== c.project, ge = t !== u;
49
+ if (i = c.appInit, s = c.user, r = c.project, t = u, o = h, p || a && !de && !ue && !pe && !ge) return;
50
+ const _e = e.getInstance(n.REST_CLIENT_ID);
51
+ L(e, i || O(_e), {
52
+ baseUrl: o,
53
+ user: c.user,
54
+ project: c.project
55
+ }), a = !0;
56
+ } };
57
+ });
58
+ function F(e = n.ERROR) {
59
+ const t = new Error(e);
60
+ return t.name = "AuthPipelineError", t;
61
+ }
62
+ function C(e) {
63
+ e.inject(n.JWT_ERROR_ID, void 0), e.inject(n.JWT_TOKEN_ID, void 0);
64
+ }
65
+ var x = S.defineMixin((e) => {
66
+ let t, o;
67
+ const i = l.createQueue();
68
+ return e.addService(n.REQUEST_HANDLER_ID, { execute: i.decorate(async (s) => {
69
+ if (!t) return;
70
+ const r = String(e.getInstance(n.JWT_TOKEN_ID) || "").trim();
71
+ if (r) {
72
+ s.headers.append("authorization", `Bearer ${r}`);
73
+ return;
74
+ }
75
+ if (!e.getInstance(n.JWT_ERROR_ID)) try {
76
+ const a = e.getInstance(n.REST_CLIENT_FACTORY_ID), d = String(a?.getOptions()?.baseUrl || "").trim(), c = n.resolveExplicitApiBaseUrl(o || d || void 0);
77
+ if (!c) throw new Error("JWT auth requires baseUrl");
78
+ const p = await l.fetchWithApiOriginFailover("/jwt-auth/token", {
79
+ method: "POST",
80
+ headers: { "Content-Type": "application/json" },
81
+ body: JSON.stringify(t)
82
+ }, c);
83
+ if (!p.ok) throw new Error(`JWT auth failed: ${p.status}`);
84
+ const h = await p.json(), u = String(h.token || "").trim();
85
+ if (!u) throw new Error("JWT auth failed: empty token");
86
+ e.inject(n.JWT_ERROR_ID, void 0), e.inject(n.JWT_TOKEN_ID, u), s.headers.append("authorization", `Bearer ${u}`);
87
+ } catch {
88
+ throw e.inject(n.JWT_ERROR_ID, n.ERROR), F();
89
+ }
90
+ }) }), { setOptions(s) {
91
+ const r = s.jwtAuth, a = String(s.baseUrl || "").trim() || void 0, d = !n.deepEqual(r, t), c = a !== o;
92
+ if (t = r, o = a, !r) {
93
+ C(e);
94
+ return;
95
+ }
96
+ d || c ? C(e) : e.inject(n.JWT_ERROR_ID, void 0);
97
+ } };
98
+ }), P = S.defineMixin((e) => {
99
+ let t, o, i;
100
+ return { async setOptions(s) {
101
+ const r = i !== s.getAuthToken, a = !n.deepEqual(t, s.user), d = o !== s.project;
102
+ if (i = s.getAuthToken, t = s.user, o = s.project, !(!e.getInstance(n.SECURITY_MODULE_ID) || !s.getAuthToken) && !(!r && !a && !d)) try {
103
+ const c = await s.getAuthToken(s.user, s.project);
104
+ e.inject(n.STANDALONE_BOOTSTRAP_TOKEN_ID, Promise.resolve(c || ""));
105
+ const p = l.extractServerProjectIdFromToken(c);
106
+ if (!p) return;
107
+ e.inject(n.STANDALONE_PROJECT_ID, p);
108
+ const h = e.getInstance(n.APP_ID), u = h ? await h.catch(() => {}) : void 0;
109
+ e.inject(n.APP_ID, Promise.resolve(l.createFallbackApp(p, u)));
110
+ } catch {}
111
+ } };
112
+ }), U = S.defineMixin((e) => {
113
+ let t;
114
+ return { setOptions(i) {
115
+ if (!l.isImmediateStandalone(i)) {
116
+ t && (l.clearStandaloneSecurityModule(e), l.isDeferredStandalone(i)), t = void 0;
117
+ return;
118
+ }
119
+ const r = l.resolveStandaloneKey(i);
120
+ if (!r || t === r && e.getInstance(n.SECURITY_MODULE_ID)) return;
121
+ t = r, e.inject(n.SECURITY_MODULE_ID, r);
122
+ const a = e.getInstance(n.DISPOSABLE_ID);
123
+ a && l.registerDefaultFileProxy(e, a);
124
+ } };
125
+ }), N = S.defineMixin((e) => {
126
+ const t = e.getInstance(n.DISPOSABLE_ID), o = new n.Emitter(), i = l.prepareEvent(o.event);
127
+ t.addDispose(() => {
128
+ const r = e.getInstance(n.INSTANCE_ID);
129
+ o.fire(r);
130
+ });
131
+ const s = t.addDisposable(new l.ListenerUpdater(i));
132
+ return t.addDisposable(o), {
133
+ setOptions({ handleDestroy: r }) {
134
+ s.setListener(r);
135
+ },
136
+ instance: {
137
+ handleDestroy: i,
138
+ destroy: () => {
139
+ if (!t.isDisposed()) try {
140
+ t.dispose();
141
+ } catch {}
142
+ }
143
+ }
144
+ };
145
+ }), M = S.defineMixin((e) => {
146
+ const t = e.getInstance(n.DISPOSABLE_ID), o = new l.InitPipelineContext();
147
+ e.inject(n.INIT_PIPELINE_ID, o);
148
+ let i;
149
+ return t.addDispose(() => {
150
+ o.abort();
151
+ }), {
152
+ setOptions(s) {
153
+ s.signal !== void 0 && (i = s.signal), o.configure({
154
+ replaceSession: !0,
155
+ ...s.timeouts !== void 0 ? { timeouts: s.timeouts } : {},
156
+ ...i !== void 0 ? { signal: i } : {}
157
+ });
158
+ },
159
+ dispose() {}
160
+ };
161
+ }), j = S.defineMixin((e) => {
162
+ const t = e.getInstance(n.DISPOSABLE_ID), o = l.prepareEvent(n.getEvent$1(e, n.APP_LOAD_EVENT_ID)), i = t.addDisposable(new l.ListenerUpdater(o));
163
+ return {
164
+ setOptions({ handleLoad: s }) {
165
+ i.setListener(s);
166
+ },
167
+ instance: { handleLoad: o },
168
+ dispose: () => t.dispose()
169
+ };
170
+ }), k = S.defineMixin((e) => {
171
+ const t = e.getInstance(n.DISPOSABLE_ID), o = t.addDisposable(new n.AsyncEmitter()), i = t.addDisposable(new n.AsyncEmitter()), s = n.getEmitter$1(e, n.CONFIG_CHANGED_EVENT_ID), r = l.prepareEvent(o.event), a = l.prepareEvent(i.event), d = l.prepareEvent(s.event), c = t.addDisposable(new l.ListenerUpdater(r)), p = t.addDisposable(new l.ListenerUpdater(a)), h = t.addDisposable(new l.ListenerUpdater(d));
172
+ return {
173
+ instance: {
174
+ handleSetOptions: r,
175
+ handleOptionsChanged: a,
176
+ handleConfigChanged: d
177
+ },
178
+ async setOptions(u) {
179
+ c.setListener(u.handleSetOptions), p.setListener(u.handleOptionsChanged), h.setListener(u.handleConfigChanged), await o.fire(u), await i.fire(u);
180
+ },
181
+ dispose() {}
182
+ };
183
+ }), B = 1e4;
184
+ function b(e, t, o, i = {}) {
185
+ const s = Object.assign({}, e);
186
+ for (const [r, a] of Object.entries(t)) if (a !== void 0) if (o.includes(r) && typeof a == "object" && a !== null) {
187
+ const d = s[r], c = i[r] ?? {};
188
+ s[r] = Object.assign({}, typeof d == "object" && d !== null ? d : c, a);
189
+ } else s[r] = a;
190
+ return s;
191
+ }
192
+ var _ = {
193
+ border: {
194
+ all: null,
195
+ top: null,
196
+ right: null,
197
+ bottom: null,
198
+ left: null
199
+ },
200
+ borderRadius: {
201
+ all: 5,
202
+ topLeft: null,
203
+ topRight: null,
204
+ bottomRight: null,
205
+ bottomLeft: null
206
+ },
207
+ borderRadiusCards: {
208
+ all: 10,
209
+ topLeft: null,
210
+ topRight: null,
211
+ bottomRight: null,
212
+ bottomLeft: null
213
+ },
214
+ padding: {
215
+ all: null,
216
+ top: null,
217
+ right: null,
218
+ bottom: null,
219
+ left: null
220
+ }
221
+ }, Y = {
222
+ fontFamily: ["Safe Fonts", "-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],
223
+ fontSize: 16,
224
+ fontSizeDim: "px",
225
+ lineHeight: 21,
226
+ lineHeightDim: "px",
227
+ color: "#5a5a5a",
228
+ contrastColor: "#FFFFFF",
229
+ textAlign: "left",
230
+ paddingBottom: 10,
231
+ paddingBottomDim: "px"
232
+ }, v = {
233
+ fontFamily: ["Safe Fonts", "-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],
234
+ fontSize: 24,
235
+ fontSizeDim: "px",
236
+ lineHeight: 32,
237
+ lineHeightDim: "px",
238
+ color: "#333333",
239
+ contrastColor: "#FFFFFF",
240
+ textAlign: "left",
241
+ paddingTop: 20,
242
+ paddingTopDim: "px",
243
+ paddingBottom: 20,
244
+ paddingBottomDim: "px",
245
+ letterSpacing: 0,
246
+ letterSpacingDim: "px",
247
+ bold: !0,
248
+ italic: !1
249
+ }, y = {
250
+ color: "#1C52DC",
251
+ contrastColor: "#FFFFFF",
252
+ underline: !0
253
+ }, m = {
254
+ fontFamily: ["Safe Fonts", "-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],
255
+ fontSize: 16,
256
+ fontSizeDim: "px",
257
+ letterSpacing: 0,
258
+ letterSpacingDim: "px",
259
+ color: "#FFFFFF",
260
+ contrastColor: "#1C52DC",
261
+ bold: !1,
262
+ italic: !1,
263
+ backgroundColor: "#1C52DC",
264
+ contrastBackgroundColor: "#FFFFFF",
265
+ marginTop: 10,
266
+ marginTopDim: "px",
267
+ marginBottom: 10,
268
+ marginBottomDim: "px",
269
+ border: _.border,
270
+ borderRadius: _.borderRadius,
271
+ textAlign: "center",
272
+ padding: _.padding
273
+ }, T = {
274
+ backgroundColor: "#FFFFFF",
275
+ contrastBackgroundColor: "#1C52DC",
276
+ padding: _.padding
277
+ }, I = {
278
+ contrastBackgroundColor: "#1C52DC",
279
+ contrastTextColor: "#FFFFFF",
280
+ baseBackgroundColor: "#F8F8F8",
281
+ baseTextColor: "#333333",
282
+ border: _.border,
283
+ borderRadius: _.borderRadiusCards
284
+ };
285
+ function J(e) {
286
+ return {
287
+ ...Y,
288
+ ...e
289
+ };
290
+ }
291
+ function H(e) {
292
+ return {
293
+ ...v,
294
+ ...e,
295
+ bold: e?.bold ?? v.bold,
296
+ italic: e?.italic ?? v.italic
297
+ };
298
+ }
299
+ function z(e) {
300
+ return {
301
+ ...y,
302
+ ...e,
303
+ underline: e?.underline ?? y.underline
304
+ };
305
+ }
306
+ function W(e) {
307
+ return {
308
+ ...m,
309
+ ...e,
310
+ bold: e?.bold ?? m.bold,
311
+ italic: e?.italic ?? m.italic,
312
+ border: {
313
+ ...m.border,
314
+ ...e?.border ?? {}
315
+ },
316
+ borderRadius: {
317
+ ...m.borderRadius,
318
+ ...e?.borderRadius ?? {}
319
+ },
320
+ padding: {
321
+ ...m.padding,
322
+ ...e?.padding ?? {}
323
+ }
324
+ };
325
+ }
326
+ function K(e) {
327
+ return {
328
+ ...T,
329
+ ...e,
330
+ padding: {
331
+ ...T.padding,
332
+ ...e?.padding ?? {}
333
+ }
334
+ };
335
+ }
336
+ function G(e) {
337
+ return {
338
+ ...I,
339
+ ...e,
340
+ border: {
341
+ ...I.border,
342
+ ...e?.border ?? {}
343
+ },
344
+ borderRadius: {
345
+ ...I.borderRadius,
346
+ ...e?.borderRadius ?? {}
347
+ }
348
+ };
349
+ }
350
+ var D = class {
351
+ _editor;
352
+ _layoutSettingsChanged = new n.Emitter();
353
+ _contentStylesChanged = new n.Emitter();
354
+ _messageSubscription;
355
+ _messageSubscriptionPromise;
356
+ _prevLayoutSnapshot;
357
+ _prevContentSnapshot;
358
+ constructor(e) {
359
+ this._editor = e;
360
+ }
361
+ onChangeEmailLayoutSettings(e) {
362
+ const t = this._layoutSettingsChanged.event(e);
363
+ return this._ensureMessageSubscription(), { dispose: () => {
364
+ t.dispose(), this._disposeMessageSubscriptionIfUnused();
365
+ } };
366
+ }
367
+ onChangeEmailContentStyles(e) {
368
+ const t = this._contentStylesChanged.event(e);
369
+ return this._ensureMessageSubscription(), { dispose: () => {
370
+ t.dispose(), this._disposeMessageSubscriptionIfUnused();
371
+ } };
372
+ }
373
+ _disposeMessageSubscriptionIfUnused() {
374
+ this._layoutSettingsChanged.hasListeners() || this._contentStylesChanged.hasListeners() || (this._messageSubscription?.dispose(), this._messageSubscription = void 0);
375
+ }
376
+ _mapLayoutSettings(e = {}) {
377
+ return {
378
+ backgroundColor: e.backgroundColor || "",
379
+ backgroundImage: (e.backgroundImage || []).map((t) => ({
380
+ type: "url",
381
+ value: t?.value || ""
382
+ })),
383
+ backgroundPositionX: e.backgroundPositionX || "",
384
+ backgroundPositionY: e.backgroundPositionY || "",
385
+ backgroundRepeat: e.backgroundRepeat || "",
386
+ backgroundSize: e.backgroundSize || "",
387
+ backgroundColorContent: e.backgroundColorContent || "",
388
+ textStrong: e.textStrong || !1,
389
+ textItalic: e.textItalic || !1,
390
+ textUnderline: e.textUnderline || !1,
391
+ width: e.width,
392
+ responsive: e.responsive
393
+ };
394
+ }
395
+ _parseCommonStyles(e) {
396
+ let t = { ...l.COMMON_STYLES };
397
+ try {
398
+ e && e !== "{}" && (t = JSON.parse(e));
399
+ } catch {}
400
+ return t;
401
+ }
402
+ _mapCommonStylesToContentStyles(e) {
403
+ return {
404
+ text: J(e.text),
405
+ headings: H(e.headings),
406
+ links: z(e.links),
407
+ buttons: W(e.buttons),
408
+ block: K(e.block),
409
+ cards: G(e.cards)
410
+ };
411
+ }
412
+ _getCurrentLayoutSettings(e) {
413
+ return this._mapLayoutSettings(n.selectEmailSettings(e.getState()));
414
+ }
415
+ _getCurrentContentStyles(e) {
416
+ return this._mapCommonStylesToContentStyles(this._parseCommonStyles(n.selectEmail(e.getState())?.common_styles));
417
+ }
418
+ _getLayoutSnapshot(e) {
419
+ return JSON.stringify(e);
420
+ }
421
+ _getContentSnapshot(e) {
422
+ return JSON.stringify(e);
423
+ }
424
+ async _ensureMessageSubscription() {
425
+ if (!this._messageSubscription) {
426
+ if (this._messageSubscriptionPromise) return this._messageSubscriptionPromise;
427
+ this._messageSubscriptionPromise = (async () => {
428
+ const e = await this._editor.container.getInstanceAsync(n.STORE_ID);
429
+ if (this._messageSubscription) return;
430
+ const t = this._editor.container.getOrCreateInstance(n.MESSAGE_SERVICE_ID, () => new n.MessageService()), o = this._getCurrentLayoutSettings(e), i = this._getCurrentContentStyles(e);
431
+ this._prevLayoutSnapshot = this._getLayoutSnapshot(o), this._prevContentSnapshot = this._getContentSnapshot(i), this._messageSubscription = t.addListener((s) => {
432
+ const r = s?.data?.operation;
433
+ if (r === n.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET) {
434
+ const c = this._mapLayoutSettings(s.data?.settings), p = this._getLayoutSnapshot(c);
435
+ p !== this._prevLayoutSnapshot && (this._prevLayoutSnapshot = p, this._layoutSettingsChanged.fire(c));
436
+ return;
437
+ }
438
+ if (r !== n.EVENT_TYPES.APPLICATION_COMMON_STYLES_UPDATE) return;
439
+ const a = this._mapCommonStylesToContentStyles(s.data?.settings?.commonStyles ?? { ...l.COMMON_STYLES }), d = this._getContentSnapshot(a);
440
+ d !== this._prevContentSnapshot && (this._prevContentSnapshot = d, this._contentStylesChanged.fire(a));
441
+ });
442
+ })();
443
+ try {
444
+ await this._messageSubscriptionPromise;
445
+ } finally {
446
+ this._messageSubscriptionPromise = void 0;
447
+ }
448
+ }
449
+ }
450
+ async getEmailLayoutSettings() {
451
+ const e = await this._editor.container.getInstanceAsync(n.STORE_ID);
452
+ return await this._waitForEmailSettingsFromIframe(e), this._getCurrentLayoutSettings(e);
453
+ }
454
+ async setEmailLayoutSettings(e) {
455
+ const t = await this._editor.container.getInstanceAsync(n.STORE_ID);
456
+ await this._waitForEmailSettingsFromIframe(t);
457
+ const o = {
458
+ ...n.selectEmailSettings(t.getState()),
459
+ ...e
460
+ };
461
+ t.dispatch(n.setEmailSettings(o));
462
+ const i = this._mapLayoutSettings(o);
463
+ this._prevLayoutSnapshot = this._getLayoutSnapshot(i), this._layoutSettingsChanged.fire(i);
464
+ }
465
+ async _waitForEmailSettingsFromIframe(e, t = B) {
466
+ const o = e.getState(), i = n.selectEmail(o), s = n.selectEmailSettings(o);
467
+ if (i?.is_inited && s && Object.keys(s).length > 0 && (s.backgroundColor || s.backgroundImage?.[0]?.value || s.width?.value || s.responsive !== void 0) || i?.is_inited) return;
468
+ const r = this._editor.container, a = n.getEvent$1(r, n.events.ON_EMAIL_INIT_ID);
469
+ return new Promise((d) => {
470
+ let c = !1, p;
471
+ const h = () => {
472
+ p && (clearTimeout(p), p = void 0);
473
+ }, u = a(() => {
474
+ c || (c = !0, h(), u.dispose(), d());
475
+ });
476
+ p = setTimeout(() => {
477
+ c || (c = !0, u.dispose(), d());
478
+ }, t);
479
+ });
480
+ }
481
+ async getEmailContentStyles() {
482
+ const e = await this._editor.container.getInstanceAsync(n.STORE_ID);
483
+ return this._getCurrentContentStyles(e);
484
+ }
485
+ async setEmailContentStyles(e) {
486
+ const t = await this._editor.container.getInstanceAsync(n.STORE_ID), o = n.selectEmail(t.getState());
487
+ if (!o) return;
488
+ let i = this._parseCommonStyles(o.common_styles);
489
+ e.text !== void 0 && (i.text = {
490
+ ...i.text || {},
491
+ ...e.text
492
+ }), e.headings !== void 0 && (i.headings = {
493
+ ...i.headings || {},
494
+ ...e.headings
495
+ }), e.links !== void 0 && (i.links = {
496
+ ...i.links || {},
497
+ ...e.links
498
+ }), e.buttons !== void 0 && (i.buttons = b(i.buttons || {}, e.buttons, [
499
+ "border",
500
+ "borderRadius",
501
+ "padding"
502
+ ], {
503
+ border: _.border,
504
+ borderRadius: _.borderRadius,
505
+ padding: _.padding
506
+ })), e.block !== void 0 && (i.block = b(i.block || {}, e.block, ["padding"], { padding: _.padding })), e.cards !== void 0 && (i.cards = b(i.cards || {}, e.cards, ["border", "borderRadius"], {
507
+ border: _.border,
508
+ borderRadius: _.borderRadiusCards
509
+ })), t.dispatch(n.setEmailFromHistory({
510
+ ...o,
511
+ common_styles: JSON.stringify(i)
512
+ }));
513
+ const s = this._mapCommonStylesToContentStyles(i);
514
+ this._prevContentSnapshot = this._getContentSnapshot(s), this._contentStylesChanged.fire(s);
515
+ }
516
+ }, V = {
517
+ ...n.corePlugins,
518
+ EmailSettingsApi: D
519
+ };
520
+ ({ ...n.corePlugins });
521
+ var q = { ...V };
522
+ function X() {
523
+ l.pluginRegistry.addAll(q);
524
+ }
525
+ var Q = [
526
+ M,
527
+ N,
528
+ j,
529
+ k,
530
+ U,
531
+ x,
532
+ P,
533
+ S.OAuthMixin,
534
+ R
535
+ ];
536
+ async function Z() {
537
+ return (await Promise.resolve().then(() => f("./static/core/8815eb5b.js"))).default;
538
+ }
539
+ var ee = (e) => {
540
+ let t = null, o = !1;
541
+ return {
542
+ instance: {},
543
+ async setOptions(i) {
544
+ if (!t && !o) {
545
+ t = (await Z())(e);
546
+ const s = await e.getInstanceAsync(n.INSTANCE_ID);
547
+ Object.assign(s, t.instance || {}), X();
548
+ }
549
+ t && await t.setOptions(i);
550
+ },
551
+ dispose() {
552
+ t?.dispose(), o = !0;
553
+ }
554
+ };
555
+ }, te = S.combineMixins([...Q, ee]), ne = class {
556
+ _storage = Object.create(null);
557
+ get(e) {
558
+ const t = this._storage[e];
559
+ return t && (!t.expires || t.expires < Date.now()) ? t.value : "";
560
+ }
561
+ set(e, t, o) {
562
+ this._storage[e] = {
563
+ value: t,
564
+ expires: o.expires ? o.expires * 1e3 + Date.now() : void 0
565
+ };
566
+ }
567
+ remove(e) {
568
+ delete this._storage[e];
569
+ }
570
+ }, ie = 100, g = {
571
+ events: [],
572
+ container: null,
573
+ collection: null
574
+ };
575
+ function se(e, t) {
576
+ g.container = e, g.collection = t, t.onLifecycle((o) => {
577
+ g.events.push({
578
+ ...o,
579
+ timestamp: Date.now()
580
+ }), g.events.length > ie && (g.events = g.events.slice(-100));
581
+ }), typeof window < "u" && (window.__EMAILMAKER_DEVTOOLS__ = re());
582
+ }
583
+ function re() {
584
+ return {
585
+ enabled: !0,
586
+ plugins() {
587
+ return g.collection ? g.collection.getStatus().map((e) => ({
588
+ ...e,
589
+ hasInit: !0,
590
+ hasDispose: !0,
591
+ hasAfterInit: !0
592
+ })) : [];
593
+ },
594
+ registry() {
595
+ if (!g.container) return [];
596
+ try {
597
+ return g.container.getInstance(l.PLUGIN_REGISTRY_ID).keys().map(String);
598
+ } catch {
599
+ return [];
600
+ }
601
+ },
602
+ events(e = 50) {
603
+ return g.events.slice(-e);
604
+ },
605
+ clearEvents() {
606
+ g.events = [];
607
+ },
608
+ getPlugin(e) {
609
+ if (g.collection) try {
610
+ return g.collection.use(e);
611
+ } catch {
612
+ return;
613
+ }
614
+ }
615
+ };
616
+ }
617
+ var oe = S.combineMixins([te]);
618
+ async function ae(e) {
619
+ l.throwIfAborted(e.signal);
620
+ const t = new n.Disposable();
621
+ async function o() {
622
+ const i = n.DependencyResolver.createChild();
623
+ i.inject(n.DISPOSABLE_ID, t), i.inject(n.COOKIE_MANAGER_ID, new ne()), n.registerRestClient(i);
624
+ const s = oe(i), r = {
625
+ ...s.instance,
626
+ container: i,
627
+ async reset(a) {
628
+ if (l.throwIfAborted(a.signal), t.isDisposed()) throw w();
629
+ return await s.setOptions(a), r;
630
+ }
631
+ };
632
+ i.inject(n.INSTANCE_ID, r);
633
+ try {
634
+ if (await s.setOptions(e), l.throwIfAborted(e.signal), e.devTools) try {
635
+ const a = i.getInstance(n.PLUGIN_COLLECTION_ID);
636
+ a && se(i, a);
637
+ } catch {}
638
+ return l.throwIfAborted(e.signal), n.getEmitter$1(i, n.APP_LOAD_EVENT_ID).fire(r), r;
639
+ } catch (a) {
640
+ throw t.dispose(), a;
641
+ }
642
+ }
643
+ try {
644
+ return await l.raceWithAbortSignal(o(), e.signal);
645
+ } catch (i) {
646
+ throw t.isDisposed() || t.dispose(), i;
647
+ }
648
+ }
649
+ async function le(e) {
650
+ const t = new Map();
651
+ typeof e == "object" && (e = e.code);
652
+ const o = await l.changeHtml(e, async (s) => {
653
+ await l.replaceImagesInDocument(s.document, (r) => l.mapper.getEscapedText(r) !== r ? r : l.toAbsoluteUrl(r), t);
654
+ for (const r of s.document.querySelectorAll(".em-amp-show-disabled")) r.remove();
655
+ s.handleRender(async ({ contentDocument: r, managedNodeController: a }) => {
656
+ await l.html2amp(r, {
657
+ mappedTags: { script: "___script" },
658
+ commit: () => a.commit()
659
+ });
660
+ });
661
+ }, [800]), i = await l.changeHtml(e, async (s) => {
662
+ await l.replaceImagesInDocument(s.document, (r) => l.mapper.getEscapedText(r) !== r ? r : l.toAbsoluteUrl(r), t);
663
+ for (const r of s.document.querySelectorAll(".em-amp-show-only")) r.remove();
664
+ await l.amp2html(s.document, { mappedTags: { script: "___script" } });
665
+ }, [800]);
666
+ return {
667
+ code: e,
668
+ html: i,
669
+ ampHtml: o
670
+ };
671
+ }
672
+ E.init = ae, E.parseAMP = le, E.version = "1.1.60";
673
+ });