@useinsider/guido 2.0.0-beta.1c331b8 → 2.0.0-beta.2369541

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 (231) hide show
  1. package/dist/@types/config/schemas.js +53 -39
  2. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  3. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +8 -8
  4. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
  5. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +7 -8
  6. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
  7. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.js +18 -0
  8. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue2.js +15 -0
  9. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +10 -14
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +14 -22
  11. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  12. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +11 -10
  13. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
  14. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
  15. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
  16. package/dist/components/organisms/header/EditorActions.vue.js +20 -0
  17. package/dist/components/organisms/header/EditorActions.vue2.js +41 -0
  18. package/dist/components/organisms/header/EditorToolbar.vue.js +18 -0
  19. package/dist/components/organisms/header/EditorToolbar.vue2.js +17 -0
  20. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -5
  21. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  22. package/dist/components/organisms/header/LeftSlot.vue2.js +11 -12
  23. package/dist/components/organisms/header/MiddleSlot.vue.js +10 -10
  24. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -15
  25. package/dist/components/organisms/header/RightSlot.vue.js +11 -14
  26. package/dist/components/organisms/header/RightSlot.vue2.js +13 -30
  27. package/dist/components/organisms/header/version-history/VersionHistory.vue.js +5 -5
  28. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  29. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  30. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
  31. package/dist/composables/useConfig.js +29 -27
  32. package/dist/composables/useSave.js +13 -11
  33. package/dist/config/migrator/recommendationMigrator.js +2 -2
  34. package/dist/enums/academy.js +8 -0
  35. package/dist/enums/onboarding.js +1 -2
  36. package/dist/enums/unsubscribe.js +20 -21
  37. package/dist/extensions/Blocks/Items/controls/cardComposition.js +4 -13
  38. package/dist/extensions/Blocks/Recommendation/block.js +1 -1
  39. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  40. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  41. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/extension.js +43 -40
  77. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -5
  78. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -128
  79. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +25 -28
  80. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  81. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  82. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  83. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  84. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  85. package/dist/extensions/Blocks/common-control.js +6 -7
  86. package/dist/extensions/Blocks/controlFactories.js +121 -155
  87. package/dist/guido.css +1 -1
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +291 -361
  89. package/dist/package.json.js +1 -1
  90. package/dist/src/@types/config/index.d.ts +2 -2
  91. package/dist/src/@types/config/schemas.d.ts +26 -0
  92. package/dist/src/@types/config/types.d.ts +7 -1
  93. package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
  94. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
  95. package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
  96. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  97. package/dist/src/composables/useConfig.d.ts +6 -0
  98. package/dist/src/enums/academy.d.ts +12 -0
  99. package/dist/src/enums/onboarding.d.ts +0 -1
  100. package/dist/src/enums/unsubscribe.d.ts +0 -1
  101. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  102. package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +11 -19
  103. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  138. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
  139. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
  140. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  141. package/dist/src/extensions/Blocks/Recommendation/templates/{vertical/migration.d.ts → migrationTemplate.d.ts} +4 -11
  142. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  143. package/dist/src/extensions/Blocks/common-control.d.ts +1 -1
  144. package/dist/src/stores/config.d.ts +147 -1
  145. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  146. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  147. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  148. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  149. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  150. package/dist/static/styles/components/button.css.js +1 -1
  151. package/dist/static/styles/components/wide-panel.css.js +4 -0
  152. package/dist/static/styles/customEditorStyle.css.js +2 -38
  153. package/dist/stores/config.js +7 -0
  154. package/package.json +3 -3
  155. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  156. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  157. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +0 -4
  158. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +0 -4
  159. package/dist/extensions/Blocks/Recommendation/constants/layout.js +0 -7
  160. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -11
  161. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
  162. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -80
  163. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -238
  164. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
  165. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -104
  166. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +0 -86
  167. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +0 -134
  168. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +0 -54
  169. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -134
  170. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +0 -64
  171. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +0 -124
  172. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +0 -60
  173. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +0 -112
  174. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
  175. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -76
  176. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +0 -44
  177. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +0 -48
  178. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +0 -73
  179. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +0 -73
  180. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +0 -48
  181. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +0 -73
  182. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +0 -73
  183. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
  184. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -216
  185. package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +0 -157
  186. package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +0 -72
  187. package/dist/extensions/Blocks/Recommendation/templates/index.js +0 -12
  188. package/dist/extensions/Blocks/Recommendation/templates/utils.js +0 -173
  189. package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +0 -186
  190. package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +0 -251
  191. package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +0 -62
  192. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -36
  193. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
  194. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -12
  195. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +0 -17
  196. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -19
  197. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +0 -143
  198. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -31
  199. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +0 -95
  200. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
  201. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -24
  202. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -34
  203. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -17
  204. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +0 -16
  205. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +0 -22
  206. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -43
  207. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +0 -15
  208. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -40
  209. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -15
  210. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +0 -81
  211. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +0 -97
  212. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -16
  213. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -95
  214. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -100
  215. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -15
  216. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -15
  217. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -100
  218. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -15
  219. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -15
  220. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +0 -95
  221. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +0 -72
  222. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +0 -8
  223. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +0 -25
  224. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +0 -18
  225. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +0 -39
  226. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +0 -45
  227. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +0 -7
  228. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +0 -33
  229. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
  230. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  231. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -1,186 +0,0 @@
1
- import { RecommendationBlockId as t } from "../../constants/blockIds.js";
2
- import { ATTR_PRODUCT_BUTTON as l, ATTR_PRODUCT_OMNIBUS_DISCOUNT as d, ATTR_PRODUCT_OMNIBUS_PRICE as n, ATTR_PRODUCT_OLD_PRICE as o, ATTR_PRODUCT_PRICE as c, ATTR_PRODUCT_NAME as i, ATTR_PRODUCT_IMAGE as r } from "../../constants/selectors.js";
3
- const e = "0 5px", s = "attribute-cell", b = {
4
- [r]: (a) => `
5
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
6
- <table
7
- class="product-card-segment"
8
- width="100%"
9
- height="100%"
10
- cellpadding="0"
11
- cellspacing="0"
12
- border="0">
13
- <tr valign="top">
14
- <td
15
- class="esd-block-image product-image"
16
- align="center"
17
- esd-extension-block-id="${t.IMAGE}">
18
- <a target="_blank" href="${a.url}">
19
- <img
20
- src="${a.image_url}"
21
- alt="${a.name}"
22
- style="max-width: 100%; height: auto; margin: 0 auto; display: block;"
23
- class="adapt-img">
24
- </a>
25
- </td>
26
- </tr>
27
- </table>
28
- </td>
29
- `,
30
- [i]: (a) => `
31
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
32
- <table
33
- class="product-card-segment"
34
- width="100%"
35
- height="100%"
36
- cellpadding="0"
37
- cellspacing="0"
38
- border="0">
39
- <tr valign="top">
40
- <td
41
- class="esd-block-text product-name es-p10t es-p10b es-p15l es-p15r"
42
- align="center"
43
- esd-extension-block-id="${t.NAME}">
44
- <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
45
- <strong path="1,0">${a.name}</strong>
46
- </p>
47
- </td>
48
- </tr>
49
- </table>
50
- </td>
51
- `,
52
- [c]: () => `
53
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
54
- <table
55
- class="product-card-segment"
56
- width="100%"
57
- height="100%"
58
- cellpadding="0"
59
- cellspacing="0"
60
- border="0">
61
- <tr valign="top">
62
- <td
63
- class="esd-block-text product-price es-p15l es-p15r"
64
- align="center"
65
- esd-extension-block-id="${t.PRICE}">
66
- <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
67
- <strong path="1,0">18,00 TRY</strong>
68
- </p>
69
- </td>
70
- </tr>
71
- </table>
72
- </td>
73
- `,
74
- [o]: () => `
75
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
76
- <table
77
- class="product-card-segment"
78
- width="100%"
79
- height="100%"
80
- cellpadding="0"
81
- cellspacing="0"
82
- border="0">
83
- <tr valign="top">
84
- <td
85
- class="esd-block-text product-old-price es-p15l es-p15r"
86
- align="center"
87
- esd-extension-block-id="${t.OLD_PRICE}">
88
- <p path="1" contenteditable="false" style="font-size: 14px; color: #999999;">
89
- <s path="1,0">20,00 TRY</s>
90
- </p>
91
- </td>
92
- </tr>
93
- </table>
94
- </td>
95
- `,
96
- [n]: () => `
97
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
98
- <table
99
- class="product-card-segment"
100
- width="100%"
101
- height="100%"
102
- cellpadding="0"
103
- cellspacing="0"
104
- border="0">
105
- <tr valign="top">
106
- <td
107
- class="esd-block-text product-omnibus-price es-p15l es-p15r"
108
- align="center"
109
- data-text-before="Lowest 30-day price: "
110
- data-text-after=""
111
- esd-extension-block-id="${t.OMNIBUS_PRICE}">
112
- <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
113
- <span class="omnibus-text-before">Lowest 30-day price: </span>
114
- <span class="omnibus-price-value">17,00 TRY</span>
115
- <span class="omnibus-text-after"></span>
116
- </p>
117
- </td>
118
- </tr>
119
- </table>
120
- </td>
121
- `,
122
- [d]: () => `
123
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
124
- <table
125
- class="product-card-segment"
126
- width="100%"
127
- height="100%"
128
- cellpadding="0"
129
- cellspacing="0"
130
- border="0">
131
- <tr valign="top">
132
- <td
133
- class="esd-block-text product-omnibus-discount es-p15l es-p15r"
134
- align="center"
135
- data-text-before=""
136
- data-text-after=""
137
- esd-extension-block-id="${t.OMNIBUS_DISCOUNT}">
138
- <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
139
- <span class="omnibus-text-before"></span>
140
- <span class="omnibus-discount-value">-6%</span>
141
- <span class="omnibus-text-after"></span>
142
- </p>
143
- </td>
144
- </tr>
145
- </table>
146
- </td>
147
- `,
148
- [l]: () => `
149
- <td class="${s}" style="padding: ${e}; height: 100%;" valign="top">
150
- <table
151
- class="product-card-segment"
152
- width="100%"
153
- height="100%"
154
- cellpadding="0"
155
- cellspacing="0"
156
- border="0">
157
- <tr valign="top">
158
- <td
159
- class="esd-block-button product-button es-p10t es-p10b"
160
- align="center"
161
- esd-extension-block-id="${t.BUTTON}">
162
- <span
163
- class="es-button-border"
164
- style="
165
- border-width: 1px;
166
- background: rgb(217, 234, 211);
167
- border-color: rgb(106, 168, 79);
168
- ">
169
- <a
170
- href="#"
171
- class="es-button buy-button"
172
- target="_blank"
173
- style="color: rgb(56, 118, 29); background: rgb(217, 234, 211);">
174
- Buy
175
- </a>
176
- </span>
177
- </td>
178
- </tr>
179
- </table>
180
- </td>
181
- `
182
- };
183
- export {
184
- s as ATTRIBUTE_CELL_CLASS,
185
- b as verticalElementRenderer
186
- };
@@ -1,251 +0,0 @@
1
- import { ATTR_PRODUCT_BUTTON as s, ATTR_PRODUCT_OMNIBUS_DISCOUNT as d, ATTR_PRODUCT_OMNIBUS_PRICE as c, ATTR_PRODUCT_OLD_PRICE as o, ATTR_PRODUCT_PRICE as i, ATTR_PRODUCT_NAME as r, ATTR_PRODUCT_IMAGE as p } from "../../constants/selectors.js";
2
- import { prepareVerticalProductRows as b } from "./template.js";
3
- const u = `
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
- `, e = "0 5px", a = "attribute-cell", g = {
58
- [p]: (t) => `
59
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
60
- <table
61
- class="product-card-segment"
62
- width="100%"
63
- height="100%"
64
- cellpadding="0"
65
- cellspacing="0"
66
- border="0">
67
- <tr>
68
- <td
69
- class="esd-block-image product-image"
70
- esd-extension-block-id="recommendation-block-image"
71
- align="center"
72
- style="font-size: 0px;">
73
- <a target="_blank" href="${t.url}">
74
- <img
75
- src="${t.image_url}"
76
- alt="${t.name}"
77
- width="120"
78
- style="display: block; max-width: 100%; height: auto;"
79
- class="adapt-img">
80
- </a>
81
- </td>
82
- </tr>
83
- </table>
84
- </td>
85
- `,
86
- [r]: (t) => `
87
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
88
- <table
89
- class="product-card-segment"
90
- width="100%"
91
- height="100%"
92
- cellpadding="0"
93
- cellspacing="0"
94
- border="0">
95
- <tr>
96
- <td
97
- class="esd-block-text product-name"
98
- esd-extension-block-id="recommendation-block-name"
99
- align="center">
100
- <p
101
- path="1"
102
- contenteditable="false"
103
- style="font-size: 16px; color: #333333; font-weight: 600; text-align: center;">
104
- <strong path="1,0">${t.name}</strong>
105
- </p>
106
- </td>
107
- </tr>
108
- </table>
109
- </td>
110
- `,
111
- [i]: () => `
112
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
113
- <table
114
- class="product-card-segment"
115
- width="100%"
116
- height="100%"
117
- cellpadding="0"
118
- cellspacing="0"
119
- border="0">
120
- <tr>
121
- <td
122
- class="esd-block-text product-price"
123
- esd-extension-block-id="recommendation-block-price"
124
- align="center">
125
- <p
126
- path="1"
127
- contenteditable="false"
128
- style="font-size: 16px; color: #333333; font-weight: bold; text-align: center;">
129
- <strong path="1,0">18,00 TRY</strong>
130
- </p>
131
- </td>
132
- </tr>
133
- </table>
134
- </td>
135
- `,
136
- [o]: () => `
137
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
138
- <table
139
- class="product-card-segment"
140
- width="100%"
141
- height="100%"
142
- cellpadding="0"
143
- cellspacing="0"
144
- border="0">
145
- <tr>
146
- <td
147
- class="esd-block-text product-old-price"
148
- esd-extension-block-id="recommendation-block-old-price"
149
- align="center">
150
- <p
151
- path="1"
152
- contenteditable="false"
153
- style="font-size: 14px; color: #999999; text-decoration: line-through; text-align: center;">
154
- <s path="1,0">20,00 TRY</s>
155
- </p>
156
- </td>
157
- </tr>
158
- </table>
159
- </td>
160
- `,
161
- [c]: () => `
162
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
163
- <table
164
- class="product-card-segment"
165
- width="100%"
166
- height="100%"
167
- cellpadding="0"
168
- cellspacing="0"
169
- border="0">
170
- <tr>
171
- <td
172
- class="esd-block-text product-omnibus-price"
173
- esd-extension-block-id="recommendation-block-omnibus-price"
174
- data-text-before="Lowest 30-day price: "
175
- data-text-after=""
176
- align="center">
177
- <p
178
- path="1"
179
- contenteditable="false"
180
- style="font-size: 14px; color: #666666; text-align: center;"><span
181
- class="omnibus-text-before">Lowest 30-day price: </span><span
182
- class="omnibus-price-value">17,00 TRY</span><span
183
- class="omnibus-text-after"></span></p>
184
- </td>
185
- </tr>
186
- </table>
187
- </td>
188
- `,
189
- [d]: () => `
190
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
191
- <table
192
- class="product-card-segment"
193
- width="100%"
194
- height="100%"
195
- cellpadding="0"
196
- cellspacing="0"
197
- border="0">
198
- <tr>
199
- <td
200
- class="esd-block-text product-omnibus-discount"
201
- esd-extension-block-id="recommendation-block-omnibus-discount"
202
- data-text-before=""
203
- data-text-after=""
204
- align="center">
205
- <p
206
- path="1"
207
- contenteditable="false"
208
- style="font-size: 14px; color: #666666; text-align: center;"><span
209
- class="omnibus-text-before"></span><span
210
- class="omnibus-discount-value">-6%</span><span
211
- class="omnibus-text-after"></span></p>
212
- </td>
213
- </tr>
214
- </table>
215
- </td>
216
- `,
217
- [s]: (t) => `
218
- <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
219
- <table
220
- class="product-card-segment"
221
- width="100%"
222
- height="100%"
223
- cellpadding="0"
224
- cellspacing="0"
225
- border="0">
226
- <tr>
227
- <td
228
- class="esd-block-button product-button"
229
- esd-extension-block-id="recommendation-block-button"
230
- align="center">
231
- <span class="es-button-border" style="display: block;">
232
- <a
233
- href="${t.url}"
234
- target="_blank"
235
- class="es-button">
236
- {-{-PRODUCT_BUTTON_TEXT-}-}
237
- </a>
238
- </span>
239
- </td>
240
- </tr>
241
- </table>
242
- </td>
243
- `
244
- };
245
- function T(t, l, n) {
246
- return b(t, l, g, n);
247
- }
248
- export {
249
- u as default,
250
- T as prepareProductRows
251
- };
@@ -1,62 +0,0 @@
1
- import { DEFAULT_PRODUCTS_PER_ROW as u } from "../../constants/layout.js";
2
- import { DEFAULT_CARD_COMPOSITION as d, spacer as m, createBlockTemplate as R, DEFAULTS as I, getDefaultProducts as L, DEFAULT_CARD_VISIBILITY as w } from "../utils.js";
3
- import { verticalElementRenderer as E } from "./elementRenderer.js";
4
- const S = `
5
- <tr class="recommendation-product-row">
6
- <td>
7
- <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0" class="product-card-wrapper">
8
- <tbody>
9
- {-{-ATTRIBUTE_ROWS-}-}
10
- </tbody>
11
- </table>
12
- </td>
13
- </tr>
14
- `, b = `
15
- <tr
16
- class="recommendation-attribute-row"
17
- data-attribute-type="{-{-ATTR_TYPE-}-}"
18
- data-visibility="{-{-VISIBILITY-}-}"
19
- {-{-DISPLAY_STYLE-}-}>
20
- {-{-CELLS-}-}
21
- </tr>
22
- `;
23
- function _(r, e, o, n = d) {
24
- const c = (100 / e).toFixed(2);
25
- return n.filter((t) => o[t]).map((t) => {
26
- const l = w[t] ?? !0, i = l ? "" : 'style="display: none;"', a = r.map((p) => {
27
- const T = o[t];
28
- return T(p).replace("<td", `<td width="${c}%"`);
29
- }).join("");
30
- return b.replace("{-{-ATTR_TYPE-}-}", t).replace("{-{-VISIBILITY-}-}", l ? "1" : "0").replace("{-{-DISPLAY_STYLE-}-}", i).replace("{-{-CELLS-}-}", a);
31
- }).join("");
32
- }
33
- function A(r, e, o, n) {
34
- const c = [];
35
- for (let t = 0; t < r.length; t += e)
36
- c.push(r.slice(t, t + e));
37
- return c.map((t, l) => {
38
- const i = _(
39
- t,
40
- e,
41
- o,
42
- n
43
- ), a = S.replace("{-{-ATTRIBUTE_ROWS-}-}", i);
44
- return l > 0 ? m + a : a;
45
- }).join("");
46
- }
47
- function D(r, e, o) {
48
- return A(r, e, E, o);
49
- }
50
- function U() {
51
- const r = R("vertical"), e = D(
52
- L(),
53
- u
54
- );
55
- return r.replace("{-{-TITLE-}-}", I.TITLE).replace("{-{-PRODUCT_ROWS-}-}", e);
56
- }
57
- export {
58
- U as getDefaultTemplate,
59
- D as prepareProductRows,
60
- _ as prepareVerticalAttributeRows,
61
- A as prepareVerticalProductRows
62
- };
@@ -1,36 +0,0 @@
1
- function p(t) {
2
- const r = {
3
- "&": "&amp;",
4
- "<": "&lt;",
5
- ">": "&gt;",
6
- '"': "&quot;",
7
- "'": "&#39;"
8
- };
9
- return t.replace(/[&<>"']/g, (n) => r[n]);
10
- }
11
- function m(t) {
12
- return "getInnerHTML" in t && typeof t.getInnerHTML == "function" ? t.getInnerHTML() : "innerHTML" in t ? t.innerHTML : "";
13
- }
14
- function T(t, r) {
15
- const n = p(r);
16
- if (!t)
17
- return n;
18
- const e = m(t);
19
- if (!e || e.trim() === "" || !/<(strong|em|u|s|b|i)\b/i.test(e))
20
- return n;
21
- const i = [], o = [];
22
- let c = e.trim();
23
- for (; ; ) {
24
- const u = c.match(/^<(strong|em|u|s|b|i)(\s[^>]*)?>(.*)$/is);
25
- if (!u)
26
- break;
27
- const [, s, f = "", g] = u, a = new RegExp(`</${s}>$`, "i");
28
- if (!a.test(g))
29
- break;
30
- i.push(`<${s}${f}>`), o.unshift(`</${s}>`), c = g.replace(a, "").trim();
31
- }
32
- return i.length > 0 ? i.join("") + n + o.join("") : n;
33
- }
34
- export {
35
- T as preserveTextStyles
36
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * Block IDs used in the Recommendation Extension
3
- * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
4
- */
5
- export declare enum RecommendationBlockId {
6
- BUTTON = "recommendation-block-button",
7
- NAME = "recommendation-block-name",
8
- PRICE = "recommendation-block-price",
9
- OLD_PRICE = "recommendation-block-old-price",
10
- OMNIBUS_PRICE = "recommendation-block-omnibus-price",
11
- OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
12
- IMAGE = "recommendation-block-image"
13
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Recommendation Extension Constants
3
- *
4
- * This module re-exports all constants for the Recommendation extension.
5
- * Import from this file for cleaner imports.
6
- * @example
7
- * import { RecommendationBlockId, CONTAINER_SELECTOR } from './constants';
8
- */
9
- export { RecommendationBlockId } from './blockIds';
10
- export { RecommendationControlId } from './controlIds';
11
- export { CONTAINER_SELECTOR, ATTR_PRODUCT_IMAGE, ATTR_PRODUCT_NAME, ATTR_PRODUCT_PRICE, ATTR_PRODUCT_OLD_PRICE, ATTR_PRODUCT_OMNIBUS_PRICE, ATTR_PRODUCT_OMNIBUS_DISCOUNT, ATTR_PRODUCT_BUTTON, } from './selectors';
12
- export { DEFAULT_PRODUCTS_PER_ROW, DEFAULT_CARDS_IN_ROW, MAX_PRODUCT_COUNT, MIN_PRODUCT_COUNT, MAX_PRODUCTS_PER_ROW, MIN_PRODUCTS_PER_ROW, } from './layout';
@@ -1,17 +0,0 @@
1
- /**
2
- * Layout-related constants for Recommendation block
3
- *
4
- * Centralizes magic numbers for product grid/layout configuration
5
- */
6
- /** Default number of products displayed per row in vertical layout */
7
- export declare const DEFAULT_PRODUCTS_PER_ROW = 3;
8
- /** Default number of cards in a row (used in store initialization) */
9
- export declare const DEFAULT_CARDS_IN_ROW = 3;
10
- /** Maximum number of products that can be displayed */
11
- export declare const MAX_PRODUCT_COUNT = 9;
12
- /** Minimum number of products that can be displayed */
13
- export declare const MIN_PRODUCT_COUNT = 1;
14
- /** Maximum number of products per row in vertical layout */
15
- export declare const MAX_PRODUCTS_PER_ROW = 4;
16
- /** Minimum number of products per row in vertical layout */
17
- export declare const MIN_PRODUCTS_PER_ROW = 1;
@@ -1,19 +0,0 @@
1
- /**
2
- * CSS selectors and data attributes used across the Recommendation extension
3
- */
4
- /**
5
- * Container selector for the product container element
6
- * Used across controls to target elements within the recommendation block
7
- */
8
- export declare const CONTAINER_SELECTOR = ".ins-recommendation-product-container";
9
- /**
10
- * Attribute type constants used in templates
11
- * These are used as keys in ElementRenderer and composition arrays
12
- */
13
- export declare const ATTR_PRODUCT_IMAGE = "productImage";
14
- export declare const ATTR_PRODUCT_NAME = "productName";
15
- export declare const ATTR_PRODUCT_PRICE = "productPrice";
16
- export declare const ATTR_PRODUCT_OLD_PRICE = "productOldPrice";
17
- export declare const ATTR_PRODUCT_OMNIBUS_PRICE = "productOmnibusPrice";
18
- export declare const ATTR_PRODUCT_OMNIBUS_DISCOUNT = "productOmnibusDiscount";
19
- export declare const ATTR_PRODUCT_BUTTON = "productButton";