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