@aswin.dev/editor 0.8.1 → 0.8.3

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 (84) hide show
  1. package/dist/{AiChatSidebar-DM2ri7KX.js → AiChatSidebar-DAJOuHPG.js} +1 -1
  2. package/dist/{AiFeatureMenu-BrZBJ0R5.js → AiFeatureMenu-CKnEDzme.js} +1 -1
  3. package/dist/{CloudEditor-BRpzzfQn.js → CloudEditor-BUlmUuhO.js} +6 -6
  4. package/dist/{CollaboratorBar-DsRXj3Kn.js → CollaboratorBar-C6TfqpyV.js} +1 -1
  5. package/dist/{DesignReferenceSidebar-B1iw3Bb7.js → DesignReferenceSidebar-C6yDJlD8.js} +1 -1
  6. package/dist/{ModuleBrowserModal-DVnd1dqR.js → ModuleBrowserModal-DUKuDjS-.js} +4 -4
  7. package/dist/{ModulePreviewCanvas-D9jBAoBQ.js → ModulePreviewCanvas-C9HTjfkN.js} +1 -1
  8. package/dist/{ParagraphEditor-CO3V0H_V.js → ParagraphEditor-CFuaZKGk.js} +2 -2
  9. package/dist/{SaveModuleDialog-CboNFwIA.js → SaveModuleDialog-QjgPFEDg.js} +2 -2
  10. package/dist/{SnapshotHistory-C26pvPre.js → SnapshotHistory-Dblt21_W.js} +1 -1
  11. package/dist/{TestEmailModal-B4OoUWb_.js → TestEmailModal-D_y3ZksG.js} +2 -2
  12. package/dist/{TitleEditor-DU_QWG_m.js → TitleEditor-CHmL3FFR.js} +2 -2
  13. package/dist/{TplModal-Dr6Do8oU.js → TplModal-DinL7DhQ.js} +1 -1
  14. package/dist/{blockTypeIcons-cRDr36gk.js → blockTypeIcons-JjmIZ_Vx.js} +1 -1
  15. package/dist/bundle-stats.json +6 -6
  16. package/dist/cdn/chunks/{AccessibilityPanel-Csd47zqI.js → AccessibilityPanel-BTADkTp2.js} +3 -3
  17. package/dist/cdn/chunks/{AccessibilityPanel-Csd47zqI.js.map → AccessibilityPanel-BTADkTp2.js.map} +1 -1
  18. package/dist/cdn/chunks/{AiFeatureMenu-BlnZF5pf.js → AiFeatureMenu-D99Pw32q.js} +2 -2
  19. package/dist/cdn/chunks/{AiFeatureMenu-BlnZF5pf.js.map → AiFeatureMenu-D99Pw32q.js.map} +1 -1
  20. package/dist/cdn/chunks/{BlockA11yBadge-VY8NqI9n.js → BlockA11yBadge-dtyeSSvY.js} +2 -2
  21. package/dist/cdn/chunks/{BlockA11yBadge-VY8NqI9n.js.map → BlockA11yBadge-dtyeSSvY.js.map} +1 -1
  22. package/dist/cdn/chunks/{CloudEditor-D0TrKlva.js → CloudEditor-BBBkTBfW.js} +173 -173
  23. package/dist/cdn/chunks/{CloudEditor-D0TrKlva.js.map → CloudEditor-BBBkTBfW.js.map} +1 -1
  24. package/dist/cdn/chunks/{CollaboratorBar-BhMNTI_h.js → CollaboratorBar-Cuy1BusU.js} +3 -3
  25. package/dist/cdn/chunks/{CollaboratorBar-BhMNTI_h.js.map → CollaboratorBar-Cuy1BusU.js.map} +1 -1
  26. package/dist/cdn/chunks/{CountdownToolbar-DsP6O1fl.js → CountdownToolbar-CqFM85Xv.js} +3 -3
  27. package/dist/cdn/chunks/{CountdownToolbar-DsP6O1fl.js.map → CountdownToolbar-CqFM85Xv.js.map} +1 -1
  28. package/dist/cdn/chunks/{ModuleBrowserModal-CpYPeiKv.js → ModuleBrowserModal-Dcxtq_dC.js} +5 -5
  29. package/dist/cdn/chunks/{ModuleBrowserModal-CpYPeiKv.js.map → ModuleBrowserModal-Dcxtq_dC.js.map} +1 -1
  30. package/dist/cdn/chunks/{ModulePreviewCanvas-BIYYnqUq.js → ModulePreviewCanvas-Didb4ZCU.js} +2 -2
  31. package/dist/cdn/chunks/{ModulePreviewCanvas-BIYYnqUq.js.map → ModulePreviewCanvas-Didb4ZCU.js.map} +1 -1
  32. package/dist/cdn/chunks/{ParagraphEditor-ZV5SYYw8.js → ParagraphEditor-BX2L35YF.js} +21 -21
  33. package/dist/cdn/chunks/{ParagraphEditor-ZV5SYYw8.js.map → ParagraphEditor-BX2L35YF.js.map} +1 -1
  34. package/dist/cdn/chunks/{RichTextEditorContent-Dx05ETtt.js → RichTextEditorContent-ywrdsvHY.js} +2 -2
  35. package/dist/cdn/chunks/{RichTextEditorContent-Dx05ETtt.js.map → RichTextEditorContent-ywrdsvHY.js.map} +1 -1
  36. package/dist/cdn/chunks/{SaveModuleDialog-DJEEK7Wb.js → SaveModuleDialog-Ddp-HCFB.js} +2 -2
  37. package/dist/cdn/chunks/{SaveModuleDialog-DJEEK7Wb.js.map → SaveModuleDialog-Ddp-HCFB.js.map} +1 -1
  38. package/dist/cdn/chunks/{SlidingPillSelect-BhPCkqVu.js → SlidingPillSelect-CS6N3vGq.js} +2 -2
  39. package/dist/cdn/chunks/{SlidingPillSelect-BhPCkqVu.js.map → SlidingPillSelect-CS6N3vGq.js.map} +1 -1
  40. package/dist/cdn/chunks/{TitleEditor-fu1A87Ld.js → TitleEditor-BTtgZzci.js} +8 -8
  41. package/dist/cdn/chunks/{TitleEditor-fu1A87Ld.js.map → TitleEditor-BTtgZzci.js.map} +1 -1
  42. package/dist/cdn/chunks/{blockTypeIcons-CJirTS-q.js → blockTypeIcons-B2x3gJsz.js} +3 -3
  43. package/dist/cdn/chunks/{blockTypeIcons-CJirTS-q.js.map → blockTypeIcons-B2x3gJsz.js.map} +1 -1
  44. package/dist/{de-CR1qAkAm.js → cdn/chunks/de-Dum1oCPV.js} +27 -3
  45. package/dist/cdn/chunks/de-Dum1oCPV.js.map +1 -0
  46. package/dist/{en-jbnp1n6M.js → cdn/chunks/en-ClDdvkbR.js} +27 -3
  47. package/dist/cdn/chunks/en-ClDdvkbR.js.map +1 -0
  48. package/dist/cdn/chunks/{extensions-BbFKsjyT.js → extensions-CdYSoz4B.js} +3 -3
  49. package/dist/cdn/chunks/{extensions-BbFKsjyT.js.map → extensions-CdYSoz4B.js.map} +1 -1
  50. package/dist/cdn/chunks/{features-uApxwJMz.js → features-BZeMkHMs.js} +1701 -1651
  51. package/dist/cdn/chunks/features-BZeMkHMs.js.map +1 -0
  52. package/dist/cdn/chunks/{icons-DZb4EX9m.js → icons-nP0Wj6Eq.js} +81 -66
  53. package/dist/cdn/chunks/icons-nP0Wj6Eq.js.map +1 -0
  54. package/dist/cdn/chunks/{media-library-B3g52j8R.js → media-library-54Ezt5wL.js} +3 -3
  55. package/dist/cdn/chunks/{media-library-B3g52j8R.js.map → media-library-54Ezt5wL.js.map} +1 -1
  56. package/dist/cdn/chunks/{quality-Ug5lFGHP.js → quality-Di1pUcCW.js} +59 -59
  57. package/dist/cdn/chunks/{quality-Ug5lFGHP.js.map → quality-Di1pUcCW.js.map} +1 -1
  58. package/dist/cdn/chunks/{renderer-jXCdXjV-.js → renderer-C4OuJhDG.js} +16 -16
  59. package/dist/cdn/chunks/{renderer-jXCdXjV-.js.map → renderer-C4OuJhDG.js.map} +1 -1
  60. package/dist/cdn/chunks/{src-FMtH5ZvJ.js → src-DF5NNH7S.js} +4 -4
  61. package/dist/cdn/chunks/{src-FMtH5ZvJ.js.map → src-DF5NNH7S.js.map} +1 -1
  62. package/dist/cdn/chunks/{styles-Co9vw4ag.js → styles-C9P3yzMF.js} +1632 -1361
  63. package/dist/cdn/chunks/styles-C9P3yzMF.js.map +1 -0
  64. package/dist/cdn/chunks/{tiptap-qXOh0vzV.js → tiptap-CZ52Pj8k.js} +2 -2
  65. package/dist/cdn/chunks/{tiptap-qXOh0vzV.js.map → tiptap-CZ52Pj8k.js.map} +1 -1
  66. package/dist/cdn/editor.css +1 -1
  67. package/dist/cdn/editor.js +9 -9
  68. package/dist/{cloud-COUuu_KE.js → cloud-9i5Nj7rp.js} +9 -9
  69. package/dist/{cdn/chunks/de-BsYijc0r.js → de-DP4gn3tf.js} +25 -5
  70. package/dist/{dist-DP82Y0rs.js → dist-Bcqepqv3.js} +222 -169
  71. package/dist/{cdn/chunks/en-DMu9hPIC.js → en-CyZxmGTU.js} +25 -5
  72. package/dist/{extensions-Bg22D6c8.js → extensions-CNPdJw_8.js} +2 -2
  73. package/dist/index.d.ts +11 -11
  74. package/dist/style.css +1 -1
  75. package/dist/{styles-DgL0UYj0.js → styles-ZIYLQwFf.js} +1560 -1274
  76. package/dist/templatical-editor.js +6 -6
  77. package/dist/{useEditorCore-CSlYQZWx.js → useEditorCore-BHSyoxSK.js} +16 -16
  78. package/dist/{useMergeTag-BVL3A4OO.js → useMergeTag-BfVcyNSv.js} +1 -1
  79. package/package.json +7 -7
  80. package/dist/cdn/chunks/de-BsYijc0r.js.map +0 -1
  81. package/dist/cdn/chunks/en-DMu9hPIC.js.map +0 -1
  82. package/dist/cdn/chunks/features-uApxwJMz.js.map +0 -1
  83. package/dist/cdn/chunks/icons-DZb4EX9m.js.map +0 -1
  84. package/dist/cdn/chunks/styles-Co9vw4ag.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { C as e, F as t, G as n, M as r, N as i, P as a, T as o, W as s, _ as c, b as l, ct as u, dt as d, f as ee, ft as f, g as p, h as m, l as h, m as g, n as te, r as _, tt as v, ut as y, v as b, x, y as S } from "./chunks/draggable-C-1_gch3.js";
2
- import { $ as C, Bn as ne, Dn as re, fn as w, k as ie, lr as T, on as ae, ot as E, zn as oe } from "./chunks/features-uApxwJMz.js";
3
- import { D as se } from "./chunks/icons-DZb4EX9m.js";
4
- import { a as ce, c as le, d as ue, f as de, g as fe, h as D, i as pe, l as me, m as O, n as he, o as k, p as A, r as j, s as M, t as N, u as P } from "./chunks/styles-Co9vw4ag.js";
2
+ import { $ as C, Bn as ne, Dn as re, fn as w, k as ie, on as ae, ot as T, ur as E, zn as oe } from "./chunks/features-BZeMkHMs.js";
3
+ import { D as se } from "./chunks/icons-nP0Wj6Eq.js";
4
+ import { a as ce, c as le, d as ue, f as de, g as fe, h as D, i as pe, l as me, m as O, n as he, o as k, p as A, r as j, s as M, t as N, u as P } from "./chunks/styles-C9P3yzMF.js";
5
5
  //#region src/Editor.vue?vue&type=script&setup=true&lang.ts
6
6
  var F = ["data-tpl-theme"], I = {
7
7
  class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:shadow-[var(--tpl-shadow-md)] tpl:border-b tpl:border-[var(--tpl-border)]",
@@ -16,7 +16,7 @@ var F = ["data-tpl-theme"], I = {
16
16
  }, _e = { class: "tpl-popup-browser-frame tpl:flex tpl:min-h-[calc(100vh-11rem)] tpl:w-full tpl:flex-col tpl:overflow-hidden tpl:rounded-xl tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-xl)]" }, ve = {
17
17
  key: 1,
18
18
  class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3 tpl:p-8"
19
- }, ye = ["aria-label"], z = /* @__PURE__ */ E(/* @__PURE__ */ e({
19
+ }, ye = ["aria-label"], z = /* @__PURE__ */ T(/* @__PURE__ */ e({
20
20
  __name: "Editor",
21
21
  props: {
22
22
  config: {},
@@ -195,8 +195,8 @@ var F = ["data-tpl-theme"], I = {
195
195
  ], 14, F));
196
196
  }
197
197
  }), [["__scopeId", "data-v-186f5453"]]), B = /* @__PURE__ */ Object.assign({
198
- "./locales/de.ts": () => import("./chunks/de-BsYijc0r.js"),
199
- "./locales/en.ts": () => import("./chunks/en-DMu9hPIC.js")
198
+ "./locales/de.ts": () => import("./chunks/de-Dum1oCPV.js"),
199
+ "./locales/en.ts": () => import("./chunks/en-ClDdvkbR.js")
200
200
  }), V = /* @__PURE__ */ Object.assign({
201
201
  "./locales/cloud/de.ts": () => import("./chunks/de-BPHtelu7.js"),
202
202
  "./locales/cloud/en.ts": () => import("./chunks/en-DejwuJhw.js")
@@ -225,7 +225,7 @@ async function be(e) {
225
225
  async function xe(e) {
226
226
  let t;
227
227
  try {
228
- t = await import("./chunks/renderer-jXCdXjV-.js").then((e) => e.t);
228
+ t = await import("./chunks/renderer-C4OuJhDG.js").then((e) => e.t);
229
229
  } catch {
230
230
  throw Error("[Templatical] toMjml() requires the @aswin.dev/renderer package. Please install it.");
231
231
  }
@@ -292,11 +292,11 @@ var X = null, Z = v(null);
292
292
  async function Ce(e) {
293
293
  let t = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
294
294
  if (!t) throw Error(`[Templatical] Container element not found: ${e.container}`);
295
- let { default: n } = await import("./chunks/CloudEditor-D0TrKlva.js"), [r, i] = await Promise.all([q(e.locale ?? "en"), be(e.locale ?? "en")]), a = C(e.fonts);
295
+ let { default: n } = await import("./chunks/CloudEditor-BBBkTBfW.js"), [r, i] = await Promise.all([q(e.locale ?? "en"), be(e.locale ?? "en")]), a = C(e.fonts);
296
296
  return X && $(), await new Promise((s, c) => {
297
297
  let l = setTimeout(() => {
298
298
  c(/* @__PURE__ */ Error("[Templatical] Cloud editor initialization timed out"));
299
- }, T);
299
+ }, E);
300
300
  X = _({ setup() {
301
301
  return () => o(n, {
302
302
  config: e,
@@ -1,5 +1,5 @@
1
1
  import { $ as e, Q as t, V as n, Z as r, et as i, m as a } from "./vue.runtime.esm-bundler-CjauPXjj.js";
2
- import { L as o, a as s, p as c } from "./dist-DP82Y0rs.js";
2
+ import { a as o, p as s, z as c } from "./dist-Bcqepqv3.js";
3
3
  //#region ../core/dist/cloud/index.js
4
4
  var l = class e {
5
5
  static DEFAULT_BASE_URL = "https://templatical.com";
@@ -75,7 +75,7 @@ var l = class e {
75
75
  };
76
76
  e === "POST" && this.requestOptions.body && (t["Content-Type"] = "application/json", n.body = JSON.stringify(this.requestOptions.body));
77
77
  let r = await fetch(this.url, n);
78
- if (!r.ok) throw new s(`Token refresh failed: ${r.status}`, r.status);
78
+ if (!r.ok) throw new o(`Token refresh failed: ${r.status}`, r.status);
79
79
  let i = await r.json();
80
80
  if (!i.token || !i.expires_at || !i.project_id || !i.tenant) throw Error("Invalid token response: missing token, expires_at, project_id, or tenant");
81
81
  return this.accessToken = i.token, this.expiresAt = /* @__PURE__ */ new Date(i.expires_at * 1e3), this._projectId = i.project_id, this._tenantSlug = i.tenant, i.test_email?.allowed_emails && i.test_email?.signature ? this._testEmailConfig = {
@@ -177,7 +177,7 @@ var d = "/api/v1/projects/{project}/tenants/{tenant}", f = `${d}/templates/{temp
177
177
  });
178
178
  if (!n.ok) {
179
179
  let e = await n.json().catch(() => ({ message: `HTTP error ${n.status}` }));
180
- throw new s(this.extractFirstValidationError(e), n.status);
180
+ throw new o(this.extractFirstValidationError(e), n.status);
181
181
  }
182
182
  if (n.status !== 204) return (await n.json()).data;
183
183
  }
@@ -434,7 +434,7 @@ function x(e, t) {
434
434
  function S(n) {
435
435
  let r = new v(n.authManager), i = t({
436
436
  template: null,
437
- content: o(c(n.defaultFontFamily, n.templateDefaults)),
437
+ content: c(s(n.defaultFontFamily, n.templateDefaults)),
438
438
  selectedBlockId: null,
439
439
  viewport: "desktop",
440
440
  darkMode: !1,
@@ -446,7 +446,7 @@ function S(n) {
446
446
  }), l = a({
447
447
  get: () => i.content,
448
448
  set: (e) => {
449
- i.content = o(e), i.isDirty = !0;
449
+ i.content = c(e), i.isDirty = !0;
450
450
  }
451
451
  }), u = a(() => i.selectedBlockId ? f(i.content.blocks, i.selectedBlockId) : null), d = a(() => {
452
452
  let e = /* @__PURE__ */ new Set(), t = i.template?.content?.blocks;
@@ -483,7 +483,7 @@ function S(n) {
483
483
  return n.lockedBlocks?.value.has(e) ?? !1;
484
484
  }
485
485
  function h(e, t = !0) {
486
- i.content = o(e), t && (i.isDirty = !0);
486
+ i.content = c(e), t && (i.isDirty = !0);
487
487
  }
488
488
  function g(e) {
489
489
  e && m(e) || (i.selectedBlockId = e);
@@ -545,7 +545,7 @@ function S(n) {
545
545
  async function D(e) {
546
546
  i.isLoading = !0;
547
547
  try {
548
- e && (i.content = o(e));
548
+ e && (i.content = c(e));
549
549
  let t = await r.createTemplate(i.content);
550
550
  return i.template = t, i.isDirty = !1, t;
551
551
  } catch (e) {
@@ -558,7 +558,7 @@ function S(n) {
558
558
  i.isLoading = !0;
559
559
  try {
560
560
  let t = await r.getTemplate(e);
561
- return i.template = t, i.content = o(t.content), i.isDirty = !1, t;
561
+ return i.template = t, i.content = c(t.content), i.isDirty = !1, t;
562
562
  } catch (e) {
563
563
  throw n.onError?.(e), e;
564
564
  } finally {
@@ -566,7 +566,7 @@ function S(n) {
566
566
  }
567
567
  }
568
568
  async function k() {
569
- if (!i.template?.id) throw new s("No template loaded. Call create() or load() before saving.");
569
+ if (!i.template?.id) throw new o("No template loaded. Call create() or load() before saving.");
570
570
  i.isSaving = !0;
571
571
  try {
572
572
  let e = await r.updateTemplate(i.template.id, i.content);
@@ -2,7 +2,7 @@
2
2
  var e = {
3
3
  footer: {
4
4
  poweredBy: "Erstellt mit",
5
- openSource: "Open Source"
5
+ help: "Hilfe"
6
6
  },
7
7
  tour: {
8
8
  next: "Weiter",
@@ -314,6 +314,7 @@ var e = {
314
314
  modeAuto: "Rabattcode",
315
315
  modeManual: "Shopify-Rabatt manuell eingeben",
316
316
  autoHint: "Für jedes Abonnement einen einmaligen, nicht wiederverwendbaren Code erzeugen.",
317
+ dynamicModesRequirePriorFormHint: "Der dynamische Code ist erst nach dem Opt-in-Schritt verfügbar.",
317
318
  selectType: "Typ wählen",
318
319
  types: {
319
320
  percentageOff: "Prozent rabatt",
@@ -771,7 +772,26 @@ var e = {
771
772
  triggerOnHoverTitle: "Beim Hover",
772
773
  triggerOnHoverDesc: "Wenn ein Besucher über ein Element fährt.",
773
774
  triggerOnCustomTitle: "Eigenes Ereignis",
774
- triggerOnCustomDesc: "Einen eigenen Trigger verwenden."
775
+ triggerOnCustomDesc: "Einen eigenen Trigger verwenden.",
776
+ frequencyHeading: "Häufigkeit",
777
+ frequencyIntro: "Legen Sie fest, wie oft Besucher diese Kampagne sehen.",
778
+ frequencyShowAgainTitle: "Erneut anzeigen",
779
+ frequencyShowAgainDesc: "Legen Sie fest, wie oft Ihre Kampagne eingeblendet wird.",
780
+ frequencyEveryPageLoad: "Bei jedem Seitenaufruf",
781
+ frequencyEverySession: "Pro Sitzung",
782
+ frequencyEveryPrefix: "Alle",
783
+ frequencyIntervalUnitMinutes: "Minuten",
784
+ frequencyIntervalUnitHours: "Stunden",
785
+ frequencyIntervalUnitDays: "Tage",
786
+ frequencyStopShowingTitle: "Nicht mehr anzeigen",
787
+ frequencyStopShowingDesc: "Legen Sie fest, wann ein Besucher die Kampagne nicht mehr sieht.",
788
+ frequencyStopAfterSignup: "Nachdem sich ein Besucher angemeldet oder geklickt hat",
789
+ frequencyStopAfterSeen: "Nachdem ein Besucher die Kampagne gesehen hat",
790
+ frequencyStopTimesSuffix: "Mal",
791
+ frequencyStopAfterClosedPrefix: "Nachdem ein Besucher die Kampagne geschlossen hat,",
792
+ frequencyClosedNeverAgain: "und nie wieder anzeigen",
793
+ frequencyClosedRespectRules: "aber die Regeln für „Erneut anzeigen“ beachten",
794
+ frequencyAfterClosedHelp: "Was passiert, wenn jemand das Popup ohne Anmeldung oder Klick schließt."
775
795
  },
776
796
  popupDesign: {
777
797
  tabStyle: "Stil",
@@ -854,7 +874,9 @@ var e = {
854
874
  browseModules: "Gespeicherte Module durchsuchen",
855
875
  expandSidebar: "Block-Seitenleiste erweitern",
856
876
  palette: "Blockpalette",
857
- insertBlock: "{block}-Block einfügen"
877
+ insertBlock: "{block}-Block einfügen",
878
+ paletteDiscountCouponTaken: "Es ist nur ein Rabattcoupon für alle Schritte zulässig.",
879
+ paletteFormTaken: "Es ist nur ein Formularblock für alle Schritte zulässig."
858
880
  },
859
881
  landmarks: {
860
882
  canvas: "E-Mail-Leinwand",
@@ -883,5 +905,3 @@ var e = {
883
905
  };
884
906
  //#endregion
885
907
  export { e as default };
886
-
887
- //# sourceMappingURL=de-BsYijc0r.js.map