@useinsider/guido 3.2.0-beta.570fb6d → 3.2.0-beta.5cea610

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 (265) hide show
  1. package/dist/@types/config/schemas.js +1 -1
  2. package/dist/@types/config/validator.js +34 -27
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +81 -76
  5. package/dist/components/organisms/base/Toaster.vue2.js +11 -10
  6. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +12 -12
  7. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue2.js +6 -6
  8. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +15 -9
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +40 -31
  10. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +20 -19
  11. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +14 -11
  12. package/dist/components/organisms/header/EditorActions.vue.js +12 -11
  13. package/dist/components/organisms/header/EditorActions.vue2.js +22 -18
  14. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -12
  15. package/dist/components/organisms/header/LeftSlot.vue2.js +19 -16
  16. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -14
  17. package/dist/components/organisms/header/RightSlot.vue2.js +17 -14
  18. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +12 -11
  19. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +51 -29
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +13 -12
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +44 -40
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +13 -12
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +50 -47
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +21 -18
  25. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +31 -27
  26. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +13 -12
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +35 -44
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +12 -11
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +23 -20
  30. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +9 -8
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -9
  32. package/dist/composables/useActionsApi.js +38 -37
  33. package/dist/composables/useBlocksConfig.js +26 -26
  34. package/dist/composables/useFullStoryBridge.js +9 -8
  35. package/dist/composables/useHtmlCompiler.js +26 -34
  36. package/dist/composables/useHtmlValidator.js +109 -101
  37. package/dist/composables/useHttp.js +30 -30
  38. package/dist/composables/usePartner.js +1 -1
  39. package/dist/composables/useRecommendation.js +15 -14
  40. package/dist/composables/useRibbonOffset.js +21 -0
  41. package/dist/composables/useSave.js +22 -21
  42. package/dist/composables/useStripo.js +50 -53
  43. package/dist/composables/useSyncModuleExtractor.js +29 -31
  44. package/dist/composables/useTimerClone.js +25 -24
  45. package/dist/composables/useTranslations.js +16 -23
  46. package/dist/composables/useValidation.js +8 -7
  47. package/dist/composables/validators/useLiquidValidator.js +13 -13
  48. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -17
  49. package/dist/config/compiler/utils/recommendationCompilerUtils.js +11 -10
  50. package/dist/config/migrator/checkboxMigrator.js +21 -20
  51. package/dist/config/migrator/couponBlockMigrator.js +19 -18
  52. package/dist/config/migrator/itemsBlockMigrator.js +105 -93
  53. package/dist/config/migrator/radioButtonMigrator.js +13 -12
  54. package/dist/config/migrator/recommendationMigrator.js +109 -106
  55. package/dist/config/migrator/unsubscribeMigrator.js +11 -10
  56. package/dist/enums/onboarding.js +7 -2
  57. package/dist/enums/unsubscribe.js +19 -18
  58. package/dist/extensions/Blocks/Items/block.js +9 -9
  59. package/dist/extensions/Blocks/Items/controls/button/link.js +14 -14
  60. package/dist/extensions/Blocks/Items/controls/cardComposition.js +97 -89
  61. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  62. package/dist/extensions/Blocks/Items/controls/name/trimming.js +24 -23
  63. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +14 -13
  64. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +47 -44
  65. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -38
  66. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +11 -11
  67. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +40 -38
  68. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  69. package/dist/extensions/Blocks/Items/controls/settingsControl.js +162 -155
  70. package/dist/extensions/Blocks/Items/enums/productEnums.js +14 -9
  71. package/dist/extensions/Blocks/Items/template.js +210 -210
  72. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  73. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +133 -128
  74. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +9 -9
  75. package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +10 -10
  76. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +9 -9
  77. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +18 -17
  78. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +6 -4
  79. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +90 -82
  80. package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +18 -18
  81. package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +4 -4
  82. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +36 -35
  83. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +135 -134
  84. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +24 -24
  85. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +10 -10
  86. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +24 -24
  87. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +24 -24
  88. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +4 -4
  89. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +4 -4
  90. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +24 -24
  91. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +4 -4
  92. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +4 -4
  93. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +24 -24
  94. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +32 -32
  95. package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +20 -18
  96. package/dist/extensions/Blocks/Recommendation/extension.js +32 -31
  97. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +16 -8
  98. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +56 -55
  99. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +23 -22
  100. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +10 -10
  101. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +10 -10
  102. package/dist/extensions/Blocks/Recommendation/templates/index.js +6 -6
  103. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +25 -24
  104. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
  105. package/dist/extensions/Blocks/Recommendation/templates/utils.js +47 -45
  106. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +16 -13
  107. package/dist/extensions/Blocks/Unsubscribe/control.js +13 -11
  108. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +18 -16
  109. package/dist/extensions/Blocks/common-control.js +26 -25
  110. package/dist/extensions/DynamicContent/dynamic-content.js +58 -53
  111. package/dist/guido.css +1 -1
  112. package/dist/library.js +12 -11
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +286 -262
  114. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  115. package/dist/node_modules/lodash-es/_Hash.js +20 -0
  116. package/dist/node_modules/lodash-es/_ListCache.js +20 -0
  117. package/dist/node_modules/lodash-es/_Map.js +6 -0
  118. package/dist/node_modules/lodash-es/_MapCache.js +20 -0
  119. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  120. package/dist/node_modules/lodash-es/_Set.js +6 -0
  121. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  122. package/dist/node_modules/lodash-es/_Stack.js +18 -0
  123. package/dist/node_modules/lodash-es/_Symbol.js +5 -0
  124. package/dist/node_modules/lodash-es/_Uint8Array.js +5 -0
  125. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  126. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  127. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +20 -0
  128. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  129. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  130. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  131. package/dist/node_modules/lodash-es/_assocIndexOf.js +10 -0
  132. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  133. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  134. package/dist/node_modules/lodash-es/_baseFor.js +5 -0
  135. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  136. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  137. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  138. package/dist/node_modules/lodash-es/_baseGetTag.js +10 -0
  139. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  140. package/dist/node_modules/lodash-es/_baseIsArguments.js +9 -0
  141. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  142. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  143. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  144. package/dist/node_modules/lodash-es/_baseIsNative.js +16 -0
  145. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +12 -0
  146. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  147. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  148. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  149. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  150. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  151. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  152. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  153. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  154. package/dist/node_modules/lodash-es/_baseTimes.js +8 -0
  155. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  156. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  157. package/dist/node_modules/lodash-es/_baseUnary.js +8 -0
  158. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  159. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  160. package/dist/node_modules/lodash-es/_coreJsData.js +5 -0
  161. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  162. package/dist/node_modules/lodash-es/_createBaseFor.js +13 -0
  163. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  164. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  165. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  166. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  167. package/dist/node_modules/lodash-es/_freeGlobal.js +4 -0
  168. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  169. package/dist/node_modules/lodash-es/_getMapData.js +8 -0
  170. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  171. package/dist/node_modules/lodash-es/_getNative.js +9 -0
  172. package/dist/node_modules/lodash-es/_getRawTag.js +15 -0
  173. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  174. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  175. package/dist/node_modules/lodash-es/_getValue.js +6 -0
  176. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  177. package/dist/node_modules/lodash-es/_hashClear.js +7 -0
  178. package/dist/node_modules/lodash-es/_hashDelete.js +7 -0
  179. package/dist/node_modules/lodash-es/_hashGet.js +13 -0
  180. package/dist/node_modules/lodash-es/_hashHas.js +9 -0
  181. package/dist/node_modules/lodash-es/_hashSet.js +9 -0
  182. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  183. package/dist/node_modules/lodash-es/_isIndex.js +8 -0
  184. package/dist/node_modules/lodash-es/_isIterateeCall.js +13 -0
  185. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  186. package/dist/node_modules/lodash-es/_isKeyable.js +7 -0
  187. package/dist/node_modules/lodash-es/_isMasked.js +11 -0
  188. package/dist/node_modules/lodash-es/_isPrototype.js +8 -0
  189. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  190. package/dist/node_modules/lodash-es/_listCacheClear.js +6 -0
  191. package/dist/node_modules/lodash-es/_listCacheDelete.js +12 -0
  192. package/dist/node_modules/lodash-es/_listCacheGet.js +8 -0
  193. package/dist/node_modules/lodash-es/_listCacheHas.js +7 -0
  194. package/dist/node_modules/lodash-es/_listCacheSet.js +8 -0
  195. package/dist/node_modules/lodash-es/_mapCacheClear.js +13 -0
  196. package/dist/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  197. package/dist/node_modules/lodash-es/_mapCacheGet.js +7 -0
  198. package/dist/node_modules/lodash-es/_mapCacheHas.js +7 -0
  199. package/dist/node_modules/lodash-es/_mapCacheSet.js +8 -0
  200. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  201. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  202. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  203. package/dist/node_modules/lodash-es/_nativeCreate.js +5 -0
  204. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  205. package/dist/node_modules/lodash-es/_nodeUtil.js +11 -0
  206. package/dist/node_modules/lodash-es/_objectToString.js +7 -0
  207. package/dist/node_modules/lodash-es/_overArg.js +8 -0
  208. package/dist/node_modules/lodash-es/_root.js +5 -0
  209. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  210. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  211. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  212. package/dist/node_modules/lodash-es/_stackClear.js +7 -0
  213. package/dist/node_modules/lodash-es/_stackDelete.js +7 -0
  214. package/dist/node_modules/lodash-es/_stackGet.js +6 -0
  215. package/dist/node_modules/lodash-es/_stackHas.js +6 -0
  216. package/dist/node_modules/lodash-es/_stackSet.js +17 -0
  217. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  218. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  219. package/dist/node_modules/lodash-es/_toSource.js +17 -0
  220. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  221. package/dist/node_modules/lodash-es/eq.js +6 -0
  222. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  223. package/dist/node_modules/lodash-es/get.js +8 -0
  224. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  225. package/dist/node_modules/lodash-es/identity.js +6 -0
  226. package/dist/node_modules/lodash-es/isArguments.js +10 -0
  227. package/dist/node_modules/lodash-es/isArray.js +4 -0
  228. package/dist/node_modules/lodash-es/isArrayLike.js +8 -0
  229. package/dist/node_modules/lodash-es/isBuffer.js +6 -0
  230. package/dist/node_modules/lodash-es/isFunction.js +12 -0
  231. package/dist/node_modules/lodash-es/isLength.js +7 -0
  232. package/dist/node_modules/lodash-es/isObject.js +7 -0
  233. package/dist/node_modules/lodash-es/isObjectLike.js +6 -0
  234. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  235. package/dist/node_modules/lodash-es/isTypedArray.js +7 -0
  236. package/dist/node_modules/lodash-es/keys.js +9 -0
  237. package/dist/node_modules/lodash-es/map.js +11 -0
  238. package/dist/node_modules/lodash-es/memoize.js +18 -0
  239. package/dist/node_modules/lodash-es/property.js +10 -0
  240. package/dist/node_modules/lodash-es/range.js +5 -0
  241. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  242. package/dist/node_modules/lodash-es/stubFalse.js +6 -0
  243. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  244. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  245. package/dist/node_modules/lodash-es/toString.js +7 -0
  246. package/dist/node_modules/valibot/dist/index.js +126 -122
  247. package/dist/package.json.js +1 -1
  248. package/dist/services/recommendationApi.js +17 -14
  249. package/dist/services/templateLibraryApi.js +40 -38
  250. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  251. package/dist/src/composables/useHtmlCompiler.d.ts +2 -1
  252. package/dist/src/composables/useRibbonOffset.d.ts +4 -0
  253. package/dist/src/composables/useTranslations.d.ts +1 -1
  254. package/dist/src/enums/onboarding.d.ts +6 -0
  255. package/dist/src/stores/dynamic-content.d.ts +3 -3
  256. package/dist/src/stores/onboarding.d.ts +4 -0
  257. package/dist/stores/config.js +81 -25
  258. package/dist/stores/dynamic-content.js +11 -6
  259. package/dist/stores/onboarding.js +9 -5
  260. package/dist/stores/preview.js +9 -6
  261. package/dist/stores/unsubscribe.js +4 -1
  262. package/dist/utils/dateUtil.js +10 -7
  263. package/dist/utils/genericUtil.js +13 -10
  264. package/dist/utils/pairProductVariables.js +89 -87
  265. package/package.json +5 -8
@@ -1,13 +1,21 @@
1
1
  import { SettingsPanelRegistry as E, SettingsPanelTab as _, SettingsTab as O, ContainerControls as C, TextControls as R } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { BLOCK_ID as U } from "./block.js";
3
+ import { RecommendationBlockId as S } from "./constants/blockIds.js";
4
+ import { RecommendationControlId as T } from "./constants/controlIds.js";
3
5
  import { CONTROL_BLOCK_ID as A } from "./controls/main/index.js";
4
- import { CARD_BACKGROUND_COLOR_CONTROL_ID as L } from "./controls/cardBackground/index.js";
5
- import { SPACING_CONTROL_ID as D } from "./controls/spacing/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 L } from "./controls/spacing/index.js";
15
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as D } from "./controls/cardBackground/index.js";
6
16
  import { COMPOSITION_CONTROL_BLOCK_ID as B } from "./controls/cardComposition/index.js";
7
- import { RecommendationBlockId as S } from "./constants/blockIds.js";
8
17
  import { SYNC_INFO_MESSAGE_CONTROL_ID as N } from "./controls/syncInfoMessage.js";
9
- import { RecommendationControlId as T } from "./constants/controlIds.js";
10
- class F extends E {
18
+ class Z extends E {
11
19
  registerBlockControls(I) {
12
20
  I[U] = [
13
21
  new _(
@@ -21,8 +29,8 @@ class F extends E {
21
29
  O.STYLES,
22
30
  [
23
31
  R.TEXT_BLOCK_BACKGROUND_COLOR,
24
- L,
25
- D
32
+ D,
33
+ L
26
34
  ]
27
35
  ),
28
36
  new _(
@@ -186,5 +194,5 @@ class F extends E {
186
194
  }
187
195
  }
188
196
  export {
189
- F as SettingsPanel
197
+ Z as SettingsPanel
190
198
  };
@@ -1,17 +1,17 @@
1
- import { RecommendationFeedSourceMaps as p, getOperatorOptions as I, PriceAttributes as R } from "../../../../enums/extensions/recommendationBlock.js";
2
- import { useRecommendationApi as k } from "../../../../services/recommendationApi.js";
3
- import { useConfigStore as C } from "../../../../stores/config.js";
4
- import { defineStore as y } from "pinia";
5
- import { generateCompleteFilterQuery as g } from "../utils/filterUtil.js";
6
- import { isFilterValid as G } from "../validation/filterSchema.js";
1
+ import { RecommendationFeedSourceMaps as g, getOperatorOptions as R, PriceAttributes as k } from "../../../../enums/extensions/recommendationBlock.js";
2
+ import { useRecommendationApi as C } from "../../../../services/recommendationApi.js";
3
+ import { useConfigStore as y } from "../../../../stores/config.js";
4
+ import { defineStore as G } from "pinia";
5
+ import { DEFAULT_CARDS_IN_ROW as F } from "../constants/layout.js";
6
+ import { EXCLUDED_ALGORITHM_IDS as w } from "../constants/defaultConfig.js";
7
7
  import { getDefaultProducts as S } from "../templates/utils.js";
8
- import { EXCLUDED_ALGORITHM_IDS as F } from "../constants/defaultConfig.js";
9
- import { DEFAULT_CARDS_IN_ROW as w } from "../constants/layout.js";
10
- const h = k();
8
+ import { generateCompleteFilterQuery as b } from "../utils/filterUtil.js";
9
+ import { isFilterValid as D } from "../validation/filterSchema.js";
10
+ const h = C();
11
11
  let m = null, u = null, d = null;
12
- function b() {
12
+ function I() {
13
13
  return {
14
- cardsInRow: w,
14
+ cardsInRow: F,
15
15
  currencySettings: {
16
16
  name: "USD",
17
17
  value: "USD",
@@ -37,9 +37,9 @@ function b() {
37
37
  customAttributes: []
38
38
  };
39
39
  }
40
- function D() {
40
+ function P() {
41
41
  return {
42
- recommendationConfigs: b(),
42
+ recommendationConfigs: I(),
43
43
  recommendationProducts: [],
44
44
  filterStatus: !1,
45
45
  filterSelectionDrawerStatus: !1,
@@ -48,7 +48,7 @@ function D() {
48
48
  filterSnapshot: null
49
49
  };
50
50
  }
51
- const P = () => ({
51
+ const v = () => ({
52
52
  recommendationCampaignUrls: {},
53
53
  activePredictiveAlgorithms: [],
54
54
  languages: {},
@@ -57,8 +57,8 @@ const P = () => ({
57
57
  blockStates: {},
58
58
  currentRecommendationId: null,
59
59
  configVersion: 0
60
- }), _ = y("guidoRecommendationExtension", {
61
- state: () => P(),
60
+ }), z = G("guidoRecommendationExtension", {
61
+ state: () => v(),
62
62
  getters: {
63
63
  // ====================================================================
64
64
  // Proxy Getters — Backward Compatible Access to Current Block State
@@ -68,7 +68,7 @@ const P = () => ({
68
68
  * This allows all existing code that reads `store.recommendationConfigs` to work unchanged.
69
69
  */
70
70
  recommendationConfigs(t) {
71
- return t.currentRecommendationId !== null && t.blockStates[t.currentRecommendationId] ? t.blockStates[t.currentRecommendationId].recommendationConfigs : b();
71
+ return t.currentRecommendationId !== null && t.blockStates[t.currentRecommendationId] ? t.blockStates[t.currentRecommendationId].recommendationConfigs : I();
72
72
  },
73
73
  /**
74
74
  * Proxy getter: delegates to blockStates[currentRecommendationId].recommendationProducts
@@ -114,8 +114,8 @@ const P = () => ({
114
114
  },
115
115
  getActivePredictiveAlgorithms: (t) => {
116
116
  const r = [];
117
- return t.activePredictiveAlgorithms.filter((e) => !F.includes(e)).forEach((e) => {
118
- r.push(...p.filter((i) => i.id === e));
117
+ return t.activePredictiveAlgorithms.filter((e) => !w.includes(e)).forEach((e) => {
118
+ r.push(...g.filter((n) => n.id === e));
119
119
  }), r.map((e) => ({
120
120
  text: e.name,
121
121
  value: e.key
@@ -132,7 +132,7 @@ const P = () => ({
132
132
  getFilterList() {
133
133
  return Object.values(this.filterList).map((t) => {
134
134
  let r;
135
- return t.type === "productAttribute" ? r = `product_attributes.${t.attributeName}` : R.includes(t.attributeName) ? r = `${t.attributeName}.${this.recommendationConfigs.currencySettings.value}` : r = t.attributeName, {
135
+ return t.type === "productAttribute" ? r = `product_attributes.${t.attributeName}` : k.includes(t.attributeName) ? r = `${t.attributeName}.${this.recommendationConfigs.currencySettings.value}` : r = t.attributeName, {
136
136
  text: t.displayName,
137
137
  value: r,
138
138
  type: t.attributeType
@@ -154,7 +154,7 @@ const P = () => ({
154
154
  setCurrentBlock(t) {
155
155
  this.blockStates[t] || (this.blockStates = {
156
156
  ...this.blockStates,
157
- [t]: D()
157
+ [t]: P()
158
158
  }), this.currentRecommendationId = t;
159
159
  },
160
160
  /**
@@ -164,13 +164,13 @@ const P = () => ({
164
164
  removeBlockState(t) {
165
165
  const r = t.toString();
166
166
  if (this.recommendationCampaignUrls[r]) {
167
- const i = { ...this.recommendationCampaignUrls };
168
- delete i[r], this.recommendationCampaignUrls = i;
167
+ const n = { ...this.recommendationCampaignUrls };
168
+ delete n[r], this.recommendationCampaignUrls = n;
169
169
  }
170
170
  const e = { ...this.blockStates };
171
171
  if (delete e[t], this.blockStates = e, this.currentRecommendationId === t) {
172
- const i = Object.keys(this.blockStates).map(Number);
173
- this.currentRecommendationId = i.length > 0 ? i[0] : null;
172
+ const n = Object.keys(this.blockStates).map(Number);
173
+ this.currentRecommendationId = n.length > 0 ? n[0] : null;
174
174
  }
175
175
  },
176
176
  /**
@@ -196,18 +196,18 @@ const P = () => ({
196
196
  ...t.currencySettings || {}
197
197
  }
198
198
  };
199
- const { triggerRefetch: i = !0 } = r;
200
- i && this.configVersion++;
199
+ const { triggerRefetch: n = !0 } = r;
200
+ n && this.configVersion++;
201
201
  },
202
202
  /**
203
203
  * Creates a filter with the first available attribute and operator pre-selected.
204
204
  */
205
205
  createDefaultFilter(t, r) {
206
- const [e] = this.getFilterList, [i] = I(e?.type);
206
+ const [e] = this.getFilterList, [n] = R(e == null ? void 0 : e.type);
207
207
  return {
208
208
  type: "standardFilter",
209
- attribute: e?.value ?? "",
210
- operator: i?.value ?? "",
209
+ attribute: (e == null ? void 0 : e.value) ?? "",
210
+ operator: (n == null ? void 0 : n.value) ?? "",
211
211
  innerGroupOperator: "*",
212
212
  outerGroupOperator: "*",
213
213
  filterNumber: r,
@@ -266,8 +266,8 @@ const P = () => ({
266
266
  currencies: e
267
267
  } = await h.fetchRecommendationCreateData();
268
268
  if (this.activePredictiveAlgorithms = t, this.languages = r, this.currentRecommendationId !== null && this.blockStates[this.currentRecommendationId]) {
269
- const i = this.blockStates[this.currentRecommendationId];
270
- i.filterStatus = !!i.recommendationConfigs.filters.length;
269
+ const n = this.blockStates[this.currentRecommendationId];
270
+ n.filterStatus = !!n.recommendationConfigs.filters.length;
271
271
  }
272
272
  this.currencyList = e;
273
273
  })();
@@ -306,41 +306,41 @@ const P = () => ({
306
306
  deleteFilterGroup(t) {
307
307
  if (this.currentRecommendationId === null || !this.blockStates[this.currentRecommendationId])
308
308
  return;
309
- const r = this.blockStates[this.currentRecommendationId], e = r.recommendationConfigs.filters.filter((n) => n.filterGroup !== t), i = [...new Set(e.map((n) => n.filterGroup))].sort((n, o) => n - o), c = new Map(i.map((n, o) => [n, o + 1]));
310
- r.recommendationConfigs.filters = e.map((n) => ({
311
- ...n,
312
- filterGroup: c.get(n.filterGroup) ?? n.filterGroup
309
+ const r = this.blockStates[this.currentRecommendationId], e = r.recommendationConfigs.filters.filter((i) => i.filterGroup !== t), n = [...new Set(e.map((i) => i.filterGroup))].sort((i, o) => i - o), c = new Map(n.map((i, o) => [i, o + 1]));
310
+ r.recommendationConfigs.filters = e.map((i) => ({
311
+ ...i,
312
+ filterGroup: c.get(i.filterGroup) ?? i.filterGroup
313
313
  }));
314
314
  },
315
315
  updateFilter(t) {
316
316
  if (this.currentRecommendationId === null || !this.blockStates[this.currentRecommendationId])
317
317
  return;
318
- const r = this.blockStates[this.currentRecommendationId], e = r.recommendationConfigs.filters.findIndex((i) => i.filterNumber === t.filterNumber && i.filterGroup === t.filterGroup);
318
+ const r = this.blockStates[this.currentRecommendationId], e = r.recommendationConfigs.filters.findIndex((n) => n.filterNumber === t.filterNumber && n.filterGroup === t.filterGroup);
319
319
  if (e !== -1) {
320
- const i = [...r.recommendationConfigs.filters];
321
- i[e] = {
320
+ const n = [...r.recommendationConfigs.filters];
321
+ n[e] = {
322
322
  ...t,
323
- isValid: G(t)
324
- }, r.recommendationConfigs.filters = i;
323
+ isValid: D(t)
324
+ }, r.recommendationConfigs.filters = n;
325
325
  }
326
326
  },
327
327
  deleteFilter(t) {
328
328
  if (this.currentRecommendationId === null || !this.blockStates[this.currentRecommendationId])
329
329
  return;
330
- const r = this.blockStates[this.currentRecommendationId], e = [...r.recommendationConfigs.filters].findIndex((i) => i.filterNumber === t.filterNumber && i.filterGroup === t.filterGroup);
330
+ const r = this.blockStates[this.currentRecommendationId], e = [...r.recommendationConfigs.filters].findIndex((n) => n.filterNumber === t.filterNumber && n.filterGroup === t.filterGroup);
331
331
  if (e !== -1) {
332
- let i = [...r.recommendationConfigs.filters];
333
- if (i.splice(e, 1), i.some((n) => n.filterGroup === t.filterGroup)) {
334
- let n = 1;
335
- i = i.map((o) => o.filterGroup === t.filterGroup ? { ...o, filterNumber: n++ } : o);
332
+ let n = [...r.recommendationConfigs.filters];
333
+ if (n.splice(e, 1), n.some((i) => i.filterGroup === t.filterGroup)) {
334
+ let i = 1;
335
+ n = n.map((o) => o.filterGroup === t.filterGroup ? { ...o, filterNumber: i++ } : o);
336
336
  } else {
337
- const n = [...new Set(i.map((s) => s.filterGroup))].sort((s, l) => s - l), o = new Map(n.map((s, l) => [s, l + 1]));
338
- i = i.map((s) => ({
337
+ const i = [...new Set(n.map((s) => s.filterGroup))].sort((s, l) => s - l), o = new Map(i.map((s, l) => [s, l + 1]));
338
+ n = n.map((s) => ({
339
339
  ...s,
340
340
  filterGroup: o.get(s.filterGroup) ?? s.filterGroup
341
341
  }));
342
342
  }
343
- r.recommendationConfigs.filters = i;
343
+ r.recommendationConfigs.filters = n;
344
344
  }
345
345
  },
346
346
  addFilter(t) {
@@ -348,8 +348,8 @@ const P = () => ({
348
348
  return;
349
349
  const r = this.blockStates[this.currentRecommendationId], e = [...r.recommendationConfigs.filters], c = e.filter(
350
350
  (o) => o.filterGroup === t.filterGroup
351
- ).length + 1, n = e.findLastIndex((o) => o.filterGroup === t.filterGroup);
352
- n !== -1 ? e.splice(n + 1, 0, {
351
+ ).length + 1, i = e.findLastIndex((o) => o.filterGroup === t.filterGroup);
352
+ i !== -1 ? e.splice(i + 1, 0, {
353
353
  ...t,
354
354
  filterNumber: c
355
355
  }) : e.push({
@@ -358,7 +358,7 @@ const P = () => ({
358
358
  }), r.recommendationConfigs.filters = e;
359
359
  },
360
360
  generateFilterQuery() {
361
- return g(this.recommendationConfigs.filters);
361
+ return b(this.recommendationConfigs.filters);
362
362
  },
363
363
  // ====================================================================
364
364
  // Per-Block Product Fetching
@@ -378,7 +378,8 @@ const P = () => ({
378
378
  }
379
379
  },
380
380
  async _doFetchProducts() {
381
- const t = this.currentRecommendationId, r = this.blockStates[t], { recommendationConfigs: e } = r, i = e.filters.filter((a) => a.isValid), c = g(i), n = p.find((a) => a.key === e.strategy)?.path || "", o = C(), s = {
381
+ var p;
382
+ const t = this.currentRecommendationId, r = this.blockStates[t], { recommendationConfigs: e } = r, n = e.filters.filter((a) => a.isValid), c = b(n), i = ((p = g.find((a) => a.key === e.strategy)) == null ? void 0 : p.path) || "", o = y(), s = {
382
383
  locale: e.language,
383
384
  currency: e.currencySettings.value,
384
385
  partnerName: o.partnerName,
@@ -390,7 +391,7 @@ const P = () => ({
390
391
  const l = parseInt(e.size) || 6;
391
392
  let f;
392
393
  try {
393
- f = await h.fetchRecommendationProducts(n, s);
394
+ f = await h.fetchRecommendationProducts(i, s);
394
395
  } catch {
395
396
  f = [];
396
397
  }
@@ -402,5 +403,5 @@ const P = () => ({
402
403
  }
403
404
  });
404
405
  export {
405
- _ as useRecommendationExtensionStore
406
+ z as useRecommendationExtensionStore
406
407
  };
@@ -1,11 +1,11 @@
1
- import { useRecommendationExtensionStore as p } from "../../store/recommendation.js";
2
- import { formatPrice as b } from "../../utils/priceFormatter.js";
3
- import { sanitizeImageUrl as g, CUSTOM_CELL_HTML as u } from "../utils.js";
4
- import { ATTR_PRODUCT_ATTR as m, ATTR_PRODUCT_BUTTON as h, ATTR_PRODUCT_OMNIBUS_DISCOUNT as y, ATTR_PRODUCT_OMNIBUS_PRICE as T, ATTR_PRODUCT_OLD_PRICE as f, ATTR_PRODUCT_PRICE as x, ATTR_PRODUCT_NAME as _, ATTR_PRODUCT_IMAGE as $ } from "../../constants/selectors.js";
5
1
  import { RecommendationBlockId as s } from "../../constants/blockIds.js";
2
+ import { ATTR_PRODUCT_ATTR as g, ATTR_PRODUCT_BUTTON as u, ATTR_PRODUCT_OMNIBUS_DISCOUNT as m, ATTR_PRODUCT_OMNIBUS_PRICE as h, ATTR_PRODUCT_OLD_PRICE as y, ATTR_PRODUCT_PRICE as T, ATTR_PRODUCT_NAME as f, ATTR_PRODUCT_IMAGE as x } from "../../constants/selectors.js";
3
+ import { useRecommendationExtensionStore as _ } from "../../store/recommendation.js";
4
+ import { formatPrice as $ } from "../../utils/priceFormatter.js";
5
+ import { sanitizeImageUrl as C, CUSTOM_CELL_HTML as R } from "../utils.js";
6
6
  const a = "0 5px", l = "attribute-cell";
7
- function c() {
8
- const t = p(), { currencySettings: e } = t.recommendationConfigs;
7
+ function p() {
8
+ const t = _(), { currencySettings: e } = t.recommendationConfigs;
9
9
  return {
10
10
  code: e.value,
11
11
  symbol: e.symbol,
@@ -16,14 +16,14 @@ function c() {
16
16
  };
17
17
  }
18
18
  function r(t, e = "price") {
19
- const o = c(), n = t[e], d = n?.[o.code] ?? Object.values(n ?? {})[0] ?? 0;
20
- return b({
19
+ const o = p(), n = t[e], d = (n == null ? void 0 : n[o.code]) ?? Object.values(n ?? {})[0] ?? 0;
20
+ return $({
21
21
  price: d,
22
22
  currency: o
23
23
  });
24
24
  }
25
- const U = {
26
- [$]: (t) => `
25
+ const I = {
26
+ [x]: (t) => `
27
27
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
28
28
  <table
29
29
  class="product-card-segment"
@@ -40,7 +40,7 @@ const U = {
40
40
  esd-extension-block-id="${s.IMAGE}">
41
41
  <a target="_blank" href="${t.url}">
42
42
  <img
43
- src="${g(t.image_url)}"
43
+ src="${C(t.image_url)}"
44
44
  alt="${t.name}"
45
45
  style="display: block; max-width: 100%; height: auto;"
46
46
  class="adapt-img">
@@ -51,7 +51,7 @@ const U = {
51
51
  </table>
52
52
  </td>
53
53
  `,
54
- [_]: (t) => `
54
+ [f]: (t) => `
55
55
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="middle">
56
56
  <table
57
57
  class="product-card-segment"
@@ -76,7 +76,7 @@ const U = {
76
76
  </table>
77
77
  </td>
78
78
  `,
79
- [x]: (t) => `
79
+ [T]: (t) => `
80
80
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
81
81
  <table
82
82
  class="product-card-segment"
@@ -100,7 +100,7 @@ const U = {
100
100
  </table>
101
101
  </td>
102
102
  `,
103
- [f]: (t) => `
103
+ [y]: (t) => `
104
104
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
105
105
  <table
106
106
  class="product-card-segment"
@@ -124,7 +124,7 @@ const U = {
124
124
  </table>
125
125
  </td>
126
126
  `,
127
- [T]: (t) => `
127
+ [h]: (t) => `
128
128
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
129
129
  <table
130
130
  class="product-card-segment"
@@ -152,8 +152,9 @@ const U = {
152
152
  </table>
153
153
  </td>
154
154
  `,
155
- [y]: (t) => {
156
- const e = c(), o = t.original_price?.[e.code] ?? Object.values(t.original_price ?? {})[0] ?? 0, n = t.price?.[e.code] ?? Object.values(t.price ?? {})[0] ?? 0, d = o > 0 ? Math.round((o - n) / o * 100) : 0, i = d > 0 ? `-${d}%` : "0%";
155
+ [m]: (t) => {
156
+ var c, i;
157
+ const e = p(), o = ((c = t.original_price) == null ? void 0 : c[e.code]) ?? Object.values(t.original_price ?? {})[0] ?? 0, n = ((i = t.price) == null ? void 0 : i[e.code]) ?? Object.values(t.price ?? {})[0] ?? 0, d = o > 0 ? Math.round((o - n) / o * 100) : 0, b = d > 0 ? `-${d}%` : "0%";
157
158
  return `
158
159
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
159
160
  <table
@@ -173,7 +174,7 @@ const U = {
173
174
  esd-extension-block-id="${s.OMNIBUS_DISCOUNT}">
174
175
  <p contenteditable="false" style="font-size: 12px; color: #666666;">
175
176
  <span class="omnibus-text-before"></span>
176
- <span class="omnibus-discount-value">${i}</span>
177
+ <span class="omnibus-discount-value">${b}</span>
177
178
  <span class="omnibus-text-after"></span>
178
179
  </p>
179
180
  </td>
@@ -183,7 +184,7 @@ const U = {
183
184
  </td>
184
185
  `;
185
186
  },
186
- [h]: () => `
187
+ [u]: () => `
187
188
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="top">
188
189
  <table
189
190
  class="product-card-segment"
@@ -226,7 +227,7 @@ const U = {
226
227
  * @param productAttrValue - Resolved product-attr value (e.g., "brand" for default, "product_attribute.rating_star" for custom)
227
228
  * @param content - Display content for the cell
228
229
  */
229
- [u]: (t, e) => `
230
+ [R]: (t, e) => `
230
231
  <td class="${l}" style="padding: ${a}; height: 100%;" valign="middle">
231
232
  <table
232
233
  class="product-card-segment"
@@ -239,7 +240,7 @@ const U = {
239
240
  <tbody>
240
241
  <tr valign="top">
241
242
  <td
242
- ${m}="${t}"
243
+ ${g}="${t}"
243
244
  class="esd-block-text product-custom-attribute es-p0t es-p0b es-p15l es-p15r"
244
245
  align="center"
245
246
  esd-extension-block-id="${s.CUSTOM_ATTRIBUTE}">
@@ -254,5 +255,5 @@ const U = {
254
255
  export {
255
256
  l as ATTRIBUTE_CELL_CLASS,
256
257
  a as DEFAULT_CELL_PADDING,
257
- U as gridElementRenderer
258
+ I as gridElementRenderer
258
259
  };
@@ -1,5 +1,5 @@
1
- import { prepareGridProductRows as s } from "./template.js";
2
- import { ATTR_PRODUCT_BUTTON as d, ATTR_PRODUCT_OMNIBUS_DISCOUNT as c, ATTR_PRODUCT_OMNIBUS_PRICE as o, ATTR_PRODUCT_OLD_PRICE as i, ATTR_PRODUCT_PRICE as r, ATTR_PRODUCT_NAME as p, ATTR_PRODUCT_IMAGE as b } from "../../constants/selectors.js";
1
+ import { ATTR_PRODUCT_BUTTON as s, ATTR_PRODUCT_OMNIBUS_DISCOUNT as d, ATTR_PRODUCT_OMNIBUS_PRICE as c, ATTR_PRODUCT_OLD_PRICE as o, ATTR_PRODUCT_PRICE as i, ATTR_PRODUCT_NAME as r, ATTR_PRODUCT_IMAGE as p } from "../../constants/selectors.js";
2
+ import { prepareGridProductRows as b } from "./template.js";
3
3
  const u = `
4
4
  <td
5
5
  align="left"
@@ -55,7 +55,7 @@ const u = `
55
55
  </table>
56
56
  </td>
57
57
  `, e = "0 5px", a = "attribute-cell", g = {
58
- [b]: (t) => `
58
+ [p]: (t) => `
59
59
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
60
60
  <table
61
61
  class="product-card-segment"
@@ -83,7 +83,7 @@ const u = `
83
83
  </table>
84
84
  </td>
85
85
  `,
86
- [p]: (t) => `
86
+ [r]: (t) => `
87
87
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
88
88
  <table
89
89
  class="product-card-segment"
@@ -108,7 +108,7 @@ const u = `
108
108
  </table>
109
109
  </td>
110
110
  `,
111
- [r]: () => `
111
+ [i]: () => `
112
112
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
113
113
  <table
114
114
  class="product-card-segment"
@@ -133,7 +133,7 @@ const u = `
133
133
  </table>
134
134
  </td>
135
135
  `,
136
- [i]: () => `
136
+ [o]: () => `
137
137
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
138
138
  <table
139
139
  class="product-card-segment"
@@ -158,7 +158,7 @@ const u = `
158
158
  </table>
159
159
  </td>
160
160
  `,
161
- [o]: () => `
161
+ [c]: () => `
162
162
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
163
163
  <table
164
164
  class="product-card-segment"
@@ -186,7 +186,7 @@ const u = `
186
186
  </table>
187
187
  </td>
188
188
  `,
189
- [c]: () => `
189
+ [d]: () => `
190
190
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
191
191
  <table
192
192
  class="product-card-segment"
@@ -214,7 +214,7 @@ const u = `
214
214
  </table>
215
215
  </td>
216
216
  `,
217
- [d]: (t) => `
217
+ [s]: (t) => `
218
218
  <td class="${a}" style="padding: ${e}; height: 100%;" valign="top">
219
219
  <table
220
220
  class="product-card-segment"
@@ -243,7 +243,7 @@ const u = `
243
243
  `
244
244
  };
245
245
  function T(t, l, n) {
246
- return s(t, l, g, n);
246
+ return b(t, l, g, n);
247
247
  }
248
248
  export {
249
249
  u as default,
@@ -1,6 +1,6 @@
1
- import { DEFAULT_CARD_COMPOSITION as L, spacer as E, getDefaultProducts as I, createBlockTemplate as _, DEFAULTS as S, buildElementRenderer as b, DEFAULT_CARD_VISIBILITY as A } from "../utils.js";
2
- import { gridElementRenderer as f, ATTRIBUTE_CELL_CLASS as w, DEFAULT_CELL_PADDING as D } from "./elementRenderer.js";
3
- import { DEFAULT_PRODUCTS_PER_ROW as C } from "../../constants/layout.js";
1
+ import { DEFAULT_PRODUCTS_PER_ROW as L } from "../../constants/layout.js";
2
+ import { DEFAULT_CARD_COMPOSITION as E, spacer as I, getDefaultProducts as _, createBlockTemplate as S, DEFAULTS as b, buildElementRenderer as A, DEFAULT_CARD_VISIBILITY as f } from "../utils.js";
3
+ import { gridElementRenderer as w, ATTRIBUTE_CELL_CLASS as D, DEFAULT_CELL_PADDING as C } from "./elementRenderer.js";
4
4
  const O = `
5
5
  <tr class="recommendation-product-row">
6
6
  <td>
@@ -27,10 +27,10 @@ const O = `
27
27
  {-{-CELLS-}-}
28
28
  </tr>
29
29
  `;
30
- function P(t, e, o, r = L, n = {}) {
31
- const c = (100 / e).toFixed(2), i = e - t.length, l = `<td class="${w}" style="padding: ${D};" width="${c}%"></td>`, d = i > 0 ? l.repeat(i) : "", a = b(o, r, n);
30
+ function P(t, e, o, r = E, n = {}) {
31
+ const c = (100 / e).toFixed(2), i = e - t.length, l = `<td class="${D}" style="padding: ${C};" width="${c}%"></td>`, d = i > 0 ? l.repeat(i) : "", a = A(o, r, n);
32
32
  return r.filter((s) => a[s]).map((s) => {
33
- const T = A[s] ?? !0, u = T ? "" : 'style="display: none;"', R = t.map((m) => a[s](m).replace("<td", `<td width="${c}%"`)).join("");
33
+ const T = f[s] ?? !0, u = T ? "" : 'style="display: none;"', R = t.map((m) => a[s](m).replace("<td", `<td width="${c}%"`)).join("");
34
34
  return g.replace("{-{-ATTR_TYPE-}-}", s).replace("{-{-VISIBILITY-}-}", T ? "1" : "0").replace("{-{-DISPLAY_STYLE-}-}", u).replace("{-{-CELLS-}-}", R + d);
35
35
  }).join("");
36
36
  }
@@ -46,15 +46,15 @@ function U(t, e, o, r, n = {}) {
46
46
  r,
47
47
  n
48
48
  ), p = O.replace("{-{-ATTRIBUTE_ROWS-}-}", a);
49
- return d > 0 ? E + p : p;
49
+ return d > 0 ? I + p : p;
50
50
  }).join("");
51
51
  }
52
52
  function h(t, e, o, r = {}) {
53
- return U(t, e, f, o, r);
53
+ return U(t, e, w, o, r);
54
54
  }
55
55
  function F(t) {
56
- const e = t ? `ins-recommendation-v3-block-${t}` : void 0, o = _("grid", e), r = I(), n = h(r, C);
57
- return o.replace("{-{-TITLE-}-}", S.TITLE).replace("{-{-PRODUCT_ROWS-}-}", n).replace("{-{-MOBILE_PRODUCT_ROWS-}-}", "");
56
+ const e = t ? `ins-recommendation-v3-block-${t}` : void 0, o = S("grid", e), r = _(), n = h(r, L);
57
+ return o.replace("{-{-TITLE-}-}", b.TITLE).replace("{-{-PRODUCT_ROWS-}-}", n).replace("{-{-MOBILE_PRODUCT_ROWS-}-}", "");
58
58
  }
59
59
  export {
60
60
  F as getDefaultTemplate,
@@ -1,11 +1,11 @@
1
- import { prepareProductRows as s } from "./grid/template.js";
2
- import { prepareProductRows as c } from "./list/template.js";
3
- import { DEFAULT_PRODUCTS_PER_ROW as R } from "../constants/layout.js";
1
+ import { DEFAULT_PRODUCTS_PER_ROW as s } from "../constants/layout.js";
2
+ import { prepareProductRows as c } from "./grid/template.js";
3
+ import { prepareProductRows as R } from "./list/template.js";
4
4
  function a(o, t, r = {}) {
5
5
  if (t === "list")
6
- return c(o, r.composition, r.filterList);
7
- const { productsPerRow: e = R, composition: p, filterList: i } = r;
8
- return s(o, e, p, i);
6
+ return R(o, r.composition, r.filterList);
7
+ const { productsPerRow: e = s, composition: p, filterList: i } = r;
8
+ return c(o, e, p, i);
9
9
  }
10
10
  export {
11
11
  a as prepareProductRows