@useinsider/guido 1.4.4 → 2.0.0-beta.061e9c9

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 (203) hide show
  1. package/README.md +297 -664
  2. package/dist/@types/config/defaults.js +44 -0
  3. package/dist/@types/config/schemas.js +233 -0
  4. package/dist/@types/config/validator.js +56 -0
  5. package/dist/components/Guido.vue.js +1 -1
  6. package/dist/components/Guido.vue2.js +64 -88
  7. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +13 -13
  8. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +5 -5
  9. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +13 -13
  10. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  11. package/dist/components/organisms/header/LeftSlot.vue2.js +18 -15
  12. package/dist/components/organisms/header/RightSlot.vue.js +10 -10
  13. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +22 -19
  14. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +4 -4
  15. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +8 -8
  16. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +3 -3
  17. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +17 -17
  18. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -10
  19. package/dist/composables/useActionsApi.js +42 -25
  20. package/dist/composables/useBlocksConfig.js +23 -20
  21. package/dist/composables/useConfig.js +51 -5
  22. package/dist/composables/useHtmlCompiler.js +20 -19
  23. package/dist/composables/useHtmlValidator.js +41 -41
  24. package/dist/composables/usePartner.js +19 -9
  25. package/dist/composables/useStripo.js +58 -57
  26. package/dist/composables/useTimerClone.js +53 -0
  27. package/dist/composables/useTranslations.js +3 -2
  28. package/dist/config/compiler/unsubscribeCompilerRules.js +1 -1
  29. package/dist/enums/defaults.js +4 -67
  30. package/dist/enums/unsubscribe.js +23 -20
  31. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  32. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  33. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  34. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  35. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  36. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +158 -68
  37. package/dist/extensions/Blocks/Recommendation/constants.js +10 -1
  38. package/dist/extensions/Blocks/Recommendation/control.js +74 -59
  39. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/index.js +272 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +60 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +160 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  49. package/dist/extensions/Blocks/Recommendation/extension.js +16 -40
  50. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +124 -71
  51. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +12 -11
  52. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +89 -65
  53. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +56 -19
  54. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  55. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  56. package/dist/extensions/Blocks/controlFactories.js +124 -113
  57. package/dist/guido.css +1 -1
  58. package/dist/library.js +12 -2
  59. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +14 -14
  60. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +10 -10
  61. package/dist/node_modules/valibot/dist/index.js +476 -103
  62. package/dist/services/stripoApi.js +11 -16
  63. package/dist/services/templateLibraryApi.js +18 -18
  64. package/dist/src/@types/config/defaults.d.ts +68 -0
  65. package/dist/src/@types/config/index.d.ts +14 -0
  66. package/dist/src/@types/config/schemas.d.ts +513 -0
  67. package/dist/src/@types/config/types.d.ts +142 -0
  68. package/dist/src/@types/config/validator.d.ts +119 -0
  69. package/dist/src/@types/generic.d.ts +4 -45
  70. package/dist/src/components/Guido.vue.d.ts +13 -12
  71. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  72. package/dist/src/composables/useActionsApi.d.ts +2 -0
  73. package/dist/src/composables/useConfig.d.ts +188 -2
  74. package/dist/src/composables/usePartner.d.ts +8 -0
  75. package/dist/src/composables/useTimerClone.d.ts +6 -0
  76. package/dist/src/enums/defaults.d.ts +5 -6
  77. package/dist/src/enums/unsubscribe.d.ts +5 -1
  78. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  79. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  80. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  81. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +54 -3
  82. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +41 -1
  83. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  84. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +654 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +16 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +50 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  94. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  95. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +1 -1
  96. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  97. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  98. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  99. package/dist/src/library.d.ts +3 -1
  100. package/dist/src/stores/config.d.ts +1581 -102
  101. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  102. package/dist/static/styles/components/wide-panel.css.js +0 -4
  103. package/dist/static/styles/customEditorStyle.css.js +13 -0
  104. package/dist/stores/config.js +141 -9
  105. package/package.json +1 -1
  106. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  111. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  112. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  113. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  114. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  115. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  120. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  121. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  122. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  123. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  124. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  125. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  126. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  127. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  128. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  129. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  130. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  131. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  132. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  133. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  134. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  135. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  136. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  138. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  139. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  140. package/dist/node_modules/lodash-es/_apply.js +0 -16
  141. package/dist/node_modules/lodash-es/_assignMergeValue.js +0 -8
  142. package/dist/node_modules/lodash-es/_assignValue.js +0 -10
  143. package/dist/node_modules/lodash-es/_baseAssignValue.js +0 -12
  144. package/dist/node_modules/lodash-es/_baseCreate.js +0 -17
  145. package/dist/node_modules/lodash-es/_baseKeysIn.js +0 -15
  146. package/dist/node_modules/lodash-es/_baseMerge.js +0 -20
  147. package/dist/node_modules/lodash-es/_baseMergeDeep.js +0 -31
  148. package/dist/node_modules/lodash-es/_baseRest.js +0 -9
  149. package/dist/node_modules/lodash-es/_baseSetToString.js +0 -14
  150. package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  151. package/dist/node_modules/lodash-es/_cloneBuffer.js +0 -9
  152. package/dist/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  153. package/dist/node_modules/lodash-es/_copyArray.js +0 -9
  154. package/dist/node_modules/lodash-es/_copyObject.js +0 -14
  155. package/dist/node_modules/lodash-es/_createAssigner.js +0 -15
  156. package/dist/node_modules/lodash-es/_defineProperty.js +0 -11
  157. package/dist/node_modules/lodash-es/_getPrototype.js +0 -5
  158. package/dist/node_modules/lodash-es/_initCloneObject.js +0 -9
  159. package/dist/node_modules/lodash-es/_nativeKeysIn.js +0 -10
  160. package/dist/node_modules/lodash-es/_overRest.js +0 -15
  161. package/dist/node_modules/lodash-es/_safeGet.js +0 -7
  162. package/dist/node_modules/lodash-es/_setToString.js +0 -6
  163. package/dist/node_modules/lodash-es/_shortOut.js +0 -16
  164. package/dist/node_modules/lodash-es/constant.js +0 -8
  165. package/dist/node_modules/lodash-es/isArrayLikeObject.js +0 -8
  166. package/dist/node_modules/lodash-es/isPlainObject.js +0 -16
  167. package/dist/node_modules/lodash-es/keysIn.js +0 -9
  168. package/dist/node_modules/lodash-es/merge.js +0 -8
  169. package/dist/node_modules/lodash-es/toPlainObject.js +0 -8
  170. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  171. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  172. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  173. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  197. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,117 +1,170 @@
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 E, SettingsPanelTab as I, SettingsTab as N, ContainerControls as S, 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 { COMPOSITION_CONTROL_BLOCK_ID as L } from "./cardCompositionControl.js";
4
+ import { RecommendationBlockId as T, RecommendationControlId as _ } from "./constants.js";
5
+ import { CONTROL_BLOCK_ID as A } from "./control.js";
6
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as U } from "./controls/cardBackgroundColorControl.js";
7
+ import { PRICE_INLINE_LAYOUT_CONTROL_ID as D } from "./controls/priceInlineLayoutControl.js";
8
+ import { SPACING_CONTROL_ID as B } from "./controls/spacingControl.js";
9
+ class Y extends E {
7
10
  registerBlockControls(O) {
8
11
  O[R] = [
9
- new _(
10
- E.SETTINGS,
12
+ new I(
13
+ N.SETTINGS,
11
14
  [
12
- e,
15
+ A,
16
+ D,
13
17
  S.EXTERNAL_INDENTS
14
18
  ]
15
19
  ),
16
- new _(
17
- E.STYLES,
20
+ new I(
21
+ N.STYLES,
18
22
  [
19
- L.TEXT_BLOCK_BACKGROUND_COLOR
23
+ C.TEXT_BLOCK_BACKGROUND_COLOR,
24
+ U,
25
+ B
20
26
  ]
21
27
  ),
22
- new _(
28
+ new I(
23
29
  "Card Composition",
24
30
  [
25
- C
31
+ L
26
32
  ]
27
33
  ).withLabel("Card Composition")
28
- ], O[I.NAME] = [
29
- new _(
30
- E.SETTINGS,
34
+ ], O[T.NAME] = [
35
+ new I(
36
+ N.SETTINGS,
31
37
  [
32
- T.NAME_BACKGROUND,
33
- T.NAME_COLOR,
34
- T.NAME_SIZE,
35
- T.NAME_STYLE,
36
- T.NAME_FONT_FAMILY
38
+ _.NAME_STYLE,
39
+ _.NAME_ALIGN,
40
+ _.NAME_TEXT_TRIM,
41
+ _.NAME_PADDINGS
37
42
  ]
38
43
  ),
39
- new _(
40
- E.STYLES,
44
+ new I(
45
+ N.STYLES,
41
46
  [
42
- T.NAME_ALIGN,
43
- T.NAME_PADDINGS
47
+ _.NAME_BACKGROUND,
48
+ _.NAME_FONT_FAMILY,
49
+ _.NAME_LINE_SPACING,
50
+ _.NAME_SIZE,
51
+ _.NAME_COLOR
44
52
  ]
45
53
  )
46
- ], O[I.PRICE] = [
47
- new _(
48
- E.SETTINGS,
54
+ ], O[T.PRICE] = [
55
+ new I(
56
+ N.SETTINGS,
49
57
  [
50
- T.PRICE_BACKGROUND,
51
- T.PRICE_COLOR,
52
- T.PRICE_SIZE,
53
- T.PRICE_STYLE,
54
- T.PRICE_FONT_FAMILY
58
+ _.PRICE_STYLE,
59
+ _.PRICE_ALIGN,
60
+ _.PRICE_HIDE_IF_SAME,
61
+ _.PRICE_PADDINGS
55
62
  ]
56
63
  ),
57
- new _(
58
- E.STYLES,
64
+ new I(
65
+ N.STYLES,
59
66
  [
60
- T.PRICE_ALIGN,
61
- T.PRICE_PADDINGS
67
+ _.PRICE_BACKGROUND,
68
+ _.PRICE_FONT_FAMILY,
69
+ _.PRICE_LINE_SPACING,
70
+ _.PRICE_SIZE,
71
+ _.PRICE_COLOR
62
72
  ]
63
73
  )
64
- ], O[I.OLD_PRICE] = [
65
- new _(
66
- E.SETTINGS,
74
+ ], O[T.OLD_PRICE] = [
75
+ new I(
76
+ N.SETTINGS,
67
77
  [
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
78
+ _.OLD_PRICE_STYLE,
79
+ _.OLD_PRICE_ALIGN,
80
+ _.OLD_PRICE_PADDINGS
73
81
  ]
74
82
  ),
75
- new _(
76
- E.STYLES,
83
+ new I(
84
+ N.STYLES,
77
85
  [
78
- T.OLD_PRICE_ALIGN,
79
- T.OLD_PRICE_PADDINGS
86
+ _.OLD_PRICE_BACKGROUND,
87
+ _.OLD_PRICE_FONT_FAMILY,
88
+ _.OLD_PRICE_LINE_SPACING,
89
+ _.OLD_PRICE_SIZE,
90
+ _.OLD_PRICE_COLOR
80
91
  ]
81
92
  )
82
- ], O[I.BUTTON] = [
83
- new _(
84
- E.SETTINGS,
93
+ ], O[T.OMNIBUS_PRICE] = [
94
+ new I(
95
+ N.SETTINGS,
85
96
  [
86
- T.BUTTON_TEXT,
87
- T.BUTTON_ALIGN,
88
- T.BUTTON_MARGINS,
89
- T.BUTTON_PADDINGS
97
+ _.OMNIBUS_PRICE_TEXT_BEFORE,
98
+ _.OMNIBUS_PRICE_TEXT_AFTER,
99
+ _.OMNIBUS_PRICE_STYLE,
100
+ _.OMNIBUS_PRICE_ALIGN,
101
+ _.OMNIBUS_PRICE_PADDINGS
90
102
  ]
91
103
  ),
92
- new _(
93
- E.STYLES,
104
+ new I(
105
+ N.STYLES,
94
106
  [
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
107
+ _.OMNIBUS_PRICE_BACKGROUND,
108
+ _.OMNIBUS_PRICE_FONT_FAMILY,
109
+ _.OMNIBUS_PRICE_LINE_SPACING,
110
+ _.OMNIBUS_PRICE_SIZE,
111
+ _.OMNIBUS_PRICE_COLOR
102
112
  ]
103
113
  )
104
- ], O[I.IMAGE] = [
105
- new _(
106
- E.SETTINGS,
114
+ ], O[T.OMNIBUS_DISCOUNT] = [
115
+ new I(
116
+ N.SETTINGS,
107
117
  [
108
- T.IMAGE_SIZE,
109
- T.IMAGE_MARGINS
118
+ _.OMNIBUS_DISCOUNT_TEXT_BEFORE,
119
+ _.OMNIBUS_DISCOUNT_TEXT_AFTER,
120
+ _.OMNIBUS_DISCOUNT_STYLE,
121
+ _.OMNIBUS_DISCOUNT_ALIGN,
122
+ _.OMNIBUS_DISCOUNT_PADDINGS
123
+ ]
124
+ ),
125
+ new I(
126
+ N.STYLES,
127
+ [
128
+ _.OMNIBUS_DISCOUNT_BACKGROUND,
129
+ _.OMNIBUS_DISCOUNT_FONT_FAMILY,
130
+ _.OMNIBUS_DISCOUNT_LINE_SPACING,
131
+ _.OMNIBUS_DISCOUNT_SIZE,
132
+ _.OMNIBUS_DISCOUNT_COLOR
133
+ ]
134
+ )
135
+ ], O[T.BUTTON] = [
136
+ new I(
137
+ N.SETTINGS,
138
+ [
139
+ _.BUTTON_TEXT,
140
+ _.BUTTON_ALIGN,
141
+ _.BUTTON_PADDINGS,
142
+ _.BUTTON_MARGINS
143
+ ]
144
+ ),
145
+ new I(
146
+ N.STYLES,
147
+ [
148
+ _.BUTTON_COLOR,
149
+ _.BUTTON_FONT_FAMILY,
150
+ _.BUTTON_TEXT_SIZE,
151
+ _.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
152
+ _.BUTTON_FIT_TO_CONTENT,
153
+ _.BUTTON_BORDER_RADIUS,
154
+ _.BUTTON_BORDER
155
+ ]
156
+ )
157
+ ], O[T.IMAGE] = [
158
+ new I(
159
+ N.SETTINGS,
160
+ [
161
+ _.IMAGE_SIZE,
162
+ _.IMAGE_MARGINS
110
163
  ]
111
164
  )
112
165
  ];
113
166
  }
114
167
  }
115
168
  export {
116
- G as SettingsPanel
169
+ Y as SettingsPanel
117
170
  };
@@ -1,8 +1,9 @@
1
- import { RecommendationFeedSourceMaps as s, PriceAttributes as l } from "../../../../enums/extensions/recommendationBlock.js";
2
- import { useRecommendationApi as c } from "../../../../services/recommendationApi.js";
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";
3
4
  import { defineStore as p } from "pinia";
4
5
  import { generateCompleteFilterQuery as m } from "../utils/filterUtil.js";
5
- const a = c(), d = () => ({
6
+ const a = l(), d = () => ({
6
7
  recommendationCampaignUrls: {},
7
8
  recommendationProducts: [],
8
9
  recommendationConfigs: {
@@ -133,7 +134,7 @@ const a = c(), d = () => ({
133
134
  filterSelectionDrawerStatus: !1,
134
135
  filterList: {},
135
136
  filterGroup: 1
136
- }), G = p("guidoRecommendationExtension", {
137
+ }), y = p("guidoRecommendationExtension", {
137
138
  state: () => d(),
138
139
  getters: {
139
140
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
@@ -144,7 +145,7 @@ const a = c(), d = () => ({
144
145
  getActivePredictiveAlgorithms: (e) => {
145
146
  const t = [];
146
147
  return e.activePredictiveAlgorithms.forEach((r) => {
147
- t.push(...s.filter((i) => i.id === r));
148
+ t.push(...n.filter((i) => i.id === r));
148
149
  }), t.map((r) => ({
149
150
  text: r.name,
150
151
  value: r.key
@@ -159,7 +160,7 @@ const a = c(), d = () => ({
159
160
  value: t.text
160
161
  })),
161
162
  getFilterList: (e) => Object.values(e.filterList).map((t) => {
162
- const r = t.type === "defaultAttribute", i = l.includes(t.attributeName);
163
+ const r = t.type === "defaultAttribute", i = u.includes(t.attributeName);
163
164
  let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
164
165
  return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
165
166
  text: t.displayName,
@@ -240,14 +241,14 @@ const a = c(), d = () => ({
240
241
  return m(this.recommendationConfigs.filters);
241
242
  },
242
243
  async fetchRecommendationProducts() {
243
- var i, o, n;
244
- const e = this.generateFilterQuery(), t = ((i = s.find((u) => u.key === this.recommendationConfigs.strategy)) == null ? void 0 : i.path) || "", r = await a.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(
245
246
  t,
246
247
  {
247
248
  // TODO: Here will be optimized and filled carefully
248
249
  locale: this.recommendationConfigs.language,
249
250
  currency: this.recommendationConfigs.currencySettings.value,
250
- partnerName: ((n = (o = window.GuidoConfig) == null ? void 0 : o.partner) == null ? void 0 : n.partnerName) || "",
251
+ partnerName: r.partnerName,
251
252
  productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
252
253
  size: this.recommendationConfigs.size,
253
254
  details: !0,
@@ -256,11 +257,11 @@ const a = c(), d = () => ({
256
257
  }
257
258
  );
258
259
  this.$patch({
259
- recommendationProducts: r
260
+ recommendationProducts: i
260
261
  });
261
262
  }
262
263
  }
263
264
  });
264
265
  export {
265
- G as useRecommendationExtensionStore
266
+ y as useRecommendationExtensionStore
266
267
  };
@@ -1,9 +1,12 @@
1
- import { BlockType as t, BlockAttr as n } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationBlockId as o } from "../constants.js";
3
- import { generateTemplate as l, prepareProductRows as s, spacer as d, DEFAULTS as p, getDefaultProducts as i } from "./templateUtils.js";
4
- import { DEFAULT_CARD_COMPOSITION as $ } from "./templateUtils.js";
1
+ import { BlockType as e, BlockAttr as o } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationBlockId as s, ATTR_PRODUCT_BUTTON as r, ATTR_PRODUCT_OMNIBUS_DISCOUNT as c, ATTR_PRODUCT_OMNIBUS_PRICE as p, ATTR_PRODUCT_OLD_PRICE as i, ATTR_PRODUCT_PRICE as d, ATTR_PRODUCT_NAME as T, ATTR_PRODUCT_IMAGE as b, ATTR_DATA_PRICE_INLINE as _ } from "../constants.js";
3
+ import { generateTemplate as O, prepareProductRows as u, spacer as C, DEFAULTS as f, getDefaultProducts as R } from "./templateUtils.js";
4
+ import { DEFAULT_CARD_COMPOSITION as A, DEFAULT_CARD_VISIBILITY as h } from "./templateUtils.js";
5
5
  const g = `
6
- <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20">
6
+ <td
7
+ align="left"
8
+ class="ins-recommendation-v3-block-v2 es-p20"
9
+ ${_}="0">
7
10
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
8
11
  <tr>
9
12
  <td align="center">
@@ -22,18 +25,18 @@ const g = `
22
25
  cellspacing="0"
23
26
  border="0">
24
27
  <tbody>
25
- <${t.BLOCK_TEXT}
28
+ <${e.BLOCK_TEXT}
26
29
  class="es-p10t es-p10b es-p20l es-p20r"
27
30
  align="center">
28
31
  <p path="1" style="font-size: 28px; color: #333333;">
29
32
  <strong path="1,0">{-{-TITLE-}-}</strong>
30
33
  </p>
31
- </${t.BLOCK_TEXT}>
34
+ </${e.BLOCK_TEXT}>
32
35
  </tbody>
33
36
  </table>
34
37
  </td>
35
38
  </tr>
36
- ${d}
39
+ ${C}
37
40
  <tr>
38
41
  <td>
39
42
  <table
@@ -53,62 +56,82 @@ const g = `
53
56
  </tr>
54
57
  </table>
55
58
  </td>
56
- `, a = {
57
- productImage: (e) => `
58
- <${t.BLOCK_IMAGE}
59
- ${n.BLOCK_IMAGE.src}="${e.image_url}"
60
- ${n.BLOCK_IMAGE.alt}="${e.name}"
61
- ${n.BLOCK_IMAGE.href}="#"
59
+ `, n = {
60
+ [b]: (t) => `
61
+ <${e.BLOCK_IMAGE}
62
+ ${o.BLOCK_IMAGE.src}="${t.image_url}"
63
+ ${o.BLOCK_IMAGE.alt}="${t.name}"
64
+ ${o.BLOCK_IMAGE.href}="#"
62
65
  class="product-image"
63
66
  align="center"
64
67
  style="max-width: 100%; height: auto; margin: 0 auto;"
65
- esd-extension-block-id="${o.IMAGE}">
66
- </${t.BLOCK_IMAGE}>
68
+ esd-extension-block-id="${s.IMAGE}">
69
+ </${e.BLOCK_IMAGE}>
67
70
  `,
68
- productName: (e) => `
69
- <${t.BLOCK_TEXT}
70
- class="product-name"
71
+ [T]: (t) => `
72
+ <${e.BLOCK_TEXT}
73
+ class="product-name es-p10t es-p10b es-p15l es-p15r"
71
74
  align="center"
72
- style="font-size: 16px; color: #333333; font-weight: 600; padding: 15px 10px; text-align: center;"
73
- esd-extension-block-id="${o.NAME}">
74
- <p path="1" contenteditable="false">
75
- <strong path="1,0">${e.name}</strong>
75
+ esd-extension-block-id="${s.NAME}">
76
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
77
+ <strong path="1,0">${t.name}</strong>
76
78
  </p>
77
- </${t.BLOCK_TEXT}>
79
+ </${e.BLOCK_TEXT}>
78
80
  `,
79
- productPrice: () => `
80
- <${t.BLOCK_TEXT}
81
- class="product-price"
81
+ [d]: () => `
82
+ <${e.BLOCK_TEXT}
83
+ class="product-price es-p15l es-p15r"
82
84
  align="center"
83
- style="padding: 10px; text-align: center;"
84
- esd-extension-block-id="${o.PRICE}">
85
- <p path="1" contenteditable="false">
86
- <span class="current-price" style="font-size: 16px; color: #333333; font-weight: bold;">
87
- <strong path="1,0">18,00 TRY</strong>
88
- </span>
85
+ esd-extension-block-id="${s.PRICE}">
86
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
87
+ <strong path="1,0">18,00 TRY</strong>
89
88
  </p>
90
- </${t.BLOCK_TEXT}>
89
+ </${e.BLOCK_TEXT}>
91
90
  `,
92
- productOldPrice: () => `
93
- <${t.BLOCK_TEXT}
94
- class="product-old-price"
91
+ [i]: () => `
92
+ <${e.BLOCK_TEXT}
93
+ class="product-old-price es-p15l es-p15r"
95
94
  align="center"
96
- style="padding: 10px; text-align: center;"
97
- esd-extension-block-id="${o.OLD_PRICE}">
98
- <p path="1" contenteditable="false">
99
- <span class="old-price" style="font-size: 14px; color: #999999; text-decoration: line-through;">
100
- <s path="1,0">20,00 TRY</s>
101
- </span>
95
+ esd-extension-block-id="${s.OLD_PRICE}">
96
+ <p path="1" contenteditable="false" style="font-size: 14px; color: #999999;">
97
+ <s path="1,0">20,00 TRY</s>
102
98
  </p>
103
- </${t.BLOCK_TEXT}>
99
+ </${e.BLOCK_TEXT}>
104
100
  `,
105
- productButton: () => `
106
- <${t.BLOCK_BUTTON}
107
- ${n.BLOCK_BUTTON.href}="#"
108
- class="product-button"
101
+ [p]: () => `
102
+ <${e.BLOCK_TEXT}
103
+ class="product-omnibus-price es-p15l es-p15r"
109
104
  align="center"
110
- style="padding: 15px 10px 20px 10px; text-align: center;"
111
- esd-extension-block-id="${o.BUTTON}">
105
+ data-text-before="Lowest 30-day price: "
106
+ data-text-after=""
107
+ esd-extension-block-id="${s.OMNIBUS_PRICE}">
108
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
109
+ <span class="omnibus-text-before">Lowest 30-day price: </span>
110
+ <span class="omnibus-price-value">17,00 TRY</span>
111
+ <span class="omnibus-text-after"></span>
112
+ </p>
113
+ </${e.BLOCK_TEXT}>
114
+ `,
115
+ [c]: () => `
116
+ <${e.BLOCK_TEXT}
117
+ class="product-omnibus-discount es-p15l es-p15r"
118
+ align="center"
119
+ data-text-before=""
120
+ data-text-after=""
121
+ esd-extension-block-id="${s.OMNIBUS_DISCOUNT}">
122
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
123
+ <span class="omnibus-text-before"></span>
124
+ <span class="omnibus-discount-value">-6%</span>
125
+ <span class="omnibus-text-after"></span>
126
+ </p>
127
+ </${e.BLOCK_TEXT}>
128
+ `,
129
+ [r]: () => `
130
+ <${e.BLOCK_BUTTON}
131
+ ${o.BLOCK_BUTTON.href}="#"
132
+ class="product-button es-p10t es-p10b"
133
+ align="center"
134
+ esd-extension-block-id="${s.BUTTON}">
112
135
  <span class="es-button-border">
113
136
  <a
114
137
  href="#"
@@ -129,32 +152,33 @@ const g = `
129
152
  Buy
130
153
  </a>
131
154
  </span>
132
- </${t.BLOCK_BUTTON}>
155
+ </${e.BLOCK_BUTTON}>
133
156
  `
134
157
  };
135
158
  function x() {
136
- const e = i();
137
- return l(
159
+ const t = R();
160
+ return O(
138
161
  g,
139
- e,
162
+ t,
140
163
  3,
141
- a,
142
- p.TITLE
164
+ n,
165
+ f.TITLE
143
166
  );
144
167
  }
145
- function f(e, r, c) {
146
- return s(
147
- e,
148
- r,
168
+ function $(t, a, l) {
169
+ return u(
170
+ t,
149
171
  a,
150
- c
172
+ n,
173
+ l
151
174
  );
152
175
  }
153
176
  export {
154
- p as DEFAULTS,
155
- $ as DEFAULT_CARD_COMPOSITION,
177
+ f as DEFAULTS,
178
+ A as DEFAULT_CARD_COMPOSITION,
179
+ h as DEFAULT_CARD_VISIBILITY,
156
180
  g as default,
157
- i as getDefaultProducts,
181
+ R as getDefaultProducts,
158
182
  x as getDefaultTemplate,
159
- f as prepareProductRows
183
+ $ as prepareProductRows
160
184
  };
@@ -1,12 +1,13 @@
1
- import { prepareProductRows as n } from "./templateUtils.js";
2
- import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
3
- const a = `
1
+ import { ATTR_PRODUCT_BUTTON as o, ATTR_PRODUCT_OMNIBUS_DISCOUNT as a, ATTR_PRODUCT_OMNIBUS_PRICE as s, ATTR_PRODUCT_OLD_PRICE as l, ATTR_PRODUCT_PRICE as r, ATTR_PRODUCT_NAME as c, ATTR_PRODUCT_IMAGE as d } from "../constants.js";
2
+ import { prepareProductRows as i } from "./templateUtils.js";
3
+ import { DEFAULTS as f, getDefaultProducts as k } from "./templateUtils.js";
4
+ const g = `
4
5
  <td
5
6
  align="left"
6
7
  esd-extension-block-id="recommendation-block"
7
8
  esd-handler-name="esd-extension-RecommendationBlock"
8
- class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20"
9
- >
9
+ class="ins-recommendation-v3-block-v2 es-p20 esd-recommendation-block esd-extension-block esd-container-frame"
10
+ data-price-inline="0">
10
11
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
11
12
  <tr>
12
13
  <td align="center">
@@ -54,8 +55,8 @@ const a = `
54
55
  </tr>
55
56
  </table>
56
57
  </td>
57
- `, l = {
58
- productImage: (t) => `
58
+ `, p = {
59
+ [d]: (t) => `
59
60
  <tr>
60
61
  <td
61
62
  class="esd-block-image product-image"
@@ -73,7 +74,7 @@ const a = `
73
74
  </td>
74
75
  </tr>
75
76
  `,
76
- productName: (t) => `
77
+ [c]: (t) => `
77
78
  <tr>
78
79
  <td
79
80
  class="esd-block-text product-name"
@@ -88,7 +89,7 @@ const a = `
88
89
  </td>
89
90
  </tr>
90
91
  `,
91
- productPrice: () => `
92
+ [r]: () => `
92
93
  <tr>
93
94
  <td
94
95
  class="esd-block-text product-price"
@@ -103,7 +104,7 @@ const a = `
103
104
  </td>
104
105
  </tr>
105
106
  `,
106
- productOldPrice: () => `
107
+ [l]: () => `
107
108
  <tr>
108
109
  <td
109
110
  class="esd-block-text product-old-price"
@@ -118,7 +119,43 @@ const a = `
118
119
  </td>
119
120
  </tr>
120
121
  `,
121
- productButton: (t) => `
122
+ [s]: () => `
123
+ <tr>
124
+ <td
125
+ class="esd-block-text product-omnibus-price"
126
+ esd-extension-block-id="recommendation-block-omnibus-price"
127
+ data-text-before="Lowest 30-day price: "
128
+ data-text-after=""
129
+ align="center">
130
+ <p
131
+ path="1"
132
+ contenteditable="false"
133
+ style="font-size: 14px; color: #666666; text-align: center;"><span
134
+ class="omnibus-text-before">Lowest 30-day price: </span><span
135
+ class="omnibus-price-value">17,00 TRY</span><span
136
+ class="omnibus-text-after"></span></p>
137
+ </td>
138
+ </tr>
139
+ `,
140
+ [a]: () => `
141
+ <tr>
142
+ <td
143
+ class="esd-block-text product-omnibus-discount"
144
+ esd-extension-block-id="recommendation-block-omnibus-discount"
145
+ data-text-before=""
146
+ data-text-after=""
147
+ align="center">
148
+ <p
149
+ path="1"
150
+ contenteditable="false"
151
+ style="font-size: 14px; color: #666666; text-align: center;"><span
152
+ class="omnibus-text-before"></span><span
153
+ class="omnibus-discount-value">-6%</span><span
154
+ class="omnibus-text-after"></span></p>
155
+ </td>
156
+ </tr>
157
+ `,
158
+ [o]: (t) => `
122
159
  <tr>
123
160
  <td
124
161
  class="esd-block-button product-button"
@@ -136,17 +173,17 @@ const a = `
136
173
  </tr>
137
174
  `
138
175
  };
139
- function d(t, e, o) {
140
- return n(
176
+ function u(t, e, n) {
177
+ return i(
141
178
  t,
142
179
  e,
143
- l,
144
- o
180
+ p,
181
+ n
145
182
  );
146
183
  }
147
184
  export {
148
- i as DEFAULTS,
149
- a as default,
150
- p as getDefaultProducts,
151
- d as prepareProductRows
185
+ f as DEFAULTS,
186
+ g as default,
187
+ k as getDefaultProducts,
188
+ u as prepareProductRows
152
189
  };