@useinsider/guido 1.0.3-beta.cc03cd5 → 1.0.3-beta.cd0d7f3

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 (315) hide show
  1. package/README.md +176 -3
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +81 -74
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  11. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  12. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  13. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  14. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  15. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  16. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  17. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  18. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  19. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  20. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  21. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +23 -20
  22. package/dist/composables/useActionsApi.js +1 -1
  23. package/dist/composables/useBlocksConfig.js +48 -0
  24. package/dist/composables/useGuidoActions.js +19 -9
  25. package/dist/composables/useHtmlCompiler.js +15 -13
  26. package/dist/composables/useHtmlValidator.js +36 -35
  27. package/dist/composables/useStripo.js +49 -56
  28. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  29. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  30. package/dist/config/migrator/index.js +7 -6
  31. package/dist/config/migrator/recommendationMigrator.js +293 -0
  32. package/dist/enums/date.js +6 -0
  33. package/dist/enums/defaults.js +16 -8
  34. package/dist/enums/extensions/recommendationBlock.js +80 -0
  35. package/dist/enums/onboarding.js +7 -2
  36. package/dist/enums/unsubscribe.js +27 -25
  37. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  38. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  39. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  40. package/dist/extensions/Blocks/Items/block.js +66 -0
  41. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  42. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  43. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  44. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  45. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  46. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  47. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  48. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  49. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  50. package/dist/extensions/Blocks/Items/controls/settingsControl.js +309 -0
  51. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  52. package/dist/extensions/Blocks/Items/enums/productEnums.js +272 -0
  53. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +76 -0
  54. package/dist/extensions/Blocks/Items/extension.js +19 -0
  55. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  56. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  57. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  58. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +61 -0
  59. package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
  60. package/dist/extensions/Blocks/Items/store/items-block.js +71 -0
  61. package/dist/extensions/Blocks/Items/template.js +194 -0
  62. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  63. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  64. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +67 -0
  65. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +44 -0
  66. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  67. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  68. package/dist/extensions/Blocks/Recommendation/block.js +30 -0
  69. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  70. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  71. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  84. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  85. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  86. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  87. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  88. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  89. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  90. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  91. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  92. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  93. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  94. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  95. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  96. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  97. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  98. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  99. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  100. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  101. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  102. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  103. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  104. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  105. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  106. package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
  107. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  108. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  109. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
  110. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  111. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  112. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  113. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  114. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  115. package/dist/extensions/Blocks/common-control.js +248 -0
  116. package/dist/extensions/Blocks/controlFactories.js +223 -0
  117. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  118. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  119. package/dist/guido.css +1 -1
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +357 -94
  121. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  122. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  123. package/dist/node_modules/lodash-es/_Set.js +6 -0
  124. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  125. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  126. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  127. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  128. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  129. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  130. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  131. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  132. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  133. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  134. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  135. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  136. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  137. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  138. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  139. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  140. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  141. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  142. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  143. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  144. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  145. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  146. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  147. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  148. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  149. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  150. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  151. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  152. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  153. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  154. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  155. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  156. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  157. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  158. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  159. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  160. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  161. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  162. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  163. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  164. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  165. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  166. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  167. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  168. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  169. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  170. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  171. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  172. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  173. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  174. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  175. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  176. package/dist/node_modules/lodash-es/get.js +8 -0
  177. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  178. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  179. package/dist/node_modules/lodash-es/keys.js +9 -0
  180. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  181. package/dist/node_modules/lodash-es/map.js +11 -0
  182. package/dist/node_modules/lodash-es/property.js +10 -0
  183. package/dist/node_modules/lodash-es/range.js +5 -0
  184. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  185. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  186. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  187. package/dist/node_modules/lodash-es/toString.js +7 -0
  188. package/dist/package.json.js +1 -1
  189. package/dist/services/recommendationApi.js +37 -0
  190. package/dist/services/stripoApi.js +1 -1
  191. package/dist/src/@types/generic.d.ts +44 -4
  192. package/dist/src/components/Guido.vue.d.ts +4 -2
  193. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  194. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +2 -0
  195. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +2 -0
  196. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  197. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
  198. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  199. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  200. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  201. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  202. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  203. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  204. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  205. package/dist/src/enums/date.d.ts +4 -0
  206. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  207. package/dist/src/enums/onboarding.d.ts +5 -0
  208. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
  209. package/dist/src/extensions/Blocks/Items/block.d.ts +13 -0
  210. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  211. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  212. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  213. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  214. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  215. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  216. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  217. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  218. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  219. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +45 -0
  220. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
  221. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +161 -0
  222. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +49 -0
  223. package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
  224. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  225. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
  226. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +41 -0
  227. package/dist/src/extensions/Blocks/Items/template.d.ts +16 -0
  228. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  229. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  230. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +44 -0
  231. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  232. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
  233. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
  234. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  235. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  236. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  237. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  238. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  239. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  240. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  241. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  242. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  243. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  244. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  245. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  246. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  247. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  248. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  249. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  250. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  251. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  252. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  253. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  254. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  255. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  256. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  257. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  258. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  259. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  260. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  261. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  262. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  263. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  264. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  265. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  266. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  267. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  268. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  269. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  270. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  271. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +2 -0
  272. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  273. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +4 -0
  274. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  275. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  276. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  277. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  278. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  279. package/dist/src/extensions/Blocks/common-control.d.ts +124 -0
  280. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  281. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  282. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  283. package/dist/src/mock/api/recommendation.d.ts +2 -0
  284. package/dist/src/services/recommendationApi.d.ts +6 -0
  285. package/dist/src/stores/config.d.ts +10 -2
  286. package/dist/src/stores/dynamic-content.d.ts +3 -3
  287. package/dist/src/stores/editor.d.ts +22 -1
  288. package/dist/src/stores/onboarding.d.ts +335 -1
  289. package/dist/src/stores/preview.d.ts +1 -1
  290. package/dist/src/stores/recommendation.d.ts +1 -1
  291. package/dist/src/stores/save-as-template.d.ts +1 -1
  292. package/dist/src/stores/toaster.d.ts +1 -1
  293. package/dist/src/stores/unsubscribe.d.ts +1 -1
  294. package/dist/src/stores/version-history.d.ts +1 -1
  295. package/dist/src/utils/dateUtil.d.ts +21 -0
  296. package/dist/src/utils/environmentUtil.d.ts +5 -0
  297. package/dist/src/utils/genericUtil.d.ts +2 -0
  298. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  299. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  300. package/dist/static/styles/customEditorStyle.css.js +5 -0
  301. package/dist/stores/config.js +5 -5
  302. package/dist/stores/dynamic-content.js +2 -2
  303. package/dist/stores/editor.js +3 -2
  304. package/dist/stores/onboarding.js +44 -36
  305. package/dist/stores/preview.js +1 -1
  306. package/dist/stores/recommendation.js +3 -3
  307. package/dist/stores/save-as-template.js +2 -2
  308. package/dist/stores/toaster.js +1 -1
  309. package/dist/stores/unsubscribe.js +1 -1
  310. package/dist/stores/version-history.js +4 -4
  311. package/dist/utils/dateUtil.js +24 -3
  312. package/dist/utils/environmentUtil.js +4 -0
  313. package/dist/utils/genericUtil.js +17 -6
  314. package/dist/utils/pairProductVariables.js +136 -0
  315. package/package.json +12 -5
@@ -0,0 +1,266 @@
1
+ import { RecommendationFeedSourceMaps as s, PriceAttributes as l } from "../../../../enums/extensions/recommendationBlock.js";
2
+ import { useRecommendationApi as c } from "../../../../services/recommendationApi.js";
3
+ import { defineStore as p } from "pinia";
4
+ import { generateCompleteFilterQuery as m } from "../utils/filterUtil.js";
5
+ const a = c(), d = () => ({
6
+ recommendationCampaignUrls: {},
7
+ recommendationProducts: [],
8
+ recommendationConfigs: {
9
+ cardsInRow: 3,
10
+ currencySettings: {
11
+ name: "USD",
12
+ value: "USD",
13
+ symbol: "USD",
14
+ alignment: "1",
15
+ decimalCount: "2",
16
+ decimalSeparator: ",",
17
+ thousandSeparator: "."
18
+ },
19
+ filters: [
20
+ {
21
+ type: "standardFilter",
22
+ attribute: "product_attributes.rating_star",
23
+ operatorReplace: "=",
24
+ operator: "=",
25
+ innerGroupOperator: "*",
26
+ outerGroupOperator: "*",
27
+ value: "5",
28
+ filterGroup: 1,
29
+ filterNumber: 1,
30
+ isValid: !0
31
+ },
32
+ {
33
+ type: "standardFilter",
34
+ attribute: "gender",
35
+ operatorReplace: "=",
36
+ operator: "=",
37
+ innerGroupOperator: "|",
38
+ outerGroupOperator: "*",
39
+ value: "male",
40
+ filterGroup: 1,
41
+ filterNumber: 2,
42
+ isValid: !0
43
+ },
44
+ {
45
+ type: "standardFilter",
46
+ attribute: "size",
47
+ operatorReplace: "=",
48
+ operator: "=",
49
+ innerGroupOperator: "*",
50
+ outerGroupOperator: "*",
51
+ value: "L",
52
+ filterGroup: 1,
53
+ filterNumber: 3,
54
+ isValid: !0
55
+ },
56
+ {
57
+ type: "standardFilter",
58
+ attribute: "price.USD",
59
+ operatorReplace: ">",
60
+ operator: ">",
61
+ innerGroupOperator: "*",
62
+ outerGroupOperator: "*",
63
+ value: "20",
64
+ filterGroup: 2,
65
+ filterNumber: 1,
66
+ isValid: !0
67
+ },
68
+ {
69
+ type: "standardFilter",
70
+ attribute: "url",
71
+ operatorReplace: "~",
72
+ operator: "~",
73
+ innerGroupOperator: "|",
74
+ outerGroupOperator: "*",
75
+ value: "user",
76
+ filterGroup: 2,
77
+ filterNumber: 2,
78
+ isValid: !0
79
+ },
80
+ {
81
+ type: "standardFilter",
82
+ attribute: "category",
83
+ operatorReplace: "!~",
84
+ operator: "!~",
85
+ innerGroupOperator: "*",
86
+ outerGroupOperator: "|",
87
+ value: "t-shirt",
88
+ filterGroup: 3,
89
+ filterNumber: 1,
90
+ isValid: !0
91
+ },
92
+ {
93
+ type: "standardFilter",
94
+ attribute: "omnibus_price.USD",
95
+ operatorReplace: ">",
96
+ operator: ">",
97
+ innerGroupOperator: "*",
98
+ outerGroupOperator: "|",
99
+ value: "31",
100
+ filterGroup: 3,
101
+ filterNumber: 2,
102
+ isValid: !0
103
+ },
104
+ {
105
+ type: "standardFilter",
106
+ attribute: "omnibus_discount.USD",
107
+ operatorReplace: "<",
108
+ operator: "%3C",
109
+ innerGroupOperator: "|",
110
+ outerGroupOperator: "|",
111
+ value: "20",
112
+ filterGroup: 3,
113
+ filterNumber: 3,
114
+ isValid: !0
115
+ }
116
+ ],
117
+ productIds: ["22", "12"],
118
+ id: 1,
119
+ language: "tr_TR",
120
+ orientation: "vertical",
121
+ recommendedProducts: [],
122
+ sendProductRequestFlag: !1,
123
+ shuffleProducts: !1,
124
+ strategy: "mostPopular",
125
+ textTrimming: !0,
126
+ unresponsive: !1,
127
+ size: "9"
128
+ },
129
+ activePredictiveAlgorithms: [],
130
+ languages: {},
131
+ currencyList: [],
132
+ filterStatus: !1,
133
+ filterSelectionDrawerStatus: !1,
134
+ filterList: {},
135
+ filterGroup: 1
136
+ }), G = p("guidoRecommendationExtension", {
137
+ state: () => d(),
138
+ getters: {
139
+ hasFilters: (e) => !!e.recommendationConfigs.filters.length,
140
+ getFilterGroupCount: (e) => {
141
+ const { filters: t } = e.recommendationConfigs;
142
+ return t.length && t[t.length - 1].filterGroup || 0;
143
+ },
144
+ getActivePredictiveAlgorithms: (e) => {
145
+ const t = [];
146
+ return e.activePredictiveAlgorithms.forEach((r) => {
147
+ t.push(...s.filter((i) => i.id === r));
148
+ }), t.map((r) => ({
149
+ text: r.name,
150
+ value: r.key
151
+ }));
152
+ },
153
+ getLanguages: (e) => Object.entries(e.languages).map(([t, r]) => ({
154
+ text: r,
155
+ value: t
156
+ })),
157
+ getCurrencySymbolList: (e) => e.currencyList.map((t) => ({
158
+ text: t.text,
159
+ value: t.text
160
+ })),
161
+ getFilterList: (e) => Object.values(e.filterList).map((t) => {
162
+ const r = t.type === "defaultAttribute", i = l.includes(t.attributeName);
163
+ let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
164
+ return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
165
+ text: t.displayName,
166
+ value: o,
167
+ type: t.attributeType
168
+ };
169
+ }),
170
+ getSelectedFilterGroup: (e) => (t) => [...e.recommendationConfigs.filters].filter((r) => r.filterGroup === t)
171
+ },
172
+ actions: {
173
+ async fetchRecommendationCreateData() {
174
+ if (this.activePredictiveAlgorithms.length)
175
+ return;
176
+ const {
177
+ activePredictiveAlgorithms: e,
178
+ languages: t,
179
+ currencies: r
180
+ } = await a.fetchRecommendationCreateData();
181
+ this.activePredictiveAlgorithms = e, this.languages = t;
182
+ const [i] = r;
183
+ this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
184
+ },
185
+ async fetchRecommendationFilters() {
186
+ const e = await a.fetchRecommendationFilters();
187
+ this.filterList = e;
188
+ },
189
+ addFilterGroup(e) {
190
+ this.recommendationConfigs.filters.push({
191
+ type: "standardFilter",
192
+ attribute: "",
193
+ operatorReplace: "",
194
+ operator: "",
195
+ innerGroupOperator: "",
196
+ outerGroupOperator: "",
197
+ value: "",
198
+ filterNumber: 1,
199
+ isValid: !0,
200
+ filterGroup: e
201
+ });
202
+ },
203
+ updateFilter(e) {
204
+ const t = this.recommendationConfigs.filters.findIndex((r) => r.filterNumber === e.filterNumber && r.filterGroup === e.filterGroup);
205
+ if (t !== -1) {
206
+ const r = [...this.recommendationConfigs.filters];
207
+ r[t] = e, e.value.length && e.operator && e.attribute && e.innerGroupOperator && e.outerGroupOperator ? r[t].isValid = !0 : r[t].isValid = !1, this.$patch({
208
+ recommendationConfigs: {
209
+ filters: r
210
+ }
211
+ });
212
+ }
213
+ },
214
+ deleteFilter(e) {
215
+ const t = [...this.recommendationConfigs.filters].findIndex((r) => r.filterNumber === e.filterNumber && r.filterGroup === e.filterGroup);
216
+ if (t !== -1) {
217
+ const r = [...this.recommendationConfigs.filters];
218
+ r.splice(t, 1), this.$patch({
219
+ recommendationConfigs: {
220
+ filters: r
221
+ }
222
+ });
223
+ }
224
+ },
225
+ addFilter(e) {
226
+ const t = [...this.recommendationConfigs.filters], r = t.findLastIndex((i) => i.filterGroup === e.filterGroup);
227
+ r !== -1 ? t.splice(r + 1, 0, {
228
+ ...e,
229
+ filterNumber: r + 2
230
+ }) : t.push({
231
+ ...e,
232
+ filterNumber: 1
233
+ }), this.$patch({
234
+ recommendationConfigs: {
235
+ filters: t
236
+ }
237
+ });
238
+ },
239
+ generateFilterQuery() {
240
+ return m(this.recommendationConfigs.filters);
241
+ },
242
+ async fetchRecommendationProducts() {
243
+ var i, o, n;
244
+ const e = this.generateFilterQuery(), t = ((i = s.find((u) => u.key === this.recommendationConfigs.strategy)) == null ? void 0 : i.path) || "", r = await a.fetchRecommendationProducts(
245
+ t,
246
+ {
247
+ // TODO: Here will be optimized and filled carefully
248
+ locale: this.recommendationConfigs.language,
249
+ currency: this.recommendationConfigs.currencySettings.value,
250
+ partnerName: ((n = (o = window.GuidoConfig) == null ? void 0 : o.partner) == null ? void 0 : n.partnerName) || "",
251
+ productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
252
+ size: this.recommendationConfigs.size,
253
+ details: !0,
254
+ campaignId: "{campaignId}",
255
+ filter: e
256
+ }
257
+ );
258
+ this.$patch({
259
+ recommendationProducts: r
260
+ });
261
+ }
262
+ }
263
+ });
264
+ export {
265
+ G as useRecommendationExtensionStore
266
+ };
@@ -0,0 +1,160 @@
1
+ import { BlockType as t, BlockAttr as n } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationBlockId as o } from "../constants.js";
3
+ import { generateTemplate as l, prepareProductRows as s, spacer as d, DEFAULTS as p, getDefaultProducts as i } from "./templateUtils.js";
4
+ import { DEFAULT_CARD_COMPOSITION as $ } from "./templateUtils.js";
5
+ const g = `
6
+ <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20">
7
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
8
+ <tr>
9
+ <td align="center">
10
+ <table
11
+ class="container"
12
+ width="100%"
13
+ cellpadding="0"
14
+ cellspacing="0"
15
+ border="0">
16
+ <tbody>
17
+ <tr>
18
+ <td>
19
+ <table
20
+ width="100%"
21
+ cellpadding="0"
22
+ cellspacing="0"
23
+ border="0">
24
+ <tbody>
25
+ <${t.BLOCK_TEXT}
26
+ class="es-p10t es-p10b es-p20l es-p20r"
27
+ align="center">
28
+ <p path="1" style="font-size: 28px; color: #333333;">
29
+ <strong path="1,0">{-{-TITLE-}-}</strong>
30
+ </p>
31
+ </${t.BLOCK_TEXT}>
32
+ </tbody>
33
+ </table>
34
+ </td>
35
+ </tr>
36
+ ${d}
37
+ <tr>
38
+ <td>
39
+ <table
40
+ class="ins-recommendation-product-container"
41
+ width="100%"
42
+ cellpadding="0"
43
+ cellspacing="0"
44
+ border="0"
45
+ >
46
+ {-{-PRODUCT_ROWS-}-}
47
+ </table>
48
+ </td>
49
+ </tr>
50
+ </tbody>
51
+ </table>
52
+ </td>
53
+ </tr>
54
+ </table>
55
+ </td>
56
+ `, a = {
57
+ productImage: (e) => `
58
+ <${t.BLOCK_IMAGE}
59
+ ${n.BLOCK_IMAGE.src}="${e.image_url}"
60
+ ${n.BLOCK_IMAGE.alt}="${e.name}"
61
+ ${n.BLOCK_IMAGE.href}="#"
62
+ class="product-image"
63
+ align="center"
64
+ style="max-width: 100%; height: auto; margin: 0 auto;"
65
+ esd-extension-block-id="${o.IMAGE}">
66
+ </${t.BLOCK_IMAGE}>
67
+ `,
68
+ productName: (e) => `
69
+ <${t.BLOCK_TEXT}
70
+ class="product-name"
71
+ align="center"
72
+ style="font-size: 16px; color: #333333; font-weight: 600; padding: 15px 10px; text-align: center;"
73
+ esd-extension-block-id="${o.NAME}">
74
+ <p path="1" contenteditable="false">
75
+ <strong path="1,0">${e.name}</strong>
76
+ </p>
77
+ </${t.BLOCK_TEXT}>
78
+ `,
79
+ productPrice: () => `
80
+ <${t.BLOCK_TEXT}
81
+ class="product-price"
82
+ align="center"
83
+ style="padding: 10px; text-align: center;"
84
+ esd-extension-block-id="${o.PRICE}">
85
+ <p path="1" contenteditable="false">
86
+ <span class="current-price" style="font-size: 16px; color: #333333; font-weight: bold;">
87
+ <strong path="1,0">18,00 TRY</strong>
88
+ </span>
89
+ </p>
90
+ </${t.BLOCK_TEXT}>
91
+ `,
92
+ productOldPrice: () => `
93
+ <${t.BLOCK_TEXT}
94
+ class="product-old-price"
95
+ align="center"
96
+ style="padding: 10px; text-align: center;"
97
+ esd-extension-block-id="${o.OLD_PRICE}">
98
+ <p path="1" contenteditable="false">
99
+ <span class="old-price" style="font-size: 14px; color: #999999; text-decoration: line-through;">
100
+ <s path="1,0">20,00 TRY</s>
101
+ </span>
102
+ </p>
103
+ </${t.BLOCK_TEXT}>
104
+ `,
105
+ productButton: () => `
106
+ <${t.BLOCK_BUTTON}
107
+ ${n.BLOCK_BUTTON.href}="#"
108
+ class="product-button"
109
+ align="center"
110
+ style="padding: 15px 10px 20px 10px; text-align: center;"
111
+ esd-extension-block-id="${o.BUTTON}">
112
+ <span class="es-button-border">
113
+ <a
114
+ href="#"
115
+ class="es-button buy-button"
116
+ target="_blank"
117
+ style="
118
+ display: inline-block;
119
+ width: 90%;
120
+ max-width: 150px;
121
+ padding: 12px 20px;
122
+ background-color: #ffffff;
123
+ color: #333333;
124
+ text-decoration: none;
125
+ border: 2px solid #cccccc;
126
+ font-size: 16px;
127
+ box-sizing: border-box;
128
+ ">
129
+ Buy
130
+ </a>
131
+ </span>
132
+ </${t.BLOCK_BUTTON}>
133
+ `
134
+ };
135
+ function x() {
136
+ const e = i();
137
+ return l(
138
+ g,
139
+ e,
140
+ 3,
141
+ a,
142
+ p.TITLE
143
+ );
144
+ }
145
+ function f(e, r, c) {
146
+ return s(
147
+ e,
148
+ r,
149
+ a,
150
+ c
151
+ );
152
+ }
153
+ export {
154
+ p as DEFAULTS,
155
+ $ as DEFAULT_CARD_COMPOSITION,
156
+ g as default,
157
+ i as getDefaultProducts,
158
+ x as getDefaultTemplate,
159
+ f as prepareProductRows
160
+ };
@@ -0,0 +1,152 @@
1
+ import { prepareProductRows as n } from "./templateUtils.js";
2
+ import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
3
+ const a = `
4
+ <td
5
+ align="left"
6
+ esd-extension-block-id="recommendation-block"
7
+ esd-handler-name="esd-extension-RecommendationBlock"
8
+ class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20"
9
+ >
10
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
11
+ <tr>
12
+ <td align="center">
13
+ <table
14
+ class="container"
15
+ width="100%"
16
+ cellpadding="0"
17
+ cellspacing="0"
18
+ border="0">
19
+ <tbody>
20
+ <tr>
21
+ <td>
22
+ <table
23
+ width="100%"
24
+ cellpadding="0"
25
+ cellspacing="0"
26
+ border="0">
27
+ <tbody>
28
+ <tr>
29
+ {-{-TITLE-}-}
30
+ </tr>
31
+ </tbody>
32
+ </table>
33
+ </td>
34
+ </tr>
35
+ <tr>
36
+ <td class="spacer" style="height: 20px;"></td>
37
+ </tr>
38
+ <tr>
39
+ <td>
40
+ <table
41
+ class="ins-recommendation-product-container"
42
+ width="100%"
43
+ cellpadding="0"
44
+ cellspacing="0"
45
+ border="0"
46
+ >
47
+ {-{-PRODUCT_ROWS-}-}
48
+ </table>
49
+ </td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ </td>
54
+ </tr>
55
+ </table>
56
+ </td>
57
+ `, l = {
58
+ productImage: (t) => `
59
+ <tr>
60
+ <td
61
+ class="esd-block-image product-image"
62
+ esd-extension-block-id="recommendation-block-image"
63
+ align="center"
64
+ style="font-size: 0px;">
65
+ <a target="_blank" href="${t.url}">
66
+ <img
67
+ src="${t.image_url}"
68
+ alt="${t.name}"
69
+ width="120"
70
+ style="display: block; max-width: 100%; height: auto;"
71
+ class="adapt-img">
72
+ </a>
73
+ </td>
74
+ </tr>
75
+ `,
76
+ productName: (t) => `
77
+ <tr>
78
+ <td
79
+ class="esd-block-text product-name"
80
+ esd-extension-block-id="recommendation-block-name"
81
+ align="center">
82
+ <p
83
+ path="1"
84
+ contenteditable="false"
85
+ style="font-size: 16px; color: #333333; font-weight: 600; text-align: center;">
86
+ <strong path="1,0">${t.name}</strong>
87
+ </p>
88
+ </td>
89
+ </tr>
90
+ `,
91
+ productPrice: () => `
92
+ <tr>
93
+ <td
94
+ class="esd-block-text product-price"
95
+ esd-extension-block-id="recommendation-block-price"
96
+ align="center">
97
+ <p
98
+ path="1"
99
+ contenteditable="false"
100
+ style="font-size: 16px; color: #333333; font-weight: bold; text-align: center;">
101
+ <strong path="1,0">18,00 TRY</strong>
102
+ </p>
103
+ </td>
104
+ </tr>
105
+ `,
106
+ productOldPrice: () => `
107
+ <tr>
108
+ <td
109
+ class="esd-block-text product-old-price"
110
+ esd-extension-block-id="recommendation-block-old-price"
111
+ align="center">
112
+ <p
113
+ path="1"
114
+ contenteditable="false"
115
+ style="font-size: 14px; color: #999999; text-decoration: line-through; text-align: center;">
116
+ <s path="1,0">20,00 TRY</s>
117
+ </p>
118
+ </td>
119
+ </tr>
120
+ `,
121
+ productButton: (t) => `
122
+ <tr>
123
+ <td
124
+ class="esd-block-button product-button"
125
+ esd-extension-block-id="recommendation-block-button"
126
+ align="center">
127
+ <span class="es-button-border" style="display: block;">
128
+ <a
129
+ href="${t.url}"
130
+ target="_blank"
131
+ class="es-button">
132
+ {-{-PRODUCT_BUTTON_TEXT-}-}
133
+ </a>
134
+ </span>
135
+ </td>
136
+ </tr>
137
+ `
138
+ };
139
+ function d(t, e, o) {
140
+ return n(
141
+ t,
142
+ e,
143
+ l,
144
+ o
145
+ );
146
+ }
147
+ export {
148
+ i as DEFAULTS,
149
+ a as default,
150
+ p as getDefaultProducts,
151
+ d as prepareProductRows
152
+ };