@useinsider/guido 1.0.3-beta.df46976 → 1.0.3-beta.dfb1fcf

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 (257) hide show
  1. package/README.md +140 -3
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +79 -73
  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/NewVersionPopup.vue2.js +21 -20
  9. package/dist/composables/useBlocksConfig.js +49 -0
  10. package/dist/composables/useGuidoActions.js +19 -9
  11. package/dist/composables/useStripo.js +53 -57
  12. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  13. package/dist/config/migrator/index.js +7 -6
  14. package/dist/config/migrator/recommendationMigrator.js +293 -0
  15. package/dist/enums/date.js +4 -14
  16. package/dist/enums/defaults.js +16 -9
  17. package/dist/enums/onboarding.js +2 -1
  18. package/dist/enums/unsubscribe.js +27 -25
  19. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  20. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  21. package/dist/extensions/Blocks/Recommendation/block.js +6 -3
  22. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +193 -0
  23. package/dist/extensions/Blocks/Recommendation/constants.js +14 -0
  24. package/dist/extensions/Blocks/Recommendation/control.js +109 -65
  25. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/index.js +272 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +60 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +160 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  35. package/dist/extensions/Blocks/Recommendation/extension.js +18 -7
  36. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +159 -21
  37. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  38. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +184 -0
  39. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +189 -0
  40. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +209 -0
  41. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  42. package/dist/extensions/Blocks/common-control.js +125 -43
  43. package/dist/extensions/Blocks/controlFactories.js +234 -0
  44. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  45. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  46. package/dist/guido.css +1 -1
  47. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +312 -100
  48. package/dist/package.json.js +7 -0
  49. package/dist/services/stripoApi.js +1 -1
  50. package/dist/{@types → src/@types}/generic.d.ts +41 -6
  51. package/dist/{components → src/components}/Guido.vue.d.ts +3 -2
  52. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  53. package/dist/{composables → src/composables}/useGuidoActions.d.ts +9 -0
  54. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  55. package/dist/src/enums/date.d.ts +4 -0
  56. package/dist/src/enums/onboarding.d.ts +2 -0
  57. package/dist/{extensions → src/extensions}/Blocks/Recommendation/block.d.ts +1 -0
  58. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +79 -0
  59. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +91 -0
  60. package/dist/{extensions → src/extensions}/Blocks/Recommendation/control.d.ts +11 -2
  61. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  62. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +71 -0
  63. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  65. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  66. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  67. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  68. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +16 -0
  69. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +50 -0
  70. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  71. package/dist/{extensions → src/extensions}/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  72. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  73. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  74. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +52 -0
  75. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  76. package/dist/{extensions → src/extensions}/Blocks/common-control.d.ts +21 -0
  77. package/dist/src/extensions/Blocks/controlFactories.d.ts +95 -0
  78. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +13 -0
  79. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +66 -0
  80. package/dist/{stores → src/stores}/config.d.ts +9 -2
  81. package/dist/{stores → src/stores}/dynamic-content.d.ts +3 -3
  82. package/dist/{stores → src/stores}/editor.d.ts +1 -1
  83. package/dist/{stores → src/stores}/onboarding.d.ts +1 -1
  84. package/dist/{stores → src/stores}/preview.d.ts +1 -1
  85. package/dist/{stores → src/stores}/recommendation.d.ts +1 -1
  86. package/dist/{stores → src/stores}/save-as-template.d.ts +1 -1
  87. package/dist/{stores → src/stores}/toaster.d.ts +1 -1
  88. package/dist/{stores → src/stores}/unsubscribe.d.ts +1 -1
  89. package/dist/{stores → src/stores}/version-history.d.ts +1 -1
  90. package/dist/src/utils/dateUtil.d.ts +22 -0
  91. package/dist/src/utils/environmentUtil.d.ts +5 -0
  92. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  93. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  94. package/dist/static/styles/components/wide-panel.css.js +0 -4
  95. package/dist/static/styles/customEditorStyle.css.js +19 -0
  96. package/dist/stores/config.js +5 -5
  97. package/dist/stores/dynamic-content.js +2 -2
  98. package/dist/stores/editor.js +1 -1
  99. package/dist/stores/onboarding.js +27 -27
  100. package/dist/stores/preview.js +1 -1
  101. package/dist/stores/recommendation.js +3 -3
  102. package/dist/stores/save-as-template.js +2 -2
  103. package/dist/stores/toaster.js +1 -1
  104. package/dist/stores/unsubscribe.js +1 -1
  105. package/dist/stores/version-history.js +4 -4
  106. package/dist/utils/dateUtil.js +33 -7
  107. package/dist/utils/environmentUtil.js +4 -0
  108. package/dist/utils/genericUtil.js +20 -9
  109. package/package.json +7 -2
  110. package/dist/enums/date.d.ts +0 -13
  111. package/dist/enums/onboarding.d.ts +0 -1
  112. package/dist/extensions/Blocks/Recommendation/template.d.ts +0 -6
  113. package/dist/extensions/Blocks/Recommendation/template.js +0 -200
  114. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
  115. package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
  116. package/dist/utils/dateUtil.d.ts +0 -2
  117. package/dist/{@types → src/@types}/events.d.ts +0 -0
  118. package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  119. package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  120. package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  121. package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  122. package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  123. package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  124. package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  125. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  126. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  127. package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  128. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  129. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  130. package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  131. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
  132. package/dist/{components → src/components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
  133. package/dist/{components → src/components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
  134. package/dist/{components → src/components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
  135. package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  136. package/dist/{components → src/components}/organisms/header/LeftSlot.vue.d.ts +0 -0
  137. package/dist/{components → src/components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
  138. package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  139. package/dist/{components → src/components}/organisms/header/ViewOptions.vue.d.ts +0 -0
  140. package/dist/{components → src/components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
  141. package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  142. package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  143. package/dist/{components → src/components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
  144. package/dist/{components → src/components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
  145. package/dist/{components → src/components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
  146. package/dist/{components → src/components}/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -0
  147. package/dist/{components → src/components}/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -0
  148. package/dist/{components → src/components}/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -0
  149. package/dist/{components → src/components}/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -0
  150. package/dist/{components → src/components}/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +0 -0
  151. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -0
  152. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -0
  153. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -0
  154. package/dist/{components → src/components}/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -0
  155. package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +0 -0
  156. package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +1 -1
  157. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  158. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  159. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  160. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  161. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  162. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  163. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  164. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  165. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  166. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  167. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  168. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  169. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  170. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  171. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  172. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  173. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  174. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  175. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  176. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  177. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  178. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  179. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  180. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  181. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  182. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  183. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  184. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  185. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  186. /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
  187. /package/dist/{config → src/config}/migrator/index.d.ts +0 -0
  188. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  189. /package/dist/{config → src/config}/migrator/unsubscribeMigrator.d.ts +0 -0
  190. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  191. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  192. /package/dist/{enums → src/enums}/extensions/recommendationBlock.d.ts +0 -0
  193. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  194. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  195. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  196. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  197. /package/dist/{enums → src/enums}/unsubscribe.d.ts +0 -0
  198. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +0 -0
  199. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  200. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  201. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  202. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  203. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
  204. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  205. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  206. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  207. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  208. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  209. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +0 -0
  210. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  211. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/extension.d.ts +0 -0
  212. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  213. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  214. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
  215. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/extension.d.ts +0 -0
  216. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
  217. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/settingsPanel.d.ts +0 -0
  218. /package/dist/{extensions → src/extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
  219. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
  220. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
  221. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
  222. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/extension.d.ts +0 -0
  223. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
  224. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/settingsPanel.d.ts +0 -0
  225. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
  226. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
  227. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
  228. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
  229. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  230. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  231. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/extension.d.ts +0 -0
  232. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  233. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/settingsPanel.d.ts +0 -0
  234. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  235. /package/dist/{extensions → src/extensions}/DynamicContent/extension.d.ts +0 -0
  236. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  237. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  238. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  239. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  240. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  241. /package/dist/{mock → src/mock}/api/recommendation.d.ts +0 -0
  242. /package/dist/{mock → src/mock}/api/template-library.d.ts +0 -0
  243. /package/dist/{mock → src/mock}/api/unsubscribe.d.ts +0 -0
  244. /package/dist/{mock → src/mock}/api/user-modal-state.d.ts +0 -0
  245. /package/dist/{mock → src/mock}/api/validator.d.ts +0 -0
  246. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  247. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  248. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  249. /package/dist/{services → src/services}/recommendationApi.d.ts +0 -0
  250. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  251. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  252. /package/dist/{services → src/services}/unsubscribeApi.d.ts +0 -0
  253. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  254. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  255. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  256. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  257. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
@@ -0,0 +1,49 @@
1
+ const l = {
2
+ "amp-accordion": "ampAccordionEnabled",
3
+ "amp-carousel": "ampCarouselEnabled",
4
+ "amp-form-controls": "ampFormControlsEnabled",
5
+ "banner-block": "bannerEnabled",
6
+ "button-block": "buttonEnabled",
7
+ "html-block": "htmlEnabled",
8
+ "image-block": "imageEnabled",
9
+ "menu-block": "menuEnabled",
10
+ "social-block": "socialNetEnabled",
11
+ "spacer-block": "spacerEnabled",
12
+ "text-block": "textEnabled",
13
+ "timer-block": "timerEnabled",
14
+ "video-block": "videoEnabled"
15
+ }, c = {
16
+ "dynamic-content": () => import("../extensions/DynamicContent/extension.js"),
17
+ "checkbox-block": () => import("../extensions/Blocks/Checkbox/extension.js"),
18
+ "radio-button-block": () => import("../extensions/Blocks/RadioButton/extension.js"),
19
+ "recommendation-block": () => import("../extensions/Blocks/Recommendation/extension.js"),
20
+ "unsubscribe-block": () => import("../extensions/Blocks/Unsubscribe/extension.js"),
21
+ "coupon-block": () => import("../extensions/Blocks/CouponBlock/extension.js"),
22
+ "items-block": null
23
+ // TODO: Add ItemsBlock extension when available
24
+ }, a = (n) => {
25
+ if (!n || !n.length)
26
+ return {};
27
+ const o = {};
28
+ return n.forEach((e) => {
29
+ const t = l[e];
30
+ t && (o[t] = !1);
31
+ }), o;
32
+ }, r = async (n) => !n || !n.length ? [] : (await Promise.all(
33
+ n.map(async (e) => {
34
+ const t = c[e];
35
+ return t ? (await t()).default : null;
36
+ })
37
+ )).filter((e) => e !== null), s = () => ({
38
+ getStripoBlocksConfig: async () => {
39
+ var e;
40
+ const o = (e = window.GuidoConfig) == null ? void 0 : e.blocks;
41
+ return {
42
+ baseBlocks: a(o == null ? void 0 : o.excludeDefaults),
43
+ extensions: await r(o == null ? void 0 : o.includeCustoms)
44
+ };
45
+ }
46
+ });
47
+ export {
48
+ s as useBlocksConfig
49
+ };
@@ -1,6 +1,6 @@
1
1
  import { provideValue as o, useInjectedValue as t } from "./useProvideInject.js";
2
- const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symbol.for("guido.save.complete"), s = (e) => {
3
- o(r, e.onBack), o(n, e.onSaveStart), o(a, e.onSaveComplete);
2
+ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), c = Symbol.for("guido.save.complete"), a = Symbol.for("guido.test.email.click"), i = (e) => {
3
+ o(r, e.onBack), o(n, e.onSaveStart), o(c, e.onSaveComplete), o(a, e.onTestEmailClick);
4
4
  }, u = () => {
5
5
  try {
6
6
  return t(r);
@@ -9,7 +9,7 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symb
9
9
  "useBack: No back handler provided. Make sure Guido component is in the component tree."
10
10
  );
11
11
  }
12
- }, d = () => {
12
+ }, l = () => {
13
13
  try {
14
14
  return t(n);
15
15
  } catch {
@@ -17,21 +17,31 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symb
17
17
  "useSaveStart: No save start handler provided. Make sure Guido component is in the component tree."
18
18
  );
19
19
  }
20
- }, i = () => {
20
+ }, d = () => {
21
21
  try {
22
- return t(a);
22
+ return t(c);
23
23
  } catch {
24
24
  throw new Error(
25
25
  "useSaveComplete: No save complete handler provided. Make sure Guido component is in the component tree."
26
26
  );
27
27
  }
28
+ }, m = () => {
29
+ try {
30
+ return t(a);
31
+ } catch {
32
+ throw new Error(
33
+ "useTestEmailClick: No test email click handler provided. Make sure Guido component is in the component tree."
34
+ );
35
+ }
28
36
  };
29
37
  export {
30
38
  r as BACK_KEY,
31
- a as SAVE_COMPLETE_KEY,
39
+ c as SAVE_COMPLETE_KEY,
32
40
  n as SAVE_START_KEY,
33
- s as provideGuidoActions,
41
+ a as TEST_EMAIL_CLICK_KEY,
42
+ i as provideGuidoActions,
34
43
  u as useBack,
35
- i as useSaveComplete,
36
- d as useSaveStart
44
+ d as useSaveComplete,
45
+ l as useSaveStart,
46
+ m as useTestEmailClick
37
47
  };
@@ -1,28 +1,26 @@
1
- import { useActionsApi as f } from "./useActionsApi.js";
2
- import { useCustomInterfaceAppearance as E } from "./useCustomInterfaceAppearance.js";
3
- import { useStripoEventHandler as S } from "./useStripoEventHandler.js";
4
- import { useToaster as C } from "./useToaster.js";
5
- import { displayConditions as y } from "../enums/displayConditions.js";
6
- import h from "../extensions/Blocks/Checkbox/extension.js";
7
- import w from "../extensions/Blocks/CouponBlock/extension.js";
8
- import b from "../extensions/Blocks/RadioButton/extension.js";
9
- import _ from "../extensions/Blocks/Recommendation/extension.js";
10
- import k from "../extensions/Blocks/Unsubscribe/extension.js";
11
- import B from "../extensions/DynamicContent/extension.js";
12
- import { useStripoApi as V } from "../services/stripoApi.js";
13
- import x from "../static/styles/customEditorStyle.css.js";
14
- import { useEditorStore as F } from "../stores/editor.js";
15
- import { dynamicContentToMergeTags as A } from "../utils/genericUtil.js";
16
- const G = (s) => {
17
- const { handleError: d } = C(), { getToken: c, getCustomFonts: u } = V(), { handleEvent: m } = S(), l = (r, i = []) => {
18
- const t = F(), { html: e, css: a, forceRecreate: g } = r;
1
+ import { useActionsApi as w } from "./useActionsApi.js";
2
+ import { useBlocksConfig as b } from "./useBlocksConfig.js";
3
+ import { useConfig as k } from "./useConfig.js";
4
+ import { useCustomInterfaceAppearance as B } from "./useCustomInterfaceAppearance.js";
5
+ import { useStripoEventHandler as V } from "./useStripoEventHandler.js";
6
+ import { useToaster as _ } from "./useToaster.js";
7
+ import { displayConditions as T } from "../enums/displayConditions.js";
8
+ import { useStripoApi as A } from "../services/stripoApi.js";
9
+ import F from "../static/styles/customEditorStyle.css.js";
10
+ import { useEditorStore as M } from "../stores/editor.js";
11
+ import { dynamicContentToMergeTags as U } from "../utils/genericUtil.js";
12
+ import v from "../package.json.js";
13
+ const J = (c) => {
14
+ const { config: l } = k(), { handleError: u } = _(), { getToken: f, getCustomFonts: S } = A(), { handleEvent: y } = V(), { getStripoBlocksConfig: C } = b(), E = async (i, r = []) => {
15
+ var m, g;
16
+ const t = M(), { html: n, css: p, forceRecreate: a } = i, { baseBlocks: e, extensions: d } = await C();
19
17
  window.UIEditor.initEditor(
20
18
  document.querySelector("#guido-editor"),
21
19
  {
22
- metadata: s,
23
- html: e,
24
- css: a,
25
- forceRecreate: g,
20
+ metadata: c,
21
+ html: n,
22
+ css: p,
23
+ forceRecreate: a,
26
24
  locale: "en",
27
25
  undoButtonSelector: "#guido__undo-button",
28
26
  redoButtonSelector: "#guido__redo-button",
@@ -32,39 +30,44 @@ const G = (s) => {
32
30
  customAppearanceMergetags: !0,
33
31
  customAppearanceMergetagsBorderColor: "#f1f3fe",
34
32
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
35
- customViewStyles: x,
36
- conditionsEnabled: !0,
37
- customConditionsEnabled: !0,
38
- conditionCategories: y,
33
+ customViewStyles: F,
34
+ conditionsEnabled: ((m = l.features) == null ? void 0 : m.displayConditions) ?? !0,
35
+ customConditionsEnabled: ((g = l.features) == null ? void 0 : g.displayConditions) ?? !0,
36
+ conditionCategories: T,
39
37
  enableXSSSecurity: !0,
40
- messageSettingsEnabled: !1,
38
+ messageSettingsEnabled: !0,
39
+ displayGmailAnnotations: !0,
40
+ displayHiddenPreheader: !1,
41
+ displayTitle: !1,
42
+ displayUTM: !1,
41
43
  selectBlockAfterDropFromSettingsPanel: !0,
44
+ ...e ? { baseBlocks: e } : {},
42
45
  editorFonts: {
43
46
  showDefaultStandardFonts: !0,
44
47
  showDefaultNotStandardFonts: !0,
45
- customFonts: i
48
+ customFonts: r
46
49
  },
47
50
  mergeTags: [
48
51
  {
49
- entries: A(s.preselectedDynamicContentList)
52
+ entries: U(c.preselectedDynamicContentList)
50
53
  }
51
54
  ],
52
55
  async onTokenRefreshRequest(o) {
53
56
  try {
54
- const n = await c();
55
- o(n);
56
- } catch (n) {
57
- d(n, "Failed to refresh token");
57
+ const s = await f();
58
+ o(s);
59
+ } catch (s) {
60
+ u(s, "Failed to refresh token");
58
61
  }
59
62
  },
60
63
  onTemplateLoaded() {
61
64
  try {
62
- const { importCss: o } = E(), { activateCustomViewStyles: n } = f();
63
- o(), n(), s.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
65
+ const { importCss: o } = B(), { activateCustomViewStyles: s } = w();
66
+ o(), s(), c.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
64
67
  t.hasChanges = !1;
65
68
  }, 1e3);
66
69
  } catch (o) {
67
- d(o, "Failed to load custom interface appearance");
70
+ u(o, "Failed to load custom interface appearance");
68
71
  }
69
72
  },
70
73
  onCodeEditorVisibilityChanged(o) {
@@ -79,42 +82,35 @@ const G = (s) => {
79
82
  onDataChanged() {
80
83
  t.hasChanges = !0;
81
84
  },
82
- onEvent: m,
85
+ onEvent: y,
83
86
  ignoreClickOutsideSelectors: [
84
87
  "#guido-dynamic-content-modal",
85
88
  ".in-on-board-wrapper",
86
89
  ".in-drawer__container"
87
90
  ],
88
- extensions: [
89
- B,
90
- h,
91
- b,
92
- _,
93
- k,
94
- w
95
- ]
91
+ extensions: d
96
92
  }
97
93
  );
98
- }, p = (r) => new Promise((i, t) => {
94
+ }, h = (i) => new Promise((r, t) => {
95
+ var d;
99
96
  if (document.getElementById("UiEditorScript")) {
100
- r(), i();
97
+ i(), r();
101
98
  return;
102
99
  }
103
- const e = document.createElement("script");
104
- e.id = "UiEditorScript", e.type = "module", e.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", e.onload = () => {
105
- r(), i();
100
+ const n = v.guido, a = `https://email-static.useinsider.com/guido/${(d = n == null ? void 0 : n.stripo) == null ? void 0 : d.version}/UIEditor.js`, e = document.createElement("script");
101
+ e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
102
+ i(), r();
106
103
  }, e.onerror = () => {
107
- const a = new Error("Failed to load Stripo UIEditor script");
108
- t(a);
104
+ t(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
109
105
  }, document.body.appendChild(e);
110
106
  });
111
- return { initPlugin: async (r) => {
112
- await p(async () => {
113
- const i = await u();
114
- l(r, i);
107
+ return { initPlugin: async (i) => {
108
+ await h(async () => {
109
+ const r = await S();
110
+ await E(i, r);
115
111
  });
116
112
  } };
117
113
  };
118
114
  export {
119
- G as useStripo
115
+ J as useStripo
120
116
  };
@@ -1,36 +1,41 @@
1
- import { usePartner as U } from "../../composables/usePartner.js";
2
- import { LINK_REGEXES as l, LINK_TYPES as b, URLS as f } from "../../enums/unsubscribe.js";
3
- import { parsePageList as B } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
4
- import { useConfigStore as N } from "../../stores/config.js";
5
- import { useUnsubscribeStore as I } from "../../stores/unsubscribe.js";
6
- const T = [
1
+ import { usePartner as N } from "../../composables/usePartner.js";
2
+ import { LINK_REGEXES as l, LINK_TYPES as g, INSIDER_ID as f, URLS as S } from "../../enums/unsubscribe.js";
3
+ import { parsePageList as U } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
4
+ import { useConfigStore as B } from "../../stores/config.js";
5
+ import { useDynamicContentStore as y } from "../../stores/dynamic-content.js";
6
+ import { useUnsubscribeStore as L } from "../../stores/unsubscribe.js";
7
+ const D = [
7
8
  {
8
9
  id: "add-unsubscribe-link-values",
9
10
  description: "Adding unsubscribe link values",
10
11
  type: "custom",
11
12
  processor: (t) => {
12
- const { getPartnerName: i } = U(), a = N(), n = I(), u = a.getVariationId;
13
- if (!u)
13
+ const { getPartnerName: i } = N(), c = B(), n = y(), u = L(), a = c.getVariationId;
14
+ if (!a)
14
15
  return t;
15
- let o = t;
16
- const e = `/${i()}/email/${u}?user={{iid}}`;
17
- return new DOMParser().parseFromString(o, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
18
- var g;
19
- const d = p.getAttribute("data-unsubscribe-page-list");
20
- if (!d)
16
+ let e = t;
17
+ const r = `/${i()}/email/${a}?user={{iid}}`;
18
+ return new DOMParser().parseFromString(e, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
19
+ var b;
20
+ const m = p.getAttribute("data-unsubscribe-page-list");
21
+ if (!m)
21
22
  return;
22
- const S = B(d), m = ((g = n.templates) == null ? void 0 : g.filter(
23
- (c) => S.includes(c.id)
24
- )) ?? [], R = m.some((c) => c.type === b.UNSUBSCRIBE_LINK_TYPE), _ = m.some((c) => c.type === b.PREFERENCES_LINK_TYPE), E = p.outerHTML;
23
+ const R = U(m), d = ((b = u.templates) == null ? void 0 : b.filter(
24
+ (o) => R.includes(o.id)
25
+ )) ?? [], _ = d.some((o) => o.type === g.UNSUBSCRIBE_LINK_TYPE), I = d.some((o) => o.type === g.PREFERENCES_LINK_TYPE), E = p.outerHTML;
25
26
  let s = E;
26
- R && (s = s.replace(
27
+ _ && (n.selectedDynamicContentList.push({
28
+ text: f,
29
+ value: f,
30
+ fallback: ""
31
+ }), s = s.replace(
27
32
  l.GLOBAL_UNSUBSCRIBE_LINK_REGEX,
28
- f.UNSUBSCRIBE_URL + e
29
- )), _ && (s = s.replace(
33
+ S.UNSUBSCRIBE_URL + r
34
+ )), I && (s = s.replace(
30
35
  l.PREFERENCES_UNSUBSCRIBE_LINK_REGEX,
31
- f.PREFERENCES_URL + e
32
- )), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), o = o.replace(E, s);
33
- }), o;
36
+ S.PREFERENCES_URL + r
37
+ )), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), e = e.replace(E, s);
38
+ }), e;
34
39
  },
35
40
  priority: 60
36
41
  },
@@ -56,16 +61,16 @@ const T = [
56
61
  type: "custom",
57
62
  processor: (t) => {
58
63
  let i = t;
59
- const a = i.match(/<a[^>]+>(.*?)<\/a>/gm);
60
- return a && a.forEach((n) => {
64
+ const c = i.match(/<a[^>]+>(.*?)<\/a>/gm);
65
+ return c && c.forEach((n) => {
61
66
  if (n.includes("insEmail=1"))
62
67
  return;
63
68
  if (n.match(/<a\s+(?:[^>]*?\s+)?href=(["'`”])(.*?)\1\s+(?:[^>]*?\s+)?universal=(["'`”])true\3/gm)) {
64
- const o = n.replace(/href=(["'`”])(.*?)\1/gm, (e) => {
69
+ const a = n.replace(/href=(["'`”])(.*?)\1/gm, (e) => {
65
70
  const r = e.slice(6, e.length - 1).trim();
66
71
  return e.includes("?") || e.includes("#") ? r.slice(-1) === "&" ? e.replace(r, `${r}insEmail=1`) : e.replace(r, `${r}&insEmail=1`) : e.replace(r, `${r}?insEmail=1`);
67
72
  });
68
- i = i.replace(n, o);
73
+ i = i.replace(n, a);
69
74
  }
70
75
  }), i;
71
76
  },
@@ -73,5 +78,5 @@ const T = [
73
78
  }
74
79
  ];
75
80
  export {
76
- T as unsubscribeCompilerRules
81
+ D as unsubscribeCompilerRules
77
82
  };
@@ -1,11 +1,12 @@
1
- import { migrateCheckbox as o } from "./checkboxMigrator.js";
2
- import { migrateCouponBlock as m } from "./couponBlockMigrator.js";
1
+ import { migrateCheckbox as m } from "./checkboxMigrator.js";
2
+ import { migrateCouponBlock as o } from "./couponBlockMigrator.js";
3
3
  import { migrateRadioButton as i } from "./radioButtonMigrator.js";
4
- import { migrateUnsubscribe as e } from "./unsubscribeMigrator.js";
5
- const c = async (t) => {
4
+ import { migrateRecommendation as e } from "./recommendationMigrator.js";
5
+ import { migrateUnsubscribe as a } from "./unsubscribeMigrator.js";
6
+ const s = async (t) => {
6
7
  let r = t;
7
- return r = o(r), r = i(r), r = await e(r), r = m(r), r;
8
+ return r = m(r), r = i(r), r = await a(r), r = o(r), r = e(r), r;
8
9
  };
9
10
  export {
10
- c as migrate
11
+ s as migrate
11
12
  };