@useinsider/guido 3.19.0-beta.1471080 → 3.19.0-beta.169cb33

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,20 +1,20 @@
1
1
  import o from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import t from "../_virtual/_plugin-vue2_normalizer.js";
4
- var i = function() {
3
+ import i from "../_virtual/_plugin-vue2_normalizer.js";
4
+ var t = function() {
5
5
  var a = this, r = a._self._c, e = a._self._setupProxy;
6
- return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), r(e.AutoSaveController), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._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.AuthErrorModal), r(e.FilterSelectionDrawer), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
6
+ return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), r(e.AutoSaveController), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._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), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
7
7
  return e.emit("onboarding:finished");
8
8
  } } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
9
- }, s = [], n = /* @__PURE__ */ t(
9
+ }, s = [], n = /* @__PURE__ */ i(
10
10
  o,
11
- i,
11
+ t,
12
12
  s,
13
13
  !1,
14
14
  null,
15
- "080ff767"
15
+ "36867e2e"
16
16
  );
17
- const f = n.exports;
17
+ const g = n.exports;
18
18
  export {
19
- f as default
19
+ g as default
20
20
  };
@@ -9,24 +9,23 @@ import { useTimerClone as pe } from "../composables/useTimerClone.js";
9
9
  import { migrate as W } from "../config/migrator/index.js";
10
10
  import { ModuleFolderDefaults as G } from "../enums/defaults.js";
11
11
  import { RIBBON_SELECTOR as fe } from "../enums/onboarding.js";
12
- import { useRecommendationExtensionStore as b } from "../extensions/Blocks/Recommendation/store/recommendation.js";
12
+ import { useRecommendationExtensionStore as h } from "../extensions/Blocks/Recommendation/store/recommendation.js";
13
13
  import ye from "./organisms/AutoSaveController.vue.js";
14
- import ge from "./organisms/base/AuthErrorModal.vue.js";
15
- import ve from "./organisms/base/Toaster.vue.js";
16
- import Se from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
17
- import he from "./organisms/header/HeaderWrapper.vue.js";
14
+ import ge from "./organisms/base/Toaster.vue.js";
15
+ import ve from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
16
+ import Se from "./organisms/header/HeaderWrapper.vue.js";
18
17
  import be from "./organisms/LoadingWrapper.vue.js";
19
- import Ee from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
20
- import we from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
21
- import { useStripoApi as Ce } from "../services/stripoApi.js";
22
- import { useConfigStore as De } from "../stores/config.js";
23
- import { useDynamicContentStore as ke } from "../stores/dynamic-content.js";
18
+ import he from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
19
+ import Ee from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
20
+ import { useStripoApi as we } from "../services/stripoApi.js";
21
+ import { useConfigStore as Ce } from "../stores/config.js";
22
+ import { useDynamicContentStore as De } from "../stores/dynamic-content.js";
24
23
  import { useEditorStore as H } from "../stores/editor.js";
25
- import { usePreviewStore as Me } from "../stores/preview.js";
24
+ import { usePreviewStore as ke } from "../stores/preview.js";
26
25
  import { useTemplateStore as Te } from "../stores/template.js";
27
26
  import { useUnsubscribeStore as Fe } from "../stores/unsubscribe.js";
28
27
  import { readTrackFloor as $ } from "../utils/linkTrackingIds.js";
29
- const nt = /* @__PURE__ */ re({
28
+ const tt = /* @__PURE__ */ re({
30
29
  __name: "Guido",
31
30
  props: {
32
31
  config: null,
@@ -44,9 +43,9 @@ const nt = /* @__PURE__ */ re({
44
43
  () => import("./organisms/extensions/recommendation/RemoveStrategyModal.vue.js")
45
44
  ), Q = m(
46
45
  () => import("./organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.js")
47
- ), E = O(), p = O(), f = ke(), w = Fe(), o = De();
46
+ ), E = O(), p = O(), f = De(), w = Fe(), o = Ce();
48
47
  a.ready && o.init(a.config);
49
- const c = H(), X = Me(), l = u(() => c.hasChanges), { isTestPartner: Y } = le(), C = () => {
48
+ const c = H(), X = ke(), l = u(() => c.hasChanges), { isTestPartner: Y } = le(), C = () => {
50
49
  var t;
51
50
  return (t = E.value) == null ? void 0 : t.handleSave(!0);
52
51
  }, D = (t) => {
@@ -63,13 +62,13 @@ const nt = /* @__PURE__ */ re({
63
62
  savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || G.SAVED_MODULES,
64
63
  defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || G.DEFAULT_MODULES
65
64
  };
66
- }, { initPlugin: k, preloadRuntime: M } = ue(), { runExclusive: T, beginMount: F, isCurrentMount: R } = ce();
65
+ }, { initPlugin: k, preloadRuntime: T } = ue(), { runExclusive: F, beginMount: M, isCurrentMount: R } = ce();
67
66
  let g = 0;
68
- const { getDefaultTemplate: I } = Ce(), { cloneTimersOnSave: L, hasTimerBlocks: A } = pe(), Z = u(() => {
67
+ const { getDefaultTemplate: I } = we(), { cloneTimersOnSave: L, hasTimerBlocks: B } = pe(), Z = u(() => {
69
68
  var t;
70
69
  return !((t = o.ui) != null && t.showHeader);
71
70
  }), ee = u(() => o.isFeatureEnabled("reusableRecommendationStrategy")), te = u(
72
- () => !!b().recommendationConfigs.strategyId
71
+ () => !!h().recommendationConfigs.strategyId
73
72
  );
74
73
  de({
75
74
  onBack: () => {
@@ -86,9 +85,9 @@ const nt = /* @__PURE__ */ re({
86
85
  console.debug("guido:test-email:click"), r("test-email:click");
87
86
  }
88
87
  });
89
- const B = (t) => {
88
+ const U = (t) => {
90
89
  console.debug("dynamic-content:close", t), f.setSelectedDynamicContent(t), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: t }));
91
- }, U = () => {
90
+ }, A = () => {
92
91
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
93
92
  };
94
93
  x(() => l.value, () => {
@@ -103,7 +102,7 @@ const nt = /* @__PURE__ */ re({
103
102
  var e;
104
103
  const t = document.querySelector(fe);
105
104
  (e = p.value) == null || e.style.setProperty("--ribbon-offset", `${(t == null ? void 0 : t.offsetHeight) ?? 0}px`);
106
- }, h = async () => {
105
+ }, b = async () => {
107
106
  var t;
108
107
  try {
109
108
  o.initialized || o.init(a.config), c.templateId = o.templateId;
@@ -116,32 +115,32 @@ const nt = /* @__PURE__ */ re({
116
115
  };
117
116
  n.html || (n = await I(), n.html = await W(n.html, _));
118
117
  const oe = N ? $(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
119
- A(n.html) && (n.html = await L(n.html)), N && (c.trackIdSessionFloor = Math.max(oe, $(n.html)));
118
+ B(n.html) && (n.html = await L(n.html)), N && (c.trackIdSessionFloor = Math.max(oe, $(n.html)));
120
119
  const ne = {
121
120
  preselectedDynamicContentList: P,
122
121
  onReady: () => {
123
122
  console.debug("guido:ready"), r("ready");
124
123
  }
125
124
  };
126
- g = F(), await k(n, y(), ne), f.selectedDynamicContentList = P;
125
+ g = M(), await k(n, y(), ne), f.selectedDynamicContentList = P;
127
126
  } catch (e) {
128
127
  console.error("Failed to initialize Stripo editor:", e);
129
128
  }
130
129
  };
131
130
  return se(async () => {
132
131
  var e;
133
- console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), b().$reset(), H().$reset(), Te().$reset(), S();
132
+ console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), h().$reset(), H().$reset(), Te().$reset(), S();
134
133
  const t = (e = p.value) == null ? void 0 : e.parentElement;
135
- if (t && (i = new ResizeObserver(S), i.observe(t)), M(), a.ready)
136
- await h();
134
+ if (t && (i = new ResizeObserver(S), i.observe(t)), T(), a.ready)
135
+ await b();
137
136
  else {
138
137
  const s = x(() => a.ready, (d) => {
139
- d && (s(), h());
138
+ d && (s(), b());
140
139
  });
141
140
  }
142
141
  document.addEventListener("dynamic-content:open", v);
143
142
  }), ae(() => {
144
- i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), b().disposeStrategyPageReturn(), T(async () => {
143
+ i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), h().disposeStrategyPageReturn(), F(async () => {
145
144
  if (R(g))
146
145
  try {
147
146
  window.UIEditor.removeEditor();
@@ -151,15 +150,15 @@ const nt = /* @__PURE__ */ re({
151
150
  }), o.reset();
152
151
  }), q({
153
152
  dynamicContent: {
154
- insert: B,
155
- close: U
153
+ insert: U,
154
+ close: A
156
155
  },
157
156
  hasChanges: l,
158
157
  saveSilent: C,
159
158
  setLoading: D
160
- }), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: V, AssignStrategyDrawer: j, RemoveStrategyModal: J, LegacyStrategyUpdatedModal: Q, headerWrapperRef: E, wrapperRef: p, dynamicContentStore: f, unsubscribeStore: w, props: a, configStore: o, editorStore: c, previewStore: X, hasChanges: l, isTestPartner: Y, saveSilent: C, setLoading: D, emit: r, buildMetadata: y, initPlugin: k, preloadRuntime: M, runExclusive: T, beginMount: F, isCurrentMount: R, mountGeneration: g, getDefaultTemplate: I, cloneTimersOnSave: L, hasTimerBlocks: A, noHeader: Z, isRrsEnabled: ee, hasAssignedStrategy: te, insertDynamicContent: B, closeDynamicContent: U, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: S, startEditor: h, AutoSaveController: ye, AuthErrorModal: ge, Toaster: ve, FilterSelectionDrawer: Se, HeaderWrapper: he, LoadingWrapper: be, SaveAsTemplateDrawer: Ee, UnsubscribeWrapper: we };
159
+ }), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: V, AssignStrategyDrawer: j, RemoveStrategyModal: J, LegacyStrategyUpdatedModal: Q, headerWrapperRef: E, wrapperRef: p, dynamicContentStore: f, unsubscribeStore: w, props: a, configStore: o, editorStore: c, previewStore: X, hasChanges: l, isTestPartner: Y, saveSilent: C, setLoading: D, emit: r, buildMetadata: y, initPlugin: k, preloadRuntime: T, runExclusive: F, beginMount: M, isCurrentMount: R, mountGeneration: g, getDefaultTemplate: I, cloneTimersOnSave: L, hasTimerBlocks: B, noHeader: Z, isRrsEnabled: ee, hasAssignedStrategy: te, insertDynamicContent: U, closeDynamicContent: A, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: S, startEditor: b, AutoSaveController: ye, Toaster: ge, FilterSelectionDrawer: ve, HeaderWrapper: Se, LoadingWrapper: be, SaveAsTemplateDrawer: he, UnsubscribeWrapper: Ee };
161
160
  }
162
161
  });
163
162
  export {
164
- nt as default
163
+ tt as default
165
164
  };
@@ -2,7 +2,7 @@ import r from "./WpModal.vue2.js";
2
2
  import s from "../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var i = function() {
4
4
  var t = this, o = t._self._c, e = t._self._setupProxy;
5
- return o(e.InModalV2, { attrs: { id: t.id, "description-status": "", status: "", "close-button-status": t.closeButtonStatus, "close-on-outside-click": t.closeOnOutsideClick, "description-text": t.description, "footer-button-group-options": t.footerButtonOptions, "footer-status": t.footerStatus, size: t.size, state: t.state, "title-text": t.title }, on: { cancelOrBackButtonEvent: function(n) {
5
+ return o(e.InModalV2, { attrs: { id: t.id, "description-status": "", status: "", "close-button-status": t.closeButtonStatus, "close-on-outside-click": t.closeOnOutsideClick, "description-text": t.description, "footer-button-group-options": t.footerButtonOptions, "footer-status": t.footerStatus, size: t.size, "title-text": t.title }, on: { cancelOrBackButtonEvent: function(n) {
6
6
  return e.emit("close");
7
7
  }, onCloseEvent: function(n) {
8
8
  return e.emit("close");
@@ -1,12 +1,11 @@
1
1
  import { defineComponent as e } from "vue";
2
2
  import { InModalV2 as o } from "@useinsider/design-system-vue";
3
- const n = /* @__PURE__ */ e({
3
+ const u = /* @__PURE__ */ e({
4
4
  __name: "WpModal",
5
5
  props: {
6
6
  id: null,
7
7
  title: null,
8
8
  description: { default: "" },
9
- state: { default: "default" },
10
9
  size: { default: "small" },
11
10
  footerButtonOptions: { default: void 0 },
12
11
  closeButtonStatus: { type: Boolean, default: !0 },
@@ -14,10 +13,10 @@ const n = /* @__PURE__ */ e({
14
13
  footerStatus: { type: Boolean, default: !0 }
15
14
  },
16
15
  emits: ["close", "primary-action", "secondary-action"],
17
- setup(a, { emit: t }) {
16
+ setup(l, { emit: t }) {
18
17
  return { __sfc: !0, emit: t, InModalV2: o };
19
18
  }
20
19
  });
21
20
  export {
22
- n as default
21
+ u as default
23
22
  };
@@ -1,98 +1,88 @@
1
- import { getCsrfToken as D } from "../utils/genericUtil.js";
2
- import { ref as T, computed as w } from "vue";
3
- import { isPanelOrigin as j, reportAuthError as X } from "./useAuthError.js";
4
- const k = [401, 403, 419], _ = (g = {}) => {
5
- const f = T(!1), n = T(null), c = T(null), b = w(() => f.value), y = w(() => n.value !== null), E = {
1
+ import { getCsrfToken as O } from "../utils/genericUtil.js";
2
+ import { ref as m, computed as T } from "vue";
3
+ const X = (b = {}) => {
4
+ const p = m(!1), a = m(null), u = m(null), g = T(() => p.value), y = T(() => a.value !== null), v = {
6
5
  baseURL: "",
7
6
  timeout: 1e4,
8
7
  retry: 0,
9
8
  retryDelay: 1e3,
10
9
  headers: {
11
10
  "Content-Type": "application/json",
12
- "X-CSRF-TOKEN": D(),
11
+ "X-CSRF-TOKEN": O(),
13
12
  Accept: "application/json",
14
- // Without this a guest fetch gets a 302 to the login page, never an auth status.
15
13
  "X-Requested-With": "XMLHttpRequest"
16
14
  },
17
- ...g
18
- }, x = (e, r) => {
15
+ ...b
16
+ }, w = (e, s) => {
19
17
  if (e.startsWith("http://") || e.startsWith("https://"))
20
18
  return e;
21
- const t = r || E.baseURL || "";
19
+ const t = s || v.baseURL || "";
22
20
  return t.endsWith("/") && e.startsWith("/") ? `${t}${e.slice(1)}` : t.endsWith("/") || e.startsWith("/") ? `${t}${e}` : `${t}/${e}`;
23
- }, R = (e) => new Promise((r, t) => {
21
+ }, P = (e) => new Promise((s, t) => {
24
22
  setTimeout(() => {
25
23
  t(new Error("Request timeout"));
26
24
  }, e);
27
- }), P = (e) => new Promise((r) => {
28
- setTimeout(r, e);
29
- }), i = async (e, r, t, W = {}) => {
30
- n.value = null, f.value = !0, c.value = new AbortController();
31
- const a = { ...E, ...W }, p = x(r, a.baseURL), d = {
25
+ }), x = (e) => new Promise((s) => {
26
+ setTimeout(s, e);
27
+ }), i = async (e, s, t, L = {}) => {
28
+ a.value = null, p.value = !0, u.value = new AbortController();
29
+ const n = { ...v, ...L }, D = w(s, n.baseURL), c = {
32
30
  method: e,
33
- headers: { ...a.headers },
34
- signal: c.value.signal,
35
- ...a
31
+ headers: { ...n.headers },
32
+ signal: u.value.signal,
33
+ ...n
36
34
  };
37
- t && ["POST", "PUT", "PATCH"].includes(e) && (t instanceof FormData ? (delete d.headers["Content-Type"], d.body = t) : d.body = JSON.stringify(t));
38
- const v = async (m = 0) => {
39
- if (window.isSessionExpired) {
40
- n.value = { message: "Session expired", authReported: !0 };
41
- const o = new Error("Session expired");
42
- throw o.authReported = !0, o;
43
- }
35
+ t && ["POST", "PUT", "PATCH"].includes(e) && (t instanceof FormData ? (delete c.headers["Content-Type"], c.body = t) : c.body = JSON.stringify(t));
36
+ const E = async (h = 0) => {
44
37
  try {
45
- const o = [fetch(p, d)];
46
- a.timeout && o.push(R(a.timeout));
47
- const s = await Promise.race(o);
48
- if (!s.ok) {
49
- const H = `HTTP Error: ${s.status} ${s.statusText}`, l = new Error(H);
50
- throw l.status = s.status, l.statusText = s.statusText, l.response = s, l.authReported = k.includes(s.status) && j(p), l.authReported && Promise.resolve().then(() => s.clone().text().catch(() => "")).then((O) => X(
51
- s.status,
52
- O,
53
- new URL(p, window.location.href).href
54
- )).catch(() => {
55
- }), l;
38
+ const o = [fetch(D, c)];
39
+ n.timeout && o.push(P(n.timeout));
40
+ const r = await Promise.race(o);
41
+ if (!r.ok) {
42
+ const H = `HTTP Error: ${r.status} ${r.statusText}`, d = new Error(H);
43
+ throw d.status = r.status, d.statusText = r.statusText, d.response = r, d;
56
44
  }
57
- let h;
58
- const u = s.headers.get("content-type");
59
- return u != null && u.includes("application/json") ? h = await s.json() : u != null && u.includes("text/") ? h = await s.text() : h = await s.blob(), {
60
- data: h,
61
- status: s.status,
62
- statusText: s.statusText,
63
- headers: s.headers
45
+ let f;
46
+ const l = r.headers.get("content-type");
47
+ return l != null && l.includes("application/json") ? f = await r.json() : l != null && l.includes("text/") ? f = await r.text() : f = await r.blob(), {
48
+ data: f,
49
+ status: r.status,
50
+ statusText: r.statusText,
51
+ headers: r.headers
64
52
  };
65
53
  } catch (o) {
66
- const s = o instanceof Error && o.name === "AbortError";
67
- if (m < (a.retry || 0) && !s)
68
- return await P(a.retryDelay || 1e3), v(m + 1);
69
- throw o instanceof Error ? o.name === "AbortError" ? n.value = { message: "Request was cancelled" } : n.value = { message: o.message } : n.value = o, o;
54
+ const r = o instanceof Error && o.name === "AbortError";
55
+ if (h < (n.retry || 0) && !r)
56
+ return await x(n.retryDelay || 1e3), E(h + 1);
57
+ throw o instanceof Error ? o.name === "AbortError" ? a.value = { message: "Request was cancelled" } : a.value = { message: o.message } : a.value = o, o;
70
58
  }
71
59
  };
72
60
  try {
73
- return await v();
61
+ return await E();
74
62
  } finally {
75
- f.value = !1, c.value = null;
63
+ p.value = !1, u.value = null;
76
64
  }
77
- }, A = (e, r) => i("GET", e, void 0, r), S = (e, r, t) => i("POST", e, r, t), U = (e, r, t) => i("PUT", e, r, t), C = (e, r, t) => i("PATCH", e, r, t), $ = (e, r) => i("DELETE", e, void 0, r), q = (e) => {
78
- c.value && c.value.abort(e);
79
- }, L = () => {
80
- n.value = null;
65
+ }, C = (e, s) => i("GET", e, void 0, s), R = (e, s, t) => i("POST", e, s, t), $ = (e, s, t) => i("PUT", e, s, t), q = (e, s, t) => i("PATCH", e, s, t), A = (e, s) => i("DELETE", e, void 0, s), U = (e) => {
66
+ u.value && u.value.abort(e);
67
+ }, W = () => {
68
+ a.value = null;
81
69
  };
82
70
  return {
83
- loading: b,
84
- error: w(() => n.value),
71
+ // State
72
+ loading: g,
73
+ error: T(() => a.value),
85
74
  hasError: y,
75
+ // Methods
86
76
  request: i,
87
- get: A,
88
- post: S,
89
- put: U,
90
- patch: C,
91
- delete: $,
92
- cancel: q,
93
- clearError: L
77
+ get: C,
78
+ post: R,
79
+ put: $,
80
+ patch: q,
81
+ delete: A,
82
+ cancel: U,
83
+ clearError: W
94
84
  };
95
85
  };
96
86
  export {
97
- _ as useHttp
87
+ X as useHttp
98
88
  };
@@ -1,28 +1,26 @@
1
1
  import { ToasterTypeOptions as T } from "../enums/toaster.js";
2
- import { useToasterStore as u } from "../stores/toaster.js";
3
- import { nextTick as c } from "vue";
2
+ import { useToasterStore as c } from "../stores/toaster.js";
3
+ import { nextTick as u } from "vue";
4
4
  const s = /* @__PURE__ */ new WeakMap(), p = () => {
5
- const t = u(), o = () => {
6
- const e = s.get(t);
7
- e && (clearTimeout(e), s.delete(t));
5
+ const e = c(), o = () => {
6
+ const t = s.get(e);
7
+ t && (clearTimeout(t), s.delete(e));
8
8
  };
9
- function i(e = { message: "" }) {
10
- o(), t.hideToaster(), c(() => {
11
- t.showToaster(e), t.shouldAutoHide && s.set(t, setTimeout(() => {
12
- t.hideToaster(), o();
9
+ function r(t = { message: "" }) {
10
+ o(), e.hideToaster(), u(() => {
11
+ e.showToaster(t), e.shouldAutoHide && s.set(e, setTimeout(() => {
12
+ e.hideToaster(), o();
13
13
  }, 6e3));
14
14
  });
15
15
  }
16
- function n() {
17
- o(), t.hideToaster();
16
+ function i() {
17
+ o(), e.hideToaster();
18
18
  }
19
- function a(e, r) {
20
- if (e != null && e.authReported)
21
- return;
22
- const m = e instanceof Error ? e.message : String(e);
23
- i({ type: T.Error, message: `${r}: ${m}` });
19
+ function n(t, a) {
20
+ const m = t instanceof Error ? t.message : String(t);
21
+ r({ type: T.Error, message: `${a}: ${m}` });
24
22
  }
25
- return { showToaster: i, hideToaster: n, handleError: a };
23
+ return { showToaster: r, hideToaster: i, handleError: n };
26
24
  };
27
25
  export {
28
26
  p as useToaster
@@ -1,13 +1,13 @@
1
- import { ToasterTypeOptions as r } from "../../enums/toaster.js";
1
+ import { ToasterTypeOptions as a } from "../../enums/toaster.js";
2
2
  import { base64EncodeWithSpecialChars as u } from "../../utils/base64.js";
3
3
  import { useHttp as d } from "../useHttp.js";
4
- import { useToaster as p } from "../useToaster.js";
5
- import { useTranslations as c } from "../useTranslations.js";
4
+ import { useToaster as c } from "../useToaster.js";
5
+ import { useTranslations as p } from "../useTranslations.js";
6
6
  const v = () => {
7
- const { post: i } = d(), { showToaster: t } = p(), s = c();
7
+ const { post: i } = d(), { showToaster: e } = c(), s = p();
8
8
  return { validateLiquidSyntax: async (o) => {
9
9
  try {
10
- const e = await i("/newsletter/contents/validate-syntax", [{
10
+ const t = await i("/newsletter/contents/validate-syntax", [{
11
11
  identifier: "default",
12
12
  syntax: "liquid",
13
13
  contents: {
@@ -17,21 +17,21 @@ const v = () => {
17
17
  ampHtml: null
18
18
  }
19
19
  }]);
20
- if (!Array.isArray(e.data)) {
21
- const l = e.data;
22
- return t({
23
- type: r.Warning,
20
+ if (!Array.isArray(t.data)) {
21
+ const l = t.data;
22
+ return e({
23
+ type: a.Warning,
24
24
  message: l.message ?? s("journey-builder.liquid-validation-failed")
25
25
  }), !1;
26
26
  }
27
- const [a] = e.data, n = Object.values((a == null ? void 0 : a.errors) ?? {});
28
- return n.length ? (t({
29
- type: r.Warning,
27
+ const [r] = t.data, n = Object.values((r == null ? void 0 : r.errors) ?? {});
28
+ return n.length ? (e({
29
+ type: a.Warning,
30
30
  message: n[0].replace(/^line \d+:\s*/, "")
31
31
  }), !1) : !0;
32
- } catch (e) {
33
- return e != null && e.authReported || t({
34
- type: r.Error,
32
+ } catch {
33
+ return e({
34
+ type: a.Error,
35
35
  message: s("journey-builder.liquid-validation-failed")
36
36
  }), !1;
37
37
  }
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.auth-error-modal[data-v-2800c140]{position:relative;z-index:145}.gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-73199fa4] .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-2cb418af] .in-progress-wrapper__progress p span:last-child{display:none!important}[data-v-2cb418af] .in-progress-description-status{display:none!important}.view-options-wrapper[data-v-87033101]{position:relative;display:inline-block}.new-tag[data-v-87033101]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-87033101] .guido__view-option-selection-desktop svg,[data-v-87033101] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-87033101] .in-segments-wrapper__button_selected,[data-v-87033101] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-87033101] .in-tooltip-wrapper-v2__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-fad98586]{gap:8px}.version-history__toolbar[data-v-fad98586]{gap:4px}.view-options-wrapper[data-v-6ebabfe4]{position:relative;display:inline-block}.new-tag[data-v-6ebabfe4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-6ebabfe4] .guido__verion-history-view-option-selection-desktop svg,[data-v-6ebabfe4] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-6ebabfe4] .in-segments-wrapper__button_selected,[data-v-6ebabfe4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-6ebabfe4] .in-tooltip-wrapper-v2__icon{cursor:pointer}.auto-save-toggle[data-v-2c964af4]{position:relative}.auto-save-toggle__info-box[data-v-2c964af4]{position:absolute;top:100%;left:0;z-index:10;width:280px}.editor-actions[data-v-c61cc8ea]{gap:4px}.header-wrapper[data-v-d11dd577]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-080ff767]{--ribbon-offset: 0px;position:relative;width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__container[data-v-080ff767]{width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__no-header[data-v-080ff767]{height:calc(100vh - 75px - var(--ribbon-offset))}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-91a26acd]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-91a26acd]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-91a26acd]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-91a26acd]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-91a26acd]{object-fit:cover;transform:scale(1)}[data-v-b9a93c6e] .guido__verion-history-view-option-selection-desktop svg,[data-v-b9a93c6e] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-b9a93c6e] .in-segments-wrapper__button_selected,[data-v-b9a93c6e] .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-cf946232]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-cf946232]{min-height:504px}.iframe-wrapper[data-v-f255b2bb]{width:258px}.iframe-scaled[data-v-f255b2bb]{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-6bcaca8a] .vueperslides__parallax-wrapper{padding-bottom:110px!important}[data-v-f16f20f8] .vueperslides__bullets{pointer-events:none!important}[data-v-f16f20f8] .vueperslides__parallax-wrapper{padding-bottom:110px!important}[data-v-bb3cca55] .vueperslides__bullets{pointer-events:none!important}[data-v-bb3cca55] .vueperslides__parallax-wrapper{height:110px!important;padding-bottom:110px!important}[data-v-19d8cb42] .vueperslides__bullets,[data-v-ec2027ff] .vueperslides__bullets,[data-v-b09e80c4] .vueperslides__bullets{pointer-events:none!important}[data-v-b09e80c4] .vueperslides__parallax-wrapper{height:110px!important;padding-bottom:110px!important}[data-v-9bdef600] .vueperslides__parallax-wrapper{padding-bottom:110px!important}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd]{width:100%;max-width:none}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd] .in-skeleton{width:100%!important}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd] .in-dropdown-box__container{width:413px}.assign-strategy-drawer .spaced-dot-sep{background-image:linear-gradient(90deg,#91949f 20%,#fff0 0);background-position:center bottom;background-repeat:repeat-x;background-size:5px 1px}.assign-strategy-drawer .spaced-dot-sep--top{background-position:center top}.assign-strategy-drawer .spaced-dot-sep--fc-n:first-child{background:none}.legacy-strategy-updated-modal[data-v-da2225a1]{position:relative;z-index:145}
1
+ @charset "UTF-8";.gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-73199fa4] .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-2cb418af] .in-progress-wrapper__progress p span:last-child{display:none!important}[data-v-2cb418af] .in-progress-description-status{display:none!important}.view-options-wrapper[data-v-87033101]{position:relative;display:inline-block}.new-tag[data-v-87033101]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-87033101] .guido__view-option-selection-desktop svg,[data-v-87033101] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-87033101] .in-segments-wrapper__button_selected,[data-v-87033101] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-87033101] .in-tooltip-wrapper-v2__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-fad98586]{gap:8px}.version-history__toolbar[data-v-fad98586]{gap:4px}.view-options-wrapper[data-v-6ebabfe4]{position:relative;display:inline-block}.new-tag[data-v-6ebabfe4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-6ebabfe4] .guido__verion-history-view-option-selection-desktop svg,[data-v-6ebabfe4] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-6ebabfe4] .in-segments-wrapper__button_selected,[data-v-6ebabfe4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-6ebabfe4] .in-tooltip-wrapper-v2__icon{cursor:pointer}.auto-save-toggle[data-v-2c964af4]{position:relative}.auto-save-toggle__info-box[data-v-2c964af4]{position:absolute;top:100%;left:0;z-index:10;width:280px}.editor-actions[data-v-c61cc8ea]{gap:4px}.header-wrapper[data-v-d11dd577]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-36867e2e]{--ribbon-offset: 0px;position:relative;width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__container[data-v-36867e2e]{width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__no-header[data-v-36867e2e]{height:calc(100vh - 75px - var(--ribbon-offset))}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-91a26acd]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-91a26acd]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-91a26acd]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-91a26acd]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-91a26acd]{object-fit:cover;transform:scale(1)}[data-v-b9a93c6e] .guido__verion-history-view-option-selection-desktop svg,[data-v-b9a93c6e] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-b9a93c6e] .in-segments-wrapper__button_selected,[data-v-b9a93c6e] .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-cf946232]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-cf946232]{min-height:504px}.iframe-wrapper[data-v-f255b2bb]{width:258px}.iframe-scaled[data-v-f255b2bb]{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-6bcaca8a] .vueperslides__parallax-wrapper{padding-bottom:110px!important}[data-v-f16f20f8] .vueperslides__bullets{pointer-events:none!important}[data-v-f16f20f8] .vueperslides__parallax-wrapper{padding-bottom:110px!important}[data-v-bb3cca55] .vueperslides__bullets{pointer-events:none!important}[data-v-bb3cca55] .vueperslides__parallax-wrapper{height:110px!important;padding-bottom:110px!important}[data-v-19d8cb42] .vueperslides__bullets,[data-v-ec2027ff] .vueperslides__bullets,[data-v-b09e80c4] .vueperslides__bullets{pointer-events:none!important}[data-v-b09e80c4] .vueperslides__parallax-wrapper{height:110px!important;padding-bottom:110px!important}[data-v-9bdef600] .vueperslides__parallax-wrapper{padding-bottom:110px!important}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd]{width:100%;max-width:none}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd] .in-skeleton{width:100%!important}.assign-strategy-drawer-content .assign-strategy-select[data-v-6ce48dfd] .in-dropdown-box__container{width:413px}.assign-strategy-drawer .spaced-dot-sep{background-image:linear-gradient(90deg,#91949f 20%,#fff0 0);background-position:center bottom;background-repeat:repeat-x;background-size:5px 1px}.assign-strategy-drawer .spaced-dot-sep--top{background-position:center top}.assign-strategy-drawer .spaced-dot-sep--fc-n:first-child{background:none}.legacy-strategy-updated-modal[data-v-da2225a1]{position:relative;z-index:145}
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  id: string;
4
4
  title: string;
5
5
  description?: string;
6
- state?: 'default' | 'primary' | 'warning' | 'danger';
7
6
  size?: 'X-small' | 'small' | 'medium' | 'large';
8
7
  footerButtonOptions?: FooterButtonGroup;
9
8
  closeButtonStatus?: boolean;
@@ -16,7 +15,6 @@ type __VLS_Slots = {} & {
16
15
  };
17
16
  declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
18
17
  description: string;
19
- state: string;
20
18
  size: string;
21
19
  footerButtonOptions: undefined;
22
20
  closeButtonStatus: boolean;
@@ -28,7 +26,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
28
26
  "secondary-action": () => void;
29
27
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
30
28
  description: string;
31
- state: string;
32
29
  size: string;
33
30
  footerButtonOptions: undefined;
34
31
  closeButtonStatus: boolean;
@@ -37,10 +34,9 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
37
34
  }>>>, {
38
35
  size: "X-small" | "small" | "medium" | "large";
39
36
  description: string;
40
- state: "default" | "primary" | "warning" | "danger";
37
+ closeOnOutsideClick: boolean;
41
38
  footerButtonOptions: FooterButtonGroup;
42
39
  closeButtonStatus: boolean;
43
- closeOnOutsideClick: boolean;
44
40
  footerStatus: boolean;
45
41
  }>;
46
42
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -16,7 +16,6 @@ export interface HttpError {
16
16
  status?: number;
17
17
  statusText?: string;
18
18
  response?: Response;
19
- authReported?: boolean;
20
19
  }
21
20
  export declare const useHttp: (defaultOptions?: HttpOptions) => {
22
21
  loading: import("vue").ComputedRef<boolean>;
@@ -66,7 +65,6 @@ export declare const useHttp: (defaultOptions?: HttpOptions) => {
66
65
  json: () => Promise<any>;
67
66
  text: () => Promise<string>;
68
67
  } | undefined;
69
- authReported?: boolean | undefined;
70
68
  } | null>;
71
69
  hasError: import("vue").ComputedRef<boolean>;
72
70
  request: <T = unknown>(method: HttpMethod, url: string, data?: unknown, options?: HttpOptions) => Promise<HttpResponse<T>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "3.19.0-beta.1471080",
3
+ "version": "3.19.0-beta.169cb33",
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",
@@ -54,7 +54,7 @@
54
54
  "dependencies": {
55
55
  "@stripoinc/ui-editor-extensions": "3.10.0",
56
56
  "@useinsider/design-system-organisms": "0.0.3-beta.d816f06",
57
- "@useinsider/design-system-vue": "1.5.0",
57
+ "@useinsider/design-system-vue": "2.3.1",
58
58
  "@vueuse/core": "11.3.0",
59
59
  "lodash-es": "4.17.21",
60
60
  "pinia": "2.3.1",
@@ -1,18 +0,0 @@
1
- import e from "./AuthErrorModal.vue2.js";
2
- /* empty css */
3
- import s from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var a = function() {
5
- var o = this, r = o._self._c, t = o._self._setupProxy;
6
- return t.authError ? r("div", { staticClass: "auth-error-modal" }, [r(t.WpModal, { attrs: { id: "guido__auth-error-modal", state: "warning", "close-button-status": !1, "close-on-outside-click": !1, "footer-button-options": t.footerButtonOptions, title: t.title }, on: { close: t.recover, "primary-action": t.recover } }, [r("p", [o._v(o._s(t.message))])])], 1) : o._e();
7
- }, n = [], _ = /* @__PURE__ */ s(
8
- e,
9
- a,
10
- n,
11
- !1,
12
- null,
13
- "2800c140"
14
- );
15
- const f = _.exports;
16
- export {
17
- f as default
18
- };
@@ -1,36 +0,0 @@
1
- import { defineComponent as l, computed as n } from "vue";
2
- import c from "../../wrappers/WpModal.vue.js";
3
- import { useAuthError as p } from "../../../composables/useAuthError.js";
4
- import { useTranslations as d } from "../../../composables/useTranslations.js";
5
- const y = /* @__PURE__ */ l({
6
- __name: "AuthErrorModal",
7
- setup(m) {
8
- const e = d(), { authError: t } = p(), o = n(() => {
9
- var r;
10
- return ((r = t.value) == null ? void 0 : r.status) === 419 && t.value.data !== null;
11
- }), a = n(() => {
12
- var r;
13
- return ((r = t.value) == null ? void 0 : r.status) === 419 && t.value.data === null;
14
- }), s = n(() => o.value ? e("integration-hub.reload-this-page") : e("action-builder.session-expired")), i = n(() => o.value ? e("auth.error-occurred-refresh") : a.value ? e("settings.session-on-another-device") : e("journey-builder.login-session-expired")), u = n(() => ({
15
- primaryButton: {
16
- type: "primary",
17
- labelText: o.value ? e("integration-hub.reload") : e("journey-builder.login-popup-button")
18
- },
19
- cancelOrBackButton: {
20
- type: "secondary",
21
- styling: "ghost",
22
- labelText: e("settings.cancel")
23
- }
24
- }));
25
- return { __sfc: !0, trans: e, authError: t, isPageExpired: o, isTakenOver: a, title: s, message: i, footerButtonOptions: u, recover: () => {
26
- if (o.value) {
27
- window.location.reload();
28
- return;
29
- }
30
- window.location.replace("/login");
31
- }, WpModal: c };
32
- }
33
- });
34
- export {
35
- y as default
36
- };
@@ -1,52 +0,0 @@
1
- import { ToasterTypeOptions as l } from "../enums/toaster.js";
2
- import { ref as p } from "vue";
3
- import { useToaster as u } from "./useToaster.js";
4
- import { useTranslations as f } from "./useTranslations.js";
5
- const d = ["accessExpired", "domainRestricted", "ipRestricted", "insiderAccessRestricted"], n = p(null), a = (e) => {
6
- try {
7
- return new URL(e, window.location.href).origin === window.location.origin;
8
- } catch {
9
- return !0;
10
- }
11
- }, g = (e) => {
12
- try {
13
- const o = new URL(e, window.location.href);
14
- return o.origin === window.location.origin ? o.href : "";
15
- } catch {
16
- return "";
17
- }
18
- }, w = (e) => {
19
- try {
20
- const o = JSON.parse(e);
21
- return o && typeof o == "object" && Object.keys(o).length ? o : null;
22
- } catch {
23
- return null;
24
- }
25
- }, y = (e) => typeof (e == null ? void 0 : e.message) == "string" ? e.message : "", s = (e) => y(e) || f()("user-management.collaborate-forbidden-action"), c = (e) => {
26
- u().showToaster({ type: l.Error, message: e });
27
- }, R = (e, o, t) => {
28
- if (t && !a(t))
29
- return;
30
- const r = w(o);
31
- if (e === 403) {
32
- c(s(r));
33
- return;
34
- }
35
- if (e === 401 && (r == null ? void 0 : r.type) === "groupLevelAccess") {
36
- c(s(r));
37
- return;
38
- }
39
- if (e === 401 && typeof (r == null ? void 0 : r.type) == "string" && d.includes(r.type)) {
40
- const i = typeof r.redirect == "string" ? g(r.redirect) : "";
41
- if (i) {
42
- window.location.replace(i);
43
- return;
44
- }
45
- }
46
- e !== 401 && e !== 419 || n.value || (window.isSessionExpired = !0, n.value = { status: e, data: r });
47
- }, T = () => ({ authError: n });
48
- export {
49
- a as isPanelOrigin,
50
- R as reportAuthError,
51
- T as useAuthError
52
- };
@@ -1,2 +0,0 @@
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<{}>>, {}>;
2
- export default _default;
@@ -1,12 +0,0 @@
1
- export interface AuthErrorState {
2
- status: number;
3
- data: Record<string, unknown> | null;
4
- }
5
- export declare const isPanelOrigin: (url: string) => boolean;
6
- export declare const reportAuthError: (status: number, body: string, url: string) => void;
7
- export declare const useAuthError: () => {
8
- authError: import("vue").Ref<{
9
- status: number;
10
- data: Record<string, unknown> | null;
11
- } | null>;
12
- };