@useinsider/guido 1.0.3-beta.4f1bcc0 → 1.0.3-beta.4fc0167

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.
package/README.md CHANGED
@@ -52,7 +52,6 @@ npm install @useinsider/guido
52
52
  ref="guidoEditor"
53
53
  :template-id="templateId"
54
54
  :user-id="userId"
55
- :migration-date="migrationDate"
56
55
  :guido-config="guidoConfig"
57
56
  :html="initialHtml"
58
57
  :css="initialCss"
@@ -75,7 +74,6 @@ export default {
75
74
  return {
76
75
  templateId: 'template-123',
77
76
  userId: 'user-456',
78
- migrationDate: 1699488000,
79
77
  initialHtml: '<p>Initial HTML content</p>',
80
78
  initialCss: 'p { color: #333; }',
81
79
  guidoConfig: {
@@ -147,7 +145,6 @@ export default {
147
145
  | `templateId` | `string` | ✅ | - | Unique identifier for the email template |
148
146
  | `userId` | `string` | ✅ | - | Unique identifier for the user |
149
147
  | `guidoConfig` | `GuidoConfig` | ✅ | - | Configuration object for the editor |
150
- | `migrationDate` | `number` | ✅ | - | Stripo migration date in Unix timestamp (seconds). Retrieved from backend `/partner-settings` endpoint as `migrationDate`. Used for onboarding process |
151
148
  | `partnerName` | `string` | ⚪ | From URL host | Partner identifier |
152
149
  | `productType` | `string` | ⚪ | From URL path | Product type identifier |
153
150
  | `username` | `string` | ⚪ | `'Guido User'` | Display name for the user |
@@ -164,7 +161,6 @@ export default {
164
161
  | `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
165
162
  | `on-change` | void | It Fires once for managing leave modal etc. |
166
163
  | `ready` | void | Fired when the editor is ready and template is loaded |
167
- | `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
168
164
 
169
165
  ### Guido Exposed Methods
170
166
  ```typescript
@@ -1,20 +1,18 @@
1
- import i from "./Guido.vue2.js";
1
+ import a from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import a from "../_virtual/_plugin-vue2_normalizer.js";
3
+ import i from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var t = function() {
5
5
  var o = this, r = o._self._c, e = o._self._setupProxy;
6
- return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
7
- return e.emit("onboarding:finished");
8
- } } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
9
- }, n = [], s = /* @__PURE__ */ a(
10
- i,
6
+ return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
7
+ }, s = [], d = /* @__PURE__ */ i(
8
+ a,
11
9
  t,
12
- n,
10
+ s,
13
11
  !1,
14
12
  null,
15
- "3c910a93"
13
+ "e8d51dec"
16
14
  );
17
- const v = s.exports;
15
+ const l = d.exports;
18
16
  export {
19
- v as default
17
+ l as default
20
18
  };
@@ -15,8 +15,8 @@ import { useConfigStore as te } from "../stores/config.js";
15
15
  import { useDynamicContentStore as ne } from "../stores/dynamic-content.js";
16
16
  import { useEditorStore as re } from "../stores/editor.js";
17
17
  import { usePreviewStore as ae } from "../stores/preview.js";
18
- import { useUnsubscribeStore as ie } from "../stores/unsubscribe.js";
19
- import se from "../node_modules/lodash-es/merge.js";
18
+ import { useUnsubscribeStore as se } from "../stores/unsubscribe.js";
19
+ import ie from "../node_modules/lodash-es/merge.js";
20
20
  const Ge = /* @__PURE__ */ R({
21
21
  __name: "Guido",
22
22
  props: {
@@ -31,39 +31,39 @@ const Ge = /* @__PURE__ */ R({
31
31
  guidoConfig: null,
32
32
  templateConfig: null
33
33
  },
34
- emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished"],
34
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
35
35
  setup(_, { expose: L, emit: t }) {
36
36
  const u = _, k = I(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
38
  ), A = I(
39
39
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
40
- ), l = x(), a = ne(), p = ie(), g = te(), i = re(), N = ae(), n = U(() => i.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
40
+ ), l = x(), a = ne(), p = se(), g = te(), s = re(), N = ae(), n = U(() => s.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
41
41
  var e;
42
42
  return (e = l.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
- templateId: s,
44
+ templateId: i,
45
45
  userId: b,
46
46
  guidoConfig: C,
47
47
  templateConfig: o,
48
48
  html: r = "",
49
49
  css: h = "",
50
50
  partnerName: c = f(),
51
- productType: d = y(),
51
+ productType: m = y(),
52
52
  messageType: S = J,
53
53
  username: w = q
54
- } = u, m = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
- i.templateId = s, window.GuidoConfig = se(Q, C), window.GuidoConfig.partner = {
54
+ } = u, d = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
+ s.templateId = i, window.GuidoConfig = ie(Q, C), window.GuidoConfig.partner = {
56
56
  partnerName: c,
57
- productType: d,
57
+ productType: m,
58
58
  messageType: S
59
59
  }, g.templateConfig = o;
60
60
  const { initPlugin: D } = j({
61
- emailId: s,
61
+ emailId: i,
62
62
  userId: b,
63
63
  username: w,
64
64
  partnerName: c,
65
- productType: d,
66
- preselectedDynamicContentList: m,
65
+ productType: m,
66
+ preselectedDynamicContentList: d,
67
67
  onReady: () => {
68
68
  console.debug("guido:ready"), t("ready");
69
69
  }
@@ -99,7 +99,7 @@ const Ge = /* @__PURE__ */ R({
99
99
  forceRecreate: !0
100
100
  // TODO: It should be false for old templates. We will communicate with Stripo
101
101
  };
102
- e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = m;
102
+ e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = d;
103
103
  } catch (e) {
104
104
  console.error("Failed to initialize Stripo editor:", e);
105
105
  }
@@ -120,7 +120,7 @@ const Ge = /* @__PURE__ */ R({
120
120
  },
121
121
  hasChanges: n,
122
122
  saveSilent: v
123
- }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore: i, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: s, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: c, productType: d, messageType: S, username: w, preselectedDynamicContentList: m, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
123
+ }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore: s, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: i, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: c, productType: m, messageType: S, username: w, preselectedDynamicContentList: d, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
124
124
  }
125
125
  });
126
126
  export {
@@ -1,17 +1,17 @@
1
- import t from "./NewVersionPopup.vue2.js";
1
+ import s from "./NewVersionPopup.vue2.js";
2
2
  import n from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
4
- var e = this, s = e._self._c, o = e._self._setupProxy;
5
- return o.isVisible ? s(o.WpModal, { attrs: { id: "guido__new-version-popup", size: "medium", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.popupTitle }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [s("div", { staticClass: "d-f f-d-c" }, [s("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), s("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.popupDescription) } })])]) : e._e();
6
- }, r = [], a = /* @__PURE__ */ n(
7
- t,
8
- i,
3
+ var r = function() {
4
+ var e = this, t = e._self._c, o = e._self._setupProxy;
5
+ return o.isVisible ? t(o.WpModal, { attrs: { id: "guido__new-version-popup", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.trans("email-editor.onboarding-title") }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [t("div", { staticClass: "d-f f-d-c" }, [t("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), t("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.trans("email-editor.onboarding-description")) } })])]) : e._e();
6
+ }, i = [], a = /* @__PURE__ */ n(
7
+ s,
9
8
  r,
9
+ i,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const _ = a.exports;
14
+ const p = a.exports;
15
15
  export {
16
- _ as default
16
+ p as default
17
17
  };
@@ -1,43 +1,30 @@
1
- import { defineComponent as g, ref as b, computed as o } from "vue";
2
- import v from "../../wrappers/WpModal.vue.js";
3
- import { useConfig as D } from "../../../composables/useConfig.js";
4
- import { useTranslations as h } from "../../../composables/useTranslations.js";
5
- import { ACADEMY_LINK as l } from "../../../enums/onboarding.js";
6
- import y from "../../../static/assets/onboarding-img.svg.js";
7
- import { useOnboardingStore as _ } from "../../../stores/onboarding.js";
8
- import { isAfterDate as C, formatShortDate as L } from "../../../utils/dateUtil.js";
9
- const I = /* @__PURE__ */ g({
1
+ import { defineComponent as s, ref as r } from "vue";
2
+ import a from "../../wrappers/WpModal.vue.js";
3
+ import { useTranslations as i } from "../../../composables/useTranslations.js";
4
+ import l from "../../../static/assets/onboarding-img.svg.js";
5
+ import { useOnboardingStore as m } from "../../../stores/onboarding.js";
6
+ const w = /* @__PURE__ */ s({
10
7
  __name: "NewVersionPopup",
11
- emits: ["onboarding-finished"],
12
- setup(w, { emit: a }) {
13
- const e = h(), t = _(), s = b(!0), { config: p } = D(), i = o(() => p.migrationDate), n = o(() => C(i.value || 0)), d = o(() => L(
14
- i.value
15
- )), m = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-title") : e("email-editor.onboarding-title")), c = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-description", {
16
- sunsetDate: d.value,
17
- academyLink: l
18
- }) : e("email-editor.onboarding-description", {
19
- academyLink: l
20
- })), u = o(() => n.value ? e("products.cancel") : e("products.remind-me-later")), f = o(() => ({
8
+ setup(p) {
9
+ const n = i(), e = m(), o = r(!0), t = r({
21
10
  primaryButton: {
22
11
  type: "primary",
23
- labelText: e("left-menu.discover-now")
12
+ labelText: n("left-menu.discover-now")
24
13
  },
25
14
  secondaryButton: {
26
15
  type: "subtle-primary",
27
- labelText: u.value
16
+ labelText: n("products.remind-me-later")
28
17
  }
29
- })), r = () => {
30
- s.value = !1, a("onboarding-finished");
31
- };
32
- return { __sfc: !0, emit: a, trans: e, onboardingStore: t, isVisible: s, config: p, migrationDate: i, isAfterMigrationDate: n, formattedSunsetDate: d, popupTitle: m, popupDescription: c, secondaryButtonLabel: u, footerButtonOptions: f, closePopup: r, handleDiscoverNow: () => {
33
- t.onDiscoverNowClicked(), r();
18
+ });
19
+ return { __sfc: !0, trans: n, onboardingStore: e, isVisible: o, footerButtonOptions: t, handleDiscoverNow: () => {
20
+ e.onDiscoverNowClicked(), o.value = !1;
34
21
  }, handleRemindLater: () => {
35
- t.onRemindMeLater(), r();
22
+ e.onRemindMeLater(), o.value = !1;
36
23
  }, handleClose: () => {
37
- t.onNewVersionPopupClose(), r();
38
- }, WpModal: v, onboardingImageSvg: y };
24
+ e.onNewVersionPopupClose(), o.value = !1;
25
+ }, WpModal: a, onboardingImageSvg: l };
39
26
  }
40
27
  });
41
28
  export {
42
- I as default
29
+ w as default
43
30
  };
@@ -1,21 +1,19 @@
1
- import t from "./OnboardingWrapper.vue2.js";
2
- import i from "../../../_virtual/_plugin-vue2_normalizer.js";
1
+ import o from "./OnboardingWrapper.vue2.js";
2
+ import _ from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var s = function() {
4
- var n = this, e = n._self._c, r = n._self._setupProxy;
5
- return e("div", n._l(r.visibleOnboardings, function(o) {
6
- return e(o.component, { key: o.type, tag: "component", on: { "onboarding-finished": function(p) {
7
- return r.emit("onboarding-finished");
8
- } } });
4
+ var n = this, e = n._self._c, t = n._self._setupProxy;
5
+ return e("div", n._l(t.visibleOnboardings, function(r) {
6
+ return e(r.component, { key: r.type, tag: "component" });
9
7
  }), 1);
10
- }, _ = [], a = /* @__PURE__ */ i(
11
- t,
8
+ }, a = [], p = /* @__PURE__ */ _(
9
+ o,
12
10
  s,
13
- _,
11
+ a,
14
12
  !1,
15
13
  null,
16
14
  null
17
15
  );
18
- const d = a.exports;
16
+ const m = p.exports;
19
17
  export {
20
- d as default
18
+ m as default
21
19
  };
@@ -1,25 +1,24 @@
1
- import { defineComponent as b, computed as e, onMounted as O, watch as t } from "vue";
2
- import { usePartner as u } from "../../../composables/usePartner.js";
3
- import { useEditorStore as v } from "../../../stores/editor.js";
4
- import { useOnboardingStore as l } from "../../../stores/onboarding.js";
5
- import { usePreviewStore as y } from "../../../stores/preview.js";
6
- import S from "./AMPOnboarding.vue.js";
7
- import h from "./GenericOnboarding.vue.js";
1
+ import { defineComponent as g, computed as e, onMounted as b, watch as t } from "vue";
2
+ import { usePartner as O } from "../../../composables/usePartner.js";
3
+ import { useEditorStore as u } from "../../../stores/editor.js";
4
+ import { useOnboardingStore as v } from "../../../stores/onboarding.js";
5
+ import { usePreviewStore as l } from "../../../stores/preview.js";
6
+ import y from "./AMPOnboarding.vue.js";
7
+ import S from "./GenericOnboarding.vue.js";
8
8
  import w from "./NewVersionPopup.vue.js";
9
9
  import P from "./TextBlockOnboarding.vue.js";
10
- import _ from "./VersionHistoryOnboarding.vue.js";
11
- const F = /* @__PURE__ */ b({
10
+ import h from "./VersionHistoryOnboarding.vue.js";
11
+ const E = /* @__PURE__ */ g({
12
12
  __name: "OnboardingWrapper",
13
- emits: ["onboarding-finished"],
14
- setup(A, { emit: f }) {
15
- const o = l(), r = v(), s = y(), { isTestPartner: a } = u(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
13
+ setup(_) {
14
+ const o = v(), r = u(), s = l(), { isTestPartner: a } = O(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
16
15
  { type: "newVersionPopup", component: w },
17
- { type: "genericOnboarding", component: h },
16
+ { type: "genericOnboarding", component: S },
18
17
  { type: "textBlockOnboarding", component: P },
19
- { type: "versionHistoryOnboarding", component: _ },
20
- { type: "ampOnboarding", component: S }
21
- ], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), g = e(() => m.filter((n) => c(n.type)));
22
- return O(async () => {
18
+ { type: "versionHistoryOnboarding", component: h },
19
+ { type: "ampOnboarding", component: y }
20
+ ], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), f = e(() => m.filter((n) => c(n.type)));
21
+ return b(async () => {
23
22
  await o.fetchUserModalState();
24
23
  }), t(
25
24
  () => r.isVersionHistoryOpen,
@@ -36,9 +35,9 @@ const F = /* @__PURE__ */ b({
36
35
  (n) => {
37
36
  !n && o.isActive("ampOnboarding") && o.close("ampOnboarding");
38
37
  }
39
- ), { __sfc: !0, emit: f, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: g };
38
+ ), { __sfc: !0, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: f };
40
39
  }
41
40
  });
42
41
  export {
43
- F as default
42
+ E as default
44
43
  };
@@ -1,6 +1,5 @@
1
1
  const a = {
2
2
  translationsPath: "window.trans.en",
3
- migrationDate: 1759696858,
4
3
  emailHeader: {
5
4
  senderName: "",
6
5
  subject: ""
@@ -17,7 +16,7 @@ const a = {
17
16
  }, t = {
18
17
  promotional: 1,
19
18
  transactional: 2
20
- }, e = "email", o = "Guido User", n = t.promotional, i = 2, s = {
19
+ }, e = "email", o = "Guido User", n = t.promotional, s = 2, i = {
21
20
  email: 60,
22
21
  architect: 49
23
22
  }, u = [
@@ -57,8 +56,8 @@ export {
57
56
  n as DefaultMessageType,
58
57
  e as DefaultProductType,
59
58
  o as DefaultUsername,
60
- i as EditorType,
61
- s as ProductIds,
59
+ s as EditorType,
60
+ i as ProductIds,
62
61
  u as TEST_PARTNER_LIST,
63
62
  t as TemplateTypes
64
63
  };
@@ -2,8 +2,7 @@ const e = [
2
2
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-0.ng-star-inserted",
3
3
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-1.ng-star-inserted",
4
4
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-2.ng-star-inserted"
5
- ], t = "https://academy.useinsider.com/docs/email-drag-drop-editor";
5
+ ];
6
6
  export {
7
- t as ACADEMY_LINK,
8
7
  e as SERVICE_HOVER_SELECTORS
9
8
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-2c168944] .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-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-3c910a93],.guido-editor__container[data-v-3c910a93]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-3c910a93]{height:calc(100vh - 75px)}[data-v-70835920] .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-dd57102d] .guido__verion-history-view-option-selection-desktop svg,[data-v-dd57102d] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-dd57102d] .in-segments-wrapper__button_selected,[data-v-dd57102d] .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-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[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-2c168944] .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-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-e8d51dec],.guido-editor__container[data-v-e8d51dec]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-e8d51dec]{height:calc(100vh - 75px)}[data-v-70835920] .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-dd57102d] .guido__verion-history-view-option-selection-desktop svg,[data-v-dd57102d] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-dd57102d] .in-segments-wrapper__button_selected,[data-v-dd57102d] .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-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
@@ -18,7 +18,6 @@ export type GuidoConfig = {
18
18
  ignoreDefaultHtmlCompilerRules?: boolean;
19
19
  useHeader?: boolean;
20
20
  emailHeader: EmailHeader;
21
- migrationDate: number;
22
21
  partner?: Partner;
23
22
  extensions?: Extensions;
24
23
  features?: Features;
@@ -60,9 +59,4 @@ export type TextValueObject = {
60
59
  text: string;
61
60
  value: string;
62
61
  };
63
- export interface L10n {
64
- locale?: string;
65
- timezone?: string;
66
- time?: number;
67
- }
68
62
  export {};
@@ -26,7 +26,6 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
26
26
  "save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
27
27
  "on-change": (hasChanges: boolean) => void;
28
28
  ready: () => void;
29
- "onboarding:finished": () => void;
30
29
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
31
30
  export default _default;
32
31
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,4 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
- "onboarding-finished": () => void;
3
- }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
2
  export default _default;
@@ -1,4 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
- "onboarding-finished": () => void;
3
- }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
2
  export default _default;
@@ -1,2 +1 @@
1
1
  export declare const SERVICE_HOVER_SELECTORS: string[];
2
- export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
@@ -64,7 +64,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"config", S
64
64
  senderName: string;
65
65
  subject: string;
66
66
  };
67
- migrationDate: number;
68
67
  partner?: {
69
68
  partnerName: string;
70
69
  productType: number;
@@ -1,22 +1 @@
1
- /**
2
- * Locale List:
3
- * en-US -> MM/DD/YYYY
4
- * en-GB -> DD/MM/YYYY
5
- * tr-TR -> DD.MM.YYYY
6
- */
7
- export declare const convertToDateObject: (date: string | number | Date | null | undefined) => Date;
8
- export declare const locale: () => string;
9
- export declare const localTz: string;
10
- export declare const timezone: () => string;
11
- export declare const hour12: () => boolean;
12
- export declare const dateFormat: () => string;
13
- /**
14
- * @example 04/22/2024
15
- * @param date - The date or timestamp input
16
- * @param specificLocale - Locale to use for formatting
17
- * @param tz - Timezone [window.l10n.timezone]
18
- * @returns Formatted date string
19
- */
20
- export declare const formatShortDate: (date: string | number | Date, specificLocale?: string, tz?: string) => string;
21
1
  export declare const formatPatchDate: (timestamp: number) => string;
22
- export declare const isAfterDate: (timestamp: number) => boolean;
@@ -1,19 +1,4 @@
1
- import { DEFAULT_LOCALE as r, DEFAULT as a, DEFAULT_TZ as c } from "../enums/date.js";
2
- const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length === 10 ? new Date(Number(t) * 1e3) : new Date(t) : typeof t == "number" ? t.toString().length === 10 ? new Date(t * 1e3) : new Date(t) : /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(), s = () => {
3
- const t = window.l10n;
4
- return (t == null ? void 0 : t.locale) === a ? r : (t == null ? void 0 : t.locale) || r;
5
- }, u = new Intl.DateTimeFormat().resolvedOptions().timeZone, f = () => {
6
- const t = window.l10n;
7
- return (t == null ? void 0 : t.timezone) || u || c;
8
- }, D = (t, e = s(), n = f()) => {
9
- const o = {
10
- year: "numeric",
11
- month: "2-digit",
12
- day: "2-digit",
13
- timeZone: n
14
- }, i = m(t);
15
- return new Intl.DateTimeFormat(e, o).format(i);
16
- }, T = (t) => {
1
+ const o = (t) => {
17
2
  if (!t)
18
3
  return "";
19
4
  const e = new Date(t);
@@ -25,13 +10,7 @@ const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length ===
25
10
  second: "2-digit",
26
11
  hour12: !1
27
12
  }).format(e);
28
- }, h = (t) => t ? Math.floor(Date.now() / 1e3) >= t : !1;
13
+ };
29
14
  export {
30
- m as convertToDateObject,
31
- T as formatPatchDate,
32
- D as formatShortDate,
33
- h as isAfterDate,
34
- u as localTz,
35
- s as locale,
36
- f as timezone
15
+ o as formatPatchDate
37
16
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.3-beta.4f1bcc0",
3
+ "version": "1.0.3-beta.4fc0167",
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",
@@ -1,6 +0,0 @@
1
- const t = "tr-TR", T = "default", L = "UTC";
2
- export {
3
- T as DEFAULT,
4
- t as DEFAULT_LOCALE,
5
- L as DEFAULT_TZ
6
- };
@@ -1,4 +0,0 @@
1
- export declare const DEFAULT_LOCALE = "tr-TR";
2
- export declare const DEFAULT = "default";
3
- export declare const DEFAULT_TZ = "UTC";
4
- export declare const FORMAT_MAPPING: Record<string, string>;