@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.
Files changed (325) hide show
  1. package/README.md +147 -3
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +81 -74
  4. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  8. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  10. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  11. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  12. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  13. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  14. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  15. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  16. package/dist/components/organisms/header/RightSlot.vue2.js +21 -20
  17. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  18. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  19. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  20. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  21. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  22. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +23 -20
  23. package/dist/composables/useActionsApi.js +1 -1
  24. package/dist/composables/useBlocksConfig.js +48 -0
  25. package/dist/composables/useGuidoActions.js +19 -9
  26. package/dist/composables/useHtmlCompiler.js +15 -13
  27. package/dist/composables/useHtmlValidator.js +36 -35
  28. package/dist/composables/useStripo.js +55 -58
  29. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  30. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  31. package/dist/config/migrator/index.js +7 -6
  32. package/dist/config/migrator/recommendationMigrator.js +293 -0
  33. package/dist/enums/date.js +6 -0
  34. package/dist/enums/defaults.js +16 -8
  35. package/dist/enums/extensions/recommendationBlock.js +80 -0
  36. package/dist/enums/onboarding.js +7 -2
  37. package/dist/enums/unsubscribe.js +27 -25
  38. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  39. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  40. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  41. package/dist/extensions/Blocks/Checkbox/template.js +14 -9
  42. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  43. package/dist/extensions/Blocks/Items/block.js +67 -0
  44. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  45. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  46. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  47. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  48. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  49. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  50. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  51. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  52. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  53. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +92 -0
  54. package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
  55. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  56. package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
  57. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
  58. package/dist/extensions/Blocks/Items/extension.js +20 -0
  59. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  60. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  61. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  62. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +72 -0
  63. package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
  64. package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
  65. package/dist/extensions/Blocks/Items/template.js +195 -0
  66. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  67. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  68. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  69. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  70. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  71. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  72. package/dist/extensions/Blocks/RadioButton/template.js +24 -15
  73. package/dist/extensions/Blocks/Recommendation/block.js +30 -0
  74. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  75. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  76. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  84. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  85. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  86. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  87. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  88. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  89. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  90. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  91. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  92. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  93. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  94. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  95. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  96. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  97. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  98. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  99. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  100. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  101. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  102. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  103. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  104. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  105. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  106. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  107. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  108. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  109. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  110. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  111. package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
  112. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  113. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  114. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
  115. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  116. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  117. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  118. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  119. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  120. package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
  121. package/dist/extensions/Blocks/common-control.js +248 -0
  122. package/dist/extensions/Blocks/controlFactories.js +223 -0
  123. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  124. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  125. package/dist/guido.css +1 -1
  126. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +357 -94
  127. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  128. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  129. package/dist/node_modules/lodash-es/_Set.js +6 -0
  130. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  131. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  132. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  133. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  134. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  135. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  136. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  137. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  138. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  139. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  140. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  141. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  142. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  143. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  144. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  145. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  146. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  147. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  148. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  149. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  150. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  151. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  152. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  153. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  154. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  155. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  156. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  157. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  158. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  159. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  160. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  161. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  162. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  163. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  164. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  165. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  166. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  167. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  168. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  169. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  170. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  171. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  172. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  173. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  174. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  175. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  176. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  177. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  178. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  179. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  180. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  181. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  182. package/dist/node_modules/lodash-es/get.js +8 -0
  183. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  184. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  185. package/dist/node_modules/lodash-es/keys.js +9 -0
  186. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  187. package/dist/node_modules/lodash-es/map.js +11 -0
  188. package/dist/node_modules/lodash-es/property.js +10 -0
  189. package/dist/node_modules/lodash-es/range.js +5 -0
  190. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  191. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  192. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  193. package/dist/node_modules/lodash-es/toString.js +7 -0
  194. package/dist/package.json.js +1 -1
  195. package/dist/services/recommendationApi.js +37 -0
  196. package/dist/services/stripoApi.js +1 -1
  197. package/dist/src/@types/generic.d.ts +44 -4
  198. package/dist/src/components/Guido.vue.d.ts +4 -2
  199. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  200. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +2 -0
  201. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +2 -0
  202. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  203. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
  204. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  205. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  206. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  207. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  208. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  209. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  210. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  211. package/dist/src/enums/date.d.ts +4 -0
  212. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  213. package/dist/src/enums/onboarding.d.ts +5 -0
  214. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
  215. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  216. package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
  217. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  218. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  219. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  220. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  221. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  222. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  223. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  224. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  225. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  226. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +15 -0
  227. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
  228. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
  229. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
  230. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -0
  231. package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
  232. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  233. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
  234. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +43 -0
  235. package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
  236. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  237. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  238. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  239. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  240. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
  241. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  242. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
  243. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  244. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  245. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  246. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  247. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  248. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  249. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  250. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  251. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  252. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  253. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  254. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  255. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  256. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  257. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  258. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  259. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  260. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  261. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  262. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  263. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  264. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  265. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  266. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  267. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  268. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  269. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  270. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  271. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  272. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  273. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  274. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  275. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  276. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  277. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  278. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  279. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  280. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +2 -0
  281. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  282. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +4 -0
  283. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  284. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  285. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  286. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  287. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  288. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +3 -4
  289. package/dist/src/extensions/Blocks/common-control.d.ts +124 -0
  290. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  291. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  292. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  293. package/dist/src/mock/api/recommendation.d.ts +2 -0
  294. package/dist/src/services/recommendationApi.d.ts +6 -0
  295. package/dist/src/stores/config.d.ts +10 -2
  296. package/dist/src/stores/dynamic-content.d.ts +3 -3
  297. package/dist/src/stores/editor.d.ts +22 -1
  298. package/dist/src/stores/onboarding.d.ts +335 -1
  299. package/dist/src/stores/preview.d.ts +1 -1
  300. package/dist/src/stores/recommendation.d.ts +1 -1
  301. package/dist/src/stores/save-as-template.d.ts +1 -1
  302. package/dist/src/stores/toaster.d.ts +1 -1
  303. package/dist/src/stores/unsubscribe.d.ts +1 -1
  304. package/dist/src/stores/version-history.d.ts +1 -1
  305. package/dist/src/utils/dateUtil.d.ts +21 -0
  306. package/dist/src/utils/environmentUtil.d.ts +5 -0
  307. package/dist/src/utils/genericUtil.d.ts +2 -0
  308. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  309. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  310. package/dist/static/styles/customEditorStyle.css.js +5 -0
  311. package/dist/stores/config.js +5 -5
  312. package/dist/stores/dynamic-content.js +2 -2
  313. package/dist/stores/editor.js +3 -2
  314. package/dist/stores/onboarding.js +44 -36
  315. package/dist/stores/preview.js +1 -1
  316. package/dist/stores/recommendation.js +3 -3
  317. package/dist/stores/save-as-template.js +2 -2
  318. package/dist/stores/toaster.js +1 -1
  319. package/dist/stores/unsubscribe.js +1 -1
  320. package/dist/stores/version-history.js +4 -4
  321. package/dist/utils/dateUtil.js +24 -3
  322. package/dist/utils/environmentUtil.js +4 -0
  323. package/dist/utils/genericUtil.js +17 -6
  324. package/dist/utils/pairProductVariables.js +136 -0
  325. 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 = `&nbsp;${e.trim()}&nbsp;`;
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 = `&nbsp;${e.trim()}&nbsp;`;
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
+ };