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

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 (232) 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 +7 -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 +100 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +243 -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 +106 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +64 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +124 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +60 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +112 -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 +224 -0
  64. package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
  65. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +5 -0
  66. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
  67. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +22 -21
  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 +25 -0
  77. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  78. package/dist/extensions/Blocks/common-control.js +30 -29
  79. package/dist/extensions/Blocks/controlFactories.js +130 -106
  80. package/dist/guido.css +1 -1
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +116 -125
  82. package/dist/src/@types/config/index.d.ts +2 -2
  83. package/dist/src/@types/config/schemas.d.ts +0 -26
  84. package/dist/src/@types/config/types.d.ts +1 -7
  85. package/dist/src/composables/useConfig.d.ts +0 -6
  86. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +2 -0
  87. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -9
  88. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +2 -0
  89. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  90. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  91. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
  92. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +26 -24
  93. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -1
  94. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -2
  95. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -22
  96. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  97. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  98. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  99. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  100. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  101. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  102. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +12 -0
  103. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +17 -0
  104. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +41 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +34 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +17 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +16 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +54 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +15 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +40 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +15 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +81 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +77 -0
  130. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  131. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
  132. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +8 -0
  133. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +25 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +18 -0
  135. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  136. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +45 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +7 -0
  138. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → vertical/migration.d.ts} +11 -4
  139. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +33 -0
  140. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  141. package/dist/src/extensions/Blocks/common-control.d.ts +10 -9
  142. package/dist/src/stores/config.d.ts +1 -147
  143. package/dist/static/styles/components/button.css.js +1 -1
  144. package/dist/static/styles/components/wide-panel.css.js +0 -4
  145. package/dist/static/styles/customEditorStyle.css.js +38 -2
  146. package/dist/stores/config.js +0 -7
  147. package/dist/utils/pairProductVariables.js +58 -61
  148. package/package.json +1 -1
  149. package/dist/config/migrator/itemsBlockMigrator.js +0 -342
  150. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +0 -93
  151. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -184
  152. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  153. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  154. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  155. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  156. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  157. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  158. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  159. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  160. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  161. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  162. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  163. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  164. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  165. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  166. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  167. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  168. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  169. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  170. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  171. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  172. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  173. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  174. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  175. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  176. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  177. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  178. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  179. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  180. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  181. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  182. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  183. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  184. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  185. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  186. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  187. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  188. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  189. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  190. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  191. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  192. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  193. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -18
  194. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -73
  195. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  196. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  197. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  208. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  209. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  210. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  211. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  212. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  213. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  214. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  215. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  216. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  217. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  218. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  219. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  220. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  221. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  222. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  223. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  224. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  225. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  226. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  227. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  228. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  229. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  230. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  231. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  232. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
@@ -1,117 +1,173 @@
1
- import { SettingsPanelRegistry as N, SettingsPanelTab as _, SettingsTab as E, ContainerControls as S, TextControls as L } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ import { SettingsPanelRegistry as S, SettingsPanelTab as I, SettingsTab as T, ContainerControls as E, TextControls as C } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { BLOCK_ID as R } from "./block.js";
3
- import { COMPOSITION_CONTROL_BLOCK_ID as C } from "./cardCompositionControl.js";
4
- import { RecommendationBlockId as I, RecommendationControlId as T } from "./constants.js";
5
- import { CONTROL_BLOCK_ID as e } from "./control.js";
6
- class G extends N {
3
+ import { RecommendationBlockId as N } from "./constants/blockIds.js";
4
+ import { RecommendationControlId as _ } from "./constants/controlIds.js";
5
+ import { CONTROL_BLOCK_ID as L } from "./controls/main/index.js";
6
+ import "./store/recommendation.js";
7
+ import "./controls/name/index.js";
8
+ import "./controls/price/index.js";
9
+ import "./controls/oldPrice/index.js";
10
+ import "./controls/omnibusPrice/index.js";
11
+ import "./controls/omnibusDiscount/index.js";
12
+ import "./controls/button/index.js";
13
+ import "./controls/image/index.js";
14
+ import { SPACING_CONTROL_ID as U } from "./controls/spacing/index.js";
15
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as B } from "./controls/cardBackground/index.js";
16
+ import { LAYOUT_CONTROL_ID as D } from "./controls/layout/index.js";
17
+ import { COMPOSITION_CONTROL_BLOCK_ID as A } from "./controls/cardComposition/index.js";
18
+ class s extends S {
7
19
  registerBlockControls(O) {
8
20
  O[R] = [
9
- new _(
10
- E.SETTINGS,
21
+ new I(
22
+ T.SETTINGS,
11
23
  [
12
- e,
13
- S.EXTERNAL_INDENTS
24
+ L,
25
+ E.EXTERNAL_INDENTS
14
26
  ]
15
27
  ),
16
- new _(
17
- E.STYLES,
28
+ new I(
29
+ T.STYLES,
18
30
  [
19
- L.TEXT_BLOCK_BACKGROUND_COLOR
31
+ C.TEXT_BLOCK_BACKGROUND_COLOR,
32
+ B,
33
+ D,
34
+ U
20
35
  ]
21
36
  ),
22
- new _(
37
+ new I(
23
38
  "Card Composition",
24
39
  [
25
- C
40
+ A
26
41
  ]
27
42
  ).withLabel("Card Composition")
28
- ], O[I.NAME] = [
29
- new _(
30
- E.SETTINGS,
43
+ ], O[N.NAME] = [
44
+ new I(
45
+ T.SETTINGS,
31
46
  [
32
- T.NAME_BACKGROUND,
33
- T.NAME_COLOR,
34
- T.NAME_SIZE,
35
- T.NAME_STYLE,
36
- T.NAME_FONT_FAMILY
47
+ _.NAME_STYLE,
48
+ _.NAME_ALIGN,
49
+ _.NAME_TEXT_TRIM,
50
+ _.NAME_PADDINGS
37
51
  ]
38
52
  ),
39
- new _(
40
- E.STYLES,
53
+ new I(
54
+ T.STYLES,
41
55
  [
42
- T.NAME_ALIGN,
43
- T.NAME_PADDINGS
56
+ _.NAME_BACKGROUND,
57
+ _.NAME_FONT_FAMILY,
58
+ _.NAME_SIZE,
59
+ _.NAME_COLOR
44
60
  ]
45
61
  )
46
- ], O[I.PRICE] = [
47
- new _(
48
- E.SETTINGS,
62
+ ], O[N.PRICE] = [
63
+ new I(
64
+ T.SETTINGS,
49
65
  [
50
- T.PRICE_BACKGROUND,
51
- T.PRICE_COLOR,
52
- T.PRICE_SIZE,
53
- T.PRICE_STYLE,
54
- T.PRICE_FONT_FAMILY
66
+ _.PRICE_STYLE,
67
+ _.PRICE_ALIGN,
68
+ _.PRICE_PADDINGS
55
69
  ]
56
70
  ),
57
- new _(
58
- E.STYLES,
71
+ new I(
72
+ T.STYLES,
59
73
  [
60
- T.PRICE_ALIGN,
61
- T.PRICE_PADDINGS
74
+ _.PRICE_BACKGROUND,
75
+ _.PRICE_FONT_FAMILY,
76
+ _.PRICE_SIZE,
77
+ _.PRICE_COLOR
62
78
  ]
63
79
  )
64
- ], O[I.OLD_PRICE] = [
65
- new _(
66
- E.SETTINGS,
80
+ ], O[N.OLD_PRICE] = [
81
+ new I(
82
+ T.SETTINGS,
67
83
  [
68
- T.OLD_PRICE_BACKGROUND,
69
- T.OLD_PRICE_COLOR,
70
- T.OLD_PRICE_SIZE,
71
- T.OLD_PRICE_STYLE,
72
- T.OLD_PRICE_FONT_FAMILY
84
+ _.OLD_PRICE_STYLE,
85
+ _.OLD_PRICE_ALIGN,
86
+ _.OLD_PRICE_PADDINGS
73
87
  ]
74
88
  ),
75
- new _(
76
- E.STYLES,
89
+ new I(
90
+ T.STYLES,
77
91
  [
78
- T.OLD_PRICE_ALIGN,
79
- T.OLD_PRICE_PADDINGS
92
+ _.OLD_PRICE_BACKGROUND,
93
+ _.OLD_PRICE_FONT_FAMILY,
94
+ _.OLD_PRICE_SIZE,
95
+ _.OLD_PRICE_COLOR
80
96
  ]
81
97
  )
82
- ], O[I.BUTTON] = [
83
- new _(
84
- E.SETTINGS,
98
+ ], O[N.OMNIBUS_PRICE] = [
99
+ new I(
100
+ T.SETTINGS,
85
101
  [
86
- T.BUTTON_TEXT,
87
- T.BUTTON_ALIGN,
88
- T.BUTTON_MARGINS,
89
- T.BUTTON_PADDINGS
102
+ _.OMNIBUS_PRICE_TEXT_BEFORE,
103
+ _.OMNIBUS_PRICE_TEXT_AFTER,
104
+ _.OMNIBUS_PRICE_STYLE,
105
+ _.OMNIBUS_PRICE_ALIGN,
106
+ _.OMNIBUS_PRICE_PADDINGS
90
107
  ]
91
108
  ),
92
- new _(
93
- E.STYLES,
109
+ new I(
110
+ T.STYLES,
94
111
  [
95
- T.BUTTON_COLOR,
96
- T.BUTTON_FONT_FAMILY,
97
- T.BUTTON_TEXT_SIZE,
98
- T.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
99
- T.BUTTON_FIT_TO_CONTENT,
100
- T.BUTTON_BORDER_RADIUS,
101
- T.BUTTON_BORDER
112
+ _.OMNIBUS_PRICE_BACKGROUND,
113
+ _.OMNIBUS_PRICE_FONT_FAMILY,
114
+ _.OMNIBUS_PRICE_SIZE,
115
+ _.OMNIBUS_PRICE_COLOR
102
116
  ]
103
117
  )
104
- ], O[I.IMAGE] = [
105
- new _(
106
- E.SETTINGS,
118
+ ], O[N.OMNIBUS_DISCOUNT] = [
119
+ new I(
120
+ T.SETTINGS,
107
121
  [
108
- T.IMAGE_SIZE,
109
- T.IMAGE_MARGINS
122
+ _.OMNIBUS_DISCOUNT_TEXT_BEFORE,
123
+ _.OMNIBUS_DISCOUNT_TEXT_AFTER,
124
+ _.OMNIBUS_DISCOUNT_STYLE,
125
+ _.OMNIBUS_DISCOUNT_ALIGN,
126
+ _.OMNIBUS_DISCOUNT_PADDINGS
127
+ ]
128
+ ),
129
+ new I(
130
+ T.STYLES,
131
+ [
132
+ _.OMNIBUS_DISCOUNT_BACKGROUND,
133
+ _.OMNIBUS_DISCOUNT_FONT_FAMILY,
134
+ _.OMNIBUS_DISCOUNT_SIZE,
135
+ _.OMNIBUS_DISCOUNT_COLOR
136
+ ]
137
+ )
138
+ ], O[N.BUTTON] = [
139
+ new I(
140
+ T.SETTINGS,
141
+ [
142
+ _.BUTTON_TEXT,
143
+ _.BUTTON_ALIGN,
144
+ _.BUTTON_PADDINGS,
145
+ _.BUTTON_MARGINS
146
+ ]
147
+ ),
148
+ new I(
149
+ T.STYLES,
150
+ [
151
+ _.BUTTON_COLOR,
152
+ _.BUTTON_FONT_FAMILY,
153
+ _.BUTTON_TEXT_SIZE,
154
+ _.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
155
+ _.BUTTON_FIT_TO_CONTENT,
156
+ _.BUTTON_BORDER_RADIUS,
157
+ _.BUTTON_BORDER
158
+ ]
159
+ )
160
+ ], O[N.IMAGE] = [
161
+ new I(
162
+ T.SETTINGS,
163
+ [
164
+ _.IMAGE_SIZE,
165
+ _.IMAGE_MARGINS
110
166
  ]
111
167
  )
112
168
  ];
113
169
  }
114
170
  }
115
171
  export {
116
- G as SettingsPanel
172
+ s as SettingsPanel
117
173
  };
@@ -1,13 +1,14 @@
1
- import { RecommendationFeedSourceMaps as n, PriceAttributes as u } from "../../../../enums/extensions/recommendationBlock.js";
2
- import { useRecommendationApi as l } from "../../../../services/recommendationApi.js";
3
- import { useConfigStore as c } from "../../../../stores/config.js";
4
- import { defineStore as p } from "pinia";
5
- import { generateCompleteFilterQuery as m } from "../utils/filterUtil.js";
6
- const a = l(), d = () => ({
1
+ import { RecommendationFeedSourceMaps as u, PriceAttributes as c } from "../../../../enums/extensions/recommendationBlock.js";
2
+ import { useRecommendationApi as p } from "../../../../services/recommendationApi.js";
3
+ import { useConfigStore as m } from "../../../../stores/config.js";
4
+ import { defineStore as d } from "pinia";
5
+ import { DEFAULT_CARDS_IN_ROW as f } from "../constants/layout.js";
6
+ import { generateCompleteFilterQuery as l } from "../utils/filterUtil.js";
7
+ const n = p(), g = () => ({
7
8
  recommendationCampaignUrls: {},
8
9
  recommendationProducts: [],
9
10
  recommendationConfigs: {
10
- cardsInRow: 3,
11
+ cardsInRow: f,
11
12
  currencySettings: {
12
13
  name: "USD",
13
14
  value: "USD",
@@ -134,8 +135,8 @@ const a = l(), d = () => ({
134
135
  filterSelectionDrawerStatus: !1,
135
136
  filterList: {},
136
137
  filterGroup: 1
137
- }), y = p("guidoRecommendationExtension", {
138
- state: () => d(),
138
+ }), S = d("guidoRecommendationExtension", {
139
+ state: () => g(),
139
140
  getters: {
140
141
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
141
142
  getFilterGroupCount: (e) => {
@@ -145,7 +146,7 @@ const a = l(), d = () => ({
145
146
  getActivePredictiveAlgorithms: (e) => {
146
147
  const t = [];
147
148
  return e.activePredictiveAlgorithms.forEach((r) => {
148
- t.push(...n.filter((i) => i.id === r));
149
+ t.push(...u.filter((i) => i.id === r));
149
150
  }), t.map((r) => ({
150
151
  text: r.name,
151
152
  value: r.key
@@ -160,7 +161,7 @@ const a = l(), d = () => ({
160
161
  value: t.text
161
162
  })),
162
163
  getFilterList: (e) => Object.values(e.filterList).map((t) => {
163
- const r = t.type === "defaultAttribute", i = u.includes(t.attributeName);
164
+ const r = t.type === "defaultAttribute", i = c.includes(t.attributeName);
164
165
  let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
165
166
  return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
166
167
  text: t.displayName,
@@ -178,13 +179,13 @@ const a = l(), d = () => ({
178
179
  activePredictiveAlgorithms: e,
179
180
  languages: t,
180
181
  currencies: r
181
- } = await a.fetchRecommendationCreateData();
182
+ } = await n.fetchRecommendationCreateData();
182
183
  this.activePredictiveAlgorithms = e, this.languages = t;
183
184
  const [i] = r;
184
185
  this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
185
186
  },
186
187
  async fetchRecommendationFilters() {
187
- const e = await a.fetchRecommendationFilters();
188
+ const e = await n.fetchRecommendationFilters();
188
189
  this.filterList = e;
189
190
  },
190
191
  addFilterGroup(e) {
@@ -238,30 +239,30 @@ const a = l(), d = () => ({
238
239
  });
239
240
  },
240
241
  generateFilterQuery() {
241
- return m(this.recommendationConfigs.filters);
242
+ return l(this.recommendationConfigs.filters);
242
243
  },
243
244
  async fetchRecommendationProducts() {
244
- var o;
245
- const e = this.generateFilterQuery(), t = ((o = n.find((s) => s.key === this.recommendationConfigs.strategy)) == null ? void 0 : o.path) || "", r = c(), i = await a.fetchRecommendationProducts(
246
- t,
245
+ var s;
246
+ const e = this.recommendationConfigs.filters.filter((a) => a.isValid), t = l(e), r = ((s = u.find((a) => a.key === this.recommendationConfigs.strategy)) == null ? void 0 : s.path) || "", i = m(), o = await n.fetchRecommendationProducts(
247
+ r,
247
248
  {
248
249
  // TODO: Here will be optimized and filled carefully
249
250
  locale: this.recommendationConfigs.language,
250
251
  currency: this.recommendationConfigs.currencySettings.value,
251
- partnerName: r.partnerName,
252
+ partnerName: i.partnerName,
252
253
  productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
253
254
  size: this.recommendationConfigs.size,
254
255
  details: !0,
255
256
  campaignId: "{campaignId}",
256
- filter: e
257
+ filter: t
257
258
  }
258
259
  );
259
260
  this.$patch({
260
- recommendationProducts: i
261
+ recommendationProducts: o
261
262
  });
262
263
  }
263
264
  }
264
265
  });
265
266
  export {
266
- y as useRecommendationExtensionStore
267
+ S as useRecommendationExtensionStore
267
268
  };
@@ -0,0 +1,157 @@
1
+ import { RecommendationBlockId as e } from "../../constants/blockIds.js";
2
+ import { ATTR_PRODUCT_BUTTON as a, ATTR_PRODUCT_IMAGE as s, ATTR_PRODUCT_OMNIBUS_DISCOUNT as o, ATTR_PRODUCT_OMNIBUS_PRICE as n, ATTR_PRODUCT_OLD_PRICE as l, ATTR_PRODUCT_PRICE as i, ATTR_PRODUCT_NAME as r } from "../../constants/selectors.js";
3
+ const p = {
4
+ /**
5
+ * Image cell - left column (120px fixed width)
6
+ * Has recommendation-attribute-row class and data attributes for Card Composition control
7
+ */
8
+ [s]: (t) => `
9
+ <td
10
+ width="120"
11
+ class="esd-block-image product-image-cell recommendation-attribute-row es-p5"
12
+ esd-extension-block-id="${e.IMAGE}"
13
+ data-attribute-type="${s}"
14
+ data-visibility="1"
15
+ align=center
16
+ valign="middle">
17
+ <a target="_blank" href="${t.url}">
18
+ <img
19
+ src="${t.image_url}"
20
+ alt="${t.name}"
21
+ style="display: block; max-width: 100%;"
22
+ class="adapt-img product-image">
23
+ </a>
24
+ </td>
25
+ `,
26
+ /**
27
+ * Name element - row for info cell table
28
+ */
29
+ [r]: (t) => `
30
+ <tr>
31
+ <td
32
+ class="esd-block-text product-name"
33
+ esd-extension-block-id="${e.NAME}"
34
+ align="left">
35
+ <p
36
+ path="1"
37
+ contenteditable="false"
38
+ style="font-size: 16px; color: #333333; font-weight: 600; margin: 0;">
39
+ <strong path="1,0">${t.name}</strong>
40
+ </p>
41
+ </td>
42
+ </tr>
43
+ `,
44
+ /**
45
+ * Price element - row for info cell table
46
+ */
47
+ [i]: () => `
48
+ <tr>
49
+ <td
50
+ class="esd-block-text product-price"
51
+ esd-extension-block-id="${e.PRICE}"
52
+ align="left">
53
+ <p
54
+ path="1"
55
+ contenteditable="false"
56
+ style="font-size: 16px; color: #333333; font-weight: bold; margin: 0;">
57
+ <strong path="1,0">18,00 TRY</strong>
58
+ </p>
59
+ </td>
60
+ </tr>
61
+ `,
62
+ /**
63
+ * Old price element - row for info cell table
64
+ */
65
+ [l]: () => `
66
+ <tr>
67
+ <td
68
+ class="esd-block-text product-old-price"
69
+ esd-extension-block-id="${e.OLD_PRICE}"
70
+ align="left">
71
+ <p
72
+ path="1"
73
+ contenteditable="false"
74
+ style="font-size: 14px; color: #999999; text-decoration: line-through; margin: 0;">
75
+ <s path="1,0">20,00 TRY</s>
76
+ </p>
77
+ </td>
78
+ </tr>
79
+ `,
80
+ /**
81
+ * Omnibus price element - row for info cell table
82
+ */
83
+ [n]: () => `
84
+ <tr>
85
+ <td
86
+ class="esd-block-text product-omnibus-price"
87
+ data-text-before="Lowest 30-day price: "
88
+ data-text-after=""
89
+ esd-extension-block-id="${e.OMNIBUS_PRICE}"
90
+ align="left">
91
+ <p
92
+ path="1"
93
+ contenteditable="false"
94
+ style="font-size: 12px; color: #666666; margin: 0;">
95
+ <span class="omnibus-text-before">Lowest 30-day price: </span>
96
+ <span class="omnibus-price-value">17,00 TRY</span>
97
+ <span class="omnibus-text-after"></span>
98
+ </p>
99
+ </td>
100
+ </tr>
101
+ `,
102
+ /**
103
+ * Omnibus discount element - row for info cell table
104
+ */
105
+ [o]: () => `
106
+ <tr>
107
+ <td
108
+ class="esd-block-text product-omnibus-discount"
109
+ data-text-before=""
110
+ data-text-after=""
111
+ esd-extension-block-id="${e.OMNIBUS_DISCOUNT}"
112
+ align="left">
113
+ <p
114
+ path="1"
115
+ contenteditable="false"
116
+ style="font-size: 12px; color: #666666; margin: 0;">
117
+ <span class="omnibus-text-before"></span>
118
+ <span class="omnibus-discount-value">-6%</span>
119
+ <span class="omnibus-text-after"></span>
120
+ </p>
121
+ </td>
122
+ </tr>
123
+ `,
124
+ /**
125
+ * Button cell - right column (100px fixed width)
126
+ * Has recommendation-attribute-row class and data attributes for Card Composition control
127
+ */
128
+ [a]: (t) => `
129
+ <td
130
+ width="100"
131
+ class="esd-block-button button-cell recommendation-attribute-row product-button es-p5l es-p5r"
132
+ esd-extension-block-id="${e.BUTTON}"
133
+ data-attribute-type="${a}"
134
+ data-visibility="1"
135
+ align="center"
136
+ valign="middle">
137
+ <span
138
+ class="es-button-border"
139
+ style="
140
+ border-width: 1px;
141
+ background: rgb(217, 234, 211);
142
+ border-color: rgb(106, 168, 79);
143
+ ">
144
+ <a
145
+ href="${t.url}"
146
+ target="_blank"
147
+ class="es-button buy-button"
148
+ style="color: rgb(56, 118, 29); background: rgb(217, 234, 211); padding: 5px 30px;">
149
+ Buy
150
+ </a>
151
+ </span>
152
+ </td>
153
+ `
154
+ };
155
+ export {
156
+ p as horizontalElementRenderer
157
+ };
@@ -0,0 +1,72 @@
1
+ import { ATTR_PRODUCT_IMAGE as g, ATTR_PRODUCT_NAME as s, ATTR_PRODUCT_OLD_PRICE as c, ATTR_PRODUCT_PRICE as a, ATTR_PRODUCT_OMNIBUS_PRICE as d, ATTR_PRODUCT_OMNIBUS_DISCOUNT as T, ATTR_PRODUCT_BUTTON as E } from "../../constants/selectors.js";
2
+ import { spacer as N, DEFAULT_CARD_VISIBILITY as n } from "../utils.js";
3
+ import { horizontalElementRenderer as o } from "./elementRenderer.js";
4
+ const $ = `
5
+ <tr class="recommendation-product-row">
6
+ <td style="padding: 0 5px;">
7
+ <table
8
+ width="100%"
9
+ cellpadding="0"
10
+ cellspacing="0"
11
+ border="0"
12
+ class="product-card-wrapper"
13
+ style="background-color: #f8f8f8;">
14
+ <tr>
15
+ {-{-PRODUCT_CONTENT-}-}
16
+ </tr>
17
+ </table>
18
+ </td>
19
+ </tr>
20
+ `;
21
+ function V(t) {
22
+ const i = o[g](t), l = n[s], r = n[c], R = n[a], C = n[d], b = n[T], e = (y, A, p) => {
23
+ const I = p ? "" : ' style="display: none;"', f = y.replace(/<tr>/, "").replace(/<\/tr>/, "");
24
+ return `<tr
25
+ class="recommendation-attribute-row"
26
+ data-attribute-type="${A}"
27
+ data-visibility="${p ? "1" : "0"}"${I}>${f}</tr>`;
28
+ }, m = e(
29
+ o[s](t),
30
+ s,
31
+ l
32
+ ), _ = e(
33
+ o[c](t),
34
+ c,
35
+ r
36
+ ), u = e(
37
+ o[a](t),
38
+ a,
39
+ R
40
+ ), O = e(
41
+ o[d](t),
42
+ d,
43
+ C
44
+ ), P = e(
45
+ o[T](t),
46
+ T,
47
+ b
48
+ ), D = `
49
+ <td class="product-info-cell" valign="middle" style="padding: 15px;">
50
+ <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
51
+ <tbody>
52
+ ${m}
53
+ ${_}
54
+ ${u}
55
+ ${O}
56
+ ${P}
57
+ </tbody>
58
+ </table>
59
+ </td>
60
+ `, U = o[E](t), w = i + D + U;
61
+ return $.replace("{-{-PRODUCT_CONTENT-}-}", w);
62
+ }
63
+ function M(t) {
64
+ return t.map((i, l) => {
65
+ const r = V(i);
66
+ return l > 0 ? N + r : r;
67
+ }).join("");
68
+ }
69
+ export {
70
+ V as getHorizontalProductCard,
71
+ M as prepareProductRows
72
+ };
@@ -0,0 +1,12 @@
1
+ import { DEFAULT_PRODUCTS_PER_ROW as s } from "../constants/layout.js";
2
+ import { prepareProductRows as R } from "./horizontal/template.js";
3
+ import { prepareProductRows as a } from "./vertical/template.js";
4
+ function P(r, o, p = {}) {
5
+ if (o === "horizontal")
6
+ return R(r);
7
+ const { productsPerRow: t = s, composition: e } = p;
8
+ return a(r, t, e);
9
+ }
10
+ export {
11
+ P as prepareProductRows
12
+ };