@useinsider/guido 1.0.0-beta.e490934 → 1.0.0-beta.e760ea9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +21 -133
  2. package/dist/@types/generic.d.ts +0 -4
  3. package/dist/components/Guido.vue.d.ts +1 -2
  4. package/dist/components/Guido.vue.js +8 -8
  5. package/dist/components/Guido.vue2.js +23 -26
  6. package/dist/components/organisms/header/LeftSlot.vue2.js +9 -7
  7. package/dist/components/organisms/header/MiddleSlot.vue.js +4 -4
  8. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -17
  9. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  10. package/dist/components/organisms/header/ViewOptions.vue.js +6 -6
  11. package/dist/composables/useActionsApi.d.ts +0 -2
  12. package/dist/composables/useActionsApi.js +36 -47
  13. package/dist/guido.css +1 -1
  14. package/dist/stores/editor.d.ts +0 -4
  15. package/dist/stores/editor.js +3 -7
  16. package/package.json +1 -1
  17. package/dist/components/organisms/design-preview/AmpErrorModal.vue.d.ts +0 -16
  18. package/dist/components/organisms/design-preview/AmpErrorModal.vue.js +0 -21
  19. package/dist/components/organisms/design-preview/AmpErrorModal.vue2.js +0 -30
  20. package/dist/components/organisms/design-preview/DesktopPreview.vue.d.ts +0 -16
  21. package/dist/components/organisms/design-preview/DesktopPreview.vue.js +0 -22
  22. package/dist/components/organisms/design-preview/DesktopPreview.vue2.js +0 -42
  23. package/dist/components/organisms/design-preview/EmailPreview.vue.d.ts +0 -16
  24. package/dist/components/organisms/design-preview/EmailPreview.vue.js +0 -17
  25. package/dist/components/organisms/design-preview/EmailPreview.vue2.js +0 -33
  26. package/dist/components/organisms/design-preview/EmailView.vue.d.ts +0 -18
  27. package/dist/components/organisms/design-preview/EmailView.vue.js +0 -19
  28. package/dist/components/organisms/design-preview/EmailView.vue2.js +0 -24
  29. package/dist/components/organisms/design-preview/InboxView.vue.d.ts +0 -17
  30. package/dist/components/organisms/design-preview/InboxView.vue.js +0 -19
  31. package/dist/components/organisms/design-preview/InboxView.vue2.js +0 -23
  32. package/dist/components/organisms/design-preview/MobilePreview.vue.d.ts +0 -17
  33. package/dist/components/organisms/design-preview/MobilePreview.vue.js +0 -17
  34. package/dist/components/organisms/design-preview/MobilePreview.vue2.js +0 -24
  35. package/dist/components/organisms/header/AmpToggle.vue.d.ts +0 -2
  36. package/dist/components/organisms/header/AmpToggle.vue.js +0 -17
  37. package/dist/components/organisms/header/AmpToggle.vue2.js +0 -48
  38. package/dist/composables/useDebounce.d.ts +0 -4
  39. package/dist/composables/useDebounce.js +0 -12
  40. package/dist/composables/useMobileGmailFit.d.ts +0 -5
  41. package/dist/composables/useMobileGmailFit.js +0 -69
  42. package/dist/enums/gmailMobilePreview.d.ts +0 -7
  43. package/dist/enums/gmailMobilePreview.js +0 -17
  44. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  45. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -1,21 +0,0 @@
1
- import n from "./AmpErrorModal.vue2.js";
2
- import a from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
4
- var e = this, o = e._self._c, t = e._self._setupProxy;
5
- return o(t.InModalV2, { attrs: { id: "amp-error-modal", "close-button-status": "", "close-on-outside-click": "", "description-status": "", "footer-status": "", status: "", size: "medium", "description-text": t.trans("email-editor.amp-validation-description"), "footer-button-group-options": t.footerButtonOptions, "title-text": t.trans("email-editor.amp-validation-title") }, on: { cancelOrBackButtonEvent: t.handleClose, onCloseEvent: t.handleClose, primaryButtonEvent: t.handleFixInCodeEditor }, scopedSlots: e._u([{ key: "contentSlot", fn: function() {
6
- return [o("div", { staticClass: "d-f f-d-c" }, [o("div", { staticClass: "mb-3" }, [o("div", { staticClass: "l-s-5 f-s-1 f-w-600 t-c-55 t-t-u" }, [e._v(" " + e._s(`${t.trans("products.errors")}(${t.errorCount})`) + " ")])]), o("div", { staticClass: "d-f f-d-c g-13 max-h-21-s o-y-a", staticStyle: { gap: "16px" } }, e._l(t.props.errors, function(s, r) {
7
- return o(t.InOnPageMessage, { key: r, attrs: { icon: "filled-error-box", size: "medium", type: "alert", text: s } });
8
- }), 1)])];
9
- }, proxy: !0 }]) });
10
- }, l = [], d = /* @__PURE__ */ a(
11
- n,
12
- i,
13
- l,
14
- !1,
15
- null,
16
- null
17
- );
18
- const f = d.exports;
19
- export {
20
- f as default
21
- };
@@ -1,30 +0,0 @@
1
- import { defineComponent as m } from "vue";
2
- import { useToaster as f } from "../../../composables/useToaster.js";
3
- import { useTranslations as u } from "../../../composables/useTranslations.js";
4
- import { useEditorStore as E } from "../../../stores/editor.js";
5
- import { InOnPageMessage as g, InModalV2 as y } from "@useinsider/design-system-vue";
6
- const x = /* @__PURE__ */ m({
7
- __name: "AmpErrorModal",
8
- props: {
9
- errors: null
10
- },
11
- emits: ["close"],
12
- setup(a, { emit: o }) {
13
- const r = a, e = u(), t = E(), { showToaster: i } = f(), p = r.errors.length, d = () => {
14
- o("close");
15
- }, l = () => {
16
- var n, s;
17
- o("close"), t.isPreviewModeOpen = !1, (s = (n = window.StripoEditorApi) == null ? void 0 : n.codeEditorApi) != null && s.openCodeEditor ? window.StripoEditorApi.codeEditorApi.openCodeEditor() : i({
18
- type: "error",
19
- message: "StripoEditorApi codeEditorApi not available"
20
- });
21
- }, c = {
22
- primaryButton: { type: "primary", labelText: e("email-editor.amp-validation-fix") },
23
- cancelOrBackButton: { type: "secondary", labelText: e("campaign-builder.cancel"), styling: "ghost" }
24
- };
25
- return { __sfc: !0, props: r, emit: o, trans: e, editorStore: t, showToaster: i, errorCount: p, handleClose: d, handleFixInCodeEditor: l, footerButtonOptions: c, InModalV2: y, InOnPageMessage: g };
26
- }
27
- });
28
- export {
29
- x as default
30
- };
@@ -1,16 +0,0 @@
1
- import type { EmailData } from '@@/Types/generic';
2
- interface Props {
3
- emailHtml: string;
4
- emailData?: EmailData;
5
- }
6
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
7
- export default _default;
8
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
- type __VLS_TypePropsToOption<T> = {
10
- [K in keyof T]-?: {} extends Pick<T, K> ? {
11
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
- } : {
13
- type: import('vue').PropType<T[K]>;
14
- required: true;
15
- };
16
- };
@@ -1,22 +0,0 @@
1
- import i from "./DesktopPreview.vue2.js";
2
- /* empty css */
3
- import a from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var r = function() {
5
- var e = this, t = e._self._c, s = e._self._setupProxy;
6
- return t("div", { ref: "containerRef", staticStyle: { "min-height": "720px", height: "80vh" } }, [t(s.InContainer, { staticClass: "s-2 m-b-5 desktop-preview-container", attrs: { "full-width-content-status": "", "header-status": "", "border-radius": "bor-r-1", "container-type": "default", "footer-status": !1 }, scopedSlots: e._u([{ key: "headerLeftSlot", fn: function() {
7
- return [t("div", { staticClass: "d-f a-i-c j-c-s-b w-1" }, [t("div", { staticClass: "d-f a-i-c" }, [t("div", { staticClass: "b-c-49 bor-r-100 w-5-s h-5-s d-f a-i-c j-c-c" }, [t(s.InIcons, { attrs: { name: "line-menu-profile" } })], 1), t("div", { staticClass: "d-f f-d-c ml-2" }, [t("p", { staticClass: "t-c-53 f-w-600 f-s-1 l-h-1" }, [e._v(" " + e._s(s.senderName) + " ")]), t("p", { staticClass: "t-c-55 f-w-400 f-s-12 l-h-1" }, [e._v(" " + e._s(s.subject) + " ")])])])])];
8
- }, proxy: !0 }, { key: "headerRightSlot", fn: function() {
9
- return [t("div", { staticClass: "d-f a-i-c j-c-c" }, [t(s.InProgress, { staticClass: "min-w-15-s", attrs: { id: "email-size-progress", "description-status": "", "description-position": "left", description: s.emailSize, "max-value": s.MAX_EMAIL_WEIGHT, type: s.progressType, value: s.progressValue } }), t(s.InTooltip, { staticClass: "d-f ml-1", attrs: { id: "email-size-tooltip", align: "center", position: "bottom", text: s.trans("email-editor.preview-design-size-tooltip") } })], 1)];
10
- }, proxy: !0 }]) }, [t("iframe", { staticClass: "email-iframe w-1 bor-w-0", style: { height: s.iframeHeight }, attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts", srcdoc: e.emailHtml } })])], 1);
11
- }, o = [], l = /* @__PURE__ */ a(
12
- i,
13
- r,
14
- o,
15
- !1,
16
- null,
17
- "af6f2286"
18
- );
19
- const d = l.exports;
20
- export {
21
- d as default
22
- };
@@ -1,42 +0,0 @@
1
- import { defineComponent as I, computed as d, ref as n, onMounted as B, onUnmounted as w, watch as z } from "vue";
2
- import { useTranslations as E } from "../../../composables/useTranslations.js";
3
- import { InTooltip as M, InProgress as R, InIcons as y, InContainer as C } from "@useinsider/design-system-vue";
4
- const j = /* @__PURE__ */ I({
5
- __name: "DesktopPreview",
6
- props: {
7
- emailHtml: null,
8
- emailData: null
9
- },
10
- setup(h) {
11
- const t = h, r = 102, i = E(), g = d(() => {
12
- var e;
13
- return ((e = t.emailData) == null ? void 0 : e.senderName) || `(${i("settings.sender-name")})`;
14
- }), _ = d(() => {
15
- var e;
16
- return ((e = t.emailData) == null ? void 0 : e.subject) || i("newsletter.subject");
17
- }), u = n("~-- KB"), m = n(0), l = n("success"), s = n(), p = n("400px"), v = () => {
18
- if (!t.emailHtml)
19
- return;
20
- const e = new Blob([t.emailHtml]).size, o = Math.round(e / 1024);
21
- u.value = `~${o} KB`, m.value = Math.min(o, r), o < r ? l.value = "success" : l.value = "warning";
22
- }, c = () => {
23
- if (!s.value)
24
- return;
25
- const e = s.value.querySelector(".in-container");
26
- if (!e)
27
- return;
28
- const o = e.getBoundingClientRect(), f = e.querySelector(".in-container__header"), H = f ? f.getBoundingClientRect().height : 0, b = o.height - H;
29
- p.value = `${b}px`;
30
- }, a = n();
31
- return B(() => {
32
- c(), a.value = new ResizeObserver(() => {
33
- c();
34
- }), s.value && a.value.observe(s.value);
35
- }), w(() => {
36
- a.value && a.value.disconnect();
37
- }), z(() => t.emailHtml, v, { immediate: !0 }), { __sfc: !0, MAX_EMAIL_WEIGHT: r, trans: i, props: t, senderName: g, subject: _, emailSize: u, progressValue: m, progressType: l, containerRef: s, iframeHeight: p, calculateEmailSize: v, calculateIframeHeight: c, resizeObserver: a, InContainer: C, InIcons: y, InProgress: R, InTooltip: M };
38
- }
39
- });
40
- export {
41
- j as default
42
- };
@@ -1,16 +0,0 @@
1
- import type { EmailData } from '@@/Types/generic';
2
- interface Props {
3
- isVisible: boolean;
4
- emailData?: EmailData;
5
- }
6
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
7
- export default _default;
8
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
- type __VLS_TypePropsToOption<T> = {
10
- [K in keyof T]-?: {} extends Pick<T, K> ? {
11
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
- } : {
13
- type: import('vue').PropType<T[K]>;
14
- required: true;
15
- };
16
- };
@@ -1,17 +0,0 @@
1
- import i from "./EmailPreview.vue2.js";
2
- import e from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var r = function() {
4
- var t = this, s = t._self._c, a = t._self._setupProxy;
5
- return t.isVisible ? s("div", { staticClass: "d-f f-d-c h-1 b-c-5 bor-r-2 pb-5" }, [s("div", { staticClass: "f-g-1 d-f p-5 o-a g-4 min-h-600" }, [a.isLoading ? [s("div", { staticClass: "d-f a-i-c j-c-c w-1 h-1 f-g-1" }, [s(a.InLoading, { attrs: { "color-class": "i-c-1", size: "32" } })], 1)] : [s(a.DesktopPreview, { staticClass: "f-g-1 min-w-0", attrs: { "email-data": t.emailData, "email-html": a.currentHtml } }), s(a.MobilePreview, { staticClass: "f-0 min-w-a", attrs: { "email-data": t.emailData, "email-html": a.currentHtml, "is-amp": a.isAmp } })]], 2)]) : t._e();
6
- }, l = [], m = /* @__PURE__ */ e(
7
- i,
8
- r,
9
- l,
10
- !1,
11
- null,
12
- null
13
- );
14
- const f = m.exports;
15
- export {
16
- f as default
17
- };
@@ -1,33 +0,0 @@
1
- import { defineComponent as u, ref as l, computed as n, watch as d, onMounted as v } from "vue";
2
- import { useActionsApi as w } from "../../../composables/useActionsApi.js";
3
- import { useToaster as y } from "../../../composables/useToaster.js";
4
- import { useEditorStore as P } from "../../../stores/editor.js";
5
- import { InLoading as _ } from "@useinsider/design-system-vue";
6
- import g from "./DesktopPreview.vue.js";
7
- import h from "./MobilePreview.vue.js";
8
- const L = /* @__PURE__ */ u({
9
- __name: "EmailPreview",
10
- props: {
11
- isVisible: { type: Boolean },
12
- emailData: null
13
- },
14
- setup(p) {
15
- const o = p, { getPreviewData: s } = w(), { showToaster: m } = y(), e = P(), t = l(""), r = l(!1), c = n(() => e.emailFormat === "amp" && e.ampHtml ? e.ampHtml : t.value), f = n(() => e.emailFormat === "amp"), a = async () => {
16
- r.value = !0;
17
- try {
18
- const i = await s();
19
- t.value = i.html;
20
- } catch {
21
- console.error("Failed to load preview"), m({ type: "error", message: "Failed to load email preview. Please try again later." });
22
- } finally {
23
- r.value = !1;
24
- }
25
- };
26
- return d(() => o.isVisible, (i) => i && a()), v(() => {
27
- o.isVisible && a();
28
- }), { __sfc: !0, props: o, getPreviewData: s, showToaster: m, editorStore: e, html: t, isLoading: r, currentHtml: c, isAmp: f, loadPreview: a, InLoading: _, DesktopPreview: g, MobilePreview: h };
29
- }
30
- });
31
- export {
32
- L as default
33
- };
@@ -1,18 +0,0 @@
1
- interface Props {
2
- emailHtml: string;
3
- isAmp?: boolean;
4
- }
5
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
6
- "back-to-inbox": () => void;
7
- load: () => void;
8
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
9
- export default _default;
10
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
- type __VLS_TypePropsToOption<T> = {
12
- [K in keyof T]-?: {} extends Pick<T, K> ? {
13
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
14
- } : {
15
- type: import('vue').PropType<T[K]>;
16
- required: true;
17
- };
18
- };
@@ -1,19 +0,0 @@
1
- import n from "./EmailView.vue2.js";
2
- import c from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var e = function() {
4
- var a = this, s = a._self._c, t = a._self._setupProxy;
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(r) {
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: a.emailHtml }, on: { load: t.onLoad } })]);
8
- }, i = [], o = /* @__PURE__ */ c(
9
- n,
10
- e,
11
- i,
12
- !1,
13
- null,
14
- null
15
- );
16
- const d = o.exports;
17
- export {
18
- d as default
19
- };
@@ -1,24 +0,0 @@
1
- import { defineComponent as p, ref as c } from "vue";
2
- import { useMobileGmailFit as u } from "../../../composables/useMobileGmailFit.js";
3
- import { useTranslations as f } from "../../../composables/useTranslations.js";
4
- import { InIcons as d } from "@useinsider/design-system-vue";
5
- const E = /* @__PURE__ */ p({
6
- __name: "EmailView",
7
- props: {
8
- emailHtml: null,
9
- isAmp: { type: Boolean }
10
- },
11
- emits: ["back-to-inbox", "load"],
12
- setup(l, { emit: t }) {
13
- const o = l, a = f(), n = c(), { setupMobileGmailFit: m } = u(), s = () => !!o.isAmp && o.emailHtml.includes("@media") && o.emailHtml.includes(".adapt-img"), r = (e) => {
14
- e.documentElement.style.removeProperty("transform"), e.documentElement.style.removeProperty("transform-origin"), e.documentElement.style.removeProperty("height");
15
- };
16
- return { __sfc: !0, props: o, emit: t, trans: a, iframeRef: n, setupMobileGmailFit: m, isAmpResponsive: s, clearAmpTransforms: r, onLoad: () => {
17
- const e = n.value, i = e == null ? void 0 : e.contentDocument;
18
- !e || !i || (m(e), s() && setTimeout(() => r(i), 50), t("load"));
19
- }, InIcons: d };
20
- }
21
- });
22
- export {
23
- E as default
24
- };
@@ -1,17 +0,0 @@
1
- import type { EmailData } from '@@/Types/generic';
2
- interface Props {
3
- emailData?: EmailData;
4
- }
5
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
6
- "open-email": () => void;
7
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
8
- export default _default;
9
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
- type __VLS_TypePropsToOption<T> = {
11
- [K in keyof T]-?: {} extends Pick<T, K> ? {
12
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
13
- } : {
14
- type: import('vue').PropType<T[K]>;
15
- required: true;
16
- };
17
- };
@@ -1,19 +0,0 @@
1
- import a from "./InboxView.vue2.js";
2
- import e from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var n = function() {
4
- var s = this, t = s._self._c, c = s._self._setupProxy;
5
- return t("div", { staticClass: "p-y-13 p-x-3 bor-b-w-1 bor-b-s-s bor-b-c-50 cur-p b-c-4 b-c-h-5 p-3", on: { click: function(l) {
6
- return s.$emit("open-email");
7
- } } }, [t("div", { staticClass: "d-f j-c-s-b a-i-c w-1" }, [t("div", { staticClass: "f-g-1 min-w-0-s" }, [t("div", { staticClass: "f-s-1 f-w-600 t-c-53 l-h-1 mb-12" }, [s._v(" " + s._s(c.senderName) + " ")]), t("div", { staticClass: "f-s-12 f-w-400 t-c-55 l-h-1" }, [s._v(" " + s._s(c.subject) + " ")])]), t("div", { staticClass: "f-sh-0 ml-2 f-s-12 f-w-400 t-c-55 l-h-1" }, [s._v(" " + s._s(c.trans("product-catalog.today")) + " ")]), t(c.InIcons, { staticClass: "i-c-52", attrs: { name: "line-chevron-right" } })], 1)]);
8
- }, r = [], i = /* @__PURE__ */ e(
9
- a,
10
- n,
11
- r,
12
- !1,
13
- null,
14
- null
15
- );
16
- const m = i.exports;
17
- export {
18
- m as default
19
- };
@@ -1,23 +0,0 @@
1
- import { defineComponent as r, computed as n } from "vue";
2
- import { useTranslations as i } from "../../../composables/useTranslations.js";
3
- import { InIcons as c } from "@useinsider/design-system-vue";
4
- const f = /* @__PURE__ */ r({
5
- __name: "InboxView",
6
- props: {
7
- emailData: null
8
- },
9
- emits: ["open-email"],
10
- setup(o) {
11
- const t = o, s = i(), a = n(() => {
12
- var e;
13
- return ((e = t.emailData) == null ? void 0 : e.senderName) || `(${s("settings.sender-name")})`;
14
- }), m = n(() => {
15
- var e;
16
- return ((e = t.emailData) == null ? void 0 : e.subject) || s("newsletter.subject");
17
- });
18
- return { __sfc: !0, props: t, trans: s, senderName: a, subject: m, InIcons: c };
19
- }
20
- });
21
- export {
22
- f as default
23
- };
@@ -1,17 +0,0 @@
1
- import type { EmailData } from '@@/Types/generic';
2
- interface Props {
3
- emailHtml: string;
4
- isAmp: boolean;
5
- emailData?: EmailData;
6
- }
7
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
8
- export default _default;
9
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
- type __VLS_TypePropsToOption<T> = {
11
- [K in keyof T]-?: {} extends Pick<T, K> ? {
12
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
13
- } : {
14
- type: import('vue').PropType<T[K]>;
15
- required: true;
16
- };
17
- };
@@ -1,17 +0,0 @@
1
- import e from "./MobilePreview.vue2.js";
2
- import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
4
- var t = this, s = t._self._c, a = t._self._setupProxy;
5
- return s("div", { staticClass: "d-f j-c-c pl-5" }, [s("div", { staticClass: "p-r w-35-s h-26-s" }, [s("img", { staticClass: "w-1 h-1 d-b p-e-n", attrs: { alt: a.mockupAlt, src: a.mockupImage } }), s("div", { staticClass: "p-a w-21-s h-24-s o-h", style: { top: a.phoneScreenTopMargin, left: "20px" } }, [a.showInbox ? s(a.InboxView, { attrs: { "email-data": a.props.emailData }, on: { "open-email": a.openEmail } }) : s(a.EmailView, { attrs: { "email-html": t.emailHtml, "is-amp": t.isAmp }, on: { "back-to-inbox": a.backToInbox } })], 1)])]);
6
- }, l = [], n = /* @__PURE__ */ o(
7
- e,
8
- i,
9
- l,
10
- !1,
11
- null,
12
- null
13
- );
14
- const c = n.exports;
15
- export {
16
- c as default
17
- };
@@ -1,24 +0,0 @@
1
- import { defineComponent as l, ref as s, computed as e } from "vue";
2
- import c from "../../../static/assets/inbox-mockup.svg.js";
3
- import u from "../../../static/assets/phone-mockup.svg.js";
4
- import f from "./EmailView.vue.js";
5
- import v from "./InboxView.vue.js";
6
- const I = /* @__PURE__ */ l({
7
- __name: "MobilePreview",
8
- props: {
9
- emailHtml: null,
10
- isAmp: { type: Boolean },
11
- emailData: null
12
- },
13
- setup(n) {
14
- const m = n, o = s(!1), p = e(() => o.value ? c : u), t = e(() => o.value ? "Inbox mockup" : "Phone mockup"), r = () => {
15
- o.value = !1;
16
- }, a = () => {
17
- o.value = !0;
18
- }, i = e(() => o.value ? "88px" : "44px");
19
- return { __sfc: !0, props: m, showInbox: o, mockupImage: p, mockupAlt: t, openEmail: r, backToInbox: a, phoneScreenTopMargin: i, EmailView: f, InboxView: v };
20
- }
21
- });
22
- export {
23
- I as default
24
- };
@@ -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,17 +0,0 @@
1
- import t from "./AmpToggle.vue2.js";
2
- import s from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var a = function() {
4
- var e = this, o = e._self._c, r = e._self._setupProxy;
5
- return r.editorStore.isPreviewModeOpen ? o("div", [o("div", { staticClass: "d-f a-i-c ml-3" }, [o(r.InSegments, { attrs: { id: "guido__amp-toggle", "segment-list": r.segmentList, selected: r.editorStore.emailFormat }, on: { click: r.handleFormatChange } }), r.showErrorButton ? o(r.InButtonV2, { staticClass: "ml-2 d-f a-i-c b-c-11 b-c-h-11 t-c-4 t-c-h-4 i-c-4 bor-w-1 bor-s-s bor-c-11 bor-r-2", attrs: { id: "guido__amp-error-button", "left-icon": "line-error-box", type: "danger", "label-text-status": !1 }, on: { click: r.handleErrorClick } }) : e._e()], 1), r.showErrorModal ? o(r.AmpErrorModal, { attrs: { errors: r.editorStore.ampErrors || [] }, on: { close: r.closeErrorModal } }) : e._e()], 1) : e._e();
6
- }, n = [], l = /* @__PURE__ */ s(
7
- t,
8
- a,
9
- n,
10
- !1,
11
- null,
12
- null
13
- );
14
- const d = l.exports;
15
- export {
16
- d as default
17
- };
@@ -1,48 +0,0 @@
1
- import { defineComponent as h, ref as v, computed as r, watch as E } from "vue";
2
- import { useActionsApi as g } from "../../../composables/useActionsApi.js";
3
- import { useToaster as w } from "../../../composables/useToaster.js";
4
- import { useTranslations as M } from "../../../composables/useTranslations.js";
5
- import A from "../design-preview/AmpErrorModal.vue.js";
6
- import { useEditorStore as _ } from "../../../stores/editor.js";
7
- import { InButtonV2 as P, InSegments as y } from "@useinsider/design-system-vue";
8
- const D = /* @__PURE__ */ h({
9
- __name: "AmpToggle",
10
- setup(F) {
11
- const t = _(), { getPreviewData: s } = g(), { showToaster: l } = w(), e = M(), a = v(!1), m = r(() => !!t.ampHtml), n = r(() => !!(t.ampErrors && t.ampErrors.length > 0)), p = r(() => [
12
- { text: e("dynamic-creatives.html"), value: "html" },
13
- {
14
- text: e("email-editor.amp-html"),
15
- value: "amp",
16
- tooltipText: m.value ? "" : e("email-editor.preview-amp-unavailable-tooltip"),
17
- position: "bottom",
18
- align: "center",
19
- disable: !m.value
20
- }
21
- ]), i = async () => {
22
- try {
23
- const o = await s();
24
- t.ampHtml = o.ampHtml ?? null, t.ampErrors = o.ampErrors ?? null, t.emailFormat = o.ampHtml ? "amp" : "html";
25
- } catch {
26
- l({
27
- type: "error",
28
- message: "Failed to load AMP data. Please try again later."
29
- });
30
- }
31
- };
32
- E([() => t.editorVisualMode, () => t.isPreviewModeOpen], () => {
33
- t.isPreviewModeOpen && i();
34
- }, { immediate: !0 });
35
- const c = (o) => {
36
- t.emailFormat = o;
37
- }, u = () => {
38
- a.value = !0;
39
- }, d = r(() => t.emailFormat === "amp" && n.value);
40
- function f() {
41
- a.value = !1;
42
- }
43
- return { __sfc: !0, editorStore: t, getPreviewData: s, showToaster: l, trans: e, showErrorModal: a, hasAMP: m, hasAMPErrors: n, segmentList: p, updateAmpData: i, handleFormatChange: c, handleErrorClick: u, showErrorButton: d, closeErrorModal: f, AmpErrorModal: A, InSegments: y, InButtonV2: P };
44
- }
45
- });
46
- export {
47
- D as default
48
- };
@@ -1,4 +0,0 @@
1
- export declare const useDebounce: () => {
2
- debounce: (fn: () => void, ms?: number) => void;
3
- clearDebounce: () => void;
4
- };
@@ -1,12 +0,0 @@
1
- import { ref as c } from "vue";
2
- const r = () => {
3
- const e = c(void 0);
4
- return { debounce: (o, u = 150) => {
5
- e.value && window.clearTimeout(e.value), e.value = window.setTimeout(o, u);
6
- }, clearDebounce: () => {
7
- e.value && (window.clearTimeout(e.value), e.value = void 0);
8
- } };
9
- };
10
- export {
11
- r as useDebounce
12
- };
@@ -1,5 +0,0 @@
1
- export declare const useMobileGmailFit: () => {
2
- setupMobileGmailFit: (iframe: HTMLIFrameElement) => void;
3
- tearDownMobileGmailFit: (iframe: HTMLIFrameElement) => void;
4
- hasResponsiveMetaViewport: (doc: Document) => boolean;
5
- };
@@ -1,69 +0,0 @@
1
- import { useDebounce as p } from "./useDebounce.js";
2
- import { META_VIEWPORT_REGEX as h, INLINE_WIDTH_REGEX as w, EMAIL_CONTAINER_SELECTORS as f, DEFAULT_EMAIL_WIDTH as b, MIN_SCALE as v, TABLE_WIDTH_REGEX as A, RESIZE_DEBOUNCE_MS as u } from "../enums/gmailMobilePreview.js";
3
- let a = null, c = null;
4
- const { debounce: y } = p(), M = (t) => {
5
- if (!t)
6
- return null;
7
- const e = t.match(A);
8
- if (!e)
9
- return null;
10
- const r = Number(e[1]);
11
- return Number.isNaN(r) ? null : r;
12
- }, g = (t) => {
13
- const e = Array.from(t.querySelectorAll("table[width]")).reduce(
14
- (n, i) => {
15
- const o = M(i.getAttribute("width"));
16
- return o && o > n ? o : n;
17
- },
18
- 0
19
- ), r = Array.from(t.querySelectorAll('[style*="width"]')).reduce(
20
- (n, i) => {
21
- const l = (i.getAttribute("style") || "").match(w);
22
- if (!l)
23
- return n;
24
- const m = Number(l[1]);
25
- return !Number.isNaN(m) && m > n ? m : n;
26
- },
27
- 0
28
- ), s = f.reduce((n, i) => {
29
- const o = t.querySelector(i);
30
- if (!o)
31
- return n;
32
- const l = Math.max(o.offsetWidth, o.scrollWidth);
33
- return l > n ? l : n;
34
- }, 0);
35
- return Math.max(e, r, s) || b;
36
- }, N = (t) => {
37
- t.documentElement.style.setProperty("overflow-x", "visible", "important"), t.body.style.setProperty("visibility", "visible", "important");
38
- }, S = (t) => {
39
- t.documentElement.style.removeProperty("transform"), t.documentElement.style.removeProperty("transform-origin"), t.documentElement.style.removeProperty("height"), t.body.style.removeProperty("overflow-x");
40
- }, d = (t) => {
41
- const e = t.querySelector('meta[name="viewport"]');
42
- if (!e)
43
- return !1;
44
- const r = e.getAttribute("content") || "";
45
- return h.test(r);
46
- }, W = (t, e) => {
47
- const r = g(t), s = e / r, n = Math.min(Math.max(s, v), 1);
48
- t.documentElement.style.setProperty("height", "100%", "important"), t.documentElement.style.setProperty("transform", `scale(${n})`, "important"), t.documentElement.style.setProperty("transform-origin", "top left", "important"), t.body.style.setProperty("overflow-x", "hidden", "important");
49
- }, E = (t) => {
50
- const e = t.contentWindow;
51
- c && e && e.removeEventListener("resize", c), a && window.removeEventListener("resize", a), c = null, a = null;
52
- }, P = () => ({ setupMobileGmailFit: (e) => {
53
- const r = e.contentDocument, s = e.contentWindow;
54
- if (!r || !s)
55
- return;
56
- N(r);
57
- const n = () => {
58
- const i = e.clientWidth || e.getBoundingClientRect().width || 375;
59
- if (d(r)) {
60
- S(r);
61
- return;
62
- }
63
- W(r, i);
64
- };
65
- n(), E(e), c = () => y(n, u), s.addEventListener("resize", c), a = () => y(n, u), window.addEventListener("resize", a);
66
- }, tearDownMobileGmailFit: E, hasResponsiveMetaViewport: d });
67
- export {
68
- P as useMobileGmailFit
69
- };
@@ -1,7 +0,0 @@
1
- export declare const DEFAULT_EMAIL_WIDTH = 600;
2
- export declare const MIN_SCALE = 0.2;
3
- export declare const RESIZE_DEBOUNCE_MS = 100;
4
- export declare const INLINE_WIDTH_REGEX: RegExp;
5
- export declare const TABLE_WIDTH_REGEX: RegExp;
6
- export declare const META_VIEWPORT_REGEX: RegExp;
7
- export declare const EMAIL_CONTAINER_SELECTORS: readonly [".wrapper", ".container", "#wrapper", "#container", "[data-email-container]", "[role=\"presentation\"]"];
@@ -1,17 +0,0 @@
1
- const E = 600, t = 0.2, n = 100, o = /width\s*:\s*(\d+(\.\d+)?)px/i, _ = /^(\d+(\.\d+)?)(px)?$/i, e = /width\s*=\s*device-width/i, i = [
2
- ".wrapper",
3
- ".container",
4
- "#wrapper",
5
- "#container",
6
- "[data-email-container]",
7
- '[role="presentation"]'
8
- ];
9
- export {
10
- E as DEFAULT_EMAIL_WIDTH,
11
- i as EMAIL_CONTAINER_SELECTORS,
12
- o as INLINE_WIDTH_REGEX,
13
- e as META_VIEWPORT_REGEX,
14
- t as MIN_SCALE,
15
- n as RESIZE_DEBOUNCE_MS,
16
- _ as TABLE_WIDTH_REGEX
17
- };
@@ -1,4 +0,0 @@
1
- const e = "data:image/svg+xml,%3csvg%20width='344'%20height='713'%20viewBox='0%200%20344%20713'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='344'%20height='712.056'%20rx='44'%20fill='white'/%3e%3cpath%20d='M152.709%2071V61.9H153.814V71H152.709ZM155.939%2071V64.5H156.914L156.979%2065.696V71H155.939ZM160.502%2071V67.672H161.542V71H160.502ZM160.502%2067.672C160.502%2067.0307%20160.429%2066.541%20160.281%2066.203C160.134%2065.865%20159.93%2065.6353%20159.67%2065.514C159.41%2065.384%20159.116%2065.319%20158.786%2065.319C158.214%2065.319%20157.768%2065.5227%20157.447%2065.93C157.135%2066.3287%20156.979%2066.8963%20156.979%2067.633H156.472C156.472%2066.9483%20156.572%2066.359%20156.771%2065.865C156.971%2065.371%20157.261%2064.994%20157.642%2064.734C158.024%2064.474%20158.483%2064.344%20159.02%2064.344C159.532%2064.344%20159.974%2064.448%20160.346%2064.656C160.728%2064.8553%20161.022%2065.176%20161.23%2065.618C161.447%2066.06%20161.551%2066.6407%20161.542%2067.36V67.672H160.502ZM163.188%2071V61.9H164.228V69.791L164.176%2071H163.188ZM166.425%2071.156C165.879%2071.156%20165.398%2071.013%20164.982%2070.727C164.575%2070.441%20164.259%2070.0423%20164.033%2069.531C163.808%2069.011%20163.695%2068.4173%20163.695%2067.75C163.695%2067.074%20163.808%2066.4803%20164.033%2065.969C164.259%2065.4577%20164.575%2065.059%20164.982%2064.773C165.398%2064.487%20165.879%2064.344%20166.425%2064.344C167.006%2064.344%20167.517%2064.487%20167.959%2064.773C168.401%2065.059%20168.744%2065.4577%20168.986%2065.969C169.238%2066.4803%20169.363%2067.074%20169.363%2067.75C169.363%2068.4173%20169.238%2069.011%20168.986%2069.531C168.744%2070.0423%20168.401%2070.441%20167.959%2070.727C167.517%2071.013%20167.006%2071.156%20166.425%2071.156ZM166.191%2070.207C166.599%2070.207%20166.958%2070.103%20167.27%2069.895C167.591%2069.687%20167.842%2069.3967%20168.024%2069.024C168.215%2068.6513%20168.31%2068.2267%20168.31%2067.75C168.31%2067.2733%20168.219%2066.8487%20168.037%2066.476C167.864%2066.1033%20167.617%2065.813%20167.296%2065.605C166.976%2065.397%20166.612%2065.293%20166.204%2065.293C165.823%2065.293%20165.481%2065.397%20165.177%2065.605C164.883%2065.813%20164.649%2066.1033%20164.475%2066.476C164.311%2066.8487%20164.228%2067.2733%20164.228%2067.75C164.228%2068.2267%20164.311%2068.6513%20164.475%2069.024C164.649%2069.3967%20164.883%2069.687%20165.177%2069.895C165.472%2070.103%20165.81%2070.207%20166.191%2070.207ZM173.679%2071.156C173.046%2071.156%20172.483%2071.013%20171.989%2070.727C171.503%2070.4323%20171.122%2070.0293%20170.845%2069.518C170.567%2069.0067%20170.429%2068.4173%20170.429%2067.75C170.429%2067.0827%20170.563%2066.4933%20170.832%2065.982C171.109%2065.4707%20171.49%2065.072%20171.976%2064.786C172.47%2064.4913%20173.029%2064.344%20173.653%2064.344C174.294%2064.344%20174.857%2064.4913%20175.343%2064.786C175.837%2065.072%20176.218%2065.4707%20176.487%2065.982C176.764%2066.4933%20176.903%2067.0827%20176.903%2067.75C176.903%2068.4173%20176.764%2069.0067%20176.487%2069.518C176.218%2070.0293%20175.841%2070.4323%20175.356%2070.727C174.87%2071.013%20174.311%2071.156%20173.679%2071.156ZM173.679%2070.194C174.112%2070.194%20174.489%2070.09%20174.81%2069.882C175.13%2069.674%20175.382%2069.388%20175.564%2069.024C175.754%2068.66%20175.85%2068.2353%20175.85%2067.75C175.85%2067.2647%20175.754%2066.84%20175.564%2066.476C175.382%2066.112%20175.126%2065.826%20174.797%2065.618C174.467%2065.41%20174.086%2065.306%20173.653%2065.306C173.228%2065.306%20172.851%2065.41%20172.522%2065.618C172.201%2065.826%20171.945%2066.112%20171.755%2066.476C171.573%2066.84%20171.482%2067.2647%20171.482%2067.75C171.482%2068.2267%20171.573%2068.6513%20171.755%2069.024C171.945%2069.388%20172.205%2069.674%20172.535%2069.882C172.873%2070.09%20173.254%2070.194%20173.679%2070.194ZM177.503%2071L180.155%2067.269L182.027%2064.5H183.262L180.792%2068.01L178.764%2071H177.503ZM182.17%2071L180.168%2068.01L177.672%2064.5H178.907L180.792%2067.269L183.418%2071H182.17Z'%20fill='%23989898'/%3e%3cline%20x1='12'%20y1='86.5'%20x2='332'%20y2='86.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='150.5'%20x2='316'%20y2='150.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='214.5'%20x2='316'%20y2='214.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='278.5'%20x2='316'%20y2='278.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='342.5'%20x2='316'%20y2='342.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='406.5'%20x2='316'%20y2='406.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='470.5'%20x2='316'%20y2='470.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='534.5'%20x2='316'%20y2='534.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3cline%20x1='28'%20y1='598.5'%20x2='316'%20y2='598.5'%20stroke='black'%20stroke-opacity='0.07'/%3e%3crect%20width='320'%20height='64'%20transform='translate(12%20626)'%20fill='white'/%3e%3crect%20x='28'%20y='644'%20width='20'%20height='20'%20fill='url(%23pattern0_24_102)'/%3e%3crect%20x='292'%20y='642'%20width='24'%20height='24'%20fill='url(%23pattern1_24_102)'/%3e%3cpath%20d='M54.6454%2035V29.1943H54.5624L52.8095%2030.4346V29.248L54.6503%2027.9541H55.9052V35H54.6454ZM60.7072%2035V33.6475H57.2599V32.6172C58.173%2031.0303%2059.174%2029.4092%2060.131%2027.9541H61.9132V32.6074H62.8605V33.6475H61.9132V35H60.7072ZM58.4318%2032.6367H60.7267V28.96H60.6535C59.9308%2030.0635%2059.1154%2031.3672%2058.4318%2032.5635V32.6367ZM64.6742%2030.4346C64.2298%2030.4346%2063.8978%2030.0928%2063.8978%2029.6631C63.8978%2029.2285%2064.2298%2028.8916%2064.6742%2028.8916C65.1234%2028.8916%2065.4505%2029.2285%2065.4505%2029.6631C65.4505%2030.0928%2065.1234%2030.4346%2064.6742%2030.4346ZM64.6742%2034.0576C64.2298%2034.0576%2063.8978%2033.7207%2063.8978%2033.2861C63.8978%2032.8516%2064.2298%2032.5146%2064.6742%2032.5146C65.1234%2032.5146%2065.4505%2032.8516%2065.4505%2033.2861C65.4505%2033.7207%2065.1234%2034.0576%2064.6742%2034.0576ZM66.688%2035V34.1504L69.0025%2031.7871C69.9595%2030.8203%2070.2281%2030.4639%2070.2281%2029.9219V29.9072C70.2281%2029.2578%2069.7837%2028.7891%2069.0513%2028.7891C68.3042%2028.7891%2067.8013%2029.2822%2067.8013%2030.0098L67.7964%2030.0293L66.6246%2030.0244L66.6197%2030.0098C66.6197%2028.6963%2067.6451%2027.7783%2069.1148%2027.7783C70.4869%2027.7783%2071.4732%2028.6133%2071.4732%2029.7998V29.8145C71.4732%2030.6152%2071.0875%2031.25%2069.8033%2032.4854L68.3921%2033.8525V33.9551H71.5806V35H66.688ZM75.1521%2035.1758C73.4773%2035.1758%2072.4714%2033.7549%2072.4714%2031.4795V31.4697C72.4714%2029.1943%2073.4773%2027.7783%2075.1521%2027.7783C76.8269%2027.7783%2077.8425%2029.1943%2077.8425%2031.4697V31.4795C77.8425%2033.7549%2076.8269%2035.1758%2075.1521%2035.1758ZM75.1521%2034.1553C76.0505%2034.1553%2076.573%2033.1494%2076.573%2031.4795V31.4697C76.573%2029.7998%2076.0505%2028.8037%2075.1521%2028.8037C74.2537%2028.8037%2073.741%2029.7998%2073.741%2031.4697V31.4795C73.741%2033.1494%2074.2537%2034.1553%2075.1521%2034.1553Z'%20fill='black'/%3e%3cpath%20d='M257.835%2028C257.835%2027.5398%20258.208%2027.1667%20258.668%2027.1667H259.501C259.961%2027.1667%20260.335%2027.5398%20260.335%2028V34.6667C260.335%2035.1269%20259.961%2035.5%20259.501%2035.5H258.668C258.208%2035.5%20257.835%2035.1269%20257.835%2034.6667V28Z'%20fill='black'/%3e%3cpath%20d='M262.001%2026.3333C262.001%2025.8731%20262.374%2025.5%20262.835%2025.5H263.668C264.128%2025.5%20264.501%2025.8731%20264.501%2026.3333V34.6667C264.501%2035.1269%20264.128%2035.5%20263.668%2035.5H262.835C262.374%2035.5%20262.001%2035.1269%20262.001%2034.6667V26.3333Z'%20fill='black'/%3e%3cpath%20d='M253.668%2030.9167C253.668%2030.4564%20254.041%2030.0833%20254.501%2030.0833H255.335C255.795%2030.0833%20256.168%2030.4564%20256.168%2030.9167V34.6667C256.168%2035.1269%20255.795%2035.5%20255.335%2035.5H254.501C254.041%2035.5%20253.668%2035.1269%20253.668%2034.6667V30.9167Z'%20fill='black'/%3e%3cpath%20d='M249.501%2033C249.501%2032.5398%20249.874%2032.1667%20250.335%2032.1667H251.168C251.628%2032.1667%20252.001%2032.5398%20252.001%2033V34.6667C252.001%2035.1269%20251.628%2035.5%20251.168%2035.5H250.335C249.874%2035.5%20249.501%2035.1269%20249.501%2034.6667V33Z'%20fill='black'/%3e%3cpath%20d='M277.668%2033.0361C278.868%2032.0006%20280.625%2032.0004%20281.824%2033.0361C281.885%2033.0918%20281.919%2033.1709%20281.921%2033.2539C281.923%2033.3368%20281.891%2033.4165%20281.833%2033.4746L279.954%2035.4102C279.899%2035.4669%20279.825%2035.499%20279.746%2035.499C279.668%2035.499%20279.592%2035.467%20279.537%2035.4102L277.658%2033.4746C277.601%2033.4165%20277.569%2033.3367%20277.571%2033.2539C277.572%2033.1709%20277.608%2033.0918%20277.668%2033.0361ZM275.128%2030.7197C277.713%2028.2656%20281.716%2028.2656%20284.301%2030.7197C284.359%2030.7773%20284.392%2030.8567%20284.393%2030.9395C284.394%2031.0223%20284.362%2031.1024%20284.305%2031.1611L283.219%2032.2812C283.107%2032.3954%20282.926%2032.3974%20282.812%2032.2861C281.963%2031.5016%20280.858%2031.0673%20279.713%2031.0674C278.569%2031.068%20277.466%2031.5022%20276.617%2032.2861C276.503%2032.3974%20276.322%2032.3953%20276.21%2032.2812L275.124%2031.1611C275.067%2031.1025%20275.036%2031.0223%20275.036%2030.9395C275.037%2030.8567%20275.07%2030.7772%20275.128%2030.7197ZM272.591%2028.4082C276.556%2024.5301%20282.81%2024.5301%20286.775%2028.4082C286.832%2028.4658%20286.864%2028.5448%20286.865%2028.627C286.865%2028.7088%20286.834%2028.7875%20286.778%2028.8457L285.69%2029.9658C285.578%2030.0808%20285.396%2030.0819%20285.282%2029.9688C283.772%2028.503%20281.767%2027.6856%20279.683%2027.6855C277.599%2027.6857%20275.594%2028.503%20274.083%2029.9688C273.97%2030.0821%20273.788%2030.0809%20273.676%2029.9658L272.588%2028.8457C272.532%2028.7874%20272.501%2028.708%20272.501%2028.626C272.502%2028.5441%20272.534%2028.4656%20272.591%2028.4082Z'%20fill='black'/%3e%3cpath%20opacity='0.35'%20d='M298.865%2026H309.865C311.245%2026%20312.365%2027.1193%20312.365%2028.5V31.5C312.365%2032.8807%20311.245%2034%20309.865%2034H298.865C297.484%2034%20296.365%2032.8807%20296.365%2031.5V28.5C296.365%2027.1193%20297.484%2026%20298.865%2026Z'%20stroke='black'/%3e%3cpath%20opacity='0.4'%20d='M313.865%2028.5V31.5C314.47%2031.2459%20314.865%2030.6549%20314.865%2030C314.865%2029.3451%20314.47%2028.7541%20313.865%2028.5Z'%20fill='black'/%3e%3cpath%20d='M297.865%2028.5C297.865%2027.9477%20298.312%2027.5%20298.865%2027.5H309.865C310.417%2027.5%20310.865%2027.9477%20310.865%2028.5V31.5C310.865%2032.0523%20310.417%2032.5%20309.865%2032.5H298.865C298.312%2032.5%20297.865%2032.0523%20297.865%2031.5V28.5Z'%20fill='black'/%3e%3cg%20opacity='0.8'%3e%3crect%20x='127'%20y='690'%20width='90'%20height='4'%20rx='2'%20fill='%230F1218'%20style='mix-blend-mode:darken'/%3e%3c/g%3e%3crect%20x='131'%20y='20'%20width='83'%20height='22'%20rx='11'%20fill='%2324262D'/%3e%3cdefs%3e%3cpattern%20id='pattern0_24_102'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_24_102'%20transform='scale(0.02)'/%3e%3c/pattern%3e%3cpattern%20id='pattern1_24_102'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image1_24_102'%20transform='scale(0.0208333)'/%3e%3c/pattern%3e%3cimage%20id='image0_24_102'%20width='50'%20height='50'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEL0lEQVR4nO1aS48UVRS+xAcajIqKutSl0Sh/wifia+drB9ENMEG3OK7FWRTTfb/vVKfTSS97qSFGEzGIGhBE2MigsFJZKLoTJWjafD3nJpVM10x3Tz9qCF9SSc/cW6fuqXPuOed+p0K4gesUjUbjHjN7ieRBkodJLpH8E8BVXf77nI8dBPBijHFrqAJardZtMcY3SX5G8j+S3WEuAP8C+JTkG1mWbZ66AgsLC7eb2TsALhUW9g+AI2Z2QJap1+uP6I2b2S269Fv/0xiA90h+oXsKSv1Kcr9ezlSUMLMdJC8WFnDSzHaZ2V3Dymq1WncD2E3yVEHeBTN7dqJuxGWkB35nZk+NSz7JZwB8X7BwfezWqdVqD2rhrsBfJPd0Op2bxvqQEIJkAthH8kqydqPReGAswvM8f1jmdsHnYoyPhQmjXq8/DuC8W+YnrWFdApvN5rYkEMC3ZnZfmBJijFtJfuXKXJRXjCRI/llwp2/a7faWMGW02+0tAI4nNxtpz6SNLXdSsgszwuLi4r0FN6uPEmJ7G3sae2KQPUMPAIpuAye7Qp7YEyoCknNp8w/kYgDeTXliEiF2VMzPz99M8owrM7fqZNU7XipIkSdDxQDgOV/bpVWtouItRYhQQXS73U0pkprZa6UTvYrVpF39xgEcG7bCHfUCcKxkDW/5+Cd9lVCIVVmtirSsAJymIiS/LEuUfr651nedAF52AZ+HigPAUV/rzn6DH7pbHQgVB4D33b0+WDHoR9BujPGFUHHAvQfARysGSf6oQZ3iQsWR5/mj7lpLKwYB/KHBWdZVg0JVuFvktxWDHgm6nU7n1lBxZFm2OfEE61ZkEqEYJbljKEVIXtagyuZZKcKS3LGKa/1+/W52evgVAxgqDpKvlIbflBBFnoWNnBBtmbfV4JGwQUqUGOPzZcVYr2gUAxgqisZycdsrGrMsu7PvJCeUZZXdoaIg+bZv9MOlkwC87pNODSp4HGF40PzR7XY3kTzt97y6FpfVO+rGGJ+eliJD5I8drsTPa7YhRO278NMVJB/O+lFj75o3uFUS17svVAT0FyyybuCmkPoTbpUrIsfCjJHn+XYAf7s1hmtliJ5Mb2DQ+msSaDab20TK+VoODS3AXeykCzg+CxK7VqvdQfKEe8eJkfuM/jaWUltBf4fpJr6v/dkX1t3wUZOlYNrzAJ4Y22rLn7k9PVNVOYCHxiJYbyO5mbPicwqHYTIhdn/a2HKnGOP9k2iG9gKAX2fG1X1VxvZkd7aQ7Q9NtPeu/kTB7D3WXjTmKF8xaB947dQrO+iuNM5u8SDWUb/il4JCV728nhfvpFOcwrY4AF36raaRH4o052jiCVLZYWZ7Z/IFhB4qVlyEsh8Bhq2xrqmKVQE4EwX6QYSyuFid2kh+7B/QXC58VCNy4wcdT33OztLzxA2EjY//AVnMqJspfcIsAAAAAElFTkSuQmCC'/%3e%3cimage%20id='image1_24_102'%20width='48'%20height='48'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB9UlEQVR4nO2Zv2oVQRTGBxHsLG1FEdTCXoh/wVpUtFGMD+EDbGW0Ehb2zvd9V7FO6qSztfAJBPMIQhqTaCGinGQXxuXmund3NswN84NTXe7M9zuc2V12nctkTj5lWZ713l92y4j3/iaAHZJ/SL51y4SkawD26vAHNZlMrrploSiK0wDWm/AA9r3351zqALgD4IMJWJHcIPkLwOPei3rvLwJ4A2ALwMeYJelpK3wzNhuNhJ2F3uFJPgLwM5zFWAXgXVEUp2aEb35f7x086Pwo4Um+nxee5G8Aq4MEbGyCbny1OZR0L0LdbcJLuj1K+FpgKxDof4iOQGOGN+yQNQtb51xEJN0gudsOL+lFtE3GEujSeT/kyjOmgHUewPd5nZf00vZOTqBreB6eubQESN6aNfP4d2yuBxeNdAQArPyv84btkZxA1/BJCiwSPjmBo67z825SSkXAHhNIfln0JqVUBAA87HOHVSoCJD8FQb4BeNblf0pBQNKVOsBn7/3zsizPdN1PKQjY/FdVdanPfkpBYAjKAi2ywIIoC7TIAguiLHDMr1XaSHoSPD9tuqEAeB0suG0bRHqxNass/HbQsFeDBabT6QWSP1pPlqMXgP2qqs67GEh6cJwSOPwOcN/FxLpRj9Nm7NfrqMvWJrkWrfOZTCaTOfH8BUJmVJAShmWwAAAAAElFTkSuQmCC'/%3e%3c/defs%3e%3c/svg%3e";
2
- export {
3
- e as default
4
- };