@useinsider/guido 2.0.0-beta.5da4dde → 2.0.0-beta.689d09e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/@types/config/schemas.js +55 -39
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +15 -17
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
- package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
- package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
- package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
- package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
- package/dist/composables/useConfig.js +29 -27
- package/dist/composables/useSave.js +13 -11
- package/dist/composables/useStripo.js +40 -40
- package/dist/config/migrator/index.js +9 -8
- package/dist/config/migrator/itemsBlockMigrator.js +342 -0
- package/dist/extensions/Blocks/Items/block.js +39 -40
- package/dist/extensions/Blocks/Items/controls/button/link.js +22 -29
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +66 -46
- package/dist/extensions/Blocks/Items/controls/image/link.js +23 -30
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +19 -17
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +31 -29
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +44 -38
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +21 -19
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +29 -27
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +93 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +152 -143
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
- package/dist/extensions/Blocks/Items/enums/productEnums.js +43 -45
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +4 -3
- package/dist/extensions/Blocks/Items/extension.js +7 -6
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +58 -49
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +48 -59
- package/dist/extensions/Blocks/Items/settingsPanel.js +27 -26
- package/dist/extensions/Blocks/Items/store/items-block.js +11 -7
- package/dist/extensions/Blocks/Items/template.js +366 -129
- package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +184 -0
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +69 -153
- package/dist/extensions/Blocks/Recommendation/constants.js +1 -9
- package/dist/extensions/Blocks/Recommendation/control.js +59 -74
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +42 -16
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -117
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +64 -85
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +17 -54
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +45 -74
- package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
- package/dist/extensions/Blocks/common-control.js +29 -30
- package/dist/extensions/Blocks/controlFactories.js +55 -45
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +369 -285
- package/dist/package.json.js +1 -1
- package/dist/services/stripoApi.js +6 -10
- package/dist/src/@types/config/index.d.ts +2 -2
- package/dist/src/@types/config/schemas.d.ts +30 -0
- package/dist/src/@types/config/types.d.ts +7 -1
- package/dist/src/composables/useConfig.d.ts +8 -0
- package/dist/src/config/migrator/itemsBlockMigrator.d.ts +6 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -2
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -0
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -2
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +18 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -4
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +24 -26
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +2 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +22 -1
- package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +73 -0
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +3 -50
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -32
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +7 -15
- package/dist/src/extensions/Blocks/common-control.d.ts +9 -10
- package/dist/src/stores/config.d.ts +164 -1
- package/dist/static/styles/components/button.css.js +1 -1
- package/dist/static/styles/components/wide-panel.css.js +4 -0
- package/dist/static/styles/customEditorStyle.css.js +0 -13
- package/dist/stores/config.js +7 -0
- package/dist/utils/pairProductVariables.js +61 -58
- package/package.json +3 -3
- package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
- package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
- package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -76
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
- package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
- package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
- package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
- package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
- package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -592
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const g = `
|
|
1
|
+
import { prepareProductRows as n } from "./templateUtils.js";
|
|
2
|
+
import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
|
|
3
|
+
const a = `
|
|
5
4
|
<td
|
|
6
5
|
align="left"
|
|
7
6
|
esd-extension-block-id="recommendation-block"
|
|
@@ -55,8 +54,8 @@ const g = `
|
|
|
55
54
|
</tr>
|
|
56
55
|
</table>
|
|
57
56
|
</td>
|
|
58
|
-
`,
|
|
59
|
-
|
|
57
|
+
`, l = {
|
|
58
|
+
productImage: (t) => `
|
|
60
59
|
<tr>
|
|
61
60
|
<td
|
|
62
61
|
class="esd-block-image product-image"
|
|
@@ -74,7 +73,7 @@ const g = `
|
|
|
74
73
|
</td>
|
|
75
74
|
</tr>
|
|
76
75
|
`,
|
|
77
|
-
|
|
76
|
+
productName: (t) => `
|
|
78
77
|
<tr>
|
|
79
78
|
<td
|
|
80
79
|
class="esd-block-text product-name"
|
|
@@ -89,7 +88,7 @@ const g = `
|
|
|
89
88
|
</td>
|
|
90
89
|
</tr>
|
|
91
90
|
`,
|
|
92
|
-
|
|
91
|
+
productPrice: () => `
|
|
93
92
|
<tr>
|
|
94
93
|
<td
|
|
95
94
|
class="esd-block-text product-price"
|
|
@@ -104,7 +103,7 @@ const g = `
|
|
|
104
103
|
</td>
|
|
105
104
|
</tr>
|
|
106
105
|
`,
|
|
107
|
-
|
|
106
|
+
productOldPrice: () => `
|
|
108
107
|
<tr>
|
|
109
108
|
<td
|
|
110
109
|
class="esd-block-text product-old-price"
|
|
@@ -119,43 +118,7 @@ const g = `
|
|
|
119
118
|
</td>
|
|
120
119
|
</tr>
|
|
121
120
|
`,
|
|
122
|
-
|
|
123
|
-
<tr>
|
|
124
|
-
<td
|
|
125
|
-
class="esd-block-text product-omnibus-price"
|
|
126
|
-
esd-extension-block-id="recommendation-block-omnibus-price"
|
|
127
|
-
data-text-before="Lowest 30-day price: "
|
|
128
|
-
data-text-after=""
|
|
129
|
-
align="center">
|
|
130
|
-
<p
|
|
131
|
-
path="1"
|
|
132
|
-
contenteditable="false"
|
|
133
|
-
style="font-size: 14px; color: #666666; text-align: center;"><span
|
|
134
|
-
class="omnibus-text-before">Lowest 30-day price: </span><span
|
|
135
|
-
class="omnibus-price-value">17,00 TRY</span><span
|
|
136
|
-
class="omnibus-text-after"></span></p>
|
|
137
|
-
</td>
|
|
138
|
-
</tr>
|
|
139
|
-
`,
|
|
140
|
-
[a]: () => `
|
|
141
|
-
<tr>
|
|
142
|
-
<td
|
|
143
|
-
class="esd-block-text product-omnibus-discount"
|
|
144
|
-
esd-extension-block-id="recommendation-block-omnibus-discount"
|
|
145
|
-
data-text-before=""
|
|
146
|
-
data-text-after=""
|
|
147
|
-
align="center">
|
|
148
|
-
<p
|
|
149
|
-
path="1"
|
|
150
|
-
contenteditable="false"
|
|
151
|
-
style="font-size: 14px; color: #666666; text-align: center;"><span
|
|
152
|
-
class="omnibus-text-before"></span><span
|
|
153
|
-
class="omnibus-discount-value">-6%</span><span
|
|
154
|
-
class="omnibus-text-after"></span></p>
|
|
155
|
-
</td>
|
|
156
|
-
</tr>
|
|
157
|
-
`,
|
|
158
|
-
[o]: (t) => `
|
|
121
|
+
productButton: (t) => `
|
|
159
122
|
<tr>
|
|
160
123
|
<td
|
|
161
124
|
class="esd-block-button product-button"
|
|
@@ -173,17 +136,17 @@ const g = `
|
|
|
173
136
|
</tr>
|
|
174
137
|
`
|
|
175
138
|
};
|
|
176
|
-
function
|
|
177
|
-
return
|
|
139
|
+
function d(t, e, o) {
|
|
140
|
+
return n(
|
|
178
141
|
t,
|
|
179
142
|
e,
|
|
180
|
-
|
|
181
|
-
|
|
143
|
+
l,
|
|
144
|
+
o
|
|
182
145
|
);
|
|
183
146
|
}
|
|
184
147
|
export {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
148
|
+
i as DEFAULTS,
|
|
149
|
+
a as default,
|
|
150
|
+
p as getDefaultProducts,
|
|
151
|
+
d as prepareProductRows
|
|
189
152
|
};
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
const E = {
|
|
1
|
+
const R = {
|
|
3
2
|
TITLE: "You May Also Like!"
|
|
4
|
-
},
|
|
3
|
+
}, O = `
|
|
5
4
|
<tr>
|
|
6
|
-
<td class="spacer" style="height:
|
|
5
|
+
<td class="spacer" style="height: 20px;"></td>
|
|
7
6
|
</tr>
|
|
8
|
-
`,
|
|
9
|
-
<tr
|
|
7
|
+
`, w = `
|
|
8
|
+
<tr>
|
|
10
9
|
<td>
|
|
11
10
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
|
|
12
11
|
{-{-PRODUCTS-}-}
|
|
13
12
|
</table>
|
|
14
13
|
</td>
|
|
15
14
|
</tr>
|
|
16
|
-
`,
|
|
15
|
+
`, i = `
|
|
17
16
|
<td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
|
|
18
17
|
<table
|
|
19
18
|
width="100%"
|
|
@@ -35,24 +34,14 @@ const E = {
|
|
|
35
34
|
</tr>
|
|
36
35
|
</table>
|
|
37
36
|
</td>
|
|
38
|
-
`,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
], S = {
|
|
47
|
-
[h]: !0,
|
|
48
|
-
[C]: !0,
|
|
49
|
-
[b]: !0,
|
|
50
|
-
[D]: !0,
|
|
51
|
-
[P]: !1,
|
|
52
|
-
[U]: !1,
|
|
53
|
-
[N]: !0
|
|
54
|
-
};
|
|
55
|
-
function M() {
|
|
37
|
+
`, b = [
|
|
38
|
+
"productImage",
|
|
39
|
+
"productName",
|
|
40
|
+
"productOldPrice",
|
|
41
|
+
"productPrice",
|
|
42
|
+
"productButton"
|
|
43
|
+
];
|
|
44
|
+
function C() {
|
|
56
45
|
return [
|
|
57
46
|
{
|
|
58
47
|
name: "Product Name",
|
|
@@ -134,76 +123,58 @@ function M() {
|
|
|
134
123
|
}
|
|
135
124
|
];
|
|
136
125
|
}
|
|
137
|
-
function
|
|
138
|
-
const
|
|
139
|
-
for (let
|
|
140
|
-
|
|
126
|
+
function N(p, r, e, l = b) {
|
|
127
|
+
const n = (100 / r).toFixed(2), a = [];
|
|
128
|
+
for (let o = 0; o < p.length; o += r)
|
|
129
|
+
a.push(p.slice(o, o + r));
|
|
141
130
|
let c = "";
|
|
142
|
-
return
|
|
143
|
-
|
|
144
|
-
let
|
|
145
|
-
|
|
146
|
-
|
|
131
|
+
return a.forEach((o, _) => {
|
|
132
|
+
_ > 0 && (c += O);
|
|
133
|
+
let s = "", u = "", d = "", m = "", g = "";
|
|
134
|
+
o.forEach((t) => {
|
|
135
|
+
s += i.replace(
|
|
147
136
|
"{-{-PRODUCT_CONTENT-}-}",
|
|
148
137
|
e.productImage(t)
|
|
149
|
-
), u +=
|
|
138
|
+
), u += i.replace(
|
|
150
139
|
"{-{-PRODUCT_CONTENT-}-}",
|
|
151
140
|
e.productName(t)
|
|
152
|
-
), d +=
|
|
141
|
+
), d += i.replace(
|
|
153
142
|
"{-{-PRODUCT_CONTENT-}-}",
|
|
154
143
|
e.productPrice(t)
|
|
155
|
-
),
|
|
144
|
+
), m += i.replace(
|
|
156
145
|
"{-{-PRODUCT_CONTENT-}-}",
|
|
157
146
|
e.productOldPrice(t)
|
|
158
|
-
),
|
|
159
|
-
"{-{-PRODUCT_CONTENT-}-}",
|
|
160
|
-
e.productOmnibusPrice(t)
|
|
161
|
-
), _ += o.replace(
|
|
162
|
-
"{-{-PRODUCT_CONTENT-}-}",
|
|
163
|
-
e.productOmnibusDiscount(t)
|
|
164
|
-
), g += o.replace(
|
|
147
|
+
), g += i.replace(
|
|
165
148
|
"{-{-PRODUCT_CONTENT-}-}",
|
|
166
149
|
e.productButton(t)
|
|
167
150
|
);
|
|
168
151
|
});
|
|
169
|
-
const
|
|
170
|
-
productImage:
|
|
152
|
+
const T = {
|
|
153
|
+
productImage: s,
|
|
171
154
|
productName: u,
|
|
172
155
|
productPrice: d,
|
|
173
|
-
productOldPrice:
|
|
174
|
-
productOmnibusPrice: m,
|
|
175
|
-
productOmnibusDiscount: _,
|
|
156
|
+
productOldPrice: m,
|
|
176
157
|
productButton: g
|
|
177
|
-
},
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
<tr class="recommendation-attribute-row"
|
|
181
|
-
data-attribute-type="${t}"
|
|
182
|
-
data-visibility="${O ? "1" : "0"}"${O ? "" : ' style="display: none;"'}>
|
|
183
|
-
${R[t]}
|
|
184
|
-
</tr>
|
|
185
|
-
`;
|
|
186
|
-
}).join("");
|
|
187
|
-
c += A.replace("{-{-PRODUCTS-}-}", y);
|
|
188
|
-
}), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${s}%`);
|
|
158
|
+
}, h = l.filter((t) => !!T[t]).map((t) => `<tr>${T[t]}</tr>`).join("");
|
|
159
|
+
c += w.replace("{-{-PRODUCTS-}-}", h);
|
|
160
|
+
}), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${n}%`);
|
|
189
161
|
}
|
|
190
|
-
function
|
|
191
|
-
const c =
|
|
162
|
+
function P(p, r, e, l, n = R.TITLE, a) {
|
|
163
|
+
const c = N(
|
|
192
164
|
r,
|
|
193
165
|
e,
|
|
194
166
|
l,
|
|
195
|
-
|
|
167
|
+
a
|
|
196
168
|
);
|
|
197
|
-
return
|
|
169
|
+
return p.replace("{-{-TITLE-}-}", n).replace("{-{-PRODUCT_ROWS-}-}", c);
|
|
198
170
|
}
|
|
199
171
|
export {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
I as spacer
|
|
172
|
+
R as DEFAULTS,
|
|
173
|
+
b as DEFAULT_CARD_COMPOSITION,
|
|
174
|
+
P as generateTemplate,
|
|
175
|
+
C as getDefaultProducts,
|
|
176
|
+
N as prepareProductRows,
|
|
177
|
+
i as productCardWrapper,
|
|
178
|
+
w as productRow,
|
|
179
|
+
O as spacer
|
|
209
180
|
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { ExtensionBuilder as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { UnsubscribeBlock as i } from "./block.js";
|
|
3
3
|
import { UnsubscribeControl as t } from "./control.js";
|
|
4
|
-
import { PreviewUIElement as
|
|
5
|
-
import { UnsubscribeIconsRegistry as
|
|
6
|
-
import { SettingsPanel as
|
|
4
|
+
import { PreviewUIElement as s } from "./elements/preview.js";
|
|
5
|
+
import { UnsubscribeIconsRegistry as o } from "./iconsRegistry.js";
|
|
6
|
+
import { SettingsPanel as r } from "./settingsPanel.js";
|
|
7
7
|
import n from "./styles.css.js";
|
|
8
|
-
import { UnsubscribeTagRegistry as
|
|
9
|
-
const
|
|
8
|
+
import { UnsubscribeTagRegistry as c } from "./tagRegistry.js";
|
|
9
|
+
const g = new e().addBlock(i).withSettingsPanelRegistry(r).addControl(t).addUiElement(s).addStyles(n).withLocalization({
|
|
10
10
|
en: {
|
|
11
|
-
"Unsubscribe Block": "Unsubscribe
|
|
12
|
-
"Unsubscribe Block Description": "
|
|
11
|
+
"Unsubscribe Block": "Unsubscribe",
|
|
12
|
+
"Unsubscribe Block Description": "Unsubscribe lets you add an Unsubscribe Link to direct users to opt out of receiving your messages.",
|
|
13
13
|
"Select Template": "Select Template",
|
|
14
14
|
"Unsubscribe Template": "Unsubscribe Template",
|
|
15
15
|
Showing: "Showing",
|
|
16
16
|
of: "of"
|
|
17
17
|
}
|
|
18
|
-
}).withUiElementTagRegistry(
|
|
18
|
+
}).withUiElementTagRegistry(c).withIconsRegistry(o).build();
|
|
19
19
|
export {
|
|
20
|
-
|
|
20
|
+
g as default
|
|
21
21
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
var I = Object.defineProperty;
|
|
2
|
+
var c = (T, r, e) => r in T ? I(T, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[r] = e;
|
|
3
|
+
var u = (T, r, e) => c(T, typeof r != "symbol" ? r + "" : r, e);
|
|
4
4
|
import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
5
|
class _ extends O {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
u(this, "currentNode");
|
|
9
|
+
u(this, "lastBlockInstanceId", null);
|
|
10
10
|
}
|
|
11
11
|
getContainer() {
|
|
12
12
|
var e;
|
|
@@ -19,38 +19,37 @@ class _ extends O {
|
|
|
19
19
|
this.lastBlockInstanceId = null;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Gets the
|
|
23
|
-
* @returns The
|
|
22
|
+
* Gets the Items block container element from the current node.
|
|
23
|
+
* @returns The container element or null if not found
|
|
24
24
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return null;
|
|
28
|
-
const e = this.currentNode.closest(".items-block-v2");
|
|
29
|
-
return e ? e.querySelector("esd-config-block") : null;
|
|
25
|
+
getItemsBlockContainer() {
|
|
26
|
+
return this.currentNode ? this.currentNode.closest(".items-block-v2") : null;
|
|
30
27
|
}
|
|
31
28
|
/**
|
|
32
|
-
* Gets the current block instance ID from the config
|
|
33
|
-
* @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
|
|
29
|
+
* Gets the current block instance ID from the node config (Stripo V2).
|
|
34
30
|
* @returns The block instance ID or null if not found
|
|
35
31
|
*/
|
|
36
|
-
getBlockInstanceId(
|
|
37
|
-
const
|
|
38
|
-
|
|
32
|
+
getBlockInstanceId() {
|
|
33
|
+
const e = this.getItemsBlockContainer();
|
|
34
|
+
if (!e)
|
|
35
|
+
return null;
|
|
36
|
+
const n = e.getNodeConfig();
|
|
37
|
+
return n && typeof n.blockInstanceId == "string" ? n.blockInstanceId : null;
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
41
40
|
* Handles block instance change detection and syncing.
|
|
42
|
-
* This is a helper method for controls that need to sync
|
|
43
|
-
*
|
|
41
|
+
* This is a helper method for controls that need to sync config when switching between block instances.
|
|
42
|
+
* Uses Stripo V2 nodeConfig API for block instance tracking.
|
|
43
|
+
* @param syncFunction - Function to call when block instance changes (to sync from node config)
|
|
44
44
|
* @param updateUI - Function to call to update the UI (called both on change and when same block)
|
|
45
|
-
* @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
|
|
46
45
|
* @returns true if block instance changed, false otherwise
|
|
47
46
|
*/
|
|
48
|
-
handleBlockInstanceChange(e, n
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
47
|
+
handleBlockInstanceChange(e, n) {
|
|
48
|
+
const E = this.getBlockInstanceId();
|
|
49
|
+
if (!E)
|
|
51
50
|
return !1;
|
|
52
|
-
const
|
|
53
|
-
return
|
|
51
|
+
const o = E !== this.lastBlockInstanceId;
|
|
52
|
+
return o ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = E) : n(), o;
|
|
54
53
|
}
|
|
55
54
|
_GuLabel({ text: e, name: n = "", position: E = "top" }) {
|
|
56
55
|
return `
|
|
@@ -81,7 +80,7 @@ class _ extends O {
|
|
|
81
80
|
class="${o}"
|
|
82
81
|
${$.SELECTPICKER.name}="${e}"
|
|
83
82
|
${$.SELECTPICKER.placeholder}="${n}">
|
|
84
|
-
${E.map((
|
|
83
|
+
${E.map((a) => this._GuSelectItem(a)).join("")}
|
|
85
84
|
</${t.SELECTPICKER}>
|
|
86
85
|
`;
|
|
87
86
|
}
|
|
@@ -169,11 +168,11 @@ class _ extends O {
|
|
|
169
168
|
*/
|
|
170
169
|
_GuOrderable(e, n) {
|
|
171
170
|
let E = "";
|
|
172
|
-
n.forEach((
|
|
173
|
-
const
|
|
171
|
+
n.forEach((a) => {
|
|
172
|
+
const l = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
|
|
174
173
|
E += `
|
|
175
|
-
<${t.ORDERABLE_ITEM} ${
|
|
176
|
-
${
|
|
174
|
+
<${t.ORDERABLE_ITEM} ${l}="${a.key}">
|
|
175
|
+
${a.content}
|
|
177
176
|
</${t.ORDERABLE_ITEM}>
|
|
178
177
|
`;
|
|
179
178
|
});
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import { TextAlignBuiltInControl as
|
|
2
|
-
function $(r, t, n) {
|
|
3
|
-
return class extends o {
|
|
4
|
-
getId() {
|
|
5
|
-
return r;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(e) {
|
|
8
|
-
return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
}
|
|
1
|
+
import { TextAlignBuiltInControl as l, TextColorBuiltInControl as s, TextSizeBuiltInControl as u, TextStyleBuiltInControl as i, TextFontFamilyBuiltInControl as c, ButtonBackgroundColorBuiltInControl as d, TextPaddingsBuiltInControl as a, ImageSizeBuiltInControl as g, ImageMarginsBuiltInControl as x, ButtonAlignBuiltInControl as C, ButtonBorderBuiltInControl as B, ButtonBorderRadiusBuiltInControl as T, ButtonColorBuiltInControl as I, ButtonFontFamilyBuiltInControl as f, ButtonMarginsBuiltInControl as y, ButtonPaddingsBuiltInControl as m, ButtonTextBuiltInControl as A, ButtonTextSizeBuiltInControl as S, ButtonTextStyleAndFontColorBuiltInControl as N, ButtonFitToContainerBuiltInControl as b, TextLineSpacingBuiltInControl as q } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
12
2
|
function k(r, t, n) {
|
|
13
3
|
return class extends l {
|
|
14
4
|
getId() {
|
|
@@ -69,28 +59,28 @@ function P(r, t, n) {
|
|
|
69
59
|
}
|
|
70
60
|
};
|
|
71
61
|
}
|
|
72
|
-
function
|
|
73
|
-
return class extends
|
|
62
|
+
function h(r, t, n) {
|
|
63
|
+
return class extends a {
|
|
74
64
|
getId() {
|
|
75
65
|
return r;
|
|
76
66
|
}
|
|
77
67
|
getTargetNodes(e) {
|
|
78
|
-
return [e];
|
|
68
|
+
return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
|
|
79
69
|
}
|
|
80
70
|
};
|
|
81
71
|
}
|
|
82
|
-
function
|
|
83
|
-
return class extends
|
|
72
|
+
function L(r, t, n) {
|
|
73
|
+
return class extends q {
|
|
84
74
|
getId() {
|
|
85
75
|
return r;
|
|
86
76
|
}
|
|
87
77
|
getTargetNodes(e) {
|
|
88
|
-
return e
|
|
78
|
+
return [e];
|
|
89
79
|
}
|
|
90
80
|
};
|
|
91
81
|
}
|
|
92
|
-
function
|
|
93
|
-
return class extends
|
|
82
|
+
function R(r, t, n = ".ins-recommendation-product-container") {
|
|
83
|
+
return class extends C {
|
|
94
84
|
getId() {
|
|
95
85
|
return r;
|
|
96
86
|
}
|
|
@@ -100,7 +90,7 @@ function h(r, t, n = ".ins-recommendation-product-container") {
|
|
|
100
90
|
};
|
|
101
91
|
}
|
|
102
92
|
function j(r, t, n = ".ins-recommendation-product-container") {
|
|
103
|
-
return class extends
|
|
93
|
+
return class extends I {
|
|
104
94
|
getId() {
|
|
105
95
|
return r;
|
|
106
96
|
}
|
|
@@ -120,7 +110,7 @@ function v(r, t, n = ".ins-recommendation-product-container") {
|
|
|
120
110
|
};
|
|
121
111
|
}
|
|
122
112
|
function w(r, t, n = ".ins-recommendation-product-container") {
|
|
123
|
-
return class extends
|
|
113
|
+
return class extends T {
|
|
124
114
|
getId() {
|
|
125
115
|
return r;
|
|
126
116
|
}
|
|
@@ -140,7 +130,7 @@ function D(r, t, n = ".ins-recommendation-product-container") {
|
|
|
140
130
|
};
|
|
141
131
|
}
|
|
142
132
|
function E(r, t, n = ".ins-recommendation-product-container") {
|
|
143
|
-
return class extends
|
|
133
|
+
return class extends y {
|
|
144
134
|
getId() {
|
|
145
135
|
return r;
|
|
146
136
|
}
|
|
@@ -150,7 +140,7 @@ function E(r, t, n = ".ins-recommendation-product-container") {
|
|
|
150
140
|
};
|
|
151
141
|
}
|
|
152
142
|
function G(r, t, n = ".ins-recommendation-product-container") {
|
|
153
|
-
return class extends
|
|
143
|
+
return class extends m {
|
|
154
144
|
getId() {
|
|
155
145
|
return r;
|
|
156
146
|
}
|
|
@@ -169,7 +159,7 @@ function H(r, t, n = ".ins-recommendation-product-container") {
|
|
|
169
159
|
}
|
|
170
160
|
};
|
|
171
161
|
}
|
|
172
|
-
function J(r, t, n) {
|
|
162
|
+
function J(r, t, n = ".ins-recommendation-product-container") {
|
|
173
163
|
return class extends S {
|
|
174
164
|
getId() {
|
|
175
165
|
return r;
|
|
@@ -190,7 +180,7 @@ function K(r, t, n) {
|
|
|
190
180
|
};
|
|
191
181
|
}
|
|
192
182
|
function O(r, t, n) {
|
|
193
|
-
return class extends
|
|
183
|
+
return class extends b {
|
|
194
184
|
getId() {
|
|
195
185
|
return r;
|
|
196
186
|
}
|
|
@@ -205,30 +195,50 @@ function Q(r, t, n) {
|
|
|
205
195
|
return r;
|
|
206
196
|
}
|
|
207
197
|
getTargetNodes(e) {
|
|
208
|
-
|
|
198
|
+
try {
|
|
199
|
+
const o = e.closest(n);
|
|
200
|
+
return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
|
|
201
|
+
} catch {
|
|
202
|
+
return [];
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
function U(r, t, n) {
|
|
208
|
+
return class extends x {
|
|
209
|
+
getId() {
|
|
210
|
+
return r;
|
|
211
|
+
}
|
|
212
|
+
getTargetNodes(e) {
|
|
213
|
+
try {
|
|
214
|
+
const o = e.closest(n);
|
|
215
|
+
return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
|
|
216
|
+
} catch {
|
|
217
|
+
return [];
|
|
218
|
+
}
|
|
209
219
|
}
|
|
210
220
|
};
|
|
211
221
|
}
|
|
212
222
|
export {
|
|
213
223
|
R as createButtonAlignControl,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
224
|
+
v as createButtonBorderControl,
|
|
225
|
+
w as createButtonBorderRadiusControl,
|
|
226
|
+
j as createButtonColorControl,
|
|
227
|
+
O as createButtonFitToContainerControl,
|
|
228
|
+
D as createButtonFontFamilyControl,
|
|
229
|
+
E as createButtonMarginsControl,
|
|
230
|
+
G as createButtonPaddingsControl,
|
|
231
|
+
H as createButtonTextControl,
|
|
232
|
+
J as createButtonTextSizeControl,
|
|
233
|
+
K as createButtonTextStyleAndFontColorControl,
|
|
234
|
+
U as createImageMarginsControl,
|
|
235
|
+
Q as createImageSizeControl,
|
|
236
|
+
h as createPaddingsControl,
|
|
237
|
+
k as createTextAlignControl,
|
|
238
|
+
P as createTextBackgroundColorControl,
|
|
239
|
+
p as createTextColorControl,
|
|
240
|
+
M as createTextFontFamilyControl,
|
|
231
241
|
L as createTextLineSpacingControl,
|
|
232
|
-
|
|
233
|
-
|
|
242
|
+
F as createTextSizeControl,
|
|
243
|
+
z as createTextStyleControl
|
|
234
244
|
};
|
package/dist/guido.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-
|
|
1
|
+
.gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-3bf5c743] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-890b5336]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-890b5336]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-890b5336]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-bb3bb07c] .guido__verion-history-view-option-selection-desktop svg,[data-v-bb3bb07c] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-bb3bb07c] .in-segments-wrapper__button_selected,[data-v-bb3bb07c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-b37f3f6d],[data-v-b37f3f6d] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
|