@useinsider/guido 2.2.0-beta.5e11d20 → 2.2.0-beta.8abc7b6

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 (185) hide show
  1. package/README.md +36 -0
  2. package/dist/@types/config/schemas.js +70 -65
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +69 -58
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  6. package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
  7. package/dist/composables/useActionsApi.js +15 -13
  8. package/dist/composables/useBlocksConfig.js +26 -16
  9. package/dist/composables/useHtmlValidator.js +114 -104
  10. package/dist/composables/useRecommendation.js +54 -21
  11. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  12. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  13. package/dist/config/migrator/itemsBlockMigrator.js +138 -117
  14. package/dist/config/migrator/recommendationMigrator.js +2 -2
  15. package/dist/enums/defaults.js +8 -4
  16. package/dist/enums/extensions/recommendationBlock.js +1 -1
  17. package/dist/enums/recommendation.js +16 -15
  18. package/dist/extensions/Blocks/Items/block.js +19 -28
  19. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  20. package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
  21. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  22. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  23. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  24. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  25. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  26. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  27. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  28. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  29. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  30. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  31. package/dist/extensions/Blocks/Items/extension.js +8 -9
  32. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  33. package/dist/extensions/Blocks/Items/template.js +181 -175
  34. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  35. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  36. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  37. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  38. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +66 -0
  39. package/dist/extensions/Blocks/Recommendation/constants/layout.js +22 -0
  40. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +21 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +250 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +160 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +307 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  60. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  61. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  63. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  64. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  66. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  67. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  68. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  69. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  70. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  71. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +254 -207
  72. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  73. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  74. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  75. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  76. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  77. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  78. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  79. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  80. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  81. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  82. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  83. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  84. package/dist/extensions/Blocks/common-control.js +91 -92
  85. package/dist/extensions/Blocks/controlFactories.js +125 -93
  86. package/dist/extensions/ModulesTabIcons/extension.js +17 -0
  87. package/dist/guido.css +1 -1
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +317 -193
  89. package/dist/services/recommendationApi.js +11 -8
  90. package/dist/services/templateLibraryApi.js +16 -13
  91. package/dist/src/@types/config/schemas.d.ts +8 -0
  92. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  93. package/dist/src/composables/useConfig.d.ts +4 -0
  94. package/dist/src/composables/useRecommendation.d.ts +1 -0
  95. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  96. package/dist/src/enums/defaults.d.ts +4 -0
  97. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  98. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  99. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  100. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  101. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  102. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  103. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  104. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  105. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  106. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  107. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  108. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  109. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  110. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  111. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  112. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  113. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  114. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  115. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +41 -0
  116. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +35 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  119. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  120. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  122. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +79 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +221 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  137. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  138. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  139. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  140. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  141. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  142. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  143. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  144. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  145. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  146. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +138 -468
  147. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  148. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  149. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  150. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
  151. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  152. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  153. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  154. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  155. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  156. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +166 -0
  157. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  158. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  159. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  160. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  161. package/dist/src/extensions/ModulesTabIcons/extension.d.ts +2 -0
  162. package/dist/src/stores/config.d.ts +36 -0
  163. package/dist/static/styles/components/notification.css.js +1 -0
  164. package/dist/static/styles/components/version-history.css.js +10 -2
  165. package/dist/static/styles/components/wide-panel.css.js +18 -2
  166. package/dist/static/styles/customEditorStyle.css.js +35 -11
  167. package/dist/utils/pairProductVariables.js +57 -56
  168. package/dist/utils/templatePreparation.js +15 -14
  169. package/package.json +1 -1
  170. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  171. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  172. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  173. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  174. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  175. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  176. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  177. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  178. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  179. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  180. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  181. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  182. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  183. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  184. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  185. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -1,245 +0,0 @@
1
- import { createButtonAlignControl as c, createButtonBorderControl as _, createButtonBorderRadiusControl as T, createButtonColorControl as i, createButtonFitToContainerControl as B, createButtonFontFamilyControl as s, createButtonMarginsControl as S, createButtonPaddingsControl as E, createButtonTextControl as P, createButtonTextSizeControl as U, createButtonTextStyleAndFontColorControl as R, createImageMarginsControl as a, createImageSizeControl as M, createTextAlignControl as C, createTextBackgroundColorControl as r, createTextColorControl as O, createTextFontFamilyControl as I, createPaddingsControl as e, createTextSizeControl as N, createTextStyleControl as l } from "../../controlFactories.js";
2
- import { RecommendationBlockId as o, RecommendationControlId as t } from "../constants.js";
3
- const n = ".ins-recommendation-product-container", u = C(
4
- t.NAME_ALIGN,
5
- o.NAME,
6
- n
7
- ), d = O(
8
- t.NAME_COLOR,
9
- o.NAME,
10
- n
11
- ), m = N(
12
- t.NAME_SIZE,
13
- o.NAME,
14
- n
15
- ), L = l(
16
- t.NAME_STYLE,
17
- o.NAME,
18
- n
19
- ), F = I(
20
- t.NAME_FONT_FAMILY,
21
- o.NAME,
22
- n
23
- ), g = r(
24
- t.NAME_BACKGROUND,
25
- o.NAME,
26
- n
27
- ), G = e(
28
- t.NAME_PADDINGS,
29
- o.NAME,
30
- n
31
- ), y = C(
32
- t.PRICE_ALIGN,
33
- o.PRICE,
34
- n
35
- ), b = O(
36
- t.PRICE_COLOR,
37
- o.PRICE,
38
- n
39
- ), x = N(
40
- t.PRICE_SIZE,
41
- o.PRICE,
42
- n
43
- ), Y = l(
44
- t.PRICE_STYLE,
45
- o.PRICE,
46
- n
47
- ), z = I(
48
- t.PRICE_FONT_FAMILY,
49
- o.PRICE,
50
- n
51
- ), k = r(
52
- t.PRICE_BACKGROUND,
53
- o.PRICE,
54
- n
55
- ), Z = e(
56
- t.PRICE_PADDINGS,
57
- o.PRICE,
58
- n
59
- ), K = C(
60
- t.OLD_PRICE_ALIGN,
61
- o.OLD_PRICE,
62
- n
63
- ), p = O(
64
- t.OLD_PRICE_COLOR,
65
- o.OLD_PRICE,
66
- n
67
- ), X = N(
68
- t.OLD_PRICE_SIZE,
69
- o.OLD_PRICE,
70
- n
71
- ), f = l(
72
- t.OLD_PRICE_STYLE,
73
- o.OLD_PRICE,
74
- n
75
- ), h = I(
76
- t.OLD_PRICE_FONT_FAMILY,
77
- o.OLD_PRICE,
78
- n
79
- ), j = r(
80
- t.OLD_PRICE_BACKGROUND,
81
- o.OLD_PRICE,
82
- n
83
- ), q = e(
84
- t.OLD_PRICE_PADDINGS,
85
- o.OLD_PRICE,
86
- n
87
- ), v = C(
88
- t.OMNIBUS_PRICE_ALIGN,
89
- o.OMNIBUS_PRICE,
90
- n
91
- ), w = O(
92
- t.OMNIBUS_PRICE_COLOR,
93
- o.OMNIBUS_PRICE,
94
- n
95
- ), H = N(
96
- t.OMNIBUS_PRICE_SIZE,
97
- o.OMNIBUS_PRICE,
98
- n
99
- ), J = l(
100
- t.OMNIBUS_PRICE_STYLE,
101
- o.OMNIBUS_PRICE,
102
- n
103
- ), Q = I(
104
- t.OMNIBUS_PRICE_FONT_FAMILY,
105
- o.OMNIBUS_PRICE,
106
- n
107
- ), V = r(
108
- t.OMNIBUS_PRICE_BACKGROUND,
109
- o.OMNIBUS_PRICE,
110
- n
111
- ), W = e(
112
- t.OMNIBUS_PRICE_PADDINGS,
113
- o.OMNIBUS_PRICE,
114
- n
115
- ), $ = C(
116
- t.OMNIBUS_DISCOUNT_ALIGN,
117
- o.OMNIBUS_DISCOUNT,
118
- n
119
- ), oo = O(
120
- t.OMNIBUS_DISCOUNT_COLOR,
121
- o.OMNIBUS_DISCOUNT,
122
- n
123
- ), to = N(
124
- t.OMNIBUS_DISCOUNT_SIZE,
125
- o.OMNIBUS_DISCOUNT,
126
- n
127
- ), no = l(
128
- t.OMNIBUS_DISCOUNT_STYLE,
129
- o.OMNIBUS_DISCOUNT,
130
- n
131
- ), Co = I(
132
- t.OMNIBUS_DISCOUNT_FONT_FAMILY,
133
- o.OMNIBUS_DISCOUNT,
134
- n
135
- ), ro = r(
136
- t.OMNIBUS_DISCOUNT_BACKGROUND,
137
- o.OMNIBUS_DISCOUNT,
138
- n
139
- ), Oo = e(
140
- t.OMNIBUS_DISCOUNT_PADDINGS,
141
- o.OMNIBUS_DISCOUNT,
142
- n
143
- ), Io = c(
144
- t.BUTTON_ALIGN,
145
- o.BUTTON,
146
- n
147
- ), eo = _(
148
- t.BUTTON_BORDER,
149
- o.BUTTON,
150
- n
151
- ), No = T(
152
- t.BUTTON_BORDER_RADIUS,
153
- o.BUTTON,
154
- n
155
- ), lo = i(
156
- t.BUTTON_COLOR,
157
- o.BUTTON,
158
- n
159
- ), co = s(
160
- t.BUTTON_FONT_FAMILY,
161
- o.BUTTON,
162
- n
163
- ), _o = S(
164
- t.BUTTON_MARGINS,
165
- o.BUTTON,
166
- n
167
- ), To = E(
168
- t.BUTTON_PADDINGS,
169
- o.BUTTON,
170
- n
171
- ), io = P(
172
- t.BUTTON_TEXT,
173
- o.BUTTON,
174
- n
175
- ), Bo = U(
176
- t.BUTTON_TEXT_SIZE,
177
- o.BUTTON,
178
- n
179
- ), so = R(
180
- t.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
181
- o.BUTTON,
182
- n
183
- ), So = B(
184
- t.BUTTON_FIT_TO_CONTENT,
185
- o.BUTTON,
186
- n
187
- ), Eo = M(
188
- t.IMAGE_SIZE,
189
- o.IMAGE,
190
- n
191
- ), Po = a(
192
- t.IMAGE_MARGINS,
193
- o.IMAGE,
194
- n
195
- );
196
- export {
197
- Io as ButtonAlignControl,
198
- eo as ButtonBorderControl,
199
- No as ButtonBorderRadiusControl,
200
- lo as ButtonColorControl,
201
- So as ButtonFitToContentControl,
202
- co as ButtonFontFamilyControl,
203
- _o as ButtonMarginsControl,
204
- To as ButtonPaddingsControl,
205
- io as ButtonTextControl,
206
- Bo as ButtonTextSizeControl,
207
- so as ButtonTextStyleAndFontColorControl,
208
- Po as ImageMarginsControl,
209
- Eo as ImageSizeControl,
210
- u as NameAlignControl,
211
- g as NameBackgroundControl,
212
- d as NameColorControl,
213
- F as NameFontFamilyControl,
214
- G as NamePaddingsControl,
215
- m as NameSizeControl,
216
- L as NameStyleControl,
217
- K as OldPriceAlignControl,
218
- j as OldPriceBackgroundControl,
219
- p as OldPriceColorControl,
220
- h as OldPriceFontFamilyControl,
221
- q as OldPricePaddingsControl,
222
- X as OldPriceSizeControl,
223
- f as OldPriceStyleControl,
224
- $ as OmnibusDiscountAlignControl,
225
- ro as OmnibusDiscountBackgroundControl,
226
- oo as OmnibusDiscountColorControl,
227
- Co as OmnibusDiscountFontFamilyControl,
228
- Oo as OmnibusDiscountPaddingsControl,
229
- to as OmnibusDiscountSizeControl,
230
- no as OmnibusDiscountStyleControl,
231
- v as OmnibusPriceAlignControl,
232
- V as OmnibusPriceBackgroundControl,
233
- w as OmnibusPriceColorControl,
234
- Q as OmnibusPriceFontFamilyControl,
235
- W as OmnibusPricePaddingsControl,
236
- H as OmnibusPriceSizeControl,
237
- J as OmnibusPriceStyleControl,
238
- y as PriceAlignControl,
239
- k as PriceBackgroundControl,
240
- b as PriceColorControl,
241
- z as PriceFontFamilyControl,
242
- Z as PricePaddingsControl,
243
- x as PriceSizeControl,
244
- Y as PriceStyleControl
245
- };
@@ -1,74 +0,0 @@
1
- import { ModificationDescription as m } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as c } from "../../common-control.js";
3
- import { RecommendationControlId as d, RecommendationBlockId as a } from "../constants.js";
4
- const n = {
5
- TEXT_TRIM_ENABLED: "textTrimEnabled"
6
- }, r = "text-trim-enabled", l = ".ins-recommendation-product-container";
7
- class E extends c {
8
- getId() {
9
- return d.NAME_TEXT_TRIM;
10
- }
11
- getTemplate() {
12
- return `
13
- <div class="name-text-trim-control-container">
14
- ${this._GuTwoColumns([
15
- this._GuLabel({ text: "Trim Long Text" }),
16
- this._GuToggle(n.TEXT_TRIM_ENABLED)
17
- ])}
18
- </div>
19
- `;
20
- }
21
- onRender() {
22
- this._setFormValues(), this._listenToFormUpdates();
23
- }
24
- onTemplateNodeUpdated(e) {
25
- super.onTemplateNodeUpdated(e), this._setFormValues();
26
- }
27
- _setFormValues() {
28
- const e = this._getCurrentTrimState();
29
- this.api.updateValues({
30
- [n.TEXT_TRIM_ENABLED]: e
31
- });
32
- }
33
- _getCurrentTrimState() {
34
- if (!this.currentNode || !("hasClass" in this.currentNode))
35
- return !1;
36
- if (this.currentNode.hasClass(r))
37
- return !0;
38
- const e = this.currentNode.closest(l);
39
- if (!e)
40
- return !1;
41
- const t = e.querySelector(
42
- `[esd-extension-block-id="${a.NAME}"]`
43
- );
44
- return t && "hasClass" in t ? t.hasClass(r) : !1;
45
- }
46
- _onTextTrimChange(e) {
47
- if (!this.currentNode || !("closest" in this.currentNode))
48
- return;
49
- const t = this.currentNode.closest(l);
50
- if (!t || !("querySelectorAll" in t))
51
- return;
52
- const s = Array.from(
53
- t.querySelectorAll(`[esd-extension-block-id="${a.NAME}"]`)
54
- );
55
- if (!s.length)
56
- return;
57
- const o = this.api.getDocumentModifier();
58
- s.forEach((i) => {
59
- e ? o.modifyHtml(i).setClass(r) : o.modifyHtml(i).removeClass(r);
60
- }), o.apply(
61
- new m(
62
- e ? "Enable product name text trimming" : "Disable product name text trimming"
63
- )
64
- );
65
- }
66
- _listenToFormUpdates() {
67
- this.api.onValueChanged(n.TEXT_TRIM_ENABLED, (e) => {
68
- this._onTextTrimChange(e);
69
- });
70
- }
71
- }
72
- export {
73
- E as NameTextTrimControl
74
- };
@@ -1,188 +0,0 @@
1
- var C = Object.defineProperty;
2
- var g = (i, r, e) => r in i ? C(i, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[r] = e;
3
- var S = (i, r, e) => g(i, typeof r != "symbol" ? r + "" : r, e);
4
- import { ModificationDescription as l } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as m } from "../../common-control.js";
6
- import { useDebounceFn as d } from "../../../../node_modules/@vueuse/shared/index.js";
7
- const _ = "recommendation-spacing-control", c = {
8
- COLUMN_SPACING: "columnSpacing",
9
- ROW_SPACING: "rowSpacing"
10
- }, N = {
11
- COLUMN_SPACING: "data-column-spacing",
12
- ROW_SPACING: "data-row-spacing"
13
- }, n = {
14
- COLUMN_SPACING: 10,
15
- // 5px on each side = 10px total
16
- ROW_SPACING: 20
17
- }, p = {
18
- MIN_SPACING: 0,
19
- MAX_SPACING: 50,
20
- STEP: 5
21
- };
22
- class G extends m {
23
- constructor() {
24
- super(...arguments);
25
- /**
26
- * Debounced version of _onColumnSpacingChange
27
- * Prevents excessive DOM updates when user rapidly adjusts the counter
28
- */
29
- S(this, "_debouncedOnColumnSpacingChange", d((e) => {
30
- this._onColumnSpacingChange(e);
31
- }, 300));
32
- /**
33
- * Debounced version of _onRowSpacingChange
34
- * Prevents excessive DOM updates when user rapidly adjusts the counter
35
- */
36
- S(this, "_debouncedOnRowSpacingChange", d((e) => {
37
- this._onRowSpacingChange(e);
38
- }, 300));
39
- }
40
- getId() {
41
- return _;
42
- }
43
- getTemplate() {
44
- return `
45
- <div class="spacing-control-container">
46
- ${this._GuTwoColumns([
47
- this._GuLabel({ text: "Column Spacing (px)" }),
48
- this._GuCounter({
49
- name: c.COLUMN_SPACING,
50
- minValue: p.MIN_SPACING,
51
- maxValue: p.MAX_SPACING,
52
- step: p.STEP
53
- }),
54
- this._GuLabel({ text: "Row Spacing (px)" }),
55
- this._GuCounter({
56
- name: c.ROW_SPACING,
57
- minValue: p.MIN_SPACING,
58
- maxValue: p.MAX_SPACING,
59
- step: p.STEP
60
- })
61
- ])}
62
- </div>
63
- `;
64
- }
65
- onRender() {
66
- this._setFormValues(), this._listenToFormUpdates();
67
- }
68
- onTemplateNodeUpdated(e) {
69
- super.onTemplateNodeUpdated(e), this._setFormValues();
70
- }
71
- /**
72
- * Reads spacing values from data attributes or returns defaults
73
- */
74
- _setFormValues() {
75
- const e = this._getStoredColumnSpacing(), t = this._getStoredRowSpacing();
76
- this.api.updateValues({
77
- [c.COLUMN_SPACING]: e,
78
- [c.ROW_SPACING]: t
79
- });
80
- }
81
- /**
82
- * Gets stored column spacing from the first product card wrapper's parent element's padding
83
- * Reads the actual padding value instead of relying on data attributes
84
- *
85
- * The padding is applied as "0 {halfSpacing}px" on the parent TD element,
86
- * so we need to extract the horizontal padding value and multiply by 2 to get total spacing.
87
- */
88
- _getStoredColumnSpacing() {
89
- if (!this.currentNode)
90
- return n.COLUMN_SPACING;
91
- const e = this.currentNode.querySelector(".product-card-wrapper");
92
- if (!e || !("parent" in e) || typeof e.parent != "function")
93
- return n.COLUMN_SPACING;
94
- const t = e.parent();
95
- if (!t || !("getStyle" in t))
96
- return n.COLUMN_SPACING;
97
- const o = t.getStyle("padding");
98
- if (!o)
99
- return n.COLUMN_SPACING;
100
- const u = o.trim().split(/\s+/);
101
- if (u.length < 2)
102
- return n.COLUMN_SPACING;
103
- const [, a] = u, s = parseFloat(a);
104
- return Number.isNaN(s) ? n.COLUMN_SPACING : s * 2;
105
- }
106
- /**
107
- * Gets stored row spacing from the first spacer element's height style
108
- * Reads the actual height value instead of relying on data attributes
109
- */
110
- _getStoredRowSpacing() {
111
- if (!this.currentNode)
112
- return n.ROW_SPACING;
113
- const e = this.currentNode.querySelector(".spacer");
114
- if (!e || !("getStyle" in e))
115
- return n.ROW_SPACING;
116
- const t = e.getStyle("height");
117
- if (!t)
118
- return n.ROW_SPACING;
119
- const o = parseFloat(t);
120
- return Number.isNaN(o) ? n.ROW_SPACING : o;
121
- }
122
- /**
123
- * Handles column spacing changes
124
- * Applies horizontal padding to all product card wrappers
125
- */
126
- _onColumnSpacingChange(e) {
127
- if (!this.currentNode)
128
- return;
129
- const t = Array.from(
130
- this.currentNode.querySelectorAll(".product-card-wrapper")
131
- );
132
- if (!t)
133
- return;
134
- const o = this.api.getDocumentModifier(), a = `0 ${e / 2}px`;
135
- console.debug("padding", a), t.forEach((s) => {
136
- "parent" in s && s.parent() && o.modifyHtml(s.parent()).setStyle("padding", a);
137
- }), o.apply(new l(`Update column spacing to ${e}px`));
138
- }
139
- /**
140
- * Handles row spacing changes
141
- * Applies height to all spacer elements between product rows
142
- */
143
- _onRowSpacingChange(e) {
144
- if (!this.currentNode)
145
- return;
146
- this._storeRowSpacing(e);
147
- const t = Array.from(
148
- this.currentNode.querySelectorAll(".spacer")
149
- );
150
- if (console.debug("spacerCells", t), console.debug("spacing", e), !t.length)
151
- return;
152
- const o = this.api.getDocumentModifier(), u = `${e}px`;
153
- t.forEach((a) => {
154
- o.modifyHtml(a).setStyle("height", u);
155
- }), o.apply(new l(`Update row spacing to ${e}px`));
156
- }
157
- /**
158
- * Stores column spacing value in block data attribute
159
- */
160
- _storeColumnSpacing(e) {
161
- if (!this.currentNode)
162
- return;
163
- const t = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
164
- t && this.api.getDocumentModifier().modifyHtml(t).setAttribute(N.COLUMN_SPACING, e.toString()).apply(new l("Store column spacing"));
165
- }
166
- /**
167
- * Stores row spacing value in block data attribute
168
- */
169
- _storeRowSpacing(e) {
170
- if (!this.currentNode)
171
- return;
172
- const t = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
173
- t && this.api.getDocumentModifier().modifyHtml(t).setAttribute(N.ROW_SPACING, e.toString()).apply(new l("Store row spacing"));
174
- }
175
- _listenToFormUpdates() {
176
- this.api.onValueChanged(c.COLUMN_SPACING, (e) => {
177
- const t = parseInt(e);
178
- Number.isNaN(t) || this._debouncedOnColumnSpacingChange(t);
179
- }), this.api.onValueChanged(c.ROW_SPACING, (e) => {
180
- const t = parseInt(e);
181
- Number.isNaN(t) || this._debouncedOnRowSpacingChange(t);
182
- });
183
- }
184
- }
185
- export {
186
- _ as SPACING_CONTROL_ID,
187
- G as SpacingControl
188
- };
@@ -1,181 +0,0 @@
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
- };