@useinsider/guido 1.0.3-beta.dbf4a88 → 1.0.3-beta.ddb7e87
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 +147 -3
- package/dist/components/Guido.vue.js +11 -9
- package/dist/components/Guido.vue2.js +81 -74
- package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
- package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
- package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
- package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
- package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
- package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
- package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
- 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 +21 -20
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
- package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +23 -20
- package/dist/composables/useActionsApi.js +1 -1
- package/dist/composables/useBlocksConfig.js +48 -0
- package/dist/composables/useGuidoActions.js +19 -9
- package/dist/composables/useHtmlCompiler.js +15 -13
- package/dist/composables/useHtmlValidator.js +36 -35
- package/dist/composables/useStripo.js +55 -58
- package/dist/config/compiler/itemsCompilerRules.js +14 -0
- package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
- package/dist/config/migrator/index.js +7 -6
- package/dist/config/migrator/recommendationMigrator.js +293 -0
- package/dist/enums/date.js +6 -0
- package/dist/enums/defaults.js +16 -8
- package/dist/enums/extensions/recommendationBlock.js +80 -0
- package/dist/enums/onboarding.js +7 -2
- package/dist/enums/unsubscribe.js +27 -25
- package/dist/extensions/Blocks/Checkbox/block.js +5 -2
- package/dist/extensions/Blocks/Checkbox/control.js +15 -14
- package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
- package/dist/extensions/Blocks/Checkbox/template.js +14 -9
- package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
- package/dist/extensions/Blocks/Items/block.js +67 -0
- package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -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/price/priceOrientation.js +92 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
- package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
- package/dist/extensions/Blocks/Items/extension.js +20 -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 +62 -0
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +72 -0
- package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
- package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
- package/dist/extensions/Blocks/Items/template.js +195 -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 +76 -0
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
- package/dist/extensions/Blocks/RadioButton/block.js +5 -2
- package/dist/extensions/Blocks/RadioButton/control.js +18 -17
- package/dist/extensions/Blocks/RadioButton/template.js +24 -15
- package/dist/extensions/Blocks/Recommendation/block.js +30 -0
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
- package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
- package/dist/extensions/Blocks/Recommendation/control.js +306 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
- package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
- package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
- package/dist/extensions/Blocks/common-control.js +248 -0
- 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 +357 -94
- package/dist/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/lodash-es/_SetCache.js +13 -0
- package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
- package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
- package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
- package/dist/node_modules/lodash-es/_arraySome.js +9 -0
- package/dist/node_modules/lodash-es/_baseEach.js +6 -0
- package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
- package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
- package/dist/node_modules/lodash-es/_baseGet.js +11 -0
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
- package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
- package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
- package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
- package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
- package/dist/node_modules/lodash-es/_baseMap.js +11 -0
- package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
- package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
- package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
- package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
- package/dist/node_modules/lodash-es/_baseRange.js +9 -0
- package/dist/node_modules/lodash-es/_baseToString.js +18 -0
- package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
- package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_castPath.js +10 -0
- package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
- package/dist/node_modules/lodash-es/_createRange.js +11 -0
- package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
- package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
- package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
- package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
- package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/lodash-es/_getTag.js +28 -0
- package/dist/node_modules/lodash-es/_hasPath.js +19 -0
- package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
- package/dist/node_modules/lodash-es/_isKey.js +12 -0
- package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
- package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
- package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
- package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
- package/dist/node_modules/lodash-es/_toKey.js +10 -0
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
- package/dist/node_modules/lodash-es/flatMap.js +8 -0
- package/dist/node_modules/lodash-es/get.js +8 -0
- package/dist/node_modules/lodash-es/hasIn.js +8 -0
- package/dist/node_modules/lodash-es/isSymbol.js +9 -0
- package/dist/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/lodash-es/keysIn.js +3 -3
- package/dist/node_modules/lodash-es/map.js +11 -0
- package/dist/node_modules/lodash-es/property.js +10 -0
- package/dist/node_modules/lodash-es/range.js +5 -0
- package/dist/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/lodash-es/toFinite.js +14 -0
- package/dist/node_modules/lodash-es/toNumber.js +22 -0
- package/dist/node_modules/lodash-es/toString.js +7 -0
- package/dist/package.json.js +1 -1
- package/dist/services/recommendationApi.js +37 -0
- package/dist/services/stripoApi.js +1 -1
- package/dist/src/@types/generic.d.ts +44 -4
- package/dist/src/components/Guido.vue.d.ts +4 -2
- package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
- package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +2 -0
- package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +2 -0
- package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
- package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
- package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
- package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
- 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/config/compiler/itemsCompilerRules.d.ts +2 -0
- package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
- package/dist/src/enums/date.d.ts +4 -0
- package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
- package/dist/src/enums/onboarding.d.ts +5 -0
- package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -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/price/priceOrientation.d.ts +15 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -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 +43 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +24 -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 +50 -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/RadioButton/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +2 -0
- package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
- package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +4 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
- package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +3 -4
- package/dist/src/extensions/Blocks/common-control.d.ts +124 -0
- 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/mock/api/recommendation.d.ts +2 -0
- package/dist/src/services/recommendationApi.d.ts +6 -0
- package/dist/src/stores/config.d.ts +10 -2
- package/dist/src/stores/dynamic-content.d.ts +3 -3
- package/dist/src/stores/editor.d.ts +22 -1
- package/dist/src/stores/onboarding.d.ts +335 -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/dateUtil.d.ts +21 -0
- package/dist/src/utils/environmentUtil.d.ts +5 -0
- package/dist/src/utils/genericUtil.d.ts +2 -0
- package/dist/src/utils/pairProductVariables.d.ts +7 -0
- package/dist/static/styles/components/narrow-panel.css.js +10 -0
- package/dist/static/styles/customEditorStyle.css.js +5 -0
- package/dist/stores/config.js +5 -5
- package/dist/stores/dynamic-content.js +2 -2
- package/dist/stores/editor.js +3 -2
- package/dist/stores/onboarding.js +44 -36
- 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/dateUtil.js +24 -3
- package/dist/utils/environmentUtil.js +4 -0
- package/dist/utils/genericUtil.js +17 -6
- package/dist/utils/pairProductVariables.js +136 -0
- package/package.json +7 -5
|
@@ -0,0 +1,20 @@
|
|
|
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 r, QuantityControls as n, OriginalPriceControls as t, 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 { PriceOrientationControl as y } from "./controls/price/priceOrientation.js";
|
|
13
|
+
import { ItemsBlockControl as u } from "./controls/settingsControl.js";
|
|
14
|
+
import { ItemsIconsRegistry as P } from "./iconsRegistry.js";
|
|
15
|
+
import k from "./items.css.js";
|
|
16
|
+
import { SettingsPanel as I } from "./settingsPanel.js";
|
|
17
|
+
const H = new a().addBlock(i).withSettingsPanelRegistry(I).addControl(u).addControl(e).addControl(r.align).addControl(r.color).addControl(r.size).addControl(r.style).addControl(r.fontFamily).addControl(r.background).addControl(r.paddings).addControl(s).addControl(n.align).addControl(n.color).addControl(n.fontFamily).addControl(n.paddings).addControl(n.size).addControl(n.style).addControl(t.align).addControl(t.color).addControl(t.size).addControl(t.style).addControl(t.fontFamily).addControl(t.background).addControl(t.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(y).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(P).build();
|
|
18
|
+
export {
|
|
19
|
+
H as default
|
|
20
|
+
};
|
|
@@ -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,62 @@
|
|
|
1
|
+
const t = `{-{-TEMPLATE_FIRST_LINE-}-}
|
|
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;" class="product-price-class">
|
|
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
|
+
class="product-original-price-class">
|
|
28
|
+
<table width="100%">
|
|
29
|
+
<tbody>
|
|
30
|
+
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
31
|
+
</tbody>
|
|
32
|
+
</table>
|
|
33
|
+
</td>
|
|
34
|
+
</tr>
|
|
35
|
+
<tr>
|
|
36
|
+
<td width="100%" class="product-quantity-class" data-slot-3>
|
|
37
|
+
<table width="100%">
|
|
38
|
+
<tbody>
|
|
39
|
+
{-{-PRODUCT_QUANTITY-}-}
|
|
40
|
+
</tbody>
|
|
41
|
+
</table>
|
|
42
|
+
</td>
|
|
43
|
+
</tr>
|
|
44
|
+
<tr>
|
|
45
|
+
<td width="100%" class="product-button-class" data-slot-6>
|
|
46
|
+
<table width="100%">
|
|
47
|
+
<tbody>
|
|
48
|
+
{-{-PRODUCT_BUTTON-}-}
|
|
49
|
+
</tbody>
|
|
50
|
+
</table>
|
|
51
|
+
</td>
|
|
52
|
+
</tr>
|
|
53
|
+
</table>
|
|
54
|
+
</td>
|
|
55
|
+
</tr>
|
|
56
|
+
</tbody>
|
|
57
|
+
</table>
|
|
58
|
+
</td>
|
|
59
|
+
`;
|
|
60
|
+
export {
|
|
61
|
+
t as default
|
|
62
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const t = `{-{-TEMPLATE_FIRST_LINE-}-}
|
|
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" width="100%">
|
|
8
|
+
<tbody>
|
|
9
|
+
<tr>
|
|
10
|
+
<td class="product-image-class" data-slot-1>
|
|
11
|
+
{-{-PRODUCT_IMAGE-}-}
|
|
12
|
+
</td>
|
|
13
|
+
<td class="product-name-class" data-slot-2>
|
|
14
|
+
<table>
|
|
15
|
+
<tbody>
|
|
16
|
+
{-{-PRODUCT_NAME-}-}
|
|
17
|
+
</tbody>
|
|
18
|
+
</table>
|
|
19
|
+
</td>
|
|
20
|
+
<td class="product-quantity-class" data-slot-3>
|
|
21
|
+
<table width="100%">
|
|
22
|
+
<tbody>
|
|
23
|
+
{-{-PRODUCT_QUANTITY-}-}
|
|
24
|
+
</tbody>
|
|
25
|
+
</table>
|
|
26
|
+
</td>
|
|
27
|
+
<td class="product-price-class horizontal-price" data-slot-4>
|
|
28
|
+
<table width="100%">
|
|
29
|
+
<tbody>
|
|
30
|
+
{-{-PRODUCT_PRICE-}-}
|
|
31
|
+
</tbody>
|
|
32
|
+
</table>
|
|
33
|
+
</td>
|
|
34
|
+
<td class="product-original-price-class horizontal-price" data-slot-5>
|
|
35
|
+
<table width="100%">
|
|
36
|
+
<tbody>
|
|
37
|
+
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
38
|
+
</tbody>
|
|
39
|
+
</table>
|
|
40
|
+
</td>
|
|
41
|
+
<td class="product-price-container vertical-price" data-slot-4 style="display: none;">
|
|
42
|
+
<table class="product-price-class" width="100%" data-slot-4>
|
|
43
|
+
<tbody>
|
|
44
|
+
{-{-PRODUCT_PRICE-}-}
|
|
45
|
+
</tbody>
|
|
46
|
+
</table>
|
|
47
|
+
<table class="product-original-price-class product-original-price-container"
|
|
48
|
+
width="100%" data-slot-5>
|
|
49
|
+
<tbody>
|
|
50
|
+
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
51
|
+
</tbody>
|
|
52
|
+
</table>
|
|
53
|
+
</td>
|
|
54
|
+
<td class="product-button-class" data-slot-6>
|
|
55
|
+
<table width="100%">
|
|
56
|
+
<tbody>
|
|
57
|
+
{-{-PRODUCT_BUTTON-}-}
|
|
58
|
+
</tbody>
|
|
59
|
+
</table>
|
|
60
|
+
</td>
|
|
61
|
+
</tr>
|
|
62
|
+
</tbody>
|
|
63
|
+
</table>
|
|
64
|
+
</td>
|
|
65
|
+
</tr>
|
|
66
|
+
</tbody>
|
|
67
|
+
</table>
|
|
68
|
+
</td>
|
|
69
|
+
`;
|
|
70
|
+
export {
|
|
71
|
+
t as default
|
|
72
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { SettingsPanelRegistry as O, SettingsPanelTab as T, SettingsTab as N } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { BLOCK_ID as R } from "./block.js";
|
|
3
|
+
import { COMPOSITION_CONTROL_BLOCK_ID as S } from "./controls/cardComposition.js";
|
|
4
|
+
import { CONTROL_BLOCK_ID as A } from "./controls/settingsControl.js";
|
|
5
|
+
import { ItemsBlockId as E, ItemsBlockControlId as I } from "./enums/controlEnums.js";
|
|
6
|
+
class U extends O {
|
|
7
|
+
registerBlockControls(_) {
|
|
8
|
+
_[R] = [
|
|
9
|
+
new T(
|
|
10
|
+
N.SETTINGS,
|
|
11
|
+
[
|
|
12
|
+
A
|
|
13
|
+
]
|
|
14
|
+
),
|
|
15
|
+
new T(
|
|
16
|
+
"Card Composition",
|
|
17
|
+
[
|
|
18
|
+
S
|
|
19
|
+
]
|
|
20
|
+
).withLabel("Card Composition")
|
|
21
|
+
], _[E.ORIGINAL_PRICE] = [
|
|
22
|
+
new T(
|
|
23
|
+
N.SETTINGS,
|
|
24
|
+
[
|
|
25
|
+
I.ORIGINAL_PRICE_STYLE,
|
|
26
|
+
I.ORIGINAL_PRICE_ALIGN,
|
|
27
|
+
I.ORIGINAL_PRICE_PADDINGS
|
|
28
|
+
]
|
|
29
|
+
),
|
|
30
|
+
new T(
|
|
31
|
+
N.STYLES,
|
|
32
|
+
[
|
|
33
|
+
I.ORIGINAL_PRICE_COLOR,
|
|
34
|
+
I.ORIGINAL_PRICE_FONT_FAMILY,
|
|
35
|
+
I.ORIGINAL_PRICE_SIZE
|
|
36
|
+
]
|
|
37
|
+
)
|
|
38
|
+
], _[E.PRICE] = [
|
|
39
|
+
new T(
|
|
40
|
+
N.SETTINGS,
|
|
41
|
+
[
|
|
42
|
+
I.PRICE_STYLE,
|
|
43
|
+
I.PRICE_ALIGN,
|
|
44
|
+
I.PRICE_HIDE_DISCOUNT,
|
|
45
|
+
I.PRICE_FORMATTED_PRICE,
|
|
46
|
+
I.PRICE_CURRENCY_SYMBOL,
|
|
47
|
+
I.PRICE_CURRENCY_LOCATION,
|
|
48
|
+
I.PRICE_ORIENTATION,
|
|
49
|
+
I.PRICE_PADDINGS
|
|
50
|
+
]
|
|
51
|
+
),
|
|
52
|
+
new T(
|
|
53
|
+
N.STYLES,
|
|
54
|
+
[
|
|
55
|
+
I.PRICE_COLOR,
|
|
56
|
+
I.PRICE_FONT_FAMILY,
|
|
57
|
+
I.PRICE_SIZE
|
|
58
|
+
]
|
|
59
|
+
)
|
|
60
|
+
], _[E.NAME] = [
|
|
61
|
+
new T(
|
|
62
|
+
N.SETTINGS,
|
|
63
|
+
[
|
|
64
|
+
I.NAME_STYLE,
|
|
65
|
+
I.NAME_ALIGN,
|
|
66
|
+
I.NAME_TRIMMING,
|
|
67
|
+
I.NAME_PADDINGS
|
|
68
|
+
]
|
|
69
|
+
),
|
|
70
|
+
new T(
|
|
71
|
+
N.STYLES,
|
|
72
|
+
[
|
|
73
|
+
I.NAME_FONT_FAMILY,
|
|
74
|
+
I.NAME_SIZE,
|
|
75
|
+
I.NAME_COLOR
|
|
76
|
+
]
|
|
77
|
+
)
|
|
78
|
+
], _[E.QUANTITY] = [
|
|
79
|
+
new T(
|
|
80
|
+
N.SETTINGS,
|
|
81
|
+
[
|
|
82
|
+
I.QUANTITY_FONT_FAMILY,
|
|
83
|
+
I.QUANTITY_STYLE
|
|
84
|
+
]
|
|
85
|
+
),
|
|
86
|
+
new T(
|
|
87
|
+
N.STYLES,
|
|
88
|
+
[
|
|
89
|
+
I.QUANTITY_ALIGN,
|
|
90
|
+
I.QUANTITY_SIZE,
|
|
91
|
+
I.QUANTITY_COLOR,
|
|
92
|
+
I.QUANTITY_PADDINGS
|
|
93
|
+
]
|
|
94
|
+
)
|
|
95
|
+
], _[E.IMAGE] = [
|
|
96
|
+
new T(
|
|
97
|
+
N.SETTINGS,
|
|
98
|
+
[
|
|
99
|
+
I.IMAGE_LINK,
|
|
100
|
+
I.IMAGE_SIZE,
|
|
101
|
+
I.IMAGE_MARGINS
|
|
102
|
+
]
|
|
103
|
+
)
|
|
104
|
+
], _[E.BUTTON] = [
|
|
105
|
+
new T(
|
|
106
|
+
N.SETTINGS,
|
|
107
|
+
[
|
|
108
|
+
I.BUTTON_LINK,
|
|
109
|
+
I.BUTTON_TEXT,
|
|
110
|
+
I.BUTTON_ALIGN,
|
|
111
|
+
I.BUTTON_PADDINGS,
|
|
112
|
+
I.BUTTON_MARGINS
|
|
113
|
+
]
|
|
114
|
+
),
|
|
115
|
+
new T(
|
|
116
|
+
N.STYLES,
|
|
117
|
+
[
|
|
118
|
+
I.BUTTON_COLOR,
|
|
119
|
+
I.BUTTON_FONT_FAMILY,
|
|
120
|
+
I.BUTTON_TEXT_SIZE,
|
|
121
|
+
I.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
|
|
122
|
+
I.BUTTON_FIT_TO_CONTENT,
|
|
123
|
+
I.BUTTON_BORDER_RADIUS,
|
|
124
|
+
I.BUTTON_BORDER
|
|
125
|
+
]
|
|
126
|
+
)
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export {
|
|
131
|
+
U as SettingsPanel
|
|
132
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { defineStore as r } 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: !0,
|
|
12
|
+
hideDiscount: !1,
|
|
13
|
+
currencySymbol: "USD",
|
|
14
|
+
currencyLocation: "0",
|
|
15
|
+
formattedPrice: !0,
|
|
16
|
+
priceOrientation: "horizontal",
|
|
17
|
+
templateData: {
|
|
18
|
+
imageSrc: "",
|
|
19
|
+
name: "",
|
|
20
|
+
price: "",
|
|
21
|
+
originalPrice: "",
|
|
22
|
+
quantity: "",
|
|
23
|
+
button: ""
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}, m = r("guidoItemsBlock", {
|
|
27
|
+
state: () => i(),
|
|
28
|
+
actions: {
|
|
29
|
+
setItemsType(t) {
|
|
30
|
+
this.itemsType = t;
|
|
31
|
+
},
|
|
32
|
+
setItemIds(t) {
|
|
33
|
+
this.itemIds = t, this.imageLink = n(t), this.buttonLink = o(t);
|
|
34
|
+
},
|
|
35
|
+
setImageLink(t) {
|
|
36
|
+
this.imageLink = t;
|
|
37
|
+
},
|
|
38
|
+
setButtonLink(t) {
|
|
39
|
+
this.buttonLink = t;
|
|
40
|
+
},
|
|
41
|
+
setOrientation(t) {
|
|
42
|
+
this.orientation = t;
|
|
43
|
+
},
|
|
44
|
+
setNameTrimming(t) {
|
|
45
|
+
this.nameTrimming = t;
|
|
46
|
+
},
|
|
47
|
+
setHideDiscount(t) {
|
|
48
|
+
this.hideDiscount = t;
|
|
49
|
+
},
|
|
50
|
+
setCurrencySymbol(t) {
|
|
51
|
+
this.currencySymbol = t;
|
|
52
|
+
},
|
|
53
|
+
setCurrencyLocation(t) {
|
|
54
|
+
this.currencyLocation = t;
|
|
55
|
+
},
|
|
56
|
+
setFormattedPrice(t) {
|
|
57
|
+
this.formattedPrice = t;
|
|
58
|
+
},
|
|
59
|
+
setPriceOrientation(t) {
|
|
60
|
+
this.priceOrientation = t;
|
|
61
|
+
},
|
|
62
|
+
setTemplateData(t) {
|
|
63
|
+
this.templateData = t;
|
|
64
|
+
},
|
|
65
|
+
updateFromAttributes(t) {
|
|
66
|
+
t.itemsType && (this.itemsType = t.itemsType), t.itemIds && this.setItemIds(t.itemIds), t.orientation && (this.orientation = t.orientation);
|
|
67
|
+
},
|
|
68
|
+
reset() {
|
|
69
|
+
Object.assign(this, i());
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
export {
|
|
74
|
+
m as useItemsBlockStore
|
|
75
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { BlockType as l, BlockAttr as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { ItemsBlockId as T } from "./enums/controlEnums.js";
|
|
3
|
+
import { productPairs as i, templateFirstLine as N } from "./enums/productEnums.js";
|
|
4
|
+
import { ItemInCartOptions as f, SETTINGS_ENUMS as O, DefaultConfigValues as P } from "./enums/settingsEnums.js";
|
|
5
|
+
import B from "./layouts/horizontal.html.js";
|
|
6
|
+
import g from "./layouts/vertical.html.js";
|
|
7
|
+
let [C] = i.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = i.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [p] = i.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [I] = i.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [u] = i.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
|
|
8
|
+
const h = (a, t) => `
|
|
9
|
+
<${l.BLOCK_IMAGE}
|
|
10
|
+
${_.BLOCK_IMAGE.src}="${C}"
|
|
11
|
+
${_.BLOCK_IMAGE.alt}="${A}"
|
|
12
|
+
${_.BLOCK_IMAGE.href}="#!"
|
|
13
|
+
${_.BLOCK_IMAGE.width}=${P.productImageWidth}
|
|
14
|
+
esd-extension-block-id="${T.IMAGE}"
|
|
15
|
+
data-slot-1
|
|
16
|
+
product-attr="imageSrc"
|
|
17
|
+
data-type="${a}"
|
|
18
|
+
data-number="${t}"
|
|
19
|
+
/>
|
|
20
|
+
`, F = (a) => `
|
|
21
|
+
<${l.BLOCK_TEXT}
|
|
22
|
+
width="100%"
|
|
23
|
+
align="center"
|
|
24
|
+
class="es-p10"
|
|
25
|
+
data-type="${a}"
|
|
26
|
+
esd-extension-block-id="${T.NAME}"
|
|
27
|
+
>
|
|
28
|
+
<p contenteditable="false">
|
|
29
|
+
<a
|
|
30
|
+
href="#!"
|
|
31
|
+
style="
|
|
32
|
+
text-decoration:none;
|
|
33
|
+
font-size: inherit;
|
|
34
|
+
font-weight: inherit;
|
|
35
|
+
line-height: inherit;
|
|
36
|
+
font-family: inherit;
|
|
37
|
+
color: inherit;
|
|
38
|
+
display: block;
|
|
39
|
+
word-wrap:break-word;
|
|
40
|
+
white-space: nowrap;
|
|
41
|
+
width: 520px;
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
text-overflow: ellipsis;
|
|
44
|
+
"
|
|
45
|
+
product-attr="name"
|
|
46
|
+
data-slot-2
|
|
47
|
+
width="100%">
|
|
48
|
+
${A}
|
|
49
|
+
</a>
|
|
50
|
+
</p>
|
|
51
|
+
</${l.BLOCK_TEXT}>
|
|
52
|
+
`, S = (a, t, o, e, c) => {
|
|
53
|
+
let n = p;
|
|
54
|
+
if (e && e.trim()) {
|
|
55
|
+
const E = ` ${e.trim()} `;
|
|
56
|
+
n = (c || "0") === "1" ? `${p}${E}` : `${E}${p}`;
|
|
57
|
+
}
|
|
58
|
+
const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
|
|
59
|
+
return `
|
|
60
|
+
<${l.BLOCK_TEXT}
|
|
61
|
+
esd-extension-block-id="${T.PRICE}"
|
|
62
|
+
class="items-block-price"
|
|
63
|
+
width="100%"
|
|
64
|
+
align="center"
|
|
65
|
+
>
|
|
66
|
+
<p
|
|
67
|
+
product-attr="price"
|
|
68
|
+
contenteditable="false"
|
|
69
|
+
data-slot-4
|
|
70
|
+
data-type="${a}"
|
|
71
|
+
data-number="${t}"
|
|
72
|
+
${d}
|
|
73
|
+
${s}
|
|
74
|
+
${e ? `data-currency_symbol="${e}"` : ""}
|
|
75
|
+
>
|
|
76
|
+
${n}
|
|
77
|
+
</p>
|
|
78
|
+
</${l.BLOCK_TEXT}>
|
|
79
|
+
`;
|
|
80
|
+
}, L = (a, t, o, e, c) => {
|
|
81
|
+
let n = I;
|
|
82
|
+
if (e && e.trim()) {
|
|
83
|
+
const E = ` ${e.trim()} `;
|
|
84
|
+
n = (c || "0") === "1" ? `${I}${E}` : `${E}${I}`;
|
|
85
|
+
}
|
|
86
|
+
const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
|
|
87
|
+
return `
|
|
88
|
+
<${l.BLOCK_TEXT}
|
|
89
|
+
class="items-block-price"
|
|
90
|
+
esd-extension-block-id="${T.ORIGINAL_PRICE}"
|
|
91
|
+
width="100%"
|
|
92
|
+
align="center"
|
|
93
|
+
>
|
|
94
|
+
<p
|
|
95
|
+
product-attr="originalPrice"
|
|
96
|
+
contenteditable="false"
|
|
97
|
+
data-slot-5
|
|
98
|
+
style="color: #cc0000"
|
|
99
|
+
data-type="${a}"
|
|
100
|
+
data-number="${t}"
|
|
101
|
+
${d}
|
|
102
|
+
${s}
|
|
103
|
+
${e ? `data-currency_symbol="${e}"` : ""}
|
|
104
|
+
>
|
|
105
|
+
<s>${n}</s>
|
|
106
|
+
</p>
|
|
107
|
+
</${l.BLOCK_TEXT}>
|
|
108
|
+
`;
|
|
109
|
+
}, b = () => `
|
|
110
|
+
<${l.BLOCK_TEXT}
|
|
111
|
+
width="100%"
|
|
112
|
+
align="center"
|
|
113
|
+
class="es-p10"
|
|
114
|
+
esd-extension-block-id="${T.QUANTITY}"
|
|
115
|
+
>
|
|
116
|
+
<p
|
|
117
|
+
product-attr="quantity"
|
|
118
|
+
data-slot-3
|
|
119
|
+
contenteditable="false"
|
|
120
|
+
width="100%">
|
|
121
|
+
${u}
|
|
122
|
+
</p>
|
|
123
|
+
</${l.BLOCK_TEXT}>
|
|
124
|
+
`, U = (a, t) => `
|
|
125
|
+
<${l.BLOCK_BUTTON}
|
|
126
|
+
width="100%"
|
|
127
|
+
class="ins-button"
|
|
128
|
+
name="buy-button"
|
|
129
|
+
caption="Buy"
|
|
130
|
+
align="center"
|
|
131
|
+
esd-extension-block-id="${T.BUTTON}"
|
|
132
|
+
product-attr="button"
|
|
133
|
+
data-slot-6
|
|
134
|
+
data-type="${a}"
|
|
135
|
+
data-number="${t}"
|
|
136
|
+
>Buy
|
|
137
|
+
</${l.BLOCK_BUTTON}>
|
|
138
|
+
`, D = () => `
|
|
139
|
+
<esd-config-block style="display: none;"></esd-config-block>
|
|
140
|
+
`, R = (a, t, o, e, c, n, r, d) => {
|
|
141
|
+
const $ = `${`data-type="${t}" data-number="${o}"`} data-orientation="${e}"`;
|
|
142
|
+
return a.replace(
|
|
143
|
+
/<td([^>]*class="[^"]*ins-product-td[^"]*"[^>]*)>/,
|
|
144
|
+
`<td$1 ${$}>`
|
|
145
|
+
).replace("{-{-TEMPLATE_FIRST_LINE-}-}", N).replace("{-{-PRODUCT_IMAGE-}-}", h(t, o)).replace("{-{-PRODUCT_NAME-}-}", F(t)).replaceAll(
|
|
146
|
+
"{-{-PRODUCT_PRICE-}-}",
|
|
147
|
+
S(t, o, c, n, r)
|
|
148
|
+
).replaceAll(
|
|
149
|
+
"{-{-PRODUCT_ORIGINAL_PRICE-}-}",
|
|
150
|
+
L(
|
|
151
|
+
t,
|
|
152
|
+
o,
|
|
153
|
+
c,
|
|
154
|
+
n,
|
|
155
|
+
r
|
|
156
|
+
)
|
|
157
|
+
).replace("{-{-PRODUCT_QUANTITY-}-}", b()).replace("{-{-PRODUCT_BUTTON-}-}", U(t, o)).replace("{-{-CONFIG_BLOCK-}-}", D());
|
|
158
|
+
};
|
|
159
|
+
function G({
|
|
160
|
+
orientation: a,
|
|
161
|
+
itemsType: t = O.ITEMS_TYPE.CART_ITEMS,
|
|
162
|
+
itemId: o,
|
|
163
|
+
currencySymbol: e,
|
|
164
|
+
currencyLocation: c,
|
|
165
|
+
formattedPrice: n = !0
|
|
166
|
+
}) {
|
|
167
|
+
const r = f[t].findIndex((s) => s.value === o);
|
|
168
|
+
let d = "1";
|
|
169
|
+
if (r >= 0)
|
|
170
|
+
d = String(r + 1);
|
|
171
|
+
else if (o) {
|
|
172
|
+
const s = o.match(/\((\d+)\)/);
|
|
173
|
+
s && s[1] && ([, d] = s);
|
|
174
|
+
}
|
|
175
|
+
return C = i.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[r >= 0 ? r : 0], A = i.PAIRS_FOR_EXTENSION.name[t].DEFAULT[r >= 0 ? r : 0], p = n ? i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, I = n ? i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, u = i.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT, a === O.ORIENTATION.VERTICAL ? R(
|
|
176
|
+
g,
|
|
177
|
+
t,
|
|
178
|
+
d,
|
|
179
|
+
a,
|
|
180
|
+
n,
|
|
181
|
+
e,
|
|
182
|
+
c
|
|
183
|
+
) : R(
|
|
184
|
+
B,
|
|
185
|
+
t,
|
|
186
|
+
d,
|
|
187
|
+
a,
|
|
188
|
+
n,
|
|
189
|
+
e,
|
|
190
|
+
c
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
export {
|
|
194
|
+
G as getDefaultTemplate
|
|
195
|
+
};
|
|
@@ -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
|
+
};
|