@useinsider/guido 1.0.3-beta.0d0bb85 → 1.0.3-beta.0da597d
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 +172 -3
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +79 -73
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -11
- package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
- package/dist/composables/useBlocksConfig.js +48 -0
- package/dist/composables/useGuidoActions.js +19 -9
- package/dist/composables/useStripo.js +50 -59
- package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
- package/dist/enums/defaults.js +16 -9
- package/dist/enums/extensions/recommendationBlock.js +2 -2
- package/dist/enums/unsubscribe.js +10 -9
- package/dist/extensions/Blocks/Checkbox/block.js +5 -2
- package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
- package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
- package/dist/extensions/Blocks/Items/block.js +66 -0
- package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +99 -0
- package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/index.js +217 -0
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +280 -0
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
- package/dist/extensions/Blocks/Items/enums/productEnums.js +195 -0
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +70 -0
- package/dist/extensions/Blocks/Items/extension.js +19 -0
- package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
- package/dist/extensions/Blocks/Items/items.css.js +23 -0
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +61 -0
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +61 -0
- package/dist/extensions/Blocks/Items/settingsPanel.js +106 -0
- package/dist/extensions/Blocks/Items/store/items-block.js +71 -0
- package/dist/extensions/Blocks/Items/template.js +110 -0
- package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +67 -0
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +44 -0
- package/dist/extensions/Blocks/RadioButton/block.js +5 -2
- package/dist/extensions/Blocks/Recommendation/extension.js +4 -4
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +4 -4
- package/dist/extensions/Blocks/common-control.js +174 -110
- package/dist/extensions/Blocks/controlFactories.js +223 -0
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
- package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +213 -168
- package/dist/package.json.js +1 -1
- package/dist/services/recommendationApi.js +13 -19
- package/dist/services/stripoApi.js +1 -1
- package/dist/src/@types/generic.d.ts +36 -6
- package/dist/src/components/Guido.vue.d.ts +3 -2
- package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
- package/dist/src/composables/useBlocksConfig.d.ts +11 -0
- package/dist/src/composables/useGuidoActions.d.ts +9 -0
- package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Items/block.d.ts +13 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +20 -0
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +42 -0
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +154 -0
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +43 -0
- package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
- package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +41 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +16 -0
- package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +44 -0
- package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
- package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
- package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
- package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
- package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
- package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
- package/dist/src/stores/config.d.ts +9 -2
- 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 -1
- 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/arrayUtil.d.ts +0 -5
- package/dist/src/utils/genericUtil.d.ts +1 -0
- package/dist/static/styles/components/narrow-panel.css.js +10 -0
- package/dist/static/styles/customEditorStyle.css.js +1 -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 +27 -27
- 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 +18 -8
- package/package.json +11 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
ITEMS_TYPE: {
|
|
3
|
+
CART_ITEMS: "CART_ITEMS",
|
|
4
|
+
BROWSED_ITEMS: "BROWSED_ITEMS",
|
|
5
|
+
PURCHASED_ITEMS: "PURCHASED_ITEMS"
|
|
6
|
+
},
|
|
7
|
+
ORIENTATION: {
|
|
8
|
+
VERTICAL: "vertical",
|
|
9
|
+
HORIZONTAL: "horizontal"
|
|
10
|
+
}
|
|
11
|
+
}, t = [
|
|
12
|
+
{ text: "Cart", value: e.ITEMS_TYPE.CART_ITEMS },
|
|
13
|
+
{ text: "Browsed", value: e.ITEMS_TYPE.BROWSED_ITEMS },
|
|
14
|
+
{ text: "Purchased", value: e.ITEMS_TYPE.PURCHASED_ITEMS }
|
|
15
|
+
], r = [
|
|
16
|
+
{ icon: "vertical-orientation", value: e.ORIENTATION.VERTICAL },
|
|
17
|
+
{ icon: "horizontal-orientation", value: e.ORIENTATION.HORIZONTAL }
|
|
18
|
+
], a = {
|
|
19
|
+
itemsType: e.ITEMS_TYPE.CART_ITEMS,
|
|
20
|
+
cartItemsSelectControlValue: "{{Abandoned Cart Item (1) Url}}",
|
|
21
|
+
cardOrientationControlValue: e.ORIENTATION.HORIZONTAL,
|
|
22
|
+
productNameTrimmingControlValue: "0",
|
|
23
|
+
productPriceHideDiscountControlValue: "0",
|
|
24
|
+
productPriceFormattedControlValue: "1",
|
|
25
|
+
productPriceCurrencySymbolControlValue: "USD",
|
|
26
|
+
productPriceCurrencyLocationControlValue: "0",
|
|
27
|
+
productButtonLinkControlValue: "{{Abandoned Cart Item (1) Url}}",
|
|
28
|
+
productImageLinkControlValue: "{{Abandoned Cart Item (1) Image}}",
|
|
29
|
+
productNameControlEnabled: "1",
|
|
30
|
+
productQuantityControlEnabled: "1",
|
|
31
|
+
productPriceControlOpened: "1"
|
|
32
|
+
}, o = {
|
|
33
|
+
[e.ITEMS_TYPE.CART_ITEMS]: [
|
|
34
|
+
{ text: "Abandoned Cart Item (1)", value: "{{Abandoned Cart Item (1) Url}}" },
|
|
35
|
+
{ text: "Abandoned Cart Item (2)", value: "{{Abandoned Cart Item (2) Url}}" },
|
|
36
|
+
{ text: "Abandoned Cart Item (3)", value: "{{Abandoned Cart Item (3) Url}}" },
|
|
37
|
+
{ text: "Abandoned Cart Item (4)", value: "{{Abandoned Cart Item (4) Url}}" },
|
|
38
|
+
{ text: "Abandoned Cart Item (5)", value: "{{Abandoned Cart Item (5) Url}}" },
|
|
39
|
+
{ text: "Abandoned Cart Item (6)", value: "{{Abandoned Cart Item (6) Url}}" },
|
|
40
|
+
{ text: "Abandoned Cart Item (7)", value: "{{Abandoned Cart Item (7) Url}}" },
|
|
41
|
+
{ text: "Abandoned Cart Item (8)", value: "{{Abandoned Cart Item (8) Url}}" }
|
|
42
|
+
],
|
|
43
|
+
[e.ITEMS_TYPE.BROWSED_ITEMS]: [
|
|
44
|
+
{ text: "Browsed Item (1)", value: "{{Browsed Item (1) Url}}" },
|
|
45
|
+
{ text: "Browsed Item (2)", value: "{{Browsed Item (2) Url}}" },
|
|
46
|
+
{ text: "Browsed Item (3)", value: "{{Browsed Item (3) Url}}" },
|
|
47
|
+
{ text: "Browsed Item (4)", value: "{{Browsed Item (4) Url}}" },
|
|
48
|
+
{ text: "Browsed Item (5)", value: "{{Browsed Item (5) Url}}" },
|
|
49
|
+
{ text: "Browsed Item (6)", value: "{{Browsed Item (6) Url}}" },
|
|
50
|
+
{ text: "Browsed Item (7)", value: "{{Browsed Item (7) Url}}" },
|
|
51
|
+
{ text: "Browsed Item (8)", value: "{{Browsed Item (8) Url}}" }
|
|
52
|
+
],
|
|
53
|
+
[e.ITEMS_TYPE.PURCHASED_ITEMS]: [
|
|
54
|
+
{ text: "Purchased Item (1)", value: "{{Purchased Item (1) Url}}" },
|
|
55
|
+
{ text: "Purchased Item (2)", value: "{{Purchased Item (2) Url}}" },
|
|
56
|
+
{ text: "Purchased Item (3)", value: "{{Purchased Item (3) Url}}" },
|
|
57
|
+
{ text: "Purchased Item (4)", value: "{{Purchased Item (4) Url}}" },
|
|
58
|
+
{ text: "Purchased Item (5)", value: "{{Purchased Item (5) Url}}" },
|
|
59
|
+
{ text: "Purchased Item (6)", value: "{{Purchased Item (6) Url}}" },
|
|
60
|
+
{ text: "Purchased Item (7)", value: "{{Purchased Item (7) Url}}" },
|
|
61
|
+
{ text: "Purchased Item (8)", value: "{{Purchased Item (8) Url}}" }
|
|
62
|
+
]
|
|
63
|
+
};
|
|
64
|
+
export {
|
|
65
|
+
a as DefaultConfigValues,
|
|
66
|
+
o as ItemInCartOptions,
|
|
67
|
+
t as ItemTypeOptions,
|
|
68
|
+
r as OrientationOptions,
|
|
69
|
+
e as SETTINGS_ENUMS
|
|
70
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExtensionBuilder as a } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { ItemsBlock as i } from "./block.js";
|
|
3
|
+
import { ButtonLinkControl as C } from "./controls/button/link.js";
|
|
4
|
+
import { ItemsBlockCardCompositionControl as e } from "./controls/cardComposition.js";
|
|
5
|
+
import { ImageLinkControl as m } from "./controls/image/link.js";
|
|
6
|
+
import { NameControls as t, QuantityControls as n, OriginalPriceControls as r, PriceControls as d, ImageControls as l, ButtonControls as o } from "./controls/index.js";
|
|
7
|
+
import { NameTrimmingControl as s } from "./controls/name/trimming.js";
|
|
8
|
+
import { PriceCurrencyLocationControl as c } from "./controls/price/currencyLocation.js";
|
|
9
|
+
import { PriceCurrencySymbolControl as g } from "./controls/price/currencySymbol.js";
|
|
10
|
+
import { PriceFormattedPriceControl as f } from "./controls/price/formattedPrice.js";
|
|
11
|
+
import { PriceHideDiscountControl as p } from "./controls/price/hideDiscount.js";
|
|
12
|
+
import { ItemsBlockControl as y } from "./controls/settingsControl.js";
|
|
13
|
+
import { ItemsIconsRegistry as u } from "./iconsRegistry.js";
|
|
14
|
+
import k from "./items.css.js";
|
|
15
|
+
import { SettingsPanel as P } from "./settingsPanel.js";
|
|
16
|
+
const E = new a().addBlock(i).withSettingsPanelRegistry(P).addControl(y).addControl(e).addControl(t.align).addControl(t.color).addControl(t.size).addControl(t.style).addControl(t.fontFamily).addControl(t.background).addControl(t.paddings).addControl(s).addControl(n.align).addControl(n.color).addControl(n.fontFamily).addControl(n.paddings).addControl(n.size).addControl(n.style).addControl(r.align).addControl(r.color).addControl(r.size).addControl(r.style).addControl(r.fontFamily).addControl(r.background).addControl(r.paddings).addControl(d.align).addControl(d.color).addControl(d.size).addControl(d.style).addControl(d.fontFamily).addControl(d.background).addControl(d.paddings).addControl(p).addControl(f).addControl(g).addControl(c).addControl(m).addControl(l.size).addControl(l.margins).addControl(C).addControl(o.align).addControl(o.border).addControl(o.borderRadius).addControl(o.color).addControl(o.fontFamily).addControl(o.margins).addControl(o.paddings).addControl(o.text).addControl(o.textSize).addControl(o.textStyleAndFontColor).addControl(o.fitToContent).addStyles(k).withIconsRegistry(u).build();
|
|
17
|
+
export {
|
|
18
|
+
E as default
|
|
19
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IconsRegistry as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
class i extends o {
|
|
3
|
+
registerIconsSvg(t) {
|
|
4
|
+
t["items-icon"] = `
|
|
5
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6
|
+
<path d="M1.00195 6.5C1.55424 6.5 2.00195 6.94772 2.00195 7.5V14.5C2.00195 15.0523 2.44967 15.5
|
|
7
|
+
3.00195 15.5H15C15.5523 15.5 16 15.9477 16 16.5C16 17.0523 15.5523 17.5 15 17.5H3.00195C1.3451
|
|
8
|
+
17.5 0.00195312 16.1569 0.00195312 14.5V7.5C0.00195312 6.94772 0.449668 6.5 1.00195 6.5ZM17.998
|
|
9
|
+
2.5C19.1026 2.5 19.998 3.39543 19.998 4.5V11.5L19.9873 11.7041C19.885 12.7128 19.0337 13.5 17.998
|
|
10
|
+
13.5H5.99805C4.9624 13.5 4.11105 12.7128 4.00879 11.7041L3.99805 11.5V4.5C3.99805 3.39543 4.89348
|
|
11
|
+
2.5 5.99805 2.5H17.998ZM5.99805 11.5H17.998V4.5H5.99805V11.5Z" fill="currentColor"/>
|
|
12
|
+
</svg>
|
|
13
|
+
`, t["vertical-orientation"] = `
|
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor">
|
|
15
|
+
<path d="M19 10V16C19 16.5523 18.5523 17 18 17H2C1.44772 17 1 16.5523 1 16V10H19Z"
|
|
16
|
+
stroke="currentColor" stroke-width="2" fill="none"/>
|
|
17
|
+
<path d="M2 3H18C18.5523 3 19 3.44772 19 4V10H1V4C1 3.44772 1.44772 3 2 3Z" stroke="currentColor"
|
|
18
|
+
stroke-width="2" fill="none"/>
|
|
19
|
+
</svg>
|
|
20
|
+
`, t["horizontal-orientation"] = `
|
|
21
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
|
|
22
|
+
<path d="M10 19H4C3.44772 19 3 18.5523 3 18V2C3 1.44772 3.44772 1 4 1H10V19Z" stroke="currentColor"
|
|
23
|
+
stroke-width="2" fill="none"/>
|
|
24
|
+
<path d="M17 2V18C17 18.5523 16.5523 19 16 19H10V1H16C16.5523 1 17 1.44772 17 2Z" stroke="currentColor"
|
|
25
|
+
stroke-width="2" fill="none"/>
|
|
26
|
+
</svg>
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
i as ItemsIconsRegistry
|
|
32
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const n = `/* Utils */
|
|
2
|
+
.es-180w { width: 180px; }
|
|
3
|
+
.es-100 { width: 100%; }
|
|
4
|
+
.display-flex { display: flex; }
|
|
5
|
+
.align-items-center { align-items: center; }
|
|
6
|
+
.justify-content-between { justify-content: space-between; }
|
|
7
|
+
|
|
8
|
+
/* Items Controls */
|
|
9
|
+
.items-controls-container > .container {
|
|
10
|
+
padding: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.items-controls-container > .container:first-child {
|
|
14
|
+
padding-top: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.container:has(.items-controls-container) {
|
|
18
|
+
padding: 0
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
export {
|
|
22
|
+
n as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const t = `<td align="center" class="ins-product-td items-block items-block-v2">
|
|
2
|
+
<table class="es-left ins-product-wrapper" cellspacing="0" cellpadding="0" align="left" width="100%">
|
|
3
|
+
{-{-CONFIG_BLOCK-}-}
|
|
4
|
+
<tbody>
|
|
5
|
+
<tr>
|
|
6
|
+
<td class="es-p20b es-p10r es-p10l es-m-p20b es-p10t" width="100%" align="center">
|
|
7
|
+
<table class="ins-product-cart" width="100%" cellspacing="0" cellpadding="0">
|
|
8
|
+
<tr style="vertical-align: top">
|
|
9
|
+
<td colspan="2" width="100%" align="center" data-slot-1>
|
|
10
|
+
<table width="100%">
|
|
11
|
+
<tbody>
|
|
12
|
+
{-{-PRODUCT_IMAGE-}-}
|
|
13
|
+
</tbody>
|
|
14
|
+
</table>
|
|
15
|
+
</td>
|
|
16
|
+
</tr>
|
|
17
|
+
{-{-PRODUCT_NAME-}-}
|
|
18
|
+
<tr>
|
|
19
|
+
<td width="50%" style=" width: 50%;display: block;float: left;">
|
|
20
|
+
<table width="100%">
|
|
21
|
+
<tbody>
|
|
22
|
+
{-{-PRODUCT_PRICE-}-}
|
|
23
|
+
</tbody>
|
|
24
|
+
</table>
|
|
25
|
+
</td>
|
|
26
|
+
<td width="50%" style=" width: 50%;display: block;float: left;">
|
|
27
|
+
<table width="100%">
|
|
28
|
+
<tbody>
|
|
29
|
+
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
30
|
+
</tbody>
|
|
31
|
+
</table>
|
|
32
|
+
</td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr>
|
|
35
|
+
<td width="100%">
|
|
36
|
+
<table width="100%">
|
|
37
|
+
<tbody>
|
|
38
|
+
{-{-PRODUCT_QUANTITY-}-}
|
|
39
|
+
</tbody>
|
|
40
|
+
</table>
|
|
41
|
+
</td>
|
|
42
|
+
</tr>
|
|
43
|
+
<tr>
|
|
44
|
+
<td width="100%">
|
|
45
|
+
<table width="100%">
|
|
46
|
+
<tbody>
|
|
47
|
+
{-{-PRODUCT_BUTTON-}-}
|
|
48
|
+
</tbody>
|
|
49
|
+
</table>
|
|
50
|
+
</td>
|
|
51
|
+
</tr>
|
|
52
|
+
</table>
|
|
53
|
+
</td>
|
|
54
|
+
</tr>
|
|
55
|
+
</tbody>
|
|
56
|
+
</table>
|
|
57
|
+
</td>
|
|
58
|
+
`;
|
|
59
|
+
export {
|
|
60
|
+
t as default
|
|
61
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const t = `<td align="center" class="ins-product-td items-block items-block-v2">
|
|
2
|
+
<table class="es-left ins-product-wrapper ins-product-cart" width="100%" cellspacing="0" cellpadding="0">
|
|
3
|
+
{-{-CONFIG_BLOCK-}-}
|
|
4
|
+
<tbody>
|
|
5
|
+
<tr>
|
|
6
|
+
<td style="padding: 16px 9px;">
|
|
7
|
+
<table class="es-left esdev-disable-select" cellspacing="0" cellpadding="0" align="left"
|
|
8
|
+
width="100%">
|
|
9
|
+
<tbody>
|
|
10
|
+
<tr>
|
|
11
|
+
<td class="product-image-class" data-slot-1>
|
|
12
|
+
{-{-PRODUCT_IMAGE-}-}
|
|
13
|
+
</td>
|
|
14
|
+
<td class="product-name-class" data-slot-2 width="130px">
|
|
15
|
+
<table width="130">
|
|
16
|
+
<tbody>
|
|
17
|
+
{-{-PRODUCT_NAME-}-}
|
|
18
|
+
</tbody>
|
|
19
|
+
</table>
|
|
20
|
+
</td>
|
|
21
|
+
<td class="product-quantity-class" data-slot-3>
|
|
22
|
+
<table width="100%">
|
|
23
|
+
<tbody>
|
|
24
|
+
{-{-PRODUCT_QUANTITY-}-}
|
|
25
|
+
</tbody>
|
|
26
|
+
</table>
|
|
27
|
+
</td>
|
|
28
|
+
<td class="product-price-class" data-slot-4>
|
|
29
|
+
|
|
30
|
+
<table width="100%">
|
|
31
|
+
<tbody>
|
|
32
|
+
{-{-PRODUCT_PRICE-}-}
|
|
33
|
+
</tbody>
|
|
34
|
+
</table>
|
|
35
|
+
</td>
|
|
36
|
+
<td class="product-original-price-class" data-slot-5>
|
|
37
|
+
<table width="100%">
|
|
38
|
+
<tbody>
|
|
39
|
+
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
40
|
+
</tbody>
|
|
41
|
+
</table>
|
|
42
|
+
</td>
|
|
43
|
+
<td class="product-button-class" data-slot-6>
|
|
44
|
+
<table width="100%">
|
|
45
|
+
<tbody>
|
|
46
|
+
{-{-PRODUCT_BUTTON-}-}
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
</td>
|
|
50
|
+
</tr>
|
|
51
|
+
</tbody>
|
|
52
|
+
</table>
|
|
53
|
+
</td>
|
|
54
|
+
</tr>
|
|
55
|
+
</tbody>
|
|
56
|
+
</table>
|
|
57
|
+
</td>
|
|
58
|
+
`;
|
|
59
|
+
export {
|
|
60
|
+
t as default
|
|
61
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { SettingsPanelRegistry as O, SettingsPanelTab as T, SettingsTab as _, ContainerControls as R } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { BLOCK_ID as A } from "./block.js";
|
|
3
|
+
import { COMPOSITION_CONTROL_BLOCK_ID as S } from "./controls/cardComposition.js";
|
|
4
|
+
import { CONTROL_BLOCK_ID as C } from "./controls/settingsControl.js";
|
|
5
|
+
import { ItemsBlockId as E, ItemsBlockControlId as I } from "./enums/controlEnums.js";
|
|
6
|
+
class t extends O {
|
|
7
|
+
registerBlockControls(N) {
|
|
8
|
+
N[A] = [
|
|
9
|
+
new T(
|
|
10
|
+
_.SETTINGS,
|
|
11
|
+
[
|
|
12
|
+
C,
|
|
13
|
+
R.EXTERNAL_INDENTS
|
|
14
|
+
]
|
|
15
|
+
),
|
|
16
|
+
new T(
|
|
17
|
+
"Card Composition",
|
|
18
|
+
[
|
|
19
|
+
S
|
|
20
|
+
]
|
|
21
|
+
).withLabel("Card Composition")
|
|
22
|
+
], N[E.ORIGINAL_PRICE] = [
|
|
23
|
+
new T(
|
|
24
|
+
_.SETTINGS,
|
|
25
|
+
[
|
|
26
|
+
I.ORIGINAL_PRICE_COLOR,
|
|
27
|
+
I.ORIGINAL_PRICE_ALIGN,
|
|
28
|
+
I.ORIGINAL_PRICE_FONT_FAMILY,
|
|
29
|
+
I.ORIGINAL_PRICE_SIZE,
|
|
30
|
+
I.ORIGINAL_PRICE_STYLE,
|
|
31
|
+
I.ORIGINAL_PRICE_PADDINGS
|
|
32
|
+
]
|
|
33
|
+
)
|
|
34
|
+
], N[E.PRICE] = [
|
|
35
|
+
new T(
|
|
36
|
+
_.SETTINGS,
|
|
37
|
+
[
|
|
38
|
+
I.PRICE_COLOR,
|
|
39
|
+
I.PRICE_ALIGN,
|
|
40
|
+
I.PRICE_FONT_FAMILY,
|
|
41
|
+
I.PRICE_SIZE,
|
|
42
|
+
I.PRICE_STYLE,
|
|
43
|
+
I.PRICE_HIDE_DISCOUNT,
|
|
44
|
+
I.PRICE_FORMATTED_PRICE,
|
|
45
|
+
I.PRICE_CURRENCY_SYMBOL,
|
|
46
|
+
I.PRICE_CURRENCY_LOCATION,
|
|
47
|
+
I.PRICE_PADDINGS
|
|
48
|
+
]
|
|
49
|
+
)
|
|
50
|
+
], N[E.NAME] = [
|
|
51
|
+
new T(
|
|
52
|
+
_.SETTINGS,
|
|
53
|
+
[
|
|
54
|
+
I.NAME_COLOR,
|
|
55
|
+
I.NAME_ALIGN,
|
|
56
|
+
I.NAME_FONT_FAMILY,
|
|
57
|
+
I.NAME_SIZE,
|
|
58
|
+
I.NAME_STYLE,
|
|
59
|
+
I.NAME_TRIMMING,
|
|
60
|
+
I.NAME_PADDINGS
|
|
61
|
+
]
|
|
62
|
+
)
|
|
63
|
+
], N[E.QUANTITY] = [
|
|
64
|
+
new T(
|
|
65
|
+
_.SETTINGS,
|
|
66
|
+
[
|
|
67
|
+
I.QUANTITY_COLOR,
|
|
68
|
+
I.QUANTITY_ALIGN,
|
|
69
|
+
I.QUANTITY_FONT_FAMILY,
|
|
70
|
+
I.QUANTITY_SIZE,
|
|
71
|
+
I.QUANTITY_STYLE,
|
|
72
|
+
I.QUANTITY_PADDINGS
|
|
73
|
+
]
|
|
74
|
+
)
|
|
75
|
+
], N[E.IMAGE] = [
|
|
76
|
+
new T(
|
|
77
|
+
_.SETTINGS,
|
|
78
|
+
[
|
|
79
|
+
I.IMAGE_LINK,
|
|
80
|
+
I.IMAGE_SIZE,
|
|
81
|
+
I.IMAGE_MARGINS
|
|
82
|
+
]
|
|
83
|
+
)
|
|
84
|
+
], N[E.BUTTON] = [
|
|
85
|
+
new T(
|
|
86
|
+
_.SETTINGS,
|
|
87
|
+
[
|
|
88
|
+
I.BUTTON_LINK,
|
|
89
|
+
I.BUTTON_TEXT,
|
|
90
|
+
I.BUTTON_FONT_FAMILY,
|
|
91
|
+
I.BUTTON_TEXT_SIZE,
|
|
92
|
+
I.BUTTON_COLOR,
|
|
93
|
+
I.BUTTON_BORDER,
|
|
94
|
+
I.BUTTON_BORDER_RADIUS,
|
|
95
|
+
I.BUTTON_ALIGN,
|
|
96
|
+
I.BUTTON_FIT_TO_CONTENT,
|
|
97
|
+
I.BUTTON_PADDINGS,
|
|
98
|
+
I.BUTTON_MARGINS
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export {
|
|
105
|
+
t as SettingsPanel
|
|
106
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { defineStore as s } from "pinia";
|
|
2
|
+
import { DefaultConfigValues as e } from "../enums/settingsEnums.js";
|
|
3
|
+
const n = (t) => t.replace(/Url\}/, "Image}"), o = (t) => t.replace(/Image\}/, "Url}"), i = () => {
|
|
4
|
+
const t = e.cartItemsSelectControlValue;
|
|
5
|
+
return {
|
|
6
|
+
itemsType: e.itemsType,
|
|
7
|
+
itemIds: t,
|
|
8
|
+
imageLink: n(t),
|
|
9
|
+
buttonLink: o(t),
|
|
10
|
+
orientation: e.cardOrientationControlValue,
|
|
11
|
+
nameTrimming: !1,
|
|
12
|
+
hideDiscount: !1,
|
|
13
|
+
currencySymbol: "USD",
|
|
14
|
+
currencyLocation: "0",
|
|
15
|
+
formattedPrice: !0,
|
|
16
|
+
templateData: {
|
|
17
|
+
imageSrc: "",
|
|
18
|
+
name: "",
|
|
19
|
+
price: "",
|
|
20
|
+
originalPrice: "",
|
|
21
|
+
quantity: "",
|
|
22
|
+
button: ""
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}, a = s("guidoItemsBlock", {
|
|
26
|
+
state: () => i(),
|
|
27
|
+
actions: {
|
|
28
|
+
setItemsType(t) {
|
|
29
|
+
this.itemsType = t;
|
|
30
|
+
},
|
|
31
|
+
setItemIds(t) {
|
|
32
|
+
this.itemIds = t, this.imageLink = n(t), this.buttonLink = o(t);
|
|
33
|
+
},
|
|
34
|
+
setImageLink(t) {
|
|
35
|
+
this.imageLink = t;
|
|
36
|
+
},
|
|
37
|
+
setButtonLink(t) {
|
|
38
|
+
this.buttonLink = t;
|
|
39
|
+
},
|
|
40
|
+
setOrientation(t) {
|
|
41
|
+
this.orientation = t;
|
|
42
|
+
},
|
|
43
|
+
setNameTrimming(t) {
|
|
44
|
+
this.nameTrimming = t;
|
|
45
|
+
},
|
|
46
|
+
setHideDiscount(t) {
|
|
47
|
+
this.hideDiscount = t;
|
|
48
|
+
},
|
|
49
|
+
setCurrencySymbol(t) {
|
|
50
|
+
this.currencySymbol = t;
|
|
51
|
+
},
|
|
52
|
+
setCurrencyLocation(t) {
|
|
53
|
+
this.currencyLocation = t;
|
|
54
|
+
},
|
|
55
|
+
setFormattedPrice(t) {
|
|
56
|
+
this.formattedPrice = t;
|
|
57
|
+
},
|
|
58
|
+
setTemplateData(t) {
|
|
59
|
+
this.templateData = t;
|
|
60
|
+
},
|
|
61
|
+
updateFromAttributes(t) {
|
|
62
|
+
t.itemsType && (this.itemsType = t.itemsType), t.itemIds && this.setItemIds(t.itemIds), t.orientation && (this.orientation = t.orientation);
|
|
63
|
+
},
|
|
64
|
+
reset() {
|
|
65
|
+
Object.assign(this, i());
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
export {
|
|
70
|
+
a as useItemsBlockStore
|
|
71
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { BlockType as i, BlockAttr as l } 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 [R] = e.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = e.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [I] = e.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [a] = e.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [p] = e.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
|
|
8
|
+
const $ = () => `
|
|
9
|
+
<${i.BLOCK_IMAGE}
|
|
10
|
+
${l.BLOCK_IMAGE.src}="${R}"
|
|
11
|
+
${l.BLOCK_IMAGE.alt}="Product Image"
|
|
12
|
+
${l.BLOCK_IMAGE.href}="#"
|
|
13
|
+
${l.BLOCK_IMAGE.width}="70"
|
|
14
|
+
esd-extension-block-id="${n.IMAGE}"
|
|
15
|
+
data-type="CART_ITEMS"
|
|
16
|
+
data-number="1"
|
|
17
|
+
/>
|
|
18
|
+
`, B = () => `
|
|
19
|
+
<${i.BLOCK_TEXT}
|
|
20
|
+
width="100%"
|
|
21
|
+
align="center"
|
|
22
|
+
class="es-p10"
|
|
23
|
+
esd-extension-block-id="${n.NAME}"
|
|
24
|
+
>
|
|
25
|
+
<p
|
|
26
|
+
data-slot-2
|
|
27
|
+
width="100%">
|
|
28
|
+
${A}
|
|
29
|
+
</p>
|
|
30
|
+
</${i.BLOCK_TEXT}>
|
|
31
|
+
`, S = (T, t) => {
|
|
32
|
+
let o = I;
|
|
33
|
+
if (T && T.trim()) {
|
|
34
|
+
const E = ` ${T.trim()} `;
|
|
35
|
+
o = (t || "0") === "1" ? `${I}${E}` : `${E}${I}`;
|
|
36
|
+
}
|
|
37
|
+
return `
|
|
38
|
+
<${i.BLOCK_TEXT}
|
|
39
|
+
esd-extension-block-id="${n.PRICE}"
|
|
40
|
+
class="items-block-price"
|
|
41
|
+
width="100%"
|
|
42
|
+
align="center"
|
|
43
|
+
>
|
|
44
|
+
<p contenteditable="false">
|
|
45
|
+
${o}
|
|
46
|
+
</p>
|
|
47
|
+
</${i.BLOCK_TEXT}>
|
|
48
|
+
`;
|
|
49
|
+
}, F = (T, t) => {
|
|
50
|
+
let o = a;
|
|
51
|
+
if (T && T.trim()) {
|
|
52
|
+
const E = ` ${T.trim()} `;
|
|
53
|
+
o = (t || "0") === "1" ? `${a}${E}` : `${E}${a}`;
|
|
54
|
+
}
|
|
55
|
+
return `
|
|
56
|
+
<${i.BLOCK_TEXT}
|
|
57
|
+
class="items-block-price"
|
|
58
|
+
esd-extension-block-id="${n.ORIGINAL_PRICE}"
|
|
59
|
+
width="100%"
|
|
60
|
+
align="center"
|
|
61
|
+
>
|
|
62
|
+
<p
|
|
63
|
+
contenteditable="false"
|
|
64
|
+
style="color: #cc0000"
|
|
65
|
+
>
|
|
66
|
+
<s>${o}</s>
|
|
67
|
+
</p>
|
|
68
|
+
</${i.BLOCK_TEXT}>
|
|
69
|
+
`;
|
|
70
|
+
}, L = () => `
|
|
71
|
+
<${i.BLOCK_TEXT}
|
|
72
|
+
width="100%"
|
|
73
|
+
align="center"
|
|
74
|
+
class="es-p10"
|
|
75
|
+
esd-extension-block-id="${n.QUANTITY}"
|
|
76
|
+
>
|
|
77
|
+
<p
|
|
78
|
+
data-slot-3
|
|
79
|
+
contenteditable="false"
|
|
80
|
+
width="100%">
|
|
81
|
+
${p}
|
|
82
|
+
</p>
|
|
83
|
+
</${i.BLOCK_TEXT}>
|
|
84
|
+
`, g = () => `
|
|
85
|
+
<${i.BLOCK_BUTTON}
|
|
86
|
+
width="100%"
|
|
87
|
+
class="ins-button"
|
|
88
|
+
name="buy-button"
|
|
89
|
+
caption="Buy"
|
|
90
|
+
align="center"
|
|
91
|
+
esd-extension-block-id="${n.BUTTON}"
|
|
92
|
+
>Buy
|
|
93
|
+
</${i.BLOCK_BUTTON}>
|
|
94
|
+
`, U = () => `
|
|
95
|
+
<esd-config-block style="display: none;"></esd-config-block>
|
|
96
|
+
`, s = (T, t, o) => T.replace("{-{-PRODUCT_IMAGE-}-}", $()).replace("{-{-PRODUCT_NAME-}-}", B()).replace("{-{-PRODUCT_PRICE-}-}", S(t, o)).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", F(t, o)).replace("{-{-PRODUCT_QUANTITY-}-}", L()).replace("{-{-PRODUCT_BUTTON-}-}", g()).replace("{-{-CONFIG_BLOCK-}-}", U());
|
|
97
|
+
function u({
|
|
98
|
+
orientation: T,
|
|
99
|
+
itemsType: t = r.ITEMS_TYPE.CART_ITEMS,
|
|
100
|
+
itemId: o,
|
|
101
|
+
currencySymbol: E,
|
|
102
|
+
currencyLocation: c,
|
|
103
|
+
formattedPrice: _ = !0
|
|
104
|
+
}) {
|
|
105
|
+
const O = N[t].findIndex((C) => C.value === o);
|
|
106
|
+
return R = e.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[O], A = e.PAIRS_FOR_EXTENSION.name[t].DEFAULT[O], I = _ ? e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, a = _ ? 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 ? s(P, E, c) : s(d, E, c);
|
|
107
|
+
}
|
|
108
|
+
export {
|
|
109
|
+
u as getDefaultTemplate
|
|
110
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function r(t) {
|
|
2
|
+
if (!t)
|
|
3
|
+
return null;
|
|
4
|
+
const n = t.closest(".items-block-v2");
|
|
5
|
+
return n ? n.querySelector("esd-config-block") : null;
|
|
6
|
+
}
|
|
7
|
+
function o(t, n = !1) {
|
|
8
|
+
return t == null ? n : t === "1" || t === "true";
|
|
9
|
+
}
|
|
10
|
+
function e(t, n = "") {
|
|
11
|
+
return t || n;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
o as attributeToBoolean,
|
|
15
|
+
e as attributeToString,
|
|
16
|
+
r as getConfigBlock
|
|
17
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { configAttributes as i } from "../enums/productEnums.js";
|
|
2
|
+
import { getConfigBlock as c, attributeToBoolean as u, attributeToString as a } from "./configBlockUtils.js";
|
|
3
|
+
function l(r, t) {
|
|
4
|
+
const e = c(r);
|
|
5
|
+
if (!e)
|
|
6
|
+
return;
|
|
7
|
+
const o = e.getAttribute(i[t.attributeName]), n = t.converter(o);
|
|
8
|
+
t.storeSetter(n);
|
|
9
|
+
}
|
|
10
|
+
function b(r, t, e = !1) {
|
|
11
|
+
return {
|
|
12
|
+
attributeName: r,
|
|
13
|
+
storeSetter: t,
|
|
14
|
+
converter: (o) => u(o, e)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function s(r, t, e = "") {
|
|
18
|
+
return {
|
|
19
|
+
attributeName: r,
|
|
20
|
+
storeSetter: t,
|
|
21
|
+
converter: (o) => a(o, e)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
b as createBooleanSyncConfig,
|
|
26
|
+
s as createStringSyncConfig,
|
|
27
|
+
l as syncAttributeFromConfigBlock
|
|
28
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useItemsBlockStore as s } from "../store/items-block.js";
|
|
2
|
+
import { syncAttributeFromConfigBlock as e, createBooleanSyncConfig as i, createStringSyncConfig as r } from "./syncAttributeFromConfigBlock.js";
|
|
3
|
+
function C(t) {
|
|
4
|
+
const o = s(), n = i(
|
|
5
|
+
"PRODUCT_NAME_TRIMMING",
|
|
6
|
+
(c) => o.setNameTrimming(c),
|
|
7
|
+
!1
|
|
8
|
+
);
|
|
9
|
+
e(t, n);
|
|
10
|
+
}
|
|
11
|
+
function f(t) {
|
|
12
|
+
const o = s(), n = i(
|
|
13
|
+
"PRODUCT_PRICE_HIDE_DISCOUNT",
|
|
14
|
+
(c) => o.setHideDiscount(c),
|
|
15
|
+
!1
|
|
16
|
+
);
|
|
17
|
+
e(t, n);
|
|
18
|
+
}
|
|
19
|
+
function R(t) {
|
|
20
|
+
const o = s(), n = i(
|
|
21
|
+
"PRODUCT_PRICE_FORMATTED",
|
|
22
|
+
(c) => o.setFormattedPrice(c),
|
|
23
|
+
!0
|
|
24
|
+
);
|
|
25
|
+
e(t, n);
|
|
26
|
+
}
|
|
27
|
+
function _(t) {
|
|
28
|
+
const o = s(), n = r(
|
|
29
|
+
"PRODUCT_PRICE_CURRENCY_SYMBOL",
|
|
30
|
+
(c) => o.setCurrencySymbol(c),
|
|
31
|
+
""
|
|
32
|
+
);
|
|
33
|
+
e(t, n);
|
|
34
|
+
}
|
|
35
|
+
function y(t) {
|
|
36
|
+
const o = s(), n = r(
|
|
37
|
+
"PRODUCT_PRICE_CURRENCY_LOCATION",
|
|
38
|
+
(c) => o.setCurrencyLocation(c),
|
|
39
|
+
"0"
|
|
40
|
+
);
|
|
41
|
+
e(t, n);
|
|
42
|
+
}
|
|
43
|
+
function T(t) {
|
|
44
|
+
const o = s(), n = r(
|
|
45
|
+
"PRODUCT_BUTTON_LINK",
|
|
46
|
+
(c) => o.setButtonLink(c),
|
|
47
|
+
""
|
|
48
|
+
);
|
|
49
|
+
e(t, n);
|
|
50
|
+
}
|
|
51
|
+
function g(t) {
|
|
52
|
+
const o = s(), n = r(
|
|
53
|
+
"PRODUCT_IMAGE_LINK",
|
|
54
|
+
(c) => o.setImageLink(c),
|
|
55
|
+
""
|
|
56
|
+
);
|
|
57
|
+
e(t, n);
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
T as syncButtonLinkFromAttributes,
|
|
61
|
+
y as syncCurrencyLocationFromAttributes,
|
|
62
|
+
_ as syncCurrencySymbolFromAttributes,
|
|
63
|
+
R as syncFormattedPriceFromAttributes,
|
|
64
|
+
f as syncHideDiscountFromAttributes,
|
|
65
|
+
g as syncImageLinkFromAttributes,
|
|
66
|
+
C as syncNameTrimmingFromAttributes
|
|
67
|
+
};
|