@useinsider/guido 1.0.3-beta.cedc8cb → 1.0.3-beta.d011054

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 (449) hide show
  1. package/README.md +144 -3
  2. package/dist/components/Guido.vue.js +12 -10
  3. package/dist/components/Guido.vue2.js +84 -101
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  8. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  9. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  10. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  11. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  12. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  13. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +23 -20
  14. package/dist/composables/useActionsApi.js +1 -1
  15. package/dist/composables/useBlocksConfig.js +48 -0
  16. package/dist/composables/useGuidoActions.js +19 -9
  17. package/dist/composables/useHtmlCompiler.js +15 -13
  18. package/dist/composables/useHtmlValidator.js +36 -35
  19. package/dist/composables/useHttp.js +52 -89
  20. package/dist/composables/useStripo.js +61 -160
  21. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  22. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  23. package/dist/config/migrator/index.js +7 -6
  24. package/dist/config/migrator/recommendationMigrator.js +293 -0
  25. package/dist/enums/date.js +6 -0
  26. package/dist/enums/defaults.js +16 -8
  27. package/dist/enums/extensions/recommendationBlock.js +2 -2
  28. package/dist/enums/onboarding.js +7 -2
  29. package/dist/enums/unsubscribe.js +27 -25
  30. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  31. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  32. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  33. package/dist/extensions/Blocks/Items/block.js +66 -0
  34. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  35. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  36. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  37. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  38. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  39. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  40. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  41. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  42. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  43. package/dist/extensions/Blocks/Items/controls/settingsControl.js +313 -0
  44. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  45. package/dist/extensions/Blocks/Items/enums/productEnums.js +272 -0
  46. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +76 -0
  47. package/dist/extensions/Blocks/Items/extension.js +19 -0
  48. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  49. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  50. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  51. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +61 -0
  52. package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
  53. package/dist/extensions/Blocks/Items/store/items-block.js +71 -0
  54. package/dist/extensions/Blocks/Items/template.js +182 -0
  55. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  56. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  57. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +67 -0
  58. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +44 -0
  59. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  60. package/dist/extensions/Blocks/Recommendation/block.js +6 -3
  61. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  62. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  63. package/dist/extensions/Blocks/Recommendation/control.js +69 -40
  64. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  84. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  85. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  86. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  87. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  88. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  89. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  90. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  91. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  92. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  93. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  94. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  95. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  96. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  97. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  98. package/dist/extensions/Blocks/Recommendation/extension.js +42 -7
  99. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  100. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +107 -22
  101. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  102. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  103. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  104. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  105. package/dist/extensions/Blocks/common-control.js +201 -55
  106. package/dist/extensions/Blocks/controlFactories.js +223 -0
  107. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  108. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  109. package/dist/guido.css +1 -1
  110. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +353 -101
  111. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  112. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  113. package/dist/node_modules/lodash-es/_Set.js +6 -0
  114. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  115. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  116. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  117. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  118. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  119. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  120. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  121. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  122. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  123. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  124. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  125. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  126. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  127. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  128. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  129. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  130. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  131. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  132. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  133. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  134. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  135. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  136. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  137. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  138. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  139. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  140. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  141. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  142. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  143. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  144. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  145. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  146. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  147. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  148. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  149. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  150. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  151. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  152. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  153. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  154. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  155. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  156. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  157. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  158. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  159. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  160. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  161. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  162. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  163. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  164. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  165. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  166. package/dist/node_modules/lodash-es/get.js +8 -0
  167. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  168. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  169. package/dist/node_modules/lodash-es/keys.js +9 -0
  170. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  171. package/dist/node_modules/lodash-es/map.js +11 -0
  172. package/dist/node_modules/lodash-es/property.js +10 -0
  173. package/dist/node_modules/lodash-es/range.js +5 -0
  174. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  175. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  176. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  177. package/dist/node_modules/lodash-es/toString.js +7 -0
  178. package/dist/package.json.js +7 -0
  179. package/dist/services/recommendationApi.js +13 -19
  180. package/dist/services/stripoApi.js +19 -49
  181. package/dist/{@types → src/@types}/generic.d.ts +42 -6
  182. package/dist/{components → src/components}/Guido.vue.d.ts +4 -3
  183. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +4 -0
  184. package/dist/{components → src/components}/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  185. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  186. package/dist/{composables → src/composables}/useGuidoActions.d.ts +9 -0
  187. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  188. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  189. package/dist/src/enums/date.d.ts +4 -0
  190. package/dist/src/enums/onboarding.d.ts +6 -0
  191. package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +1 -0
  192. package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
  193. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  194. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  195. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  196. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  197. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  198. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  199. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  200. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  201. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  202. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +49 -0
  203. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
  204. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +161 -0
  205. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +49 -0
  206. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  207. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +41 -0
  208. package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
  209. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  210. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  211. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +44 -0
  212. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  213. package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +1 -0
  214. package/dist/{extensions → src/extensions}/Blocks/Recommendation/block.d.ts +1 -0
  215. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  216. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  217. package/dist/{extensions → src/extensions}/Blocks/Recommendation/control.d.ts +6 -0
  218. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  219. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  220. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  221. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  222. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  223. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  224. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  225. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  226. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  227. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  228. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  229. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  230. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  231. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  232. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  233. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  234. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  235. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  236. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  237. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  238. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  239. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  240. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  241. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  242. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  243. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  244. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  245. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  246. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  247. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  248. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  249. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  250. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  251. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  252. package/dist/{extensions → src/extensions}/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  253. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  254. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  255. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  256. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  257. package/dist/src/extensions/Blocks/common-control.d.ts +124 -0
  258. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  259. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +13 -0
  260. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +66 -0
  261. package/dist/src/extensions/DynamicContent/extension.d.ts +2 -0
  262. package/dist/{stores → src/stores}/config.d.ts +10 -2
  263. package/dist/{stores → src/stores}/dynamic-content.d.ts +3 -3
  264. package/dist/{stores → src/stores}/editor.d.ts +1 -1
  265. package/dist/{stores → src/stores}/onboarding.d.ts +335 -1
  266. package/dist/{stores → src/stores}/preview.d.ts +1 -1
  267. package/dist/{stores → src/stores}/recommendation.d.ts +1 -1
  268. package/dist/{stores → src/stores}/save-as-template.d.ts +1 -1
  269. package/dist/{stores → src/stores}/toaster.d.ts +1 -1
  270. package/dist/{stores → src/stores}/unsubscribe.d.ts +1 -1
  271. package/dist/{stores → src/stores}/version-history.d.ts +1 -1
  272. package/dist/src/utils/dateUtil.d.ts +22 -0
  273. package/dist/src/utils/environmentUtil.d.ts +5 -0
  274. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  275. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  276. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  277. package/dist/static/styles/customEditorStyle.css.js +5 -0
  278. package/dist/stores/config.js +5 -5
  279. package/dist/stores/dynamic-content.js +2 -2
  280. package/dist/stores/editor.js +1 -1
  281. package/dist/stores/onboarding.js +44 -36
  282. package/dist/stores/preview.js +1 -1
  283. package/dist/stores/recommendation.js +3 -3
  284. package/dist/stores/save-as-template.js +2 -2
  285. package/dist/stores/toaster.js +1 -1
  286. package/dist/stores/unsubscribe.js +1 -1
  287. package/dist/stores/version-history.js +4 -4
  288. package/dist/utils/dateUtil.js +24 -3
  289. package/dist/utils/environmentUtil.js +4 -0
  290. package/dist/utils/genericUtil.js +18 -8
  291. package/dist/utils/pairProductVariables.js +136 -0
  292. package/package.json +7 -2
  293. package/dist/composables/useApiErrorTracking.d.ts +0 -26
  294. package/dist/composables/useApiErrorTracking.js +0 -120
  295. package/dist/composables/useErrorTracking.d.ts +0 -30
  296. package/dist/composables/useErrorTracking.js +0 -98
  297. package/dist/composables/useStripoErrorCategory.d.ts +0 -26
  298. package/dist/composables/useStripoErrorCategory.js +0 -86
  299. package/dist/composables/useStripoSlackNotifier.d.ts +0 -8
  300. package/dist/composables/useStripoSlackNotifier.js +0 -47
  301. package/dist/enums/onboarding.d.ts +0 -1
  302. package/dist/extensions/Blocks/Recommendation/template.d.ts +0 -6
  303. package/dist/extensions/Blocks/Recommendation/template.js +0 -200
  304. package/dist/extensions/Blocks/common-control.d.ts +0 -66
  305. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
  306. package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
  307. package/dist/services/slackNotificationService.d.ts +0 -110
  308. package/dist/services/slackNotificationService.js +0 -167
  309. package/dist/services/stripoErrorDeduplicationService.d.ts +0 -75
  310. package/dist/services/stripoErrorDeduplicationService.js +0 -91
  311. package/dist/utils/dateUtil.d.ts +0 -1
  312. package/dist/{@types → src/@types}/events.d.ts +0 -0
  313. package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  314. package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  315. package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  316. package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  317. package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  318. package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  319. package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  320. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  321. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  322. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  323. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  324. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  325. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  326. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
  327. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
  328. package/dist/{components → src/components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
  329. package/dist/{components → src/components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
  330. package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  331. package/dist/{components → src/components}/organisms/header/LeftSlot.vue.d.ts +0 -0
  332. package/dist/{components → src/components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
  333. package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  334. package/dist/{components → src/components}/organisms/header/ViewOptions.vue.d.ts +0 -0
  335. package/dist/{components → src/components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
  336. package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  337. package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  338. package/dist/{components → src/components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
  339. package/dist/{components → src/components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
  340. package/dist/{components → src/components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
  341. package/dist/{components/organisms/onboarding/NewVersionPopup.vue.d.ts → src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts} +0 -0
  342. package/dist/{components → src/components}/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -0
  343. package/dist/{components → src/components}/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -0
  344. package/dist/{components → src/components}/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +0 -0
  345. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -0
  346. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -0
  347. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -0
  348. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -0
  349. package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +0 -0
  350. package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +1 -1
  351. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  352. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  353. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  354. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  355. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  356. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  357. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  358. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  359. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  360. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  361. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  362. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  363. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  364. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  365. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  366. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  367. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  368. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  369. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  370. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  371. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  372. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  373. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  374. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  375. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  376. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  377. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  378. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  379. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  380. /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
  381. /package/dist/{config → src/config}/migrator/index.d.ts +0 -0
  382. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  383. /package/dist/{config → src/config}/migrator/unsubscribeMigrator.d.ts +0 -0
  384. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  385. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  386. /package/dist/{enums → src/enums}/extensions/recommendationBlock.d.ts +0 -0
  387. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  388. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  389. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  390. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  391. /package/dist/{enums → src/enums}/unsubscribe.d.ts +0 -0
  392. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  393. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  394. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  395. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  396. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
  397. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  398. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  399. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  400. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  401. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  402. /package/dist/{extensions/Blocks/RadioButton → src/extensions/Blocks/Items}/extension.d.ts +0 -0
  403. /package/dist/{extensions/Blocks/Recommendation → src/extensions/Blocks/Items}/settingsPanel.d.ts +0 -0
  404. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  405. /package/dist/{extensions/Blocks/Recommendation → src/extensions/Blocks/RadioButton}/extension.d.ts +0 -0
  406. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  407. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  408. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
  409. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  410. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
  411. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  412. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
  413. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
  414. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
  415. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
  416. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Unsubscribe}/extension.d.ts +0 -0
  417. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
  418. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Unsubscribe}/settingsPanel.d.ts +0 -0
  419. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
  420. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
  421. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
  422. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
  423. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  424. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  425. /package/dist/{extensions/DynamicContent → src/extensions/Blocks/_Boilerplate}/extension.d.ts +0 -0
  426. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  427. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  428. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  429. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  430. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  431. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  432. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  433. /package/dist/{mock → src/mock}/api/recommendation.d.ts +0 -0
  434. /package/dist/{mock → src/mock}/api/template-library.d.ts +0 -0
  435. /package/dist/{mock → src/mock}/api/unsubscribe.d.ts +0 -0
  436. /package/dist/{mock → src/mock}/api/user-modal-state.d.ts +0 -0
  437. /package/dist/{mock → src/mock}/api/validator.d.ts +0 -0
  438. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  439. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  440. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  441. /package/dist/{services → src/services}/recommendationApi.d.ts +0 -0
  442. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  443. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  444. /package/dist/{services → src/services}/unsubscribeApi.d.ts +0 -0
  445. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  446. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  447. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  448. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  449. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
package/README.md CHANGED
@@ -52,6 +52,7 @@ npm install @useinsider/guido
52
52
  ref="guidoEditor"
53
53
  :template-id="templateId"
54
54
  :user-id="userId"
55
+ :migration-date="migrationDate"
55
56
  :guido-config="guidoConfig"
56
57
  :html="initialHtml"
57
58
  :css="initialCss"
@@ -74,16 +75,19 @@ export default {
74
75
  return {
75
76
  templateId: 'template-123',
76
77
  userId: 'user-456',
78
+ migrationDate: 1699488000,
77
79
  initialHtml: '<p>Initial HTML content</p>',
78
80
  initialCss: 'p { color: #333; }',
79
81
  guidoConfig: {
80
82
  translationsPath: 'window.trans.en',
81
83
  htmlCompilerRules: [],
82
84
  ignoreDefaultHtmlCompilerRules: false,
85
+ backButtonLabel?: "Back to Design",
83
86
  features: {
84
87
  dynamicContent: true,
85
88
  saveAsTemplate: true,
86
- versionHistory: true
89
+ versionHistory: true,
90
+ testMessage: true
87
91
  }
88
92
  },
89
93
  dynamicContentModalVisible: false
@@ -145,6 +149,7 @@ export default {
145
149
  | `templateId` | `string` | ✅ | - | Unique identifier for the email template |
146
150
  | `userId` | `string` | ✅ | - | Unique identifier for the user |
147
151
  | `guidoConfig` | `GuidoConfig` | ✅ | - | Configuration object for the editor |
152
+ | `migrationDate` | `number` | ✅ | - | Stripo migration date in Unix timestamp (seconds). Retrieved from backend `/partner-settings` endpoint as `migrationDate`. Used for onboarding process |
148
153
  | `partnerName` | `string` | ⚪ | From URL host | Partner identifier |
149
154
  | `productType` | `string` | ⚪ | From URL path | Product type identifier |
150
155
  | `username` | `string` | ⚪ | `'Guido User'` | Display name for the user |
@@ -161,6 +166,8 @@ export default {
161
166
  | `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
162
167
  | `on-change` | void | It Fires once for managing leave modal etc. |
163
168
  | `ready` | void | Fired when the editor is ready and template is loaded |
169
+ | `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
170
+ | `test-email:click` | - | Fired when user clicks the test email button in the header |
164
171
 
165
172
  ### Guido Exposed Methods
166
173
  ```typescript
@@ -190,6 +197,12 @@ interface GuidoConfig {
190
197
  dynamicContent: boolean;
191
198
  saveAsTemplate: boolean;
192
199
  versionHistory: boolean;
200
+ testMessage: boolean;
201
+ displayConditions: boolean;
202
+ };
203
+ blocks?: {
204
+ excludeDefaults?: GuidoBlockType[];
205
+ includeCustoms?: GuidoCustomBlockType[];
193
206
  };
194
207
  }
195
208
  ```
@@ -204,6 +217,10 @@ interface GuidoConfig {
204
217
  | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
205
218
  | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
206
219
  | `features.versionHistory` | `boolean` | `true` | Enable version history feature |
220
+ | `features.displayConditions` | `boolean` | `true` | Enable display conditions |
221
+ | `blocks` | `BlocksConfig` | `{ excludeDefaults: [], includeCustoms: [] }` | Block configuration for excluding default blocks and including custom blocks. See [Blocks Configuration](#-blocks-configuration) section below |
222
+ | `blocks.excludeDefaults` | `GuidoBlockType[]` | `[]` | Array of default Stripo blocks to exclude from the editor |
223
+ | `blocks.includeCustoms` | `GuidoCustomBlockType[]` | `[]` | Array of custom blocks to include in the editor |
207
224
 
208
225
  ```typescript
209
226
  interface DynamicContent {
@@ -220,6 +237,128 @@ interface DynamicContent {
220
237
  | `text` | `string` | '' | Visible value of the dynamic content |
221
238
  | `fallback?` | `string` | '' | Fallback value of the dynamic content. Optional |
222
239
 
240
+ ## 🧱 Blocks Configuration
241
+
242
+ Guido allows you to customize which blocks are available in the editor. You can exclude default Stripo blocks and selectively include custom blocks to create tailored editing experiences for different product types.
243
+
244
+ ### Block Types
245
+
246
+ #### Default Blocks (GuidoBlockType)
247
+
248
+ These are the standard Stripo email editor blocks that can be excluded:
249
+
250
+ ```typescript
251
+ type GuidoBlockType =
252
+ | 'amp-accordion' // AMP accordion component
253
+ | 'amp-carousel' // AMP image carousel
254
+ | 'amp-form-controls' // AMP form elements
255
+ | 'banner-block' // Banner/hero section
256
+ | 'button-block' // Call-to-action buttons
257
+ | 'html-block' // Custom HTML
258
+ | 'image-block' // Image elements
259
+ | 'menu-block' // Navigation menu
260
+ | 'social-block' // Social media links
261
+ | 'spacer-block' // Vertical spacing
262
+ | 'text-block' // Text content
263
+ | 'timer-block' // Countdown timer
264
+ | 'video-block' // Video embeds
265
+ ```
266
+
267
+ #### Custom Blocks (GuidoCustomBlockType)
268
+
269
+ These are custom blocks that can be selectively included:
270
+
271
+ ```typescript
272
+ type GuidoCustomBlockType =
273
+ | 'dynamic-content' // Dynamic content merge tags
274
+ | 'checkbox-block' // Checkbox form input
275
+ | 'radio-button-block' // Radio button form input
276
+ | 'recommendation-block' // Product recommendations
277
+ | 'unsubscribe-block' // Unsubscribe link
278
+ | 'coupon-block' // Coupon/promo code
279
+ | 'items-block' // Cart items display
280
+ ```
281
+
282
+ ### Configuration Examples
283
+
284
+ #### Example 1: Exclude Specific Default Blocks
285
+
286
+ Disable button, image, and video blocks while keeping all custom blocks:
287
+
288
+ ```typescript
289
+ const guidoConfig = {
290
+ translationsPath: 'window.trans.en',
291
+ features: {
292
+ dynamicContent: true,
293
+ saveAsTemplate: true,
294
+ versionHistory: true,
295
+ testMessage: true
296
+ },
297
+ blocks: {
298
+ excludeDefaults: ['button-block', 'image-block', 'video-block']
299
+ }
300
+ };
301
+ ```
302
+
303
+ **Result:**
304
+ - Button, Image, Video blocks disabled
305
+ - All other default blocks enabled
306
+ - All custom blocks are disabled.
307
+
308
+ #### Example 2: Include Only Specific Custom Blocks
309
+
310
+ Enable only coupon and recommendation blocks:
311
+
312
+ ```typescript
313
+ const guidoConfig = {
314
+ translationsPath: 'window.trans.en',
315
+ features: {
316
+ dynamicContent: true,
317
+ saveAsTemplate: true,
318
+ versionHistory: true,
319
+ testMessage: true
320
+ },
321
+ blocks: {
322
+ includeCustoms: ['coupon-block', 'recommendation-block']
323
+ }
324
+ };
325
+ ```
326
+
327
+ **Result:**
328
+ - All default blocks enabled
329
+ - Only Coupon and Recommendation extensions enabled.
330
+ - Other custom blocks are disabled
331
+
332
+ ### Default Behavior
333
+
334
+ When `blocks` is not provided or is `undefined`:
335
+
336
+ ```typescript
337
+ const guidoConfig = {
338
+ translationsPath: 'window.trans.en',
339
+ features: {
340
+ dynamicContent: true,
341
+ saveAsTemplate: true,
342
+ versionHistory: true,
343
+ testMessage: true
344
+ },
345
+ // No blocks config
346
+ };
347
+ ```
348
+
349
+ **Result:**
350
+ - All 13 default Stripo blocks enabled
351
+ - All custom blocks are disabled.
352
+
353
+ ### Block Configuration Interface
354
+
355
+ ```typescript
356
+ interface BlocksConfig {
357
+ excludeDefaults?: GuidoBlockType[];
358
+ includeCustoms?: GuidoCustomBlockType[];
359
+ }
360
+ ```
361
+
223
362
  ### TypeScript Types
224
363
 
225
364
  The library exports the following TypeScript types:
@@ -314,7 +453,8 @@ const guidoConfig = {
314
453
  features: {
315
454
  dynamicContent: true,
316
455
  saveAsTemplate: true,
317
- versionHistory: false // Disable version history
456
+ versionHistory: false, // Disable version history
457
+ testMessage: true
318
458
  },
319
459
  htmlCompilerRules: [
320
460
  {
@@ -347,7 +487,8 @@ const guidoConfig = {
347
487
  features: {
348
488
  dynamicContent: true,
349
489
  saveAsTemplate: true,
350
- versionHistory: true
490
+ versionHistory: true,
491
+ testMessage: true
351
492
  },
352
493
  ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
353
494
  htmlCompilerRules: [
@@ -1,18 +1,20 @@
1
- import o from "./Guido.vue2.js";
1
+ import i from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import i from "../_virtual/_plugin-vue2_normalizer.js";
3
+ import a from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var t = function() {
5
- var a = this, r = a._self._c, e = a._self._setupProxy;
6
- return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
7
- }, s = [], d = /* @__PURE__ */ i(
8
- o,
5
+ var o = this, r = o._self._c, e = o._self._setupProxy;
6
+ return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
7
+ return e.emit("onboarding:finished");
8
+ } } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
9
+ }, n = [], s = /* @__PURE__ */ a(
10
+ i,
9
11
  t,
10
- s,
12
+ n,
11
13
  !1,
12
14
  null,
13
- "5a4aa0bc"
15
+ "23c413c9"
14
16
  );
15
- const l = d.exports;
17
+ const v = s.exports;
16
18
  export {
17
- l as default
19
+ v as default
18
20
  };
@@ -1,23 +1,23 @@
1
- import { defineComponent as M, defineAsyncComponent as G, ref as R, computed as U, watch as z, onMounted as B, onUnmounted as K } from "vue";
2
- import { provideGuidoActions as O } from "../composables/useGuidoActions.js";
3
- import { usePartner as j } from "../composables/usePartner.js";
4
- import { useStripo as q } from "../composables/useStripo.js";
5
- import { migrate as W } from "../config/migrator/index.js";
6
- import { DefaultMessageType as J, DefaultUsername as Q, DefaultGuidoConfig as V } from "../enums/defaults.js";
7
- import X from "./organisms/base/Toaster.vue.js";
8
- import Y from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
- import Z from "./organisms/header/HeaderWrapper.vue.js";
10
- import $ from "./organisms/LoadingWrapper.vue.js";
11
- import ee from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
- import oe from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
- import { useStripoApi as te } from "../services/stripoApi.js";
14
- import { useConfigStore as ne } from "../stores/config.js";
15
- import { useDynamicContentStore as re } from "../stores/dynamic-content.js";
16
- import { useEditorStore as ie } from "../stores/editor.js";
17
- import { usePreviewStore as se } from "../stores/preview.js";
18
- import { useUnsubscribeStore as ae } from "../stores/unsubscribe.js";
19
- import ce from "../node_modules/lodash-es/merge.js";
20
- const Pe = /* @__PURE__ */ M({
1
+ import { defineComponent as O, defineAsyncComponent as I, ref as z, computed as U, watch as B, onMounted as K, onUnmounted as j } from "vue";
2
+ import { provideGuidoActions as q } from "../composables/useGuidoActions.js";
3
+ import { usePartner as J } from "../composables/usePartner.js";
4
+ import { useStripo as Q } from "../composables/useStripo.js";
5
+ import { migrate as L } from "../config/migrator/index.js";
6
+ import { DefaultUsername as V, DefaultMessageType as X, DefaultGuidoConfig as Y } from "../enums/defaults.js";
7
+ import Z from "./organisms/base/Toaster.vue.js";
8
+ import $ from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
+ import ee from "./organisms/header/HeaderWrapper.vue.js";
10
+ import oe from "./organisms/LoadingWrapper.vue.js";
11
+ import te from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
+ import ne from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
+ import { useStripoApi as re } from "../services/stripoApi.js";
14
+ import { useConfigStore as ie } from "../stores/config.js";
15
+ import { useDynamicContentStore as se } from "../stores/dynamic-content.js";
16
+ import { useEditorStore as ae } from "../stores/editor.js";
17
+ import { usePreviewStore as ce } from "../stores/preview.js";
18
+ import { useUnsubscribeStore as me } from "../stores/unsubscribe.js";
19
+ import de from "../node_modules/lodash-es/merge.js";
20
+ const Ue = /* @__PURE__ */ O({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -29,123 +29,106 @@ const Pe = /* @__PURE__ */ M({
29
29
  html: null,
30
30
  css: null,
31
31
  guidoConfig: null,
32
- templateConfig: null,
33
- traceId: null
32
+ templateConfig: null
34
33
  },
35
- emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
36
- setup(F, { expose: L, emit: t }) {
37
- const p = F, k = G(
34
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
35
+ setup(W, { expose: _, emit: o }) {
36
+ const u = W, A = I(
38
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
39
- ), x = G(
38
+ ), N = I(
40
39
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
41
- ), g = R(), c = re(), f = ae(), y = ne(), d = ie(), A = se(), i = U(() => d.hasChanges), { getPartnerName: w, getProductType: v, isTestPartner: N } = j(), S = () => {
40
+ ), p = z(), i = se(), g = me(), f = ie(), s = ae(), F = ce(), n = U(() => s.hasChanges), { getPartnerName: y, getProductType: v, isTestPartner: H } = J(), b = () => {
42
41
  var e;
43
- return (e = g.value) == null ? void 0 : e.handleSave(!0);
42
+ return (e = p.value) == null ? void 0 : e.handleSave(!0);
44
43
  }, {
45
- templateId: n,
46
- userId: s,
47
- guidoConfig: C,
48
- templateConfig: o,
49
- html: a = "",
50
- css: b = "",
51
- partnerName: m = w(),
52
- productType: u = v(),
53
- messageType: h = J,
54
- username: D = Q,
55
- traceId: r
56
- } = p, l = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
57
- d.templateId = n, window.GuidoConfig = ce(V, C), window.GuidoConfig.partner = {
58
- partnerName: m,
59
- productType: u,
60
- messageType: h
61
- }, r && (window.GuidoConfig.traceId = r), y.templateConfig = o;
62
- const { initPlugin: I } = q({
63
- emailId: n,
64
- userId: s,
44
+ templateId: a,
45
+ userId: C,
46
+ guidoConfig: h,
47
+ templateConfig: t,
48
+ html: r = "",
49
+ css: S = "",
50
+ partnerName: c = y(),
51
+ productType: m = v(),
52
+ messageType: w = X,
53
+ username: D = V
54
+ } = u, d = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
55
+ s.templateId = a, window.GuidoConfig = de(Y, h), window.GuidoConfig.partner = {
56
+ partnerName: c,
57
+ productType: m,
58
+ messageType: w
59
+ }, f.templateConfig = t;
60
+ const { initPlugin: E } = Q({
61
+ emailId: a,
62
+ userId: C,
65
63
  username: D,
66
- partnerName: m,
67
- productType: u,
68
- preselectedDynamicContentList: l,
64
+ partnerName: c,
65
+ productType: m,
66
+ preselectedDynamicContentList: d,
69
67
  onReady: () => {
70
- console.debug("guido:ready"), t("ready");
68
+ console.debug("guido:ready"), o("ready");
71
69
  }
72
- }), { getDefaultTemplate: _ } = te(), H = U(() => {
70
+ }), { getDefaultTemplate: T } = re(), R = U(() => {
73
71
  var e;
74
72
  return !((e = window.GuidoConfig) != null && e.useHeader);
75
73
  });
76
- O({
74
+ q({
77
75
  onBack: () => {
78
- console.debug("guido:back"), t("back");
76
+ console.debug("guido:back"), o("back");
79
77
  },
80
78
  onSaveStart: () => {
81
- console.debug("guido:save:start"), t("save:start");
79
+ console.debug("guido:save:start"), o("save:start");
82
80
  },
83
81
  onSaveComplete: (e) => {
84
- console.debug("guido:save:complete", e), t("save:complete", e);
82
+ console.debug("guido:save:complete", e), o("save:complete", e);
83
+ },
84
+ onTestEmailClick: () => {
85
+ console.debug("guido:test-email:click"), o("test-email:click");
85
86
  }
86
87
  });
87
- const E = (e) => {
88
- console.debug("dynamic-content:close", e), c.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
89
- }, T = () => {
88
+ const P = (e) => {
89
+ console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
90
+ }, k = () => {
90
91
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
91
92
  };
92
- return z(() => i.value, () => {
93
- t("on-change", i.value);
94
- }), B(async () => {
93
+ B(() => n.value, () => {
94
+ o("on-change", n.value);
95
+ });
96
+ const l = (e) => {
97
+ const G = e, { attribute: x, position: M } = G.detail;
98
+ console.debug("dynamic-content:open", G.detail), o("dynamic-content:open", x, M);
99
+ };
100
+ return K(async () => {
95
101
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
96
102
  try {
97
- f.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
103
+ g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
98
104
  let e = {
99
- html: a && await W(a),
100
- css: b,
105
+ html: r && await L(r),
106
+ css: S,
101
107
  forceRecreate: !0
102
108
  // TODO: It should be false for old templates. We will communicate with Stripo
103
109
  };
104
- e.html || (e = await _(), e.html = await W(e.html)), await I(e), c.selectedDynamicContentList = l;
110
+ e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
105
111
  } catch (e) {
106
- console.error("Failed to initialize Stripo editor:", e), window.Sentry && window.Sentry.captureException(e, {
107
- tags: {
108
- component: "guido-component",
109
- operation: "mount"
110
- },
111
- contexts: {
112
- guido: {
113
- templateId: n,
114
- userId: s,
115
- traceId: r
116
- }
117
- }
118
- }), window.FS && window.FS("event", "guido_mount_error", {
119
- // eslint-disable-next-line camelcase
120
- errorMessage_str: e instanceof Error ? e.message : String(e),
121
- // eslint-disable-next-line camelcase
122
- templateId_str: n,
123
- // eslint-disable-next-line camelcase
124
- userId_str: s,
125
- // eslint-disable-next-line camelcase
126
- traceId_str: r || ""
127
- });
112
+ console.error("Failed to initialize Stripo editor:", e);
128
113
  }
129
- document.addEventListener("dynamic-content:open", (e) => {
130
- const P = e;
131
- console.debug("dynamic-content:open", P.detail), t("dynamic-content:open", P.detail);
132
- });
133
- }), K(() => {
114
+ document.addEventListener("dynamic-content:open", l);
115
+ }), j(() => {
116
+ document.removeEventListener("dynamic-content:open", l);
134
117
  try {
135
118
  window.UIEditor.removeEditor();
136
119
  } catch {
137
120
  console.debug("Failed to remove Stripo editor: No editor found");
138
121
  }
139
- }), L({
122
+ }), _({
140
123
  dynamicContent: {
141
- insert: E,
142
- close: T
124
+ insert: P,
125
+ close: k
143
126
  },
144
- hasChanges: i,
145
- saveSilent: S
146
- }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: x, headerWrapperRef: g, dynamicContentStore: c, unsubscribeStore: f, props: p, configStore: y, editorStore: d, previewStore: A, hasChanges: i, getPartnerName: w, getProductType: v, isTestPartner: N, saveSilent: S, templateId: n, userId: s, guidoConfig: C, templateConfig: o, html: a, css: b, partnerName: m, productType: u, messageType: h, username: D, traceId: r, preselectedDynamicContentList: l, emit: t, initPlugin: I, getDefaultTemplate: _, noHeader: H, insertDynamicContent: E, closeDynamicContent: T, Toaster: X, FilterSelectionDrawer: Y, HeaderWrapper: Z, LoadingWrapper: $, SaveAsTemplateDrawer: ee, UnsubscribeWrapper: oe };
127
+ hasChanges: n,
128
+ saveSilent: b
129
+ }), { __sfc: !0, PreviewContainer: A, OnboardingWrapper: N, headerWrapperRef: p, dynamicContentStore: i, unsubscribeStore: g, props: u, configStore: f, editorStore: s, previewStore: F, hasChanges: n, getPartnerName: y, getProductType: v, isTestPartner: H, saveSilent: b, templateId: a, userId: C, guidoConfig: h, templateConfig: t, html: r, css: S, partnerName: c, productType: m, messageType: w, username: D, preselectedDynamicContentList: d, emit: o, initPlugin: E, getDefaultTemplate: T, noHeader: R, insertDynamicContent: P, closeDynamicContent: k, handleDynamicContentOpen: l, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: oe, SaveAsTemplateDrawer: te, UnsubscribeWrapper: ne };
147
130
  }
148
131
  });
149
132
  export {
150
- Pe as default
133
+ Ue as default
151
134
  };
@@ -10,7 +10,7 @@ var n = function() {
10
10
  a,
11
11
  !1,
12
12
  null,
13
- "2c168944"
13
+ "0502bceb"
14
14
  );
15
15
  const p = i.exports;
16
16
  export {
@@ -1,28 +1,29 @@
1
- import { defineComponent as s, computed as c } from "vue";
2
- import { useBack as m } from "../../../composables/useGuidoActions.js";
3
- import { usePreviewMode as a } from "../../../composables/usePreviewMode.js";
1
+ import { defineComponent as c, computed as a } from "vue";
2
+ import { useConfig as m } from "../../../composables/useConfig.js";
3
+ import { useBack as u } from "../../../composables/useGuidoActions.js";
4
+ import { usePreviewMode as f } from "../../../composables/usePreviewMode.js";
4
5
  import { useTranslations as p } from "../../../composables/useTranslations.js";
5
- import { useVersionHistoryApi as u } from "../../../composables/useVersionHistoryApi.js";
6
- import { useEditorStore as d } from "../../../stores/editor.js";
7
- import { InButtonV2 as f } from "@useinsider/design-system-vue";
8
- import l from "./version-history/RestoreButton.vue.js";
9
- const O = /* @__PURE__ */ s({
6
+ import { useVersionHistoryApi as d } from "../../../composables/useVersionHistoryApi.js";
7
+ import { useEditorStore as l } from "../../../stores/editor.js";
8
+ import { InButtonV2 as k } from "@useinsider/design-system-vue";
9
+ import B from "./version-history/RestoreButton.vue.js";
10
+ const P = /* @__PURE__ */ c({
10
11
  __name: "LeftSlot",
11
- setup(k) {
12
- const o = d(), r = m(), { closeVersionHistory: t } = u(), { closePreviewMode: i } = a(), e = p(), n = c(() => o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : e("email-editor.back-to-design"));
13
- return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: t, closePreviewMode: i, trans: e, backButtonLabel: n, handleBackClick: () => {
12
+ setup(b) {
13
+ const o = l(), r = u(), { closeVersionHistory: i } = d(), { closePreviewMode: n } = f(), e = p(), { config: t } = m(), s = a(() => o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : t.backButtonLabel ? t.backButtonLabel : e("email-editor.back-to-design"));
14
+ return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: e, config: t, backButtonLabel: s, handleBackClick: () => {
14
15
  if (o.isVersionHistoryOpen) {
15
- t();
16
+ i();
16
17
  return;
17
18
  }
18
19
  if (o.isPreviewModeOpen) {
19
- i();
20
+ n();
20
21
  return;
21
22
  }
22
23
  r();
23
- }, InButtonV2: f, RestoreButton: l };
24
+ }, InButtonV2: k, RestoreButton: B };
24
25
  }
25
26
  });
26
27
  export {
27
- O as default
28
+ P as default
28
29
  };
@@ -1,20 +1,20 @@
1
- import n from "./RightSlot.vue2.js";
2
- import a from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var l = function() {
4
- var s, i;
5
- var o = this, e = o._self._c, t = o._self._setupProxy;
6
- return e("div", { staticClass: "d-f" }, [(s = t.config.features) != null && s.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : o._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : o._e(), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(p) {
1
+ import a from "./RightSlot.vue2.js";
2
+ import l from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var r = function() {
4
+ var o, i, n;
5
+ var s = this, e = s._self._c, t = s._self._setupProxy;
6
+ return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(c) {
7
7
  return t.handleSave(!1);
8
8
  } } })], 1);
9
- }, r = [], d = /* @__PURE__ */ a(
10
- n,
11
- l,
9
+ }, u = [], d = /* @__PURE__ */ l(
10
+ a,
12
11
  r,
12
+ u,
13
13
  !1,
14
14
  null,
15
15
  null
16
16
  );
17
- const g = d.exports;
17
+ const f = d.exports;
18
18
  export {
19
- g as default
19
+ f as default
20
20
  };
@@ -1,35 +1,36 @@
1
- import { defineComponent as g, ref as l, computed as H } from "vue";
2
- import { useConfig as _ } from "../../../composables/useConfig.js";
3
- import { useExport as h } from "../../../composables/useExport.js";
4
- import { useSave as V } from "../../../composables/useSave.js";
5
- import { useTranslations as x } from "../../../composables/useTranslations.js";
1
+ import { defineComponent as H, ref as p, computed as _ } from "vue";
2
+ import { useConfig as h } from "../../../composables/useConfig.js";
3
+ import { useExport as V } from "../../../composables/useExport.js";
4
+ import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
5
+ import { useSave as E } from "../../../composables/useSave.js";
6
+ import { useTranslations as T } from "../../../composables/useTranslations.js";
6
7
  import { useVersionHistoryApi as w } from "../../../composables/useVersionHistoryApi.js";
7
- import { useEditorStore as T } from "../../../stores/editor.js";
8
- import { getTooltipOptions as E } from "../../../utils/tooltipUtils.js";
9
- import { InButtonV2 as O } from "@useinsider/design-system-vue";
10
- const z = /* @__PURE__ */ g({
8
+ import { useEditorStore as C } from "../../../stores/editor.js";
9
+ import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
+ import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
+ const J = /* @__PURE__ */ H({
11
12
  __name: "RightSlot",
12
- setup(A, { expose: m }) {
13
- const { config: u } = _(), { exportHtml: r } = h(), { save: n } = V(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = T(), t = x(), e = l(!1), s = l(!1), c = () => {
14
- if (o.isVersionHistoryOpen) {
13
+ setup(k, { expose: m }) {
14
+ const { config: c } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), t = C(), o = T(), e = p(!1), s = p(!1), u = x(), f = () => {
15
+ if (t.isVersionHistoryOpen) {
15
16
  a();
16
17
  return;
17
18
  }
18
19
  i();
19
- }, f = async () => {
20
+ }, v = async () => {
20
21
  e.value = !0, await r(), e.value = !1;
21
- }, v = () => {
22
- o.isSaveAsTemplateDrawerOpen = !0;
23
- }, d = H(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (y) => {
24
- s.value = !0, o.loadingStatus = !0;
25
- const S = await n(y);
26
- return s.value = !1, o.loadingStatus = !1, S;
22
+ }, d = () => {
23
+ t.isSaveAsTemplateDrawerOpen = !0;
24
+ }, y = _(() => t.isVersionHistoryOpen ? o("newsletter.close-version-history") : o("newsletter.version-history")), l = async (S) => {
25
+ s.value = !0, t.loadingStatus = !0;
26
+ const g = await n(S);
27
+ return s.value = !1, t.loadingStatus = !1, g;
27
28
  };
28
29
  return m({
29
- handleSave: p
30
- }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory: c, handleExport: f, handleSaveAs: v, versionHistoryTooltipText: d, handleSave: p, getTooltipOptions: E, InButtonV2: O };
30
+ handleSave: l
31
+ }), { __sfc: !0, config: c, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: t, trans: o, isExporting: e, isSaving: s, testEmailClick: u, handleVersionHistory: f, handleExport: v, handleSaveAs: d, versionHistoryTooltipText: y, handleSave: l, getTooltipOptions: O, InButtonV2: A };
31
32
  }
32
33
  });
33
34
  export {
34
- z as default
35
+ J as default
35
36
  };