@useinsider/guido 2.1.0 → 2.2.0-beta.071f000

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 (294) hide show
  1. package/README.md +36 -0
  2. package/dist/@types/config/schemas.js +71 -66
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +69 -58
  5. package/dist/components/organisms/base/Toaster.vue.js +4 -4
  6. package/dist/components/organisms/base/Toaster.vue2.js +12 -9
  7. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +5 -5
  8. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +11 -13
  10. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +54 -23
  11. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +7 -5
  12. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -23
  13. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +11 -11
  14. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +48 -36
  15. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +11 -9
  16. package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
  17. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
  18. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
  19. package/dist/composables/useActionsApi.js +15 -13
  20. package/dist/composables/useBlocksConfig.js +26 -16
  21. package/dist/composables/useHtmlValidator.js +114 -104
  22. package/dist/composables/useRecommendation.js +54 -21
  23. package/dist/composables/useStripo.js +25 -23
  24. package/dist/composables/useVersionHistoryApi.js +1 -1
  25. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  26. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  27. package/dist/config/i18n/en/index.js +11 -0
  28. package/dist/config/i18n/en/labels.json.js +7 -0
  29. package/dist/config/i18n/en/toasters.json.js +56 -0
  30. package/dist/config/i18n/en/tooltips.json.js +82 -0
  31. package/dist/config/i18n/index.js +7 -0
  32. package/dist/config/migrator/itemsBlockMigrator.js +142 -120
  33. package/dist/config/migrator/recommendationMigrator.js +3 -3
  34. package/dist/enums/defaults.js +8 -4
  35. package/dist/enums/extensions/recommendationBlock.js +1 -1
  36. package/dist/enums/recommendation.js +16 -15
  37. package/dist/extensions/Blocks/Items/block.js +19 -28
  38. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  39. package/dist/extensions/Blocks/Items/controls/cardComposition.js +137 -89
  40. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  41. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  42. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  43. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  44. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  45. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  46. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  47. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  48. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  49. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  50. package/dist/extensions/Blocks/Items/extension.js +8 -9
  51. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  52. package/dist/extensions/Blocks/Items/template.js +181 -175
  53. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  54. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  55. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  56. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  57. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +69 -0
  58. package/dist/extensions/Blocks/Recommendation/constants/layout.js +24 -0
  59. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +23 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +104 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +207 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +340 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +168 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +381 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  84. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +346 -0
  85. package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
  86. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  87. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  88. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  89. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
  90. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +353 -219
  91. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  92. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  93. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  94. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  95. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  96. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  97. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  98. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  99. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +12 -12
  100. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +36 -0
  101. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  102. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  103. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +29 -0
  104. package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
  105. package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
  106. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
  107. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
  108. package/dist/extensions/Blocks/common-control.js +91 -92
  109. package/dist/extensions/Blocks/controlFactories.js +125 -93
  110. package/dist/extensions/ModulesTabIcons/extension.js +17 -0
  111. package/dist/guido.css +1 -1
  112. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +317 -198
  113. package/dist/package.json.js +1 -1
  114. package/dist/services/recommendationApi.js +11 -8
  115. package/dist/services/stripoApi.js +20 -17
  116. package/dist/services/templateLibraryApi.js +16 -13
  117. package/dist/src/@types/config/schemas.d.ts +10 -2
  118. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +1 -0
  119. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +17 -1
  120. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  121. package/dist/src/composables/useConfig.d.ts +4 -0
  122. package/dist/src/composables/useRecommendation.d.ts +1 -0
  123. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  124. package/dist/src/config/i18n/en/index.d.ts +1 -0
  125. package/dist/src/config/i18n/index.d.ts +16 -0
  126. package/dist/src/enums/defaults.d.ts +4 -0
  127. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  128. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  129. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  130. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  131. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  132. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  133. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  134. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  135. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  136. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  137. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  139. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  140. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  141. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  142. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  143. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +55 -0
  144. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  145. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +45 -0
  146. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +42 -0
  147. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  148. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  149. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  150. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  151. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  152. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
  153. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  154. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  155. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  156. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  157. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +107 -0
  158. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  159. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  160. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  161. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +234 -0
  162. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  163. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  164. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  165. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  166. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  167. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  168. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  169. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  170. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  171. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  172. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  173. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  174. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  175. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  176. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  177. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +116 -0
  178. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  179. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  180. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  181. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  182. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +155 -468
  183. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  184. package/dist/src/extensions/Blocks/Recommendation/templates/grid/migration.d.ts +23 -0
  185. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  186. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +43 -0
  187. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  188. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  189. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  190. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  191. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  192. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +174 -0
  193. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  194. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  195. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  196. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  197. package/dist/src/extensions/Blocks/Recommendation/validation/filterSchema.d.ts +15 -0
  198. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  199. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  200. package/dist/src/extensions/ModulesTabIcons/extension.d.ts +2 -0
  201. package/dist/src/stores/config.d.ts +36 -0
  202. package/dist/static/styles/components/notification.css.js +19 -0
  203. package/dist/static/styles/components/tools.css.js +6 -2
  204. package/dist/static/styles/components/version-history.css.js +10 -2
  205. package/dist/static/styles/components/wide-panel.css.js +18 -6
  206. package/dist/static/styles/customEditorStyle.css.js +66 -2
  207. package/dist/static/styles/variables.css.js +2 -0
  208. package/dist/static/templates/empty/index.html.js +74 -0
  209. package/dist/static/templates/empty/style.css.js +779 -0
  210. package/dist/stores/unsubscribe.js +37 -34
  211. package/dist/utils/pairProductVariables.js +57 -56
  212. package/dist/utils/templatePreparation.js +15 -14
  213. package/package.json +3 -3
  214. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  215. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  216. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  217. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  218. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  219. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  220. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  221. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  222. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  223. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  224. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  225. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  226. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  227. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  228. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  229. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  230. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  231. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  232. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  233. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  234. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  235. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  236. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  237. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  238. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  239. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  240. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  241. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  242. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  243. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  244. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  245. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  246. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  247. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  248. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  249. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  250. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  251. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  252. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  253. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  254. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  255. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  256. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  257. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  258. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  259. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  260. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  261. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  262. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  263. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  264. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  265. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  266. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  267. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  268. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  269. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  270. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  271. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  272. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  273. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  274. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  275. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  276. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  277. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  278. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  279. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  280. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  281. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  282. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  283. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  284. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  285. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  286. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  287. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  288. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  289. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  290. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  291. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  292. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  293. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  294. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
@@ -1,39 +1,40 @@
1
- import { TYPE_COLLECTIONS as i, PAGE_TYPES as a } from "../enums/unsubscribe.js";
2
- import { useUnsubscribeApi as r } from "../services/unsubscribeApi.js";
3
- import { defineStore as d } from "pinia";
4
- const p = () => ({
1
+ import { TYPE_COLLECTIONS as i, PAGE_TYPES as p } from "../enums/unsubscribe.js";
2
+ import { useUnsubscribeApi as d } from "../services/unsubscribeApi.js";
3
+ import { defineStore as h } from "pinia";
4
+ let o = null;
5
+ const r = () => ({
5
6
  templates: [],
6
7
  selectedTemplates: {},
7
8
  selectedUnsubscribePages: [],
8
- selectedCollectionType: a.GLOBAL_UNSUBSCRIBE,
9
- activeType: a.GLOBAL_UNSUBSCRIBE,
9
+ selectedCollectionType: p.GLOBAL_UNSUBSCRIBE,
10
+ activeType: p.GLOBAL_UNSUBSCRIBE,
10
11
  pageSelectionUpdateStatus: !1,
11
12
  pageSelectionDrawerStatus: !1,
12
13
  typeSelectionDrawerStatus: !1,
13
14
  isGlobalUnsubscribeDisabled: !1,
14
15
  isSubscriptionPreferencesCenterDisabled: !1
15
- }), g = d("guidoUnsubscribe", {
16
- state: () => p(),
16
+ }), b = h("guidoUnsubscribe", {
17
+ state: () => r(),
17
18
  getters: {
18
19
  getSelectedCollection: (e) => i[e.selectedCollectionType],
19
20
  getSelectedTemplateByActiveType: (e) => e.selectedTemplates[e.activeType],
20
21
  getTemplatesByActiveType: (e) => e.templates.filter((t) => t.type === e.activeType),
21
22
  getThumbnailByTemplateId: (e) => (t) => {
22
- var c;
23
- return ((c = e.templates.find((s) => s.id === t)) == null ? void 0 : c.thumbnail) ?? "";
23
+ var l;
24
+ return ((l = e.templates.find((s) => s.id === t)) == null ? void 0 : l.thumbnail) ?? "";
24
25
  },
25
26
  getSelectedUnsubscribePagesByCollection: (e) => (t) => {
26
- const c = i[t];
27
- if (!c)
27
+ const l = i[t];
28
+ if (!l)
28
29
  return [];
29
30
  const s = /* @__PURE__ */ new Map();
30
31
  e.templates.forEach((n) => {
31
32
  s.set(n.id, n.type);
32
33
  });
33
- const l = new Set(c);
34
+ const c = new Set(l);
34
35
  return e.selectedUnsubscribePages.filter((n) => {
35
- const o = s.get(n);
36
- return o !== void 0 && l.has(o);
36
+ const a = s.get(n);
37
+ return a !== void 0 && c.has(a);
37
38
  });
38
39
  },
39
40
  isActiveTypeFirstInCollection: (e) => {
@@ -47,7 +48,7 @@ const p = () => ({
47
48
  hasTemplatesByCollectionType: (e) => {
48
49
  const t = {};
49
50
  return i[e.selectedCollectionType].forEach((s) => {
50
- t[s] = e.templates.some((l) => l.type === s);
51
+ t[s] = e.templates.some((c) => c.type === s);
51
52
  }), t;
52
53
  },
53
54
  unsubscribePagesStatus: (e) => e.selectedUnsubscribePages.length > 0
@@ -56,29 +57,31 @@ const p = () => ({
56
57
  $reset() {
57
58
  const { templates: e, selectedUnsubscribePages: t } = this;
58
59
  Object.assign(this, {
59
- ...p(),
60
+ ...r(),
60
61
  templates: e,
61
62
  selectedUnsubscribePages: t
62
63
  });
63
64
  },
64
65
  async fetchTemplates() {
65
- if (this.templates.length)
66
- return;
67
- const { getUnsubscribePages: e } = r(), t = await e();
68
- this.templates = t;
66
+ this.templates.length || (o || (o = (async () => {
67
+ const { getUnsubscribePages: e } = d();
68
+ this.templates = await e();
69
+ })().finally(() => {
70
+ o = null;
71
+ })), await o);
69
72
  },
70
73
  setCollection(e) {
71
74
  this.selectedCollectionType = e;
72
75
  const t = i[e];
73
76
  if (t && t.length > 0) {
74
77
  [this.activeType] = t;
75
- const c = { ...this.selectedTemplates };
78
+ const l = { ...this.selectedTemplates };
76
79
  t.forEach((s) => {
77
- if (!c[s]) {
78
- const l = this.templates.find((n) => n.type === s);
79
- l && (c[s] = l.id);
80
+ if (!l[s]) {
81
+ const c = this.templates.find((n) => n.type === s);
82
+ c && (l[s] = c.id);
80
83
  }
81
- }), this.selectedTemplates = c;
84
+ }), this.selectedTemplates = l;
82
85
  }
83
86
  },
84
87
  setCollectionWithoutAutoSelection(e) {
@@ -101,17 +104,17 @@ const p = () => ({
101
104
  t >= 0 && (this.activeType = this.getSelectedCollection[t]);
102
105
  },
103
106
  loadSelectedTemplates(e) {
104
- const t = new Map(this.templates.map((s) => [s.id, s.type])), c = { ...this.selectedTemplates };
107
+ const t = new Map(this.templates.map((s) => [s.id, s.type])), l = { ...this.selectedTemplates };
105
108
  e.forEach((s) => {
106
- const l = t.get(s);
107
- l !== void 0 && (c[l] = s);
108
- }), this.selectedTemplates = c;
109
+ const c = t.get(s);
110
+ c !== void 0 && (l[c] = s);
111
+ }), this.selectedTemplates = l;
109
112
  },
110
113
  getSelectedTemplatesByCollection(e) {
111
- const t = i[e], c = [];
114
+ const t = i[e], l = [];
112
115
  return t.forEach((s) => {
113
- this.selectedTemplates[s] && c.push(this.selectedTemplates[s]);
114
- }), c;
116
+ this.selectedTemplates[s] && l.push(this.selectedTemplates[s]);
117
+ }), l;
115
118
  },
116
119
  addUnsubscribePages(e) {
117
120
  const t = /* @__PURE__ */ new Set([...this.selectedUnsubscribePages, ...e]);
@@ -125,5 +128,5 @@ const p = () => ({
125
128
  }
126
129
  });
127
130
  export {
128
- g as useUnsubscribeStore
131
+ b as useUnsubscribeStore
129
132
  };
@@ -1,77 +1,77 @@
1
- import { productPairs as w } from "../extensions/Blocks/Items/enums/productEnums.js";
2
- function P(k) {
3
- const m = k.replaceAll("{%", "<!--{%").replaceAll("%}", "%}-->"), $ = new DOMParser().parseFromString(m, "text/html"), R = w.PAIRS_FOR_EXTENSION;
4
- Object.entries(R).forEach(([n, l]) => {
5
- $.querySelectorAll(".ins-product-td").forEach((o) => {
6
- const E = o.getAttribute("data-number") || "1", b = o.getAttribute("data-type") || "CART_ITEMS";
7
- o.querySelectorAll(`[product-attr="${n}"]`).forEach((e) => {
8
- var y;
9
- const T = e.getAttribute("data-type") || b, u = e.getAttribute("data-number") || E, p = l[T];
1
+ import { productPairs as P } from "../extensions/Blocks/Items/enums/productEnums.js";
2
+ function L(F) {
3
+ const R = F.replaceAll("{%", "<!--{%").replaceAll("%}", "%}-->"), $ = new DOMParser().parseFromString(R, "text/html"), y = P.PAIRS_FOR_EXTENSION;
4
+ Object.entries(y).forEach(([n, l]) => {
5
+ $.querySelectorAll(".ins-product-td").forEach((c) => {
6
+ const E = c.getAttribute("data-number") || "1", T = c.getAttribute("data-type") || "CART_ITEMS";
7
+ c.querySelectorAll(`[product-attr="${n}"]`).forEach((e) => {
8
+ var H;
9
+ const b = e.getAttribute("data-type") || T, u = e.getAttribute("data-number") || E, p = l[b];
10
10
  if (p)
11
11
  switch (n) {
12
12
  case "imageSrc": {
13
- let t = null, c = null;
14
- if (e.tagName === "IMG" ? (t = e, c = t.closest("a")) : (t = e.querySelector("img"), c = e.querySelector("a") || e.closest("a")), !t)
13
+ let t = null, o = null;
14
+ if (e.tagName === "IMG" ? (t = e, o = t.closest("a")) : (t = e.querySelector("img"), o = e.querySelector("a") || e.closest("a")), !t)
15
15
  break;
16
16
  const i = p.DEFAULT, a = p.ATTR;
17
17
  if (i && t.src) {
18
18
  const r = t.src;
19
- i.some((d) => {
20
- const s = d.split("/").pop() || "", _ = r.split("/").pop() || "";
21
- return r.includes(d) || r.includes(s) || _ === s;
19
+ i.some((f) => {
20
+ const s = f.split("/").pop() || "", _ = r.split("/").pop() || "";
21
+ return r.includes(f) || r.includes(s) || _ === s;
22
22
  }) && (t.src = `{{${a}_${u}}}`);
23
23
  }
24
- if (c) {
25
- const r = (y = R.itemLink) == null ? void 0 : y[T];
24
+ if (o) {
25
+ const r = (H = y.itemLink) == null ? void 0 : H[b];
26
26
  if (r) {
27
- const f = r.HREF, d = r.DEFAULT_HREF || "#!", s = c.href;
28
- (s === "#" || s === "" || s.endsWith("#!") || s.endsWith(d) || s === `${window.location.href}${d}` || !s || s === window.location.href) && (c.href = `{{${f}_${u}}}`);
27
+ const d = r.HREF, f = r.DEFAULT_HREF || "#!", s = o.href;
28
+ (s === "#" || s === "" || s.endsWith("#!") || s.endsWith(f) || s === `${window.location.href}${f}` || !s || s === window.location.href) && (o.href = `{{${d}_${u}}}`);
29
29
  }
30
30
  }
31
31
  break;
32
32
  }
33
33
  case "name": {
34
- const t = p, c = t.ATTR, i = t.DEFAULT_HREF || "#!", a = t.HREF;
35
- e.textContent && (e.textContent = `{{${c}_${u}}}`);
34
+ const t = p, o = t.ATTR, i = t.DEFAULT_HREF || "#!", a = t.HREF;
35
+ e.textContent && (e.textContent = `{{${o}_${u}}}`);
36
36
  const r = e.closest("a") || (e.tagName === "A" ? e : null);
37
37
  if (r && a) {
38
- const f = r.href, d = `${window.location.href}${i}`;
39
- (f === d || f.endsWith(i)) && (r.href = `{{${a}_${u}}}`);
38
+ const d = r.href, f = `${window.location.href}${i}`;
39
+ (d === f || d.endsWith(i)) && (r.href = `{{${a}_${u}}}`);
40
40
  }
41
41
  break;
42
42
  }
43
43
  case "price":
44
44
  case "originalPrice": {
45
- const t = p, c = e.getAttribute("data-formated"), i = e.getAttribute("data-single_price"), a = c === "true", r = i === "true", f = e.getAttribute("data-curency") || "before";
46
- let d;
47
- r ? d = a ? t.SINGLE_PRICE_FORMATTED : t.SINGLE_PRICE : d = a ? t.PRICE_FORMATTED : t.PRICE;
45
+ const t = p, o = e.getAttribute("data-formated"), i = e.getAttribute("data-single_price"), a = o === "true", r = i === "true", d = e.getAttribute("data-curency") || "before";
46
+ let f;
47
+ r ? f = a ? t.SINGLE_PRICE_FORMATTED : t.SINGLE_PRICE : f = a ? t.PRICE_FORMATTED : t.PRICE;
48
48
  const s = t.CURRENCY;
49
- let _ = `{{${d}_${u}}}`;
49
+ let _ = `{{${f}_${u}}}`;
50
50
  if (s) {
51
- const H = `{{${s}_${u}}}`;
52
- _ = f === "after" ? `${_} ${H}` : `${H} ${_}`;
51
+ const k = `{{${s}_${u}}}`;
52
+ _ = d === "after" ? `${_} ${k}` : `${k} ${_}`;
53
53
  }
54
54
  e.textContent = _;
55
55
  break;
56
56
  }
57
57
  case "quantity": {
58
- const t = p, c = t.ATTR, i = t.DEFAULT;
59
- e.textContent && e.textContent.trim() === i && (e.textContent = `{{${c}_${u}}}`);
58
+ const t = p, o = t.ATTR, i = t.DEFAULT;
59
+ e.textContent && e.textContent.trim() === i && (e.textContent = `{{${o}_${u}}}`);
60
60
  break;
61
61
  }
62
62
  case "button": {
63
- const t = p, c = t.HREF, i = t.DEFAULT_HREF || "#!", a = e.tagName === "A" ? e : e.querySelector("a");
63
+ const t = p, o = t.HREF, i = t.DEFAULT_HREF || "#!", a = e.tagName === "A" ? e : e.querySelector("a");
64
64
  if (a) {
65
- const r = a.href || "", f = `${window.location.href}${i}`;
66
- (r === "" || r === "#" || r === f || r.endsWith(i) || r.endsWith("#!") || r === window.location.href) && (a.href = `{{${c}_${u}}}`);
65
+ const r = a.href || "", d = `${window.location.href}${i}`;
66
+ (r === "" || r === "#" || r === d || r.endsWith(i) || r.endsWith("#!") || r === window.location.href) && (a.href = `{{${o}_${u}}}`);
67
67
  }
68
68
  break;
69
69
  }
70
70
  case "itemLink": {
71
- const t = p, c = t.HREF, i = t.DEFAULT_HREF || "#!", a = e;
71
+ const t = p, o = t.HREF, i = t.DEFAULT_HREF || "#!", a = e;
72
72
  if (a.href) {
73
- const r = a.href, f = `${window.location.href}${i}`;
74
- (r === f || r.endsWith(i)) && (a.href = `{{${c}_${u}}}`);
73
+ const r = a.href, d = `${window.location.href}${i}`;
74
+ (r === d || r.endsWith(i)) && (a.href = `{{${o}_${u}}}`);
75
75
  }
76
76
  break;
77
77
  }
@@ -86,44 +86,45 @@ function P(k) {
86
86
  });
87
87
  });
88
88
  });
89
- const F = $.querySelectorAll(".ins-product-td"), S = [];
90
- F.forEach((n) => {
91
- const l = n.getAttribute("data-type") || "CART_ITEMS", A = n.getAttribute("data-number") || "1", o = n.getAttribute("data-nodup"), E = n.outerHTML;
92
- S.push({
89
+ const S = R.match(/<!DOCTYPE[^>]*>/i), I = S ? `${S[0]}
90
+ ` : "", w = $.querySelectorAll(".ins-product-td"), m = [];
91
+ w.forEach((n) => {
92
+ const l = n.getAttribute("data-type") || "CART_ITEMS", A = n.getAttribute("data-number") || "1", c = n.getAttribute("data-nodup"), E = n.outerHTML;
93
+ m.push({
93
94
  element: n,
94
95
  outerHtml: E,
95
96
  type: l,
96
97
  number: A,
97
- nodup: o || void 0
98
+ nodup: c || void 0
98
99
  });
99
100
  });
100
- let h = $.body.innerHTML;
101
- S.reverse().forEach(({ outerHtml: n, type: l, number: A }) => {
102
- let o = "";
101
+ let h = I + $.documentElement.outerHTML;
102
+ m.reverse().forEach(({ outerHtml: n, type: l, number: A }) => {
103
+ let c = "";
103
104
  switch (l) {
104
105
  case "CART_ITEMS":
105
- o = "ins_apr_total_product_kind";
106
+ c = "ins_apr_total_product_kind";
106
107
  break;
107
108
  case "BROWSED_ITEMS":
108
- o = "browsed_item_total_product_kind";
109
+ c = "browsed_item_total_product_kind";
109
110
  break;
110
111
  case "PURCHASED_ITEMS":
111
- o = "purchased_item_total_product_kind";
112
+ c = "purchased_item_total_product_kind";
112
113
  break;
113
114
  }
114
- if (o) {
115
- const b = parseInt(A) - 1, T = `${`{% if ${o} > ${b} %}`}${n}{% endif %}`;
116
- h = h.replace(n, T);
115
+ if (c) {
116
+ const T = parseInt(A) - 1, b = `${`{% if ${c} > ${T} %}`}${n}{% endif %}`;
117
+ h = h.replace(n, b);
117
118
  }
118
119
  });
119
- const I = $.querySelectorAll('[product-attr="originalPrice"][data-type="CART_ITEMS"]'), g = [];
120
- return I.forEach((n) => {
120
+ const M = $.querySelectorAll('[product-attr="originalPrice"][data-type="CART_ITEMS"]'), g = [];
121
+ return M.forEach((n) => {
121
122
  const l = n.getAttribute("data-number"), A = n.getAttribute("data-type");
122
123
  if (!l || A !== "CART_ITEMS")
123
124
  return;
124
- const o = n.closest(".product-original-price-class");
125
- if (o) {
126
- const E = o.outerHTML;
125
+ const c = n.closest(".product-original-price-class");
126
+ if (c) {
127
+ const E = c.outerHTML;
127
128
  g.some((C) => C.tdOuterHtml === E) || g.push({ tdOuterHtml: E, number: l });
128
129
  }
129
130
  }), g.reverse().forEach(({ tdOuterHtml: n, number: l }) => {
@@ -135,5 +136,5 @@ function P(k) {
135
136
  }), h.replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}").replaceAll("&lt;!--{%", "{%").replaceAll("%}--&gt;", "%}");
136
137
  }
137
138
  export {
138
- P as pairProductVariables
139
+ L as pairProductVariables
139
140
  };
@@ -1,31 +1,32 @@
1
- import { useActionsApi as b } from "../composables/useActionsApi.js";
2
- import { useHtmlCompiler as f } from "../composables/useHtmlCompiler.js";
3
- import { useDynamicContentStore as C } from "../stores/dynamic-content.js";
4
- import { useUnsubscribeStore as T } from "../stores/unsubscribe.js";
5
- const P = () => {
6
- const i = C(), t = T(), { getCompiledEmail: o, getTemplateData: s, editorSave: n } = b(), { compileHtml: a } = f();
1
+ import { useActionsApi as f } from "../composables/useActionsApi.js";
2
+ import { useHtmlCompiler as C } from "../composables/useHtmlCompiler.js";
3
+ import { useRecommendationExtensionStore as T } from "../extensions/Blocks/Recommendation/store/recommendation.js";
4
+ import { useDynamicContentStore as x } from "../stores/dynamic-content.js";
5
+ import { useUnsubscribeStore as y } from "../stores/unsubscribe.js";
6
+ const E = () => {
7
+ const o = x(), t = y(), { getCompiledEmail: i, getTemplateData: n, editorSave: s } = f(), { compileHtml: m } = C();
7
8
  return {
8
9
  prepareTemplateDetails: async () => {
9
- const { html: r, ampHtml: m = "", ampErrors: c = [] } = await o({
10
+ const { html: a, ampHtml: r = "", ampErrors: c = [] } = await i({
10
11
  minimize: !0,
11
12
  resetDataSavedFlag: !1
12
- }), { html: l, css: p, syncModulesIds: u = [] } = await s(), { compiledHtml: d, stats: e, appliedRules: g } = a(r), S = i.getSelectedDynamicContentList;
13
- return n(), console.debug("HTML Compilation Stats:", {
13
+ }), { html: l, css: p, syncModulesIds: u = [] } = await n(), { compiledHtml: d, stats: e, appliedRules: S } = m(a), g = o.getSelectedDynamicContentList, b = T();
14
+ return s(), console.debug("HTML Compilation Stats:", {
14
15
  originalSize: e.originalSize,
15
16
  compiledSize: e.compiledSize,
16
17
  reduction: `${e.reductionPercentage.toFixed(2)}%`,
17
- appliedRules: g,
18
+ appliedRules: S,
18
19
  executionTime: `${e.executionTime.toFixed(2)}ms`
19
20
  }), {
20
- dynamicContentList: S,
21
+ dynamicContentList: g,
21
22
  compiledHtml: d,
22
23
  rawHtml: l,
23
24
  css: p,
24
- ampHtml: m,
25
+ ampHtml: r,
25
26
  ampErrors: c,
26
27
  modules: u,
27
28
  recommendation: {
28
- campaignUrls: {},
29
+ campaignUrls: b.recommendationCampaignUrls,
29
30
  configs: {}
30
31
  },
31
32
  unsubscribe: {
@@ -37,5 +38,5 @@ const P = () => {
37
38
  };
38
39
  };
39
40
  export {
40
- P as useTemplatePreparation
41
+ E as useTemplatePreparation
41
42
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "2.1.0",
3
+ "version": "2.2.0-beta.071f000",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",
@@ -32,7 +32,7 @@
32
32
  "license": "ISC",
33
33
  "dependencies": {
34
34
  "@stripoinc/ui-editor-extensions": "3.5.0",
35
- "@useinsider/design-system-vue": "0.14.20",
35
+ "@useinsider/design-system-vue": "0.14.28",
36
36
  "@vueuse/core": "11.3.0",
37
37
  "lodash-es": "4.17.21",
38
38
  "pinia": "2.3.1",
@@ -85,7 +85,7 @@
85
85
  },
86
86
  "guido": {
87
87
  "stripo": {
88
- "version": "2.52.0"
88
+ "version": "2.54.0"
89
89
  }
90
90
  }
91
91
  }
@@ -1,79 +0,0 @@
1
- import { defineStore as s } from "pinia";
2
- import { DefaultConfigValues as e } from "../enums/settingsEnums.js";
3
- const n = (t) => t.replace(/Url\}/, "Image}"), r = (t) => t.replace(/Image\}/, "Url}"), i = () => {
4
- const t = e.cartItemsSelectControlValue;
5
- return {
6
- itemsType: e.itemsType,
7
- itemIds: t,
8
- imageLink: n(t),
9
- buttonLink: r(t),
10
- orientation: e.cardOrientationControlValue,
11
- nameTrimming: !0,
12
- hideDiscount: !0,
13
- currencySymbol: "USD",
14
- currencyLocation: "0",
15
- formattedPrice: !0,
16
- singlePrice: !1,
17
- priceOrientation: "vertical",
18
- templateData: {
19
- imageSrc: "",
20
- name: "",
21
- price: "",
22
- originalPrice: "",
23
- quantity: "",
24
- button: ""
25
- }
26
- };
27
- }, m = s("guidoItemsBlock", {
28
- state: () => i(),
29
- actions: {
30
- setItemsType(t) {
31
- this.itemsType = t;
32
- },
33
- setItemIds(t) {
34
- this.itemIds = t, this.imageLink = n(t), this.buttonLink = r(t);
35
- },
36
- setImageLink(t) {
37
- this.imageLink = t;
38
- },
39
- setButtonLink(t) {
40
- this.buttonLink = t;
41
- },
42
- setOrientation(t) {
43
- this.orientation = t;
44
- },
45
- setNameTrimming(t) {
46
- this.nameTrimming = t;
47
- },
48
- setHideDiscount(t) {
49
- this.hideDiscount = t;
50
- },
51
- setCurrencySymbol(t) {
52
- this.currencySymbol = t;
53
- },
54
- setCurrencyLocation(t) {
55
- this.currencyLocation = t;
56
- },
57
- setFormattedPrice(t) {
58
- this.formattedPrice = t;
59
- },
60
- setSinglePrice(t) {
61
- this.singlePrice = t;
62
- },
63
- setPriceOrientation(t) {
64
- this.priceOrientation = t;
65
- },
66
- setTemplateData(t) {
67
- this.templateData = t;
68
- },
69
- updateFromAttributes(t) {
70
- t.itemsType && (this.itemsType = t.itemsType), t.itemIds && this.setItemIds(t.itemIds), t.orientation && (this.orientation = t.orientation);
71
- },
72
- reset() {
73
- Object.assign(this, i());
74
- }
75
- }
76
- });
77
- export {
78
- m as useItemsBlockStore
79
- };
@@ -1,103 +0,0 @@
1
- var m = Object.defineProperty;
2
- var y = (n, o, i) => o in n ? m(n, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[o] = i;
3
- var a = (n, o, i) => y(n, typeof o != "symbol" ? o + "" : o, i);
4
- import { ModificationDescription as u } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as b } from "../common-control.js";
6
- const h = "ui-elements-recommendation-card-composition", s = [
7
- { key: "productImage", label: "Product Image", visible: !0 },
8
- { key: "productName", label: "Product Name", visible: !0 },
9
- { key: "productPrice", label: "Product Price", visible: !0 },
10
- { key: "productOriginalPrice", label: "Product Original Price", visible: !0 },
11
- { key: "productButton", label: "Product Button", visible: !0 }
12
- ];
13
- class g extends b {
14
- constructor() {
15
- super(...arguments);
16
- a(this, "currentComposition", []);
17
- a(this, "currentVisibility", {});
18
- }
19
- getId() {
20
- return h;
21
- }
22
- getTemplate() {
23
- const i = s.map((e) => ({
24
- key: e.key,
25
- label: e.label,
26
- content: `
27
- <div style="display: flex; align-items: center; justify-content: space-between;
28
- padding: 8px; gap: 8px;">
29
- <span style="flex: 1;">${e.label}</span>
30
- ${this._GuToggle(`visibility_${e.key}`)}
31
- </div>
32
- `
33
- }));
34
- return `
35
- <div class="container">
36
- ${this._GuLabel({ text: "Card Element Order & Visibility" })}
37
- ${this._GuOrderable("cardComposition", i)}
38
- </div>
39
- `;
40
- }
41
- onRender() {
42
- this._initializeComposition(), this.api.onValueChanged("cardComposition", (i) => {
43
- this.currentComposition = i, this._applyCompositionToBlock(i);
44
- }), s.forEach((i) => {
45
- this.api.onValueChanged(`visibility_${i.key}`, (e) => {
46
- this.currentVisibility[i.key] = e, this._applyVisibilityToBlock();
47
- });
48
- });
49
- }
50
- onTemplateNodeUpdated(i) {
51
- super.onTemplateNodeUpdated(i), this._initializeComposition();
52
- }
53
- /**
54
- * Initialize the composition order and visibility from the block or use defaults
55
- */
56
- _initializeComposition() {
57
- var p;
58
- const i = (p = this.currentNode) == null ? void 0 : p.querySelector(".ins-recommendation-v3-block-v2");
59
- let e = null, l = null;
60
- if (i && "getAttribute" in i && (e = i.getAttribute("data-card-composition"), l = i.getAttribute("data-card-visibility")), e) {
61
- const t = e.split(",").filter(Boolean), r = s.map((c) => c.key);
62
- t.every((c) => r.includes(c)) && t.length > 0 ? this.currentComposition = t : this.currentComposition = r;
63
- } else
64
- this.currentComposition = s.map((t) => t.key);
65
- if (l)
66
- try {
67
- const t = JSON.parse(l);
68
- this.currentVisibility = t;
69
- } catch {
70
- this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
71
- }
72
- else
73
- this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
74
- const d = {
75
- cardComposition: this.currentComposition
76
- };
77
- s.forEach((t) => {
78
- d[`visibility_${t.key}`] = this.currentVisibility[t.key] ?? !0;
79
- }), this.api.updateValues(d);
80
- }
81
- /**
82
- * Apply the reordered composition to the block's HTML structure
83
- */
84
- _applyCompositionToBlock(i) {
85
- if (!this.currentNode)
86
- return;
87
- const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
88
- e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", i.join(",")).apply(new u("Stored card composition order"));
89
- }
90
- /**
91
- * Apply visibility changes to the block's HTML structure
92
- */
93
- _applyVisibilityToBlock() {
94
- if (!this.currentNode)
95
- return;
96
- const i = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
97
- i && this.api.getDocumentModifier().modifyHtml(i).setAttribute("data-card-visibility", JSON.stringify(this.currentVisibility)).apply(new u("Stored card visibility settings"));
98
- }
99
- }
100
- export {
101
- h as COMPOSITION_CONTROL_BLOCK_ID,
102
- g as RecommendationCardCompositionControl
103
- };
@@ -1,5 +0,0 @@
1
- var o = /* @__PURE__ */ ((c) => (c.BUTTON = "recommendation-block-button", c.NAME = "recommendation-block-name", c.PRICE = "recommendation-block-price", c.OLD_PRICE = "recommendation-block-old-price", c.IMAGE = "recommendation-block-image", c))(o || {}), r = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(r || {});
2
- export {
3
- o as RecommendationBlockId,
4
- r as RecommendationControlId
5
- };