@useinsider/guido 2.1.0-beta.e13d291 → 2.1.0-beta.e2d48fe

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 (152) hide show
  1. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  2. package/dist/config/migrator/recommendationMigrator.js +2 -2
  3. package/dist/extensions/Blocks/Items/block.js +19 -28
  4. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  5. package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
  6. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  7. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  8. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +34 -46
  9. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +45 -50
  10. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +40 -51
  11. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -35
  12. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  13. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -62
  14. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  15. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  16. package/dist/extensions/Blocks/Items/extension.js +8 -9
  17. package/dist/extensions/Blocks/Items/template.js +181 -175
  18. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  19. package/dist/extensions/Blocks/Recommendation/block.js +6 -40
  20. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +187 -0
  21. package/dist/extensions/Blocks/Recommendation/constants.js +13 -0
  22. package/dist/extensions/Blocks/Recommendation/control.js +336 -0
  23. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textAfter.js → omnibusDiscountTextAfterControl.js} +14 -16
  27. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textBefore.js → omnibusDiscountTextBeforeControl.js} +14 -16
  28. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textAfter.js → omnibusPriceTextAfterControl.js} +14 -16
  29. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textBefore.js → omnibusPriceTextBeforeControl.js} +12 -14
  30. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  31. package/dist/extensions/Blocks/Recommendation/extension.js +17 -40
  32. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +3 -19
  33. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +4 -13
  34. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +10 -21
  35. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +36 -41
  36. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +181 -0
  37. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +189 -0
  38. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +209 -0
  39. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  40. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +16 -27
  41. package/dist/extensions/Blocks/common-control.js +91 -92
  42. package/dist/extensions/Blocks/controlFactories.js +93 -125
  43. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +169 -223
  44. package/dist/package.json.js +1 -1
  45. package/dist/services/recommendationApi.js +9 -10
  46. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  47. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  48. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  49. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  50. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  51. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  52. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  53. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  54. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  55. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  56. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  57. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  58. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  59. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  60. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -34
  61. package/dist/src/extensions/Blocks/Recommendation/{controls/cardComposition/index.d.ts → cardCompositionControl.d.ts} +3 -23
  62. package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +24 -0
  63. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +38 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +589 -21
  65. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
  66. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -17
  67. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  68. package/dist/src/extensions/Blocks/Recommendation/templates/{grid/migration.d.ts → migrationTemplate.d.ts} +4 -11
  69. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +52 -0
  70. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  71. package/dist/static/styles/customEditorStyle.css.js +2 -25
  72. package/package.json +2 -2
  73. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  74. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +0 -4
  75. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +0 -4
  76. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +0 -64
  77. package/dist/extensions/Blocks/Recommendation/constants/layout.js +0 -20
  78. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -19
  79. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
  80. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -80
  81. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -232
  82. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
  83. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -96
  84. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +0 -110
  85. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +0 -204
  86. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +0 -54
  87. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -205
  88. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +0 -74
  89. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +0 -118
  90. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +0 -71
  91. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +0 -286
  92. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
  93. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -76
  94. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +0 -44
  95. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +0 -48
  96. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +0 -48
  97. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
  98. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -222
  99. package/dist/extensions/Blocks/Recommendation/services/configService.js +0 -239
  100. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +0 -233
  101. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +0 -251
  102. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +0 -69
  103. package/dist/extensions/Blocks/Recommendation/templates/index.js +0 -12
  104. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +0 -174
  105. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +0 -73
  106. package/dist/extensions/Blocks/Recommendation/templates/utils.js +0 -121
  107. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +0 -6
  108. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +0 -29
  109. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +0 -46
  110. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  111. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
  112. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +0 -49
  113. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -13
  114. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +0 -35
  115. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -31
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +0 -143
  117. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -31
  118. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
  119. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -37
  120. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -29
  121. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +0 -45
  122. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +0 -22
  123. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -57
  124. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +0 -24
  125. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -42
  126. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -23
  127. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +0 -214
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +0 -97
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -16
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -95
  131. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -100
  132. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -15
  133. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -15
  134. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -100
  135. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -15
  136. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -15
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +0 -95
  138. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +0 -83
  139. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +0 -151
  140. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +0 -6
  141. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +0 -20
  142. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +0 -33
  143. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +0 -39
  144. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +0 -8
  145. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +0 -25
  146. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +0 -18
  147. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +0 -54
  148. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +0 -7
  149. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +0 -154
  150. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +0 -33
  151. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +0 -113
  152. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +0 -77
@@ -1,27 +1,17 @@
1
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 { 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 {
3
+ import { COMPOSITION_CONTROL_BLOCK_ID as L } from "./cardCompositionControl.js";
4
+ import { RecommendationBlockId as N, RecommendationControlId as _ } from "./constants.js";
5
+ import { CONTROL_BLOCK_ID as U } from "./control.js";
6
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as B } from "./controls/cardBackgroundColorControl.js";
7
+ import { SPACING_CONTROL_ID as D } from "./controls/spacingControl.js";
8
+ class m extends S {
19
9
  registerBlockControls(O) {
20
10
  O[R] = [
21
11
  new I(
22
12
  T.SETTINGS,
23
13
  [
24
- L,
14
+ U,
25
15
  E.EXTERNAL_INDENTS
26
16
  ]
27
17
  ),
@@ -30,14 +20,13 @@ class s extends S {
30
20
  [
31
21
  C.TEXT_BLOCK_BACKGROUND_COLOR,
32
22
  B,
33
- D,
34
- U
23
+ D
35
24
  ]
36
25
  ),
37
26
  new I(
38
27
  "Card Composition",
39
28
  [
40
- A
29
+ L
41
30
  ]
42
31
  ).withLabel("Card Composition")
43
32
  ], O[N.NAME] = [
@@ -169,5 +158,5 @@ class s extends S {
169
158
  }
170
159
  }
171
160
  export {
172
- s as SettingsPanel
161
+ m as SettingsPanel
173
162
  };
@@ -1,14 +1,13 @@
1
- import { RecommendationFeedSourceMaps as l, PriceAttributes as p } from "../../../../enums/extensions/recommendationBlock.js";
2
- import { useRecommendationApi as m } from "../../../../services/recommendationApi.js";
3
- import { useConfigStore as f } from "../../../../stores/config.js";
4
- import { defineStore as d } from "pinia";
5
- import { DEFAULT_CARDS_IN_ROW as g } from "../constants/layout.js";
6
- import { generateCompleteFilterQuery as c } from "../utils/filterUtil.js";
7
- const s = m(), h = () => ({
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 = () => ({
8
7
  recommendationCampaignUrls: {},
9
8
  recommendationProducts: [],
10
9
  recommendationConfigs: {
11
- cardsInRow: g,
10
+ cardsInRow: 3,
12
11
  currencySettings: {
13
12
  name: "USD",
14
13
  value: "USD",
@@ -119,14 +118,14 @@ const s = m(), h = () => ({
119
118
  productIds: ["22", "12"],
120
119
  id: 1,
121
120
  language: "tr_TR",
122
- orientation: "grid",
121
+ orientation: "vertical",
123
122
  recommendedProducts: [],
124
123
  sendProductRequestFlag: !1,
125
124
  shuffleProducts: !1,
126
125
  strategy: "mostPopular",
127
126
  textTrimming: !0,
128
127
  unresponsive: !1,
129
- size: "6"
128
+ size: "9"
130
129
  },
131
130
  activePredictiveAlgorithms: [],
132
131
  languages: {},
@@ -135,8 +134,8 @@ const s = m(), h = () => ({
135
134
  filterSelectionDrawerStatus: !1,
136
135
  filterList: {},
137
136
  filterGroup: 1
138
- }), R = d("guidoRecommendationExtension", {
139
- state: () => h(),
137
+ }), y = p("guidoRecommendationExtension", {
138
+ state: () => d(),
140
139
  getters: {
141
140
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
142
141
  getFilterGroupCount: (e) => {
@@ -146,7 +145,7 @@ const s = m(), h = () => ({
146
145
  getActivePredictiveAlgorithms: (e) => {
147
146
  const t = [];
148
147
  return e.activePredictiveAlgorithms.forEach((r) => {
149
- t.push(...l.filter((i) => i.id === r));
148
+ t.push(...n.filter((i) => i.id === r));
150
149
  }), t.map((r) => ({
151
150
  text: r.name,
152
151
  value: r.key
@@ -161,7 +160,7 @@ const s = m(), h = () => ({
161
160
  value: t.text
162
161
  })),
163
162
  getFilterList: (e) => Object.values(e.filterList).map((t) => {
164
- const r = t.type === "defaultAttribute", i = p.includes(t.attributeName);
163
+ const r = t.type === "defaultAttribute", i = u.includes(t.attributeName);
165
164
  let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
166
165
  return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
167
166
  text: t.displayName,
@@ -179,13 +178,13 @@ const s = m(), h = () => ({
179
178
  activePredictiveAlgorithms: e,
180
179
  languages: t,
181
180
  currencies: r
182
- } = await s.fetchRecommendationCreateData();
181
+ } = await a.fetchRecommendationCreateData();
183
182
  this.activePredictiveAlgorithms = e, this.languages = t;
184
183
  const [i] = r;
185
184
  this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
186
185
  },
187
186
  async fetchRecommendationFilters() {
188
- const e = await s.fetchRecommendationFilters();
187
+ const e = await a.fetchRecommendationFilters();
189
188
  this.filterList = e;
190
189
  },
191
190
  addFilterGroup(e) {
@@ -225,15 +224,13 @@ const s = m(), h = () => ({
225
224
  }
226
225
  },
227
226
  addFilter(e) {
228
- const t = [...this.recommendationConfigs.filters], i = t.filter(
229
- (a) => a.filterGroup === e.filterGroup
230
- ).length + 1, o = t.findLastIndex((a) => a.filterGroup === e.filterGroup);
231
- o !== -1 ? t.splice(o + 1, 0, {
227
+ const t = [...this.recommendationConfigs.filters], r = t.findLastIndex((i) => i.filterGroup === e.filterGroup);
228
+ r !== -1 ? t.splice(r + 1, 0, {
232
229
  ...e,
233
- filterNumber: i
230
+ filterNumber: r + 2
234
231
  }) : t.push({
235
232
  ...e,
236
- filterNumber: i
233
+ filterNumber: 1
237
234
  }), this.$patch({
238
235
  recommendationConfigs: {
239
236
  filters: t
@@ -241,32 +238,30 @@ const s = m(), h = () => ({
241
238
  });
242
239
  },
243
240
  generateFilterQuery() {
244
- return c(this.recommendationConfigs.filters);
241
+ return m(this.recommendationConfigs.filters);
245
242
  },
246
243
  async fetchRecommendationProducts() {
247
- var u;
248
- const e = this.recommendationConfigs.filters.filter((n) => n.isValid), t = c(e), r = ((u = l.find((n) => n.key === this.recommendationConfigs.strategy)) == null ? void 0 : u.path) || "", i = f(), o = {
249
- // Note: {itemId} and {campaignId} are template placeholders replaced at runtime
250
- locale: this.recommendationConfigs.language,
251
- currency: this.recommendationConfigs.currencySettings.value,
252
- partnerName: i.partnerName,
253
- productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
254
- size: this.recommendationConfigs.size,
255
- details: !0,
256
- campaignId: "{campaignId}",
257
- filter: t
258
- };
259
- this.recommendationConfigs.shuffleProducts && (o.shuffle = !0);
260
- const a = await s.fetchRecommendationProducts(
261
- r,
262
- o
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,
247
+ {
248
+ // TODO: Here will be optimized and filled carefully
249
+ locale: this.recommendationConfigs.language,
250
+ currency: this.recommendationConfigs.currencySettings.value,
251
+ partnerName: r.partnerName,
252
+ productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
253
+ size: this.recommendationConfigs.size,
254
+ details: !0,
255
+ campaignId: "{campaignId}",
256
+ filter: e
257
+ }
263
258
  );
264
259
  this.$patch({
265
- recommendationProducts: a
260
+ recommendationProducts: i
266
261
  });
267
262
  }
268
263
  }
269
264
  });
270
265
  export {
271
- R as useRecommendationExtensionStore
266
+ y as useRecommendationExtensionStore
272
267
  };
@@ -0,0 +1,181 @@
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 } from "../constants.js";
3
+ import { generateTemplate as _, prepareProductRows as O, spacer as u, DEFAULTS as f, getDefaultProducts as C } from "./templateUtils.js";
4
+ import { DEFAULT_CARD_COMPOSITION as I, DEFAULT_CARD_VISIBILITY as h } from "./templateUtils.js";
5
+ const g = `
6
+ <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20">
7
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
8
+ <tr>
9
+ <td align="center">
10
+ <table
11
+ class="container"
12
+ width="100%"
13
+ cellpadding="0"
14
+ cellspacing="0"
15
+ border="0">
16
+ <tbody>
17
+ <tr>
18
+ <td>
19
+ <table
20
+ width="100%"
21
+ cellpadding="0"
22
+ cellspacing="0"
23
+ border="0">
24
+ <tbody>
25
+ <${e.BLOCK_TEXT}
26
+ class="es-p10t es-p10b es-p20l es-p20r"
27
+ align="center">
28
+ <p path="1" style="font-size: 28px; color: #333333;">
29
+ <strong path="1,0">{-{-TITLE-}-}</strong>
30
+ </p>
31
+ </${e.BLOCK_TEXT}>
32
+ </tbody>
33
+ </table>
34
+ </td>
35
+ </tr>
36
+ ${u}
37
+ <tr>
38
+ <td>
39
+ <table
40
+ class="ins-recommendation-product-container"
41
+ width="100%"
42
+ cellpadding="0"
43
+ cellspacing="0"
44
+ border="0"
45
+ >
46
+ {-{-PRODUCT_ROWS-}-}
47
+ </table>
48
+ </td>
49
+ </tr>
50
+ </tbody>
51
+ </table>
52
+ </td>
53
+ </tr>
54
+ </table>
55
+ </td>
56
+ `, n = {
57
+ [b]: (t) => `
58
+ <${e.BLOCK_IMAGE}
59
+ ${o.BLOCK_IMAGE.src}="${t.image_url}"
60
+ ${o.BLOCK_IMAGE.alt}="${t.name}"
61
+ ${o.BLOCK_IMAGE.href}="#"
62
+ class="product-image"
63
+ align="center"
64
+ style="max-width: 100%; height: auto; margin: 0 auto;"
65
+ esd-extension-block-id="${s.IMAGE}">
66
+ </${e.BLOCK_IMAGE}>
67
+ `,
68
+ [T]: (t) => `
69
+ <${e.BLOCK_TEXT}
70
+ class="product-name es-p10t es-p10b es-p15l es-p15r"
71
+ align="center"
72
+ esd-extension-block-id="${s.NAME}">
73
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
74
+ <strong path="1,0">${t.name}</strong>
75
+ </p>
76
+ </${e.BLOCK_TEXT}>
77
+ `,
78
+ [d]: () => `
79
+ <${e.BLOCK_TEXT}
80
+ class="product-price es-p15l es-p15r"
81
+ align="center"
82
+ esd-extension-block-id="${s.PRICE}">
83
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
84
+ <strong path="1,0">18,00 TRY</strong>
85
+ </p>
86
+ </${e.BLOCK_TEXT}>
87
+ `,
88
+ [i]: () => `
89
+ <${e.BLOCK_TEXT}
90
+ class="product-old-price es-p15l es-p15r"
91
+ align="center"
92
+ esd-extension-block-id="${s.OLD_PRICE}">
93
+ <p path="1" contenteditable="false" style="font-size: 14px; color: #999999;">
94
+ <s path="1,0">20,00 TRY</s>
95
+ </p>
96
+ </${e.BLOCK_TEXT}>
97
+ `,
98
+ [p]: () => `
99
+ <${e.BLOCK_TEXT}
100
+ class="product-omnibus-price es-p15l es-p15r"
101
+ align="center"
102
+ data-text-before="Lowest 30-day price: "
103
+ data-text-after=""
104
+ esd-extension-block-id="${s.OMNIBUS_PRICE}">
105
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
106
+ <span class="omnibus-text-before">Lowest 30-day price: </span>
107
+ <span class="omnibus-price-value">17,00 TRY</span>
108
+ <span class="omnibus-text-after"></span>
109
+ </p>
110
+ </${e.BLOCK_TEXT}>
111
+ `,
112
+ [c]: () => `
113
+ <${e.BLOCK_TEXT}
114
+ class="product-omnibus-discount es-p15l es-p15r"
115
+ align="center"
116
+ data-text-before=""
117
+ data-text-after=""
118
+ esd-extension-block-id="${s.OMNIBUS_DISCOUNT}">
119
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
120
+ <span class="omnibus-text-before"></span>
121
+ <span class="omnibus-discount-value">-6%</span>
122
+ <span class="omnibus-text-after"></span>
123
+ </p>
124
+ </${e.BLOCK_TEXT}>
125
+ `,
126
+ [r]: () => `
127
+ <${e.BLOCK_BUTTON}
128
+ ${o.BLOCK_BUTTON.href}="#"
129
+ class="product-button es-p10t es-p10b"
130
+ align="center"
131
+ esd-extension-block-id="${s.BUTTON}">
132
+ <span class="es-button-border">
133
+ <a
134
+ href="#"
135
+ class="es-button buy-button"
136
+ target="_blank"
137
+ style="
138
+ display: inline-block;
139
+ width: 90%;
140
+ max-width: 150px;
141
+ padding: 12px 20px;
142
+ background-color: #ffffff;
143
+ color: #333333;
144
+ text-decoration: none;
145
+ border: 2px solid #cccccc;
146
+ font-size: 16px;
147
+ box-sizing: border-box;
148
+ ">
149
+ Buy
150
+ </a>
151
+ </span>
152
+ </${e.BLOCK_BUTTON}>
153
+ `
154
+ };
155
+ function x() {
156
+ const t = C();
157
+ return _(
158
+ g,
159
+ t,
160
+ 3,
161
+ n,
162
+ f.TITLE
163
+ );
164
+ }
165
+ function E(t, a, l) {
166
+ return O(
167
+ t,
168
+ a,
169
+ n,
170
+ l
171
+ );
172
+ }
173
+ export {
174
+ f as DEFAULTS,
175
+ I as DEFAULT_CARD_COMPOSITION,
176
+ h as DEFAULT_CARD_VISIBILITY,
177
+ g as default,
178
+ C as getDefaultProducts,
179
+ x as getDefaultTemplate,
180
+ E as prepareProductRows
181
+ };
@@ -0,0 +1,189 @@
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 c, ATTR_PRODUCT_NAME as r, ATTR_PRODUCT_IMAGE as d } from "../constants.js";
2
+ import { prepareProductRows as i } from "./templateUtils.js";
3
+ import { DEFAULTS as k, getDefaultProducts as f } from "./templateUtils.js";
4
+ const g = `
5
+ <td
6
+ align="left"
7
+ esd-extension-block-id="recommendation-block"
8
+ esd-handler-name="esd-extension-RecommendationBlock"
9
+ class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20"
10
+ >
11
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
12
+ <tr>
13
+ <td align="center">
14
+ <table
15
+ class="container"
16
+ width="100%"
17
+ cellpadding="0"
18
+ cellspacing="0"
19
+ border="0">
20
+ <tbody>
21
+ <tr>
22
+ <td>
23
+ <table
24
+ width="100%"
25
+ cellpadding="0"
26
+ cellspacing="0"
27
+ border="0">
28
+ <tbody>
29
+ <tr>
30
+ {-{-TITLE-}-}
31
+ </tr>
32
+ </tbody>
33
+ </table>
34
+ </td>
35
+ </tr>
36
+ <tr>
37
+ <td class="spacer" style="height: 20px;"></td>
38
+ </tr>
39
+ <tr>
40
+ <td>
41
+ <table
42
+ class="ins-recommendation-product-container"
43
+ width="100%"
44
+ cellpadding="0"
45
+ cellspacing="0"
46
+ border="0"
47
+ >
48
+ {-{-PRODUCT_ROWS-}-}
49
+ </table>
50
+ </td>
51
+ </tr>
52
+ </tbody>
53
+ </table>
54
+ </td>
55
+ </tr>
56
+ </table>
57
+ </td>
58
+ `, p = {
59
+ [d]: (t) => `
60
+ <tr>
61
+ <td
62
+ class="esd-block-image product-image"
63
+ esd-extension-block-id="recommendation-block-image"
64
+ align="center"
65
+ style="font-size: 0px;">
66
+ <a target="_blank" href="${t.url}">
67
+ <img
68
+ src="${t.image_url}"
69
+ alt="${t.name}"
70
+ width="120"
71
+ style="display: block; max-width: 100%; height: auto;"
72
+ class="adapt-img">
73
+ </a>
74
+ </td>
75
+ </tr>
76
+ `,
77
+ [r]: (t) => `
78
+ <tr>
79
+ <td
80
+ class="esd-block-text product-name"
81
+ esd-extension-block-id="recommendation-block-name"
82
+ align="center">
83
+ <p
84
+ path="1"
85
+ contenteditable="false"
86
+ style="font-size: 16px; color: #333333; font-weight: 600; text-align: center;">
87
+ <strong path="1,0">${t.name}</strong>
88
+ </p>
89
+ </td>
90
+ </tr>
91
+ `,
92
+ [c]: () => `
93
+ <tr>
94
+ <td
95
+ class="esd-block-text product-price"
96
+ esd-extension-block-id="recommendation-block-price"
97
+ align="center">
98
+ <p
99
+ path="1"
100
+ contenteditable="false"
101
+ style="font-size: 16px; color: #333333; font-weight: bold; text-align: center;">
102
+ <strong path="1,0">18,00 TRY</strong>
103
+ </p>
104
+ </td>
105
+ </tr>
106
+ `,
107
+ [l]: () => `
108
+ <tr>
109
+ <td
110
+ class="esd-block-text product-old-price"
111
+ esd-extension-block-id="recommendation-block-old-price"
112
+ align="center">
113
+ <p
114
+ path="1"
115
+ contenteditable="false"
116
+ style="font-size: 14px; color: #999999; text-decoration: line-through; text-align: center;">
117
+ <s path="1,0">20,00 TRY</s>
118
+ </p>
119
+ </td>
120
+ </tr>
121
+ `,
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) => `
159
+ <tr>
160
+ <td
161
+ class="esd-block-button product-button"
162
+ esd-extension-block-id="recommendation-block-button"
163
+ align="center">
164
+ <span class="es-button-border" style="display: block;">
165
+ <a
166
+ href="${t.url}"
167
+ target="_blank"
168
+ class="es-button">
169
+ {-{-PRODUCT_BUTTON_TEXT-}-}
170
+ </a>
171
+ </span>
172
+ </td>
173
+ </tr>
174
+ `
175
+ };
176
+ function u(t, e, n) {
177
+ return i(
178
+ t,
179
+ e,
180
+ p,
181
+ n
182
+ );
183
+ }
184
+ export {
185
+ k as DEFAULTS,
186
+ g as default,
187
+ f as getDefaultProducts,
188
+ u as prepareProductRows
189
+ };