@useinsider/guido 2.0.0 → 2.1.0-beta.01eaf27
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 +72 -54
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +15 -17
- package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
- package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +6 -6
- package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
- package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +6 -6
- package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
- package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.js +18 -0
- package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue2.js +15 -0
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +16 -15
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +14 -22
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
- package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +12 -11
- package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
- package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
- package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
- package/dist/components/organisms/header/EditorActions.vue.js +21 -0
- package/dist/components/organisms/header/EditorActions.vue2.js +41 -0
- package/dist/components/organisms/header/EditorToolbar.vue.js +18 -0
- package/dist/components/organisms/header/EditorToolbar.vue2.js +17 -0
- package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -5
- package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
- package/dist/components/organisms/header/LeftSlot.vue2.js +27 -23
- package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
- package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -14
- package/dist/components/organisms/header/RightSlot.vue2.js +13 -30
- package/dist/components/organisms/header/version-history/VersionHistory.vue.js +5 -5
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
- package/dist/composables/useActionsApi.js +33 -30
- package/dist/composables/useConfig.js +29 -27
- package/dist/composables/useSave.js +13 -11
- package/dist/composables/useStripo.js +57 -56
- package/dist/config/migrator/index.js +9 -8
- package/dist/config/migrator/itemsBlockMigrator.js +351 -0
- package/dist/enums/academy.js +8 -0
- package/dist/enums/onboarding.js +1 -2
- package/dist/enums/unsubscribe.js +20 -21
- package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
- package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
- package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
- package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
- package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
- package/dist/extensions/Blocks/Items/block.js +26 -41
- package/dist/extensions/Blocks/Items/controls/button/link.js +18 -37
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +138 -93
- package/dist/extensions/Blocks/Items/controls/image/link.js +16 -35
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +30 -42
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +34 -44
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +53 -56
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +45 -50
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +24 -34
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +47 -57
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +73 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +187 -179
- 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 +3 -6
- package/dist/extensions/Blocks/Items/extension.js +11 -9
- 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/template.js +396 -143
- package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +176 -0
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
- package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
- package/dist/extensions/Blocks/Recommendation/control.js +91 -61
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
- package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
- package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
- package/dist/extensions/Blocks/common-control.js +107 -110
- package/dist/extensions/Blocks/controlFactories.js +139 -118
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +370 -291
- 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 +36 -2
- package/dist/src/@types/config/types.d.ts +7 -1
- package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
- package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
- package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
- package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
- package/dist/src/composables/useActionsApi.d.ts +1 -0
- package/dist/src/composables/useConfig.d.ts +10 -0
- package/dist/src/config/migrator/itemsBlockMigrator.d.ts +6 -0
- package/dist/src/enums/academy.d.ts +12 -0
- package/dist/src/enums/onboarding.d.ts +0 -1
- package/dist/src/enums/unsubscribe.d.ts +0 -1
- package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
- package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
- package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -3
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -1
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -3
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -2
- package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +13 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +3 -9
- 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 -2
- package/dist/src/extensions/Blocks/Items/template.d.ts +22 -1
- package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +76 -0
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
- package/dist/src/extensions/Blocks/common-control.d.ts +11 -13
- package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
- package/dist/src/stores/config.d.ts +181 -1
- package/dist/src/stores/editor.d.ts +21 -0
- package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
- package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
- package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
- package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
- package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
- package/dist/static/styles/components/button.css.js +1 -1
- package/dist/static/styles/components/narrow-panel.css.js +0 -10
- package/dist/static/styles/components/wide-panel.css.js +1 -5
- package/dist/static/styles/customEditorStyle.css.js +13 -0
- package/dist/stores/config.js +7 -0
- package/dist/stores/editor.js +1 -0
- package/dist/utils/pairProductVariables.js +61 -58
- package/dist/utils/templatePreparation.js +17 -17
- package/package.json +3 -3
- package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
- package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
- package/dist/extensions/Blocks/Items/store/items-block.js +0 -75
- 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/button/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -43
- 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/button/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
- package/dist/static/assets/inbox-mockup.svg.js +0 -4
- package/dist/static/assets/phone-mockup.svg.js +0 -4
|
@@ -1,70 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { SETTINGS_ENUMS as I } from "../../enums/settingsEnums.js";
|
|
8
|
-
import { useItemsBlockStore as N } from "../../store/items-block.js";
|
|
9
|
-
import { syncNameTrimmingFromAttributes as M } from "../../utils/syncAttributesFromConfigBlock.js";
|
|
10
|
-
import { updateConfigBlockAttributes as u } from "../../utils/updateAttributes.js";
|
|
11
|
-
const y = p.NAME_TRIMMING, o = {
|
|
1
|
+
import { ModificationDescription as s, UIElementType as a, UEAttr as T } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as d } from "../../../common-control.js";
|
|
3
|
+
import { ItemsBlockControlId as l } from "../../enums/controlEnums.js";
|
|
4
|
+
import { SETTINGS_ENUMS as h } from "../../enums/settingsEnums.js";
|
|
5
|
+
import { getItemsBlockConfig as r, setItemsBlockConfig as c } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const I = l.NAME_TRIMMING, n = {
|
|
12
7
|
TRIMMING: "trimming"
|
|
13
8
|
};
|
|
14
|
-
class
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
n(this, "store", N());
|
|
18
|
-
}
|
|
9
|
+
class S extends d {
|
|
19
10
|
getId() {
|
|
20
|
-
return
|
|
11
|
+
return I;
|
|
21
12
|
}
|
|
22
13
|
getTemplate() {
|
|
23
14
|
return `
|
|
24
|
-
<div class="${
|
|
15
|
+
<div class="container ${l.NAME_TRIMMING}">
|
|
25
16
|
${this._getTextTrimming()}
|
|
26
17
|
</div>
|
|
27
18
|
`;
|
|
28
19
|
}
|
|
29
20
|
onRender() {
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
const e = r(this.currentNode);
|
|
22
|
+
this.api.updateValues({ [n.TRIMMING]: (e == null ? void 0 : e.nameTrimming) ?? !0 }), this.api.onValueChanged(n.TRIMMING, (t) => {
|
|
23
|
+
this._onTrimmingChange(t);
|
|
32
24
|
});
|
|
33
25
|
}
|
|
34
26
|
onTemplateNodeUpdated(e) {
|
|
35
|
-
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
|
|
36
|
-
|
|
37
|
-
()
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
);
|
|
27
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
28
|
+
const t = r(this.currentNode);
|
|
29
|
+
this.api.updateValues({ [n.TRIMMING]: (t == null ? void 0 : t.nameTrimming) ?? !0 });
|
|
30
|
+
});
|
|
41
31
|
}
|
|
42
32
|
_onTrimmingChange(e) {
|
|
43
|
-
|
|
33
|
+
c(this.currentNode, this.api, { nameTrimming: e }), this.api.updateValues({ [n.TRIMMING]: e }), this._applyTrimmingStyles(e);
|
|
44
34
|
}
|
|
45
35
|
_applyTrimmingStyles(e) {
|
|
46
|
-
var
|
|
47
|
-
const
|
|
48
|
-
if (!
|
|
36
|
+
var m;
|
|
37
|
+
const t = (m = this.currentNode) == null ? void 0 : m.querySelector("p > a");
|
|
38
|
+
if (!t)
|
|
49
39
|
return;
|
|
50
|
-
const
|
|
51
|
-
|
|
40
|
+
const i = r(this.currentNode), p = e !== void 0 ? e : (i == null ? void 0 : i.nameTrimming) ?? !0, o = (i == null ? void 0 : i.orientation) === h.ORIENTATION.VERTICAL;
|
|
41
|
+
p ? this.api.getDocumentModifier().modifyHtml(t).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", o ? "130px" : "520px").apply(new s("Text Trimming Enabled")) : this.api.getDocumentModifier().modifyHtml(t).removeStyle("white-space").removeStyle("overflow").removeStyle("text-overflow").removeStyle("max-width").setStyle("max-width", o ? "130px" : "520px").apply(new s("Text Trimming Disabled"));
|
|
52
42
|
}
|
|
53
43
|
_getTextTrimming() {
|
|
54
44
|
return `
|
|
55
|
-
<div class="
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
${this._GuToggle(o.TRIMMING)}
|
|
62
|
-
</div>
|
|
45
|
+
<div class="display-flex align-items-center justify-content-between">
|
|
46
|
+
<${a.LABEL}
|
|
47
|
+
${T.LABEL.text}="${this.api.translate("Text Trimming")}"
|
|
48
|
+
>
|
|
49
|
+
</${a.LABEL}>
|
|
50
|
+
${this._GuToggle(n.TRIMMING)}
|
|
63
51
|
</div>
|
|
64
52
|
`;
|
|
65
53
|
}
|
|
66
54
|
}
|
|
67
55
|
export {
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
I as CONTROL_BLOCK_ID,
|
|
57
|
+
S as NameTrimmingControl
|
|
70
58
|
};
|
|
@@ -1,58 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { ItemsBlockControlId as h } from "../../enums/controlEnums.js";
|
|
8
|
-
import { useItemsBlockStore as E } from "../../store/items-block.js";
|
|
9
|
-
import { syncCurrencyLocationFromAttributes as f } from "../../utils/syncAttributesFromConfigBlock.js";
|
|
10
|
-
import { updateConfigBlockAttributes as O } from "../../utils/updateAttributes.js";
|
|
11
|
-
const b = h.PRICE_CURRENCY_LOCATION, a = {
|
|
1
|
+
import { currencyLocationMaps as p } from "../../../../../enums/extensions/recommendationBlock.js";
|
|
2
|
+
import { UEAttr as y, ModificationDescription as R } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
3
|
+
import { CommonControl as L } from "../../../common-control.js";
|
|
4
|
+
import { ItemsBlockControlId as u } from "../../enums/controlEnums.js";
|
|
5
|
+
import { getItemsBlockConfig as l, setItemsBlockConfig as N, escapeReplacement as I } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const T = u.PRICE_CURRENCY_LOCATION, i = {
|
|
12
7
|
CURRENCY_LOCATION: "currencyLocation"
|
|
13
8
|
};
|
|
14
|
-
class
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
p(this, "store", E());
|
|
18
|
-
}
|
|
9
|
+
class $ extends L {
|
|
19
10
|
getId() {
|
|
20
|
-
return
|
|
11
|
+
return T;
|
|
21
12
|
}
|
|
22
13
|
getTemplate() {
|
|
23
14
|
return `
|
|
24
|
-
<div class="${
|
|
15
|
+
<div class="container ${u.PRICE_CURRENCY_LOCATION}">
|
|
25
16
|
${this._getCurrencyLocation()}
|
|
26
17
|
</div>
|
|
27
18
|
`;
|
|
28
19
|
}
|
|
29
20
|
onRender() {
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
const e = l(this.currentNode);
|
|
22
|
+
this.api.setUIEAttribute(i.CURRENCY_LOCATION, y.SELECTPICKER.items, p), this.api.updateValues({ [i.CURRENCY_LOCATION]: (e == null ? void 0 : e.priceCurrencyLocation) ?? "0" }), this.api.onValueChanged(i.CURRENCY_LOCATION, (t) => {
|
|
23
|
+
this._onCurrencyLocationChange(t);
|
|
32
24
|
});
|
|
33
25
|
}
|
|
34
26
|
onTemplateNodeUpdated(e) {
|
|
35
|
-
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
|
|
36
|
-
|
|
37
|
-
()
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
);
|
|
27
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
28
|
+
const t = l(this.currentNode);
|
|
29
|
+
this.api.updateValues({ [i.CURRENCY_LOCATION]: (t == null ? void 0 : t.priceCurrencyLocation) ?? "0" });
|
|
30
|
+
});
|
|
41
31
|
}
|
|
42
32
|
_onCurrencyLocationChange(e) {
|
|
43
|
-
if (console.debug("Currency location changed to: ", e),
|
|
33
|
+
if (console.debug("Currency location changed to: ", e), N(this.currentNode, this.api, { priceCurrencyLocation: e }), !this.currentNode)
|
|
44
34
|
return;
|
|
45
35
|
const t = this._getPriceBlocks();
|
|
46
36
|
if (!t || t.length === 0)
|
|
47
37
|
return;
|
|
48
|
-
const r = e || "0",
|
|
49
|
-
t.forEach((
|
|
50
|
-
const
|
|
51
|
-
if (!
|
|
38
|
+
const r = l(this.currentNode), n = e || "0", o = (r == null ? void 0 : r.priceCurrencySymbol) ?? "";
|
|
39
|
+
t.forEach((s) => {
|
|
40
|
+
const c = this._getParagraph(s);
|
|
41
|
+
if (!c)
|
|
52
42
|
return;
|
|
53
|
-
const
|
|
54
|
-
this.api.getDocumentModifier().modifyHtml(
|
|
55
|
-
`Updated currency location to ${
|
|
43
|
+
const m = c.getInnerHTML().trim() || "", a = c.getInnerText().trim() || "", C = (o == null ? void 0 : o.trim()) || "", h = this._removeCurrencySymbol(a, C), d = this._detectSymbolInText(a) || C, g = this._buildPriceContent(h, d, n), _ = m.replace(a, I(g));
|
|
44
|
+
this.api.getDocumentModifier().modifyHtml(c).setInnerHtml(_).apply(new R(
|
|
45
|
+
`Updated currency location to ${n === "1" ? "after" : "before"}`
|
|
56
46
|
));
|
|
57
47
|
});
|
|
58
48
|
}
|
|
@@ -70,13 +60,13 @@ class Y extends T {
|
|
|
70
60
|
const r = e || "";
|
|
71
61
|
let n = r;
|
|
72
62
|
if (t) {
|
|
73
|
-
const
|
|
74
|
-
n = r.replace(
|
|
63
|
+
const o = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
|
|
64
|
+
n = r.replace(o, "").trim();
|
|
75
65
|
} else {
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
const s =
|
|
79
|
-
n = r.replace(
|
|
66
|
+
const o = r.match(/([^0-9.,\s]+)/);
|
|
67
|
+
if (o && o[1]) {
|
|
68
|
+
const s = o[1].trim(), c = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
|
|
69
|
+
n = r.replace(c, "").trim();
|
|
80
70
|
}
|
|
81
71
|
}
|
|
82
72
|
return n;
|
|
@@ -93,15 +83,15 @@ class Y extends T {
|
|
|
93
83
|
${this._GuTwoColumns([
|
|
94
84
|
this._GuLabel({ text: "Currency Location" }),
|
|
95
85
|
this._GuSelect({
|
|
96
|
-
name:
|
|
86
|
+
name: i.CURRENCY_LOCATION,
|
|
97
87
|
placeholder: "",
|
|
98
|
-
options:
|
|
88
|
+
options: p
|
|
99
89
|
})
|
|
100
90
|
])}
|
|
101
91
|
`;
|
|
102
92
|
}
|
|
103
93
|
}
|
|
104
94
|
export {
|
|
105
|
-
|
|
106
|
-
|
|
95
|
+
T as CONTROL_BLOCK_ID,
|
|
96
|
+
$ as PriceCurrencyLocationControl
|
|
107
97
|
};
|
|
@@ -1,84 +1,81 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { ModificationDescription as
|
|
5
|
-
import { CommonControl as
|
|
6
|
-
import { ItemsBlockControlId as
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
import { updateConfigBlockAttributes as B } from "../../utils/updateAttributes.js";
|
|
10
|
-
const E = h.PRICE_CURRENCY_SYMBOL, m = {
|
|
1
|
+
var b = Object.defineProperty;
|
|
2
|
+
var R = (s, c, e) => c in s ? b(s, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[c] = e;
|
|
3
|
+
var h = (s, c, e) => R(s, typeof c != "symbol" ? c + "" : c, e);
|
|
4
|
+
import { ModificationDescription as N } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
|
+
import { CommonControl as B } from "../../../common-control.js";
|
|
6
|
+
import { ItemsBlockControlId as y } from "../../enums/controlEnums.js";
|
|
7
|
+
import { getItemsBlockConfig as m, setItemsBlockConfig as E, escapeReplacement as x } from "../../utils/nodeConfigUtils.js";
|
|
8
|
+
const I = y.PRICE_CURRENCY_SYMBOL, p = {
|
|
11
9
|
CURRENCY_SYMBOL: "currencySymbol"
|
|
12
10
|
};
|
|
13
|
-
class
|
|
11
|
+
class O extends B {
|
|
14
12
|
constructor() {
|
|
15
13
|
super(...arguments);
|
|
16
|
-
|
|
17
|
-
u(this, "originalPriceContents", /* @__PURE__ */ new Map());
|
|
14
|
+
h(this, "originalPriceContents", /* @__PURE__ */ new Map());
|
|
18
15
|
}
|
|
19
16
|
getId() {
|
|
20
|
-
return
|
|
17
|
+
return I;
|
|
21
18
|
}
|
|
22
19
|
getTemplate() {
|
|
23
20
|
return `
|
|
24
|
-
<div class="${
|
|
21
|
+
<div class="container ${y.PRICE_CURRENCY_SYMBOL}">
|
|
25
22
|
${this._getCurrencySymbol()}
|
|
26
23
|
</div>
|
|
27
24
|
`;
|
|
28
25
|
}
|
|
29
26
|
onRender() {
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
const e = m(this.currentNode);
|
|
28
|
+
this.api.updateValues({ [p.CURRENCY_SYMBOL]: (e == null ? void 0 : e.priceCurrencySymbol) ?? "" }), this._storeOriginalContents(), this.api.onValueChanged(p.CURRENCY_SYMBOL, (t) => {
|
|
29
|
+
this._onCurrencySymbolChange(t);
|
|
32
30
|
});
|
|
33
31
|
}
|
|
34
32
|
onDestroy() {
|
|
35
33
|
super.onDestroy(), this.originalPriceContents.clear();
|
|
36
34
|
}
|
|
37
35
|
onTemplateNodeUpdated(e) {
|
|
38
|
-
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
|
|
39
|
-
|
|
40
|
-
()
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
);
|
|
36
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
37
|
+
const t = m(this.currentNode);
|
|
38
|
+
this.api.updateValues({ [p.CURRENCY_SYMBOL]: (t == null ? void 0 : t.priceCurrencySymbol) ?? "" }), this._storeOriginalContents();
|
|
39
|
+
});
|
|
44
40
|
}
|
|
45
41
|
_onCurrencySymbolChange(e) {
|
|
46
42
|
var i;
|
|
47
43
|
console.debug("Currency symbol changed to: ", e);
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
44
|
+
const t = m(this.currentNode), o = ((i = t == null ? void 0 : t.priceCurrencySymbol) == null ? void 0 : i.trim()) || "";
|
|
45
|
+
if (E(this.currentNode, this.api, { priceCurrencySymbol: e }), !this.currentNode)
|
|
50
46
|
return;
|
|
51
|
-
const
|
|
52
|
-
if (!
|
|
47
|
+
const r = this._getPriceBlocks();
|
|
48
|
+
if (!r || r.length === 0)
|
|
53
49
|
return;
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
const a = this._getParagraph(
|
|
50
|
+
const n = (e == null ? void 0 : e.trim()) || "", l = (t == null ? void 0 : t.priceCurrencyLocation) ?? "0";
|
|
51
|
+
r.forEach((u) => {
|
|
52
|
+
const a = this._getParagraph(u);
|
|
57
53
|
if (!a)
|
|
58
54
|
return;
|
|
59
|
-
const
|
|
60
|
-
this.api.getDocumentModifier().modifyHtml(a).setInnerHtml(
|
|
61
|
-
`Updated currency symbol to ${
|
|
55
|
+
const d = a.getInnerHTML().trim() || "", C = a.getInnerText().trim() || "", g = this._removeCurrencySymbol(C, o), _ = this._buildPriceContent(g, n, l), S = d.replace(C, x(_));
|
|
56
|
+
this.api.getDocumentModifier().modifyHtml(a).setInnerHtml(S).apply(new N(
|
|
57
|
+
`Updated currency symbol to ${n || "removed"}`
|
|
62
58
|
));
|
|
63
59
|
});
|
|
64
60
|
}
|
|
65
61
|
_storeOriginalContents() {
|
|
66
62
|
if (!this.currentNode)
|
|
67
63
|
return;
|
|
64
|
+
const e = m(this.currentNode);
|
|
68
65
|
this.currentNode.querySelectorAll(
|
|
69
66
|
".items-block-price"
|
|
70
|
-
).forEach((
|
|
71
|
-
var
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
const
|
|
75
|
-
this.originalPriceContents.set(
|
|
67
|
+
).forEach((o) => {
|
|
68
|
+
var n;
|
|
69
|
+
const r = o.querySelector("p");
|
|
70
|
+
if (r && !this.originalPriceContents.has(r)) {
|
|
71
|
+
const l = r.getInnerText() || "", i = ((n = e == null ? void 0 : e.priceCurrencySymbol) == null ? void 0 : n.trim()) || "", u = this._removeCurrencySymbol(l, i);
|
|
72
|
+
this.originalPriceContents.set(r, u);
|
|
76
73
|
}
|
|
77
74
|
});
|
|
78
75
|
}
|
|
79
76
|
_getPriceBlocks() {
|
|
80
|
-
var e,
|
|
81
|
-
return ((
|
|
77
|
+
var e, t;
|
|
78
|
+
return ((t = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : t.querySelectorAll(".items-block-price")) || [];
|
|
82
79
|
}
|
|
83
80
|
_getParagraph(e) {
|
|
84
81
|
return e.querySelector("p");
|
|
@@ -86,30 +83,30 @@ class P extends R {
|
|
|
86
83
|
_escapeRegex(e) {
|
|
87
84
|
return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
|
|
88
85
|
}
|
|
89
|
-
_removeCurrencySymbol(e,
|
|
90
|
-
const
|
|
91
|
-
let
|
|
92
|
-
if (
|
|
93
|
-
const n = new RegExp(`\\s*${this._escapeRegex(
|
|
94
|
-
|
|
86
|
+
_removeCurrencySymbol(e, t) {
|
|
87
|
+
const o = e || "";
|
|
88
|
+
let r = o;
|
|
89
|
+
if (t) {
|
|
90
|
+
const n = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
|
|
91
|
+
r = o.replace(n, "").trim();
|
|
95
92
|
} else {
|
|
96
|
-
const n =
|
|
93
|
+
const n = o.match(/([^0-9.,\s]+)/);
|
|
97
94
|
if (n && n[1]) {
|
|
98
|
-
const
|
|
99
|
-
|
|
95
|
+
const l = n[1].trim(), i = new RegExp(`\\s*${this._escapeRegex(l)}\\s*`);
|
|
96
|
+
r = o.replace(i, "").trim();
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
|
-
return
|
|
99
|
+
return r;
|
|
103
100
|
}
|
|
104
|
-
_buildPriceContent(e,
|
|
105
|
-
return
|
|
101
|
+
_buildPriceContent(e, t, o) {
|
|
102
|
+
return t ? o === "1" ? `${e} ${t}` : `${t} ${e}` : e;
|
|
106
103
|
}
|
|
107
104
|
_getCurrencySymbol() {
|
|
108
105
|
return `
|
|
109
106
|
${this._GuTwoColumns([
|
|
110
107
|
this._GuLabel({ text: "Currency Symbol" }),
|
|
111
108
|
this._GuTextInput({
|
|
112
|
-
name:
|
|
109
|
+
name: p.CURRENCY_SYMBOL,
|
|
113
110
|
placeholder: "Enter Currency Symbol",
|
|
114
111
|
className: "es-180w"
|
|
115
112
|
})
|
|
@@ -118,6 +115,6 @@ class P extends R {
|
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
117
|
export {
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
I as CONTROL_BLOCK_ID,
|
|
119
|
+
O as PriceCurrencySymbolControl
|
|
123
120
|
};
|
|
@@ -1,76 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { productPairs as T } from "../../enums/productEnums.js";
|
|
8
|
-
import { useItemsBlockStore as u } from "../../store/items-block.js";
|
|
9
|
-
import { syncFormattedPriceFromAttributes as g } from "../../utils/syncAttributesFromConfigBlock.js";
|
|
10
|
-
import { updateConfigBlockAttributes as D } from "../../utils/updateAttributes.js";
|
|
11
|
-
const f = l.PRICE_FORMATTED_PRICE, n = {
|
|
1
|
+
import { ModificationDescription as A, UIElementType as P, UEAttr as C } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as L } from "../../../common-control.js";
|
|
3
|
+
import { ItemsBlockControlId as p, ItemsBlockId as _ } from "../../enums/controlEnums.js";
|
|
4
|
+
import { productPairs as I } from "../../enums/productEnums.js";
|
|
5
|
+
import { getItemsBlockConfig as d, setItemsBlockConfig as D, escapeReplacement as h } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const g = p.PRICE_FORMATTED_PRICE, s = {
|
|
12
7
|
FORMATTED_PRICE: "formattedPrice"
|
|
13
8
|
};
|
|
14
|
-
class
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
P(this, "store", u());
|
|
18
|
-
}
|
|
9
|
+
class $ extends L {
|
|
19
10
|
getId() {
|
|
20
|
-
return
|
|
11
|
+
return g;
|
|
21
12
|
}
|
|
22
13
|
getTemplate() {
|
|
23
14
|
return `
|
|
24
|
-
<div class="${
|
|
15
|
+
<div class="container ${p.PRICE_FORMATTED_PRICE}">
|
|
25
16
|
${this._getFormattedPrice()}
|
|
26
17
|
</div>
|
|
27
18
|
`;
|
|
28
19
|
}
|
|
29
20
|
onRender() {
|
|
30
|
-
|
|
21
|
+
const e = d(this.currentNode);
|
|
22
|
+
this.api.updateValues({ [s.FORMATTED_PRICE]: (e == null ? void 0 : e.priceFormatted) ?? !0 }), this.api.onValueChanged(s.FORMATTED_PRICE, (t) => {
|
|
31
23
|
this._onFormattedPriceChange(t);
|
|
32
24
|
});
|
|
33
25
|
}
|
|
34
|
-
onTemplateNodeUpdated(
|
|
35
|
-
super.onTemplateNodeUpdated(
|
|
36
|
-
|
|
37
|
-
()
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
);
|
|
26
|
+
onTemplateNodeUpdated(e) {
|
|
27
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
28
|
+
const t = d(this.currentNode);
|
|
29
|
+
this.api.updateValues({ [s.FORMATTED_PRICE]: (t == null ? void 0 : t.priceFormatted) ?? !0 });
|
|
30
|
+
});
|
|
41
31
|
}
|
|
42
|
-
_onFormattedPriceChange(
|
|
43
|
-
if (console.debug("Formatted price changed to: ",
|
|
32
|
+
_onFormattedPriceChange(e) {
|
|
33
|
+
if (console.debug("Formatted price changed to: ", e), D(this.currentNode, this.api, { priceFormatted: e }), !this.currentNode)
|
|
44
34
|
return;
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
const t = d(this.currentNode), n = (t == null ? void 0 : t.type) ?? "CART_ITEMS", i = (t == null ? void 0 : t.priceSinglePrice) ?? !1, r = I.PAIRS_FOR_EXTENSION.price[n], o = I.PAIRS_FOR_EXTENSION.originalPrice[n], [E, R] = e ? [
|
|
36
|
+
i ? r.DEFAULT_SINGLE_PRICE : r.DEFAULT_PRICE,
|
|
37
|
+
i ? r.DEFAULT_SINGLE_PRICE_FORMATTED : r.DEFAULT_PRICE_FORMATTED
|
|
38
|
+
] : [
|
|
39
|
+
i ? r.DEFAULT_SINGLE_PRICE_FORMATTED : r.DEFAULT_PRICE_FORMATTED,
|
|
40
|
+
i ? r.DEFAULT_SINGLE_PRICE : r.DEFAULT_PRICE
|
|
41
|
+
], l = i ? o.DEFAULT_SINGLE_PRICE : o.DEFAULT_PRICE, T = i ? o.DEFAULT_SINGLE_PRICE_FORMATTED : o.DEFAULT_PRICE_FORMATTED, [m, F] = e ? [l, T] : [T, l], c = this.currentNode.closest(".items-block");
|
|
42
|
+
((c == null ? void 0 : c.querySelectorAll(
|
|
43
|
+
`[esd-extension-block-id="${_.PRICE}"]`
|
|
44
|
+
)) || []).forEach((a) => {
|
|
45
|
+
this._updatePriceBlock(a, E, R, e, "price");
|
|
46
|
+
}), ((c == null ? void 0 : c.querySelectorAll(
|
|
47
|
+
`[esd-extension-block-id="${_.ORIGINAL_PRICE}"]`
|
|
48
|
+
)) || []).forEach((a) => {
|
|
49
|
+
this._updatePriceBlock(a, m, F, e, "original price");
|
|
50
|
+
});
|
|
54
51
|
}
|
|
55
|
-
_updatePriceBlock(t,
|
|
56
|
-
const
|
|
57
|
-
this.api.getDocumentModifier().modifyHtml(
|
|
52
|
+
_updatePriceBlock(e, t, n, i, r) {
|
|
53
|
+
const o = e.getInnerHTML().trim().replace(t, h(n)), E = `Updated ${r} to ${i ? "formatted" : "unformatted"}`;
|
|
54
|
+
this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(o).apply(new A(E));
|
|
58
55
|
}
|
|
59
56
|
_getFormattedPrice() {
|
|
60
57
|
return `
|
|
61
|
-
<div class="
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
${this._GuToggle(n.FORMATTED_PRICE)}
|
|
68
|
-
</div>
|
|
58
|
+
<div class="display-flex align-items-center justify-content-between">
|
|
59
|
+
<${P.LABEL}
|
|
60
|
+
${C.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
|
|
61
|
+
>
|
|
62
|
+
</${P.LABEL}>
|
|
63
|
+
${this._GuToggle(s.FORMATTED_PRICE)}
|
|
69
64
|
</div>
|
|
70
65
|
`;
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
68
|
export {
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
g as CONTROL_BLOCK_ID,
|
|
70
|
+
$ as PriceFormattedPriceControl
|
|
76
71
|
};
|
|
@@ -1,61 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { ItemsBlockControlId as r } from "../../enums/controlEnums.js";
|
|
7
|
-
import { useItemsBlockStore as D } from "../../store/items-block.js";
|
|
8
|
-
import { syncHideDiscountFromAttributes as p } from "../../utils/syncAttributesFromConfigBlock.js";
|
|
9
|
-
import { updateConfigBlockAttributes as I } from "../../utils/updateAttributes.js";
|
|
10
|
-
const l = r.PRICE_HIDE_DISCOUNT, s = {
|
|
1
|
+
import { UIElementType as o, UEAttr as d } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as r } from "../../../common-control.js";
|
|
3
|
+
import { ItemsBlockControlId as n } from "../../enums/controlEnums.js";
|
|
4
|
+
import { getItemsBlockConfig as s, setItemsBlockConfig as a } from "../../utils/nodeConfigUtils.js";
|
|
5
|
+
const c = n.PRICE_HIDE_DISCOUNT, i = {
|
|
11
6
|
HIDE_DISCOUNT: "hideDiscount"
|
|
12
7
|
};
|
|
13
|
-
class
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
o(this, "store", D());
|
|
17
|
-
}
|
|
8
|
+
class C extends r {
|
|
18
9
|
getId() {
|
|
19
|
-
return
|
|
10
|
+
return c;
|
|
20
11
|
}
|
|
21
12
|
getTemplate() {
|
|
22
13
|
return `
|
|
23
|
-
<div class="${
|
|
14
|
+
<div class="container ${n.PRICE_HIDE_DISCOUNT}">
|
|
24
15
|
${this._getHideDiscount()}
|
|
25
16
|
</div>
|
|
26
17
|
`;
|
|
27
18
|
}
|
|
28
19
|
onRender() {
|
|
29
|
-
|
|
20
|
+
const e = s(this.currentNode);
|
|
21
|
+
this.api.updateValues({ [i.HIDE_DISCOUNT]: (e == null ? void 0 : e.priceHideDiscount) ?? !0 }), this.api.onValueChanged(i.HIDE_DISCOUNT, (t) => {
|
|
30
22
|
this._onHideDiscountChange(t);
|
|
31
23
|
});
|
|
32
24
|
}
|
|
33
|
-
onTemplateNodeUpdated(
|
|
34
|
-
super.onTemplateNodeUpdated(
|
|
35
|
-
|
|
36
|
-
()
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
);
|
|
25
|
+
onTemplateNodeUpdated(e) {
|
|
26
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
27
|
+
const t = s(this.currentNode);
|
|
28
|
+
this.api.updateValues({ [i.HIDE_DISCOUNT]: (t == null ? void 0 : t.priceHideDiscount) ?? !0 });
|
|
29
|
+
});
|
|
40
30
|
}
|
|
41
|
-
_onHideDiscountChange(
|
|
42
|
-
|
|
31
|
+
_onHideDiscountChange(e) {
|
|
32
|
+
a(this.currentNode, this.api, { priceHideDiscount: e }), this.api.updateValues({ [i.HIDE_DISCOUNT]: e });
|
|
43
33
|
}
|
|
44
34
|
_getHideDiscount() {
|
|
45
35
|
return `
|
|
46
|
-
|
|
36
|
+
|
|
47
37
|
<div class="display-flex align-items-center justify-content-between">
|
|
48
|
-
<${
|
|
49
|
-
${
|
|
38
|
+
<${o.LABEL}
|
|
39
|
+
${d.LABEL.text}="${this.api.translate("Hide if same as discounted ")}"
|
|
50
40
|
>
|
|
51
|
-
</${
|
|
52
|
-
${this._GuToggle(
|
|
41
|
+
</${o.LABEL}>
|
|
42
|
+
${this._GuToggle(i.HIDE_DISCOUNT)}
|
|
53
43
|
</div>
|
|
54
44
|
</div>
|
|
55
45
|
`;
|
|
56
46
|
}
|
|
57
47
|
}
|
|
58
48
|
export {
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
c as CONTROL_BLOCK_ID,
|
|
50
|
+
C as PriceHideDiscountControl
|
|
61
51
|
};
|