@useinsider/guido 3.1.1-beta.9e7f9a4 → 3.1.1-beta.c70df9c

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.
@@ -61,7 +61,7 @@ const m = {
61
61
  value: t()
62
62
  })
63
63
  )
64
- }), R = o({
64
+ }), A = o({
65
65
  /** Initial HTML content */
66
66
  html: e(t(), ""),
67
67
  /** Initial CSS content */
@@ -71,11 +71,13 @@ const m = {
71
71
  c(f),
72
72
  []
73
73
  ),
74
+ /** Valid custom field attribute names from the partner's categorized fields */
75
+ customFieldAttributes: e(c(t()), []),
74
76
  /** Selected unsubscribe page IDs */
75
77
  selectedUnsubscribePages: e(c(p()), []),
76
78
  /** Force recreate template in Stripo storage (use true when updating externally modified templates) */
77
79
  forceRecreate: e(a(), !1)
78
- }), A = o({
80
+ }), R = o({
79
81
  /** Sender display name */
80
82
  senderName: e(t(), ""),
81
83
  /** Email subject line */
@@ -88,7 +90,7 @@ const m = {
88
90
  /** Migration date for template compatibility */
89
91
  migrationDate: e(p(), 1759696858),
90
92
  /** Email header settings */
91
- emailHeader: e(A, { senderName: "", subject: "" }),
93
+ emailHeader: e(R, { senderName: "", subject: "" }),
92
94
  /** Folder name for user-saved modules (used by Stripo plugin panel for path construction) */
93
95
  savedModulesFolderName: e(t(), b.SAVED_MODULES),
94
96
  /** Folder name for default/prebuilt modules (used by Stripo plugin panel for path construction) */
@@ -205,7 +207,7 @@ const m = {
205
207
  "externalValidation must be a function"
206
208
  )
207
209
  )
208
- }), H = o({
210
+ }), F = o({
209
211
  // Required sections
210
212
  /** Identity configuration (required) */
211
213
  identity: h,
@@ -213,7 +215,7 @@ const m = {
213
215
  partner: y,
214
216
  // Optional sections (with defaults)
215
217
  /** Template content and presets */
216
- template: e(R, {}),
218
+ template: e(A, {}),
217
219
  /** Editor settings */
218
220
  editor: e(C, {}),
219
221
  /** UI configuration */
@@ -237,9 +239,9 @@ export {
237
239
  E as DefaultBlockTypeSchema,
238
240
  f as DynamicContentSchema,
239
241
  C as EditorSchema,
240
- A as EmailHeaderSchema,
242
+ R as EmailHeaderSchema,
241
243
  I as FeaturesSchema,
242
- H as GuidoConfigSchema,
244
+ F as GuidoConfigSchema,
243
245
  h as IdentitySchema,
244
246
  m as MessageType,
245
247
  y as PartnerSchema,
@@ -247,6 +249,6 @@ export {
247
249
  M as RegexRuleSchema,
248
250
  N as RemoveRuleSchema,
249
251
  L as ReplaceRuleSchema,
250
- R as TemplateSchema,
252
+ A as TemplateSchema,
251
253
  T as UISchema
252
254
  };
@@ -5,11 +5,11 @@ import { InOnboard as b } from "@useinsider/design-system-vue";
5
5
  const O = /* @__PURE__ */ p({
6
6
  __name: "AMPOnboarding",
7
7
  setup(l) {
8
- const i = g(), o = u(), r = e(() => `${window.innerWidth / 2 - 130}px`), a = e(() => [
8
+ const i = g(), o = u(), r = e(() => `${window.innerWidth / 2 - 110}px`), a = e(() => [
9
9
  {
10
10
  classes: "guido-amp-onboarding",
11
11
  left: r.value,
12
- top: "68px",
12
+ top: "70px",
13
13
  position: "Top Center",
14
14
  title: i("email-editor.onboarding-amp-title"),
15
15
  description: i("email-editor.onboarding-amp-description"),
@@ -13,7 +13,7 @@ var l = function() {
13
13
  p,
14
14
  !1,
15
15
  null,
16
- "1cddafa8"
16
+ "29b9af29"
17
17
  );
18
18
  const S = _.exports;
19
19
  export {
@@ -6,7 +6,7 @@ import { InOnboard as f } from "@useinsider/design-system-vue";
6
6
  const S = /* @__PURE__ */ l({
7
7
  __name: "GenericOnboarding",
8
8
  setup(B) {
9
- const e = x(), o = k(), r = i(() => `${window.innerWidth / 2 - 118}px`), c = () => {
9
+ const e = x(), o = k(), r = i(() => `${window.innerWidth / 2 - 160}px`), c = () => {
10
10
  const t = document.querySelector("ui-editor");
11
11
  t != null && t.shadowRoot && m.forEach((n) => {
12
12
  var d;
@@ -52,7 +52,7 @@ const S = /* @__PURE__ */ l({
52
52
  {
53
53
  classes: "guido-onboarding-preview",
54
54
  left: r.value,
55
- top: "68px",
55
+ top: "90px",
56
56
  position: "Top Center",
57
57
  title: e("email-editor.onboarding-preview-title"),
58
58
  description: e("email-editor.onboarding-preview-description"),
@@ -9,76 +9,76 @@ import { useHttp as j } from "./useHttp.js";
9
9
  import { useToaster as q } from "./useToaster.js";
10
10
  import { useTranslations as z } from "./useTranslations.js";
11
11
  const K = /recommendation-id="(\d+)"/g;
12
- function U(i) {
13
- return [...i.matchAll(K)].map((u) => u[1]);
12
+ function U(a) {
13
+ return [...a.matchAll(K)].map((u) => u[1]);
14
14
  }
15
- function Y(i, u) {
16
- return u.some((d) => i.startsWith(`${d}_`));
15
+ function Y(a, u) {
16
+ return u.some((d) => a.startsWith(`${d}_`));
17
17
  }
18
18
  const ce = () => {
19
19
  var y, h;
20
- const { showToaster: i } = q(), { post: u } = j(), { config: d } = L(), r = z(), g = $(), p = ((h = (y = d.value) == null ? void 0 : y.partner) == null ? void 0 : h.messageType) === V.transactional, w = async (e) => {
20
+ const { showToaster: a } = q(), { post: u } = j(), { config: d } = L(), r = z(), g = $(), p = ((h = (y = d.value) == null ? void 0 : y.partner) == null ? void 0 : h.messageType) === V.transactional, b = async (e) => {
21
21
  const t = await u(
22
22
  "/newsletter/template-library/check-template-html-body",
23
23
  { html: X(e) }
24
24
  ), { status: n, message: l } = t.data;
25
- return n || i({
25
+ return n || a({
26
26
  type: c.Alert,
27
27
  message: n === void 0 ? l : r("newsletter.invalid-url-link-for-toaster")
28
- }), r(P), l === r(G) && i({
28
+ }), r(P), l === r(G) && a({
29
29
  type: c.Alert,
30
30
  message: r("newsletter.already-in-progress")
31
31
  }), n;
32
- }, b = (e) => !["if", "endif", "else", "elif", "now"].includes(e.toLowerCase()), S = (e) => ["if", "endif"].includes(e.toLowerCase()), E = (e, s) => {
32
+ }, w = (e) => !["if", "endif", "else", "elif", "now"].includes(e.toLowerCase()), S = (e) => ["if", "endif"].includes(e.toLowerCase()), E = (e, s) => {
33
33
  const t = e.match(/({%(.*?)%})/g);
34
34
  let n = !0;
35
35
  return t !== null && !p && t.forEach((l) => {
36
36
  const o = l.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
37
37
  if (o && o.length > 0) {
38
- const [a] = o;
39
- b(a) && !s.includes(a) && (i({
38
+ const [i] = o;
39
+ w(i) && !s.includes(i) && (a({
40
40
  type: c.Warning,
41
41
  message: r("custom-fields.invalid-custom-fields")
42
42
  }), n = !1);
43
43
  }
44
44
  }), n;
45
45
  }, A = async (e, s, t) => {
46
- const n = t ? await w(e) : !0;
46
+ const n = t ? await b(e) : !0;
47
47
  return E(e, s) && n;
48
- }, I = (e) => e.length > 0 ? !0 : (i({
48
+ }, I = (e) => e.length > 0 ? !0 : (a({
49
49
  type: c.Warning,
50
50
  message: r("newsletter.html-content-is-empty")
51
51
  }), !1), k = (e) => {
52
52
  const s = (e.match(/{/gm) || []).length, t = (e.match(/}/gm) || []).length;
53
- return s > t && i({
53
+ return s > t && a({
54
54
  type: c.Warning,
55
55
  message: r("custom-fields.missing-closing-braces")
56
- }), s < t && i({
56
+ }), s < t && a({
57
57
  type: c.Warning,
58
58
  message: r("custom-fields.missing-opening-braces")
59
59
  }), s === t;
60
60
  }, x = (e) => {
61
61
  const s = e.match(/{{\s*(\w+\s+((\w+\|\w+)|(\w+)))\s*}}/gm) === null;
62
- return s || i({
62
+ return s || a({
63
63
  type: c.Warning,
64
64
  message: r("custom-fields.invalid-custom-fields")
65
65
  }), s;
66
66
  }, T = (e, s) => {
67
67
  const t = e.match(/{{([a-zA-Z0-9_\s]*)}}/gm);
68
68
  if (t && !p) {
69
- const n = new Set(s.map((a) => a.toLowerCase())), l = U(e), o = [];
70
- if (t.forEach((a) => {
71
- const m = a.slice(2, -2).trim().toLowerCase();
69
+ const n = new Set(s.map((i) => i.toLowerCase())), l = U(e), o = [];
70
+ if (t.forEach((i) => {
71
+ const m = i.slice(2, -2).trim().toLowerCase();
72
72
  (!n.has(m) || m === "") && !Y(m, l) && o.push(m);
73
73
  }), o.length > 0) {
74
- const a = `
74
+ const i = `
75
75
  <ul>
76
76
  ${o.map((m) => `<li>${m}</li>`).join("")}
77
77
  </ul>
78
78
  `;
79
- return i({
79
+ return a({
80
80
  type: c.Alert,
81
- message: r("custom-fields.invalid-custom-fields") + a
81
+ message: r("custom-fields.invalid-custom-fields") + i
82
82
  }), !1;
83
83
  }
84
84
  }
@@ -87,12 +87,12 @@ const ce = () => {
87
87
  const s = e.match(/{%(.*?)%}/g), t = [];
88
88
  let n = !0;
89
89
  if (s && s.forEach((l) => {
90
- const o = l.match(_), a = l.match(H), m = (o == null ? void 0 : o.join("")) || "";
91
- (!o || l !== m) && !a && (i({
90
+ const o = l.match(_), i = l.match(H), m = (o == null ? void 0 : o.join("")) || "";
91
+ (!o || l !== m) && !i && (a({
92
92
  type: c.Alert,
93
93
  message: r("newsletter.display-conditions-invalid-syntax")
94
94
  }), n = !1), o && o.forEach((f) => {
95
- f.trim() === "=" && (i({
95
+ f.trim() === "=" && (a({
96
96
  type: c.Alert,
97
97
  message: r("custom-conditions.wrong-equality-operators")
98
98
  }), n = !1);
@@ -102,8 +102,8 @@ const ce = () => {
102
102
  });
103
103
  });
104
104
  }), t.length) {
105
- const l = t.filter((a) => a === "if"), o = t.filter((a) => a === "endif");
106
- l.length !== o.length && (i({
105
+ const l = t.filter((i) => i === "if"), o = t.filter((i) => i === "endif");
106
+ l.length !== o.length && (a({
107
107
  type: c.Alert,
108
108
  message: r("custom-conditions.missing-if-endif-tag")
109
109
  }), n = !1);
@@ -111,45 +111,47 @@ const ce = () => {
111
111
  return n;
112
112
  }, W = (e) => {
113
113
  const s = (e.match(/{% /gm) || []).length, t = (e.match(/ %}/gm) || []).length, n = s === t;
114
- return n || i({
114
+ return n || a({
115
115
  type: c.Warning,
116
116
  message: r("custom-conditions.no-space-after-braces")
117
117
  }), n;
118
- }, N = (e) => (e.match(/({%(.*?)%})/g) || []).filter((t) => t.includes("if")).map((t) => (t.match(/{{.*}}/gm) || []).length).reduce((t, n) => t + n, 0) > 0 ? (i({
118
+ }, N = (e) => (e.match(/({%(.*?)%})/g) || []).filter((t) => t.includes("if")).map((t) => (t.match(/{{.*}}/gm) || []).length).reduce((t, n) => t + n, 0) > 0 ? (a({
119
119
  type: c.Warning,
120
120
  message: r("custom-conditions.no-braces-inside-if-tag")
121
- }), !1) : !0, O = () => g.recommendationConfigs && Object.values(g.recommendationConfigs).find((s) => s.filters.find((t) => t.value === "")) !== void 0 ? (i({
121
+ }), !1) : !0, O = () => g.recommendationConfigs && Object.values(g.recommendationConfigs).find((s) => s.filters.find((t) => t.value === "")) !== void 0 ? (a({
122
122
  type: c.Alert,
123
123
  message: r("newsletter.fill-all-necessary-fields")
124
124
  }), !1) : !0, B = (e) => {
125
125
  const s = /src="[^"]*\.(svg|pst)"/gm;
126
- return e.match(s) === null ? !0 : (i({
126
+ return e.match(s) === null ? !0 : (a({
127
127
  type: c.Alert,
128
128
  message: r("newsletter.invalid-image-type")
129
129
  }), !1);
130
130
  }, R = (e) => {
131
131
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".checkbox-block-v2");
132
132
  return Array.from(n).find((o) => {
133
- var a;
134
- return !((a = o.id) != null && a.trim());
135
- }) ? (i({
133
+ var i;
134
+ return !((i = o.id) != null && i.trim());
135
+ }) ? (a({
136
136
  type: c.Alert,
137
137
  message: r("unsubscribe-templates.select-checkbox-groups")
138
138
  }), !1) : !0;
139
139
  }, D = (e) => {
140
140
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".radio-button-v2");
141
141
  return Array.from(n).find((o) => {
142
- var a;
143
- return !((a = o.id) != null && a.trim());
144
- }) ? (i({
142
+ var i;
143
+ return !((i = o.id) != null && i.trim());
144
+ }) ? (a({
145
145
  type: c.Alert,
146
146
  message: r("unsubscribe-templates.select-radio-button-groups")
147
147
  }), !1) : !0;
148
148
  };
149
149
  return { validateHtml: async (e, s, t = !1) => {
150
+ var o, i;
150
151
  const n = [
151
- ...s.map((o) => o.value),
152
- ...M
152
+ ...s.map((m) => m.value),
153
+ ...M,
154
+ ...((i = (o = d.value) == null ? void 0 : o.template) == null ? void 0 : i.customFieldAttributes) ?? []
153
155
  ];
154
156
  return await A(e, n, t) && I(e) && k(e) && x(e) && T(e, n) && F(e) && W(e) && N(e) && O() && B(e) && R(e) && D(e);
155
157
  } };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-3b53a736],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-cd76c125] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-079d2bf7] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-acff76a8]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-a26d7792]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-a26d7792]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-a26d7792]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-1cddafa8] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-d073b1dc] .vueperslides__bullets{pointer-events:none!important}[data-v-d073b1dc] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-3b53a736],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-cd76c125] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-079d2bf7] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-acff76a8]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-a26d7792]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-a26d7792]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-a26d7792]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-29b9af29] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-d073b1dc] .vueperslides__bullets{pointer-events:none!important}[data-v-d073b1dc] .vueperslides__parallax-wrapper{height:110px!important}
@@ -95,6 +95,8 @@ export declare const TemplateSchema: v.ObjectSchema<{
95
95
  readonly value: v.StringSchema<undefined>;
96
96
  }, undefined>, undefined>;
97
97
  }, undefined>, undefined>, readonly []>;
98
+ /** Valid custom field attribute names from the partner's categorized fields */
99
+ readonly customFieldAttributes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
98
100
  /** Selected unsubscribe page IDs */
99
101
  readonly selectedUnsubscribePages: v.OptionalSchema<v.ArraySchema<v.NumberSchema<undefined>, undefined>, readonly []>;
100
102
  /** Force recreate template in Stripo storage (use true when updating externally modified templates) */
@@ -422,6 +424,8 @@ export declare const GuidoConfigSchema: v.ObjectSchema<{
422
424
  readonly value: v.StringSchema<undefined>;
423
425
  }, undefined>, undefined>;
424
426
  }, undefined>, undefined>, readonly []>;
427
+ /** Valid custom field attribute names from the partner's categorized fields */
428
+ readonly customFieldAttributes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
425
429
  /** Selected unsubscribe page IDs */
426
430
  readonly selectedUnsubscribePages: v.OptionalSchema<v.ArraySchema<v.NumberSchema<undefined>, undefined>, readonly []>;
427
431
  /** Force recreate template in Stripo storage (use true when updating externally modified templates) */
@@ -30,6 +30,7 @@ export declare const useConfig: () => {
30
30
  value: string;
31
31
  } | undefined;
32
32
  }[];
33
+ customFieldAttributes: string[];
33
34
  selectedUnsubscribePages: number[];
34
35
  forceRecreate: boolean;
35
36
  };
@@ -121,6 +122,7 @@ export declare const useConfig: () => {
121
122
  value: string;
122
123
  } | undefined;
123
124
  }[];
125
+ customFieldAttributes: string[];
124
126
  selectedUnsubscribePages: number[];
125
127
  forceRecreate: boolean;
126
128
  } | null>;
@@ -35,6 +35,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
35
35
  value: string;
36
36
  } | undefined;
37
37
  }[];
38
+ customFieldAttributes: string[];
38
39
  selectedUnsubscribePages: number[];
39
40
  forceRecreate: boolean;
40
41
  };
@@ -132,6 +133,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
132
133
  value: string;
133
134
  } | undefined;
134
135
  }[];
136
+ customFieldAttributes: string[];
135
137
  selectedUnsubscribePages: number[];
136
138
  forceRecreate: boolean;
137
139
  };
@@ -229,6 +231,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
229
231
  value: string;
230
232
  } | undefined;
231
233
  }[];
234
+ customFieldAttributes: string[];
232
235
  selectedUnsubscribePages: number[];
233
236
  forceRecreate: boolean;
234
237
  };
@@ -326,6 +329,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
326
329
  value: string;
327
330
  } | undefined;
328
331
  }[];
332
+ customFieldAttributes: string[];
329
333
  selectedUnsubscribePages: number[];
330
334
  forceRecreate: boolean;
331
335
  };
@@ -423,6 +427,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
423
427
  value: string;
424
428
  } | undefined;
425
429
  }[];
430
+ customFieldAttributes: string[];
426
431
  selectedUnsubscribePages: number[];
427
432
  forceRecreate: boolean;
428
433
  };
@@ -520,6 +525,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
520
525
  value: string;
521
526
  } | undefined;
522
527
  }[];
528
+ customFieldAttributes: string[];
523
529
  selectedUnsubscribePages: number[];
524
530
  forceRecreate: boolean;
525
531
  };
@@ -617,6 +623,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
617
623
  value: string;
618
624
  } | undefined;
619
625
  }[];
626
+ customFieldAttributes: string[];
620
627
  selectedUnsubscribePages: number[];
621
628
  forceRecreate: boolean;
622
629
  };
@@ -714,6 +721,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
714
721
  value: string;
715
722
  } | undefined;
716
723
  }[];
724
+ customFieldAttributes: string[];
717
725
  selectedUnsubscribePages: number[];
718
726
  forceRecreate: boolean;
719
727
  };
@@ -811,6 +819,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
811
819
  value: string;
812
820
  } | undefined;
813
821
  }[];
822
+ customFieldAttributes: string[];
814
823
  selectedUnsubscribePages: number[];
815
824
  forceRecreate: boolean;
816
825
  };
@@ -908,6 +917,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
908
917
  value: string;
909
918
  } | undefined;
910
919
  }[];
920
+ customFieldAttributes: string[];
911
921
  selectedUnsubscribePages: number[];
912
922
  forceRecreate: boolean;
913
923
  };
@@ -1005,6 +1015,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1005
1015
  value: string;
1006
1016
  } | undefined;
1007
1017
  }[];
1018
+ customFieldAttributes: string[];
1008
1019
  selectedUnsubscribePages: number[];
1009
1020
  forceRecreate: boolean;
1010
1021
  };
@@ -1102,6 +1113,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1102
1113
  value: string;
1103
1114
  } | undefined;
1104
1115
  }[];
1116
+ customFieldAttributes: string[];
1105
1117
  selectedUnsubscribePages: number[];
1106
1118
  forceRecreate: boolean;
1107
1119
  };
@@ -1199,6 +1211,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1199
1211
  value: string;
1200
1212
  } | undefined;
1201
1213
  }[];
1214
+ customFieldAttributes: string[];
1202
1215
  selectedUnsubscribePages: number[];
1203
1216
  forceRecreate: boolean;
1204
1217
  };
@@ -1296,6 +1309,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1296
1309
  value: string;
1297
1310
  } | undefined;
1298
1311
  }[];
1312
+ customFieldAttributes: string[];
1299
1313
  selectedUnsubscribePages: number[];
1300
1314
  forceRecreate: boolean;
1301
1315
  };
@@ -1393,6 +1407,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1393
1407
  value: string;
1394
1408
  } | undefined;
1395
1409
  }[];
1410
+ customFieldAttributes: string[];
1396
1411
  selectedUnsubscribePages: number[];
1397
1412
  forceRecreate: boolean;
1398
1413
  };
@@ -1490,6 +1505,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1490
1505
  value: string;
1491
1506
  } | undefined;
1492
1507
  }[];
1508
+ customFieldAttributes: string[];
1493
1509
  selectedUnsubscribePages: number[];
1494
1510
  forceRecreate: boolean;
1495
1511
  };
@@ -1587,6 +1603,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1587
1603
  value: string;
1588
1604
  } | undefined;
1589
1605
  }[];
1606
+ customFieldAttributes: string[];
1590
1607
  selectedUnsubscribePages: number[];
1591
1608
  forceRecreate: boolean;
1592
1609
  };
@@ -1684,6 +1701,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1684
1701
  value: string;
1685
1702
  } | undefined;
1686
1703
  }[];
1704
+ customFieldAttributes: string[];
1687
1705
  selectedUnsubscribePages: number[];
1688
1706
  forceRecreate: boolean;
1689
1707
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "3.1.1-beta.9e7f9a4",
3
+ "version": "3.1.1-beta.c70df9c",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",