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

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 (344) hide show
  1. package/README.md +3 -173
  2. package/dist/{src/@types → @types}/generic.d.ts +0 -15
  3. package/dist/{src/components → components}/Guido.vue.d.ts +1 -1
  4. package/dist/components/Guido.vue.js +10 -12
  5. package/dist/components/Guido.vue2.js +90 -67
  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/onboarding/NewVersionPopup.vue.js +9 -9
  10. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  12. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  13. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
  14. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  15. package/dist/composables/useApiErrorTracking.d.ts +26 -0
  16. package/dist/composables/useApiErrorTracking.js +120 -0
  17. package/dist/composables/useErrorTracking.d.ts +30 -0
  18. package/dist/composables/useErrorTracking.js +98 -0
  19. package/dist/composables/useHttp.js +89 -52
  20. package/dist/composables/useStripo.js +158 -57
  21. package/dist/composables/useStripoErrorCategory.d.ts +26 -0
  22. package/dist/composables/useStripoErrorCategory.js +86 -0
  23. package/dist/composables/useStripoSlackNotifier.d.ts +8 -0
  24. package/dist/composables/useStripoSlackNotifier.js +47 -0
  25. package/dist/config/migrator/index.js +6 -7
  26. package/dist/enums/defaults.js +8 -15
  27. package/dist/enums/extensions/recommendationBlock.js +2 -2
  28. package/dist/enums/onboarding.d.ts +1 -0
  29. package/dist/enums/onboarding.js +1 -2
  30. package/dist/{src/extensions → extensions}/Blocks/Checkbox/block.d.ts +0 -1
  31. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  32. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  33. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  34. package/dist/{src/extensions → extensions}/Blocks/RadioButton/block.d.ts +0 -1
  35. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  36. package/dist/{src/extensions → extensions}/Blocks/Recommendation/block.d.ts +0 -1
  37. package/dist/extensions/Blocks/Recommendation/block.js +3 -6
  38. package/dist/{src/extensions → extensions}/Blocks/Recommendation/control.d.ts +0 -6
  39. package/dist/extensions/Blocks/Recommendation/control.js +40 -69
  40. package/dist/extensions/Blocks/Recommendation/extension.js +7 -42
  41. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  42. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +22 -107
  43. package/dist/extensions/Blocks/Recommendation/template.d.ts +6 -0
  44. package/dist/extensions/Blocks/Recommendation/template.js +200 -0
  45. package/dist/{src/extensions → extensions}/Blocks/common-control.d.ts +5 -40
  46. package/dist/extensions/Blocks/common-control.js +60 -167
  47. package/dist/guido.css +1 -1
  48. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +101 -343
  49. package/dist/services/recommendationApi.js +19 -13
  50. package/dist/services/slackNotificationService.d.ts +110 -0
  51. package/dist/services/slackNotificationService.js +167 -0
  52. package/dist/services/stripoApi.js +49 -19
  53. package/dist/services/stripoErrorDeduplicationService.d.ts +75 -0
  54. package/dist/services/stripoErrorDeduplicationService.js +91 -0
  55. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  56. package/dist/static/styles/customEditorStyle.css.js +0 -5
  57. package/dist/{src/stores → stores}/config.d.ts +0 -7
  58. package/dist/utils/dateUtil.d.ts +1 -0
  59. package/dist/utils/dateUtil.js +3 -24
  60. package/dist/utils/genericUtil.js +8 -7
  61. package/package.json +3 -15
  62. package/dist/composables/useBlocksConfig.js +0 -48
  63. package/dist/config/migrator/recommendationMigrator.js +0 -293
  64. package/dist/enums/date.js +0 -6
  65. package/dist/extensions/Blocks/Items/block.js +0 -70
  66. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -60
  67. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -99
  68. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -60
  69. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  70. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -63
  71. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -100
  72. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -113
  73. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -69
  74. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -38
  75. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -279
  76. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  77. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -181
  78. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -63
  79. package/dist/extensions/Blocks/Items/extension.js +0 -19
  80. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  81. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  82. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -64
  83. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -66
  84. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -106
  85. package/dist/extensions/Blocks/Items/store/items-block.js +0 -67
  86. package/dist/extensions/Blocks/Items/template.js +0 -108
  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/controls/button/align.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  103. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  104. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  105. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  106. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  111. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  112. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  113. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  114. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  115. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  120. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  121. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  122. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  123. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  124. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  125. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  126. package/dist/extensions/Blocks/controlFactories.js +0 -223
  127. package/dist/package.json.js +0 -7
  128. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -4
  129. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -4
  130. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  131. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  132. package/dist/src/enums/date.d.ts +0 -4
  133. package/dist/src/enums/onboarding.d.ts +0 -2
  134. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -12
  135. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  136. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -20
  137. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  138. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  139. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  140. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  141. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -20
  142. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  143. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -9
  144. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -42
  145. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  146. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -143
  147. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -35
  148. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  149. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -39
  150. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -16
  151. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  152. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  153. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  154. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  155. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  156. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  157. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  158. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  159. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  160. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  161. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  162. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  163. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  164. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  165. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  166. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  167. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  168. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  169. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  170. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  171. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  172. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  173. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  188. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  189. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  190. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +0 -4
  191. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
  192. package/dist/src/extensions/DynamicContent/extension.d.ts +0 -2
  193. package/dist/src/utils/dateUtil.d.ts +0 -22
  194. package/dist/{src/@types → @types}/events.d.ts +0 -0
  195. package/dist/{src/@types → @types}/save-as-template.d.ts +0 -0
  196. package/dist/{src/App.vue.d.ts → App.vue.d.ts} +0 -0
  197. package/dist/{src/components → components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  198. package/dist/{src/components → components}/organisms/base/Toaster.vue.d.ts +0 -0
  199. package/dist/{src/components → components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  200. package/dist/{src/components → components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  201. package/dist/{src/components → components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  202. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  203. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  204. package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  205. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  206. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  207. package/dist/{src/components → components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  208. package/dist/{src/components → components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
  209. package/dist/{src/components → components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
  210. package/dist/{src/components → components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
  211. package/dist/{src/components → components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
  212. package/dist/{src/components → components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  213. package/dist/{src/components → components}/organisms/header/LeftSlot.vue.d.ts +0 -0
  214. package/dist/{src/components → components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
  215. package/dist/{src/components → components}/organisms/header/RightSlot.vue.d.ts +0 -0
  216. package/dist/{src/components → components}/organisms/header/ViewOptions.vue.d.ts +0 -0
  217. package/dist/{src/components → components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
  218. package/dist/{src/components → components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  219. package/dist/{src/components → components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  220. package/dist/{src/components → components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
  221. package/dist/{src/components → components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
  222. package/dist/{src/components → components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
  223. package/dist/{src/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts → components/organisms/onboarding/NewVersionPopup.vue.d.ts} +0 -0
  224. package/dist/{src/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts → components/organisms/onboarding/OnboardingWrapper.vue.d.ts} +0 -0
  225. package/dist/{src/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts → components/organisms/onboarding/TextBlockOnboarding.vue.d.ts} +0 -0
  226. package/dist/{src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts → components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts} +0 -0
  227. package/dist/{src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts → components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts} +0 -0
  228. package/dist/{src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts → components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts} +0 -0
  229. package/dist/{src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts → components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts} +0 -0
  230. package/dist/{src/components → components}/wrappers/WpDrawer.vue.d.ts +0 -0
  231. package/dist/{src/components → components}/wrappers/WpModal.vue.d.ts +1 -1
  232. /package/dist/{src/composables → composables}/useActionsApi.d.ts +0 -0
  233. /package/dist/{src/composables → composables}/useApiExample.d.ts +0 -0
  234. /package/dist/{src/composables → composables}/useCodeEditorApi.d.ts +0 -0
  235. /package/dist/{src/composables → composables}/useConfig.d.ts +0 -0
  236. /package/dist/{src/composables → composables}/useCustomInterfaceAppearance.d.ts +0 -0
  237. /package/dist/{src/composables → composables}/useDebounce.d.ts +0 -0
  238. /package/dist/{src/composables → composables}/useExport.d.ts +0 -0
  239. /package/dist/{src/composables → composables}/useGuidoActions.d.ts +0 -0
  240. /package/dist/{src/composables → composables}/useHtmlCompiler.d.ts +0 -0
  241. /package/dist/{src/composables → composables}/useHtmlValidator.d.ts +0 -0
  242. /package/dist/{src/composables → composables}/useHttp.d.ts +0 -0
  243. /package/dist/{src/composables → composables}/usePartner.d.ts +0 -0
  244. /package/dist/{src/composables → composables}/usePreviewMode.d.ts +0 -0
  245. /package/dist/{src/composables → composables}/useProvideInject.d.ts +0 -0
  246. /package/dist/{src/composables → composables}/useRecommendation.d.ts +0 -0
  247. /package/dist/{src/composables → composables}/useResponsivePreview.d.ts +0 -0
  248. /package/dist/{src/composables → composables}/useSave.d.ts +0 -0
  249. /package/dist/{src/composables → composables}/useStripo.d.ts +0 -0
  250. /package/dist/{src/composables → composables}/useStripoEventHandler.d.ts +0 -0
  251. /package/dist/{src/composables → composables}/useToaster.d.ts +0 -0
  252. /package/dist/{src/composables → composables}/useTranslations.d.ts +0 -0
  253. /package/dist/{src/composables → composables}/useValidation.d.ts +0 -0
  254. /package/dist/{src/composables → composables}/useVersionHistoryApi.d.ts +0 -0
  255. /package/dist/{src/composables → composables}/validators/saveAsTemplate.d.ts +0 -0
  256. /package/dist/{src/config → config}/compiler/htmlCompilerRules.d.ts +0 -0
  257. /package/dist/{src/config → config}/compiler/outlookCompilerRules.d.ts +0 -0
  258. /package/dist/{src/config → config}/compiler/recommendationCompilerRules.d.ts +0 -0
  259. /package/dist/{src/config → config}/compiler/socialCompilerRules.d.ts +0 -0
  260. /package/dist/{src/config → config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  261. /package/dist/{src/config → config}/migrator/checkboxMigrator.d.ts +0 -0
  262. /package/dist/{src/config → config}/migrator/couponBlockMigrator.d.ts +0 -0
  263. /package/dist/{src/config → config}/migrator/index.d.ts +0 -0
  264. /package/dist/{src/config → config}/migrator/radioButtonMigrator.d.ts +0 -0
  265. /package/dist/{src/config → config}/migrator/unsubscribeMigrator.d.ts +0 -0
  266. /package/dist/{src/enums → enums}/defaults.d.ts +0 -0
  267. /package/dist/{src/enums → enums}/displayConditions.d.ts +0 -0
  268. /package/dist/{src/enums → enums}/extensions/recommendationBlock.d.ts +0 -0
  269. /package/dist/{src/enums → enums}/html-validator.d.ts +0 -0
  270. /package/dist/{src/enums → enums}/preview.d.ts +0 -0
  271. /package/dist/{src/enums → enums}/recommendation.d.ts +0 -0
  272. /package/dist/{src/enums → enums}/toaster.d.ts +0 -0
  273. /package/dist/{src/enums → enums}/unsubscribe.d.ts +0 -0
  274. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/control.d.ts +0 -0
  275. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  276. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  277. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  278. /package/dist/{src/extensions → extensions}/Blocks/Checkbox/template.d.ts +0 -0
  279. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  280. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  281. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  282. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  283. /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  284. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/control.d.ts +0 -0
  285. /package/dist/{src/extensions/Blocks/Items → extensions/Blocks/RadioButton}/extension.d.ts +0 -0
  286. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  287. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  288. /package/dist/{src/extensions → extensions}/Blocks/RadioButton/template.d.ts +0 -0
  289. /package/dist/{src/extensions/Blocks/RadioButton → extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  290. /package/dist/{src/extensions → extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
  291. /package/dist/{src/extensions/Blocks/Items → extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  292. /package/dist/{src/extensions → extensions}/Blocks/Recommendation/store/recommendation.d.ts +0 -0
  293. /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
  294. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
  295. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
  296. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
  297. /package/dist/{src/extensions/Blocks/Recommendation → extensions/Blocks/Unsubscribe}/extension.d.ts +0 -0
  298. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
  299. /package/dist/{src/extensions/Blocks/Recommendation → extensions/Blocks/Unsubscribe}/settingsPanel.d.ts +0 -0
  300. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
  301. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
  302. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
  303. /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
  304. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  305. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  306. /package/dist/{src/extensions/Blocks/Unsubscribe → extensions/Blocks/_Boilerplate}/extension.d.ts +0 -0
  307. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  308. /package/dist/{src/extensions/Blocks/Unsubscribe → extensions/Blocks/_Boilerplate}/settingsPanel.d.ts +0 -0
  309. /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  310. /package/dist/{src/extensions → extensions}/DynamicContent/dynamic-content-modal.d.ts +0 -0
  311. /package/dist/{src/extensions → extensions}/DynamicContent/dynamic-content.d.ts +0 -0
  312. /package/dist/{src/extensions/Blocks/_Boilerplate → extensions/DynamicContent}/extension.d.ts +0 -0
  313. /package/dist/{src/library.d.ts → library.d.ts} +0 -0
  314. /package/dist/{src/main.d.ts → main.d.ts} +0 -0
  315. /package/dist/{src/mock → mock}/api/auth.d.ts +0 -0
  316. /package/dist/{src/mock → mock}/api/custom-fonts.d.ts +0 -0
  317. /package/dist/{src/mock → mock}/api/default-template.d.ts +0 -0
  318. /package/dist/{src/mock → mock}/api/recommendation.d.ts +0 -0
  319. /package/dist/{src/mock → mock}/api/template-library.d.ts +0 -0
  320. /package/dist/{src/mock → mock}/api/unsubscribe.d.ts +0 -0
  321. /package/dist/{src/mock → mock}/api/user-modal-state.d.ts +0 -0
  322. /package/dist/{src/mock → mock}/api/validator.d.ts +0 -0
  323. /package/dist/{src/mock → mock}/browser.d.ts +0 -0
  324. /package/dist/{src/mock → mock}/handlers.d.ts +0 -0
  325. /package/dist/{src/services → services}/onboardingApi.d.ts +0 -0
  326. /package/dist/{src/services → services}/recommendationApi.d.ts +0 -0
  327. /package/dist/{src/services → services}/stripoApi.d.ts +0 -0
  328. /package/dist/{src/services → services}/templateLibraryApi.d.ts +0 -0
  329. /package/dist/{src/services → services}/unsubscribeApi.d.ts +0 -0
  330. /package/dist/{src/stores → stores}/dynamic-content.d.ts +0 -0
  331. /package/dist/{src/stores → stores}/editor.d.ts +0 -0
  332. /package/dist/{src/stores → stores}/onboarding.d.ts +0 -0
  333. /package/dist/{src/stores → stores}/preview.d.ts +0 -0
  334. /package/dist/{src/stores → stores}/recommendation.d.ts +0 -0
  335. /package/dist/{src/stores → stores}/save-as-template.d.ts +0 -0
  336. /package/dist/{src/stores → stores}/toaster.d.ts +0 -0
  337. /package/dist/{src/stores → stores}/unsubscribe.d.ts +0 -0
  338. /package/dist/{src/stores → stores}/version-history.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}/genericUtil.d.ts +0 -0
  342. /package/dist/{src/utils → utils}/htmlCompiler.d.ts +0 -0
  343. /package/dist/{src/utils → utils}/templatePreparation.d.ts +0 -0
  344. /package/dist/{src/utils → utils}/tooltipUtils.d.ts +0 -0
@@ -1,13 +1,19 @@
1
1
  import { useHttp as c } from "../composables/useHttp.js";
2
2
  import { URLS as a } from "../enums/extensions/recommendationBlock.js";
3
- const R = () => {
3
+ import { useEditorStore as m } from "../stores/editor.js";
4
+ import { replaceString as s } from "../utils/genericUtil.js";
5
+ const l = () => {
4
6
  const { get: o } = c();
5
7
  return {
6
8
  fetchRecommendationCreateData: async () => {
9
+ const e = m();
7
10
  try {
8
- return (await o("/newsletter/recommendations/create-data")).data;
9
- } catch (e) {
10
- throw console.error("fetchUserModalState error:", e), e;
11
+ return (await o(s(
12
+ "/newsletter/{id}/recommendations/get-campaign-create-data",
13
+ { id: e.templateId }
14
+ ))).data;
15
+ } catch (t) {
16
+ throw console.error("fetchUserModalState error:", t), t;
11
17
  }
12
18
  },
13
19
  fetchRecommendationFilters: async () => {
@@ -18,20 +24,20 @@ const R = () => {
18
24
  throw console.error("fetchRecommendationFilters error:", e), e;
19
25
  }
20
26
  },
21
- fetchRecommendationProducts: async (e, n) => {
27
+ fetchRecommendationProducts: async (e, t) => {
22
28
  try {
23
- const t = decodeURIComponent(new URLSearchParams(Object.entries(n)).toString());
24
- console.debug("🏁 Recommendation API Query:", t);
25
- const r = await o(
26
- `${a.RECOMMENDATION_API_URL}/v2/${e}?${t}`
29
+ const r = decodeURIComponent(new URLSearchParams(Object.entries(t)).toString());
30
+ console.debug("🏁 Recommendation API Query:", r);
31
+ const n = await o(
32
+ `${a.RECOMMENDATION_API_URL}/v2/${e}?${r}`
27
33
  );
28
- return (r == null ? void 0 : r.data) ?? [];
29
- } catch (t) {
30
- throw console.error("fetchRecommendationProducts error:", t), t;
34
+ return (n == null ? void 0 : n.data) ?? [];
35
+ } catch (r) {
36
+ throw console.error("fetchRecommendationProducts error:", r), r;
31
37
  }
32
38
  }
33
39
  };
34
40
  };
35
41
  export {
36
- R as useRecommendationApi
42
+ l as useRecommendationApi
37
43
  };
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Slack notification payload structure
3
+ */
4
+ export interface SlackNotificationPayload {
5
+ channel?: string;
6
+ username?: string;
7
+ icon_emoji?: string;
8
+ text?: string;
9
+ attachments?: SlackAttachment[];
10
+ }
11
+ /**
12
+ * Slack attachment for formatted messages
13
+ */
14
+ export interface SlackAttachment {
15
+ color?: string;
16
+ title?: string;
17
+ title_link?: string;
18
+ text?: string;
19
+ fields?: SlackField[];
20
+ footer?: string;
21
+ ts?: number;
22
+ }
23
+ /**
24
+ * Slack field for structured data
25
+ */
26
+ export interface SlackField {
27
+ title: string;
28
+ value: string;
29
+ short?: boolean;
30
+ }
31
+ /**
32
+ * Slack error notification content
33
+ */
34
+ export interface SlackErrorNotification {
35
+ title: string;
36
+ message: string;
37
+ errorType: string;
38
+ severity: 'low' | 'medium' | 'high' | 'critical';
39
+ context?: Record<string, unknown>;
40
+ stackTrace?: string;
41
+ timestamp?: number;
42
+ }
43
+ /**
44
+ * Service for sending error notifications to Slack
45
+ * Used to alert team members about critical Stripo errors
46
+ */
47
+ export declare class SlackNotificationService {
48
+ private webhookUrl;
49
+ private channel;
50
+ private defaultUsername;
51
+ private enabled;
52
+ constructor(webhookUrl?: string, options?: {
53
+ channel?: string;
54
+ username?: string;
55
+ enabled?: boolean;
56
+ });
57
+ /**
58
+ * Send an error notification to Slack
59
+ */
60
+ sendErrorNotification(notification: SlackErrorNotification): Promise<boolean>;
61
+ /**
62
+ * Send a critical error that requires immediate attention
63
+ */
64
+ sendCriticalError(title: string, message: string, context?: Record<string, unknown>): Promise<boolean>;
65
+ /**
66
+ * Send a CORS error notification
67
+ */
68
+ sendCorsErrorNotification(resourceUrl?: string, additionalContext?: Record<string, unknown>): Promise<boolean>;
69
+ /**
70
+ * Send a plugin load error notification
71
+ */
72
+ sendPluginLoadErrorNotification(reason: string, additionalContext?: Record<string, unknown>): Promise<boolean>;
73
+ /**
74
+ * Build Slack message payload from error notification
75
+ */
76
+ private buildErrorPayload;
77
+ /**
78
+ * Format field title for Slack (e.g., emailId -> Email ID)
79
+ */
80
+ private formatFieldTitle;
81
+ /**
82
+ * Format field value for Slack display
83
+ */
84
+ private formatFieldValue;
85
+ /**
86
+ * Check if notifications are enabled
87
+ */
88
+ isEnabled(): boolean;
89
+ /**
90
+ * Update webhook URL
91
+ */
92
+ setWebhookUrl(url: string): void;
93
+ /**
94
+ * Update channel
95
+ */
96
+ setChannel(channel: string): void;
97
+ /**
98
+ * Enable/disable notifications
99
+ */
100
+ setEnabled(enabled: boolean): void;
101
+ }
102
+ export declare const getSlackNotificationService: () => SlackNotificationService;
103
+ /**
104
+ * Initialize or reinitialize Slack notification service
105
+ */
106
+ export declare const initializeSlackNotificationService: (webhookUrl?: string, options?: {
107
+ channel?: string;
108
+ username?: string;
109
+ enabled?: boolean;
110
+ }) => SlackNotificationService;
@@ -0,0 +1,167 @@
1
+ var d = Object.defineProperty;
2
+ var h = (t, e, r) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var i = (t, e, r) => h(t, typeof e != "symbol" ? e + "" : e, r);
4
+ class u {
5
+ constructor(e, r) {
6
+ i(this, "webhookUrl");
7
+ i(this, "channel");
8
+ i(this, "defaultUsername");
9
+ i(this, "enabled");
10
+ this.webhookUrl = e || void 0 || "", this.channel = (r == null ? void 0 : r.channel) || "#errors", this.defaultUsername = (r == null ? void 0 : r.username) || "Guido Error Bot", this.enabled = (r == null ? void 0 : r.enabled) !== !1, this.webhookUrl || (console.warn("[SlackNotificationService] Webhook URL not configured, Slack notifications disabled"), this.enabled = !1);
11
+ }
12
+ /**
13
+ * Send an error notification to Slack
14
+ */
15
+ async sendErrorNotification(e) {
16
+ if (!this.enabled || !this.webhookUrl)
17
+ return !1;
18
+ try {
19
+ const r = this.buildErrorPayload(e), a = await fetch(this.webhookUrl, {
20
+ method: "POST",
21
+ headers: {
22
+ "Content-Type": "application/json"
23
+ },
24
+ body: JSON.stringify(r)
25
+ });
26
+ return a.ok ? !0 : (console.error("[SlackNotificationService] Failed to send Slack notification:", a.statusText), !1);
27
+ } catch (r) {
28
+ return console.error("[SlackNotificationService] Error sending Slack notification:", r), !1;
29
+ }
30
+ }
31
+ /**
32
+ * Send a critical error that requires immediate attention
33
+ */
34
+ async sendCriticalError(e, r, a) {
35
+ return this.sendErrorNotification({
36
+ title: e,
37
+ message: r,
38
+ errorType: "critical",
39
+ severity: "critical",
40
+ context: a,
41
+ timestamp: Date.now()
42
+ });
43
+ }
44
+ /**
45
+ * Send a CORS error notification
46
+ */
47
+ async sendCorsErrorNotification(e, r) {
48
+ return this.sendCriticalError(
49
+ "CORS Error in Stripo Email Editor",
50
+ "Failed to load Stripo resources due to CORS restrictions",
51
+ {
52
+ resourceUrl: e,
53
+ ...r,
54
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
55
+ }
56
+ );
57
+ }
58
+ /**
59
+ * Send a plugin load error notification
60
+ */
61
+ async sendPluginLoadErrorNotification(e, r) {
62
+ return this.sendCriticalError(
63
+ "Stripo Plugin Failed to Load",
64
+ `Email editor initialization failed: ${e}`,
65
+ {
66
+ ...r,
67
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
68
+ }
69
+ );
70
+ }
71
+ /**
72
+ * Build Slack message payload from error notification
73
+ */
74
+ buildErrorPayload(e) {
75
+ const a = {
76
+ critical: "#E74C3C",
77
+ // Red
78
+ high: "#E67E22",
79
+ // Orange
80
+ medium: "#F39C12",
81
+ // Yellow
82
+ low: "#3498DB"
83
+ // Blue
84
+ }[e.severity] || "#95A5A6", l = [
85
+ {
86
+ title: "Error Type",
87
+ value: e.errorType,
88
+ short: !0
89
+ },
90
+ {
91
+ title: "Severity",
92
+ value: e.severity.toUpperCase(),
93
+ short: !0
94
+ },
95
+ {
96
+ title: "Timestamp",
97
+ value: e.timestamp ? new Date(e.timestamp).toISOString() : (/* @__PURE__ */ new Date()).toISOString(),
98
+ short: !0
99
+ }
100
+ ];
101
+ e.context && Object.entries(e.context).forEach(([n, c]) => {
102
+ l.length < 20 && l.push({
103
+ title: this.formatFieldTitle(n),
104
+ value: this.formatFieldValue(c),
105
+ short: !0
106
+ });
107
+ });
108
+ const s = {
109
+ color: a,
110
+ title: e.title,
111
+ text: e.message,
112
+ fields: l,
113
+ footer: "Guido Error Tracking",
114
+ ts: Math.floor((e.timestamp || Date.now()) / 1e3)
115
+ };
116
+ return e.stackTrace && (s.text = `${e.message}
117
+ \`\`\`${e.stackTrace}\`\`\``), {
118
+ channel: this.channel,
119
+ username: this.defaultUsername,
120
+ // eslint-disable-next-line camelcase
121
+ icon_emoji: ":warning:",
122
+ attachments: [s]
123
+ };
124
+ }
125
+ /**
126
+ * Format field title for Slack (e.g., emailId -> Email ID)
127
+ */
128
+ formatFieldTitle(e) {
129
+ return e.replace(/([A-Z])/g, " $1").replace(/^./, (r) => r.toUpperCase()).trim();
130
+ }
131
+ /**
132
+ * Format field value for Slack display
133
+ */
134
+ formatFieldValue(e) {
135
+ return e == null ? "(empty)" : typeof e == "object" ? JSON.stringify(e).slice(0, 500) : String(e).slice(0, 500);
136
+ }
137
+ /**
138
+ * Check if notifications are enabled
139
+ */
140
+ isEnabled() {
141
+ return this.enabled;
142
+ }
143
+ /**
144
+ * Update webhook URL
145
+ */
146
+ setWebhookUrl(e) {
147
+ this.webhookUrl = e, this.enabled = !!e;
148
+ }
149
+ /**
150
+ * Update channel
151
+ */
152
+ setChannel(e) {
153
+ this.channel = e;
154
+ }
155
+ /**
156
+ * Enable/disable notifications
157
+ */
158
+ setEnabled(e) {
159
+ this.enabled = e && !!this.webhookUrl;
160
+ }
161
+ }
162
+ let o = null;
163
+ const S = () => (o || (o = new u()), o);
164
+ export {
165
+ u as SlackNotificationService,
166
+ S as getSlackNotificationService
167
+ };
@@ -1,25 +1,45 @@
1
- import { useHttp as a } from "../composables/useHttp.js";
2
- import { useToaster as s } from "../composables/useToaster.js";
3
- const m = () => {
4
- const { get: r } = a(), { handleError: o } = s();
1
+ import { useApiErrorTracking as i } from "../composables/useApiErrorTracking.js";
2
+ import { useHttp as c } from "../composables/useHttp.js";
3
+ import { useToaster as p } from "../composables/useToaster.js";
4
+ const h = () => {
5
+ const { get: s } = c(), { handleError: n } = p(), { withParsingErrorTracking: a } = i();
5
6
  return {
6
7
  getToken: async () => {
7
8
  try {
8
- const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await r(`/stripo/get-user-token?test=${t}`);
9
- return e.body.token;
9
+ const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await s(`/stripo/get-user-token?test=${t}`);
10
+ return a(
11
+ () => {
12
+ var o;
13
+ if (!((o = e == null ? void 0 : e.body) != null && o.token))
14
+ throw new Error("Invalid token response: missing token in response body");
15
+ return e.body.token;
16
+ },
17
+ "/stripo/get-user-token",
18
+ e,
19
+ { endpoint: "/stripo/get-user-token", operation: "getToken" }
20
+ );
10
21
  } catch (t) {
11
- return o(t, "Failed to fetch token"), "";
22
+ return n(t, "Failed to fetch token"), "";
12
23
  }
13
24
  },
14
25
  getCustomFonts: async () => {
15
26
  try {
16
- const { data: t = [] } = await r("/stripo/get-partner-custom-fonts");
17
- return t.map((e) => ({
18
- ...e,
19
- active: !0
20
- }));
27
+ const { data: t = [] } = await s("/stripo/get-partner-custom-fonts");
28
+ return a(
29
+ () => {
30
+ if (!Array.isArray(t))
31
+ throw new Error("Invalid fonts response: expected array");
32
+ return t.map((r) => ({
33
+ ...r,
34
+ active: !0
35
+ }));
36
+ },
37
+ "/stripo/get-partner-custom-fonts",
38
+ t,
39
+ { endpoint: "/stripo/get-partner-custom-fonts", operation: "getCustomFonts" }
40
+ );
21
41
  } catch (t) {
22
- return o(t, "Failed to fetch custom fonts"), [];
42
+ return n(t, "Failed to fetch custom fonts"), [];
23
43
  }
24
44
  },
25
45
  getDefaultTemplate: async () => {
@@ -29,21 +49,31 @@ const m = () => {
29
49
  forceRecreate: !0
30
50
  };
31
51
  try {
32
- const { data: e } = await r("/stripo/default-template/0");
52
+ const { data: e } = await s("/stripo/default-template");
33
53
  try {
34
54
  return {
35
- ...JSON.parse(e),
55
+ ...a(
56
+ () => {
57
+ const o = JSON.parse(e);
58
+ if (!o.html)
59
+ throw new Error("Invalid template response: missing html field");
60
+ return o;
61
+ },
62
+ "/stripo/default-template",
63
+ e,
64
+ { endpoint: "/stripo/default-template", operation: "getDefaultTemplate" }
65
+ ),
36
66
  forceRecreate: !0
37
67
  };
38
- } catch {
39
- return t;
68
+ } catch (r) {
69
+ return r instanceof Error && !r.message.includes("Invalid template") && n(r, "Failed to parse template as JSON"), t;
40
70
  }
41
71
  } catch (e) {
42
- return o(e, "Failed to fetch default template"), t;
72
+ return n(e, "Failed to fetch default template"), t;
43
73
  }
44
74
  }
45
75
  };
46
76
  };
47
77
  export {
48
- m as useStripoApi
78
+ h as useStripoApi
49
79
  };
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Service for handling Stripo error deduplication locally in Guido
3
+ *
4
+ * IMPORTANT: These errors are Guido's responsibility, not consuming teams'
5
+ * - Errors are caught and handled within Guido
6
+ * - Slack alerts notify Guido team to take action
7
+ * - Do NOT propagate errors to consuming teams' error tracking
8
+ * - Do NOT require backend involvement (errors are client-side)
9
+ *
10
+ * This keeps Stripo integration issues isolated to Guido's systems
11
+ */
12
+ export interface StripoErrorDuplication {
13
+ errorType: string;
14
+ errorMessage: string;
15
+ errorCategory: string;
16
+ context: {
17
+ emailId?: string;
18
+ userId?: string;
19
+ environment?: string;
20
+ timestamp: string;
21
+ [key: string]: unknown;
22
+ };
23
+ reportedAt: string;
24
+ }
25
+ /**
26
+ * Service for deduplicating Stripo error alerts locally in Guido
27
+ * Prevents duplicate Slack notifications for the same error within a session
28
+ *
29
+ * Errors are handled entirely on the FE:
30
+ * - Slack notification alerts Guido team immediately (first occurrence)
31
+ * - Duplicate alerts suppressed within same session
32
+ * - Sentry/FullStory logs for analysis
33
+ * - No backend endpoint required
34
+ * - No propagation to consuming teams
35
+ */
36
+ export declare class StripoErrorDeduplicationService {
37
+ private reportedErrors;
38
+ constructor();
39
+ /**
40
+ * Track an error locally to prevent duplicate Slack alerts
41
+ * Only sends Slack alert once per unique error within the same session
42
+ */
43
+ trackError(errorData: StripoErrorDuplication): boolean;
44
+ /**
45
+ * Track plugin load error locally (CORS, script failure, timeout)
46
+ */
47
+ trackPluginLoadError(errorMessage: string, context?: Record<string, unknown>): boolean;
48
+ /**
49
+ * Track CORS error locally
50
+ */
51
+ trackCorsError(errorMessage: string, context?: Record<string, unknown>): boolean;
52
+ /**
53
+ * Track authentication error locally (token refresh failure)
54
+ * Tracks it, but Slack notifier decides whether to alert based on token expiration
55
+ */
56
+ trackAuthenticationError(errorMessage: string, context?: Record<string, unknown>): boolean;
57
+ /**
58
+ * Generate unique deduplication key for error
59
+ * Format: "errorType:emailId:userId" to allow same error on different emails
60
+ */
61
+ private getDeduplicationKey;
62
+ /**
63
+ * Clear tracked errors (for testing or session reset)
64
+ */
65
+ clearTrackedErrors(): void;
66
+ /**
67
+ * Get count of errors tracked in this session
68
+ */
69
+ getTrackedErrorCount(): number;
70
+ }
71
+ export declare const getStripoErrorDeduplicationService: () => StripoErrorDeduplicationService;
72
+ /**
73
+ * Reset tracked errors (useful for testing or session reset)
74
+ */
75
+ export declare const resetStripoErrorDeduplicationService: () => void;
@@ -0,0 +1,91 @@
1
+ var c = Object.defineProperty;
2
+ var a = (e, r, t) => r in e ? c(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
+ var n = (e, r, t) => a(e, typeof r != "symbol" ? r + "" : r, t);
4
+ class s {
5
+ constructor() {
6
+ n(this, "reportedErrors", /* @__PURE__ */ new Set());
7
+ }
8
+ /**
9
+ * Track an error locally to prevent duplicate Slack alerts
10
+ * Only sends Slack alert once per unique error within the same session
11
+ */
12
+ trackError(r) {
13
+ const t = this.getDeduplicationKey(r);
14
+ return this.reportedErrors.has(t) ? !1 : (this.reportedErrors.add(t), !0);
15
+ }
16
+ /**
17
+ * Track plugin load error locally (CORS, script failure, timeout)
18
+ */
19
+ trackPluginLoadError(r, t) {
20
+ return this.trackError({
21
+ errorType: "plugin_load_error",
22
+ errorMessage: r,
23
+ errorCategory: "critical",
24
+ context: {
25
+ ...t,
26
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
27
+ environment: "production"
28
+ },
29
+ reportedAt: (/* @__PURE__ */ new Date()).toISOString()
30
+ });
31
+ }
32
+ /**
33
+ * Track CORS error locally
34
+ */
35
+ trackCorsError(r, t) {
36
+ return this.trackError({
37
+ errorType: "cors_error",
38
+ errorMessage: r,
39
+ errorCategory: "handled",
40
+ context: {
41
+ ...t,
42
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
43
+ environment: "production"
44
+ },
45
+ reportedAt: (/* @__PURE__ */ new Date()).toISOString()
46
+ });
47
+ }
48
+ /**
49
+ * Track authentication error locally (token refresh failure)
50
+ * Tracks it, but Slack notifier decides whether to alert based on token expiration
51
+ */
52
+ trackAuthenticationError(r, t) {
53
+ return this.trackError({
54
+ errorType: "authentication_error",
55
+ errorMessage: r,
56
+ errorCategory: "critical",
57
+ context: {
58
+ ...t,
59
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
60
+ environment: "production"
61
+ },
62
+ reportedAt: (/* @__PURE__ */ new Date()).toISOString()
63
+ });
64
+ }
65
+ /**
66
+ * Generate unique deduplication key for error
67
+ * Format: "errorType:emailId:userId" to allow same error on different emails
68
+ */
69
+ getDeduplicationKey(r) {
70
+ const t = r.context.emailId || "unknown", i = r.context.userId || "unknown";
71
+ return `${r.errorType}:${t}:${i}`;
72
+ }
73
+ /**
74
+ * Clear tracked errors (for testing or session reset)
75
+ */
76
+ clearTrackedErrors() {
77
+ this.reportedErrors.clear();
78
+ }
79
+ /**
80
+ * Get count of errors tracked in this session
81
+ */
82
+ getTrackedErrorCount() {
83
+ return this.reportedErrors.size;
84
+ }
85
+ }
86
+ let o = null;
87
+ const u = () => (o || (o = new s()), o);
88
+ export {
89
+ s as StripoErrorDeduplicationService,
90
+ u as getStripoErrorDeduplicationService
91
+ };
@@ -32,16 +32,6 @@ ue-stripe-thumb:hover:not(.disabled),
32
32
  padding: 0 16px 16px;
33
33
  grid-row-gap: 16px;
34
34
  }
35
-
36
- /* TODO: will be removed after we find another way to hide stripo custom modules */
37
- #moduleTab_tab1,
38
- button[aria-label="Default Modules"],
39
- button[aria-controls="moduleTab_tab1_content"],
40
- #moduleTab_tab2,
41
- button[aria-label="Pre-Built AMP"],
42
- button[aria-controls="moduleTab_tab2_content"] {
43
- display: none !important;
44
- }
45
35
  `;
46
36
  export {
47
37
  o as default
@@ -18,11 +18,6 @@ const n = `.esd-x,
18
18
  border-radius: 0;
19
19
  box-shadow: none;
20
20
  }
21
- .ins-product-cart ue-node-actions,
22
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-actions,
23
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
24
- display: none !important;
25
- }
26
21
  `;
27
22
  export {
28
23
  n as default
@@ -64,7 +64,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"config", S
64
64
  senderName: string;
65
65
  subject: string;
66
66
  };
67
- migrationDate: number;
68
67
  partner?: {
69
68
  partnerName: string;
70
69
  productType: number;
@@ -77,13 +76,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"config", S
77
76
  dynamicContent?: boolean | undefined;
78
77
  saveAsTemplate?: boolean | undefined;
79
78
  versionHistory?: boolean | undefined;
80
- testMessage?: boolean | undefined;
81
79
  } | undefined;
82
- blocks?: {
83
- excludeDefaults?: import("@@/Types/generic").GuidoBlockType[] | undefined;
84
- includeCustoms?: import("@@/Types/generic").GuidoCustomBlockType[] | undefined;
85
- } | undefined;
86
- backButtonLabel?: string | undefined;
87
80
  };
88
81
  templateConfig?: {
89
82
  preselectedDynamicContentList?: {
@@ -0,0 +1 @@
1
+ export declare const formatPatchDate: (timestamp: number) => string;
@@ -1,19 +1,4 @@
1
- import { DEFAULT_LOCALE as r, DEFAULT as a, DEFAULT_TZ as c } from "../enums/date.js";
2
- const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length === 10 ? new Date(Number(t) * 1e3) : new Date(t) : typeof t == "number" ? t.toString().length === 10 ? new Date(t * 1e3) : new Date(t) : /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(), s = () => {
3
- const t = window.l10n;
4
- return (t == null ? void 0 : t.locale) === a ? r : (t == null ? void 0 : t.locale) || r;
5
- }, u = new Intl.DateTimeFormat().resolvedOptions().timeZone, f = () => {
6
- const t = window.l10n;
7
- return (t == null ? void 0 : t.timezone) || u || c;
8
- }, D = (t, e = s(), n = f()) => {
9
- const o = {
10
- year: "numeric",
11
- month: "2-digit",
12
- day: "2-digit",
13
- timeZone: n
14
- }, i = m(t);
15
- return new Intl.DateTimeFormat(e, o).format(i);
16
- }, T = (t) => {
1
+ const o = (t) => {
17
2
  if (!t)
18
3
  return "";
19
4
  const e = new Date(t);
@@ -25,13 +10,7 @@ const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length ===
25
10
  second: "2-digit",
26
11
  hour12: !1
27
12
  }).format(e);
28
- }, h = (t) => t ? Math.floor(Date.now() / 1e3) >= t : !1;
13
+ };
29
14
  export {
30
- m as convertToDateObject,
31
- T as formatPatchDate,
32
- D as formatShortDate,
33
- h as isAfterDate,
34
- u as localTz,
35
- s as locale,
36
- f as timezone
15
+ o as formatPatchDate
37
16
  };