@useinsider/guido 2.0.0-beta.ac3cd4d → 2.0.0-beta.b889d81

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.
@@ -1,5 +1,5 @@
1
- import { object as o, number as b, optional as e, string as t, pipe as u, picklist as n, custom as d, boolean as c, array as a, minLength as p, literal as r, variant as S } from "../../node_modules/valibot/dist/index.js";
2
- const m = {
1
+ import { object as o, number as p, optional as e, string as t, pipe as m, picklist as n, boolean as c, array as a, minLength as u, literal as r, custom as b, variant as S } from "../../node_modules/valibot/dist/index.js";
2
+ const i = {
3
3
  /** Promotional/marketing emails */
4
4
  PROMOTIONAL: 1,
5
5
  /** Transactional/system emails */
@@ -13,22 +13,22 @@ const m = {
13
13
  UNSUBSCRIBE_PAGES: 97
14
14
  }, h = o({
15
15
  /** Unique identifier for the template being edited */
16
- templateId: u(
16
+ templateId: m(
17
17
  t(),
18
- p(1, "templateId is required")
18
+ u(1, "templateId is required")
19
19
  ),
20
20
  /** Unique identifier for the user editing the template */
21
- userId: u(
21
+ userId: m(
22
22
  t(),
23
- p(1, "userId is required")
23
+ u(1, "userId is required")
24
24
  ),
25
25
  /** Optional variation ID for A/B testing */
26
26
  variationId: e(t())
27
27
  }), k = o({
28
28
  /** Partner/organization name (required) */
29
- name: u(
29
+ name: m(
30
30
  t(),
31
- p(1, "partner.name is required")
31
+ u(1, "partner.name is required")
32
32
  ),
33
33
  /** Product type identifier */
34
34
  productType: e(
@@ -41,8 +41,8 @@ const m = {
41
41
  ),
42
42
  /** Message type (promotional or transactional) */
43
43
  messageType: e(
44
- n([m.PROMOTIONAL, m.TRANSACTIONAL]),
45
- m.PROMOTIONAL
44
+ n([i.PROMOTIONAL, i.TRANSACTIONAL]),
45
+ i.PROMOTIONAL
46
46
  ),
47
47
  /** Display name for the current user */
48
48
  username: e(t(), "Guido User")
@@ -60,7 +60,7 @@ const m = {
60
60
  value: t()
61
61
  })
62
62
  )
63
- }), C = o({
63
+ }), R = o({
64
64
  /** Initial HTML content */
65
65
  html: e(t(), ""),
66
66
  /** Initial CSS content */
@@ -71,8 +71,8 @@ const m = {
71
71
  []
72
72
  ),
73
73
  /** Selected unsubscribe page IDs */
74
- selectedUnsubscribePages: e(a(b()), [])
75
- }), R = o({
74
+ selectedUnsubscribePages: e(a(p()), [])
75
+ }), C = o({
76
76
  /** Sender display name */
77
77
  senderName: e(t(), ""),
78
78
  /** Email subject line */
@@ -83,15 +83,15 @@ const m = {
83
83
  /** Path to translations object */
84
84
  translationsPath: e(t(), "window.trans.en"),
85
85
  /** Migration date for template compatibility */
86
- migrationDate: e(b(), 1759696858),
86
+ migrationDate: e(p(), 1759696858),
87
87
  /** Email header settings */
88
- emailHeader: e(R, { senderName: "", subject: "" })
88
+ emailHeader: e(C, { senderName: "", subject: "" })
89
89
  }), T = o({
90
90
  /** Whether to show the header bar */
91
91
  showHeader: e(c(), !0),
92
92
  /** Custom label for back button (if shown) */
93
93
  backButtonLabel: e(t())
94
- }), f = o({
94
+ }), A = o({
95
95
  /** Enable dynamic content insertion */
96
96
  dynamicContent: e(c(), !0),
97
97
  /** Enable save as template functionality */
@@ -106,7 +106,7 @@ const m = {
106
106
  unsubscribe: e(c(), !0),
107
107
  /** Disable modules panel in the editor */
108
108
  modulesDisabled: e(c(), !1)
109
- }), A = n([
109
+ }), f = n([
110
110
  "amp-accordion",
111
111
  "amp-carousel",
112
112
  "amp-form-controls",
@@ -131,7 +131,7 @@ const m = {
131
131
  ]), E = o({
132
132
  /** Default blocks to exclude from the editor */
133
133
  excludeDefaults: e(
134
- a(A),
134
+ a(f),
135
135
  []
136
136
  ),
137
137
  /** Custom blocks to include in the editor */
@@ -145,7 +145,7 @@ const m = {
145
145
  /** Human-readable description */
146
146
  description: e(t()),
147
147
  /** Priority for rule ordering (lower = earlier) */
148
- priority: b()
148
+ priority: p()
149
149
  }), N = o({
150
150
  ...l.entries,
151
151
  type: r("replace"),
@@ -173,32 +173,21 @@ const m = {
173
173
  ...l.entries,
174
174
  type: r("custom"),
175
175
  /** Custom processor function */
176
- processor: d(
177
- (i) => typeof i == "function",
176
+ processor: b(
177
+ (d) => typeof d == "function",
178
178
  "processor must be a function"
179
179
  )
180
- }), x = S("type", [
180
+ }), B = S("type", [
181
181
  N,
182
182
  O,
183
183
  L,
184
184
  v
185
- ]), B = o({
185
+ ]), P = o({
186
186
  /** Custom compiler rules to apply */
187
- customRules: e(a(x), []),
187
+ customRules: e(a(B), []),
188
188
  /** Skip default compiler rules */
189
189
  ignoreDefaultRules: e(c(), !1)
190
- }), P = o({
191
- /**
192
- * External validation handler called before save completes.
193
- * Return false to cancel the save operation.
194
- */
195
- externalValidation: e(
196
- d(
197
- (i) => typeof i == "function",
198
- "externalValidation must be a function"
199
- )
200
- )
201
- }), D = o({
190
+ }), x = o({
202
191
  // Required sections
203
192
  /** Identity configuration (required) */
204
193
  identity: h,
@@ -206,40 +195,37 @@ const m = {
206
195
  partner: k,
207
196
  // Optional sections (with defaults)
208
197
  /** Template content and presets */
209
- template: e(C, {}),
198
+ template: e(R, {}),
210
199
  /** Editor settings */
211
200
  editor: e(I, {}),
212
201
  /** UI configuration */
213
202
  ui: e(T, {}),
214
203
  /** Feature toggles */
215
- features: e(f, {}),
204
+ features: e(A, {}),
216
205
  /** Block configuration */
217
206
  blocks: e(E, {}),
218
207
  /** Compiler configuration */
219
- compiler: e(B, {}),
220
- /** Callbacks and event handlers */
221
- callbacks: e(P, {})
208
+ compiler: e(P, {})
222
209
  });
223
210
  export {
224
211
  E as BlocksSchema,
225
- P as CallbacksSchema,
226
- x as CompilerRuleSchema,
227
- B as CompilerSchema,
212
+ B as CompilerRuleSchema,
213
+ P as CompilerSchema,
228
214
  g as CustomBlockTypeSchema,
229
215
  v as CustomRuleSchema,
230
- A as DefaultBlockTypeSchema,
216
+ f as DefaultBlockTypeSchema,
231
217
  y as DynamicContentSchema,
232
218
  I as EditorSchema,
233
- R as EmailHeaderSchema,
234
- f as FeaturesSchema,
235
- D as GuidoConfigSchema,
219
+ C as EmailHeaderSchema,
220
+ A as FeaturesSchema,
221
+ x as GuidoConfigSchema,
236
222
  h as IdentitySchema,
237
- m as MessageType,
223
+ i as MessageType,
238
224
  k as PartnerSchema,
239
225
  s as ProductType,
240
226
  O as RegexRuleSchema,
241
227
  L as RemoveRuleSchema,
242
228
  N as ReplaceRuleSchema,
243
- C as TemplateSchema,
229
+ R as TemplateSchema,
244
230
  T as UISchema
245
231
  };
@@ -7,14 +7,14 @@ var s = function() {
7
7
  return [t(e.EmailHeaderInfo)];
8
8
  }, proxy: !0 }, { key: "headerRightSlot", fn: function() {
9
9
  return [t(e.EmailSizeIndicator)];
10
- }, proxy: !0 }]) }, [e.isContainerReady ? t("iframe", { staticClass: "email-iframe w-1 bor-w-0", style: { height: e.iframeHeight }, attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts", srcdoc: e.previewStore.previewHtml } }) : r._e()])], 1);
10
+ }, proxy: !0 }]) }, [e.isContainerReady ? t("iframe", { staticClass: "email-iframe w-1 bor-w-0", style: { height: e.iframeHeight }, attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts allow-popups-to-escape-sandbox", srcdoc: e.previewStore.previewHtml } }) : r._e()])], 1);
11
11
  }, i = [], n = /* @__PURE__ */ a(
12
12
  o,
13
13
  s,
14
14
  i,
15
15
  !1,
16
16
  null,
17
- "2dd60b0c"
17
+ "b37f3f6d"
18
18
  );
19
19
  const d = n.exports;
20
20
  export {
@@ -1,19 +1,19 @@
1
1
  import n from "./ContentView.vue2.js";
2
2
  import e from "../../../../_virtual/_plugin-vue2_normalizer.js";
3
- var c = function() {
3
+ var o = function() {
4
4
  var a = this, s = a._self._c, t = a._self._setupProxy;
5
5
  return s("div", { staticClass: "w-1 h-1 b-c-4 d-f f-d-c" }, [s("div", { staticClass: "d-f j-c-s-b a-i-c p-2 h-6-s" }, [s("div", { staticClass: "d-f a-i-c cur-p", on: { click: function(l) {
6
6
  return a.$emit("back-to-inbox");
7
- } } }, [s(t.InIcons, { staticClass: "f-s-3 i-c-7", attrs: { name: "line-chevron-left" } }), s("span", { staticClass: "ml-2 f-s-1 f-w-400 l-h-1 t-c-7" }, [a._v(a._s(t.trans("newsletter.inbox")))])], 1), s("div", { staticClass: "d-f a-i-c" }, [s(t.InIcons, { staticClass: "i-c-52", attrs: { name: "line-chevron-down" } }), s(t.InIcons, { staticClass: "ml-1 i-c-52", attrs: { name: "line-chevron-up" } })], 1)]), s("iframe", { ref: "iframeRef", staticClass: "f-g-1 w-1 d-b b-c-4 bor-s-n", attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts", srcdoc: t.previewStore.previewHtml }, on: { load: t.onLoad } })]);
8
- }, i = [], o = /* @__PURE__ */ e(
7
+ } } }, [s(t.InIcons, { staticClass: "f-s-3 i-c-7", attrs: { name: "line-chevron-left" } }), s("span", { staticClass: "ml-2 f-s-1 f-w-400 l-h-1 t-c-7" }, [a._v(a._s(t.trans("newsletter.inbox")))])], 1), s("div", { staticClass: "d-f a-i-c" }, [s(t.InIcons, { staticClass: "i-c-52", attrs: { name: "line-chevron-down" } }), s(t.InIcons, { staticClass: "ml-1 i-c-52", attrs: { name: "line-chevron-up" } })], 1)]), s("iframe", { ref: "iframeRef", staticClass: "f-g-1 w-1 d-b b-c-4 bor-s-n", attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts allow-popups-to-escape-sandbox", srcdoc: t.previewStore.previewHtml }, on: { load: t.onLoad } })]);
8
+ }, c = [], i = /* @__PURE__ */ e(
9
9
  n,
10
+ o,
10
11
  c,
11
- i,
12
12
  !1,
13
13
  null,
14
14
  null
15
15
  );
16
- const d = o.exports;
16
+ const d = i.exports;
17
17
  export {
18
18
  d as default
19
19
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as H, ref as c, computed as _ } from "vue";
1
+ import { defineComponent as H, ref as m, computed as _ } from "vue";
2
2
  import { useConfig as h } from "../../../composables/useConfig.js";
3
3
  import { useExport as V } from "../../../composables/useExport.js";
4
4
  import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
@@ -10,25 +10,25 @@ import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
10
  import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
11
  const J = /* @__PURE__ */ H({
12
12
  __name: "RightSlot",
13
- setup(k, { expose: u }) {
14
- const { config: f } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = c(!1), s = c(!1), v = x(), d = () => {
13
+ setup(k, { expose: c }) {
14
+ const { config: u } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = m(!1), s = m(!1), f = x(), v = () => {
15
15
  if (o.isVersionHistoryOpen) {
16
16
  a();
17
17
  return;
18
18
  }
19
19
  i();
20
- }, y = async () => {
20
+ }, d = async () => {
21
21
  e.value = !0, await r(), e.value = !1;
22
- }, S = () => {
22
+ }, y = () => {
23
23
  o.isSaveAsTemplateDrawerOpen = !0;
24
- }, g = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
24
+ }, S = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
25
25
  s.value = !0, o.loadingStatus = !0;
26
- const m = await n(p);
27
- return s.value = !1, (p || !m) && (o.loadingStatus = !1), m;
26
+ const g = await n(p);
27
+ return s.value = !1, p && (o.loadingStatus = !1), g;
28
28
  };
29
- return u({
29
+ return c({
30
30
  handleSave: l
31
- }), { __sfc: !0, config: f, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: v, handleVersionHistory: d, handleExport: y, handleSaveAs: S, versionHistoryTooltipText: g, handleSave: l, getTooltipOptions: O, InButtonV2: A };
31
+ }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: f, handleVersionHistory: v, handleExport: d, handleSaveAs: y, versionHistoryTooltipText: S, handleSave: l, getTooltipOptions: O, InButtonV2: A };
32
32
  }
33
33
  });
34
34
  export {
@@ -1,27 +1,26 @@
1
- import { useConfigStore as I } from "../stores/config.js";
2
- import { storeToRefs as T } from "pinia";
3
- const w = () => {
4
- const e = I(), {
1
+ import { useConfigStore as F } from "../stores/config.js";
2
+ import { storeToRefs as I } from "pinia";
3
+ const k = () => {
4
+ const e = F(), {
5
5
  config: t,
6
6
  initialized: o,
7
7
  identity: r,
8
8
  partner: i,
9
- template: a,
10
- editor: n,
9
+ template: n,
10
+ editor: a,
11
11
  ui: s,
12
- features: c,
13
- blocks: u,
14
- compiler: d,
15
- callbacks: l,
16
- templateId: p,
12
+ features: u,
13
+ blocks: d,
14
+ compiler: p,
15
+ templateId: c,
17
16
  userId: f,
18
17
  variationId: m,
19
18
  partnerName: g,
20
- productType: b,
21
- messageType: C,
22
- username: y,
23
- showHeader: E
24
- } = T(e);
19
+ productType: l,
20
+ messageType: b,
21
+ username: C,
22
+ showHeader: y
23
+ } = I(e);
25
24
  return {
26
25
  // State refs
27
26
  config: t,
@@ -29,27 +28,26 @@ const w = () => {
29
28
  // Section refs
30
29
  identity: r,
31
30
  partner: i,
32
- template: a,
33
- editor: n,
31
+ template: n,
32
+ editor: a,
34
33
  ui: s,
35
- features: c,
36
- blocks: u,
37
- compiler: d,
38
- callbacks: l,
34
+ features: u,
35
+ blocks: d,
36
+ compiler: p,
39
37
  // Convenience refs
40
- templateId: p,
38
+ templateId: c,
41
39
  userId: f,
42
40
  variationId: m,
43
41
  partnerName: g,
44
- productType: b,
45
- messageType: C,
46
- username: y,
47
- showHeader: E,
42
+ productType: l,
43
+ messageType: b,
44
+ username: C,
45
+ showHeader: y,
48
46
  // Methods
49
47
  getConfig: () => t.value,
50
- isFeatureEnabled: (F) => e.isFeatureEnabled(F)
48
+ isFeatureEnabled: (E) => e.isFeatureEnabled(E)
51
49
  };
52
50
  };
53
51
  export {
54
- w as useConfig
52
+ k as useConfig
55
53
  };
@@ -1,17 +1,15 @@
1
- import { useConfig as l } from "./useConfig.js";
2
- import { useSaveStart as m, useSaveComplete as c } from "./useGuidoActions.js";
3
- import { useTemplatePreparation as d } from "../utils/templatePreparation.js";
4
- import { useHtmlValidator as p } from "./useHtmlValidator.js";
5
- const w = () => {
6
- const i = m(), s = c(), { validateHtml: o } = p(), { callbacks: a } = l();
7
- return { save: async (r = !1) => {
8
- var e;
9
- i();
10
- const { prepareTemplateDetails: n } = d(), t = await n();
11
- if (await o(t.compiledHtml, t.dynamicContentList, !0) && !((e = a.value) != null && e.externalValidation && !await a.value.externalValidation(t)))
12
- return r || s(t), t;
1
+ import { useSaveStart as i, useSaveComplete as m } from "./useGuidoActions.js";
2
+ import { useTemplatePreparation as n } from "../utils/templatePreparation.js";
3
+ import { useHtmlValidator as l } from "./useHtmlValidator.js";
4
+ const f = () => {
5
+ const e = i(), a = m(), { validateHtml: s } = l();
6
+ return { save: async (o = !1) => {
7
+ e();
8
+ const { prepareTemplateDetails: r } = n(), t = await r();
9
+ if (await s(t.compiledHtml, t.dynamicContentList, !0))
10
+ return o || a(t), t;
13
11
  } };
14
12
  };
15
13
  export {
16
- w as useSave
14
+ f as useSave
17
15
  };
@@ -1,21 +1,21 @@
1
1
  import { ExtensionBuilder as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { UnsubscribeBlock as i } from "./block.js";
3
3
  import { UnsubscribeControl as t } from "./control.js";
4
- import { PreviewUIElement as s } from "./elements/preview.js";
5
- import { UnsubscribeIconsRegistry as o } from "./iconsRegistry.js";
6
- import { SettingsPanel as r } from "./settingsPanel.js";
4
+ import { PreviewUIElement as o } from "./elements/preview.js";
5
+ import { UnsubscribeIconsRegistry as r } from "./iconsRegistry.js";
6
+ import { SettingsPanel as s } from "./settingsPanel.js";
7
7
  import n from "./styles.css.js";
8
- import { UnsubscribeTagRegistry as c } from "./tagRegistry.js";
9
- const g = new e().addBlock(i).withSettingsPanelRegistry(r).addControl(t).addUiElement(s).addStyles(n).withLocalization({
8
+ import { UnsubscribeTagRegistry as l } from "./tagRegistry.js";
9
+ const f = new e().addBlock(i).withSettingsPanelRegistry(s).addControl(t).addUiElement(o).addStyles(n).withLocalization({
10
10
  en: {
11
- "Unsubscribe Block": "Unsubscribe",
12
- "Unsubscribe Block Description": "Unsubscribe lets you add an Unsubscribe Link to direct users to opt out of receiving your messages.",
11
+ "Unsubscribe Block": "Unsubscribe Block",
12
+ "Unsubscribe Block Description": "Add an unsubscribe link to your email",
13
13
  "Select Template": "Select Template",
14
14
  "Unsubscribe Template": "Unsubscribe Template",
15
15
  Showing: "Showing",
16
16
  of: "of"
17
17
  }
18
- }).withUiElementTagRegistry(c).withIconsRegistry(o).build();
18
+ }).withUiElementTagRegistry(l).withIconsRegistry(r).build();
19
19
  export {
20
- g as default
20
+ f as default
21
21
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-06e6f7a7] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.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}.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}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-282ca4d1]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-282ca4d1]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-282ca4d1]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-bb3bb07c] .guido__verion-history-view-option-selection-desktop svg,[data-v-bb3bb07c] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-bb3bb07c] .in-segments-wrapper__button_selected,[data-v-bb3bb07c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-06e6f7a7] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.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}.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}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-282ca4d1]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-282ca4d1]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-282ca4d1]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-bb3bb07c] .guido__verion-history-view-option-selection-desktop svg,[data-v-bb3bb07c] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-bb3bb07c] .in-segments-wrapper__button_selected,[data-v-bb3bb07c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-b37f3f6d],[data-v-b37f3f6d] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
@@ -7,8 +7,8 @@
7
7
  * - Default values for optional configuration
8
8
  * - Validation utilities
9
9
  */
10
- export { MessageType, ProductType, GuidoConfigSchema, IdentitySchema, PartnerSchema, TemplateSchema, EditorSchema, UISchema, FeaturesSchema, BlocksSchema, CompilerSchema, CallbacksSchema, DynamicContentSchema, EmailHeaderSchema, DefaultBlockTypeSchema, CustomBlockTypeSchema, CompilerRuleSchema, CompilerRuleTypeSchema, ReplaceRuleSchema, RegexRuleSchema, RemoveRuleSchema, CustomRuleSchema, } from './schemas';
11
- export type { GuidoConfig, GuidoConfigInput, IdentityConfig, IdentityConfigInput, PartnerConfig, PartnerConfigInput, TemplateConfig, TemplateConfigInput, EditorConfig, EditorConfigInput, UIConfig, UIConfigInput, FeaturesConfig, FeaturesConfigInput, BlocksConfig, BlocksConfigInput, CompilerConfig, CompilerConfigInput, CallbacksConfig, CallbacksConfigInput, ExternalValidationHandler, EmailHeader, DynamicContent, DefaultBlockType, CustomBlockType, BlockType, FeatureName, CompilerRule, ReplaceRule, RegexRule, RemoveRule, CustomRule, DeepPartial, ConfigOverrides, } from './types';
10
+ export { MessageType, ProductType, GuidoConfigSchema, IdentitySchema, PartnerSchema, TemplateSchema, EditorSchema, UISchema, FeaturesSchema, BlocksSchema, CompilerSchema, DynamicContentSchema, EmailHeaderSchema, DefaultBlockTypeSchema, CustomBlockTypeSchema, CompilerRuleSchema, CompilerRuleTypeSchema, ReplaceRuleSchema, RegexRuleSchema, RemoveRuleSchema, CustomRuleSchema, } from './schemas';
11
+ export type { GuidoConfig, GuidoConfigInput, IdentityConfig, IdentityConfigInput, PartnerConfig, PartnerConfigInput, TemplateConfig, TemplateConfigInput, EditorConfig, EditorConfigInput, UIConfig, UIConfigInput, FeaturesConfig, FeaturesConfigInput, BlocksConfig, BlocksConfigInput, CompilerConfig, CompilerConfigInput, EmailHeader, DynamicContent, DefaultBlockType, CustomBlockType, BlockType, FeatureName, CompilerRule, ReplaceRule, RegexRule, RemoveRule, CustomRule, DeepPartial, ConfigOverrides, } from './types';
12
12
  export { DEFAULT_EMAIL_HEADER, DEFAULT_TEMPLATE, DEFAULT_EDITOR, DEFAULT_UI, DEFAULT_FEATURES, DEFAULT_BLOCKS, DEFAULT_COMPILER, DEFAULT_PRODUCT_TYPE, DEFAULT_MESSAGE_TYPE, DEFAULT_USERNAME, EDITOR_TYPE, TEST_PARTNERS, isTestPartner, } from './defaults';
13
13
  export { validateConfig, parseConfig, parseConfigSafe, getValidationErrors, isValidConfig, validateIdentity, validatePartner, } from './validator';
14
14
  export type { ValidationResult, ValidationError, } from './validator';
@@ -5,14 +5,7 @@
5
5
  * All types are inferred from these schemas to ensure single source of truth.
6
6
  * @module @types/config/schemas
7
7
  */
8
- import type { SavedTemplateDetails } from '../stripo';
9
8
  import * as v from 'valibot';
10
- /**
11
- * Handler function for external validation before save
12
- * @param data - The template details to validate
13
- * @returns Promise<boolean> - true if valid, false to cancel save
14
- */
15
- export type ExternalValidationHandler = (data: SavedTemplateDetails) => Promise<boolean>;
16
9
  /**
17
10
  * Message type constants for email templates
18
11
  */
@@ -351,16 +344,6 @@ export declare const CompilerSchema: v.ObjectSchema<{
351
344
  /** Skip default compiler rules */
352
345
  readonly ignoreDefaultRules: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
353
346
  }, undefined>;
354
- /**
355
- * Callbacks configuration - event handlers and hooks
356
- */
357
- export declare const CallbacksSchema: v.ObjectSchema<{
358
- /**
359
- * External validation handler called before save completes.
360
- * Return false to cancel the save operation.
361
- */
362
- readonly externalValidation: v.OptionalSchema<v.CustomSchema<ExternalValidationHandler, v.ErrorMessage<v.CustomIssue> | undefined>, undefined>;
363
- }, undefined>;
364
347
  /**
365
348
  * Complete Guido configuration schema
366
349
  *
@@ -373,7 +356,6 @@ export declare const CallbacksSchema: v.ObjectSchema<{
373
356
  * - features: Feature toggles
374
357
  * - blocks: Block configuration
375
358
  * - compiler: HTML compilation
376
- * - callbacks: Event handlers and hooks
377
359
  */
378
360
  export declare const GuidoConfigSchema: v.ObjectSchema<{
379
361
  /** Identity configuration (required) */
@@ -524,12 +506,4 @@ export declare const GuidoConfigSchema: v.ObjectSchema<{
524
506
  /** Skip default compiler rules */
525
507
  readonly ignoreDefaultRules: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
526
508
  }, undefined>, {}>;
527
- /** Callbacks and event handlers */
528
- readonly callbacks: v.OptionalSchema<v.ObjectSchema<{
529
- /**
530
- * External validation handler called before save completes.
531
- * Return false to cancel the save operation.
532
- */
533
- readonly externalValidation: v.OptionalSchema<v.CustomSchema<ExternalValidationHandler, v.ErrorMessage<v.CustomIssue> | undefined>, undefined>;
534
- }, undefined>, {}>;
535
509
  }, undefined>;
@@ -5,7 +5,7 @@
5
5
  * This ensures type definitions are always in sync with validation.
6
6
  * @module @types/config/types
7
7
  */
8
- import type { GuidoConfigSchema, IdentitySchema, PartnerSchema, TemplateSchema, EditorSchema, UISchema, FeaturesSchema, BlocksSchema, CompilerSchema, CallbacksSchema, DynamicContentSchema, EmailHeaderSchema, CompilerRuleSchema, ReplaceRuleSchema, RegexRuleSchema, RemoveRuleSchema, CustomRuleSchema, DefaultBlockTypeSchema, CustomBlockTypeSchema, ExternalValidationHandler } from './schemas';
8
+ import type { GuidoConfigSchema, IdentitySchema, PartnerSchema, TemplateSchema, EditorSchema, UISchema, FeaturesSchema, BlocksSchema, CompilerSchema, DynamicContentSchema, EmailHeaderSchema, CompilerRuleSchema, ReplaceRuleSchema, RegexRuleSchema, RemoveRuleSchema, CustomRuleSchema, DefaultBlockTypeSchema, CustomBlockTypeSchema } from './schemas';
9
9
  import type * as v from 'valibot';
10
10
  /**
11
11
  * Complete validated Guido configuration.
@@ -41,10 +41,6 @@ export type FeaturesConfig = v.InferOutput<typeof FeaturesSchema>;
41
41
  export type BlocksConfig = v.InferOutput<typeof BlocksSchema>;
42
42
  /** Compiler configuration (custom rules, ignore defaults) */
43
43
  export type CompilerConfig = v.InferOutput<typeof CompilerSchema>;
44
- /** Callbacks configuration (event handlers and hooks) */
45
- export type CallbacksConfig = v.InferOutput<typeof CallbacksSchema>;
46
- /** Re-export ExternalValidationHandler for convenience */
47
- export type { ExternalValidationHandler };
48
44
  /** Email header configuration (senderName, subject) */
49
45
  export type EmailHeader = v.InferOutput<typeof EmailHeaderSchema>;
50
46
  /** Dynamic content item */
@@ -89,8 +85,6 @@ export type FeaturesConfigInput = v.InferInput<typeof FeaturesSchema>;
89
85
  export type BlocksConfigInput = v.InferInput<typeof BlocksSchema>;
90
86
  /** Input type for compiler configuration */
91
87
  export type CompilerConfigInput = v.InferInput<typeof CompilerSchema>;
92
- /** Input type for callbacks configuration */
93
- export type CallbacksConfigInput = v.InferInput<typeof CallbacksSchema>;
94
88
  /** Default Stripo block types */
95
89
  export type DefaultBlockType = v.InferOutput<typeof DefaultBlockTypeSchema>;
96
90
  /** Custom Guido block types */
@@ -90,9 +90,6 @@ export declare const useConfig: () => {
90
90
  })[];
91
91
  ignoreDefaultRules: boolean;
92
92
  };
93
- callbacks: {
94
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
95
- };
96
93
  } | null>;
97
94
  initialized: import("vue").Ref<boolean>;
98
95
  identity: import("vue").ComputedRef<{
@@ -178,9 +175,6 @@ export declare const useConfig: () => {
178
175
  })[];
179
176
  ignoreDefaultRules: boolean;
180
177
  } | null>;
181
- callbacks: import("vue").ComputedRef<{
182
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
183
- } | null>;
184
178
  templateId: import("vue").ComputedRef<string>;
185
179
  userId: import("vue").ComputedRef<string>;
186
180
  variationId: import("vue").ComputedRef<string>;
@@ -1,4 +1,4 @@
1
- import type { GuidoConfig, GuidoConfigInput, IdentityConfig, PartnerConfig, TemplateConfig, EditorConfig, UIConfig, FeaturesConfig, BlocksConfig, CompilerConfig, CallbacksConfig } from '@@/Types/config';
1
+ import type { GuidoConfig, GuidoConfigInput, IdentityConfig, PartnerConfig, TemplateConfig, EditorConfig, UIConfig, FeaturesConfig, BlocksConfig, CompilerConfig } from '@@/Types/config';
2
2
  interface ConfigStoreState {
3
3
  /** Whether the config has been initialized */
4
4
  initialized: boolean;
@@ -95,9 +95,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
95
95
  })[];
96
96
  ignoreDefaultRules: boolean;
97
97
  };
98
- callbacks: {
99
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
100
- };
101
98
  } | null;
102
99
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => IdentityConfig | null;
103
100
  /**
@@ -189,9 +186,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
189
186
  })[];
190
187
  ignoreDefaultRules: boolean;
191
188
  };
192
- callbacks: {
193
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
194
- };
195
189
  } | null;
196
190
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => PartnerConfig | null;
197
191
  /**
@@ -283,9 +277,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
283
277
  })[];
284
278
  ignoreDefaultRules: boolean;
285
279
  };
286
- callbacks: {
287
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
288
- };
289
280
  } | null;
290
281
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => TemplateConfig | null;
291
282
  /**
@@ -377,9 +368,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
377
368
  })[];
378
369
  ignoreDefaultRules: boolean;
379
370
  };
380
- callbacks: {
381
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
382
- };
383
371
  } | null;
384
372
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => EditorConfig | null;
385
373
  /**
@@ -471,9 +459,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
471
459
  })[];
472
460
  ignoreDefaultRules: boolean;
473
461
  };
474
- callbacks: {
475
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
476
- };
477
462
  } | null;
478
463
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => UIConfig | null;
479
464
  /**
@@ -565,9 +550,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
565
550
  })[];
566
551
  ignoreDefaultRules: boolean;
567
552
  };
568
- callbacks: {
569
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
570
- };
571
553
  } | null;
572
554
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => FeaturesConfig | null;
573
555
  /**
@@ -659,9 +641,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
659
641
  })[];
660
642
  ignoreDefaultRules: boolean;
661
643
  };
662
- callbacks: {
663
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
664
- };
665
644
  } | null;
666
645
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => BlocksConfig | null;
667
646
  /**
@@ -753,105 +732,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
753
732
  })[];
754
733
  ignoreDefaultRules: boolean;
755
734
  };
756
- callbacks: {
757
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
758
- };
759
735
  } | null;
760
736
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => CompilerConfig | null;
761
- /**
762
- * Get the callbacks configuration
763
- */
764
- callbacks: (state: {
765
- initialized: boolean;
766
- config: {
767
- identity: {
768
- templateId: string;
769
- userId: string;
770
- variationId?: string | undefined;
771
- };
772
- partner: {
773
- name: string;
774
- productType: 60 | 49 | 97;
775
- messageType: 1 | 2;
776
- username: string;
777
- };
778
- template: {
779
- html: string;
780
- css: string;
781
- preselectedDynamicContent: {
782
- text: string;
783
- value: string;
784
- fallback?: string | undefined;
785
- format?: {
786
- key: string;
787
- value: string;
788
- } | undefined;
789
- }[];
790
- selectedUnsubscribePages: number[];
791
- };
792
- editor: {
793
- locale: string;
794
- translationsPath: string;
795
- migrationDate: number;
796
- emailHeader: {
797
- senderName: string;
798
- subject: string;
799
- };
800
- };
801
- ui: {
802
- showHeader: boolean;
803
- backButtonLabel?: string | undefined;
804
- };
805
- features: {
806
- dynamicContent: boolean;
807
- saveAsTemplate: boolean;
808
- versionHistory: boolean;
809
- testMessage: boolean;
810
- displayConditions: boolean;
811
- unsubscribe: boolean;
812
- modulesDisabled: boolean;
813
- };
814
- blocks: {
815
- excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
816
- includeCustoms: ("dynamic-content" | "checkbox-block" | "radio-button-block" | "recommendation-block" | "unsubscribe-block" | "coupon-block" | "items-block")[];
817
- };
818
- compiler: {
819
- customRules: ({
820
- type: "replace";
821
- search: string;
822
- replacement: string;
823
- replaceAll?: boolean | undefined;
824
- id: string;
825
- description?: string | undefined;
826
- priority: number;
827
- } | {
828
- type: "regex";
829
- pattern: string;
830
- replacement: string;
831
- flags?: string | undefined;
832
- id: string;
833
- description?: string | undefined;
834
- priority: number;
835
- } | {
836
- type: "remove";
837
- targets: string[];
838
- id: string;
839
- description?: string | undefined;
840
- priority: number;
841
- } | {
842
- type: "custom";
843
- processor: (html: string) => string;
844
- id: string;
845
- description?: string | undefined;
846
- priority: number;
847
- })[];
848
- ignoreDefaultRules: boolean;
849
- };
850
- callbacks: {
851
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
852
- };
853
- } | null;
854
- } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => CallbacksConfig | null;
855
737
  /**
856
738
  * Get the template ID
857
739
  */
@@ -941,9 +823,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
941
823
  })[];
942
824
  ignoreDefaultRules: boolean;
943
825
  };
944
- callbacks: {
945
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
946
- };
947
826
  } | null;
948
827
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
949
828
  /**
@@ -1035,9 +914,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1035
914
  })[];
1036
915
  ignoreDefaultRules: boolean;
1037
916
  };
1038
- callbacks: {
1039
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1040
- };
1041
917
  } | null;
1042
918
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1043
919
  /**
@@ -1129,9 +1005,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1129
1005
  })[];
1130
1006
  ignoreDefaultRules: boolean;
1131
1007
  };
1132
- callbacks: {
1133
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1134
- };
1135
1008
  } | null;
1136
1009
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1137
1010
  /**
@@ -1223,9 +1096,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1223
1096
  })[];
1224
1097
  ignoreDefaultRules: boolean;
1225
1098
  };
1226
- callbacks: {
1227
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1228
- };
1229
1099
  } | null;
1230
1100
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1231
1101
  /**
@@ -1317,9 +1187,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1317
1187
  })[];
1318
1188
  ignoreDefaultRules: boolean;
1319
1189
  };
1320
- callbacks: {
1321
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1322
- };
1323
1190
  } | null;
1324
1191
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => number;
1325
1192
  /**
@@ -1411,9 +1278,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1411
1278
  })[];
1412
1279
  ignoreDefaultRules: boolean;
1413
1280
  };
1414
- callbacks: {
1415
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1416
- };
1417
1281
  } | null;
1418
1282
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => number;
1419
1283
  /**
@@ -1505,9 +1369,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1505
1369
  })[];
1506
1370
  ignoreDefaultRules: boolean;
1507
1371
  };
1508
- callbacks: {
1509
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1510
- };
1511
1372
  } | null;
1512
1373
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1513
1374
  /**
@@ -1599,9 +1460,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1599
1460
  })[];
1600
1461
  ignoreDefaultRules: boolean;
1601
1462
  };
1602
- callbacks: {
1603
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1604
- };
1605
1463
  } | null;
1606
1464
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => boolean;
1607
1465
  /**
@@ -1693,9 +1551,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1693
1551
  })[];
1694
1552
  ignoreDefaultRules: boolean;
1695
1553
  };
1696
- callbacks: {
1697
- externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1698
- };
1699
1554
  } | null;
1700
1555
  } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => (feature: keyof FeaturesConfig) => boolean;
1701
1556
  }, {
@@ -48,7 +48,7 @@ const o = `.control-shadow-wrapper:has(.button) {
48
48
  }
49
49
 
50
50
  .e2e-text-insert-controls .control-shadow-wrapper:not(:last-of-type) {
51
- margin-right: 6px;
51
+ margin-right: 16px;
52
52
  }
53
53
 
54
54
  .flat-white > .button {
@@ -64,13 +64,6 @@ const s = o("guido-config", {
64
64
  var e;
65
65
  return ((e = i.config) == null ? void 0 : e.compiler) ?? null;
66
66
  },
67
- /**
68
- * Get the callbacks configuration
69
- */
70
- callbacks: (i) => {
71
- var e;
72
- return ((e = i.config) == null ? void 0 : e.callbacks) ?? null;
73
- },
74
67
  /**
75
68
  * Get the template ID
76
69
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "2.0.0-beta.ac3cd4d",
3
+ "version": "2.0.0-beta.b889d81",
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",