@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,9 @@
1
+ function o(r) {
2
+ var e = -1, a = Array(r.size);
3
+ return r.forEach(function(n, t) {
4
+ a[++e] = [t, n];
5
+ }), a;
6
+ }
7
+ export {
8
+ o as default
9
+ };
@@ -0,0 +1,8 @@
1
+ function e(t, r) {
2
+ return function(n) {
3
+ return n == null ? !1 : n[t] === r && (r !== void 0 || t in Object(n));
4
+ };
5
+ }
6
+ export {
7
+ e as default
8
+ };
@@ -0,0 +1,11 @@
1
+ import c from "./memoize.js";
2
+ var i = 500;
3
+ function m(a) {
4
+ var e = c(a, function(t) {
5
+ return r.size === i && r.clear(), t;
6
+ }), r = e.cache;
7
+ return e;
8
+ }
9
+ export {
10
+ m as default
11
+ };
@@ -0,0 +1,5 @@
1
+ import e from "./_overArg.js";
2
+ var t = e(Object.keys, Object);
3
+ export {
4
+ t as default
5
+ };
@@ -0,0 +1,7 @@
1
+ var t = "__lodash_hash_undefined__";
2
+ function a(_) {
3
+ return this.__data__.set(_, t), this;
4
+ }
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,6 @@
1
+ function t(a) {
2
+ return this.__data__.has(a);
3
+ }
4
+ export {
5
+ t as default
6
+ };
@@ -0,0 +1,9 @@
1
+ function t(r) {
2
+ var e = -1, a = Array(r.size);
3
+ return r.forEach(function(n) {
4
+ a[++e] = n;
5
+ }), a;
6
+ }
7
+ export {
8
+ t as default
9
+ };
@@ -0,0 +1,10 @@
1
+ import u from "./_memoizeCapped.js";
2
+ var c = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, d = /\\(\\)?/g, h = u(function(e) {
3
+ var r = [];
4
+ return e.charCodeAt(0) === 46 && r.push(""), e.replace(c, function(a, p, o, t) {
5
+ r.push(o ? t.replace(d, "$1") : p || a);
6
+ }), r;
7
+ });
8
+ export {
9
+ h as default
10
+ };
@@ -0,0 +1,10 @@
1
+ import i from "./isSymbol.js";
2
+ function o(t) {
3
+ if (typeof t == "string" || i(t))
4
+ return t;
5
+ var r = t + "";
6
+ return r == "0" && 1 / t == -1 / 0 ? "-0" : r;
7
+ }
8
+ export {
9
+ o as default
10
+ };
@@ -0,0 +1,9 @@
1
+ var r = /\s/;
2
+ function a(t) {
3
+ for (var e = t.length; e-- && r.test(t.charAt(e)); )
4
+ ;
5
+ return e;
6
+ }
7
+ export {
8
+ a as default
9
+ };
@@ -0,0 +1,8 @@
1
+ import r from "./_baseFlatten.js";
2
+ import o from "./map.js";
3
+ function m(t, a) {
4
+ return r(o(t, a));
5
+ }
6
+ export {
7
+ m as default
8
+ };
@@ -0,0 +1,8 @@
1
+ import u from "./_baseGet.js";
2
+ function f(e, r, t) {
3
+ var n = e == null ? void 0 : u(e, r);
4
+ return n === void 0 ? t : n;
5
+ }
6
+ export {
7
+ f as default
8
+ };
@@ -0,0 +1,8 @@
1
+ import n from "./_baseHasIn.js";
2
+ import t from "./_hasPath.js";
3
+ function f(a, r) {
4
+ return a != null && t(a, r, n);
5
+ }
6
+ export {
7
+ f as default
8
+ };
@@ -0,0 +1,9 @@
1
+ import t from "./_baseGetTag.js";
2
+ import m from "./isObjectLike.js";
3
+ var r = "[object Symbol]";
4
+ function i(o) {
5
+ return typeof o == "symbol" || m(o) && t(o) == r;
6
+ }
7
+ export {
8
+ i as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import e from "./_arrayLikeKeys.js";
2
+ import i from "./_baseKeys.js";
3
+ import a from "./isArrayLike.js";
4
+ function f(r) {
5
+ return a(r) ? e(r) : i(r);
6
+ }
7
+ export {
8
+ f as default
9
+ };
@@ -1,9 +1,9 @@
1
1
  import e from "./_arrayLikeKeys.js";
2
2
  import i from "./_baseKeysIn.js";
3
3
  import a from "./isArrayLike.js";
4
- function f(r) {
5
- return a(r) ? e(r) : i(r);
4
+ function t(r) {
5
+ return a(r) ? e(r, !0) : i(r);
6
6
  }
7
7
  export {
8
- f as default
8
+ t as default
9
9
  };
@@ -0,0 +1,11 @@
1
+ import t from "./_arrayMap.js";
2
+ import o from "./_baseIteratee.js";
3
+ import p from "./_baseMap.js";
4
+ import e from "./isArray.js";
5
+ function n(r, a) {
6
+ var m = e(r) ? t : p;
7
+ return m(r, o(a));
8
+ }
9
+ export {
10
+ n as default
11
+ };
@@ -0,0 +1,10 @@
1
+ import o from "./_baseProperty.js";
2
+ import e from "./_basePropertyDeep.js";
3
+ import t from "./_isKey.js";
4
+ import m from "./_toKey.js";
5
+ function s(r) {
6
+ return t(r) ? o(m(r)) : e(r);
7
+ }
8
+ export {
9
+ s as default
10
+ };
@@ -0,0 +1,5 @@
1
+ import a from "./_createRange.js";
2
+ var r = a();
3
+ export {
4
+ r as default
5
+ };
@@ -0,0 +1,6 @@
1
+ function r() {
2
+ return [];
3
+ }
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,14 @@
1
+ import n from "./toNumber.js";
2
+ var t = 1 / 0, o = 17976931348623157e292;
3
+ function I(r) {
4
+ if (!r)
5
+ return r === 0 ? r : 0;
6
+ if (r = n(r), r === t || r === -t) {
7
+ var i = r < 0 ? -1 : 1;
8
+ return i * o;
9
+ }
10
+ return r === r ? r : 0;
11
+ }
12
+ export {
13
+ I as default
14
+ };
@@ -0,0 +1,22 @@
1
+ import n from "./_baseTrim.js";
2
+ import f from "./isObject.js";
3
+ import o from "./isSymbol.js";
4
+ var s = NaN, m = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, e = /^0o[0-7]+$/i, b = parseInt;
5
+ function O(r) {
6
+ if (typeof r == "number")
7
+ return r;
8
+ if (o(r))
9
+ return s;
10
+ if (f(r)) {
11
+ var t = typeof r.valueOf == "function" ? r.valueOf() : r;
12
+ r = f(t) ? t + "" : t;
13
+ }
14
+ if (typeof r != "string")
15
+ return r === 0 ? r : +r;
16
+ r = n(r);
17
+ var i = p.test(r);
18
+ return i || e.test(r) ? b(r.slice(2), i ? 2 : 8) : m.test(r) ? s : +r;
19
+ }
20
+ export {
21
+ O as default
22
+ };
@@ -0,0 +1,7 @@
1
+ import r from "./_baseToString.js";
2
+ function o(t) {
3
+ return t == null ? "" : r(t);
4
+ }
5
+ export {
6
+ o as default
7
+ };
@@ -1,4 +1,4 @@
1
- const o = { stripo: { version: "2.42.0" } }, s = {
1
+ const o = { stripo: { version: "2.47.0" } }, s = {
2
2
  guido: o
3
3
  };
4
4
  export {
@@ -0,0 +1,37 @@
1
+ import { useHttp as c } from "../composables/useHttp.js";
2
+ import { URLS as a } from "../enums/extensions/recommendationBlock.js";
3
+ const R = () => {
4
+ const { get: o } = c();
5
+ return {
6
+ fetchRecommendationCreateData: async () => {
7
+ try {
8
+ return (await o("/newsletter/recommendations/create-data")).data;
9
+ } catch (e) {
10
+ throw console.error("fetchUserModalState error:", e), e;
11
+ }
12
+ },
13
+ fetchRecommendationFilters: async () => {
14
+ try {
15
+ const { data: e } = await o("/stripo/email-recommendation-attributes");
16
+ return e;
17
+ } catch (e) {
18
+ throw console.error("fetchRecommendationFilters error:", e), e;
19
+ }
20
+ },
21
+ fetchRecommendationProducts: async (e, n) => {
22
+ try {
23
+ const t = decodeURIComponent(new URLSearchParams(Object.entries(n)).toString());
24
+ console.debug("🏁 Recommendation API Query:", t);
25
+ const r = await o(
26
+ `${a.RECOMMENDATION_API_URL}/v2/${e}?${t}`
27
+ );
28
+ return (r == null ? void 0 : r.data) ?? [];
29
+ } catch (t) {
30
+ throw console.error("fetchRecommendationProducts error:", t), t;
31
+ }
32
+ }
33
+ };
34
+ };
35
+ export {
36
+ R as useRecommendationApi
37
+ };
@@ -29,7 +29,7 @@ const m = () => {
29
29
  forceRecreate: !0
30
30
  };
31
31
  try {
32
- const { data: e } = await r("/stripo/default-template");
32
+ const { data: e } = await r("/stripo/default-template/0");
33
33
  try {
34
34
  return {
35
35
  ...JSON.parse(e),
@@ -6,36 +6,71 @@ type Features = {
6
6
  dynamicContent?: boolean;
7
7
  saveAsTemplate?: boolean;
8
8
  versionHistory?: boolean;
9
+ testMessage?: boolean;
10
+ displayConditions?: boolean;
9
11
  };
10
12
  type Partner = {
11
13
  partnerName: string;
12
14
  productType: number;
13
15
  messageType: number;
14
16
  };
17
+ export type GuidoBlockType = 'amp-accordion' | 'amp-carousel' | 'amp-form-controls' | 'banner-block' | 'button-block' | 'html-block' | 'image-block' | 'menu-block' | 'social-block' | 'spacer-block' | 'text-block' | 'timer-block' | 'video-block';
18
+ export type GuidoCustomBlockType = 'dynamic-content' | 'checkbox-block' | 'radio-button-block' | 'recommendation-block' | 'unsubscribe-block' | 'coupon-block' | 'items-block';
19
+ type BlocksConfig = {
20
+ excludeDefaults?: GuidoBlockType[];
21
+ includeCustoms?: GuidoCustomBlockType[];
22
+ };
15
23
  export type GuidoConfig = {
16
24
  translationsPath: string;
17
25
  htmlCompilerRules?: CompilerRule[];
18
26
  ignoreDefaultHtmlCompilerRules?: boolean;
19
27
  useHeader?: boolean;
20
28
  emailHeader: EmailHeader;
29
+ migrationDate: number;
21
30
  partner?: Partner;
22
31
  extensions?: Extensions;
23
32
  features?: Features;
33
+ blocks?: BlocksConfig;
34
+ backButtonLabel?: string;
24
35
  };
25
36
  export type TemplateConfig = {
26
37
  preselectedDynamicContentList?: DynamicContent[];
27
38
  selectedUnsubscribePages?: number[];
28
39
  variationId?: string;
29
40
  };
30
- export type DynamicContent = {
41
+ export type BaseDynamicContent = {
31
42
  value: string;
32
- text: string;
33
43
  fallback?: string;
34
44
  format?: {
35
45
  key: string;
36
46
  value: string;
37
47
  };
38
48
  };
49
+ export type DynamicContent = BaseDynamicContent & {
50
+ text: string;
51
+ };
52
+ export type MergeTag = BaseDynamicContent & {
53
+ label: string;
54
+ selStart?: number;
55
+ selEnd?: number;
56
+ hidden?: boolean;
57
+ };
58
+ export type PositionData = {
59
+ x: number;
60
+ y: number;
61
+ width?: number;
62
+ height?: number;
63
+ };
64
+ export type DynamicContentEvent = {
65
+ attribute: DynamicContent;
66
+ position?: PositionData;
67
+ };
68
+ export type MergeTagClickEvent = {
69
+ position: PositionData;
70
+ element: HTMLElement;
71
+ tagValue: string | null;
72
+ tagLabel: string | null;
73
+ };
39
74
  export interface EmailHeader {
40
75
  senderName: string;
41
76
  subject: string;
@@ -51,8 +86,13 @@ export interface TooltipOptions {
51
86
  };
52
87
  preventXss?: boolean;
53
88
  }
54
- export type MergeTag = {
55
- label: string;
89
+ export type TextValueObject = {
90
+ text: string;
56
91
  value: string;
57
92
  };
93
+ export interface L10n {
94
+ locale?: string;
95
+ timezone?: string;
96
+ time?: number;
97
+ }
58
98
  export {};
@@ -1,4 +1,4 @@
1
- import type { DynamicContent, GuidoConfig, TemplateConfig } from '@@/Types/generic';
1
+ import type { DynamicContent, GuidoConfig, PositionData, TemplateConfig } from '@@/Types/generic';
2
2
  import type { SavedTemplateDetails } from '@@/Types/stripo';
3
3
  type __VLS_Props = {
4
4
  templateId: string;
@@ -20,12 +20,14 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
20
20
  hasChanges: import("vue").ComputedRef<boolean>;
21
21
  saveSilent: () => Promise<SavedTemplateDetails | undefined> | undefined;
22
22
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
23
- "dynamic-content:open": (detail: DynamicContent | null) => void;
23
+ "dynamic-content:open": (detail: DynamicContent | null, position?: PositionData | undefined) => void;
24
24
  back: () => void;
25
25
  "save:start": () => void;
26
26
  "save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
27
27
  "on-change": (hasChanges: boolean) => void;
28
28
  ready: () => void;
29
+ "onboarding:finished": () => void;
30
+ "test-email:click": () => void;
29
31
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
30
32
  export default _default;
31
33
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -0,0 +1,19 @@
1
+ import type { Filter } from '@@/Types/recommendation';
2
+ type __VLS_Props = {
3
+ filter: Filter;
4
+ index: number;
5
+ hasLogicAdapter?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
8
+ "delete-filter": (filter: Filter) => void;
9
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToOption<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: import('vue').PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ logic?: string;
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
5
+ change: (value: string) => void;
6
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
7
+ export default _default;
8
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+ type __VLS_TypePropsToOption<T> = {
10
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
11
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
+ } : {
13
+ type: import('vue').PropType<T[K]>;
14
+ required: true;
15
+ };
16
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -1,2 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
+ "onboarding-finished": () => void;
3
+ }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
4
  export default _default;
@@ -1,2 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
+ "onboarding-finished": () => void;
3
+ }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
4
  export default _default;
@@ -32,8 +32,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
32
32
  closeOnOutsideClick: boolean;
33
33
  footerStatus: boolean;
34
34
  }>>>, {
35
- description: string;
36
35
  size: "small" | "medium" | "large";
36
+ description: string;
37
37
  closeOnOutsideClick: boolean;
38
38
  footerButtonOptions: FooterButtonGroup;
39
39
  closeButtonStatus: boolean;
@@ -0,0 +1,11 @@
1
+ import type { Extension } from '@stripoinc/ui-editor-extensions';
2
+ /**
3
+ * Composable for managing Guido blocks configuration
4
+ * Converts GuidoConfig blocks settings to Stripo-compatible format
5
+ */
6
+ export declare const useBlocksConfig: () => {
7
+ getStripoBlocksConfig: () => Promise<{
8
+ baseBlocks: Record<string, boolean>;
9
+ extensions: Extension[];
10
+ }>;
11
+ };
@@ -3,9 +3,11 @@ import type { InjectionKey } from 'vue';
3
3
  export type BackHandler = () => void;
4
4
  export type SaveStartHandler = () => void;
5
5
  export type SaveCompleteHandler = (template: Omit<SavedTemplateDetails, 'forceRecreate'>) => void;
6
+ export type TestEmailClickHandler = () => void;
6
7
  export declare const BACK_KEY: InjectionKey<BackHandler>;
7
8
  export declare const SAVE_START_KEY: InjectionKey<SaveStartHandler>;
8
9
  export declare const SAVE_COMPLETE_KEY: InjectionKey<SaveCompleteHandler>;
10
+ export declare const TEST_EMAIL_CLICK_KEY: InjectionKey<TestEmailClickHandler>;
9
11
  /**
10
12
  * Provides Guido action handlers to child components
11
13
  */
@@ -13,6 +15,7 @@ export declare const provideGuidoActions: (actions: {
13
15
  onBack: BackHandler;
14
16
  onSaveStart: SaveStartHandler;
15
17
  onSaveComplete: SaveCompleteHandler;
18
+ onTestEmailClick: TestEmailClickHandler;
16
19
  }) => void;
17
20
  /**
18
21
  * Provides individual Guido action handlers
@@ -35,6 +38,11 @@ export declare const useSaveStart: () => SaveStartHandler;
35
38
  * @returns Save complete function
36
39
  */
37
40
  export declare const useSaveComplete: () => SaveCompleteHandler;
41
+ /**
42
+ * Hook to use the test email click handler
43
+ * @returns Test email click function
44
+ */
45
+ export declare const useTestEmailClick: () => TestEmailClickHandler;
38
46
  /**
39
47
  * Convenience hook to get all Guido actions
40
48
  * @returns Object containing all action handlers
@@ -43,4 +51,5 @@ export declare const useGuidoActions: () => {
43
51
  back: BackHandler;
44
52
  saveStart: SaveStartHandler;
45
53
  saveComplete: SaveCompleteHandler;
54
+ testEmailClick: TestEmailClickHandler;
46
55
  };
@@ -0,0 +1,2 @@
1
+ import type { CompilerRule } from '@@/Types/html-compiler';
2
+ export declare const itemsCompilerRules: CompilerRule[];
@@ -0,0 +1 @@
1
+ export declare function migrateRecommendation(html: string): string;
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_LOCALE = "tr-TR";
2
+ export declare const DEFAULT = "default";
3
+ export declare const DEFAULT_TZ = "UTC";
4
+ export declare const FORMAT_MAPPING: Record<string, string>;
@@ -0,0 +1,16 @@
1
+ import type { TextValueObject } from '@@/Types/generic';
2
+ import type { RecommendationFeedItem } from '@@/Types/recommendation';
3
+ export declare const URLS: {
4
+ RECOMMENDATION_API_URL: string;
5
+ };
6
+ export declare const RecommendationFeedSourceMaps: RecommendationFeedItem[];
7
+ export declare const PriceAttributes: string[];
8
+ export declare const currencyLocationMaps: TextValueObject[];
9
+ export declare const currencyOperators: TextValueObject[];
10
+ export declare const currencyDecimalCounts: TextValueObject[];
11
+ export declare const operatorOptionsForStrings: TextValueObject[];
12
+ export declare const operatorOptionsForArrayOfStrings: TextValueObject[];
13
+ export declare const operatorOptionsForNumbers: TextValueObject[];
14
+ export declare const operatorOptionsForDates: TextValueObject[];
15
+ export declare const operatorOptionsForBooleans: TextValueObject[];
16
+ export declare const getOperatorOptions: (type?: string) => TextValueObject[];
@@ -1 +1,6 @@
1
1
  export declare const SERVICE_HOVER_SELECTORS: string[];
2
+ export declare const UI_EDITOR_SELECTOR = "ui-editor";
3
+ export declare const CARD_COMPOSITION_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Card Composition\"]";
4
+ export declare const SETTINGS_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Settings\"]";
5
+ export declare const RIBBON_SELECTOR = ".in-ribbons-wrapper";
6
+ export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
@@ -8,4 +8,5 @@ export declare class CheckboxBlock extends Block {
8
8
  getName(): string;
9
9
  getDescription(): string;
10
10
  getTemplate(): string;
11
+ allowInnerBlocksDND(): boolean;
11
12
  }
@@ -1,4 +1,4 @@
1
- declare const migrationTemplate = "\n <td \n align=\"left\" \n esd-extension-block-id=\"checkbox-block\" \n class=\"checkbox-block-v2 esd-block-checkbox esd-checkbox-block esd-extension-block es-p20\"\n >\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n <td align=\"left\" width=\"39\" style=\"vertical-align: top\">\n <input type=\"checkbox\">\n </td>\n <td align=\"left\" width=\"816\" style=\"vertical-align: top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n <tr>\n {-{-DESCRIPTION-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n";
1
+ declare const migrationTemplate = "\n <td\n align=\"left\"\n esd-extension-block-id=\"checkbox-block\"\n class=\"\n checkbox-block\n checkbox-block-v2\n esd-block-checkbox\n esd-checkbox-block\n esd-extension-block es-p20\"\n >\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n <td align=\"left\" width=\"39\" style=\"vertical-align: top\">\n <input type=\"checkbox\">\n </td>\n <td align=\"left\" width=\"816\" style=\"vertical-align: top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n <tr>\n {-{-DESCRIPTION-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n";
2
2
  /**
3
3
  * @returns The template for the default checkbox block
4
4
  */
@@ -0,0 +1,27 @@
1
+ import { Block, BlockCompositionType, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ export declare const BLOCK_ID = "items-block";
3
+ /**
4
+ * Items Block extension for Stripo email editor.
5
+ *
6
+ * Displays personalized product items (cart items, browsed items, or purchased items)
7
+ * in a configurable card layout with horizontal or vertical orientation.
8
+ *
9
+ * Features:
10
+ * - Multiple product data sources (cart, browsed, purchased)
11
+ * - Configurable card composition (image, name, price, quantity, button)
12
+ * - Orientation control (horizontal/vertical)
13
+ * - Price formatting and currency display options
14
+ * - Product name trimming
15
+ * - Onboarding support
16
+ */
17
+ export declare class ItemsBlock extends Block {
18
+ getId(): string;
19
+ getIcon(): string;
20
+ getBlockCompositionType(): BlockCompositionType;
21
+ getName(): string;
22
+ getDescription(): string;
23
+ getTemplate(): string;
24
+ allowInnerBlocksDND(): boolean;
25
+ onCreated(node: ImmutableHtmlNode): void;
26
+ onSelect(node: ImmutableHtmlNode): void;
27
+ }