@useinsider/guido 3.2.0-beta.6d12eec → 3.2.0-beta.8b4780a
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/dist/composables/useActionsApi.js +4 -4
- package/dist/composables/useSave.js +1 -1
- package/dist/composables/useStripo.js +29 -30
- package/dist/config/compiler/recommendationCompilerRules.js +72 -67
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +38 -38
- package/dist/extensions/Blocks/Items/enums/productEnums.js +19 -7
- package/dist/extensions/Blocks/Unsubscribe/block.js +11 -11
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +324 -218
- package/dist/package.json.js +1 -1
- package/dist/src/composables/useActionsApi.d.ts +1 -1
- package/dist/static/styles/components/button.css.js +16 -9
- package/dist/static/styles/components/loader.css.js +4 -0
- package/dist/static/styles/components/narrow-panel.css.js +52 -0
- package/package.json +3 -3
- package/dist/composables/useFullStoryBridge.js +0 -34
- package/dist/src/composables/useFullStoryBridge.d.ts +0 -11
package/dist/package.json.js
CHANGED
|
@@ -7,5 +7,5 @@ export declare const useActionsApi: () => {
|
|
|
7
7
|
getPreviewData: (options?: CompileEmailOptions) => Promise<CompiledEmailResult>;
|
|
8
8
|
updateTimerInClonedTemplate: () => Promise<string | null>;
|
|
9
9
|
updateHtmlAndCss: (html: string, css: string) => void;
|
|
10
|
-
editorSave: () => void
|
|
10
|
+
editorSave: () => Promise<void>;
|
|
11
11
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const n = `.control-shadow-wrapper:has(.button) {
|
|
2
2
|
border-radius: 0;
|
|
3
3
|
box-shadow: none;
|
|
4
4
|
background-color: transparent;
|
|
@@ -99,18 +99,12 @@ ue-check-button.checked:not(.flat-white) input:checked + label .icon-button {
|
|
|
99
99
|
color: var(--guido-color-primary-500);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
ue-select.full-width .button {
|
|
103
|
-
border: none !important;
|
|
104
|
-
background-color: var(--guido-color-neutral-200) !important;
|
|
105
|
-
color: var(--guido-color-neutral-800) !important;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
102
|
ue-select.full-width .button .icon-button {
|
|
109
103
|
color: var(--guido-color-gray-600) !important;
|
|
110
104
|
}
|
|
111
105
|
|
|
112
106
|
ue-select.full-width .button:hover:not(:disabled,.disabled) {
|
|
113
|
-
background-color: var(--guido-color-
|
|
107
|
+
background-color: var(--guido-color-gray-0) !important;
|
|
114
108
|
}
|
|
115
109
|
|
|
116
110
|
ue-color {
|
|
@@ -130,7 +124,20 @@ ue-select-text-input .select-text-input-toggle .button {
|
|
|
130
124
|
justify-content: center;
|
|
131
125
|
background-color: transparent !important;
|
|
132
126
|
}
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
.control-shadow-wrapper,
|
|
130
|
+
ue-button:not(.no-shadow,.flat-white),
|
|
131
|
+
ue-toggle:not(.no-shadow,.flat-white),
|
|
132
|
+
:is(ue-popover-toggler,ue-toggle-icon-picker,ue-emoji-toggle),
|
|
133
|
+
.button-group,
|
|
134
|
+
ue-counter:not(.no-shadow),
|
|
135
|
+
:is(ue-select,ue-mergetags,ue-font-family-select):not(.no-shadow),
|
|
136
|
+
ue-check-button:not(.no-shadow,.flat-white) {
|
|
137
|
+
background: none;
|
|
138
|
+
padding: 0;
|
|
139
|
+
}
|
|
133
140
|
`;
|
|
134
141
|
export {
|
|
135
|
-
|
|
142
|
+
n as default
|
|
136
143
|
};
|
|
@@ -28,6 +28,58 @@ ue-stripe-thumb:hover:not(.disabled),
|
|
|
28
28
|
border-color: var(--guido-color-primary-500);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
/* Module search — initial */
|
|
32
|
+
.module-search-container {
|
|
33
|
+
background-color: var(--guido-color-gray-0);
|
|
34
|
+
border: 1px solid var(--guido-color-gray-300);
|
|
35
|
+
border-radius: 4px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.module-search-container .service-element {
|
|
39
|
+
background-color: unset;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.module-filter-toggle {
|
|
43
|
+
top: -1px !important;
|
|
44
|
+
right: -1px !important;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.module-filter-toggle > .button,
|
|
48
|
+
.module-search-container:hover .module-filter-toggle > .button {
|
|
49
|
+
border: none;
|
|
50
|
+
background: transparent;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Module search — hover */
|
|
54
|
+
.module-search-container:has(.module-search-chip-input:hover) {
|
|
55
|
+
border-color: var(--guido-color-primary-500);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.module-search-container .module-search-chip-input .service-element:hover {
|
|
59
|
+
background-color: var(--guido-color-gray-0);
|
|
60
|
+
border-radius: 4px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.module-search-container .module-filter-toggle:hover > .button {
|
|
64
|
+
background-color: var(--guido-color-gray-1);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Module search — selected (.on) */
|
|
68
|
+
.module-search-container:has(.module-search-chip-input.on),
|
|
69
|
+
.module-search-container:has(.module-search-chip-input.on):hover {
|
|
70
|
+
border-color: var(--guido-color-primary-500);
|
|
71
|
+
box-shadow: 0 0 0 3px var(--guido-color-primary-200) !important;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.module-search-container .module-search-chip-input.on .input-section {
|
|
75
|
+
background-color: unset;
|
|
76
|
+
box-shadow: unset;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.module-categories-list .menu-item {
|
|
80
|
+
padding: 8px 20px !important;
|
|
81
|
+
}
|
|
82
|
+
|
|
31
83
|
.modules-layout-wrapper {
|
|
32
84
|
padding: 0 16px 16px;
|
|
33
85
|
grid-row-gap: 16px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "3.2.0-beta.
|
|
3
|
+
"version": "3.2.0-beta.8b4780a",
|
|
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",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"author": "",
|
|
33
33
|
"license": "ISC",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@stripoinc/ui-editor-extensions": "3.
|
|
35
|
+
"@stripoinc/ui-editor-extensions": "3.7.0",
|
|
36
36
|
"@useinsider/design-system-vue": "1.1.0-beta.73ec2fa",
|
|
37
37
|
"@vueuse/core": "11.3.0",
|
|
38
38
|
"lodash-es": "4.17.21",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"guido": {
|
|
88
88
|
"stripo": {
|
|
89
|
-
"version": "2.
|
|
89
|
+
"version": "2.60.0"
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const f = (r, t) => {
|
|
2
|
-
const e = window[r];
|
|
3
|
-
return typeof e == "string" ? e : t;
|
|
4
|
-
}, m = (r) => {
|
|
5
|
-
const t = ((e, s, n) => {
|
|
6
|
-
if (t.q) {
|
|
7
|
-
t.q.push([e, s, n]);
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
t._api(e, s, n);
|
|
11
|
-
});
|
|
12
|
-
return t.q = [], t.identify = (e, s, n) => {
|
|
13
|
-
t("user", { uid: e }, n), s && t("user", s, n);
|
|
14
|
-
}, t.setUserVars = (e, s) => t("user", e, s), t.event = (e, s, n) => t("event", { n: e, p: s }, n), t.anonymize = () => t.identify(!1), t.shutdown = () => t("rec", !1), t.restart = () => t("rec", !0), t.log = (e, s) => t("log", [e, s]), t.consent = (e) => t("consent", e ?? !0), t.identifyAccount = (e, s) => t("account", { ...s ?? {}, acctId: e }), t.clearUserCookie = () => {
|
|
15
|
-
}, t.setVars = (e, s) => t("setVars", [e, s]), t._w = { XMLHttpRequest: r.XMLHttpRequest, fetch: r.fetch }, t._v = "1.3.0", t;
|
|
16
|
-
}, F = () => ({ injectFullStory: async () => {
|
|
17
|
-
var d;
|
|
18
|
-
const t = f("_fs_org", "");
|
|
19
|
-
if (!t)
|
|
20
|
-
return;
|
|
21
|
-
const e = document.querySelector("ui-editor"), s = (d = e == null ? void 0 : e.shadowRoot) == null ? void 0 : d.querySelector("iframe"), n = s == null ? void 0 : s.contentWindow, i = s == null ? void 0 : s.contentDocument;
|
|
22
|
-
if (!n || !i)
|
|
23
|
-
return;
|
|
24
|
-
const h = f("_fs_host", "fullstory.com"), l = f("_fs_script", "edge.fullstory.com/s/fs.js"), u = f("_fs_namespace", "FS");
|
|
25
|
-
if (n[u])
|
|
26
|
-
return;
|
|
27
|
-
const a = window.fetch.bind(window), y = typeof n.fetch == "function" ? n.fetch.bind(n) : a, w = (o, p) => (typeof o == "string" || o instanceof URL ? String(o) : o.url).includes("fullstory.com") ? a(o, p) : y(o, p);
|
|
28
|
-
n.fetch = w, n._fs_run_in_iframe = !0, n._fs_host = h, n._fs_script = l, n._fs_org = t, n._fs_namespace = u, n[u] = m(n);
|
|
29
|
-
const g = await (await a(`https://${l}`)).text(), _ = URL.createObjectURL(new Blob([g], { type: "text/javascript" })), c = i.createElement("script");
|
|
30
|
-
c.src = _, c.crossOrigin = "anonymous", c.onload = () => URL.revokeObjectURL(_), i.head.appendChild(c);
|
|
31
|
-
} });
|
|
32
|
-
export {
|
|
33
|
-
F as useFullStoryBridge
|
|
34
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bridges FullStory from the parent window into the Stripo editor iframe.
|
|
3
|
-
*
|
|
4
|
-
* Stripo's iframe CSP allowlists neither inline FS snippets nor the
|
|
5
|
-
* edge.fullstory.com origin, so we: fetch fs.js in the parent context,
|
|
6
|
-
* hand the iframe a blob: URL (blob: is in script-src), and proxy the
|
|
7
|
-
* iframe's fetch through the parent so beacons bypass connect-src.
|
|
8
|
-
*/
|
|
9
|
-
export declare const useFullStoryBridge: () => {
|
|
10
|
-
injectFullStory: () => Promise<void>;
|
|
11
|
-
};
|