@useinsider/guido 1.0.3-beta.fc5a751 → 1.0.3-beta.ff71e68

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 (343) hide show
  1. package/README.md +3 -144
  2. package/dist/@types/generic.d.ts +49 -0
  3. package/dist/{src/components → components}/Guido.vue.d.ts +3 -5
  4. package/dist/components/Guido.vue.js +9 -11
  5. package/dist/components/Guido.vue2.js +69 -81
  6. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  7. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  8. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  9. package/dist/components/organisms/header/RightSlot.vue2.js +22 -23
  10. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  11. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  12. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  13. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  14. package/dist/{src/components → components}/wrappers/WpDrawer.vue.d.ts +4 -6
  15. package/dist/components/wrappers/WpDrawer.vue.js +4 -6
  16. package/dist/{src/composables → composables}/useGuidoActions.d.ts +0 -9
  17. package/dist/composables/useGuidoActions.js +9 -19
  18. package/dist/composables/useStripo.js +53 -53
  19. package/dist/config/compiler/unsubscribeCompilerRules.js +29 -47
  20. package/dist/config/migrator/index.d.ts +1 -0
  21. package/dist/config/migrator/index.js +7 -9
  22. package/dist/enums/defaults.js +9 -20
  23. package/dist/enums/onboarding.d.ts +1 -0
  24. package/dist/enums/onboarding.js +1 -2
  25. package/dist/enums/unsubscribe.d.ts +15 -0
  26. package/dist/enums/unsubscribe.js +7 -46
  27. package/dist/extensions/Blocks/Checkbox/control.js +31 -35
  28. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  29. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  30. package/dist/extensions/Blocks/RadioButton/control.js +31 -35
  31. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  32. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +6 -0
  33. package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
  34. package/dist/extensions/DynamicContent/dynamic-content.d.ts +16 -0
  35. package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
  36. package/dist/guido.css +1 -1
  37. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -312
  38. package/dist/services/stripoApi.js +1 -1
  39. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  40. package/dist/static/styles/customEditorStyle.css.js +0 -5
  41. package/dist/{src/stores → stores}/dynamic-content.d.ts +3 -3
  42. package/dist/stores/dynamic-content.js +2 -2
  43. package/dist/{src/stores → stores}/editor.d.ts +1 -22
  44. package/dist/stores/editor.js +2 -3
  45. package/dist/{src/stores → stores}/onboarding.d.ts +1 -1
  46. package/dist/stores/onboarding.js +27 -27
  47. package/dist/{src/stores → stores}/preview.d.ts +1 -1
  48. package/dist/stores/preview.js +1 -1
  49. package/dist/{src/stores → stores}/recommendation.d.ts +1 -1
  50. package/dist/stores/recommendation.js +3 -3
  51. package/dist/{src/stores → stores}/save-as-template.d.ts +1 -1
  52. package/dist/stores/save-as-template.js +2 -2
  53. package/dist/{src/stores → stores}/toaster.d.ts +1 -1
  54. package/dist/stores/toaster.js +1 -1
  55. package/dist/stores/unsubscribe.d.ts +8 -0
  56. package/dist/stores/unsubscribe.js +6 -126
  57. package/dist/{src/stores → stores}/version-history.d.ts +1 -1
  58. package/dist/stores/version-history.js +4 -4
  59. package/dist/utils/dateUtil.d.ts +1 -0
  60. package/dist/utils/dateUtil.js +3 -24
  61. package/dist/{src/utils → utils}/genericUtil.d.ts +0 -2
  62. package/dist/utils/genericUtil.js +11 -23
  63. package/dist/utils/templatePreparation.js +16 -17
  64. package/package.json +4 -9
  65. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +0 -28
  66. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +0 -38
  67. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +0 -17
  68. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +0 -37
  69. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +0 -20
  70. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +0 -44
  71. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +0 -17
  72. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +0 -27
  73. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +0 -18
  74. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +0 -16
  75. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +0 -24
  76. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +0 -64
  77. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +0 -18
  78. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +0 -107
  79. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +0 -18
  80. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +0 -12
  81. package/dist/composables/useBlocksConfig.js +0 -49
  82. package/dist/config/migrator/recommendationMigrator.js +0 -293
  83. package/dist/config/migrator/unsubscribeMigrator.js +0 -124
  84. package/dist/enums/date.js +0 -6
  85. package/dist/enums/extensions/recommendationBlock.js +0 -80
  86. package/dist/extensions/Blocks/Recommendation/block.js +0 -30
  87. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  88. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  89. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  90. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  103. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  104. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  105. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  106. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  111. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  112. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  113. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  114. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  115. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  120. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  121. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  122. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  123. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  124. package/dist/extensions/Blocks/Recommendation/extension.js +0 -45
  125. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +0 -51
  126. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -19
  127. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +0 -117
  128. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +0 -266
  129. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  130. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  131. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  132. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +0 -28
  133. package/dist/extensions/Blocks/Unsubscribe/block.js +0 -131
  134. package/dist/extensions/Blocks/Unsubscribe/control.js +0 -167
  135. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +0 -42
  136. package/dist/extensions/Blocks/Unsubscribe/extension.js +0 -21
  137. package/dist/extensions/Blocks/Unsubscribe/iconsRegistry.js +0 -21
  138. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +0 -35
  139. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +0 -42
  140. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.js +0 -10
  141. package/dist/extensions/Blocks/Unsubscribe/template.js +0 -22
  142. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +0 -11
  143. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +0 -6
  144. package/dist/extensions/Blocks/common-control.js +0 -184
  145. package/dist/package.json.js +0 -7
  146. package/dist/services/recommendationApi.js +0 -43
  147. package/dist/services/unsubscribeApi.js +0 -16
  148. package/dist/src/@types/generic.d.ts +0 -98
  149. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -19
  150. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -16
  151. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -4
  152. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -4
  153. package/dist/src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -2
  154. package/dist/src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -2
  155. package/dist/src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -2
  156. package/dist/src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -2
  157. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  158. package/dist/src/config/migrator/index.d.ts +0 -1
  159. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  160. package/dist/src/config/migrator/unsubscribeMigrator.d.ts +0 -1
  161. package/dist/src/enums/date.d.ts +0 -4
  162. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -16
  163. package/dist/src/enums/onboarding.d.ts +0 -2
  164. package/dist/src/enums/unsubscribe.d.ts +0 -38
  165. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -11
  166. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  167. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  168. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  169. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  170. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  171. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  172. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  173. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  197. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +0 -4
  204. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -555
  205. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  206. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  207. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  208. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +0 -7
  209. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +0 -32
  210. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +0 -29
  211. package/dist/src/extensions/Blocks/Unsubscribe/elements/preview.d.ts +0 -11
  212. package/dist/src/extensions/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -4
  213. package/dist/src/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +0 -4
  214. package/dist/src/extensions/Blocks/Unsubscribe/tagRegistry.d.ts +0 -4
  215. package/dist/src/extensions/Blocks/Unsubscribe/template.d.ts +0 -12
  216. package/dist/src/extensions/Blocks/Unsubscribe/utils/constants.d.ts +0 -9
  217. package/dist/src/extensions/Blocks/Unsubscribe/utils/utils.d.ts +0 -7
  218. package/dist/src/extensions/Blocks/_Boilerplate/extension.d.ts +0 -2
  219. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +0 -4
  220. package/dist/src/extensions/Blocks/common-control.d.ts +0 -87
  221. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -13
  222. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +0 -66
  223. package/dist/src/extensions/DynamicContent/extension.d.ts +0 -2
  224. package/dist/src/mock/api/recommendation.d.ts +0 -2
  225. package/dist/src/services/recommendationApi.d.ts +0 -6
  226. package/dist/src/services/unsubscribeApi.d.ts +0 -4
  227. package/dist/src/stores/config.d.ts +0 -104
  228. package/dist/src/stores/unsubscribe.d.ts +0 -256
  229. package/dist/src/utils/dateUtil.d.ts +0 -22
  230. package/dist/src/utils/environmentUtil.d.ts +0 -5
  231. package/dist/stores/config.js +0 -17
  232. package/dist/utils/environmentUtil.js +0 -4
  233. package/dist/{src/@types → @types}/events.d.ts +0 -0
  234. package/dist/{src/@types → @types}/save-as-template.d.ts +0 -0
  235. package/dist/{src/App.vue.d.ts → App.vue.d.ts} +0 -0
  236. package/dist/{src/components → components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  237. package/dist/{src/components → components}/organisms/base/Toaster.vue.d.ts +0 -0
  238. package/dist/{src/components → components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  239. package/dist/{src/components → components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  240. package/dist/{src/components → components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  241. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  242. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  243. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  244. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  245. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  246. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  247. package/dist/{src/components → components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  248. package/dist/{src/components → components}/organisms/header/LeftSlot.vue.d.ts +0 -0
  249. package/dist/{src/components → components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
  250. package/dist/{src/components → components}/organisms/header/RightSlot.vue.d.ts +0 -0
  251. package/dist/{src/components → components}/organisms/header/ViewOptions.vue.d.ts +0 -0
  252. package/dist/{src/components → components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
  253. package/dist/{src/components → components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  254. package/dist/{src/components → components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  255. package/dist/{src/components → components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
  256. package/dist/{src/components → components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
  257. package/dist/{src/components → components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
  258. package/dist/{src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts → components/organisms/onboarding/NewVersionPopup.vue.d.ts} +0 -0
  259. package/dist/{src/components/organisms/extensions/recommendation/Filters.vue.d.ts → components/organisms/onboarding/OnboardingWrapper.vue.d.ts} +0 -0
  260. package/dist/{src/components → components}/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -0
  261. package/dist/{src/components → components}/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -0
  262. package/dist/{src/components → components}/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +0 -0
  263. package/dist/{src/components → components}/wrappers/WpModal.vue.d.ts +1 -1
  264. /package/dist/{src/composables → composables}/useActionsApi.d.ts +0 -0
  265. /package/dist/{src/composables → composables}/useApiExample.d.ts +0 -0
  266. /package/dist/{src/composables → composables}/useCodeEditorApi.d.ts +0 -0
  267. /package/dist/{src/composables → composables}/useConfig.d.ts +0 -0
  268. /package/dist/{src/composables → composables}/useCustomInterfaceAppearance.d.ts +0 -0
  269. /package/dist/{src/composables → composables}/useDebounce.d.ts +0 -0
  270. /package/dist/{src/composables → composables}/useExport.d.ts +0 -0
  271. /package/dist/{src/composables → composables}/useHtmlCompiler.d.ts +0 -0
  272. /package/dist/{src/composables → composables}/useHtmlValidator.d.ts +0 -0
  273. /package/dist/{src/composables → composables}/useHttp.d.ts +0 -0
  274. /package/dist/{src/composables → composables}/usePartner.d.ts +0 -0
  275. /package/dist/{src/composables → composables}/usePreviewMode.d.ts +0 -0
  276. /package/dist/{src/composables → composables}/useProvideInject.d.ts +0 -0
  277. /package/dist/{src/composables → composables}/useRecommendation.d.ts +0 -0
  278. /package/dist/{src/composables → composables}/useResponsivePreview.d.ts +0 -0
  279. /package/dist/{src/composables → composables}/useSave.d.ts +0 -0
  280. /package/dist/{src/composables → composables}/useStripo.d.ts +0 -0
  281. /package/dist/{src/composables → composables}/useStripoEventHandler.d.ts +0 -0
  282. /package/dist/{src/composables → composables}/useToaster.d.ts +0 -0
  283. /package/dist/{src/composables → composables}/useTranslations.d.ts +0 -0
  284. /package/dist/{src/composables → composables}/useValidation.d.ts +0 -0
  285. /package/dist/{src/composables → composables}/useVersionHistoryApi.d.ts +0 -0
  286. /package/dist/{src/composables → composables}/validators/saveAsTemplate.d.ts +0 -0
  287. /package/dist/{src/config → config}/compiler/htmlCompilerRules.d.ts +0 -0
  288. /package/dist/{src/config → config}/compiler/outlookCompilerRules.d.ts +0 -0
  289. /package/dist/{src/config → config}/compiler/recommendationCompilerRules.d.ts +0 -0
  290. /package/dist/{src/config → config}/compiler/socialCompilerRules.d.ts +0 -0
  291. /package/dist/{src/config → config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  292. /package/dist/{src/config → config}/migrator/checkboxMigrator.d.ts +0 -0
  293. /package/dist/{src/config → config}/migrator/couponBlockMigrator.d.ts +0 -0
  294. /package/dist/{src/config → config}/migrator/radioButtonMigrator.d.ts +0 -0
  295. /package/dist/{src/enums → enums}/defaults.d.ts +0 -0
  296. /package/dist/{src/enums → enums}/displayConditions.d.ts +0 -0
  297. /package/dist/{src/enums → enums}/html-validator.d.ts +0 -0
  298. /package/dist/{src/enums → enums}/preview.d.ts +0 -0
  299. /package/dist/{src/enums → enums}/recommendation.d.ts +0 -0
  300. /package/dist/{src/enums → enums}/toaster.d.ts +0 -0
  301. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/block.d.ts +0 -0
  302. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/control.d.ts +0 -0
  303. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  304. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  305. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  306. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/template.d.ts +0 -0
  307. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  308. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  309. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  310. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  311. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  312. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/block.d.ts +0 -0
  313. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/control.d.ts +0 -0
  314. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/extension.d.ts +0 -0
  315. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  316. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  317. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/template.d.ts +0 -0
  318. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  319. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  320. /package/dist/{src/extensions/Blocks/Recommendation → extensions/Blocks/_Boilerplate}/extension.d.ts +0 -0
  321. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  322. /package/dist/{src/extensions/Blocks/Recommendation → extensions/Blocks/_Boilerplate}/settingsPanel.d.ts +0 -0
  323. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  324. /package/dist/{src/extensions/Blocks/Unsubscribe → extensions/DynamicContent}/extension.d.ts +0 -0
  325. /package/dist/{src/library.d.ts → library.d.ts} +0 -0
  326. /package/dist/{src/main.d.ts → main.d.ts} +0 -0
  327. /package/dist/{src/mock → mock}/api/auth.d.ts +0 -0
  328. /package/dist/{src/mock → mock}/api/custom-fonts.d.ts +0 -0
  329. /package/dist/{src/mock → mock}/api/default-template.d.ts +0 -0
  330. /package/dist/{src/mock → mock}/api/template-library.d.ts +0 -0
  331. /package/dist/{src/mock → mock}/api/unsubscribe.d.ts +0 -0
  332. /package/dist/{src/mock → mock}/api/user-modal-state.d.ts +0 -0
  333. /package/dist/{src/mock → mock}/api/validator.d.ts +0 -0
  334. /package/dist/{src/mock → mock}/browser.d.ts +0 -0
  335. /package/dist/{src/mock → mock}/handlers.d.ts +0 -0
  336. /package/dist/{src/services → services}/onboardingApi.d.ts +0 -0
  337. /package/dist/{src/services → services}/stripoApi.d.ts +0 -0
  338. /package/dist/{src/services → services}/templateLibraryApi.d.ts +0 -0
  339. /package/dist/{src/utils → utils}/arrayUtil.d.ts +0 -0
  340. /package/dist/{src/utils → utils}/base64.d.ts +0 -0
  341. /package/dist/{src/utils → utils}/htmlCompiler.d.ts +0 -0
  342. /package/dist/{src/utils → utils}/templatePreparation.d.ts +0 -0
  343. /package/dist/{src/utils → utils}/tooltipUtils.d.ts +0 -0
package/README.md CHANGED
@@ -52,7 +52,6 @@ npm install @useinsider/guido
52
52
  ref="guidoEditor"
53
53
  :template-id="templateId"
54
54
  :user-id="userId"
55
- :migration-date="migrationDate"
56
55
  :guido-config="guidoConfig"
57
56
  :html="initialHtml"
58
57
  :css="initialCss"
@@ -75,19 +74,16 @@ export default {
75
74
  return {
76
75
  templateId: 'template-123',
77
76
  userId: 'user-456',
78
- migrationDate: 1699488000,
79
77
  initialHtml: '<p>Initial HTML content</p>',
80
78
  initialCss: 'p { color: #333; }',
81
79
  guidoConfig: {
82
80
  translationsPath: 'window.trans.en',
83
81
  htmlCompilerRules: [],
84
82
  ignoreDefaultHtmlCompilerRules: false,
85
- backButtonLabel?: "Back to Design",
86
83
  features: {
87
84
  dynamicContent: true,
88
85
  saveAsTemplate: true,
89
- versionHistory: true,
90
- testMessage: true
86
+ versionHistory: true
91
87
  }
92
88
  },
93
89
  dynamicContentModalVisible: false
@@ -149,7 +145,6 @@ export default {
149
145
  | `templateId` | `string` | ✅ | - | Unique identifier for the email template |
150
146
  | `userId` | `string` | ✅ | - | Unique identifier for the user |
151
147
  | `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 |
153
148
  | `partnerName` | `string` | ⚪ | From URL host | Partner identifier |
154
149
  | `productType` | `string` | ⚪ | From URL path | Product type identifier |
155
150
  | `username` | `string` | ⚪ | `'Guido User'` | Display name for the user |
@@ -166,8 +161,6 @@ export default {
166
161
  | `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
167
162
  | `on-change` | void | It Fires once for managing leave modal etc. |
168
163
  | `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 |
171
164
 
172
165
  ### Guido Exposed Methods
173
166
  ```typescript
@@ -197,12 +190,6 @@ interface GuidoConfig {
197
190
  dynamicContent: boolean;
198
191
  saveAsTemplate: boolean;
199
192
  versionHistory: boolean;
200
- testMessage: boolean;
201
- displayConditions: boolean;
202
- };
203
- blocks?: {
204
- excludeDefaults?: GuidoBlockType[];
205
- includeCustoms?: GuidoCustomBlockType[];
206
193
  };
207
194
  }
208
195
  ```
@@ -217,10 +204,6 @@ interface GuidoConfig {
217
204
  | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
218
205
  | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
219
206
  | `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 |
224
207
 
225
208
  ```typescript
226
209
  interface DynamicContent {
@@ -237,128 +220,6 @@ interface DynamicContent {
237
220
  | `text` | `string` | '' | Visible value of the dynamic content |
238
221
  | `fallback?` | `string` | '' | Fallback value of the dynamic content. Optional |
239
222
 
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
-
362
223
  ### TypeScript Types
363
224
 
364
225
  The library exports the following TypeScript types:
@@ -453,8 +314,7 @@ const guidoConfig = {
453
314
  features: {
454
315
  dynamicContent: true,
455
316
  saveAsTemplate: true,
456
- versionHistory: false, // Disable version history
457
- testMessage: true
317
+ versionHistory: false // Disable version history
458
318
  },
459
319
  htmlCompilerRules: [
460
320
  {
@@ -487,8 +347,7 @@ const guidoConfig = {
487
347
  features: {
488
348
  dynamicContent: true,
489
349
  saveAsTemplate: true,
490
- versionHistory: true,
491
- testMessage: true
350
+ versionHistory: true
492
351
  },
493
352
  ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
494
353
  htmlCompilerRules: [
@@ -0,0 +1,49 @@
1
+ import type { CompilerRule } from './html-compiler';
2
+ type Features = {
3
+ dynamicContent?: boolean;
4
+ saveAsTemplate?: boolean;
5
+ versionHistory?: boolean;
6
+ };
7
+ type Partner = {
8
+ partnerName: string;
9
+ productType: number;
10
+ messageType: number;
11
+ };
12
+ export type GuidoConfig = {
13
+ translationsPath: string;
14
+ htmlCompilerRules?: CompilerRule[];
15
+ ignoreDefaultHtmlCompilerRules?: boolean;
16
+ useHeader?: boolean;
17
+ emailHeader: EmailHeader;
18
+ partner?: Partner;
19
+ features?: Features;
20
+ };
21
+ export type DynamicContent = {
22
+ value: string;
23
+ text: string;
24
+ fallback?: string;
25
+ format?: {
26
+ key: string;
27
+ value: string;
28
+ };
29
+ };
30
+ export interface EmailHeader {
31
+ senderName: string;
32
+ subject: string;
33
+ }
34
+ export interface TooltipOptions {
35
+ id: string;
36
+ dynamicPosition: boolean;
37
+ staticPosition: 'top center' | 'top left' | 'top right' | 'bottom center' | 'bottom left' | 'bottom right' | 'right center' | 'right top' | 'right bottom' | 'left center' | 'left top' | 'left bottom';
38
+ iconStatus: boolean;
39
+ offset?: {
40
+ x: number;
41
+ y: number;
42
+ };
43
+ preventXss?: boolean;
44
+ }
45
+ export type MergeTag = {
46
+ label: string;
47
+ value: string;
48
+ };
49
+ export {};
@@ -1,4 +1,4 @@
1
- import type { DynamicContent, GuidoConfig, PositionData, TemplateConfig } from '@@/Types/generic';
1
+ import type { DynamicContent, GuidoConfig } from '@@/Types/generic';
2
2
  import type { SavedTemplateDetails } from '@@/Types/stripo';
3
3
  type __VLS_Props = {
4
4
  templateId: string;
@@ -9,8 +9,8 @@ type __VLS_Props = {
9
9
  username?: string;
10
10
  html?: string;
11
11
  css?: string;
12
+ preselectedDynamicContentList: DynamicContent[];
12
13
  guidoConfig: GuidoConfig;
13
- templateConfig?: TemplateConfig;
14
14
  };
15
15
  declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
16
16
  dynamicContent: {
@@ -20,14 +20,12 @@ 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, position?: PositionData | undefined) => void;
23
+ "dynamic-content:open": (detail: DynamicContent | null) => 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;
31
29
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
32
30
  export default _default;
33
31
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,20 +1,18 @@
1
- import i from "./Guido.vue2.js";
1
+ import o from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import a from "../_virtual/_plugin-vue2_normalizer.js";
3
+ import i from "../_virtual/_plugin-vue2_normalizer.js";
4
4
  var t = function() {
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,
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.SaveAsTemplateDrawer), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper), r(e.LoadingWrapper)], 1);
7
+ }, s = [], d = /* @__PURE__ */ i(
8
+ o,
11
9
  t,
12
- n,
10
+ s,
13
11
  !1,
14
12
  null,
15
- "23c413c9"
13
+ "aca05338"
16
14
  );
17
- const v = s.exports;
15
+ const v = d.exports;
18
16
  export {
19
17
  v as default
20
18
  };
@@ -1,23 +1,19 @@
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({
1
+ import { defineComponent as H, defineAsyncComponent as E, ref as R, computed as G, watch as U, onMounted as x, onUnmounted as F } from "vue";
2
+ import { provideGuidoActions as M } from "../composables/useGuidoActions.js";
3
+ import { usePartner as z } from "../composables/usePartner.js";
4
+ import { useStripo as B } from "../composables/useStripo.js";
5
+ import { migrate as P } from "../config/migrator/index.js";
6
+ import { DefaultUsername as K, DefaultMessageType as O, DefaultGuidoConfig as j } from "../enums/defaults.js";
7
+ import q from "./organisms/base/Toaster.vue.js";
8
+ import J from "./organisms/header/HeaderWrapper.vue.js";
9
+ import Q from "./organisms/LoadingWrapper.vue.js";
10
+ import V from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
11
+ import { useStripoApi as X } from "../services/stripoApi.js";
12
+ import { useDynamicContentStore as Y } from "../stores/dynamic-content.js";
13
+ import { useEditorStore as Z } from "../stores/editor.js";
14
+ import { usePreviewStore as $ } from "../stores/preview.js";
15
+ import ee from "../node_modules/lodash-es/merge.js";
16
+ const ye = /* @__PURE__ */ H({
21
17
  __name: "Guido",
22
18
  props: {
23
19
  templateId: null,
@@ -28,50 +24,49 @@ const Ue = /* @__PURE__ */ O({
28
24
  username: null,
29
25
  html: null,
30
26
  css: null,
31
- guidoConfig: null,
32
- templateConfig: null
27
+ preselectedDynamicContentList: null,
28
+ guidoConfig: null
33
29
  },
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(
30
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
31
+ setup(I, { expose: L, emit: o }) {
32
+ const r = I, _ = E(
37
33
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), N = I(
34
+ ), W = E(
39
35
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
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 = () => {
36
+ ), d = R(), a = Y(), m = Z(), k = $(), t = G(() => m.hasChanges), i = r.preselectedDynamicContentList || [], { getPartnerName: l, getProductType: u, isTestPartner: A } = z(), p = () => {
41
37
  var e;
42
- return (e = p.value) == null ? void 0 : e.handleSave(!0);
38
+ return (e = d.value) == null ? void 0 : e.handleSave(!0);
43
39
  }, {
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,
63
- username: D,
64
- partnerName: c,
65
- productType: m,
66
- preselectedDynamicContentList: d,
40
+ templateId: g,
41
+ userId: f,
42
+ guidoConfig: y,
43
+ html: n = "",
44
+ css: v = "",
45
+ partnerName: s = l(),
46
+ productType: c = u(),
47
+ messageType: C = O,
48
+ username: h = K
49
+ } = r;
50
+ window.GuidoConfig = ee(j, y), window.GuidoConfig.partner = {
51
+ partnerName: s,
52
+ productType: c,
53
+ messageType: C
54
+ };
55
+ const { initPlugin: w } = B({
56
+ emailId: g,
57
+ userId: f,
58
+ username: h,
59
+ partnerName: s,
60
+ productType: c,
61
+ preselectedDynamicContentList: i,
67
62
  onReady: () => {
68
63
  console.debug("guido:ready"), o("ready");
69
64
  }
70
- }), { getDefaultTemplate: T } = re(), R = U(() => {
65
+ }), { getDefaultTemplate: S } = X(), N = G(() => {
71
66
  var e;
72
67
  return !((e = window.GuidoConfig) != null && e.useHeader);
73
68
  });
74
- q({
69
+ M({
75
70
  onBack: () => {
76
71
  console.debug("guido:back"), o("back");
77
72
  },
@@ -80,55 +75,48 @@ const Ue = /* @__PURE__ */ O({
80
75
  },
81
76
  onSaveComplete: (e) => {
82
77
  console.debug("guido:save:complete", e), o("save:complete", e);
83
- },
84
- onTestEmailClick: () => {
85
- console.debug("guido:test-email:click"), o("test-email:click");
86
78
  }
87
79
  });
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 = () => {
80
+ const b = (e) => {
81
+ console.debug("dynamic-content:close", e), a.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
82
+ }, D = () => {
91
83
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
92
84
  };
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 () => {
85
+ return U(() => t.value, () => {
86
+ o("on-change", t.value);
87
+ }), x(async () => {
101
88
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
102
89
  try {
103
- g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
104
90
  let e = {
105
- html: r && await L(r),
106
- css: S,
91
+ html: n && P(n),
92
+ css: v,
107
93
  forceRecreate: !0
108
94
  // TODO: It should be false for old templates. We will communicate with Stripo
109
95
  };
110
- e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
96
+ e.html || (e = await S(), e.html = P(e.html)), await w(e), a.selectedDynamicContentList = i;
111
97
  } catch (e) {
112
98
  console.error("Failed to initialize Stripo editor:", e);
113
99
  }
114
- document.addEventListener("dynamic-content:open", l);
115
- }), j(() => {
116
- document.removeEventListener("dynamic-content:open", l);
100
+ document.addEventListener("dynamic-content:open", (e) => {
101
+ const T = e;
102
+ console.debug("dynamic-content:open", T.detail), o("dynamic-content:open", T.detail);
103
+ });
104
+ }), F(() => {
117
105
  try {
118
106
  window.UIEditor.removeEditor();
119
107
  } catch {
120
108
  console.debug("Failed to remove Stripo editor: No editor found");
121
109
  }
122
- }), _({
110
+ }), L({
123
111
  dynamicContent: {
124
- insert: P,
125
- close: k
112
+ insert: b,
113
+ close: D
126
114
  },
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 };
115
+ hasChanges: t,
116
+ saveSilent: p
117
+ }), { __sfc: !0, PreviewContainer: _, OnboardingWrapper: W, headerWrapperRef: d, dynamicContentStore: a, props: r, editorStore: m, previewStore: k, hasChanges: t, preselectedDynamicContentList: i, getPartnerName: l, getProductType: u, isTestPartner: A, saveSilent: p, templateId: g, userId: f, guidoConfig: y, html: n, css: v, partnerName: s, productType: c, messageType: C, username: h, emit: o, initPlugin: w, getDefaultTemplate: S, noHeader: N, insertDynamicContent: b, closeDynamicContent: D, Toaster: q, HeaderWrapper: J, LoadingWrapper: Q, SaveAsTemplateDrawer: V };
130
118
  }
131
119
  });
132
120
  export {
133
- Ue as default
121
+ ye as default
134
122
  };
@@ -10,7 +10,7 @@ var n = function() {
10
10
  a,
11
11
  !1,
12
12
  null,
13
- "0502bceb"
13
+ "2c168944"
14
14
  );
15
15
  const p = i.exports;
16
16
  export {
@@ -1,29 +1,28 @@
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";
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";
5
4
  import { useTranslations as p } from "../../../composables/useTranslations.js";
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({
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({
11
10
  __name: "LeftSlot",
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: () => {
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: () => {
15
14
  if (o.isVersionHistoryOpen) {
16
- i();
15
+ t();
17
16
  return;
18
17
  }
19
18
  if (o.isPreviewModeOpen) {
20
- n();
19
+ i();
21
20
  return;
22
21
  }
23
22
  r();
24
- }, InButtonV2: k, RestoreButton: B };
23
+ }, InButtonV2: f, RestoreButton: l };
25
24
  }
26
25
  });
27
26
  export {
28
- P as default
27
+ O as default
29
28
  };
@@ -1,20 +1,20 @@
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) {
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) {
7
7
  return t.handleSave(!1);
8
8
  } } })], 1);
9
- }, u = [], d = /* @__PURE__ */ l(
10
- a,
9
+ }, r = [], d = /* @__PURE__ */ a(
10
+ n,
11
+ l,
11
12
  r,
12
- u,
13
13
  !1,
14
14
  null,
15
15
  null
16
16
  );
17
- const f = d.exports;
17
+ const g = d.exports;
18
18
  export {
19
- f as default
19
+ g as default
20
20
  };