@useinsider/guido 3.2.0-beta.78d83bd → 3.2.0-beta.7e0c6bd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/config/schemas.js +1 -1
- package/dist/@types/config/validator.js +27 -34
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +76 -81
- package/dist/components/organisms/base/Toaster.vue2.js +10 -11
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +12 -12
- package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue2.js +6 -6
- package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +9 -15
- package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +31 -40
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +19 -20
- package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +11 -14
- package/dist/components/organisms/header/EditorActions.vue.js +11 -12
- package/dist/components/organisms/header/EditorActions.vue2.js +18 -22
- package/dist/components/organisms/header/HeaderWrapper.vue2.js +12 -15
- package/dist/components/organisms/header/LeftSlot.vue2.js +16 -19
- package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -11
- package/dist/components/organisms/header/RightSlot.vue2.js +14 -17
- package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +11 -12
- package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +49 -31
- package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +12 -13
- package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +36 -38
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +12 -13
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +47 -51
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +18 -21
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +27 -31
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +12 -13
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +33 -46
- package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +11 -12
- package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +20 -21
- package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +8 -9
- package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +9 -10
- package/dist/composables/useActionsApi.js +37 -38
- package/dist/composables/useBlocksConfig.js +26 -26
- package/dist/composables/useFullStoryBridge.js +8 -9
- package/dist/composables/useHtmlCompiler.js +34 -26
- package/dist/composables/useHtmlValidator.js +101 -109
- package/dist/composables/useHttp.js +30 -30
- package/dist/composables/usePartner.js +1 -1
- package/dist/composables/useRecommendation.js +14 -15
- package/dist/composables/useRibbonOffset.js +21 -0
- package/dist/composables/useSave.js +21 -22
- package/dist/composables/useStripo.js +53 -50
- package/dist/composables/useSyncModuleExtractor.js +31 -29
- package/dist/composables/useTimerClone.js +24 -25
- package/dist/composables/useTranslations.js +23 -16
- package/dist/composables/useValidation.js +7 -8
- package/dist/composables/validators/useLiquidValidator.js +13 -13
- package/dist/config/compiler/unsubscribeCompilerRules.js +17 -19
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +10 -11
- package/dist/config/migrator/checkboxMigrator.js +20 -21
- package/dist/config/migrator/couponBlockMigrator.js +18 -19
- package/dist/config/migrator/itemsBlockMigrator.js +87 -89
- package/dist/config/migrator/radioButtonMigrator.js +12 -13
- package/dist/config/migrator/recommendationMigrator.js +106 -109
- package/dist/config/migrator/unsubscribeMigrator.js +10 -11
- package/dist/enums/onboarding.js +7 -2
- package/dist/enums/unsubscribe.js +18 -19
- package/dist/extensions/Blocks/Items/block.js +9 -9
- package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +89 -97
- package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +23 -24
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +13 -14
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +44 -47
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +38 -40
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +155 -162
- package/dist/extensions/Blocks/Items/enums/productEnums.js +9 -14
- package/dist/extensions/Blocks/Items/template.js +218 -216
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +128 -133
- package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +10 -10
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +17 -18
- package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +4 -6
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +82 -90
- package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
- package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +35 -36
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +134 -135
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +10 -10
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
- package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +18 -20
- package/dist/extensions/Blocks/Recommendation/extension.js +31 -32
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +8 -16
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +55 -56
- package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +22 -23
- package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
- package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
- package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
- package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +24 -25
- package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +45 -47
- package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +13 -16
- package/dist/extensions/Blocks/Unsubscribe/control.js +11 -13
- package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +16 -18
- package/dist/extensions/Blocks/common-control.js +25 -26
- package/dist/extensions/DynamicContent/dynamic-content.js +53 -58
- package/dist/guido.css +1 -1
- package/dist/library.js +11 -12
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +233 -210
- package/dist/node_modules/valibot/dist/index.js +122 -126
- package/dist/package.json.js +1 -1
- package/dist/services/recommendationApi.js +14 -17
- package/dist/services/templateLibraryApi.js +37 -38
- package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
- package/dist/src/composables/useHtmlCompiler.d.ts +1 -2
- package/dist/src/composables/useRibbonOffset.d.ts +4 -0
- package/dist/src/composables/useTranslations.d.ts +1 -1
- package/dist/src/enums/onboarding.d.ts +6 -0
- package/dist/src/stores/dynamic-content.d.ts +3 -3
- package/dist/src/stores/onboarding.d.ts +4 -0
- package/dist/stores/config.js +25 -81
- package/dist/stores/dynamic-content.js +6 -11
- package/dist/stores/onboarding.js +5 -1
- package/dist/stores/preview.js +6 -9
- package/dist/stores/unsubscribe.js +1 -4
- package/dist/utils/dateUtil.js +7 -10
- package/dist/utils/genericUtil.js +10 -13
- package/dist/utils/pairProductVariables.js +13 -14
- package/package.json +8 -5
- package/dist/node_modules/lodash-es/_DataView.js +0 -6
- package/dist/node_modules/lodash-es/_Hash.js +0 -20
- package/dist/node_modules/lodash-es/_ListCache.js +0 -20
- package/dist/node_modules/lodash-es/_Map.js +0 -6
- package/dist/node_modules/lodash-es/_MapCache.js +0 -20
- 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/_Stack.js +0 -18
- package/dist/node_modules/lodash-es/_Symbol.js +0 -5
- package/dist/node_modules/lodash-es/_Uint8Array.js +0 -5
- 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/_arrayLikeKeys.js +0 -20
- 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/_assocIndexOf.js +0 -10
- 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/_baseFor.js +0 -5
- 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/_baseGetTag.js +0 -10
- package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
- package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -9
- 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/_baseIsNative.js +0 -16
- package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -12
- 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/_baseTimes.js +0 -8
- 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/_baseUnary.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/_coreJsData.js +0 -5
- package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
- package/dist/node_modules/lodash-es/_createBaseFor.js +0 -13
- 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/_freeGlobal.js +0 -4
- package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
- package/dist/node_modules/lodash-es/_getMapData.js +0 -8
- package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
- package/dist/node_modules/lodash-es/_getNative.js +0 -9
- package/dist/node_modules/lodash-es/_getRawTag.js +0 -15
- 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/_getValue.js +0 -6
- package/dist/node_modules/lodash-es/_hasPath.js +0 -19
- package/dist/node_modules/lodash-es/_hashClear.js +0 -7
- package/dist/node_modules/lodash-es/_hashDelete.js +0 -7
- package/dist/node_modules/lodash-es/_hashGet.js +0 -13
- package/dist/node_modules/lodash-es/_hashHas.js +0 -9
- package/dist/node_modules/lodash-es/_hashSet.js +0 -9
- package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
- package/dist/node_modules/lodash-es/_isIndex.js +0 -8
- package/dist/node_modules/lodash-es/_isIterateeCall.js +0 -13
- package/dist/node_modules/lodash-es/_isKey.js +0 -12
- package/dist/node_modules/lodash-es/_isKeyable.js +0 -7
- package/dist/node_modules/lodash-es/_isMasked.js +0 -11
- package/dist/node_modules/lodash-es/_isPrototype.js +0 -8
- package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
- package/dist/node_modules/lodash-es/_listCacheClear.js +0 -6
- package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -12
- package/dist/node_modules/lodash-es/_listCacheGet.js +0 -8
- package/dist/node_modules/lodash-es/_listCacheHas.js +0 -7
- package/dist/node_modules/lodash-es/_listCacheSet.js +0 -8
- package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -13
- package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -8
- package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -7
- package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -7
- package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -8
- 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/_nativeCreate.js +0 -5
- package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
- package/dist/node_modules/lodash-es/_nodeUtil.js +0 -11
- package/dist/node_modules/lodash-es/_objectToString.js +0 -7
- package/dist/node_modules/lodash-es/_overArg.js +0 -8
- package/dist/node_modules/lodash-es/_root.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/_stackClear.js +0 -7
- package/dist/node_modules/lodash-es/_stackDelete.js +0 -7
- package/dist/node_modules/lodash-es/_stackGet.js +0 -6
- package/dist/node_modules/lodash-es/_stackHas.js +0 -6
- package/dist/node_modules/lodash-es/_stackSet.js +0 -17
- 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/_toSource.js +0 -17
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
- package/dist/node_modules/lodash-es/eq.js +0 -6
- 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/identity.js +0 -6
- package/dist/node_modules/lodash-es/isArguments.js +0 -10
- package/dist/node_modules/lodash-es/isArray.js +0 -4
- package/dist/node_modules/lodash-es/isArrayLike.js +0 -8
- package/dist/node_modules/lodash-es/isBuffer.js +0 -6
- package/dist/node_modules/lodash-es/isFunction.js +0 -12
- package/dist/node_modules/lodash-es/isLength.js +0 -7
- package/dist/node_modules/lodash-es/isObject.js +0 -7
- package/dist/node_modules/lodash-es/isObjectLike.js +0 -6
- package/dist/node_modules/lodash-es/isSymbol.js +0 -9
- package/dist/node_modules/lodash-es/isTypedArray.js +0 -7
- 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/memoize.js +0 -18
- 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/stubFalse.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
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { ModificationDescription as
|
|
5
|
-
import { CommonControl as
|
|
6
|
-
import { ItemsBlockControlId as
|
|
7
|
-
import { getItemsBlockConfig as
|
|
8
|
-
const
|
|
1
|
+
var b = Object.defineProperty;
|
|
2
|
+
var f = (i, c, e) => c in i ? b(i, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[c] = e;
|
|
3
|
+
var C = (i, c, e) => f(i, typeof c != "symbol" ? c + "" : c, e);
|
|
4
|
+
import { ModificationDescription as R } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
|
+
import { CommonControl as N } from "../../../common-control.js";
|
|
6
|
+
import { ItemsBlockControlId as h } from "../../enums/controlEnums.js";
|
|
7
|
+
import { getItemsBlockConfig as m, setItemsBlockConfig as B, escapeReplacement as E } from "../../utils/nodeConfigUtils.js";
|
|
8
|
+
const x = h.PRICE_CURRENCY_SYMBOL, u = {
|
|
9
9
|
CURRENCY_SYMBOL: "currencySymbol"
|
|
10
10
|
};
|
|
11
|
-
class
|
|
11
|
+
class O extends N {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
-
|
|
14
|
+
C(this, "originalPriceContents", /* @__PURE__ */ new Map());
|
|
15
15
|
}
|
|
16
16
|
getId() {
|
|
17
|
-
return
|
|
17
|
+
return x;
|
|
18
18
|
}
|
|
19
19
|
getTemplate() {
|
|
20
20
|
return `
|
|
21
|
-
<div class="container ${
|
|
21
|
+
<div class="container ${h.PRICE_CURRENCY_SYMBOL}">
|
|
22
22
|
${this._getCurrencySymbol()}
|
|
23
23
|
</div>
|
|
24
24
|
`;
|
|
25
25
|
}
|
|
26
26
|
onRender() {
|
|
27
|
-
const e =
|
|
28
|
-
this.api.updateValues({ [u.CURRENCY_SYMBOL]:
|
|
27
|
+
const e = m(this.currentNode);
|
|
28
|
+
this.api.updateValues({ [u.CURRENCY_SYMBOL]: e?.priceCurrencySymbol ?? "" }), this._storeOriginalContents(), this.api.onValueChanged(u.CURRENCY_SYMBOL, (t) => {
|
|
29
29
|
this._onCurrencySymbolChange(t);
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -34,48 +34,45 @@ class P extends E {
|
|
|
34
34
|
}
|
|
35
35
|
onTemplateNodeUpdated(e) {
|
|
36
36
|
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
37
|
-
const t =
|
|
38
|
-
this.api.updateValues({ [u.CURRENCY_SYMBOL]:
|
|
37
|
+
const t = m(this.currentNode);
|
|
38
|
+
this.api.updateValues({ [u.CURRENCY_SYMBOL]: t?.priceCurrencySymbol ?? "" }), this._storeOriginalContents();
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
_onCurrencySymbolChange(e) {
|
|
42
|
-
var a;
|
|
43
42
|
console.debug("Currency symbol changed to: ", e);
|
|
44
|
-
const t =
|
|
45
|
-
if (
|
|
43
|
+
const t = m(this.currentNode), n = t?.priceCurrencySymbol?.trim() || "";
|
|
44
|
+
if (B(this.currentNode, this.api, { priceCurrencySymbol: e }), !this.currentNode)
|
|
46
45
|
return;
|
|
47
46
|
const r = this._getPriceBlocks();
|
|
48
47
|
if (!r || r.length === 0)
|
|
49
48
|
return;
|
|
50
|
-
const
|
|
51
|
-
r.forEach((
|
|
52
|
-
const
|
|
53
|
-
if (!
|
|
49
|
+
const o = e?.trim() || "", l = t?.priceCurrencyLocation ?? "0", s = this.api.getDocumentModifier();
|
|
50
|
+
r.forEach((g) => {
|
|
51
|
+
const a = this._getParagraph(g);
|
|
52
|
+
if (!a)
|
|
54
53
|
return;
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
`Updated currency symbol to ${
|
|
54
|
+
const y = a.getInnerHTML().trim() || "", p = a.getInnerText().trim() || "", d = this._removeCurrencySymbol(p, n), _ = this._buildPriceContent(d, o, l), S = y.replace(p, E(_));
|
|
55
|
+
s.modifyHtml(a).setInnerHtml(S);
|
|
56
|
+
}), s.apply(new R(
|
|
57
|
+
`Updated currency symbol to ${o || "removed"}`
|
|
59
58
|
));
|
|
60
59
|
}
|
|
61
60
|
_storeOriginalContents() {
|
|
62
61
|
if (!this.currentNode)
|
|
63
62
|
return;
|
|
64
|
-
const e =
|
|
63
|
+
const e = m(this.currentNode);
|
|
65
64
|
this.currentNode.querySelectorAll(
|
|
66
65
|
".items-block-price"
|
|
67
|
-
).forEach((
|
|
68
|
-
|
|
69
|
-
const r = o.querySelector("p");
|
|
66
|
+
).forEach((n) => {
|
|
67
|
+
const r = n.querySelector("p");
|
|
70
68
|
if (r && !this.originalPriceContents.has(r)) {
|
|
71
|
-
const
|
|
72
|
-
this.originalPriceContents.set(r,
|
|
69
|
+
const o = r.getInnerText() || "", l = e?.priceCurrencySymbol?.trim() || "", s = this._removeCurrencySymbol(o, l);
|
|
70
|
+
this.originalPriceContents.set(r, s);
|
|
73
71
|
}
|
|
74
72
|
});
|
|
75
73
|
}
|
|
76
74
|
_getPriceBlocks() {
|
|
77
|
-
|
|
78
|
-
return ((t = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : t.querySelectorAll(".items-block-price")) || [];
|
|
75
|
+
return this.currentNode?.closest(".items-block")?.querySelectorAll(".items-block-price") || [];
|
|
79
76
|
}
|
|
80
77
|
_getParagraph(e) {
|
|
81
78
|
return e.querySelector("p");
|
|
@@ -84,22 +81,22 @@ class P extends E {
|
|
|
84
81
|
return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
|
|
85
82
|
}
|
|
86
83
|
_removeCurrencySymbol(e, t) {
|
|
87
|
-
const
|
|
88
|
-
let r =
|
|
84
|
+
const n = e || "";
|
|
85
|
+
let r = n;
|
|
89
86
|
if (t) {
|
|
90
|
-
const
|
|
91
|
-
r =
|
|
87
|
+
const o = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
|
|
88
|
+
r = n.replace(o, "").trim();
|
|
92
89
|
} else {
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
95
|
-
const l =
|
|
96
|
-
r =
|
|
90
|
+
const o = n.match(/([^0-9.,\s]+)/);
|
|
91
|
+
if (o && o[1]) {
|
|
92
|
+
const l = o[1].trim(), s = new RegExp(`\\s*${this._escapeRegex(l)}\\s*`);
|
|
93
|
+
r = n.replace(s, "").trim();
|
|
97
94
|
}
|
|
98
95
|
}
|
|
99
96
|
return r;
|
|
100
97
|
}
|
|
101
|
-
_buildPriceContent(e, t,
|
|
102
|
-
return t ?
|
|
98
|
+
_buildPriceContent(e, t, n) {
|
|
99
|
+
return t ? n === "1" ? `${e} ${t}` : `${t} ${e}` : e;
|
|
103
100
|
}
|
|
104
101
|
_getCurrencySymbol() {
|
|
105
102
|
return `
|
|
@@ -115,6 +112,6 @@ class P extends E {
|
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
114
|
export {
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
x as CONTROL_BLOCK_ID,
|
|
116
|
+
O as PriceCurrencySymbolControl
|
|
120
117
|
};
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import { ItemsBlockControlId as
|
|
1
|
+
import { ModificationDescription as g, UIElementType as P, UEAttr as L } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as D } from "../../../common-control.js";
|
|
3
|
+
import { ItemsBlockControlId as m, ItemsBlockId as _ } from "../../enums/controlEnums.js";
|
|
4
4
|
import { productPairs as I } from "../../enums/productEnums.js";
|
|
5
|
-
import { getItemsBlockConfig as
|
|
6
|
-
const
|
|
5
|
+
import { getItemsBlockConfig as a, setItemsBlockConfig as u, escapeReplacement as h } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const O = m.PRICE_FORMATTED_PRICE, n = {
|
|
7
7
|
FORMATTED_PRICE: "formattedPrice"
|
|
8
8
|
};
|
|
9
|
-
class
|
|
9
|
+
class $ extends D {
|
|
10
10
|
getId() {
|
|
11
|
-
return
|
|
11
|
+
return O;
|
|
12
12
|
}
|
|
13
13
|
getTemplate() {
|
|
14
14
|
return `
|
|
15
|
-
<div class="container ${
|
|
15
|
+
<div class="container ${m.PRICE_FORMATTED_PRICE}">
|
|
16
16
|
${this._getFormattedPrice()}
|
|
17
17
|
</div>
|
|
18
18
|
`;
|
|
19
19
|
}
|
|
20
20
|
onRender() {
|
|
21
|
-
const
|
|
22
|
-
this.api.updateValues({ [
|
|
23
|
-
this._onFormattedPriceChange(
|
|
21
|
+
const e = a(this.currentNode);
|
|
22
|
+
this.api.updateValues({ [n.FORMATTED_PRICE]: e?.priceFormatted ?? !0 }), this.api.onValueChanged(n.FORMATTED_PRICE, (i) => {
|
|
23
|
+
this._onFormattedPriceChange(i);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
onTemplateNodeUpdated(
|
|
27
|
-
super.onTemplateNodeUpdated(
|
|
28
|
-
const
|
|
29
|
-
this.api.updateValues({ [
|
|
26
|
+
onTemplateNodeUpdated(e) {
|
|
27
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
28
|
+
const i = a(this.currentNode);
|
|
29
|
+
this.api.updateValues({ [n.FORMATTED_PRICE]: i?.priceFormatted ?? !0 });
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
_onFormattedPriceChange(
|
|
33
|
-
if (console.debug("Formatted price changed to: ",
|
|
32
|
+
_onFormattedPriceChange(e) {
|
|
33
|
+
if (console.debug("Formatted price changed to: ", e), u(this.currentNode, this.api, { priceFormatted: e }), !this.currentNode)
|
|
34
34
|
return;
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
const i = a(this.currentNode), o = i?.type ?? "CART_ITEMS", r = i?.priceSinglePrice ?? !1, t = I.PAIRS_FOR_EXTENSION.price[o], c = I.PAIRS_FOR_EXTENSION.originalPrice[o], [R, p] = e ? [
|
|
36
|
+
r ? t.DEFAULT_SINGLE_PRICE : t.DEFAULT_PRICE,
|
|
37
|
+
r ? t.DEFAULT_SINGLE_PRICE_FORMATTED : t.DEFAULT_PRICE_FORMATTED
|
|
38
38
|
] : [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
],
|
|
39
|
+
r ? t.DEFAULT_SINGLE_PRICE_FORMATTED : t.DEFAULT_PRICE_FORMATTED,
|
|
40
|
+
r ? t.DEFAULT_SINGLE_PRICE : t.DEFAULT_PRICE
|
|
41
|
+
], d = r ? c.DEFAULT_SINGLE_PRICE : c.DEFAULT_PRICE, l = r ? c.DEFAULT_SINGLE_PRICE_FORMATTED : c.DEFAULT_PRICE_FORMATTED, [F, C] = e ? [d, l] : [l, d], T = this.currentNode.closest(".items-block"), A = T?.querySelectorAll(
|
|
42
42
|
`[esd-extension-block-id="${_.PRICE}"]`
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
this._updatePriceBlock(E,
|
|
46
|
-
}), (
|
|
43
|
+
) || [], s = this.api.getDocumentModifier();
|
|
44
|
+
A.forEach((E) => {
|
|
45
|
+
this._updatePriceBlock(s, E, R, p);
|
|
46
|
+
}), (T?.querySelectorAll(
|
|
47
47
|
`[esd-extension-block-id="${_.ORIGINAL_PRICE}"]`
|
|
48
|
-
)
|
|
49
|
-
this._updatePriceBlock(
|
|
50
|
-
}),
|
|
51
|
-
`Updated price to ${
|
|
48
|
+
) || []).forEach((E) => {
|
|
49
|
+
this._updatePriceBlock(s, E, F, C);
|
|
50
|
+
}), s.apply(new g(
|
|
51
|
+
`Updated price to ${e ? "formatted" : "unformatted"}`
|
|
52
52
|
));
|
|
53
53
|
}
|
|
54
|
-
_updatePriceBlock(
|
|
55
|
-
const
|
|
56
|
-
|
|
54
|
+
_updatePriceBlock(e, i, o, r) {
|
|
55
|
+
const t = i.getInnerHTML().trim().replace(o, h(r));
|
|
56
|
+
e.modifyHtml(i).setInnerHtml(t);
|
|
57
57
|
}
|
|
58
58
|
_getFormattedPrice() {
|
|
59
59
|
return `
|
|
60
60
|
<div class="display-flex align-items-center justify-content-between">
|
|
61
61
|
<${P.LABEL}
|
|
62
|
-
${
|
|
62
|
+
${L.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
|
|
63
63
|
>
|
|
64
64
|
</${P.LABEL}>
|
|
65
|
-
${this._GuToggle(
|
|
65
|
+
${this._GuToggle(n.FORMATTED_PRICE)}
|
|
66
66
|
</div>
|
|
67
67
|
`;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
export {
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
O as CONTROL_BLOCK_ID,
|
|
72
|
+
$ as PriceFormattedPriceControl
|
|
73
73
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { UIElementType as o, UEAttr as d } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { CommonControl as r } from "../../../common-control.js";
|
|
3
|
-
import { ItemsBlockControlId as
|
|
4
|
-
import { getItemsBlockConfig as
|
|
5
|
-
const c =
|
|
3
|
+
import { ItemsBlockControlId as s } from "../../enums/controlEnums.js";
|
|
4
|
+
import { getItemsBlockConfig as n, setItemsBlockConfig as a } from "../../utils/nodeConfigUtils.js";
|
|
5
|
+
const c = s.PRICE_HIDE_DISCOUNT, t = {
|
|
6
6
|
HIDE_DISCOUNT: "hideDiscount"
|
|
7
7
|
};
|
|
8
8
|
class C extends r {
|
|
@@ -11,25 +11,25 @@ class C extends r {
|
|
|
11
11
|
}
|
|
12
12
|
getTemplate() {
|
|
13
13
|
return `
|
|
14
|
-
<div class="container ${
|
|
14
|
+
<div class="container ${s.PRICE_HIDE_DISCOUNT}">
|
|
15
15
|
${this._getHideDiscount()}
|
|
16
16
|
</div>
|
|
17
17
|
`;
|
|
18
18
|
}
|
|
19
19
|
onRender() {
|
|
20
|
-
const e =
|
|
21
|
-
this.api.updateValues({ [
|
|
22
|
-
this._onHideDiscountChange(
|
|
20
|
+
const e = n(this.currentNode);
|
|
21
|
+
this.api.updateValues({ [t.HIDE_DISCOUNT]: e?.priceHideDiscount ?? !0 }), this.api.onValueChanged(t.HIDE_DISCOUNT, (i) => {
|
|
22
|
+
this._onHideDiscountChange(i);
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
onTemplateNodeUpdated(e) {
|
|
26
26
|
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
27
|
-
const
|
|
28
|
-
this.api.updateValues({ [
|
|
27
|
+
const i = n(this.currentNode);
|
|
28
|
+
this.api.updateValues({ [t.HIDE_DISCOUNT]: i?.priceHideDiscount ?? !0 });
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
_onHideDiscountChange(e) {
|
|
32
|
-
a(this.currentNode, this.api, { priceHideDiscount: e }), this.api.updateValues({ [
|
|
32
|
+
a(this.currentNode, this.api, { priceHideDiscount: e }), this.api.updateValues({ [t.HIDE_DISCOUNT]: e });
|
|
33
33
|
}
|
|
34
34
|
_getHideDiscount() {
|
|
35
35
|
return `
|
|
@@ -38,7 +38,7 @@ class C extends r {
|
|
|
38
38
|
${d.LABEL.text}="${this.api.translate("Hide if same as discounted ")}"
|
|
39
39
|
>
|
|
40
40
|
</${o.LABEL}>
|
|
41
|
-
${this._GuToggle(
|
|
41
|
+
${this._GuToggle(t.HIDE_DISCOUNT)}
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
44
44
|
`;
|
|
@@ -1,82 +1,80 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import { ItemsBlockControlId as
|
|
4
|
-
import { SETTINGS_ENUMS as
|
|
5
|
-
import { getItemsBlockConfig as
|
|
6
|
-
const
|
|
1
|
+
import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as p } from "../../../common-control.js";
|
|
3
|
+
import { ItemsBlockControlId as d } from "../../enums/controlEnums.js";
|
|
4
|
+
import { SETTINGS_ENUMS as l } from "../../enums/settingsEnums.js";
|
|
5
|
+
import { getItemsBlockConfig as s, setItemsBlockConfig as u } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const h = d.PRICE_ORIENTATION, n = {
|
|
7
7
|
PRICE_ORIENTATION: "priceOrientation"
|
|
8
|
-
},
|
|
8
|
+
}, m = [
|
|
9
9
|
{ icon: "vertical-orientation", value: "vertical" },
|
|
10
10
|
{ icon: "horizontal-orientation", value: "horizontal" }
|
|
11
11
|
];
|
|
12
|
-
class
|
|
12
|
+
class T extends p {
|
|
13
13
|
getId() {
|
|
14
|
-
return
|
|
14
|
+
return h;
|
|
15
15
|
}
|
|
16
16
|
getTemplate() {
|
|
17
17
|
return `
|
|
18
|
-
<div class="container ${
|
|
18
|
+
<div class="container ${d.PRICE_ORIENTATION}">
|
|
19
19
|
${this._getPriceOrientation()}
|
|
20
20
|
</div>
|
|
21
21
|
`;
|
|
22
22
|
}
|
|
23
23
|
onRender() {
|
|
24
|
-
const i =
|
|
25
|
-
this.api.updateValues({ [
|
|
26
|
-
typeof
|
|
24
|
+
const i = s(this.currentNode);
|
|
25
|
+
this.api.updateValues({ [n.PRICE_ORIENTATION]: i?.priceOrientation ?? "horizontal" }), this.api.onValueChanged(n.PRICE_ORIENTATION, (e) => {
|
|
26
|
+
typeof e == "string" && this._onPriceOrientationChange(e);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
onTemplateNodeUpdated(i) {
|
|
30
30
|
super.onTemplateNodeUpdated(i), this.handleBlockInstanceChange(() => {
|
|
31
|
-
const
|
|
32
|
-
this.api.updateValues({ [
|
|
31
|
+
const e = s(this.currentNode);
|
|
32
|
+
this.api.updateValues({ [n.PRICE_ORIENTATION]: e?.priceOrientation ?? "horizontal" });
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
_onPriceOrientationChange(i) {
|
|
36
|
-
if (
|
|
36
|
+
if (u(this.currentNode, this.api, {
|
|
37
37
|
priceOrientation: i
|
|
38
38
|
}), !this.currentNode)
|
|
39
39
|
return;
|
|
40
|
-
const t =
|
|
41
|
-
|
|
40
|
+
const t = (s(this.currentNode)?.orientation ?? l.ORIENTATION.VERTICAL) === l.ORIENTATION.VERTICAL, o = i === "horizontal";
|
|
41
|
+
t ? this._updateVerticalLayout(o) : this._updateHorizontalLayout(o);
|
|
42
42
|
}
|
|
43
43
|
_updateVerticalLayout(i) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (!t || !r)
|
|
44
|
+
const e = this.currentNode?.closest(".ins-product-td")?.querySelectorAll(".product-price-class") || [], r = this.currentNode?.closest(".ins-product-td")?.querySelectorAll(".product-original-price-class") || [];
|
|
45
|
+
if (!e || !r)
|
|
47
46
|
return;
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
o.modifyHtml(
|
|
51
|
-
}), r.forEach((
|
|
52
|
-
o.modifyHtml(
|
|
53
|
-
}), o.apply(new
|
|
47
|
+
const t = i ? "50%" : "100%", o = this.api.getDocumentModifier();
|
|
48
|
+
e.forEach((a) => {
|
|
49
|
+
o.modifyHtml(a).setAttribute("width", t).setStyle("width", t);
|
|
50
|
+
}), r.forEach((a) => {
|
|
51
|
+
o.modifyHtml(a).setAttribute("width", t).setStyle("width", t);
|
|
52
|
+
}), o.apply(new c(`Updated original price element width to ${t}`));
|
|
54
53
|
}
|
|
55
54
|
_updateHorizontalLayout(i) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (!t || !r || t.length === 0)
|
|
55
|
+
const e = this.currentNode?.closest(".ins-product-td")?.querySelectorAll(".horizontal-price") || [], r = this.currentNode?.closest(".ins-product-td")?.querySelector(".vertical-price");
|
|
56
|
+
if (!e || !r || e.length === 0)
|
|
59
57
|
return;
|
|
60
|
-
const
|
|
61
|
-
i ? (
|
|
62
|
-
|
|
63
|
-
}),
|
|
64
|
-
|
|
65
|
-
}),
|
|
58
|
+
const t = this.api.getDocumentModifier();
|
|
59
|
+
i ? (e.forEach((o) => {
|
|
60
|
+
t.modifyHtml(o).setStyle("display", "table-cell");
|
|
61
|
+
}), t.modifyHtml(r).setStyle("display", "none"), t.apply(new c("Show horizontal price orientation"))) : (e.forEach((o) => {
|
|
62
|
+
t.modifyHtml(o).setStyle("display", "none");
|
|
63
|
+
}), t.modifyHtml(r).setStyle("display", "table-cell"), t.apply(new c("Show vertical price orientation")));
|
|
66
64
|
}
|
|
67
65
|
_getPriceOrientation() {
|
|
68
66
|
return `
|
|
69
67
|
${this._GuTwoColumns([
|
|
70
68
|
this._GuLabel({ text: "Price Orientation" }),
|
|
71
69
|
this._GuRadioButton({
|
|
72
|
-
name:
|
|
73
|
-
buttons:
|
|
70
|
+
name: n.PRICE_ORIENTATION,
|
|
71
|
+
buttons: m
|
|
74
72
|
})
|
|
75
73
|
])}
|
|
76
74
|
`;
|
|
77
75
|
}
|
|
78
76
|
}
|
|
79
77
|
export {
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
h as CONTROL_BLOCK_ID,
|
|
79
|
+
T as PriceOrientationControl
|
|
82
80
|
};
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
1
|
+
import { ModificationDescription as m, UIElementType as d, UEAttr as S } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { CommonControl as A } from "../../../common-control.js";
|
|
3
|
-
import { ItemsBlockControlId as
|
|
4
|
-
import { productPairs as
|
|
5
|
-
import { getItemsBlockConfig as
|
|
6
|
-
const
|
|
3
|
+
import { ItemsBlockControlId as R, ItemsBlockId as p } from "../../enums/controlEnums.js";
|
|
4
|
+
import { productPairs as g } from "../../enums/productEnums.js";
|
|
5
|
+
import { getItemsBlockConfig as a, setItemsBlockConfig as N, escapeReplacement as h } from "../../utils/nodeConfigUtils.js";
|
|
6
|
+
const f = R.PRICE_SINGLE_PRICE, s = {
|
|
7
7
|
SINGLE_PRICE: "singlePrice"
|
|
8
8
|
};
|
|
9
|
-
class
|
|
9
|
+
class M extends A {
|
|
10
10
|
getId() {
|
|
11
|
-
return
|
|
11
|
+
return f;
|
|
12
12
|
}
|
|
13
13
|
getTemplate() {
|
|
14
14
|
return `
|
|
15
|
-
<div class="container ${
|
|
15
|
+
<div class="container ${R.PRICE_SINGLE_PRICE}">
|
|
16
16
|
${this._getSinglePrice()}
|
|
17
17
|
</div>
|
|
18
18
|
`;
|
|
19
19
|
}
|
|
20
20
|
onRender() {
|
|
21
|
-
const e =
|
|
22
|
-
this.api.updateValues({ [
|
|
23
|
-
this._onSinglePriceChange(
|
|
21
|
+
const e = a(this.currentNode);
|
|
22
|
+
this.api.updateValues({ [s.SINGLE_PRICE]: e?.priceSinglePrice ?? !1 }), this.api.onValueChanged(s.SINGLE_PRICE, (t) => {
|
|
23
|
+
this._onSinglePriceChange(t);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
onTemplateNodeUpdated(e) {
|
|
27
27
|
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
|
|
28
|
-
const
|
|
29
|
-
this.api.updateValues({ [
|
|
28
|
+
const t = a(this.currentNode);
|
|
29
|
+
this.api.updateValues({ [s.SINGLE_PRICE]: t?.priceSinglePrice ?? !1 });
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
_onSinglePriceChange(e) {
|
|
33
33
|
if (console.debug("Single price changed to: ", e), !this.currentNode)
|
|
34
34
|
return;
|
|
35
|
-
const
|
|
36
|
-
r ?
|
|
37
|
-
r ?
|
|
35
|
+
const t = a(this.currentNode), o = t?.type ?? "CART_ITEMS", r = t?.priceFormatted ?? !1, i = g.PAIRS_FOR_EXTENSION.price[o], n = g.PAIRS_FOR_EXTENSION.originalPrice[o], [l, T] = e ? [
|
|
36
|
+
r ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE,
|
|
37
|
+
r ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE
|
|
38
38
|
] : [
|
|
39
|
-
r ?
|
|
40
|
-
r ?
|
|
41
|
-
],
|
|
42
|
-
N(this.currentNode, this.api, { priceSinglePrice: e },
|
|
43
|
-
const
|
|
44
|
-
(
|
|
39
|
+
r ? i.DEFAULT_SINGLE_PRICE_FORMATTED : i.DEFAULT_SINGLE_PRICE,
|
|
40
|
+
r ? i.DEFAULT_PRICE_FORMATTED : i.DEFAULT_PRICE
|
|
41
|
+
], I = r ? n.DEFAULT_PRICE_FORMATTED : n.DEFAULT_PRICE, P = r ? n.DEFAULT_SINGLE_PRICE_FORMATTED : n.DEFAULT_SINGLE_PRICE, [L, C] = e ? [I, P] : [P, I], c = this.api.getDocumentModifier();
|
|
42
|
+
N(this.currentNode, this.api, { priceSinglePrice: e }, c);
|
|
43
|
+
const _ = this.currentNode.closest(".items-block");
|
|
44
|
+
(_?.querySelectorAll(
|
|
45
45
|
`[esd-extension-block-id="${p.PRICE}"]`
|
|
46
|
-
)
|
|
47
|
-
this._updatePriceBlock(
|
|
48
|
-
}), (
|
|
46
|
+
) || []).forEach((E) => {
|
|
47
|
+
this._updatePriceBlock(c, E, l, T, e);
|
|
48
|
+
}), (_?.querySelectorAll(
|
|
49
49
|
`[esd-extension-block-id="${p.ORIGINAL_PRICE}"]`
|
|
50
|
-
)
|
|
51
|
-
this._updatePriceBlock(
|
|
52
|
-
}),
|
|
50
|
+
) || []).forEach((E) => {
|
|
51
|
+
this._updatePriceBlock(c, E, L, C, e);
|
|
52
|
+
}), c.apply(new m(
|
|
53
53
|
`Updated price to ${e ? "single" : "total"} price`
|
|
54
54
|
));
|
|
55
55
|
}
|
|
56
|
-
_updatePriceBlock(e,
|
|
57
|
-
const n = `data-single_price="${
|
|
58
|
-
e.modifyHtml(
|
|
56
|
+
_updatePriceBlock(e, t, o, r, i) {
|
|
57
|
+
const n = `data-single_price="${i ? "true" : "false"}"`, l = t.getInnerHTML().trim().replace(o, h(r)).replace(/data-single_price=(?:"[^"]*"|'[^']*')/g, n);
|
|
58
|
+
e.modifyHtml(t).setInnerHtml(l);
|
|
59
59
|
}
|
|
60
60
|
_getSinglePrice() {
|
|
61
61
|
return `
|
|
62
62
|
<div class="display-flex align-items-center justify-content-between">
|
|
63
63
|
<${d.LABEL}
|
|
64
|
-
${
|
|
64
|
+
${S.LABEL.text}="${this.api.translate("Show Single Product Price")}"
|
|
65
65
|
>
|
|
66
66
|
</${d.LABEL}>
|
|
67
|
-
${this._GuToggle(
|
|
67
|
+
${this._GuToggle(s.SINGLE_PRICE)}
|
|
68
68
|
</div>
|
|
69
69
|
`;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
export {
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
f as CONTROL_BLOCK_ID,
|
|
74
|
+
M as PriceSinglePriceControl
|
|
75
75
|
};
|