@useinsider/guido 2.1.0-beta.2ad77c6 → 2.1.0-beta.2d0ecb3
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/components/organisms/base/Toaster.vue.js +4 -4
- package/dist/components/organisms/base/Toaster.vue2.js +12 -9
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +5 -5
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
- package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
- package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
- package/dist/composables/useRecommendation.js +9 -9
- package/dist/composables/useStripo.js +25 -23
- package/dist/composables/useVersionHistoryApi.js +1 -1
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +1 -1
- package/dist/config/i18n/en/index.js +11 -0
- package/dist/config/i18n/en/labels.json.js +7 -0
- package/dist/config/i18n/en/toasters.json.js +56 -0
- package/dist/config/i18n/en/tooltips.json.js +82 -0
- package/dist/config/i18n/index.js +7 -0
- package/dist/config/migrator/itemsBlockMigrator.js +65 -64
- package/dist/config/migrator/recommendationMigrator.js +1 -1
- package/dist/extensions/Blocks/Recommendation/block.js +1 -1
- package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +36 -33
- package/dist/extensions/Blocks/Recommendation/constants/layout.js +16 -14
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +15 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +1 -1
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +41 -29
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +16 -16
- package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +30 -32
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +173 -102
- package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +46 -38
- package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +16 -16
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +291 -217
- package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +14 -14
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +10 -10
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +5 -5
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +14 -14
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +3 -3
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +1 -1
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +3 -3
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +3 -3
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +3 -3
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +223 -99
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +94 -53
- package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +32 -32
- package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
- package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
- package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
- package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
- package/dist/guido.css +1 -1
- package/dist/src/config/i18n/en/index.d.ts +1 -0
- package/dist/src/config/i18n/index.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +6 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +6 -2
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +8 -1
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +33 -10
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +27 -14
- package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +50 -17
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/migration.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +4 -2
- package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +8 -0
- package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
- package/dist/static/styles/components/notification.css.js +18 -0
- package/dist/static/styles/components/tools.css.js +6 -2
- package/dist/static/styles/customEditorStyle.css.js +50 -23
- package/dist/static/styles/variables.css.js +2 -0
- package/dist/stores/unsubscribe.js +37 -34
- package/package.json +1 -1
|
@@ -20,30 +20,30 @@ const n = `.esd-x,
|
|
|
20
20
|
}
|
|
21
21
|
.ins-product-cart ue-node-actions,
|
|
22
22
|
/* Horizontal layout - hide for info, image, and button cells */
|
|
23
|
-
.
|
|
24
|
-
.
|
|
25
|
-
.
|
|
26
|
-
.
|
|
27
|
-
.
|
|
28
|
-
.
|
|
23
|
+
.recommendation-block-v2 .product-info-cell ue-node-actions,
|
|
24
|
+
.recommendation-block-v2 .product-info-cell ue-node-panel,
|
|
25
|
+
.recommendation-block-v2 .product-image-cell ue-node-actions,
|
|
26
|
+
.recommendation-block-v2 .product-image-cell ue-node-panel,
|
|
27
|
+
.recommendation-block-v2 .button-cell ue-node-actions,
|
|
28
|
+
.recommendation-block-v2 .button-cell ue-node-panel,
|
|
29
29
|
/* Vertical layout - hide for product-card-segment inner cells */
|
|
30
|
-
.
|
|
31
|
-
.
|
|
30
|
+
.recommendation-block-v2 .product-card-segment ue-node-actions,
|
|
31
|
+
.recommendation-block-v2 .product-card-segment ue-node-panel,
|
|
32
32
|
/* Hide for specific product attribute cells in both layouts */
|
|
33
|
-
.
|
|
34
|
-
.
|
|
35
|
-
.
|
|
36
|
-
.
|
|
37
|
-
.
|
|
38
|
-
.
|
|
39
|
-
.
|
|
40
|
-
.
|
|
41
|
-
.
|
|
42
|
-
.
|
|
43
|
-
.
|
|
44
|
-
.
|
|
45
|
-
.
|
|
46
|
-
.
|
|
33
|
+
.recommendation-block-v2 .product-image ue-node-actions,
|
|
34
|
+
.recommendation-block-v2 .product-image ue-node-panel,
|
|
35
|
+
.recommendation-block-v2 .product-name ue-node-actions,
|
|
36
|
+
.recommendation-block-v2 .product-name ue-node-panel,
|
|
37
|
+
.recommendation-block-v2 .product-price ue-node-actions,
|
|
38
|
+
.recommendation-block-v2 .product-price ue-node-panel,
|
|
39
|
+
.recommendation-block-v2 .product-old-price ue-node-actions,
|
|
40
|
+
.recommendation-block-v2 .product-old-price ue-node-panel,
|
|
41
|
+
.recommendation-block-v2 .product-omnibus-price ue-node-actions,
|
|
42
|
+
.recommendation-block-v2 .product-omnibus-price ue-node-panel,
|
|
43
|
+
.recommendation-block-v2 .product-omnibus-discount ue-node-actions,
|
|
44
|
+
.recommendation-block-v2 .product-omnibus-discount ue-node-panel,
|
|
45
|
+
.recommendation-block-v2 .product-button ue-node-actions,
|
|
46
|
+
.recommendation-block-v2 .product-button ue-node-panel {
|
|
47
47
|
display: none !important;
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -52,7 +52,7 @@ const n = `.esd-x,
|
|
|
52
52
|
display: none;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
/* Mobile layout: when Stripo mobile mode is active, swap containers */
|
|
55
|
+
/* Mobile layout: when Stripo mobile mode is active, swap containers (grid layout only) */
|
|
56
56
|
.ue-mobile-mode .ins-recommendation-desktop-container {
|
|
57
57
|
display: none !important;
|
|
58
58
|
}
|
|
@@ -60,6 +60,33 @@ const n = `.esd-x,
|
|
|
60
60
|
.ue-mobile-mode .ins-recommendation-mobile-container {
|
|
61
61
|
display: table !important;
|
|
62
62
|
}
|
|
63
|
+
|
|
64
|
+
/* List layout: keep desktop container visible in mobile mode (list rows are inherently responsive)
|
|
65
|
+
Uses class selector instead of [data-layout="list"] for Gmail compatibility */
|
|
66
|
+
.ue-mobile-mode .ins-recommendation-list-layout .ins-recommendation-desktop-container {
|
|
67
|
+
display: table !important;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.ue-mobile-mode .ins-recommendation-list-layout .ins-recommendation-mobile-container {
|
|
71
|
+
display: none !important;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* List layout mobile: reduce image and button width for better text readability */
|
|
75
|
+
.ue-mobile-mode .ins-recommendation-list-layout .product-image-cell {
|
|
76
|
+
width: 80px !important;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.ue-mobile-mode .ins-recommendation-list-layout .product-image-cell img {
|
|
80
|
+
max-width: 80px !important;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.ue-mobile-mode .ins-recommendation-list-layout .button-cell {
|
|
84
|
+
width: 80px !important;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.ue-mobile-mode .ins-recommendation-list-layout .product-info-cell {
|
|
88
|
+
padding: 5px 8px !important;
|
|
89
|
+
}
|
|
63
90
|
`;
|
|
64
91
|
export {
|
|
65
92
|
n as default
|
|
@@ -10,6 +10,7 @@ const o = `:host {
|
|
|
10
10
|
--guido-color-gray-1: #F0F0F0;
|
|
11
11
|
--guido-color-gray-0: #F9F9F9;
|
|
12
12
|
--guido-color-neutral-800: #222938;
|
|
13
|
+
--guido-color-neutral-700: #2C3546;
|
|
13
14
|
--guido-color-neutral-200: #DCDFE6;
|
|
14
15
|
--guido-color-neutral-100: #EFF2F4;
|
|
15
16
|
--guido-color-danger-300: #e84342;
|
|
@@ -25,6 +26,7 @@ const o = `:host {
|
|
|
25
26
|
--guido-color-border-onpage-message-error: var(--guido-color-danger-500);
|
|
26
27
|
--guido-color-background-toaster-success: #128745;
|
|
27
28
|
--guido-color-background-toaster-error: var(--guido-color-danger-500);
|
|
29
|
+
--guido-color-background-toaster-info: var(--guido-color-neutral-700);
|
|
28
30
|
--guido-color-background-toaster-warn: #D37400;
|
|
29
31
|
}
|
|
30
32
|
`;
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import { TYPE_COLLECTIONS as i, PAGE_TYPES as
|
|
2
|
-
import { useUnsubscribeApi as
|
|
3
|
-
import { defineStore as
|
|
4
|
-
|
|
1
|
+
import { TYPE_COLLECTIONS as i, PAGE_TYPES as p } from "../enums/unsubscribe.js";
|
|
2
|
+
import { useUnsubscribeApi as d } from "../services/unsubscribeApi.js";
|
|
3
|
+
import { defineStore as h } from "pinia";
|
|
4
|
+
let o = null;
|
|
5
|
+
const r = () => ({
|
|
5
6
|
templates: [],
|
|
6
7
|
selectedTemplates: {},
|
|
7
8
|
selectedUnsubscribePages: [],
|
|
8
|
-
selectedCollectionType:
|
|
9
|
-
activeType:
|
|
9
|
+
selectedCollectionType: p.GLOBAL_UNSUBSCRIBE,
|
|
10
|
+
activeType: p.GLOBAL_UNSUBSCRIBE,
|
|
10
11
|
pageSelectionUpdateStatus: !1,
|
|
11
12
|
pageSelectionDrawerStatus: !1,
|
|
12
13
|
typeSelectionDrawerStatus: !1,
|
|
13
14
|
isGlobalUnsubscribeDisabled: !1,
|
|
14
15
|
isSubscriptionPreferencesCenterDisabled: !1
|
|
15
|
-
}),
|
|
16
|
-
state: () =>
|
|
16
|
+
}), b = h("guidoUnsubscribe", {
|
|
17
|
+
state: () => r(),
|
|
17
18
|
getters: {
|
|
18
19
|
getSelectedCollection: (e) => i[e.selectedCollectionType],
|
|
19
20
|
getSelectedTemplateByActiveType: (e) => e.selectedTemplates[e.activeType],
|
|
20
21
|
getTemplatesByActiveType: (e) => e.templates.filter((t) => t.type === e.activeType),
|
|
21
22
|
getThumbnailByTemplateId: (e) => (t) => {
|
|
22
|
-
var
|
|
23
|
-
return ((
|
|
23
|
+
var l;
|
|
24
|
+
return ((l = e.templates.find((s) => s.id === t)) == null ? void 0 : l.thumbnail) ?? "";
|
|
24
25
|
},
|
|
25
26
|
getSelectedUnsubscribePagesByCollection: (e) => (t) => {
|
|
26
|
-
const
|
|
27
|
-
if (!
|
|
27
|
+
const l = i[t];
|
|
28
|
+
if (!l)
|
|
28
29
|
return [];
|
|
29
30
|
const s = /* @__PURE__ */ new Map();
|
|
30
31
|
e.templates.forEach((n) => {
|
|
31
32
|
s.set(n.id, n.type);
|
|
32
33
|
});
|
|
33
|
-
const
|
|
34
|
+
const c = new Set(l);
|
|
34
35
|
return e.selectedUnsubscribePages.filter((n) => {
|
|
35
|
-
const
|
|
36
|
-
return
|
|
36
|
+
const a = s.get(n);
|
|
37
|
+
return a !== void 0 && c.has(a);
|
|
37
38
|
});
|
|
38
39
|
},
|
|
39
40
|
isActiveTypeFirstInCollection: (e) => {
|
|
@@ -47,7 +48,7 @@ const p = () => ({
|
|
|
47
48
|
hasTemplatesByCollectionType: (e) => {
|
|
48
49
|
const t = {};
|
|
49
50
|
return i[e.selectedCollectionType].forEach((s) => {
|
|
50
|
-
t[s] = e.templates.some((
|
|
51
|
+
t[s] = e.templates.some((c) => c.type === s);
|
|
51
52
|
}), t;
|
|
52
53
|
},
|
|
53
54
|
unsubscribePagesStatus: (e) => e.selectedUnsubscribePages.length > 0
|
|
@@ -56,29 +57,31 @@ const p = () => ({
|
|
|
56
57
|
$reset() {
|
|
57
58
|
const { templates: e, selectedUnsubscribePages: t } = this;
|
|
58
59
|
Object.assign(this, {
|
|
59
|
-
...
|
|
60
|
+
...r(),
|
|
60
61
|
templates: e,
|
|
61
62
|
selectedUnsubscribePages: t
|
|
62
63
|
});
|
|
63
64
|
},
|
|
64
65
|
async fetchTemplates() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
this.templates.length || (o || (o = (async () => {
|
|
67
|
+
const { getUnsubscribePages: e } = d();
|
|
68
|
+
this.templates = await e();
|
|
69
|
+
})().finally(() => {
|
|
70
|
+
o = null;
|
|
71
|
+
})), await o);
|
|
69
72
|
},
|
|
70
73
|
setCollection(e) {
|
|
71
74
|
this.selectedCollectionType = e;
|
|
72
75
|
const t = i[e];
|
|
73
76
|
if (t && t.length > 0) {
|
|
74
77
|
[this.activeType] = t;
|
|
75
|
-
const
|
|
78
|
+
const l = { ...this.selectedTemplates };
|
|
76
79
|
t.forEach((s) => {
|
|
77
|
-
if (!
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
+
if (!l[s]) {
|
|
81
|
+
const c = this.templates.find((n) => n.type === s);
|
|
82
|
+
c && (l[s] = c.id);
|
|
80
83
|
}
|
|
81
|
-
}), this.selectedTemplates =
|
|
84
|
+
}), this.selectedTemplates = l;
|
|
82
85
|
}
|
|
83
86
|
},
|
|
84
87
|
setCollectionWithoutAutoSelection(e) {
|
|
@@ -101,17 +104,17 @@ const p = () => ({
|
|
|
101
104
|
t >= 0 && (this.activeType = this.getSelectedCollection[t]);
|
|
102
105
|
},
|
|
103
106
|
loadSelectedTemplates(e) {
|
|
104
|
-
const t = new Map(this.templates.map((s) => [s.id, s.type])),
|
|
107
|
+
const t = new Map(this.templates.map((s) => [s.id, s.type])), l = { ...this.selectedTemplates };
|
|
105
108
|
e.forEach((s) => {
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
}), this.selectedTemplates =
|
|
109
|
+
const c = t.get(s);
|
|
110
|
+
c !== void 0 && (l[c] = s);
|
|
111
|
+
}), this.selectedTemplates = l;
|
|
109
112
|
},
|
|
110
113
|
getSelectedTemplatesByCollection(e) {
|
|
111
|
-
const t = i[e],
|
|
114
|
+
const t = i[e], l = [];
|
|
112
115
|
return t.forEach((s) => {
|
|
113
|
-
this.selectedTemplates[s] &&
|
|
114
|
-
}),
|
|
116
|
+
this.selectedTemplates[s] && l.push(this.selectedTemplates[s]);
|
|
117
|
+
}), l;
|
|
115
118
|
},
|
|
116
119
|
addUnsubscribePages(e) {
|
|
117
120
|
const t = /* @__PURE__ */ new Set([...this.selectedUnsubscribePages, ...e]);
|
|
@@ -125,5 +128,5 @@ const p = () => ({
|
|
|
125
128
|
}
|
|
126
129
|
});
|
|
127
130
|
export {
|
|
128
|
-
|
|
131
|
+
b as useUnsubscribeStore
|
|
129
132
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.2d0ecb3",
|
|
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",
|