@useinsider/guido 1.0.3-beta.c8da346 → 1.0.3-beta.cc03cd5

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 (160) hide show
  1. package/README.md +3 -141
  2. package/dist/components/Guido.vue.js +10 -12
  3. package/dist/components/Guido.vue2.js +77 -82
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  9. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  11. package/dist/composables/useStripo.js +48 -39
  12. package/dist/config/migrator/index.js +6 -7
  13. package/dist/enums/defaults.js +8 -15
  14. package/dist/enums/onboarding.js +1 -2
  15. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  16. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  17. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  18. package/dist/extensions/DynamicContent/dynamic-content-modal.js +13 -20
  19. package/dist/extensions/DynamicContent/dynamic-content.js +33 -145
  20. package/dist/guido.css +1 -1
  21. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -311
  22. package/dist/package.json.js +1 -1
  23. package/dist/services/stripoApi.js +1 -1
  24. package/dist/src/@types/generic.d.ts +4 -43
  25. package/dist/src/components/Guido.vue.d.ts +2 -3
  26. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  27. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  28. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  29. package/dist/src/enums/onboarding.d.ts +0 -1
  30. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -8
  31. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -50
  32. package/dist/src/stores/config.d.ts +1 -8
  33. package/dist/src/stores/dynamic-content.d.ts +2 -2
  34. package/dist/src/stores/editor.d.ts +0 -21
  35. package/dist/src/utils/dateUtil.d.ts +0 -21
  36. package/dist/src/utils/genericUtil.d.ts +0 -1
  37. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  38. package/dist/static/styles/customEditorStyle.css.js +0 -5
  39. package/dist/stores/editor.js +1 -2
  40. package/dist/utils/dateUtil.js +3 -24
  41. package/dist/utils/genericUtil.js +7 -8
  42. package/package.json +4 -4
  43. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +0 -28
  44. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +0 -38
  45. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +0 -17
  46. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +0 -37
  47. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +0 -20
  48. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +0 -44
  49. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +0 -17
  50. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +0 -27
  51. package/dist/composables/useBlocksConfig.js +0 -49
  52. package/dist/config/migrator/recommendationMigrator.js +0 -293
  53. package/dist/enums/date.js +0 -6
  54. package/dist/enums/extensions/recommendationBlock.js +0 -80
  55. package/dist/extensions/Blocks/Recommendation/block.js +0 -30
  56. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  57. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  58. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  59. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/extension.js +0 -45
  94. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +0 -51
  95. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -19
  96. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +0 -117
  97. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +0 -266
  98. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  99. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  100. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  101. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +0 -28
  102. package/dist/extensions/Blocks/common-control.js +0 -184
  103. package/dist/services/recommendationApi.js +0 -43
  104. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -19
  105. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -2
  106. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +0 -2
  107. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -16
  108. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  109. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  110. package/dist/src/enums/date.d.ts +0 -4
  111. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -16
  112. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -11
  113. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  114. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  115. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  146. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  147. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  148. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  149. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  150. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -2
  151. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +0 -4
  152. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +0 -4
  153. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -555
  154. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  155. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  156. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  157. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +0 -7
  158. package/dist/src/extensions/Blocks/common-control.d.ts +0 -87
  159. package/dist/src/mock/api/recommendation.d.ts +0 -2
  160. package/dist/src/services/recommendationApi.d.ts +0 -6
@@ -1,555 +0,0 @@
1
- import type { Orientation, Languages, Currency, NumericSeparator, FiltersResponse, Filter, RecommendationProduct } from '@@/Types/recommendation';
2
- interface StoreState {
3
- recommendationCampaignUrls: Record<string, string>;
4
- recommendationConfigs: {
5
- cardsInRow: number;
6
- currencySettings: {
7
- name: string;
8
- value: string;
9
- symbol: string;
10
- alignment: string;
11
- decimalCount: string;
12
- decimalSeparator: NumericSeparator;
13
- thousandSeparator: NumericSeparator;
14
- };
15
- filters: Filter[];
16
- id: number;
17
- language: string;
18
- orientation: Orientation;
19
- productIds: string[];
20
- recommendedProducts: [];
21
- sendProductRequestFlag: false;
22
- shuffleProducts: false;
23
- strategy: string;
24
- textTrimming: boolean;
25
- unresponsive: boolean;
26
- size: string;
27
- };
28
- recommendationProducts: RecommendationProduct[];
29
- activePredictiveAlgorithms: number[];
30
- languages: Languages;
31
- currencyList: Currency[];
32
- filterStatus: boolean;
33
- filterSelectionDrawerStatus: boolean;
34
- filterList: FiltersResponse;
35
- filterGroup: number;
36
- }
37
- export declare const useRecommendationExtensionStore: import("pinia").StoreDefinition<"recommendationExtension", StoreState, {
38
- hasFilters: (state: {
39
- recommendationCampaignUrls: Record<string, string>;
40
- recommendationConfigs: {
41
- cardsInRow: number;
42
- currencySettings: {
43
- name: string;
44
- value: string;
45
- symbol: string;
46
- alignment: string;
47
- decimalCount: string;
48
- decimalSeparator: NumericSeparator;
49
- thousandSeparator: NumericSeparator;
50
- };
51
- filters: {
52
- type: string;
53
- attribute: string;
54
- operatorReplace: string;
55
- operator: string;
56
- innerGroupOperator: string;
57
- outerGroupOperator: string;
58
- value: string;
59
- filterGroup: number;
60
- filterNumber: number;
61
- isValid: boolean;
62
- }[];
63
- id: number;
64
- language: string;
65
- orientation: Orientation;
66
- productIds: string[];
67
- recommendedProducts: [];
68
- sendProductRequestFlag: false;
69
- shuffleProducts: false;
70
- strategy: string;
71
- textTrimming: boolean;
72
- unresponsive: boolean;
73
- size: string;
74
- };
75
- recommendationProducts: {
76
- image_url: string;
77
- name: string;
78
- item_id: string;
79
- url: string;
80
- in_stock: number;
81
- price: {
82
- [key: string]: number;
83
- };
84
- locale: string;
85
- product_attributes: {
86
- [key: string]: string;
87
- };
88
- category: string[];
89
- discount: {
90
- [key: string]: number;
91
- };
92
- original_price: {
93
- [key: string]: number;
94
- };
95
- }[];
96
- activePredictiveAlgorithms: number[];
97
- languages: Languages;
98
- currencyList: {
99
- text: string;
100
- value: string;
101
- }[];
102
- filterStatus: boolean;
103
- filterSelectionDrawerStatus: boolean;
104
- filterList: FiltersResponse;
105
- filterGroup: number;
106
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => boolean;
107
- getFilterGroupCount: (state: {
108
- recommendationCampaignUrls: Record<string, string>;
109
- recommendationConfigs: {
110
- cardsInRow: number;
111
- currencySettings: {
112
- name: string;
113
- value: string;
114
- symbol: string;
115
- alignment: string;
116
- decimalCount: string;
117
- decimalSeparator: NumericSeparator;
118
- thousandSeparator: NumericSeparator;
119
- };
120
- filters: {
121
- type: string;
122
- attribute: string;
123
- operatorReplace: string;
124
- operator: string;
125
- innerGroupOperator: string;
126
- outerGroupOperator: string;
127
- value: string;
128
- filterGroup: number;
129
- filterNumber: number;
130
- isValid: boolean;
131
- }[];
132
- id: number;
133
- language: string;
134
- orientation: Orientation;
135
- productIds: string[];
136
- recommendedProducts: [];
137
- sendProductRequestFlag: false;
138
- shuffleProducts: false;
139
- strategy: string;
140
- textTrimming: boolean;
141
- unresponsive: boolean;
142
- size: string;
143
- };
144
- recommendationProducts: {
145
- image_url: string;
146
- name: string;
147
- item_id: string;
148
- url: string;
149
- in_stock: number;
150
- price: {
151
- [key: string]: number;
152
- };
153
- locale: string;
154
- product_attributes: {
155
- [key: string]: string;
156
- };
157
- category: string[];
158
- discount: {
159
- [key: string]: number;
160
- };
161
- original_price: {
162
- [key: string]: number;
163
- };
164
- }[];
165
- activePredictiveAlgorithms: number[];
166
- languages: Languages;
167
- currencyList: {
168
- text: string;
169
- value: string;
170
- }[];
171
- filterStatus: boolean;
172
- filterSelectionDrawerStatus: boolean;
173
- filterList: FiltersResponse;
174
- filterGroup: number;
175
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => number;
176
- getActivePredictiveAlgorithms: (state: {
177
- recommendationCampaignUrls: Record<string, string>;
178
- recommendationConfigs: {
179
- cardsInRow: number;
180
- currencySettings: {
181
- name: string;
182
- value: string;
183
- symbol: string;
184
- alignment: string;
185
- decimalCount: string;
186
- decimalSeparator: NumericSeparator;
187
- thousandSeparator: NumericSeparator;
188
- };
189
- filters: {
190
- type: string;
191
- attribute: string;
192
- operatorReplace: string;
193
- operator: string;
194
- innerGroupOperator: string;
195
- outerGroupOperator: string;
196
- value: string;
197
- filterGroup: number;
198
- filterNumber: number;
199
- isValid: boolean;
200
- }[];
201
- id: number;
202
- language: string;
203
- orientation: Orientation;
204
- productIds: string[];
205
- recommendedProducts: [];
206
- sendProductRequestFlag: false;
207
- shuffleProducts: false;
208
- strategy: string;
209
- textTrimming: boolean;
210
- unresponsive: boolean;
211
- size: string;
212
- };
213
- recommendationProducts: {
214
- image_url: string;
215
- name: string;
216
- item_id: string;
217
- url: string;
218
- in_stock: number;
219
- price: {
220
- [key: string]: number;
221
- };
222
- locale: string;
223
- product_attributes: {
224
- [key: string]: string;
225
- };
226
- category: string[];
227
- discount: {
228
- [key: string]: number;
229
- };
230
- original_price: {
231
- [key: string]: number;
232
- };
233
- }[];
234
- activePredictiveAlgorithms: number[];
235
- languages: Languages;
236
- currencyList: {
237
- text: string;
238
- value: string;
239
- }[];
240
- filterStatus: boolean;
241
- filterSelectionDrawerStatus: boolean;
242
- filterList: FiltersResponse;
243
- filterGroup: number;
244
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => {
245
- text: string;
246
- value: string;
247
- }[];
248
- getLanguages: (state: {
249
- recommendationCampaignUrls: Record<string, string>;
250
- recommendationConfigs: {
251
- cardsInRow: number;
252
- currencySettings: {
253
- name: string;
254
- value: string;
255
- symbol: string;
256
- alignment: string;
257
- decimalCount: string;
258
- decimalSeparator: NumericSeparator;
259
- thousandSeparator: NumericSeparator;
260
- };
261
- filters: {
262
- type: string;
263
- attribute: string;
264
- operatorReplace: string;
265
- operator: string;
266
- innerGroupOperator: string;
267
- outerGroupOperator: string;
268
- value: string;
269
- filterGroup: number;
270
- filterNumber: number;
271
- isValid: boolean;
272
- }[];
273
- id: number;
274
- language: string;
275
- orientation: Orientation;
276
- productIds: string[];
277
- recommendedProducts: [];
278
- sendProductRequestFlag: false;
279
- shuffleProducts: false;
280
- strategy: string;
281
- textTrimming: boolean;
282
- unresponsive: boolean;
283
- size: string;
284
- };
285
- recommendationProducts: {
286
- image_url: string;
287
- name: string;
288
- item_id: string;
289
- url: string;
290
- in_stock: number;
291
- price: {
292
- [key: string]: number;
293
- };
294
- locale: string;
295
- product_attributes: {
296
- [key: string]: string;
297
- };
298
- category: string[];
299
- discount: {
300
- [key: string]: number;
301
- };
302
- original_price: {
303
- [key: string]: number;
304
- };
305
- }[];
306
- activePredictiveAlgorithms: number[];
307
- languages: Languages;
308
- currencyList: {
309
- text: string;
310
- value: string;
311
- }[];
312
- filterStatus: boolean;
313
- filterSelectionDrawerStatus: boolean;
314
- filterList: FiltersResponse;
315
- filterGroup: number;
316
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => {
317
- text: string;
318
- value: string;
319
- }[];
320
- getCurrencySymbolList: (state: {
321
- recommendationCampaignUrls: Record<string, string>;
322
- recommendationConfigs: {
323
- cardsInRow: number;
324
- currencySettings: {
325
- name: string;
326
- value: string;
327
- symbol: string;
328
- alignment: string;
329
- decimalCount: string;
330
- decimalSeparator: NumericSeparator;
331
- thousandSeparator: NumericSeparator;
332
- };
333
- filters: {
334
- type: string;
335
- attribute: string;
336
- operatorReplace: string;
337
- operator: string;
338
- innerGroupOperator: string;
339
- outerGroupOperator: string;
340
- value: string;
341
- filterGroup: number;
342
- filterNumber: number;
343
- isValid: boolean;
344
- }[];
345
- id: number;
346
- language: string;
347
- orientation: Orientation;
348
- productIds: string[];
349
- recommendedProducts: [];
350
- sendProductRequestFlag: false;
351
- shuffleProducts: false;
352
- strategy: string;
353
- textTrimming: boolean;
354
- unresponsive: boolean;
355
- size: string;
356
- };
357
- recommendationProducts: {
358
- image_url: string;
359
- name: string;
360
- item_id: string;
361
- url: string;
362
- in_stock: number;
363
- price: {
364
- [key: string]: number;
365
- };
366
- locale: string;
367
- product_attributes: {
368
- [key: string]: string;
369
- };
370
- category: string[];
371
- discount: {
372
- [key: string]: number;
373
- };
374
- original_price: {
375
- [key: string]: number;
376
- };
377
- }[];
378
- activePredictiveAlgorithms: number[];
379
- languages: Languages;
380
- currencyList: {
381
- text: string;
382
- value: string;
383
- }[];
384
- filterStatus: boolean;
385
- filterSelectionDrawerStatus: boolean;
386
- filterList: FiltersResponse;
387
- filterGroup: number;
388
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => {
389
- text: string;
390
- value: string;
391
- }[];
392
- getFilterList: (state: {
393
- recommendationCampaignUrls: Record<string, string>;
394
- recommendationConfigs: {
395
- cardsInRow: number;
396
- currencySettings: {
397
- name: string;
398
- value: string;
399
- symbol: string;
400
- alignment: string;
401
- decimalCount: string;
402
- decimalSeparator: NumericSeparator;
403
- thousandSeparator: NumericSeparator;
404
- };
405
- filters: {
406
- type: string;
407
- attribute: string;
408
- operatorReplace: string;
409
- operator: string;
410
- innerGroupOperator: string;
411
- outerGroupOperator: string;
412
- value: string;
413
- filterGroup: number;
414
- filterNumber: number;
415
- isValid: boolean;
416
- }[];
417
- id: number;
418
- language: string;
419
- orientation: Orientation;
420
- productIds: string[];
421
- recommendedProducts: [];
422
- sendProductRequestFlag: false;
423
- shuffleProducts: false;
424
- strategy: string;
425
- textTrimming: boolean;
426
- unresponsive: boolean;
427
- size: string;
428
- };
429
- recommendationProducts: {
430
- image_url: string;
431
- name: string;
432
- item_id: string;
433
- url: string;
434
- in_stock: number;
435
- price: {
436
- [key: string]: number;
437
- };
438
- locale: string;
439
- product_attributes: {
440
- [key: string]: string;
441
- };
442
- category: string[];
443
- discount: {
444
- [key: string]: number;
445
- };
446
- original_price: {
447
- [key: string]: number;
448
- };
449
- }[];
450
- activePredictiveAlgorithms: number[];
451
- languages: Languages;
452
- currencyList: {
453
- text: string;
454
- value: string;
455
- }[];
456
- filterStatus: boolean;
457
- filterSelectionDrawerStatus: boolean;
458
- filterList: FiltersResponse;
459
- filterGroup: number;
460
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => {
461
- text: string;
462
- value: string;
463
- type: string;
464
- }[];
465
- getSelectedFilterGroup: (state: {
466
- recommendationCampaignUrls: Record<string, string>;
467
- recommendationConfigs: {
468
- cardsInRow: number;
469
- currencySettings: {
470
- name: string;
471
- value: string;
472
- symbol: string;
473
- alignment: string;
474
- decimalCount: string;
475
- decimalSeparator: NumericSeparator;
476
- thousandSeparator: NumericSeparator;
477
- };
478
- filters: {
479
- type: string;
480
- attribute: string;
481
- operatorReplace: string;
482
- operator: string;
483
- innerGroupOperator: string;
484
- outerGroupOperator: string;
485
- value: string;
486
- filterGroup: number;
487
- filterNumber: number;
488
- isValid: boolean;
489
- }[];
490
- id: number;
491
- language: string;
492
- orientation: Orientation;
493
- productIds: string[];
494
- recommendedProducts: [];
495
- sendProductRequestFlag: false;
496
- shuffleProducts: false;
497
- strategy: string;
498
- textTrimming: boolean;
499
- unresponsive: boolean;
500
- size: string;
501
- };
502
- recommendationProducts: {
503
- image_url: string;
504
- name: string;
505
- item_id: string;
506
- url: string;
507
- in_stock: number;
508
- price: {
509
- [key: string]: number;
510
- };
511
- locale: string;
512
- product_attributes: {
513
- [key: string]: string;
514
- };
515
- category: string[];
516
- discount: {
517
- [key: string]: number;
518
- };
519
- original_price: {
520
- [key: string]: number;
521
- };
522
- }[];
523
- activePredictiveAlgorithms: number[];
524
- languages: Languages;
525
- currencyList: {
526
- text: string;
527
- value: string;
528
- }[];
529
- filterStatus: boolean;
530
- filterSelectionDrawerStatus: boolean;
531
- filterList: FiltersResponse;
532
- filterGroup: number;
533
- } & import("pinia").PiniaCustomStateProperties<StoreState>) => (groupId: number) => {
534
- type: string;
535
- attribute: string;
536
- operatorReplace: string;
537
- operator: string;
538
- innerGroupOperator: string;
539
- outerGroupOperator: string;
540
- value: string;
541
- filterGroup: number;
542
- filterNumber: number;
543
- isValid: boolean;
544
- }[];
545
- }, {
546
- fetchRecommendationCreateData(): Promise<void>;
547
- fetchRecommendationFilters(): Promise<void>;
548
- addFilterGroup(filterGroup: number): void;
549
- updateFilter(updatedFilter: Filter): void;
550
- deleteFilter(filter: Filter): void;
551
- addFilter(filter: Filter): void;
552
- generateFilterQuery(): string;
553
- fetchRecommendationProducts(): Promise<void>;
554
- }>;
555
- export {};
@@ -1,16 +0,0 @@
1
- import type { RecommendationProduct } from '@@/Types/recommendation';
2
- import { DEFAULTS, getDefaultProducts, DEFAULT_CARD_COMPOSITION } from './templateUtils';
3
- declare const blockTemplate = "\n <td align=\"left\" class=\"ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td align=\"center\">\n <table\n class=\"container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td>\n <table\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <BLOCK_TEXT\n class=\"es-p10t es-p10b es-p20l es-p20r\"\n align=\"center\">\n <p path=\"1\" style=\"font-size: 28px; color: #333333;\">\n <strong path=\"1,0\">{-{-TITLE-}-}</strong>\n </p>\n </BLOCK_TEXT>\n </tbody>\n </table>\n </td>\n </tr>\n \n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n\n <tr>\n <td>\n <table\n class=\"ins-recommendation-product-container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n >\n {-{-PRODUCT_ROWS-}-}\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
4
- export declare function getDefaultTemplate(): string;
5
- /**
6
- * Generates a custom template with specified products and layout
7
- * @param products - Array of products to display
8
- * @param productsPerRow - Number of products per row
9
- * @param title - Optional title for the block
10
- * @param composition - Optional array defining order of card elements
11
- * @returns Complete HTML template
12
- */
13
- export declare function generateBlockTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
14
- export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
15
- export { DEFAULTS, DEFAULT_CARD_COMPOSITION, getDefaultProducts, };
16
- export default blockTemplate;
@@ -1,16 +0,0 @@
1
- import type { RecommendationProduct } from '@@/Types/recommendation';
2
- import { DEFAULTS, getDefaultProducts } from './templateUtils';
3
- declare const migrationTemplate = "\n <td\n align=\"left\"\n esd-extension-block-id=\"recommendation-block\"\n esd-handler-name=\"esd-extension-RecommendationBlock\"\n class=\"ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20\"\n >\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td align=\"center\">\n <table\n class=\"container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td>\n <table\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n <tr>\n <td>\n <table\n class=\"ins-recommendation-product-container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n >\n {-{-PRODUCT_ROWS-}-}\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
4
- export declare function getMigrationTemplate(): string;
5
- /**
6
- * Generates a custom migration template with specified products and layout
7
- * @param products - Array of products to display
8
- * @param productsPerRow - Number of products per row
9
- * @param title - Optional title for the block
10
- * @param composition - Optional array defining order of card elements
11
- * @returns Complete HTML template
12
- */
13
- export declare function generateMigrationTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
14
- export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
15
- export { DEFAULTS, getDefaultProducts };
16
- export default migrationTemplate;
@@ -1,44 +0,0 @@
1
- import type { RecommendationProduct } from '@@/Types/recommendation';
2
- export interface ElementRenderer {
3
- productImage: (product: RecommendationProduct) => string;
4
- productName: (product: RecommendationProduct) => string;
5
- productPrice: (product: RecommendationProduct) => string;
6
- productOldPrice: (product: RecommendationProduct) => string;
7
- productButton: (product: RecommendationProduct) => string;
8
- }
9
- export interface TemplateConfig {
10
- spacer: string;
11
- blockTemplate: string;
12
- productRow: string;
13
- productCardWrapper: string;
14
- elementRenderer: ElementRenderer;
15
- }
16
- export declare const DEFAULTS: {
17
- TITLE: string;
18
- DESCRIPTION: string;
19
- };
20
- export declare const spacer = "\n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n";
21
- export declare const productRow = "\n <tr>\n <td>\n <table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n {-{-PRODUCTS-}-}\n </table>\n </td>\n </tr>\n";
22
- export declare const productCardWrapper = "\n <td width=\"{-{-COLUMN_WIDTH-}-}\" style=\"padding: 0 5px;\" valign=\"top\" height=\"100%\">\n <table\n width=\"100%\"\n height=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n class=\"product-card-wrapper\">\n <tr>\n <td\n class=\"product-attribute-cell\"\n valign=\"top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n {-{-PRODUCT_CONTENT-}-}\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
23
- export declare const DEFAULT_CARD_COMPOSITION: string[];
24
- export declare function getDefaultProducts(): RecommendationProduct[];
25
- /**
26
- * Core template generation logic that works with any element renderer
27
- * @param products - Array of products to display
28
- * @param productsPerRow - Number of products per row
29
- * @param elementRenderer - Object with methods to render each product element
30
- * @param composition - Optional array defining order of card elements
31
- * @returns HTML string for product rows
32
- */
33
- export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, elementRenderer: ElementRenderer, composition?: string[]): string;
34
- /**
35
- * Generates complete HTML template with dynamic products and layout
36
- * @param blockTemplate - The base block template string
37
- * @param products - Array of products to display
38
- * @param productsPerRow - Number of products per row
39
- * @param elementRenderer - Element renderer for generating product HTML
40
- * @param title - Title for the block
41
- * @param composition - Optional array defining order of card elements
42
- * @returns Complete HTML template
43
- */
44
- export declare function generateTemplate(blockTemplate: string, products: RecommendationProduct[], productsPerRow: number, elementRenderer: ElementRenderer, title?: string, composition?: string[]): string;
@@ -1,7 +0,0 @@
1
- import type { Filter } from '@@/Types/recommendation';
2
- /**
3
- * Generates the complete query with outer group operators
4
- * @param filters Array of Filter objects
5
- * @returns Complete query string with outer operators
6
- */
7
- export declare function generateCompleteFilterQuery(filters: Filter[]): string;