@useinsider/guido 2.0.0-beta.e68b206 → 2.0.0-beta.edc1f0a

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 (234) hide show
  1. package/dist/@types/config/schemas.js +39 -53
  2. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
  3. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
  4. package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
  6. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  7. package/dist/composables/useConfig.js +27 -29
  8. package/dist/composables/useSave.js +11 -13
  9. package/dist/config/migrator/index.js +8 -9
  10. package/dist/config/migrator/recommendationMigrator.js +2 -2
  11. package/dist/extensions/Blocks/Items/block.js +40 -39
  12. package/dist/extensions/Blocks/Items/controls/button/link.js +29 -22
  13. package/dist/extensions/Blocks/Items/controls/cardComposition.js +59 -70
  14. package/dist/extensions/Blocks/Items/controls/image/link.js +30 -23
  15. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  16. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +17 -19
  17. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +29 -31
  18. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +36 -36
  19. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +19 -21
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +27 -29
  21. package/dist/extensions/Blocks/Items/controls/settingsControl.js +144 -159
  22. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  23. package/dist/extensions/Blocks/Items/enums/productEnums.js +45 -43
  24. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +3 -4
  25. package/dist/extensions/Blocks/Items/extension.js +6 -7
  26. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +49 -58
  27. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +59 -48
  28. package/dist/extensions/Blocks/Items/settingsPanel.js +26 -27
  29. package/dist/extensions/Blocks/Items/store/items-block.js +7 -11
  30. package/dist/extensions/Blocks/Items/template.js +129 -366
  31. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  32. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  33. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  34. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  35. package/dist/extensions/Blocks/Recommendation/block.js +1 -1
  36. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  37. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  38. package/dist/extensions/Blocks/Recommendation/constants/layout.js +12 -0
  39. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +11 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +104 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +86 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +134 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +54 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +147 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +64 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +111 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +60 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +114 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +211 -0
  64. package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
  65. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  66. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
  67. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +29 -26
  68. package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +157 -0
  69. package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +72 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  71. package/dist/extensions/Blocks/Recommendation/templates/utils.js +173 -0
  72. package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +186 -0
  73. package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +251 -0
  74. package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +62 -0
  75. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  76. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +36 -0
  77. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  78. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  79. package/dist/extensions/Blocks/common-control.js +31 -30
  80. package/dist/extensions/Blocks/controlFactories.js +130 -106
  81. package/dist/guido.css +1 -1
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +116 -125
  83. package/dist/src/@types/config/index.d.ts +2 -2
  84. package/dist/src/@types/config/schemas.d.ts +0 -26
  85. package/dist/src/@types/config/types.d.ts +1 -7
  86. package/dist/src/composables/useConfig.d.ts +0 -6
  87. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +2 -0
  88. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -9
  89. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +2 -0
  90. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  91. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  92. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
  93. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +26 -24
  94. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -1
  95. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -2
  96. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -22
  97. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  98. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  99. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  100. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  101. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  102. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  103. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +12 -0
  104. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +27 -0
  105. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +34 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +17 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +16 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +62 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +15 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +39 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +15 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +81 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +73 -0
  131. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  132. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +17 -16
  133. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +8 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +25 -0
  135. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +18 -0
  136. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +45 -0
  138. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +7 -0
  139. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → vertical/migration.d.ts} +11 -4
  140. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +33 -0
  141. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  142. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  143. package/dist/src/extensions/Blocks/common-control.d.ts +10 -9
  144. package/dist/src/stores/config.d.ts +1 -147
  145. package/dist/static/styles/components/button.css.js +1 -1
  146. package/dist/static/styles/components/wide-panel.css.js +0 -4
  147. package/dist/static/styles/customEditorStyle.css.js +38 -2
  148. package/dist/stores/config.js +0 -7
  149. package/dist/utils/pairProductVariables.js +58 -61
  150. package/package.json +1 -1
  151. package/dist/config/migrator/itemsBlockMigrator.js +0 -342
  152. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +0 -93
  153. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -184
  154. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  155. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  156. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  157. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  158. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  159. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  160. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  161. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  162. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  163. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  164. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  165. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  166. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  167. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  168. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  169. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  170. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  171. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  172. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  173. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  174. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  175. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  176. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  177. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  178. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  179. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  180. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  181. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  182. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  183. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  184. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  185. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  186. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  187. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  188. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  189. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  190. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  191. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  192. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  193. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  194. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  195. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -18
  196. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -73
  197. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  198. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  199. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  208. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  209. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  210. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  211. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  212. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  213. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  214. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  215. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  216. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  217. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  218. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  219. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  220. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  221. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  222. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  223. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  224. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  225. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  226. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  227. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  228. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  229. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  230. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  231. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  232. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  233. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  234. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
@@ -1,160 +0,0 @@
1
- import { BlockType as t, BlockAttr as n } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationBlockId as o } from "../constants.js";
3
- import { generateTemplate as l, prepareProductRows as s, spacer as d, DEFAULTS as p, getDefaultProducts as i } from "./templateUtils.js";
4
- import { DEFAULT_CARD_COMPOSITION as $ } from "./templateUtils.js";
5
- const g = `
6
- <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20">
7
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
8
- <tr>
9
- <td align="center">
10
- <table
11
- class="container"
12
- width="100%"
13
- cellpadding="0"
14
- cellspacing="0"
15
- border="0">
16
- <tbody>
17
- <tr>
18
- <td>
19
- <table
20
- width="100%"
21
- cellpadding="0"
22
- cellspacing="0"
23
- border="0">
24
- <tbody>
25
- <${t.BLOCK_TEXT}
26
- class="es-p10t es-p10b es-p20l es-p20r"
27
- align="center">
28
- <p path="1" style="font-size: 28px; color: #333333;">
29
- <strong path="1,0">{-{-TITLE-}-}</strong>
30
- </p>
31
- </${t.BLOCK_TEXT}>
32
- </tbody>
33
- </table>
34
- </td>
35
- </tr>
36
- ${d}
37
- <tr>
38
- <td>
39
- <table
40
- class="ins-recommendation-product-container"
41
- width="100%"
42
- cellpadding="0"
43
- cellspacing="0"
44
- border="0"
45
- >
46
- {-{-PRODUCT_ROWS-}-}
47
- </table>
48
- </td>
49
- </tr>
50
- </tbody>
51
- </table>
52
- </td>
53
- </tr>
54
- </table>
55
- </td>
56
- `, a = {
57
- productImage: (e) => `
58
- <${t.BLOCK_IMAGE}
59
- ${n.BLOCK_IMAGE.src}="${e.image_url}"
60
- ${n.BLOCK_IMAGE.alt}="${e.name}"
61
- ${n.BLOCK_IMAGE.href}="#"
62
- class="product-image"
63
- align="center"
64
- style="max-width: 100%; height: auto; margin: 0 auto;"
65
- esd-extension-block-id="${o.IMAGE}">
66
- </${t.BLOCK_IMAGE}>
67
- `,
68
- productName: (e) => `
69
- <${t.BLOCK_TEXT}
70
- class="product-name"
71
- align="center"
72
- style="font-size: 16px; color: #333333; font-weight: 600; padding: 15px 10px; text-align: center;"
73
- esd-extension-block-id="${o.NAME}">
74
- <p path="1" contenteditable="false">
75
- <strong path="1,0">${e.name}</strong>
76
- </p>
77
- </${t.BLOCK_TEXT}>
78
- `,
79
- productPrice: () => `
80
- <${t.BLOCK_TEXT}
81
- class="product-price"
82
- align="center"
83
- style="padding: 10px; text-align: center;"
84
- esd-extension-block-id="${o.PRICE}">
85
- <p path="1" contenteditable="false">
86
- <span class="current-price" style="font-size: 16px; color: #333333; font-weight: bold;">
87
- <strong path="1,0">18,00 TRY</strong>
88
- </span>
89
- </p>
90
- </${t.BLOCK_TEXT}>
91
- `,
92
- productOldPrice: () => `
93
- <${t.BLOCK_TEXT}
94
- class="product-old-price"
95
- align="center"
96
- style="padding: 10px; text-align: center;"
97
- esd-extension-block-id="${o.OLD_PRICE}">
98
- <p path="1" contenteditable="false">
99
- <span class="old-price" style="font-size: 14px; color: #999999; text-decoration: line-through;">
100
- <s path="1,0">20,00 TRY</s>
101
- </span>
102
- </p>
103
- </${t.BLOCK_TEXT}>
104
- `,
105
- productButton: () => `
106
- <${t.BLOCK_BUTTON}
107
- ${n.BLOCK_BUTTON.href}="#"
108
- class="product-button"
109
- align="center"
110
- style="padding: 15px 10px 20px 10px; text-align: center;"
111
- esd-extension-block-id="${o.BUTTON}">
112
- <span class="es-button-border">
113
- <a
114
- href="#"
115
- class="es-button buy-button"
116
- target="_blank"
117
- style="
118
- display: inline-block;
119
- width: 90%;
120
- max-width: 150px;
121
- padding: 12px 20px;
122
- background-color: #ffffff;
123
- color: #333333;
124
- text-decoration: none;
125
- border: 2px solid #cccccc;
126
- font-size: 16px;
127
- box-sizing: border-box;
128
- ">
129
- Buy
130
- </a>
131
- </span>
132
- </${t.BLOCK_BUTTON}>
133
- `
134
- };
135
- function x() {
136
- const e = i();
137
- return l(
138
- g,
139
- e,
140
- 3,
141
- a,
142
- p.TITLE
143
- );
144
- }
145
- function f(e, r, c) {
146
- return s(
147
- e,
148
- r,
149
- a,
150
- c
151
- );
152
- }
153
- export {
154
- p as DEFAULTS,
155
- $ as DEFAULT_CARD_COMPOSITION,
156
- g as default,
157
- i as getDefaultProducts,
158
- x as getDefaultTemplate,
159
- f as prepareProductRows
160
- };
@@ -1,152 +0,0 @@
1
- import { prepareProductRows as n } from "./templateUtils.js";
2
- import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
3
- const a = `
4
- <td
5
- align="left"
6
- esd-extension-block-id="recommendation-block"
7
- esd-handler-name="esd-extension-RecommendationBlock"
8
- class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20"
9
- >
10
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
11
- <tr>
12
- <td align="center">
13
- <table
14
- class="container"
15
- width="100%"
16
- cellpadding="0"
17
- cellspacing="0"
18
- border="0">
19
- <tbody>
20
- <tr>
21
- <td>
22
- <table
23
- width="100%"
24
- cellpadding="0"
25
- cellspacing="0"
26
- border="0">
27
- <tbody>
28
- <tr>
29
- {-{-TITLE-}-}
30
- </tr>
31
- </tbody>
32
- </table>
33
- </td>
34
- </tr>
35
- <tr>
36
- <td class="spacer" style="height: 20px;"></td>
37
- </tr>
38
- <tr>
39
- <td>
40
- <table
41
- class="ins-recommendation-product-container"
42
- width="100%"
43
- cellpadding="0"
44
- cellspacing="0"
45
- border="0"
46
- >
47
- {-{-PRODUCT_ROWS-}-}
48
- </table>
49
- </td>
50
- </tr>
51
- </tbody>
52
- </table>
53
- </td>
54
- </tr>
55
- </table>
56
- </td>
57
- `, l = {
58
- productImage: (t) => `
59
- <tr>
60
- <td
61
- class="esd-block-image product-image"
62
- esd-extension-block-id="recommendation-block-image"
63
- align="center"
64
- style="font-size: 0px;">
65
- <a target="_blank" href="${t.url}">
66
- <img
67
- src="${t.image_url}"
68
- alt="${t.name}"
69
- width="120"
70
- style="display: block; max-width: 100%; height: auto;"
71
- class="adapt-img">
72
- </a>
73
- </td>
74
- </tr>
75
- `,
76
- productName: (t) => `
77
- <tr>
78
- <td
79
- class="esd-block-text product-name"
80
- esd-extension-block-id="recommendation-block-name"
81
- align="center">
82
- <p
83
- path="1"
84
- contenteditable="false"
85
- style="font-size: 16px; color: #333333; font-weight: 600; text-align: center;">
86
- <strong path="1,0">${t.name}</strong>
87
- </p>
88
- </td>
89
- </tr>
90
- `,
91
- productPrice: () => `
92
- <tr>
93
- <td
94
- class="esd-block-text product-price"
95
- esd-extension-block-id="recommendation-block-price"
96
- align="center">
97
- <p
98
- path="1"
99
- contenteditable="false"
100
- style="font-size: 16px; color: #333333; font-weight: bold; text-align: center;">
101
- <strong path="1,0">18,00 TRY</strong>
102
- </p>
103
- </td>
104
- </tr>
105
- `,
106
- productOldPrice: () => `
107
- <tr>
108
- <td
109
- class="esd-block-text product-old-price"
110
- esd-extension-block-id="recommendation-block-old-price"
111
- align="center">
112
- <p
113
- path="1"
114
- contenteditable="false"
115
- style="font-size: 14px; color: #999999; text-decoration: line-through; text-align: center;">
116
- <s path="1,0">20,00 TRY</s>
117
- </p>
118
- </td>
119
- </tr>
120
- `,
121
- productButton: (t) => `
122
- <tr>
123
- <td
124
- class="esd-block-button product-button"
125
- esd-extension-block-id="recommendation-block-button"
126
- align="center">
127
- <span class="es-button-border" style="display: block;">
128
- <a
129
- href="${t.url}"
130
- target="_blank"
131
- class="es-button">
132
- {-{-PRODUCT_BUTTON_TEXT-}-}
133
- </a>
134
- </span>
135
- </td>
136
- </tr>
137
- `
138
- };
139
- function d(t, e, o) {
140
- return n(
141
- t,
142
- e,
143
- l,
144
- o
145
- );
146
- }
147
- export {
148
- i as DEFAULTS,
149
- a as default,
150
- p as getDefaultProducts,
151
- d as prepareProductRows
152
- };
@@ -1,180 +0,0 @@
1
- const R = {
2
- TITLE: "You May Also Like!"
3
- }, O = `
4
- <tr>
5
- <td class="spacer" style="height: 20px;"></td>
6
- </tr>
7
- `, w = `
8
- <tr>
9
- <td>
10
- <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
11
- {-{-PRODUCTS-}-}
12
- </table>
13
- </td>
14
- </tr>
15
- `, i = `
16
- <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
17
- <table
18
- width="100%"
19
- height="100%"
20
- cellpadding="0"
21
- cellspacing="0"
22
- border="0"
23
- class="product-card-wrapper">
24
- <tr>
25
- <td
26
- class="product-attribute-cell"
27
- valign="top">
28
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
29
- <tbody>
30
- {-{-PRODUCT_CONTENT-}-}
31
- </tbody>
32
- </table>
33
- </td>
34
- </tr>
35
- </table>
36
- </td>
37
- `, b = [
38
- "productImage",
39
- "productName",
40
- "productOldPrice",
41
- "productPrice",
42
- "productButton"
43
- ];
44
- function C() {
45
- return [
46
- {
47
- name: "Product Name",
48
- image_url: "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png",
49
- price: { USD: 18 },
50
- original_price: { USD: 20 },
51
- discount: { USD: 2 },
52
- url: "https://example.com/product/1",
53
- item_id: "1",
54
- in_stock: 1,
55
- locale: "en",
56
- product_attributes: {},
57
- category: []
58
- },
59
- {
60
- name: "Belt",
61
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
62
- price: { TRY: 55 },
63
- original_price: { TRY: 65 },
64
- discount: { TRY: 10 },
65
- url: "https://example.com/product/2",
66
- item_id: "2",
67
- in_stock: 1,
68
- locale: "tr",
69
- product_attributes: {},
70
- category: []
71
- },
72
- {
73
- name: "Beanie",
74
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/08/beanie-with-logo-1.jpg",
75
- price: { TRY: 18 },
76
- original_price: { TRY: 20 },
77
- discount: { TRY: 2 },
78
- url: "https://example.com/product/3",
79
- item_id: "3",
80
- in_stock: 1,
81
- locale: "tr",
82
- product_attributes: {},
83
- category: []
84
- },
85
- {
86
- name: "Album",
87
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
88
- price: { TRY: 15 },
89
- original_price: { TRY: 15 },
90
- discount: { TRY: 0 },
91
- url: "https://example.com/product/4",
92
- item_id: "4",
93
- in_stock: 1,
94
- locale: "tr",
95
- product_attributes: {},
96
- category: []
97
- },
98
- {
99
- name: "Flying Ninja with a very long product name",
100
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
101
- price: { TRY: 12 },
102
- original_price: { TRY: 15 },
103
- discount: { TRY: 3 },
104
- url: "https://example.com/product/5",
105
- item_id: "5",
106
- in_stock: 1,
107
- locale: "tr",
108
- product_attributes: {},
109
- category: []
110
- },
111
- {
112
- name: "Single",
113
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
114
- price: { TRY: 22555 },
115
- original_price: { TRY: 33989 },
116
- discount: { TRY: 11434 },
117
- url: "https://example.com/product/6",
118
- item_id: "6",
119
- in_stock: 1,
120
- locale: "tr",
121
- product_attributes: {},
122
- category: []
123
- }
124
- ];
125
- }
126
- function N(p, r, e, l = b) {
127
- const n = (100 / r).toFixed(2), a = [];
128
- for (let o = 0; o < p.length; o += r)
129
- a.push(p.slice(o, o + r));
130
- let c = "";
131
- return a.forEach((o, _) => {
132
- _ > 0 && (c += O);
133
- let s = "", u = "", d = "", m = "", g = "";
134
- o.forEach((t) => {
135
- s += i.replace(
136
- "{-{-PRODUCT_CONTENT-}-}",
137
- e.productImage(t)
138
- ), u += i.replace(
139
- "{-{-PRODUCT_CONTENT-}-}",
140
- e.productName(t)
141
- ), d += i.replace(
142
- "{-{-PRODUCT_CONTENT-}-}",
143
- e.productPrice(t)
144
- ), m += i.replace(
145
- "{-{-PRODUCT_CONTENT-}-}",
146
- e.productOldPrice(t)
147
- ), g += i.replace(
148
- "{-{-PRODUCT_CONTENT-}-}",
149
- e.productButton(t)
150
- );
151
- });
152
- const T = {
153
- productImage: s,
154
- productName: u,
155
- productPrice: d,
156
- productOldPrice: m,
157
- productButton: g
158
- }, h = l.filter((t) => !!T[t]).map((t) => `<tr>${T[t]}</tr>`).join("");
159
- c += w.replace("{-{-PRODUCTS-}-}", h);
160
- }), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${n}%`);
161
- }
162
- function P(p, r, e, l, n = R.TITLE, a) {
163
- const c = N(
164
- r,
165
- e,
166
- l,
167
- a
168
- );
169
- return p.replace("{-{-TITLE-}-}", n).replace("{-{-PRODUCT_ROWS-}-}", c);
170
- }
171
- export {
172
- R as DEFAULTS,
173
- b as DEFAULT_CARD_COMPOSITION,
174
- P as generateTemplate,
175
- C as getDefaultProducts,
176
- N as prepareProductRows,
177
- i as productCardWrapper,
178
- w as productRow,
179
- O as spacer
180
- };
@@ -1,6 +0,0 @@
1
- /**
2
- * Migrates legacy ItemsBlock templates to v2 format
3
- * @param html - HTML string containing legacy items blocks
4
- * @returns Migrated HTML with replaced variables and cleaned conditionals
5
- */
6
- export declare function migrateItemsBlock(html: string): string;
@@ -1,18 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../../common-control';
3
- import { ItemsBlockControlId } from '../../enums/controlEnums';
4
- export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_SINGLE_PRICE;
5
- export declare class PriceSinglePriceControl extends CommonControl {
6
- private store;
7
- getId(): string;
8
- getTemplate(): string;
9
- onRender(): void;
10
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- /**
12
- * Syncs single price state from nodeConfig.
13
- */
14
- private _syncSinglePriceFromNodeConfig;
15
- _onSinglePriceChange(value: boolean): void;
16
- private _updatePriceBlock;
17
- _getSinglePrice(): string;
18
- }
@@ -1,73 +0,0 @@
1
- import { OrientationType, ProductType } from '@@/Types/extensions/items';
2
- import { ImmutableHtmlNode, ImmutableHtmlElementNode, ControlApi, BlockApi } from '@stripoinc/ui-editor-extensions';
3
- /**
4
- * Typed configuration object for Items Block.
5
- * Configuration is stored directly on the block node using Stripo V2's getNodeConfig/setNodeConfig API.
6
- */
7
- export interface ItemsBlockConfig {
8
- initialized: boolean;
9
- blockInstanceId: string;
10
- source: ProductType;
11
- type: ProductType;
12
- itemsSelectValue: string;
13
- orientation: OrientationType;
14
- nameTrimming: boolean;
15
- nameControlEnabled: boolean;
16
- priceHideDiscount: boolean;
17
- priceFormatted: boolean;
18
- priceSinglePrice: boolean;
19
- priceCurrencySymbol: string;
20
- priceCurrencyLocation: string;
21
- priceControlOpened: boolean;
22
- priceOrientation: 'vertical' | 'horizontal';
23
- quantityControlEnabled: boolean;
24
- buttonLink: string;
25
- imageLink: string;
26
- buttonLabel: string;
27
- /** Whether button should be full width (true = es-fw class) or inline (false = es-il class) */
28
- buttonFullWidth: boolean;
29
- imageVisible: boolean;
30
- nameVisible: boolean;
31
- quantityVisible: boolean;
32
- priceVisible: boolean;
33
- originalPriceVisible: boolean;
34
- buttonVisible: boolean;
35
- }
36
- /**
37
- * Generates a unique block instance ID.
38
- */
39
- export declare function generateBlockInstanceId(): string;
40
- /**
41
- * Returns default ItemsBlockConfig values.
42
- * These are used when initializing a new block or when migrating from legacy format.
43
- */
44
- export declare function getDefaultItemsBlockConfig(): ItemsBlockConfig;
45
- /**
46
- * Gets the Items block container element from the current node.
47
- * The container is identified by the `.items-block-v2` class (new) or `.esd-cart-items-block` (legacy).
48
- * @param currentNode - The current node from the control (usually this.currentNode)
49
- * @returns The container element or null if not found
50
- */
51
- export declare function getItemsBlockContainer(currentNode: ImmutableHtmlNode | undefined): ImmutableHtmlElementNode | null;
52
- /**
53
- * Gets the node configuration from the Items block.
54
- * Uses Stripo V2's getNodeConfig() API.
55
- * Falls back to migrating from legacy config block if nodeConfig is empty.
56
- * @param currentNode - The current node from the control
57
- * @returns The ItemsBlockConfig object or null if not found
58
- */
59
- export declare function getItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined): ItemsBlockConfig | null;
60
- /**
61
- * Sets the node configuration on the Items block.
62
- * Uses Stripo V2's setNodeConfig() API.
63
- * @param currentNode - The current node from the control
64
- * @param api - The API object (ControlApi or BlockApi)
65
- * @param config - The configuration to set (partial update supported)
66
- */
67
- export declare function setItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined, api: ControlApi | BlockApi, config: Partial<ItemsBlockConfig>): void;
68
- /**
69
- * Gets the block instance ID from the node config.
70
- * @param currentNode - The current node from the control
71
- * @returns The block instance ID or null if not found
72
- */
73
- export declare function getBlockInstanceIdFromConfig(currentNode: ImmutableHtmlNode | undefined): string | null;
@@ -1,28 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../common-control';
3
- export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-recommendation-card-composition";
4
- export interface CardCompositionItem {
5
- key: string;
6
- label: string;
7
- visible: boolean;
8
- }
9
- export declare class RecommendationCardCompositionControl extends CommonControl {
10
- private currentComposition;
11
- private currentVisibility;
12
- getId(): string;
13
- getTemplate(): string;
14
- onRender(): void;
15
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
16
- /**
17
- * Initialize the composition order and visibility from the block or use defaults
18
- */
19
- private _initializeComposition;
20
- /**
21
- * Apply the reordered composition to the block's HTML structure
22
- */
23
- private _applyCompositionToBlock;
24
- /**
25
- * Apply visibility changes to the block's HTML structure
26
- */
27
- private _applyVisibilityToBlock;
28
- }
@@ -1,35 +0,0 @@
1
- import { CommonControl } from '../common-control';
2
- export declare const CONTROL_BLOCK_ID = "ui-elements-recommendation-block";
3
- export declare class RecommendationBlockControl extends CommonControl {
4
- private store;
5
- private storeUnsubscription;
6
- private addFilterListener;
7
- private addFilterButton;
8
- getId(): string;
9
- getTemplate(): string;
10
- onRender(): Promise<void>;
11
- onDestroy(): void;
12
- _setFormValues(): void;
13
- _initializeSelectItems(): void;
14
- _getAlgorithms(): string;
15
- _getLanguages(): string;
16
- _getCurrency(): string;
17
- _getProductLayout(): string;
18
- _getFilterStatus(): string;
19
- _getShuffleProducts(): string;
20
- _getResponsive(): string;
21
- _onFilterChange(value: boolean): void;
22
- _onFilterSelectClick(): void;
23
- _onDataChange(item: string, value: string | number | string[]): void;
24
- /**
25
- * Get the current card composition from block data attribute or use default
26
- */
27
- _getCardComposition(): string[];
28
- _regenerateProductRows(): void;
29
- _debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
30
- _onCurrencyConfigChange(item: string, value: string | number): void;
31
- _onCurrencyChange(value: string): void;
32
- _setProductIdsVisibility(): void;
33
- _listenToFormUpdates(): void;
34
- _listenStateUpdates(): void;
35
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonAlignControl extends ButtonAlignBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonBorderBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonBorderControl extends ButtonBorderBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonBorderRadiusBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonBorderRadiusControl extends ButtonBorderRadiusBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonColorControl extends ButtonColorBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }