@useinsider/guido 3.2.0-beta.78d83bd → 3.2.0-beta.7e0c6bd

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 +27 -34
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +76 -81
  5. package/dist/components/organisms/base/Toaster.vue2.js +10 -11
  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 +9 -15
  9. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +31 -40
  10. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +19 -20
  11. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +11 -14
  12. package/dist/components/organisms/header/EditorActions.vue.js +11 -12
  13. package/dist/components/organisms/header/EditorActions.vue2.js +18 -22
  14. package/dist/components/organisms/header/HeaderWrapper.vue2.js +12 -15
  15. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -19
  16. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -11
  17. package/dist/components/organisms/header/RightSlot.vue2.js +14 -17
  18. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +11 -12
  19. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +49 -31
  20. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +12 -13
  21. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +36 -38
  22. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +12 -13
  23. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +47 -51
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +18 -21
  25. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +27 -31
  26. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +12 -13
  27. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +33 -46
  28. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +11 -12
  29. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +20 -21
  30. package/dist/components/organisms/save-as-template/SaveAsTemplateDrawer.vue2.js +8 -9
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +9 -10
  32. package/dist/composables/useActionsApi.js +37 -38
  33. package/dist/composables/useBlocksConfig.js +26 -26
  34. package/dist/composables/useFullStoryBridge.js +8 -9
  35. package/dist/composables/useHtmlCompiler.js +34 -26
  36. package/dist/composables/useHtmlValidator.js +101 -109
  37. package/dist/composables/useHttp.js +30 -30
  38. package/dist/composables/usePartner.js +1 -1
  39. package/dist/composables/useRecommendation.js +14 -15
  40. package/dist/composables/useRibbonOffset.js +21 -0
  41. package/dist/composables/useSave.js +21 -22
  42. package/dist/composables/useStripo.js +53 -50
  43. package/dist/composables/useSyncModuleExtractor.js +31 -29
  44. package/dist/composables/useTimerClone.js +24 -25
  45. package/dist/composables/useTranslations.js +23 -16
  46. package/dist/composables/useValidation.js +7 -8
  47. package/dist/composables/validators/useLiquidValidator.js +13 -13
  48. package/dist/config/compiler/unsubscribeCompilerRules.js +17 -19
  49. package/dist/config/compiler/utils/recommendationCompilerUtils.js +10 -11
  50. package/dist/config/migrator/checkboxMigrator.js +20 -21
  51. package/dist/config/migrator/couponBlockMigrator.js +18 -19
  52. package/dist/config/migrator/itemsBlockMigrator.js +87 -89
  53. package/dist/config/migrator/radioButtonMigrator.js +12 -13
  54. package/dist/config/migrator/recommendationMigrator.js +106 -109
  55. package/dist/config/migrator/unsubscribeMigrator.js +10 -11
  56. package/dist/enums/onboarding.js +7 -2
  57. package/dist/enums/unsubscribe.js +18 -19
  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 +89 -97
  61. package/dist/extensions/Blocks/Items/controls/image/link.js +14 -14
  62. package/dist/extensions/Blocks/Items/controls/name/trimming.js +23 -24
  63. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +13 -14
  64. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +44 -47
  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 +38 -40
  68. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +35 -35
  69. package/dist/extensions/Blocks/Items/controls/settingsControl.js +155 -162
  70. package/dist/extensions/Blocks/Items/enums/productEnums.js +9 -14
  71. package/dist/extensions/Blocks/Items/template.js +218 -216
  72. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +36 -36
  73. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +128 -133
  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 +17 -18
  78. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +4 -6
  79. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +82 -90
  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 +35 -36
  83. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +134 -135
  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 +18 -20
  96. package/dist/extensions/Blocks/Recommendation/extension.js +31 -32
  97. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +8 -16
  98. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +55 -56
  99. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +22 -23
  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 +24 -25
  104. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +1 -1
  105. package/dist/extensions/Blocks/Recommendation/templates/utils.js +45 -47
  106. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +13 -16
  107. package/dist/extensions/Blocks/Unsubscribe/control.js +11 -13
  108. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +16 -18
  109. package/dist/extensions/Blocks/common-control.js +25 -26
  110. package/dist/extensions/DynamicContent/dynamic-content.js +53 -58
  111. package/dist/guido.css +1 -1
  112. package/dist/library.js +11 -12
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +233 -210
  114. package/dist/node_modules/valibot/dist/index.js +122 -126
  115. package/dist/package.json.js +1 -1
  116. package/dist/services/recommendationApi.js +14 -17
  117. package/dist/services/templateLibraryApi.js +37 -38
  118. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  119. package/dist/src/composables/useHtmlCompiler.d.ts +1 -2
  120. package/dist/src/composables/useRibbonOffset.d.ts +4 -0
  121. package/dist/src/composables/useTranslations.d.ts +1 -1
  122. package/dist/src/enums/onboarding.d.ts +6 -0
  123. package/dist/src/stores/dynamic-content.d.ts +3 -3
  124. package/dist/src/stores/onboarding.d.ts +4 -0
  125. package/dist/stores/config.js +25 -81
  126. package/dist/stores/dynamic-content.js +6 -11
  127. package/dist/stores/onboarding.js +5 -1
  128. package/dist/stores/preview.js +6 -9
  129. package/dist/stores/unsubscribe.js +1 -4
  130. package/dist/utils/dateUtil.js +7 -10
  131. package/dist/utils/genericUtil.js +10 -13
  132. package/dist/utils/pairProductVariables.js +13 -14
  133. package/package.json +8 -5
  134. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  135. package/dist/node_modules/lodash-es/_Hash.js +0 -20
  136. package/dist/node_modules/lodash-es/_ListCache.js +0 -20
  137. package/dist/node_modules/lodash-es/_Map.js +0 -6
  138. package/dist/node_modules/lodash-es/_MapCache.js +0 -20
  139. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  140. package/dist/node_modules/lodash-es/_Set.js +0 -6
  141. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  142. package/dist/node_modules/lodash-es/_Stack.js +0 -18
  143. package/dist/node_modules/lodash-es/_Symbol.js +0 -5
  144. package/dist/node_modules/lodash-es/_Uint8Array.js +0 -5
  145. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  146. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  147. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +0 -20
  148. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  149. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  150. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  151. package/dist/node_modules/lodash-es/_assocIndexOf.js +0 -10
  152. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  153. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  154. package/dist/node_modules/lodash-es/_baseFor.js +0 -5
  155. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  156. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  157. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  158. package/dist/node_modules/lodash-es/_baseGetTag.js +0 -10
  159. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  160. package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -9
  161. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  162. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  163. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  164. package/dist/node_modules/lodash-es/_baseIsNative.js +0 -16
  165. package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -12
  166. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  167. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  168. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  169. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  170. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  171. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  172. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  173. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  174. package/dist/node_modules/lodash-es/_baseTimes.js +0 -8
  175. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  176. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  177. package/dist/node_modules/lodash-es/_baseUnary.js +0 -8
  178. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  179. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  180. package/dist/node_modules/lodash-es/_coreJsData.js +0 -5
  181. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  182. package/dist/node_modules/lodash-es/_createBaseFor.js +0 -13
  183. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  184. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  185. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  186. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  187. package/dist/node_modules/lodash-es/_freeGlobal.js +0 -4
  188. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  189. package/dist/node_modules/lodash-es/_getMapData.js +0 -8
  190. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  191. package/dist/node_modules/lodash-es/_getNative.js +0 -9
  192. package/dist/node_modules/lodash-es/_getRawTag.js +0 -15
  193. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  194. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  195. package/dist/node_modules/lodash-es/_getValue.js +0 -6
  196. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  197. package/dist/node_modules/lodash-es/_hashClear.js +0 -7
  198. package/dist/node_modules/lodash-es/_hashDelete.js +0 -7
  199. package/dist/node_modules/lodash-es/_hashGet.js +0 -13
  200. package/dist/node_modules/lodash-es/_hashHas.js +0 -9
  201. package/dist/node_modules/lodash-es/_hashSet.js +0 -9
  202. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  203. package/dist/node_modules/lodash-es/_isIndex.js +0 -8
  204. package/dist/node_modules/lodash-es/_isIterateeCall.js +0 -13
  205. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  206. package/dist/node_modules/lodash-es/_isKeyable.js +0 -7
  207. package/dist/node_modules/lodash-es/_isMasked.js +0 -11
  208. package/dist/node_modules/lodash-es/_isPrototype.js +0 -8
  209. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  210. package/dist/node_modules/lodash-es/_listCacheClear.js +0 -6
  211. package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -12
  212. package/dist/node_modules/lodash-es/_listCacheGet.js +0 -8
  213. package/dist/node_modules/lodash-es/_listCacheHas.js +0 -7
  214. package/dist/node_modules/lodash-es/_listCacheSet.js +0 -8
  215. package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -13
  216. package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  217. package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -7
  218. package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -7
  219. package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -8
  220. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  221. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  222. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  223. package/dist/node_modules/lodash-es/_nativeCreate.js +0 -5
  224. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  225. package/dist/node_modules/lodash-es/_nodeUtil.js +0 -11
  226. package/dist/node_modules/lodash-es/_objectToString.js +0 -7
  227. package/dist/node_modules/lodash-es/_overArg.js +0 -8
  228. package/dist/node_modules/lodash-es/_root.js +0 -5
  229. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  230. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  231. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  232. package/dist/node_modules/lodash-es/_stackClear.js +0 -7
  233. package/dist/node_modules/lodash-es/_stackDelete.js +0 -7
  234. package/dist/node_modules/lodash-es/_stackGet.js +0 -6
  235. package/dist/node_modules/lodash-es/_stackHas.js +0 -6
  236. package/dist/node_modules/lodash-es/_stackSet.js +0 -17
  237. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  238. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  239. package/dist/node_modules/lodash-es/_toSource.js +0 -17
  240. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  241. package/dist/node_modules/lodash-es/eq.js +0 -6
  242. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  243. package/dist/node_modules/lodash-es/get.js +0 -8
  244. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  245. package/dist/node_modules/lodash-es/identity.js +0 -6
  246. package/dist/node_modules/lodash-es/isArguments.js +0 -10
  247. package/dist/node_modules/lodash-es/isArray.js +0 -4
  248. package/dist/node_modules/lodash-es/isArrayLike.js +0 -8
  249. package/dist/node_modules/lodash-es/isBuffer.js +0 -6
  250. package/dist/node_modules/lodash-es/isFunction.js +0 -12
  251. package/dist/node_modules/lodash-es/isLength.js +0 -7
  252. package/dist/node_modules/lodash-es/isObject.js +0 -7
  253. package/dist/node_modules/lodash-es/isObjectLike.js +0 -6
  254. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  255. package/dist/node_modules/lodash-es/isTypedArray.js +0 -7
  256. package/dist/node_modules/lodash-es/keys.js +0 -9
  257. package/dist/node_modules/lodash-es/map.js +0 -11
  258. package/dist/node_modules/lodash-es/memoize.js +0 -18
  259. package/dist/node_modules/lodash-es/property.js +0 -10
  260. package/dist/node_modules/lodash-es/range.js +0 -5
  261. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  262. package/dist/node_modules/lodash-es/stubFalse.js +0 -6
  263. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  264. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  265. package/dist/node_modules/lodash-es/toString.js +0 -7
@@ -1,15 +1,15 @@
1
1
  import { ModificationDescription as T } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { CommonControl as m } from "../../../common-control.js";
3
- import { RecommendationBlockId as n } from "../../constants/blockIds.js";
4
- import { RecommendationControlId as l } from "../../constants/controlIds.js";
5
- import { BLOCK_ROOT_SELECTOR as u, ATTR_PRODUCT_ATTR as a } from "../../constants/selectors.js";
6
- import { CSS_CLASS_TEXT_TRIM as o, ensureTextTrimCssRulesExist as c } from "../shared/textTrimCssRules.js";
3
+ import { CSS_CLASS_TEXT_TRIM as o, ensureTextTrimCssRulesExist as l } from "../shared/textTrimCssRules.js";
4
+ import { RecommendationControlId as u } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as c, ATTR_PRODUCT_ATTR as n } from "../../constants/selectors.js";
6
+ import { RecommendationBlockId as a } from "../../constants/blockIds.js";
7
7
  const i = {
8
8
  TEXT_TRIM_ENABLED: "customAttrTextTrimEnabled"
9
9
  };
10
10
  class g extends m {
11
11
  getId() {
12
- return l.CUSTOM_ATTR_TEXT_TRIM;
12
+ return u.CUSTOM_ATTR_TEXT_TRIM;
13
13
  }
14
14
  getTemplate() {
15
15
  return `
@@ -57,17 +57,17 @@ class g extends m {
57
57
  _getTargetElements() {
58
58
  if (!this.currentNode || !("closest" in this.currentNode))
59
59
  return [];
60
- const t = this.currentNode.closest(u);
60
+ const t = this.currentNode.closest(c);
61
61
  if (!t)
62
62
  return [];
63
- const e = "asElement" in this.currentNode ? this.currentNode.asElement().getAttribute(a) : null;
63
+ const e = "asElement" in this.currentNode ? this.currentNode.asElement().getAttribute(n) : null;
64
64
  if (e) {
65
- const s = `[esd-extension-block-id="${n.CUSTOM_ATTRIBUTE}"][${a}="${e}"]`;
65
+ const s = `[esd-extension-block-id="${a.CUSTOM_ATTRIBUTE}"][${n}="${e}"]`;
66
66
  return Array.from(t.querySelectorAll(s));
67
67
  }
68
68
  return Array.from(
69
69
  t.querySelectorAll(
70
- `[esd-extension-block-id="${n.CUSTOM_ATTRIBUTE}"]`
70
+ `[esd-extension-block-id="${a.CUSTOM_ATTRIBUTE}"]`
71
71
  )
72
72
  );
73
73
  }
@@ -78,7 +78,7 @@ class g extends m {
78
78
  const e = this._getTargetElements();
79
79
  if (!e.length)
80
80
  return;
81
- t && c(this.api);
81
+ t && l(this.api);
82
82
  const r = this.api.getDocumentModifier();
83
83
  e.forEach((s) => {
84
84
  t ? r.modifyHtml(s).setClass(o) : r.modifyHtml(s).removeClass(o);
@@ -1,15 +1,15 @@
1
1
  import { createImageMarginsControl as m, createImageSizeControl as n } from "../../../controlFactories.js";
2
- import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
- import { RecommendationControlId as r } from "../../constants/controlIds.js";
4
- import { BLOCK_ROOT_SELECTOR as t } from "../../constants/selectors.js";
2
+ import { BLOCK_ROOT_SELECTOR as o } from "../../constants/selectors.js";
3
+ import { RecommendationBlockId as r } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
5
5
  const e = n(
6
- r.IMAGE_SIZE,
7
- o.IMAGE,
8
- t
6
+ t.IMAGE_SIZE,
7
+ r.IMAGE,
8
+ o
9
9
  ), i = m(
10
- r.IMAGE_MARGINS,
11
- o.IMAGE,
12
- t
10
+ t.IMAGE_MARGINS,
11
+ r.IMAGE,
12
+ o
13
13
  ), C = {
14
14
  size: e,
15
15
  margins: i
@@ -1,9 +1,9 @@
1
1
  var l = Object.defineProperty;
2
- var c = (s, i, t) => i in s ? l(s, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[i] = t;
3
- var a = (s, i, t) => c(s, typeof i != "symbol" ? i + "" : i, t);
4
- import { UEAttr as h } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ var h = (o, i, t) => i in o ? l(o, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[i] = t;
3
+ var a = (o, i, t) => h(o, typeof i != "symbol" ? i + "" : i, t);
4
+ import { UEAttr as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  import { CommonControl as d } from "../../../common-control.js";
6
- import { RecommendationConfigService as n } from "../../services/configService.js";
6
+ import { RecommendationConfigService as r } from "../../services/configService.js";
7
7
  import { useRecommendationExtensionStore as m } from "../../store/recommendation.js";
8
8
  const g = "recommendation-algorithm-control", e = {
9
9
  ALGORITHM: "strategy",
@@ -45,32 +45,31 @@ class T extends d {
45
45
  super.onTemplateNodeUpdated(t), this._initializeSelectItems(), this._setFormValues();
46
46
  }
47
47
  _setFormValues() {
48
- const t = n.getConfig(this.currentNode);
48
+ const t = r.getConfig(this.currentNode);
49
49
  this._setProductIdsVisibility(t.strategy), this.api.updateValues({
50
50
  [e.ALGORITHM]: t.strategy,
51
51
  [e.PRODUCT_IDS]: t.productIds.join(",")
52
52
  });
53
53
  }
54
54
  _initializeSelectItems() {
55
- var o;
56
- const t = (o = this.store) == null ? void 0 : o.getActivePredictiveAlgorithms;
57
- if (t != null && t.length)
55
+ const t = this.store?.getActivePredictiveAlgorithms;
56
+ if (t?.length)
58
57
  try {
59
58
  this.api.setUIEAttribute(
60
59
  e.ALGORITHM,
61
- h.SELECTPICKER.items,
60
+ c.SELECTPICKER.items,
62
61
  t
63
62
  );
64
- } catch (r) {
65
- console.warn("[AlgorithmControl] Failed to set algorithm options:", r);
63
+ } catch (s) {
64
+ console.warn("[AlgorithmControl] Failed to set algorithm options:", s);
66
65
  }
67
66
  }
68
67
  _setProductIdsVisibility(t) {
69
- const r = (t ?? n.getConfig(this.currentNode).strategy) === "manualMerchandising";
70
- this.api.setVisibility(e.PRODUCT_IDS, r), this.api.setVisibility(`${e.PRODUCT_IDS}_label`, r);
68
+ const n = (t ?? r.getConfig(this.currentNode).strategy) === "manualMerchandising";
69
+ this.api.setVisibility(e.PRODUCT_IDS, n), this.api.setVisibility(`${e.PRODUCT_IDS}_label`, n);
71
70
  }
72
71
  _onAlgorithmChange(t) {
73
- !this.currentNode || n.getConfig(this.currentNode).strategy === t || (n.updateConfig(
72
+ !this.currentNode || r.getConfig(this.currentNode).strategy === t || (r.updateConfig(
74
73
  this.api,
75
74
  this.currentNode,
76
75
  { strategy: t },
@@ -80,13 +79,13 @@ class T extends d {
80
79
  _onProductIdsChange(t) {
81
80
  if (!this.currentNode)
82
81
  return;
83
- const o = t.split(",").map((r) => r.trim()).filter(Boolean);
84
- n.updateConfig(
82
+ const s = t.split(",").map((n) => n.trim()).filter(Boolean);
83
+ r.updateConfig(
85
84
  this.api,
86
85
  this.currentNode,
87
- { productIds: o },
86
+ { productIds: s },
88
87
  "Updated product IDs"
89
- ), this.store.patchCurrentBlockConfig({ productIds: o });
88
+ ), this.store.patchCurrentBlockConfig({ productIds: s });
90
89
  }
91
90
  _listenToFormUpdates() {
92
91
  this.api.onValueChanged(e.ALGORITHM, (t) => {
@@ -1,6 +1,6 @@
1
1
  var n = Object.defineProperty;
2
- var o = (i, e, t) => e in i ? n(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
- var r = (i, e, t) => o(i, typeof e != "symbol" ? e + "" : e, t);
2
+ var o = (e, t, i) => t in e ? n(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var r = (e, t, i) => o(e, typeof t != "symbol" ? t + "" : t, i);
4
4
  import { CommonControl as s } from "../../../common-control.js";
5
5
  import { useRecommendationExtensionStore as l } from "../../store/recommendation.js";
6
6
  const d = "recommendation-filters-control", a = {
@@ -35,15 +35,13 @@ class h extends s {
35
35
  this._setupButtonListener();
36
36
  }
37
37
  onDestroy() {
38
- var t;
39
- (t = this.addFilterButton) == null || t.removeEventListener("click", this.addFilterListener);
38
+ this.addFilterButton?.removeEventListener("click", this.addFilterListener);
40
39
  }
41
40
  _onFilterSelectClick() {
42
41
  this.store.openFilterDrawer();
43
42
  }
44
43
  _setupButtonListener() {
45
- var t;
46
- this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), (t = this.addFilterButton) == null || t.addEventListener("click", this.addFilterListener);
44
+ this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), this.addFilterButton?.addEventListener("click", this.addFilterListener);
47
45
  }
48
46
  }
49
47
  export {
@@ -1,8 +1,8 @@
1
1
  var f = Object.defineProperty;
2
- var p = (d, l, t) => l in d ? f(d, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[l] = t;
3
- var s = (d, l, t) => p(d, typeof l != "symbol" ? l + "" : l, t);
2
+ var p = (d, c, t) => c in d ? f(d, c, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[c] = t;
3
+ var i = (d, c, t) => p(d, typeof c != "symbol" ? c + "" : c, t);
4
4
  import { CommonControl as g } from "../../../common-control.js";
5
- import { DEFAULT_NODE_CONFIG as a } from "../../constants/defaultConfig.js";
5
+ import { DEFAULT_NODE_CONFIG as s } from "../../constants/defaultConfig.js";
6
6
  import { RecommendationConfigService as h } from "../../services/configService.js";
7
7
  import { useRecommendationExtensionStore as y } from "../../store/recommendation.js";
8
8
  import { AlgorithmControl as R } from "./algorithm.js";
@@ -12,13 +12,13 @@ import { CURRENCY_CONTROL_ID as X } from "./currency.js";
12
12
  import { FiltersControl as _ } from "./filters.js";
13
13
  import { FILTERS_CONTROL_ID as tt } from "./filters.js";
14
14
  import { LayoutOrientationControl as b } from "./layoutOrientation.js";
15
- import { LAYOUT_ORIENTATION_CONTROL_ID as ot } from "./layoutOrientation.js";
15
+ import { LAYOUT_ORIENTATION_CONTROL_ID as et } from "./layoutOrientation.js";
16
16
  import { LocaleControl as O } from "./locale.js";
17
17
  import { LOCALE_CONTROL_ID as nt } from "./locale.js";
18
18
  import { ProductCountControl as I } from "./productCount.js";
19
19
  import { PRODUCT_COUNT_CONTROL_ID as st } from "./productCount.js";
20
20
  import { ProductLayoutControl as T } from "./productLayout.js";
21
- import { PRODUCT_LAYOUT_CONTROL_ID as lt } from "./productLayout.js";
21
+ import { PRODUCT_LAYOUT_CONTROL_ID as ct } from "./productLayout.js";
22
22
  import { ShuffleControl as S } from "./shuffle.js";
23
23
  import { SHUFFLE_CONTROL_ID as ut } from "./shuffle.js";
24
24
  import { getBlockElement as L, updateProductContentInPlace as P, regenerateProductRowsWithStyles as D } from "./utils.js";
@@ -28,22 +28,22 @@ const k = "recommendation-id", E = "ui-elements-recommendation-block";
28
28
  class H extends g {
29
29
  constructor() {
30
30
  super(...arguments);
31
- s(this, "store", y());
32
- s(this, "storeUnsubscription", () => {
31
+ i(this, "store", y());
32
+ i(this, "storeUnsubscription", () => {
33
33
  });
34
34
  // Sub-control instances for lifecycle management
35
- s(this, "algorithmControl", null);
36
- s(this, "localeControl", null);
37
- s(this, "currencyControl", null);
38
- s(this, "productCountControl", null);
39
- s(this, "productLayoutControl", null);
40
- s(this, "filtersControl", null);
41
- s(this, "shuffleControl", null);
42
- s(this, "layoutOrientationControl", null);
35
+ i(this, "algorithmControl", null);
36
+ i(this, "localeControl", null);
37
+ i(this, "currencyControl", null);
38
+ i(this, "productCountControl", null);
39
+ i(this, "productLayoutControl", null);
40
+ i(this, "filtersControl", null);
41
+ i(this, "shuffleControl", null);
42
+ i(this, "layoutOrientationControl", null);
43
43
  /**
44
44
  * Debounced product fetch to prevent rapid API calls during config changes
45
45
  */
46
- s(this, "_debouncedFetchProducts", m(() => {
46
+ i(this, "_debouncedFetchProducts", m(() => {
47
47
  this.store.fetchRecommendationProducts();
48
48
  }, 500));
49
49
  /**
@@ -57,18 +57,18 @@ class H extends g {
57
57
  * count. The store pads products to the configured size, so in-place only
58
58
  * fails when the size actually changed.
59
59
  */
60
- s(this, "_debouncedRegenerateWithProducts", m(() => {
60
+ i(this, "_debouncedRegenerateWithProducts", m(() => {
61
61
  const t = this.store.recommendationProducts;
62
62
  if (!this.currentNode || !this.api)
63
63
  return;
64
- const e = this.api.getDocumentModifier();
64
+ const o = this.api.getDocumentModifier();
65
65
  P({
66
66
  currentNode: this.currentNode,
67
- documentModifier: e,
67
+ documentModifier: o,
68
68
  products: t
69
69
  }) || D({
70
70
  currentNode: this.currentNode,
71
- documentModifier: e,
71
+ documentModifier: o,
72
72
  products: t
73
73
  });
74
74
  }, 100));
@@ -86,8 +86,8 @@ class H extends g {
86
86
  this.filtersControl,
87
87
  this.shuffleControl,
88
88
  this.layoutOrientationControl
89
- ].forEach((e) => {
90
- e.api = this.api;
89
+ ].forEach((o) => {
90
+ o.api = this.api;
91
91
  }), `
92
92
  <div class="recommendation-controls-container">
93
93
  ${this.layoutOrientationControl.getTemplate()}
@@ -102,19 +102,17 @@ class H extends g {
102
102
  `;
103
103
  }
104
104
  async onRender() {
105
- var e;
106
105
  const t = this._getRecommendationIdFromNode(this.currentNode) ?? this.store.currentRecommendationId;
107
- if (t !== null && this.store.setCurrentBlock(t), this._listenStateUpdates(), t !== null && ((e = this.store.blockStates[t]) != null && e.isInitialized)) {
106
+ if (t !== null && this.store.setCurrentBlock(t), this._listenStateUpdates(), t !== null && this.store.blockStates[t]?.isInitialized) {
108
107
  this._initializeSubControls();
109
108
  return;
110
109
  }
111
110
  await this._fetchBlockData(t), this._initializeSubControls();
112
111
  }
113
112
  onTemplateNodeUpdated(t) {
114
- var r;
115
113
  super.onTemplateNodeUpdated(t);
116
- const e = this._getRecommendationIdFromNode(t);
117
- e !== null && e !== this.store.currentRecommendationId && this.store.setCurrentBlock(e), e !== null && this._syncNodeConfigToStore(), e !== null && !((r = this.store.blockStates[e]) != null && r.isInitialized) && this._fetchBlockData(e).then(() => {
114
+ const o = this._getRecommendationIdFromNode(t);
115
+ o !== null && o !== this.store.currentRecommendationId && this.store.setCurrentBlock(o), o !== null && this._syncNodeConfigToStore(), o !== null && !this.store.blockStates[o]?.isInitialized && this._fetchBlockData(o).then(() => {
118
116
  this._initializeSubControls();
119
117
  }), [
120
118
  this.layoutOrientationControl,
@@ -125,9 +123,8 @@ class H extends g {
125
123
  this.productLayoutControl,
126
124
  this.filtersControl,
127
125
  this.shuffleControl
128
- ].forEach((n) => {
129
- var i;
130
- n != null && n.api && (n.currentNode = t, (i = n.onTemplateNodeUpdated) == null || i.call(n, t));
126
+ ].forEach((r) => {
127
+ r?.api && (r.currentNode = t, r.onTemplateNodeUpdated?.(t));
131
128
  });
132
129
  }
133
130
  onDestroy() {
@@ -140,10 +137,7 @@ class H extends g {
140
137
  this.productLayoutControl,
141
138
  this.filtersControl,
142
139
  this.shuffleControl
143
- ].forEach((e) => {
144
- var o;
145
- return (o = e == null ? void 0 : e.onDestroy) == null ? void 0 : o.call(e);
146
- });
140
+ ].forEach((o) => o?.onDestroy?.());
147
141
  }
148
142
  /**
149
143
  * Initialize all sub-controls with the shared API context
@@ -159,9 +153,8 @@ class H extends g {
159
153
  this.productLayoutControl,
160
154
  this.filtersControl,
161
155
  this.shuffleControl
162
- ].forEach((e) => {
163
- var o;
164
- e && (e.api = this.api, e.currentNode = this.currentNode, (o = e.onRender) == null || o.call(e));
156
+ ].forEach((o) => {
157
+ o && (o.api = this.api, o.currentNode = this.currentNode, o.onRender?.());
165
158
  });
166
159
  }
167
160
  /**
@@ -176,8 +169,7 @@ class H extends g {
176
169
  * values are being prepared for the upcoming initial fetch.
177
170
  */
178
171
  _syncNodeConfigToStore() {
179
- var r;
180
- const t = h.getConfig(this.currentNode), e = this.store.currentRecommendationId, o = e !== null && ((r = this.store.blockStates[e]) == null ? void 0 : r.isInitialized);
172
+ const t = h.getConfig(this.currentNode), o = this.store.currentRecommendationId, e = o !== null && this.store.blockStates[o]?.isInitialized;
181
173
  this.store.patchCurrentBlockConfig({
182
174
  strategy: t.strategy,
183
175
  language: t.language,
@@ -186,7 +178,7 @@ class H extends g {
186
178
  // Only sync filters from node config during initial load.
187
179
  // After initialization, the Pinia store is the source of truth
188
180
  // for filters (edited via the filter drawer).
189
- ...o ? {} : { filters: t.filters },
181
+ ...e ? {} : { filters: t.filters },
190
182
  shuffleProducts: t.shuffleProducts,
191
183
  currencySettings: {
192
184
  name: t.currency.code,
@@ -212,13 +204,13 @@ class H extends g {
212
204
  t !== null && this.store.markBlockInitialized(t), (await Promise.allSettled([
213
205
  this.store.fetchRecommendationCreateData(),
214
206
  this.store.fetchRecommendationFilters()
215
- ])).forEach((o, r) => {
216
- o.status === "rejected" && console.warn(`Recommendation block: ${["fetchRecommendationCreateData", "fetchRecommendationFilters"][r]} failed`, o.reason);
207
+ ])).forEach((e, r) => {
208
+ e.status === "rejected" && console.warn(`Recommendation block: ${["fetchRecommendationCreateData", "fetchRecommendationFilters"][r]} failed`, e.reason);
217
209
  }), this._applySmartDefaults();
218
210
  try {
219
211
  await this.store.fetchRecommendationProducts();
220
- } catch (o) {
221
- console.warn("Recommendation block: fetchRecommendationProducts failed", o);
212
+ } catch (e) {
213
+ console.warn("Recommendation block: fetchRecommendationProducts failed", e);
222
214
  }
223
215
  }
224
216
  /**
@@ -234,62 +226,62 @@ class H extends g {
234
226
  _applySmartDefaults() {
235
227
  if (!this.currentNode || !this.api)
236
228
  return;
237
- const t = h.getConfig(this.currentNode), e = {};
238
- let o = null, r = null, n = null;
239
- if (t.currency.code === a.currency.code) {
240
- const { currencyList: i } = this.store;
241
- i.length > 0 && (i.some(
242
- (u) => u.value === `price.${a.currency.code}`
243
- ) || (o = i[0].value.replace("price.", ""), e.currency = {
244
- ...a.currency,
245
- code: o,
246
- symbol: o
229
+ const t = h.getConfig(this.currentNode), o = {};
230
+ let e = null, r = null, l = null;
231
+ if (t.currency.code === s.currency.code) {
232
+ const { currencyList: n } = this.store;
233
+ n.length > 0 && (n.some(
234
+ (u) => u.value === `price.${s.currency.code}`
235
+ ) || (e = n[0].value.replace("price.", ""), o.currency = {
236
+ ...s.currency,
237
+ code: e,
238
+ symbol: e
247
239
  }));
248
240
  }
249
- if (t.strategy === a.strategy) {
250
- const i = this.store.getActivePredictiveAlgorithms;
251
- i.length > 0 && (i.some(
252
- (u) => u.value === a.strategy
253
- ) || (r = i[0].value, e.strategy = r));
241
+ if (t.strategy === s.strategy) {
242
+ const n = this.store.getActivePredictiveAlgorithms;
243
+ n.length > 0 && (n.some(
244
+ (u) => u.value === s.strategy
245
+ ) || (r = n[0].value, o.strategy = r));
254
246
  }
255
- if (t.language === a.language) {
256
- const i = this.store.getLanguages;
257
- i.length > 0 && (i.some(
258
- (u) => u.value === a.language
259
- ) || (n = i[0].value, e.language = n));
247
+ if (t.language === s.language) {
248
+ const n = this.store.getLanguages;
249
+ n.length > 0 && (n.some(
250
+ (u) => u.value === s.language
251
+ ) || (l = n[0].value, o.language = l));
260
252
  }
261
- !o && !r && !n || (h.updateConfig(
253
+ !e && !r && !l || (h.updateConfig(
262
254
  this.api,
263
255
  this.currentNode,
264
- e,
256
+ o,
265
257
  "Applied smart defaults"
266
258
  ), this.store.patchCurrentBlockConfig({
267
- ...o ? {
259
+ ...e ? {
268
260
  currencySettings: {
269
- name: o,
270
- value: o,
271
- symbol: o,
272
- alignment: a.currency.alignment === "before" ? "0" : "1",
273
- decimalCount: a.currency.decimalCount.toString(),
274
- decimalSeparator: a.currency.decimalSeparator,
275
- thousandSeparator: a.currency.thousandSeparator
261
+ name: e,
262
+ value: e,
263
+ symbol: e,
264
+ alignment: s.currency.alignment === "before" ? "0" : "1",
265
+ decimalCount: s.currency.decimalCount.toString(),
266
+ decimalSeparator: s.currency.decimalSeparator,
267
+ thousandSeparator: s.currency.thousandSeparator
276
268
  }
277
269
  } : {},
278
270
  ...r ? { strategy: r } : {},
279
- ...n ? { language: n } : {}
271
+ ...l ? { language: l } : {}
280
272
  }, { triggerRefetch: !1 }));
281
273
  }
282
274
  /**
283
275
  * Reads the recommendation-id attribute from the block element within the node
284
276
  */
285
277
  _getRecommendationIdFromNode(t) {
286
- const e = L(t);
287
- if (!e || !("getAttribute" in e))
278
+ const o = L(t);
279
+ if (!o || !("getAttribute" in o))
288
280
  return null;
289
- const o = e.getAttribute(k);
290
- if (!o)
281
+ const e = o.getAttribute(k);
282
+ if (!e)
291
283
  return null;
292
- const r = parseInt(o);
284
+ const r = parseInt(e);
293
285
  return Number.isNaN(r) ? null : r;
294
286
  }
295
287
  /**
@@ -307,17 +299,17 @@ class H extends g {
307
299
  */
308
300
  _listenStateUpdates() {
309
301
  const { store: t } = this;
310
- let e = t.recommendationProducts, o = t.$state.configVersion, r = t.currentRecommendationId;
302
+ let o = t.recommendationProducts, e = t.$state.configVersion, r = t.currentRecommendationId;
311
303
  this.storeUnsubscription = t.$subscribe(() => {
312
- const n = t.currentRecommendationId;
313
- if (n !== r) {
314
- r = n, e = t.recommendationProducts, o = t.$state.configVersion;
304
+ const l = t.currentRecommendationId;
305
+ if (l !== r) {
306
+ r = l, o = t.recommendationProducts, e = t.$state.configVersion;
315
307
  return;
316
308
  }
317
- const i = t.$state.configVersion;
318
- i !== o && (o = i, this._persistFiltersToNodeConfig(), this._debouncedFetchProducts());
319
- const c = t.recommendationProducts, u = c !== e, C = Array.isArray(c) && c.length > 0;
320
- u && C && (e = c, this._debouncedRegenerateWithProducts());
309
+ const n = t.$state.configVersion;
310
+ n !== e && (e = n, this._persistFiltersToNodeConfig(), this._debouncedFetchProducts());
311
+ const a = t.recommendationProducts, u = a !== o, C = Array.isArray(a) && a.length > 0;
312
+ u && C && (o = a, this._debouncedRegenerateWithProducts());
321
313
  });
322
314
  }
323
315
  /**
@@ -344,12 +336,12 @@ export {
344
336
  N as CurrencyControl,
345
337
  tt as FILTERS_CONTROL_ID,
346
338
  _ as FiltersControl,
347
- ot as LAYOUT_ORIENTATION_CONTROL_ID,
339
+ et as LAYOUT_ORIENTATION_CONTROL_ID,
348
340
  nt as LOCALE_CONTROL_ID,
349
341
  b as LayoutOrientationControl,
350
342
  O as LocaleControl,
351
343
  st as PRODUCT_COUNT_CONTROL_ID,
352
- lt as PRODUCT_LAYOUT_CONTROL_ID,
344
+ ct as PRODUCT_LAYOUT_CONTROL_ID,
353
345
  I as ProductCountControl,
354
346
  T as ProductLayoutControl,
355
347
  H as RecommendationBlockControl,
@@ -3,12 +3,12 @@ var p = (o, e, t) => e in o ? O(o, e, { enumerable: !0, configurable: !0, writab
3
3
  var r = (o, e, t) => p(o, typeof e != "symbol" ? e + "" : e, t);
4
4
  import { ModificationDescription as h } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  import { CommonControl as N } from "../../../common-control.js";
6
- import { ATTR_DATA_CUSTOM_ATTRIBUTES as L } from "../../constants/selectors.js";
7
- import { LAYOUT_OPTIONS as T, DEFAULT_MOBILE_ROW_SPACING as m, DEFAULT_MOBILE_COLUMN_SPACING as d, DEFAULT_ROW_SPACING as l, DEFAULT_COLUMN_SPACING as g } from "../../constants/layout.js";
8
- import { DEFAULT_COMPOSITION as _ } from "../../constants/defaultConfig.js";
9
6
  import { RecommendationConfigService as s } from "../../services/configService.js";
10
- import { useRecommendationExtensionStore as f } from "../../store/recommendation.js";
11
- import { getCurrentLayout as C, getBlockElement as I, regenerateProductRowsWithStyles as S } from "./utils.js";
7
+ import { useRecommendationExtensionStore as L } from "../../store/recommendation.js";
8
+ import { getCurrentLayout as m, getBlockElement as T, regenerateProductRowsWithStyles as f } from "./utils.js";
9
+ import { LAYOUT_OPTIONS as I, DEFAULT_MOBILE_ROW_SPACING as d, DEFAULT_MOBILE_COLUMN_SPACING as l, DEFAULT_ROW_SPACING as g, DEFAULT_COLUMN_SPACING as _ } from "../../constants/layout.js";
10
+ import { DEFAULT_COMPOSITION as C } from "../../constants/defaultConfig.js";
11
+ import { ATTR_DATA_CUSTOM_ATTRIBUTES as S } from "../../constants/selectors.js";
12
12
  const U = "recommendation-layout-orientation-control", A = "recommendationInfoBannerTest", a = {
13
13
  LAYOUT: "layout"
14
14
  }, y = "data-card-composition", i = {
@@ -21,7 +21,7 @@ const U = "recommendation-layout-orientation-control", A = "recommendationInfoBa
21
21
  class Y extends N {
22
22
  constructor() {
23
23
  super(...arguments);
24
- r(this, "store", f());
24
+ r(this, "store", L());
25
25
  r(this, "isChangingLayout", !1);
26
26
  }
27
27
  getId() {
@@ -36,7 +36,7 @@ class Y extends N {
36
36
  this._GuLabel({ text: this.api.translate("Layout Orientation") }),
37
37
  this._GuRadioButton({
38
38
  name: a.LAYOUT,
39
- buttons: T
39
+ buttons: I
40
40
  })
41
41
  ])}
42
42
  </div>
@@ -55,7 +55,7 @@ class Y extends N {
55
55
  super.onTemplateNodeUpdated(t), this._setFormValues();
56
56
  }
57
57
  _setFormValues() {
58
- const u = s.getConfig(this.currentNode).layout || C(this.currentNode);
58
+ const u = s.getConfig(this.currentNode).layout || m(this.currentNode);
59
59
  this.api.updateValues({
60
60
  [a.LAYOUT]: u
61
61
  });
@@ -65,9 +65,9 @@ class Y extends N {
65
65
  * Updates node config, data attribute and regenerates product rows
66
66
  */
67
67
  _onLayoutChange(t) {
68
- if (this.isChangingLayout || !this.currentNode || (s.getConfig(this.currentNode).layout || C(this.currentNode)) === t)
68
+ if (this.isChangingLayout || !this.currentNode || (s.getConfig(this.currentNode).layout || m(this.currentNode)) === t)
69
69
  return;
70
- const c = I(this.currentNode);
70
+ const c = T(this.currentNode);
71
71
  if (c) {
72
72
  this.isChangingLayout = !0;
73
73
  try {
@@ -76,15 +76,15 @@ class Y extends N {
76
76
  this.currentNode,
77
77
  {
78
78
  layout: t,
79
- columnSpacing: g,
80
- rowSpacing: l,
81
- mobileColumnSpacing: d,
82
- mobileRowSpacing: m
79
+ columnSpacing: _,
80
+ rowSpacing: g,
81
+ mobileColumnSpacing: l,
82
+ mobileRowSpacing: d
83
83
  },
84
84
  `Changed layout to ${t}`
85
85
  ), this.store.patchCurrentBlockConfig({ orientation: t });
86
- const n = this.api.getDocumentModifier().modifyHtml(c).setAttribute(i.LAYOUT, t).setAttribute(i.COLUMN_SPACING, g.toString()).setAttribute(i.ROW_SPACING, l.toString()).setAttribute(i.MOBILE_COLUMN_SPACING, d.toString()).setAttribute(i.MOBILE_ROW_SPACING, m.toString());
87
- t === "list" ? (n.setClass("es-m-p0"), n.setClass("ins-recommendation-list-layout")) : (n.removeClass("es-m-p0"), n.removeClass("ins-recommendation-list-layout")), n.setAttribute(y, _.join(",")).setAttribute(L, "[]"), n.apply(new h(`Update layout to ${t}`)), this._regenerateProductRows(t);
86
+ const n = this.api.getDocumentModifier().modifyHtml(c).setAttribute(i.LAYOUT, t).setAttribute(i.COLUMN_SPACING, _.toString()).setAttribute(i.ROW_SPACING, g.toString()).setAttribute(i.MOBILE_COLUMN_SPACING, l.toString()).setAttribute(i.MOBILE_ROW_SPACING, d.toString());
87
+ t === "list" ? (n.setClass("es-m-p0"), n.setClass("ins-recommendation-list-layout")) : (n.removeClass("es-m-p0"), n.removeClass("ins-recommendation-list-layout")), n.setAttribute(y, C.join(",")).setAttribute(S, "[]"), n.apply(new h(`Update layout to ${t}`)), this._regenerateProductRows(t);
88
88
  } finally {
89
89
  this.isChangingLayout = !1;
90
90
  }
@@ -96,11 +96,11 @@ class Y extends N {
96
96
  * @param layout - The layout to use for regeneration (passed explicitly to avoid stale DOM reads)
97
97
  */
98
98
  _regenerateProductRows(t) {
99
- this.currentNode && S({
99
+ this.currentNode && f({
100
100
  currentNode: this.currentNode,
101
101
  documentModifier: this.api.getDocumentModifier(),
102
102
  layout: t,
103
- composition: _
103
+ composition: C
104
104
  });
105
105
  }
106
106
  _listenToFormUpdates() {
@@ -2,16 +2,16 @@ var s = Object.defineProperty;
2
2
  var u = (e, o, t) => o in e ? s(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t;
3
3
  var i = (e, o, t) => u(e, typeof o != "symbol" ? o + "" : o, t);
4
4
  import { CommonControl as a } from "../../../common-control.js";
5
- import { MAX_PRODUCT_COUNT as c } from "../../constants/layout.js";
6
5
  import { RecommendationConfigService as n } from "../../services/configService.js";
7
- import { useRecommendationExtensionStore as d } from "../../store/recommendation.js";
6
+ import { useRecommendationExtensionStore as c } from "../../store/recommendation.js";
7
+ import { MAX_PRODUCT_COUNT as d } from "../../constants/layout.js";
8
8
  const C = "recommendation-product-count-control", r = {
9
9
  PRODUCT_COUNT: "size"
10
10
  };
11
11
  class g extends a {
12
12
  constructor() {
13
13
  super(...arguments);
14
- i(this, "store", d());
14
+ i(this, "store", c());
15
15
  }
16
16
  getId() {
17
17
  return C;
@@ -21,7 +21,7 @@ class g extends a {
21
21
  <div class="product-count-control-container">
22
22
  ${this._GuTwoColumns([
23
23
  this._GuLabel({ text: this.api.translate("Number of Products") }),
24
- this._GuCounter({ name: r.PRODUCT_COUNT, maxValue: c })
24
+ this._GuCounter({ name: r.PRODUCT_COUNT, maxValue: d })
25
25
  ])}
26
26
  </div>
27
27
  `;