@useinsider/guido 2.0.0-beta.c948eab → 2.0.0-beta.c9db5fd

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 (201) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +55 -39
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  6. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +8 -8
  7. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +11 -12
  8. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +8 -7
  9. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +12 -14
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +14 -10
  11. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +22 -18
  12. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +17 -0
  13. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +20 -0
  14. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  15. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +10 -11
  16. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +10 -11
  17. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +14 -15
  18. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  19. package/dist/components/organisms/header/LeftSlot.vue2.js +12 -11
  20. package/dist/components/organisms/header/MiddleSlot.vue.js +4 -5
  21. package/dist/components/organisms/header/MiddleSlot.vue2.js +13 -14
  22. package/dist/components/organisms/header/RightSlot.vue.js +12 -12
  23. package/dist/components/organisms/header/RightSlot.vue2.js +20 -26
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  25. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  26. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +19 -20
  27. package/dist/components/wrappers/WpModal.vue.js +3 -4
  28. package/dist/composables/useConfig.js +29 -27
  29. package/dist/composables/useSave.js +13 -11
  30. package/dist/composables/useStripo.js +40 -40
  31. package/dist/config/migrator/recommendationMigrator.js +1 -1
  32. package/dist/enums/onboarding.js +2 -1
  33. package/dist/enums/unsubscribe.js +21 -20
  34. package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
  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/selectors.js +11 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +100 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +243 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +152 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +370 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +224 -0
  56. package/dist/extensions/Blocks/Recommendation/extension.js +39 -43
  57. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +5 -0
  58. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +127 -72
  59. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +20 -20
  60. package/dist/extensions/Blocks/Recommendation/templates/horizontalElementRenderer.js +157 -0
  61. package/dist/extensions/Blocks/Recommendation/templates/horizontalTemplate.js +78 -0
  62. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +67 -88
  63. package/dist/extensions/Blocks/Recommendation/templates/verticalElementRenderer.js +186 -0
  64. package/dist/extensions/Blocks/Recommendation/templates/verticalMigrationTemplate.js +256 -0
  65. package/dist/extensions/Blocks/Recommendation/templates/verticalTemplate.js +81 -0
  66. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  67. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  68. package/dist/extensions/Blocks/common-control.js +6 -7
  69. package/dist/extensions/Blocks/controlFactories.js +155 -121
  70. package/dist/guido.css +1 -1
  71. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +361 -291
  72. package/dist/package.json.js +1 -1
  73. package/dist/services/stripoApi.js +6 -10
  74. package/dist/src/@types/config/index.d.ts +2 -2
  75. package/dist/src/@types/config/schemas.d.ts +30 -0
  76. package/dist/src/@types/config/types.d.ts +7 -1
  77. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  78. package/dist/src/composables/useConfig.d.ts +8 -0
  79. package/dist/src/enums/onboarding.d.ts +1 -0
  80. package/dist/src/enums/unsubscribe.d.ts +1 -0
  81. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  82. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  83. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +11 -0
  84. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +41 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +23 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +50 -0
  91. package/dist/src/extensions/Blocks/Recommendation/{control.d.ts → controls/main/index.d.ts} +19 -3
  92. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +77 -0
  103. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  104. package/dist/src/extensions/Blocks/Recommendation/templates/horizontalElementRenderer.d.ts +8 -0
  105. package/dist/src/extensions/Blocks/Recommendation/templates/horizontalMigrationTemplate.d.ts +25 -0
  106. package/dist/src/extensions/Blocks/Recommendation/templates/horizontalTemplate.d.ts +28 -0
  107. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +59 -21
  108. package/dist/src/extensions/Blocks/Recommendation/templates/verticalElementRenderer.d.ts +7 -0
  109. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → verticalMigrationTemplate.d.ts} +11 -4
  110. package/dist/src/extensions/Blocks/Recommendation/templates/{blockTemplate.d.ts → verticalTemplate.d.ts} +13 -9
  111. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  112. package/dist/src/extensions/Blocks/common-control.d.ts +1 -1
  113. package/dist/src/stores/config.d.ts +164 -1
  114. package/dist/static/assets/inbox-mockup.svg.js +4 -0
  115. package/dist/static/assets/phone-mockup.svg.js +4 -0
  116. package/dist/static/styles/components/button.css.js +1 -1
  117. package/dist/static/styles/components/wide-panel.css.js +0 -4
  118. package/dist/static/styles/customEditorStyle.css.js +38 -2
  119. package/dist/stores/config.js +7 -0
  120. package/package.json +3 -3
  121. package/dist/enums/academy.js +0 -8
  122. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  123. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  124. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  125. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  126. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  127. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  128. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  129. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  130. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  131. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  132. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  133. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  134. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  135. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  136. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  138. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  139. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  140. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  141. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  142. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  143. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  144. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  145. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  146. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  147. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  148. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  149. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  150. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  151. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  152. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  153. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  154. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  155. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  156. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  157. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  158. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  159. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  160. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  161. package/dist/src/enums/academy.d.ts +0 -12
  162. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  163. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  164. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  165. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  166. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  167. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  168. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  169. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  170. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  171. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  172. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  173. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  197. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +0 -4
  198. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +0 -4
  199. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +0 -4
  200. package/dist/static/assets/mobile/email-mockup.svg.js +0 -4
  201. package/dist/static/assets/mobile/inbox-mockup.svg.js +0 -4
@@ -1,117 +1,172 @@
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 "./controls/name/index.js";
7
+ import "./controls/price/index.js";
8
+ import "./controls/oldPrice/index.js";
9
+ import "./controls/omnibusPrice/index.js";
10
+ import "./controls/omnibusDiscount/index.js";
11
+ import "./controls/button/index.js";
12
+ import "./controls/image/index.js";
13
+ import { SPACING_CONTROL_ID as U } from "./controls/spacing/index.js";
14
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as B } from "./controls/cardBackground/index.js";
15
+ import { LAYOUT_CONTROL_ID as D } from "./controls/layout/index.js";
16
+ import { COMPOSITION_CONTROL_BLOCK_ID as A } from "./controls/cardComposition/index.js";
17
+ class d extends S {
7
18
  registerBlockControls(O) {
8
19
  O[R] = [
9
- new _(
10
- E.SETTINGS,
20
+ new I(
21
+ T.SETTINGS,
11
22
  [
12
- e,
13
- S.EXTERNAL_INDENTS
23
+ L,
24
+ E.EXTERNAL_INDENTS
14
25
  ]
15
26
  ),
16
- new _(
17
- E.STYLES,
27
+ new I(
28
+ T.STYLES,
18
29
  [
19
- L.TEXT_BLOCK_BACKGROUND_COLOR
30
+ C.TEXT_BLOCK_BACKGROUND_COLOR,
31
+ B,
32
+ D,
33
+ U
20
34
  ]
21
35
  ),
22
- new _(
36
+ new I(
23
37
  "Card Composition",
24
38
  [
25
- C
39
+ A
26
40
  ]
27
41
  ).withLabel("Card Composition")
28
- ], O[I.NAME] = [
29
- new _(
30
- E.SETTINGS,
42
+ ], O[N.NAME] = [
43
+ new I(
44
+ T.SETTINGS,
31
45
  [
32
- T.NAME_BACKGROUND,
33
- T.NAME_COLOR,
34
- T.NAME_SIZE,
35
- T.NAME_STYLE,
36
- T.NAME_FONT_FAMILY
46
+ _.NAME_STYLE,
47
+ _.NAME_ALIGN,
48
+ _.NAME_TEXT_TRIM,
49
+ _.NAME_PADDINGS
37
50
  ]
38
51
  ),
39
- new _(
40
- E.STYLES,
52
+ new I(
53
+ T.STYLES,
41
54
  [
42
- T.NAME_ALIGN,
43
- T.NAME_PADDINGS
55
+ _.NAME_BACKGROUND,
56
+ _.NAME_FONT_FAMILY,
57
+ _.NAME_SIZE,
58
+ _.NAME_COLOR
44
59
  ]
45
60
  )
46
- ], O[I.PRICE] = [
47
- new _(
48
- E.SETTINGS,
61
+ ], O[N.PRICE] = [
62
+ new I(
63
+ T.SETTINGS,
49
64
  [
50
- T.PRICE_BACKGROUND,
51
- T.PRICE_COLOR,
52
- T.PRICE_SIZE,
53
- T.PRICE_STYLE,
54
- T.PRICE_FONT_FAMILY
65
+ _.PRICE_STYLE,
66
+ _.PRICE_ALIGN,
67
+ _.PRICE_PADDINGS
55
68
  ]
56
69
  ),
57
- new _(
58
- E.STYLES,
70
+ new I(
71
+ T.STYLES,
59
72
  [
60
- T.PRICE_ALIGN,
61
- T.PRICE_PADDINGS
73
+ _.PRICE_BACKGROUND,
74
+ _.PRICE_FONT_FAMILY,
75
+ _.PRICE_SIZE,
76
+ _.PRICE_COLOR
62
77
  ]
63
78
  )
64
- ], O[I.OLD_PRICE] = [
65
- new _(
66
- E.SETTINGS,
79
+ ], O[N.OLD_PRICE] = [
80
+ new I(
81
+ T.SETTINGS,
67
82
  [
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
83
+ _.OLD_PRICE_STYLE,
84
+ _.OLD_PRICE_ALIGN,
85
+ _.OLD_PRICE_PADDINGS
73
86
  ]
74
87
  ),
75
- new _(
76
- E.STYLES,
88
+ new I(
89
+ T.STYLES,
77
90
  [
78
- T.OLD_PRICE_ALIGN,
79
- T.OLD_PRICE_PADDINGS
91
+ _.OLD_PRICE_BACKGROUND,
92
+ _.OLD_PRICE_FONT_FAMILY,
93
+ _.OLD_PRICE_SIZE,
94
+ _.OLD_PRICE_COLOR
80
95
  ]
81
96
  )
82
- ], O[I.BUTTON] = [
83
- new _(
84
- E.SETTINGS,
97
+ ], O[N.OMNIBUS_PRICE] = [
98
+ new I(
99
+ T.SETTINGS,
85
100
  [
86
- T.BUTTON_TEXT,
87
- T.BUTTON_ALIGN,
88
- T.BUTTON_MARGINS,
89
- T.BUTTON_PADDINGS
101
+ _.OMNIBUS_PRICE_TEXT_BEFORE,
102
+ _.OMNIBUS_PRICE_TEXT_AFTER,
103
+ _.OMNIBUS_PRICE_STYLE,
104
+ _.OMNIBUS_PRICE_ALIGN,
105
+ _.OMNIBUS_PRICE_PADDINGS
90
106
  ]
91
107
  ),
92
- new _(
93
- E.STYLES,
108
+ new I(
109
+ T.STYLES,
94
110
  [
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
111
+ _.OMNIBUS_PRICE_BACKGROUND,
112
+ _.OMNIBUS_PRICE_FONT_FAMILY,
113
+ _.OMNIBUS_PRICE_SIZE,
114
+ _.OMNIBUS_PRICE_COLOR
102
115
  ]
103
116
  )
104
- ], O[I.IMAGE] = [
105
- new _(
106
- E.SETTINGS,
117
+ ], O[N.OMNIBUS_DISCOUNT] = [
118
+ new I(
119
+ T.SETTINGS,
107
120
  [
108
- T.IMAGE_SIZE,
109
- T.IMAGE_MARGINS
121
+ _.OMNIBUS_DISCOUNT_TEXT_BEFORE,
122
+ _.OMNIBUS_DISCOUNT_TEXT_AFTER,
123
+ _.OMNIBUS_DISCOUNT_STYLE,
124
+ _.OMNIBUS_DISCOUNT_ALIGN,
125
+ _.OMNIBUS_DISCOUNT_PADDINGS
126
+ ]
127
+ ),
128
+ new I(
129
+ T.STYLES,
130
+ [
131
+ _.OMNIBUS_DISCOUNT_BACKGROUND,
132
+ _.OMNIBUS_DISCOUNT_FONT_FAMILY,
133
+ _.OMNIBUS_DISCOUNT_SIZE,
134
+ _.OMNIBUS_DISCOUNT_COLOR
135
+ ]
136
+ )
137
+ ], O[N.BUTTON] = [
138
+ new I(
139
+ T.SETTINGS,
140
+ [
141
+ _.BUTTON_TEXT,
142
+ _.BUTTON_ALIGN,
143
+ _.BUTTON_PADDINGS,
144
+ _.BUTTON_MARGINS
145
+ ]
146
+ ),
147
+ new I(
148
+ T.STYLES,
149
+ [
150
+ _.BUTTON_COLOR,
151
+ _.BUTTON_FONT_FAMILY,
152
+ _.BUTTON_TEXT_SIZE,
153
+ _.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
154
+ _.BUTTON_FIT_TO_CONTENT,
155
+ _.BUTTON_BORDER_RADIUS,
156
+ _.BUTTON_BORDER
157
+ ]
158
+ )
159
+ ], O[N.IMAGE] = [
160
+ new I(
161
+ T.SETTINGS,
162
+ [
163
+ _.IMAGE_SIZE,
164
+ _.IMAGE_MARGINS
110
165
  ]
111
166
  )
112
167
  ];
113
168
  }
114
169
  }
115
170
  export {
116
- G as SettingsPanel
171
+ d as SettingsPanel
117
172
  };
@@ -1,9 +1,9 @@
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 { generateCompleteFilterQuery as l } from "../utils/filterUtil.js";
6
+ const n = p(), f = () => ({
7
7
  recommendationCampaignUrls: {},
8
8
  recommendationProducts: [],
9
9
  recommendationConfigs: {
@@ -134,8 +134,8 @@ const a = l(), d = () => ({
134
134
  filterSelectionDrawerStatus: !1,
135
135
  filterList: {},
136
136
  filterGroup: 1
137
- }), y = p("guidoRecommendationExtension", {
138
- state: () => d(),
137
+ }), C = d("guidoRecommendationExtension", {
138
+ state: () => f(),
139
139
  getters: {
140
140
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
141
141
  getFilterGroupCount: (e) => {
@@ -145,7 +145,7 @@ const a = l(), d = () => ({
145
145
  getActivePredictiveAlgorithms: (e) => {
146
146
  const t = [];
147
147
  return e.activePredictiveAlgorithms.forEach((r) => {
148
- t.push(...n.filter((i) => i.id === r));
148
+ t.push(...u.filter((i) => i.id === r));
149
149
  }), t.map((r) => ({
150
150
  text: r.name,
151
151
  value: r.key
@@ -160,7 +160,7 @@ const a = l(), d = () => ({
160
160
  value: t.text
161
161
  })),
162
162
  getFilterList: (e) => Object.values(e.filterList).map((t) => {
163
- const r = t.type === "defaultAttribute", i = u.includes(t.attributeName);
163
+ const r = t.type === "defaultAttribute", i = c.includes(t.attributeName);
164
164
  let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
165
165
  return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
166
166
  text: t.displayName,
@@ -178,13 +178,13 @@ const a = l(), d = () => ({
178
178
  activePredictiveAlgorithms: e,
179
179
  languages: t,
180
180
  currencies: r
181
- } = await a.fetchRecommendationCreateData();
181
+ } = await n.fetchRecommendationCreateData();
182
182
  this.activePredictiveAlgorithms = e, this.languages = t;
183
183
  const [i] = r;
184
184
  this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
185
185
  },
186
186
  async fetchRecommendationFilters() {
187
- const e = await a.fetchRecommendationFilters();
187
+ const e = await n.fetchRecommendationFilters();
188
188
  this.filterList = e;
189
189
  },
190
190
  addFilterGroup(e) {
@@ -238,30 +238,30 @@ const a = l(), d = () => ({
238
238
  });
239
239
  },
240
240
  generateFilterQuery() {
241
- return m(this.recommendationConfigs.filters);
241
+ return l(this.recommendationConfigs.filters);
242
242
  },
243
243
  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,
244
+ var s;
245
+ 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(
246
+ r,
247
247
  {
248
248
  // TODO: Here will be optimized and filled carefully
249
249
  locale: this.recommendationConfigs.language,
250
250
  currency: this.recommendationConfigs.currencySettings.value,
251
- partnerName: r.partnerName,
251
+ partnerName: i.partnerName,
252
252
  productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
253
253
  size: this.recommendationConfigs.size,
254
254
  details: !0,
255
255
  campaignId: "{campaignId}",
256
- filter: e
256
+ filter: t
257
257
  }
258
258
  );
259
259
  this.$patch({
260
- recommendationProducts: i
260
+ recommendationProducts: o
261
261
  });
262
262
  }
263
263
  }
264
264
  });
265
265
  export {
266
- y as useRecommendationExtensionStore
266
+ C as useRecommendationExtensionStore
267
267
  };
@@ -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,78 @@
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 T, ATTR_PRODUCT_OMNIBUS_DISCOUNT as d, ATTR_PRODUCT_BUTTON as E } from "../constants/selectors.js";
2
+ import { horizontalElementRenderer as o } from "./horizontalElementRenderer.js";
3
+ import { spacer as N, DEFAULT_CARD_VISIBILITY as n } from "./templateUtils.js";
4
+ import { DEFAULTS as z, DEFAULT_CARD_COMPOSITION as F, getDefaultProducts as v } from "./templateUtils.js";
5
+ const $ = `
6
+ <tr class="recommendation-product-row">
7
+ <td style="padding: 0 5px;">
8
+ <table
9
+ width="100%"
10
+ cellpadding="0"
11
+ cellspacing="0"
12
+ border="0"
13
+ class="product-card-wrapper"
14
+ style="background-color: #f8f8f8;">
15
+ <tr>
16
+ {-{-PRODUCT_CONTENT-}-}
17
+ </tr>
18
+ </table>
19
+ </td>
20
+ </tr>
21
+ `;
22
+ function S(t) {
23
+ const i = o[g](t), l = n[s], r = n[c], R = n[a], C = n[T], _ = n[d], e = (I, f, p) => {
24
+ const w = p ? "" : ' style="display: none;"', y = I.replace(/<tr>/, "").replace(/<\/tr>/, "");
25
+ return `<tr
26
+ class="recommendation-attribute-row"
27
+ data-attribute-type="${f}"
28
+ data-visibility="${p ? "1" : "0"}"${w}>${y}</tr>`;
29
+ }, m = e(
30
+ o[s](t),
31
+ s,
32
+ l
33
+ ), b = e(
34
+ o[c](t),
35
+ c,
36
+ r
37
+ ), D = e(
38
+ o[a](t),
39
+ a,
40
+ R
41
+ ), O = e(
42
+ o[T](t),
43
+ T,
44
+ C
45
+ ), u = e(
46
+ o[d](t),
47
+ d,
48
+ _
49
+ ), P = `
50
+ <td class="product-info-cell" valign="middle" style="padding: 15px;">
51
+ <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
52
+ <tbody>
53
+ ${m}
54
+ ${b}
55
+ ${D}
56
+ ${O}
57
+ ${u}
58
+ </tbody>
59
+ </table>
60
+ </td>
61
+ `, U = o[E](t), A = i + P + U;
62
+ return $.replace("{-{-PRODUCT_CONTENT-}-}", A);
63
+ }
64
+ function M(t) {
65
+ return t.map((i, l) => {
66
+ const r = S(i);
67
+ return l > 0 ? N + r : r;
68
+ }).join("");
69
+ }
70
+ export {
71
+ z as DEFAULTS,
72
+ F as DEFAULT_CARD_COMPOSITION,
73
+ n as DEFAULT_CARD_VISIBILITY,
74
+ v as getDefaultProducts,
75
+ S as getHorizontalProductCard,
76
+ M as prepareProductRows,
77
+ N as spacer
78
+ };