@useinsider/guido 1.0.3-beta.cdff8ce → 1.0.3-beta.ce3ed00
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 +32 -6
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +73 -79
- package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
- package/dist/components/organisms/header/RightSlot.vue.js +1 -1
- package/dist/components/organisms/header/RightSlot.vue2.js +20 -21
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
- package/dist/composables/useActionsApi.js +1 -1
- package/dist/composables/useGuidoActions.js +9 -19
- package/dist/composables/useHtmlCompiler.js +13 -15
- package/dist/composables/useHtmlValidator.js +35 -36
- package/dist/composables/useStripo.js +41 -47
- package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
- package/dist/enums/defaults.js +1 -2
- package/dist/enums/onboarding.js +3 -7
- package/dist/enums/unsubscribe.js +25 -27
- package/dist/extensions/Blocks/Checkbox/control.js +14 -15
- package/dist/extensions/Blocks/Checkbox/template.js +9 -14
- package/dist/extensions/Blocks/Items/block.js +43 -40
- package/dist/extensions/Blocks/Items/controls/button/link.js +17 -25
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +57 -151
- package/dist/extensions/Blocks/Items/controls/image/link.js +20 -28
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +22 -29
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +18 -25
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +8 -18
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +30 -37
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +14 -37
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +130 -167
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
- package/dist/extensions/Blocks/Items/enums/productEnums.js +5 -98
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +7 -21
- package/dist/extensions/Blocks/Items/extension.js +8 -9
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +59 -57
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +61 -67
- package/dist/extensions/Blocks/Items/settingsPanel.js +43 -69
- package/dist/extensions/Blocks/Items/store/items-block.js +4 -12
- package/dist/extensions/Blocks/Items/template.js +63 -150
- package/dist/extensions/Blocks/RadioButton/control.js +17 -18
- package/dist/extensions/Blocks/RadioButton/template.js +9 -18
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
- package/dist/extensions/Blocks/Unsubscribe/block.js +41 -45
- package/dist/extensions/Blocks/common-control.js +125 -164
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
- package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +2 -12
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
- package/dist/node_modules/lodash-es/keysIn.js +3 -3
- package/dist/package.json.js +1 -1
- package/dist/src/@types/generic.d.ts +6 -27
- package/dist/src/components/Guido.vue.d.ts +2 -3
- package/dist/src/composables/useGuidoActions.d.ts +0 -9
- package/dist/src/enums/onboarding.d.ts +0 -4
- package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/block.d.ts +0 -15
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +7 -20
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +1 -5
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +2 -8
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -20
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -15
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +1 -5
- package/dist/src/extensions/Blocks/Items/template.d.ts +1 -9
- package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
- package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +4 -3
- package/dist/src/extensions/Blocks/common-control.d.ts +2 -25
- package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -9
- package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -52
- package/dist/src/stores/config.d.ts +2 -3
- package/dist/src/stores/dynamic-content.d.ts +3 -3
- package/dist/src/stores/editor.d.ts +1 -1
- package/dist/src/stores/onboarding.d.ts +1 -335
- package/dist/src/stores/preview.d.ts +1 -1
- package/dist/src/stores/recommendation.d.ts +1 -1
- package/dist/src/stores/save-as-template.d.ts +1 -1
- package/dist/src/stores/toaster.d.ts +1 -1
- package/dist/src/stores/unsubscribe.d.ts +1 -1
- package/dist/src/stores/version-history.d.ts +1 -1
- package/dist/src/utils/genericUtil.d.ts +0 -1
- package/dist/stores/config.js +5 -5
- package/dist/stores/dynamic-content.js +2 -2
- package/dist/stores/editor.js +1 -1
- package/dist/stores/onboarding.js +36 -44
- package/dist/stores/preview.js +1 -1
- package/dist/stores/recommendation.js +3 -3
- package/dist/stores/save-as-template.js +2 -2
- package/dist/stores/toaster.js +1 -1
- package/dist/stores/unsubscribe.js +1 -1
- package/dist/stores/version-history.js +4 -4
- package/dist/utils/genericUtil.js +6 -17
- package/package.json +12 -7
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
- package/dist/config/compiler/itemsCompilerRules.js +0 -14
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +0 -92
- 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/node_modules/lodash-es/_DataView.js +0 -6
- package/dist/node_modules/lodash-es/_Promise.js +0 -6
- package/dist/node_modules/lodash-es/_Set.js +0 -6
- package/dist/node_modules/lodash-es/_SetCache.js +0 -13
- package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
- package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
- package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
- package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
- package/dist/node_modules/lodash-es/_arraySome.js +0 -9
- package/dist/node_modules/lodash-es/_baseEach.js +0 -6
- package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
- package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
- package/dist/node_modules/lodash-es/_baseGet.js +0 -11
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
- package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
- package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
- package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
- package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
- package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
- package/dist/node_modules/lodash-es/_baseMap.js +0 -11
- package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
- package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
- package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
- package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
- package/dist/node_modules/lodash-es/_baseRange.js +0 -9
- package/dist/node_modules/lodash-es/_baseToString.js +0 -18
- package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
- package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
- package/dist/node_modules/lodash-es/_castPath.js +0 -10
- package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
- package/dist/node_modules/lodash-es/_createRange.js +0 -11
- package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
- package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
- package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
- package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
- package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
- package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
- package/dist/node_modules/lodash-es/_getTag.js +0 -28
- package/dist/node_modules/lodash-es/_hasPath.js +0 -19
- package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
- package/dist/node_modules/lodash-es/_isKey.js +0 -12
- package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
- package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
- package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
- package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
- package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
- package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
- package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
- package/dist/node_modules/lodash-es/_setToArray.js +0 -9
- package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
- package/dist/node_modules/lodash-es/_toKey.js +0 -10
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
- package/dist/node_modules/lodash-es/flatMap.js +0 -8
- package/dist/node_modules/lodash-es/get.js +0 -8
- package/dist/node_modules/lodash-es/hasIn.js +0 -8
- package/dist/node_modules/lodash-es/isSymbol.js +0 -9
- package/dist/node_modules/lodash-es/keys.js +0 -9
- package/dist/node_modules/lodash-es/map.js +0 -11
- package/dist/node_modules/lodash-es/property.js +0 -10
- package/dist/node_modules/lodash-es/range.js +0 -5
- package/dist/node_modules/lodash-es/stubArray.js +0 -6
- package/dist/node_modules/lodash-es/toFinite.js +0 -14
- package/dist/node_modules/lodash-es/toNumber.js +0 -22
- package/dist/node_modules/lodash-es/toString.js +0 -7
- package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
- package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -15
- 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/utils/environmentUtil.d.ts +0 -5
- package/dist/src/utils/pairProductVariables.d.ts +0 -7
- package/dist/utils/environmentUtil.js +0 -4
- package/dist/utils/pairProductVariables.js +0 -136
|
@@ -1,195 +1,108 @@
|
|
|
1
|
-
import { BlockType as
|
|
2
|
-
import { ItemsBlockId as
|
|
3
|
-
import { productPairs as
|
|
4
|
-
import { ItemInCartOptions as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
let [
|
|
8
|
-
const
|
|
9
|
-
<${
|
|
10
|
-
${_.BLOCK_IMAGE.src}="${
|
|
11
|
-
${_.BLOCK_IMAGE.alt}="
|
|
12
|
-
${_.BLOCK_IMAGE.href}="
|
|
13
|
-
${_.BLOCK_IMAGE.width}
|
|
14
|
-
esd-extension-block-id="${
|
|
15
|
-
data-
|
|
16
|
-
|
|
17
|
-
data-type="${a}"
|
|
18
|
-
data-number="${t}"
|
|
1
|
+
import { BlockType as E, BlockAttr as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { ItemsBlockId as n } from "./enums/controlEnums.js";
|
|
3
|
+
import { productPairs as e } from "./enums/productEnums.js";
|
|
4
|
+
import { ItemInCartOptions as N, SETTINGS_ENUMS as r } from "./enums/settingsEnums.js";
|
|
5
|
+
import d from "./layouts/horizontal.html.js";
|
|
6
|
+
import P from "./layouts/vertical.html.js";
|
|
7
|
+
let [s] = e.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = e.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [a] = e.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [c] = e.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [p] = e.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
|
|
8
|
+
const $ = () => `
|
|
9
|
+
<${E.BLOCK_IMAGE}
|
|
10
|
+
${_.BLOCK_IMAGE.src}="${s}"
|
|
11
|
+
${_.BLOCK_IMAGE.alt}="Product Image"
|
|
12
|
+
${_.BLOCK_IMAGE.href}="#"
|
|
13
|
+
${_.BLOCK_IMAGE.width}="70"
|
|
14
|
+
esd-extension-block-id="${n.IMAGE}"
|
|
15
|
+
data-type="CART_ITEMS"
|
|
16
|
+
data-number="1"
|
|
19
17
|
/>
|
|
20
|
-
`,
|
|
21
|
-
<${
|
|
18
|
+
`, S = () => `
|
|
19
|
+
<${E.BLOCK_TEXT}
|
|
22
20
|
width="100%"
|
|
23
21
|
align="center"
|
|
24
22
|
class="es-p10"
|
|
25
|
-
|
|
26
|
-
esd-extension-block-id="${T.NAME}"
|
|
23
|
+
esd-extension-block-id="${n.NAME}"
|
|
27
24
|
>
|
|
28
|
-
<p
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
text-decoration:none;
|
|
33
|
-
font-size: inherit;
|
|
34
|
-
font-weight: inherit;
|
|
35
|
-
line-height: inherit;
|
|
36
|
-
font-family: inherit;
|
|
37
|
-
color: inherit;
|
|
38
|
-
display: block;
|
|
39
|
-
word-wrap:break-word;
|
|
40
|
-
white-space: nowrap;
|
|
41
|
-
width: 520px;
|
|
42
|
-
overflow: hidden;
|
|
43
|
-
text-overflow: ellipsis;
|
|
44
|
-
"
|
|
45
|
-
product-attr="name"
|
|
46
|
-
data-slot-2
|
|
47
|
-
width="100%">
|
|
48
|
-
${A}
|
|
49
|
-
</a>
|
|
25
|
+
<p
|
|
26
|
+
data-slot-2
|
|
27
|
+
width="100%">
|
|
28
|
+
${A}
|
|
50
29
|
</p>
|
|
51
|
-
</${
|
|
52
|
-
`,
|
|
53
|
-
let
|
|
54
|
-
if (
|
|
55
|
-
const
|
|
56
|
-
|
|
30
|
+
</${E.BLOCK_TEXT}>
|
|
31
|
+
`, B = (T, t) => {
|
|
32
|
+
let i = a;
|
|
33
|
+
if (T && T.trim()) {
|
|
34
|
+
const o = ` ${T.trim()} `;
|
|
35
|
+
i = (t || "0") === "1" ? `${a}${o}` : `${o}${a}`;
|
|
57
36
|
}
|
|
58
|
-
const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
|
|
59
37
|
return `
|
|
60
|
-
<${
|
|
61
|
-
esd-extension-block-id="${
|
|
38
|
+
<${E.BLOCK_TEXT}
|
|
39
|
+
esd-extension-block-id="${n.PRICE}"
|
|
62
40
|
class="items-block-price"
|
|
63
41
|
width="100%"
|
|
64
42
|
align="center"
|
|
65
43
|
>
|
|
66
|
-
<p
|
|
67
|
-
|
|
68
|
-
contenteditable="false"
|
|
69
|
-
data-slot-4
|
|
70
|
-
data-type="${a}"
|
|
71
|
-
data-number="${t}"
|
|
72
|
-
${d}
|
|
73
|
-
${s}
|
|
74
|
-
${e ? `data-currency_symbol="${e}"` : ""}
|
|
75
|
-
>
|
|
76
|
-
${n}
|
|
44
|
+
<p contenteditable="false">
|
|
45
|
+
${i}
|
|
77
46
|
</p>
|
|
78
|
-
</${
|
|
47
|
+
</${E.BLOCK_TEXT}>
|
|
79
48
|
`;
|
|
80
|
-
},
|
|
81
|
-
let
|
|
82
|
-
if (
|
|
83
|
-
const
|
|
84
|
-
|
|
49
|
+
}, F = (T, t) => {
|
|
50
|
+
let i = c;
|
|
51
|
+
if (T && T.trim()) {
|
|
52
|
+
const o = ` ${T.trim()} `;
|
|
53
|
+
i = (t || "0") === "1" ? `${c}${o}` : `${o}${c}`;
|
|
85
54
|
}
|
|
86
|
-
const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
|
|
87
55
|
return `
|
|
88
|
-
<${
|
|
56
|
+
<${E.BLOCK_TEXT}
|
|
89
57
|
class="items-block-price"
|
|
90
|
-
esd-extension-block-id="${
|
|
58
|
+
esd-extension-block-id="${n.ORIGINAL_PRICE}"
|
|
91
59
|
width="100%"
|
|
92
60
|
align="center"
|
|
93
61
|
>
|
|
94
62
|
<p
|
|
95
|
-
product-attr="originalPrice"
|
|
96
63
|
contenteditable="false"
|
|
97
|
-
data-slot-5
|
|
98
64
|
style="color: #cc0000"
|
|
99
|
-
data-type="${a}"
|
|
100
|
-
data-number="${t}"
|
|
101
|
-
${d}
|
|
102
|
-
${s}
|
|
103
|
-
${e ? `data-currency_symbol="${e}"` : ""}
|
|
104
65
|
>
|
|
105
|
-
<s>${
|
|
66
|
+
<s>${i}</s>
|
|
106
67
|
</p>
|
|
107
|
-
</${
|
|
68
|
+
</${E.BLOCK_TEXT}>
|
|
108
69
|
`;
|
|
109
|
-
},
|
|
110
|
-
<${
|
|
70
|
+
}, L = () => `
|
|
71
|
+
<${E.BLOCK_TEXT}
|
|
111
72
|
width="100%"
|
|
112
73
|
align="center"
|
|
113
74
|
class="es-p10"
|
|
114
|
-
esd-extension-block-id="${
|
|
75
|
+
esd-extension-block-id="${n.QUANTITY}"
|
|
115
76
|
>
|
|
116
77
|
<p
|
|
117
|
-
product-attr="quantity"
|
|
118
78
|
data-slot-3
|
|
119
79
|
contenteditable="false"
|
|
120
80
|
width="100%">
|
|
121
|
-
${
|
|
81
|
+
${p}
|
|
122
82
|
</p>
|
|
123
|
-
</${
|
|
124
|
-
`, U = (
|
|
125
|
-
<${
|
|
83
|
+
</${E.BLOCK_TEXT}>
|
|
84
|
+
`, U = () => `
|
|
85
|
+
<${E.BLOCK_BUTTON}
|
|
126
86
|
width="100%"
|
|
127
87
|
class="ins-button"
|
|
128
88
|
name="buy-button"
|
|
129
89
|
caption="Buy"
|
|
130
90
|
align="center"
|
|
131
|
-
esd-extension-block-id="${
|
|
132
|
-
product-attr="button"
|
|
133
|
-
data-slot-6
|
|
134
|
-
data-type="${a}"
|
|
135
|
-
data-number="${t}"
|
|
91
|
+
esd-extension-block-id="${n.BUTTON}"
|
|
136
92
|
>Buy
|
|
137
|
-
</${
|
|
138
|
-
`,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
"{-{-PRODUCT_PRICE-}-}",
|
|
147
|
-
S(t, o, c, n, r)
|
|
148
|
-
).replaceAll(
|
|
149
|
-
"{-{-PRODUCT_ORIGINAL_PRICE-}-}",
|
|
150
|
-
L(
|
|
151
|
-
t,
|
|
152
|
-
o,
|
|
153
|
-
c,
|
|
154
|
-
n,
|
|
155
|
-
r
|
|
156
|
-
)
|
|
157
|
-
).replace("{-{-PRODUCT_QUANTITY-}-}", b()).replace("{-{-PRODUCT_BUTTON-}-}", U(t, o)).replace("{-{-CONFIG_BLOCK-}-}", D());
|
|
158
|
-
};
|
|
159
|
-
function G({
|
|
160
|
-
orientation: a,
|
|
161
|
-
itemsType: t = O.ITEMS_TYPE.CART_ITEMS,
|
|
162
|
-
itemId: o,
|
|
163
|
-
currencySymbol: e,
|
|
164
|
-
currencyLocation: c,
|
|
165
|
-
formattedPrice: n = !0
|
|
93
|
+
</${E.BLOCK_TEXT}>
|
|
94
|
+
`, R = (T, t, i) => T.replace("{-{-PRODUCT_IMAGE-}-}", $()).replace("{-{-PRODUCT_NAME-}-}", S()).replace("{-{-PRODUCT_PRICE-}-}", B(t, i)).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", F(t, i)).replace("{-{-PRODUCT_QUANTITY-}-}", L()).replace("{-{-PRODUCT_BUTTON-}-}", U());
|
|
95
|
+
function k({
|
|
96
|
+
orientation: T,
|
|
97
|
+
itemsType: t = r.ITEMS_TYPE.CART_ITEMS,
|
|
98
|
+
itemId: i,
|
|
99
|
+
currencySymbol: o,
|
|
100
|
+
currencyLocation: I,
|
|
101
|
+
formattedPrice: l = !0
|
|
166
102
|
}) {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
if (r >= 0)
|
|
170
|
-
d = String(r + 1);
|
|
171
|
-
else if (o) {
|
|
172
|
-
const s = o.match(/\((\d+)\)/);
|
|
173
|
-
s && s[1] && ([, d] = s);
|
|
174
|
-
}
|
|
175
|
-
return C = i.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[r >= 0 ? r : 0], A = i.PAIRS_FOR_EXTENSION.name[t].DEFAULT[r >= 0 ? r : 0], p = n ? i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, I = n ? i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, u = i.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT, a === O.ORIENTATION.VERTICAL ? R(
|
|
176
|
-
g,
|
|
177
|
-
t,
|
|
178
|
-
d,
|
|
179
|
-
a,
|
|
180
|
-
n,
|
|
181
|
-
e,
|
|
182
|
-
c
|
|
183
|
-
) : R(
|
|
184
|
-
B,
|
|
185
|
-
t,
|
|
186
|
-
d,
|
|
187
|
-
a,
|
|
188
|
-
n,
|
|
189
|
-
e,
|
|
190
|
-
c
|
|
191
|
-
);
|
|
103
|
+
const O = N[t].findIndex((C) => C.value === i);
|
|
104
|
+
return s = e.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[O], A = e.PAIRS_FOR_EXTENSION.name[t].DEFAULT[O], a = l ? e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, c = l ? e.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, p = e.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT, T === r.ORIENTATION.VERTICAL ? R(P, o, I) : R(d, o, I);
|
|
192
105
|
}
|
|
193
106
|
export {
|
|
194
|
-
|
|
107
|
+
k as getDefaultTemplate
|
|
195
108
|
};
|
|
@@ -2,10 +2,10 @@ var d = Object.defineProperty;
|
|
|
2
2
|
var l = (r, n, t) => n in r ? d(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;
|
|
3
3
|
var o = (r, n, t) => l(r, typeof n != "symbol" ? n + "" : n, t);
|
|
4
4
|
import { useHttp as L } from "../../../composables/useHttp.js";
|
|
5
|
-
import { DEFAULT_UNSUBSCRIBE_GROUP as
|
|
5
|
+
import { DEFAULT_UNSUBSCRIBE_GROUP as E } from "../../../enums/unsubscribe.js";
|
|
6
6
|
import { Control as p, UIElementType as i, UEAttr as e, ModificationDescription as h } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
7
|
-
const m = "ui-elements-radio-button",
|
|
8
|
-
class
|
|
7
|
+
const m = "ui-elements-radio-button", a = "select", { get: $ } = L();
|
|
8
|
+
class _ extends p {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
11
|
o(this, "currentNode");
|
|
@@ -16,16 +16,15 @@ class S extends p {
|
|
|
16
16
|
return m;
|
|
17
17
|
}
|
|
18
18
|
_setFormValues() {
|
|
19
|
-
if (this.
|
|
19
|
+
if (this.currentNode && "getAttribute" in this.currentNode) {
|
|
20
20
|
const t = this.currentNode.getAttribute("id");
|
|
21
21
|
if (t) {
|
|
22
|
-
const s = t ===
|
|
23
|
-
s && (this.selectedUnsubGroup = s
|
|
22
|
+
const s = t === E.sendGridId ? t : Number(t);
|
|
23
|
+
s && (this.selectedUnsubGroup = s, this.api.updateValues({
|
|
24
|
+
[a]: this.selectedUnsubGroup
|
|
25
|
+
}));
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
this.api.updateValues({
|
|
27
|
-
[u]: this.selectedUnsubGroup
|
|
28
|
-
});
|
|
29
28
|
}
|
|
30
29
|
_getLabel(t, s = `${Math.random()}`) {
|
|
31
30
|
return `
|
|
@@ -55,7 +54,7 @@ class S extends p {
|
|
|
55
54
|
</${i.LABEL}>
|
|
56
55
|
|
|
57
56
|
<${i.SELECTPICKER}
|
|
58
|
-
${e.SELECTPICKER.name}="${
|
|
57
|
+
${e.SELECTPICKER.name}="${a}"
|
|
59
58
|
${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
|
|
60
59
|
${this._getSelect()}
|
|
61
60
|
</${i.SELECTPICKER}>
|
|
@@ -67,27 +66,27 @@ class S extends p {
|
|
|
67
66
|
this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new h(`Updated text to ${t}`));
|
|
68
67
|
}
|
|
69
68
|
_listenToFormUpdates() {
|
|
70
|
-
this.api.onValueChanged(
|
|
69
|
+
this.api.onValueChanged(a, (t) => this._onSelectChange(t));
|
|
71
70
|
}
|
|
72
71
|
onTemplateNodeUpdated(t) {
|
|
73
|
-
this.currentNode = t
|
|
72
|
+
this.currentNode = t;
|
|
74
73
|
}
|
|
75
74
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
76
75
|
async onRender() {
|
|
77
76
|
const t = await $(
|
|
78
77
|
"/unsubscribe-groups/unsubscribe-list"
|
|
79
|
-
), s = [
|
|
80
|
-
[e.SELECT_ITEM.text]:
|
|
81
|
-
[e.SELECT_ITEM.value]:
|
|
78
|
+
), s = [E, ...t.data], c = s.map((u) => ({
|
|
79
|
+
[e.SELECT_ITEM.text]: u.name,
|
|
80
|
+
[e.SELECT_ITEM.value]: u.sendGridId
|
|
82
81
|
}));
|
|
83
82
|
this.unsubList = s, this.api.setUIEAttribute(
|
|
84
|
-
|
|
83
|
+
a,
|
|
85
84
|
e.SELECTPICKER.items,
|
|
86
|
-
|
|
85
|
+
c
|
|
87
86
|
), this._setFormValues(), this._listenToFormUpdates();
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
89
|
export {
|
|
91
90
|
m as CONTROL_BLOCK_ID,
|
|
92
|
-
|
|
91
|
+
_ as RadioButtonControl
|
|
93
92
|
};
|
|
@@ -5,7 +5,7 @@ const e = {
|
|
|
5
5
|
YES: "Yes",
|
|
6
6
|
NO: "No"
|
|
7
7
|
}, d = `
|
|
8
|
-
<td align="left" class="radio-button
|
|
8
|
+
<td align="left" class="radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
|
|
9
9
|
<table cellpadding="0" cellspacing="0" role="presentation" width="100%">
|
|
10
10
|
<tbody>
|
|
11
11
|
<tr>
|
|
@@ -75,21 +75,12 @@ const e = {
|
|
|
75
75
|
</tbody>
|
|
76
76
|
</table>
|
|
77
77
|
</td>
|
|
78
|
-
`,
|
|
79
|
-
<td
|
|
80
|
-
align="left"
|
|
81
|
-
esd-extension-block-id="radio-button-block"
|
|
78
|
+
`, l = `
|
|
79
|
+
<td
|
|
80
|
+
align="left"
|
|
81
|
+
esd-extension-block-id="radio-button-block"
|
|
82
82
|
esd-handler-name="esd-extension-RadioButtonBlock"
|
|
83
|
-
class="
|
|
84
|
-
radio-button
|
|
85
|
-
radio-button-v2
|
|
86
|
-
esd-block-ra
|
|
87
|
-
esd-radio-button-block
|
|
88
|
-
esd-extension-block
|
|
89
|
-
es-p10t
|
|
90
|
-
es-p10b
|
|
91
|
-
es-p30r
|
|
92
|
-
es-p30l"
|
|
83
|
+
class="radio-button-v2 esd-block-ra esd-radio-button-block esd-extension-block es-p10t es-p10b es-p30r es-p30l"
|
|
93
84
|
>
|
|
94
85
|
<table cellpadding="0" cellspacing="0" role="presentation" width="100%">
|
|
95
86
|
<tbody>
|
|
@@ -149,10 +140,10 @@ const e = {
|
|
|
149
140
|
</table>
|
|
150
141
|
</td>
|
|
151
142
|
`;
|
|
152
|
-
function
|
|
143
|
+
function a() {
|
|
153
144
|
return d.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`).replace("{-{-YES-}-}", `<p path="1">${e.YES}</p>`).replace("{-{-NO-}-}", `<p path="1">${e.NO}</p>`);
|
|
154
145
|
}
|
|
155
146
|
export {
|
|
156
|
-
|
|
157
|
-
|
|
147
|
+
l as default,
|
|
148
|
+
a as getDefaultTemplate
|
|
158
149
|
};
|
|
@@ -133,7 +133,7 @@ const a = c(), d = () => ({
|
|
|
133
133
|
filterSelectionDrawerStatus: !1,
|
|
134
134
|
filterList: {},
|
|
135
135
|
filterGroup: 1
|
|
136
|
-
}), G = p("
|
|
136
|
+
}), G = p("recommendationExtension", {
|
|
137
137
|
state: () => d(),
|
|
138
138
|
getters: {
|
|
139
139
|
hasFilters: (e) => !!e.recommendationConfigs.filters.length,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var u = (n, i, e) =>
|
|
1
|
+
var _ = Object.defineProperty;
|
|
2
|
+
var d = (n, i, e) => i in n ? _(n, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[i] = e;
|
|
3
|
+
var u = (n, i, e) => d(n, typeof i != "symbol" ? i + "" : i, e);
|
|
4
4
|
import { PAGE_TYPES as E } from "../../../enums/unsubscribe.js";
|
|
5
5
|
import { useUnsubscribeStore as c } from "../../../stores/unsubscribe.js";
|
|
6
|
-
import { Block as
|
|
6
|
+
import { Block as S, BlockCompositionType as h, ModificationDescription as b } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
7
7
|
import { getDefaultTemplate as L } from "./template.js";
|
|
8
8
|
import { UNSUBSCRIBE_EVENTS as a, DATA_ATTRIBUTES as o } from "./utils/constants.js";
|
|
9
|
-
import { parsePageList as
|
|
10
|
-
const
|
|
9
|
+
import { parsePageList as m } from "./utils/utils.js";
|
|
10
|
+
const v = "unsubscribe-block", g = 'a[data-unsubscribe-link="true"]', B = ".unsubscribe-block-v2", f = "{{ins-unsubscribe-link}}", C = {
|
|
11
11
|
[E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
|
|
12
12
|
[E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
|
|
13
13
|
};
|
|
14
|
-
class
|
|
14
|
+
class D extends S {
|
|
15
15
|
constructor() {
|
|
16
16
|
super();
|
|
17
17
|
u(this, "selectEventListener", null);
|
|
@@ -19,13 +19,13 @@ class R extends h {
|
|
|
19
19
|
u(this, "currentNode");
|
|
20
20
|
}
|
|
21
21
|
getId() {
|
|
22
|
-
return
|
|
22
|
+
return v;
|
|
23
23
|
}
|
|
24
24
|
getIcon() {
|
|
25
25
|
return "unsubscribe-icon";
|
|
26
26
|
}
|
|
27
27
|
getBlockCompositionType() {
|
|
28
|
-
return
|
|
28
|
+
return h.BLOCK;
|
|
29
29
|
}
|
|
30
30
|
getName() {
|
|
31
31
|
return this.api.translate("Unsubscribe Block");
|
|
@@ -36,8 +36,11 @@ class R extends h {
|
|
|
36
36
|
getTemplate() {
|
|
37
37
|
return L();
|
|
38
38
|
}
|
|
39
|
+
onCreated(e) {
|
|
40
|
+
"getAttribute" in e && e.getAttribute("data-migration") || (this.currentNode = e, this._resetStoreState(), this._setupSelectEventListener(), this._setupCancelEventListener(), this._checkExistingBlocks(), this._openDrawer());
|
|
41
|
+
}
|
|
39
42
|
onSelect(e) {
|
|
40
|
-
this.currentNode = e,
|
|
43
|
+
this.currentNode = e, this._resetStoreState(), this._loadBlockState(e), this._setupSelectEventListener();
|
|
41
44
|
}
|
|
42
45
|
onDelete(e) {
|
|
43
46
|
this._removeEventListeners(), this._removeBlockTemplatesFromStore(e), this._resetStoreState();
|
|
@@ -47,8 +50,8 @@ class R extends h {
|
|
|
47
50
|
}
|
|
48
51
|
_setupSelectEventListener() {
|
|
49
52
|
this._removeSelectEventListener(), this.selectEventListener = (e) => {
|
|
50
|
-
const
|
|
51
|
-
this._updateBlock(t,
|
|
53
|
+
const r = e, { collectionType: t, selectedPages: s } = r.detail;
|
|
54
|
+
this._updateBlock(t, s.join(","));
|
|
52
55
|
}, document.addEventListener(a.SELECT, this.selectEventListener);
|
|
53
56
|
}
|
|
54
57
|
_removeSelectEventListener() {
|
|
@@ -63,45 +66,38 @@ class R extends h {
|
|
|
63
66
|
this.cancelEventListener && (document.removeEventListener(a.CANCEL, this.cancelEventListener), this.cancelEventListener = null);
|
|
64
67
|
}
|
|
65
68
|
_handleCancel() {
|
|
66
|
-
|
|
67
|
-
if (!this.currentNode)
|
|
68
|
-
return;
|
|
69
|
-
this.api.getDocumentModifier().modifyHtml(this.currentNode).delete().apply(new b("Removed unsubscribe block due to cancel"));
|
|
70
|
-
} catch (e) {
|
|
71
|
-
console.warn("[UnsubscribeBlock] Failed to remove unsubscribe block:", e);
|
|
72
|
-
}
|
|
69
|
+
this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).delete().apply(new b("Removed unsubscribe block due to cancel"));
|
|
73
70
|
}
|
|
74
71
|
_removeEventListeners() {
|
|
75
72
|
this._removeSelectEventListener(), this._removeCancelEventListener();
|
|
76
73
|
}
|
|
77
|
-
_updateBlock(e,
|
|
74
|
+
_updateBlock(e, r) {
|
|
78
75
|
if (!this.currentNode || !("querySelector" in this.currentNode))
|
|
79
76
|
return;
|
|
80
|
-
const t = this.currentNode.querySelector(
|
|
77
|
+
const t = this.currentNode.querySelector(g);
|
|
81
78
|
if (!t)
|
|
82
79
|
return;
|
|
83
|
-
const
|
|
84
|
-
this.api.getDocumentModifier().modifyHtml(t).setAttribute("href",
|
|
80
|
+
const s = this._getMergeTag(e);
|
|
81
|
+
this.api.getDocumentModifier().modifyHtml(t).setAttribute("href", s).apply(new b(`Updated unsubscribe link to ${s}`)), this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(o.PAGE_TYPE, e.toString()).setAttribute(o.PAGE_LIST, r).apply(new b("Updated unsubscribe block metadata"));
|
|
85
82
|
}
|
|
86
83
|
_getMergeTag(e) {
|
|
87
|
-
return
|
|
84
|
+
return C[e] ?? f;
|
|
88
85
|
}
|
|
89
86
|
_openDrawer() {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
87
|
+
try {
|
|
88
|
+
const e = c();
|
|
89
|
+
e.typeSelectionDrawerStatus = !0;
|
|
90
|
+
} catch (e) {
|
|
91
|
+
console.error("[UnsubscribeBlock] Failed to open drawer:", e);
|
|
92
|
+
}
|
|
97
93
|
}
|
|
98
94
|
_checkExistingBlocks() {
|
|
99
95
|
const e = c();
|
|
100
|
-
e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(
|
|
96
|
+
e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(B).forEach((t) => {
|
|
101
97
|
if ("getAttribute" in t) {
|
|
102
|
-
const
|
|
103
|
-
if (
|
|
104
|
-
const l = Number(
|
|
98
|
+
const s = t.getAttribute(o.PAGE_TYPE);
|
|
99
|
+
if (s) {
|
|
100
|
+
const l = Number(s);
|
|
105
101
|
l === E.GLOBAL_UNSUBSCRIBE ? e.isGlobalUnsubscribeDisabled = !0 : l === E.SUBSCRIPTION_PREFERENCE_CENTER && (e.isSubscriptionPreferencesCenterDisabled = !0);
|
|
106
102
|
}
|
|
107
103
|
}
|
|
@@ -110,11 +106,11 @@ class R extends h {
|
|
|
110
106
|
_loadBlockState(e) {
|
|
111
107
|
if (!("getAttribute" in e))
|
|
112
108
|
return;
|
|
113
|
-
const
|
|
114
|
-
if (!
|
|
109
|
+
const r = e.getAttribute(o.PAGE_TYPE), t = e.getAttribute(o.PAGE_LIST);
|
|
110
|
+
if (!r || !t)
|
|
115
111
|
return;
|
|
116
|
-
const
|
|
117
|
-
|
|
112
|
+
const s = c(), l = Number(r), p = m(t);
|
|
113
|
+
s.setCollectionWithoutAutoSelection(l), s.loadSelectedTemplates(p);
|
|
118
114
|
}
|
|
119
115
|
_resetStoreState() {
|
|
120
116
|
c().$reset();
|
|
@@ -122,14 +118,14 @@ class R extends h {
|
|
|
122
118
|
_removeBlockTemplatesFromStore(e) {
|
|
123
119
|
if (!("getAttribute" in e))
|
|
124
120
|
return;
|
|
125
|
-
const
|
|
126
|
-
if (!
|
|
121
|
+
const r = e.getAttribute(o.PAGE_LIST);
|
|
122
|
+
if (!r)
|
|
127
123
|
return;
|
|
128
|
-
const t = c(),
|
|
129
|
-
t.removeUnsubscribePages(
|
|
124
|
+
const t = c(), s = m(r);
|
|
125
|
+
t.removeUnsubscribePages(s);
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
128
|
export {
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
v as UNSUBSCRIBE_BLOCK_ID,
|
|
130
|
+
D as UnsubscribeBlock
|
|
135
131
|
};
|