@useinsider/guido 2.0.0-beta.324bded → 2.0.0-beta.3f24769

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 (213) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +3 -1
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  6. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +8 -8
  7. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +11 -12
  8. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +8 -7
  9. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +12 -14
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +14 -10
  11. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +22 -18
  12. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +17 -0
  13. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +20 -0
  14. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  15. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +10 -11
  16. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +10 -11
  17. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +14 -15
  18. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  19. package/dist/components/organisms/header/LeftSlot.vue2.js +12 -11
  20. package/dist/components/organisms/header/MiddleSlot.vue.js +4 -5
  21. package/dist/components/organisms/header/MiddleSlot.vue2.js +13 -14
  22. package/dist/components/organisms/header/RightSlot.vue.js +12 -12
  23. package/dist/components/organisms/header/RightSlot.vue2.js +21 -27
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  25. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  26. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +19 -20
  27. package/dist/components/wrappers/WpModal.vue.js +3 -4
  28. package/dist/composables/useStripo.js +40 -40
  29. package/dist/config/migrator/recommendationMigrator.js +2 -2
  30. package/dist/enums/onboarding.js +2 -1
  31. package/dist/enums/unsubscribe.js +21 -20
  32. package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
  33. package/dist/extensions/Blocks/Recommendation/block.js +1 -1
  34. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  35. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  36. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +11 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +100 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +243 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +104 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +86 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +134 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +54 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +106 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +64 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +123 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +60 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +112 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +224 -0
  61. package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
  62. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +5 -0
  63. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
  64. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +20 -20
  65. package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +157 -0
  66. package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +72 -0
  67. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  68. package/dist/extensions/Blocks/Recommendation/templates/utils.js +173 -0
  69. package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +186 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +251 -0
  71. package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +61 -0
  72. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  73. package/dist/extensions/Blocks/controlFactories.js +155 -121
  74. package/dist/guido.css +1 -1
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +361 -291
  76. package/dist/package.json.js +1 -1
  77. package/dist/services/stripoApi.js +6 -10
  78. package/dist/src/@types/config/schemas.d.ts +4 -0
  79. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  80. package/dist/src/composables/useConfig.d.ts +2 -0
  81. package/dist/src/enums/onboarding.d.ts +1 -0
  82. package/dist/src/enums/unsubscribe.d.ts +1 -0
  83. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  84. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  85. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +11 -0
  86. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +41 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +34 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +17 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +16 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +54 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +15 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +40 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +15 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +81 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +77 -0
  112. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  113. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
  114. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +8 -0
  115. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +25 -0
  116. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +18 -0
  117. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  118. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +45 -0
  119. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +7 -0
  120. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → vertical/migration.d.ts} +11 -4
  121. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +33 -0
  122. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  123. package/dist/src/stores/config.d.ts +17 -0
  124. package/dist/static/assets/inbox-mockup.svg.js +4 -0
  125. package/dist/static/assets/phone-mockup.svg.js +4 -0
  126. package/dist/static/styles/components/wide-panel.css.js +0 -4
  127. package/dist/static/styles/customEditorStyle.css.js +38 -2
  128. package/package.json +3 -3
  129. package/dist/enums/academy.js +0 -8
  130. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  131. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  132. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  133. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  134. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  135. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  136. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  138. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  139. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  140. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  141. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  142. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  143. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  144. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  145. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  146. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  147. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  148. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  149. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  150. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  151. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  152. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  153. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  154. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  155. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  156. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  157. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  158. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  159. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  160. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  161. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  162. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  163. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  164. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  165. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  166. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  167. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  168. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  169. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  170. package/dist/src/enums/academy.d.ts +0 -12
  171. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  172. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  173. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  197. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  208. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  209. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +0 -4
  210. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +0 -4
  211. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +0 -4
  212. package/dist/static/assets/mobile/email-mockup.svg.js +0 -4
  213. package/dist/static/assets/mobile/inbox-mockup.svg.js +0 -4
@@ -0,0 +1,224 @@
1
+ var A = Object.defineProperty;
2
+ var y = (n, i, t) => i in n ? A(n, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[i] = t;
3
+ var p = (n, i, t) => y(n, typeof i != "symbol" ? i + "" : i, t);
4
+ import { ModificationDescription as d } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as b } from "../../../common-control.js";
6
+ import { useRecommendationExtensionStore as P } from "../../store/recommendation.js";
7
+ import { useDebounceFn as N } from "../../../../../node_modules/@vueuse/shared/index.js";
8
+ const O = "recommendation-spacing-control", a = {
9
+ COLUMN_SPACING: "columnSpacing",
10
+ COLUMN_SPACING_LABEL: "columnSpacingLabel",
11
+ ROW_SPACING: "rowSpacing"
12
+ }, _ = {
13
+ COLUMN_SPACING: "data-column-spacing",
14
+ ROW_SPACING: "data-row-spacing"
15
+ }, s = {
16
+ COLUMN_SPACING: 10,
17
+ // 5px on each side = 10px total
18
+ ROW_SPACING: 20
19
+ }, u = {
20
+ MIN_SPACING: 0,
21
+ MAX_SPACING: 50,
22
+ STEP: 5
23
+ };
24
+ function S(n, i) {
25
+ return !n || !("getStyle" in n) ? null : n.getStyle(i);
26
+ }
27
+ function I(n) {
28
+ return !n || !("parent" in n) || typeof n.parent != "function" ? null : n.parent();
29
+ }
30
+ function C(n, i) {
31
+ if (!n)
32
+ return i;
33
+ const t = parseFloat(n);
34
+ return Number.isNaN(t) ? i : t;
35
+ }
36
+ class w extends b {
37
+ constructor() {
38
+ super(...arguments);
39
+ p(this, "store", P());
40
+ p(this, "unsubscribeOrientation", null);
41
+ /**
42
+ * Debounced version of _onColumnSpacingChange
43
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
44
+ */
45
+ p(this, "_debouncedOnColumnSpacingChange", N((t) => {
46
+ this._onColumnSpacingChange(t);
47
+ }, 300));
48
+ /**
49
+ * Debounced version of _onRowSpacingChange
50
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
51
+ */
52
+ p(this, "_debouncedOnRowSpacingChange", N((t) => {
53
+ this._onRowSpacingChange(t);
54
+ }, 300));
55
+ }
56
+ getId() {
57
+ return O;
58
+ }
59
+ getTemplate() {
60
+ return `
61
+ <div class="spacing-control-container">
62
+ ${this._GuTwoColumns([
63
+ this._GuLabel({ text: "Column Spacing (px)", name: a.COLUMN_SPACING_LABEL }),
64
+ this._GuCounter({
65
+ name: a.COLUMN_SPACING,
66
+ minValue: u.MIN_SPACING,
67
+ maxValue: u.MAX_SPACING,
68
+ step: u.STEP
69
+ }),
70
+ this._GuLabel({ text: "Row Spacing (px)" }),
71
+ this._GuCounter({
72
+ name: a.ROW_SPACING,
73
+ minValue: u.MIN_SPACING,
74
+ maxValue: u.MAX_SPACING,
75
+ step: u.STEP
76
+ })
77
+ ])}
78
+ </div>
79
+ `;
80
+ }
81
+ onRender() {
82
+ this._setFormValues(), this._updateColumnSpacingVisibility(), this._listenToFormUpdates(), this._subscribeToOrientationChanges();
83
+ }
84
+ onTemplateNodeUpdated(t) {
85
+ super.onTemplateNodeUpdated(t), this._setFormValues(), this._updateColumnSpacingVisibility();
86
+ }
87
+ /**
88
+ * Gets the current layout orientation from the block's data attribute
89
+ */
90
+ _getCurrentLayout() {
91
+ if (!this.currentNode || !("querySelector" in this.currentNode))
92
+ return "vertical";
93
+ const t = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
94
+ return !t || !("getAttribute" in t) ? "vertical" : t.getAttribute("data-layout") === "horizontal" ? "horizontal" : "vertical";
95
+ }
96
+ /**
97
+ * Updates column spacing visibility based on layout orientation
98
+ * Column spacing is hidden for horizontal layout (products are stacked vertically)
99
+ * Reads from store first for reliability, falls back to DOM
100
+ */
101
+ _updateColumnSpacingVisibility() {
102
+ const r = (this.store.recommendationConfigs.orientation || this._getCurrentLayout()) === "vertical";
103
+ this.api.setVisibility(a.COLUMN_SPACING, r), this.api.setVisibility(a.COLUMN_SPACING_LABEL, r);
104
+ }
105
+ /**
106
+ * Reads spacing values from data attributes or returns defaults
107
+ */
108
+ _setFormValues() {
109
+ const t = this._getStoredColumnSpacing(), e = this._getStoredRowSpacing();
110
+ this.api.updateValues({
111
+ [a.COLUMN_SPACING]: t,
112
+ [a.ROW_SPACING]: e
113
+ });
114
+ }
115
+ /**
116
+ * Gets stored column spacing from the first attribute row cell's padding.
117
+ * For vertical layout: cells inside .recommendation-attribute-row have padding applied.
118
+ * For horizontal layout: the parent of .product-card-wrapper has the padding.
119
+ * The padding is applied as "0 {halfSpacing}px", so we extract and multiply by 2.
120
+ */
121
+ _getStoredColumnSpacing() {
122
+ if (!this.currentNode)
123
+ return s.COLUMN_SPACING;
124
+ if (this._getCurrentLayout() === "vertical") {
125
+ const o = this.currentNode.querySelector(".recommendation-attribute-row"), f = o == null ? void 0 : o.querySelector("td"), g = S(f, "padding");
126
+ if (!g)
127
+ return s.COLUMN_SPACING;
128
+ const m = g.trim().split(/\s+/);
129
+ return m.length < 2 ? s.COLUMN_SPACING : C(m[1], s.COLUMN_SPACING / 2) * 2;
130
+ }
131
+ const e = this.currentNode.querySelector(".product-card-wrapper"), r = I(e), l = S(r, "padding");
132
+ if (!l)
133
+ return s.COLUMN_SPACING;
134
+ const c = l.trim().split(/\s+/);
135
+ return c.length < 2 ? s.COLUMN_SPACING : C(c[1], s.COLUMN_SPACING / 2) * 2;
136
+ }
137
+ /**
138
+ * Gets stored row spacing from the first spacer element's height style
139
+ */
140
+ _getStoredRowSpacing() {
141
+ if (!this.currentNode)
142
+ return s.ROW_SPACING;
143
+ const t = this.currentNode.querySelector(".spacer"), e = S(t, "height");
144
+ return C(e, s.ROW_SPACING);
145
+ }
146
+ /**
147
+ * Handles column spacing changes.
148
+ * For vertical layout: applies horizontal padding to all cells inside attribute rows.
149
+ * For horizontal layout: applies padding to parent of product card wrappers.
150
+ */
151
+ _onColumnSpacingChange(t) {
152
+ if (!this.currentNode)
153
+ return;
154
+ this._storeColumnSpacing(t);
155
+ const e = this._getCurrentLayout(), r = this.api.getDocumentModifier(), c = `0 ${t / 2}px`;
156
+ e === "vertical" ? Array.from(
157
+ this.currentNode.querySelectorAll(".attribute-cell")
158
+ ).forEach((o) => {
159
+ r.modifyHtml(o).setStyle("padding", c);
160
+ }) : Array.from(
161
+ this.currentNode.querySelectorAll(".product-card-wrapper")
162
+ ).forEach((o) => {
163
+ "parent" in o && o.parent() && r.modifyHtml(o.parent()).setStyle("padding", c);
164
+ }), r.apply(new d(`Update column spacing to ${t}px`));
165
+ }
166
+ /**
167
+ * Handles row spacing changes
168
+ * Applies height to all spacer elements between product rows
169
+ */
170
+ _onRowSpacingChange(t) {
171
+ if (!this.currentNode)
172
+ return;
173
+ this._storeRowSpacing(t);
174
+ const e = Array.from(
175
+ this.currentNode.querySelectorAll(".spacer")
176
+ );
177
+ if (!e.length)
178
+ return;
179
+ const r = this.api.getDocumentModifier(), l = `${t}px`;
180
+ e.forEach((c) => {
181
+ r.modifyHtml(c).setStyle("height", l);
182
+ }), r.apply(new d(`Update row spacing to ${t}px`));
183
+ }
184
+ /**
185
+ * Stores column spacing value in block data attribute
186
+ */
187
+ _storeColumnSpacing(t) {
188
+ if (!this.currentNode)
189
+ return;
190
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
191
+ e && this.api.getDocumentModifier().modifyHtml(e).setAttribute(_.COLUMN_SPACING, t.toString()).apply(new d("Store column spacing"));
192
+ }
193
+ /**
194
+ * Stores row spacing value in block data attribute
195
+ */
196
+ _storeRowSpacing(t) {
197
+ if (!this.currentNode)
198
+ return;
199
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
200
+ e && this.api.getDocumentModifier().modifyHtml(e).setAttribute(_.ROW_SPACING, t.toString()).apply(new d("Store row spacing"));
201
+ }
202
+ _listenToFormUpdates() {
203
+ this.api.onValueChanged(a.COLUMN_SPACING, (t) => {
204
+ const e = parseInt(t);
205
+ Number.isNaN(e) || this._debouncedOnColumnSpacingChange(e);
206
+ }), this.api.onValueChanged(a.ROW_SPACING, (t) => {
207
+ const e = parseInt(t);
208
+ Number.isNaN(e) || this._debouncedOnRowSpacingChange(e);
209
+ });
210
+ }
211
+ /**
212
+ * Subscribe to store orientation changes
213
+ * Updates column spacing visibility when layout changes via the layout control
214
+ */
215
+ _subscribeToOrientationChanges() {
216
+ this.unsubscribeOrientation && this.unsubscribeOrientation(), this.unsubscribeOrientation = this.store.$subscribe((t) => {
217
+ t.type === "patch object" && this._updateColumnSpacingVisibility();
218
+ });
219
+ }
220
+ }
221
+ export {
222
+ O as SPACING_CONTROL_ID,
223
+ w as SpacingControl
224
+ };
@@ -1,45 +1,42 @@
1
- import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationBlock as r } from "./block.js";
3
- import { RecommendationCardCompositionControl as t } from "./cardCompositionControl.js";
4
- import { RecommendationBlockControl as n } from "./control.js";
5
- import { ButtonAlignControl as d } from "./controls/button/align.js";
6
- import { ButtonBorderControl as l } from "./controls/button/border.js";
7
- import { ButtonBorderRadiusControl as m } from "./controls/button/borderRadius.js";
8
- import { ButtonColorControl as i } from "./controls/button/color.js";
9
- import { ButtonFitToContentControl as C } from "./controls/button/fitToContent.js";
10
- import { ButtonFontFamilyControl as a } from "./controls/button/fontFamily.js";
11
- import { ButtonMarginsControl as e } from "./controls/button/margins.js";
12
- import { ButtonPaddingsControl as p } from "./controls/button/paddings.js";
13
- import { ButtonTextControl as f } from "./controls/button/text.js";
14
- import { ButtonTextSizeControl as c } from "./controls/button/textSize.js";
15
- import { ButtonTextStyleAndFontColorControl as s } from "./controls/button/textStyleAndFontColor.js";
16
- import { ImageMarginsControl as g } from "./controls/image/margins.js";
17
- import { ImageSizeControl as B } from "./controls/image/size.js";
18
- import { NameAlignControl as P } from "./controls/name/align.js";
19
- import { NameBackgroundControl as u } from "./controls/name/background.js";
20
- import { NameColorControl as y } from "./controls/name/color.js";
21
- import { NameFontFamilyControl as S } from "./controls/name/fontFamily.js";
22
- import { NamePaddingsControl as F } from "./controls/name/paddings.js";
23
- import { NameSizeControl as R } from "./controls/name/size.js";
24
- import { NameStyleControl as N } from "./controls/name/style.js";
25
- import { OldPriceAlignControl as O } from "./controls/oldPrice/align.js";
26
- import { OldPriceBackgroundControl as k } from "./controls/oldPrice/background.js";
27
- import { OldPriceColorControl as x } from "./controls/oldPrice/color.js";
28
- import { OldPriceFontFamilyControl as z } from "./controls/oldPrice/fontFamily.js";
29
- import { OldPricePaddingsControl as A } from "./controls/oldPrice/paddings.js";
30
- import { OldPriceSizeControl as I } from "./controls/oldPrice/size.js";
31
- import { OldPriceStyleControl as T } from "./controls/oldPrice/style.js";
32
- import { PriceAlignControl as w } from "./controls/price/align.js";
33
- import { PriceBackgroundControl as h } from "./controls/price/background.js";
34
- import { PriceColorControl as M } from "./controls/price/color.js";
35
- import { PriceFontFamilyControl as b } from "./controls/price/fontFamily.js";
36
- import { PricePaddingsControl as E } from "./controls/price/paddings.js";
37
- import { PriceSizeControl as j } from "./controls/price/size.js";
38
- import { PriceStyleControl as q } from "./controls/price/style.js";
39
- import { RecommendationIconsRegistry as v } from "./iconsRegistry.js";
40
- import D from "./recommendation.css.js";
41
- import { SettingsPanel as G } from "./settingsPanel.js";
42
- const Io = new o().addBlock(r).withSettingsPanelRegistry(G).addControl(n).addControl(d).addControl(l).addControl(m).addControl(i).addControl(C).addControl(a).addControl(e).addControl(p).addControl(f).addControl(c).addControl(s).addControl(g).addControl(B).addControl(P).addControl(u).addControl(y).addControl(S).addControl(F).addControl(R).addControl(N).addControl(O).addControl(k).addControl(x).addControl(z).addControl(A).addControl(I).addControl(T).addControl(w).addControl(h).addControl(M).addControl(b).addControl(E).addControl(j).addControl(q).addControl(t).addStyles(D).withIconsRegistry(v).build();
1
+ import { ExtensionBuilder as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationBlock as m } from "./block.js";
3
+ import { RecommendationBlockControl as n } from "./controls/main/index.js";
4
+ import "./store/recommendation.js";
5
+ import { NameControls as i } from "./controls/name/index.js";
6
+ import { PriceControls as e } from "./controls/price/index.js";
7
+ import { OldPriceControls as l } from "./controls/oldPrice/index.js";
8
+ import { OmnibusPriceControls as s } from "./controls/omnibusPrice/index.js";
9
+ import { OmnibusDiscountControls as a } from "./controls/omnibusDiscount/index.js";
10
+ import { ButtonControls as p } from "./controls/button/index.js";
11
+ import { ImageControls as c } from "./controls/image/index.js";
12
+ import { SpacingControl as C } from "./controls/spacing/index.js";
13
+ import { CardBackgroundColorControl as d } from "./controls/cardBackground/index.js";
14
+ import { LayoutControl as f } from "./controls/layout/index.js";
15
+ import { RecommendationCardCompositionControl as u } from "./controls/cardComposition/index.js";
16
+ import { RecommendationIconsRegistry as g } from "./iconsRegistry.js";
17
+ import R from "./recommendation.css.js";
18
+ import { SettingsPanel as y } from "./settingsPanel.js";
19
+ const B = [
20
+ i,
21
+ e,
22
+ l,
23
+ s,
24
+ a,
25
+ p,
26
+ c
27
+ ], P = [
28
+ n,
29
+ d,
30
+ f,
31
+ C,
32
+ u
33
+ ], b = [
34
+ ...P,
35
+ ...B.flatMap((o) => Object.values(o))
36
+ ], F = b.reduce(
37
+ (o, t) => o.addControl(t),
38
+ new r().addBlock(m).withSettingsPanelRegistry(y)
39
+ ).addStyles(R).withIconsRegistry(g).build();
43
40
  export {
44
- Io as default
41
+ F as default
45
42
  };
@@ -13,6 +13,11 @@ const n = `/* Utils */
13
13
  .container:has(.recommendation-controls-container) {
14
14
  padding: 0
15
15
  }
16
+
17
+ /* Hide drag icon for horizontal layout (ordering disabled) */
18
+ ue-orderable.orderable-disabled .droppable-icon {
19
+ display: none;
20
+ }
16
21
  `;
17
22
  export {
18
23
  n as default
@@ -1,117 +1,173 @@
1
- import { SettingsPanelRegistry as N, SettingsPanelTab as _, SettingsTab as E, ContainerControls as S, TextControls as L } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ import { SettingsPanelRegistry as S, SettingsPanelTab as I, SettingsTab as T, ContainerControls as E, TextControls as C } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { BLOCK_ID as R } from "./block.js";
3
- import { COMPOSITION_CONTROL_BLOCK_ID as C } from "./cardCompositionControl.js";
4
- import { RecommendationBlockId as I, RecommendationControlId as T } from "./constants.js";
5
- import { CONTROL_BLOCK_ID as e } from "./control.js";
6
- class G extends N {
3
+ import { RecommendationBlockId as N } from "./constants/blockIds.js";
4
+ import { RecommendationControlId as _ } from "./constants/controlIds.js";
5
+ import { CONTROL_BLOCK_ID as L } from "./controls/main/index.js";
6
+ import "./store/recommendation.js";
7
+ import "./controls/name/index.js";
8
+ import "./controls/price/index.js";
9
+ import "./controls/oldPrice/index.js";
10
+ import "./controls/omnibusPrice/index.js";
11
+ import "./controls/omnibusDiscount/index.js";
12
+ import "./controls/button/index.js";
13
+ import "./controls/image/index.js";
14
+ import { SPACING_CONTROL_ID as U } from "./controls/spacing/index.js";
15
+ import { CARD_BACKGROUND_COLOR_CONTROL_ID as B } from "./controls/cardBackground/index.js";
16
+ import { LAYOUT_CONTROL_ID as D } from "./controls/layout/index.js";
17
+ import { COMPOSITION_CONTROL_BLOCK_ID as A } from "./controls/cardComposition/index.js";
18
+ class s extends S {
7
19
  registerBlockControls(O) {
8
20
  O[R] = [
9
- new _(
10
- E.SETTINGS,
21
+ new I(
22
+ T.SETTINGS,
11
23
  [
12
- e,
13
- S.EXTERNAL_INDENTS
24
+ L,
25
+ E.EXTERNAL_INDENTS
14
26
  ]
15
27
  ),
16
- new _(
17
- E.STYLES,
28
+ new I(
29
+ T.STYLES,
18
30
  [
19
- L.TEXT_BLOCK_BACKGROUND_COLOR
31
+ C.TEXT_BLOCK_BACKGROUND_COLOR,
32
+ B,
33
+ D,
34
+ U
20
35
  ]
21
36
  ),
22
- new _(
37
+ new I(
23
38
  "Card Composition",
24
39
  [
25
- C
40
+ A
26
41
  ]
27
42
  ).withLabel("Card Composition")
28
- ], O[I.NAME] = [
29
- new _(
30
- E.SETTINGS,
43
+ ], O[N.NAME] = [
44
+ new I(
45
+ T.SETTINGS,
31
46
  [
32
- T.NAME_BACKGROUND,
33
- T.NAME_COLOR,
34
- T.NAME_SIZE,
35
- T.NAME_STYLE,
36
- T.NAME_FONT_FAMILY
47
+ _.NAME_STYLE,
48
+ _.NAME_ALIGN,
49
+ _.NAME_TEXT_TRIM,
50
+ _.NAME_PADDINGS
37
51
  ]
38
52
  ),
39
- new _(
40
- E.STYLES,
53
+ new I(
54
+ T.STYLES,
41
55
  [
42
- T.NAME_ALIGN,
43
- T.NAME_PADDINGS
56
+ _.NAME_BACKGROUND,
57
+ _.NAME_FONT_FAMILY,
58
+ _.NAME_SIZE,
59
+ _.NAME_COLOR
44
60
  ]
45
61
  )
46
- ], O[I.PRICE] = [
47
- new _(
48
- E.SETTINGS,
62
+ ], O[N.PRICE] = [
63
+ new I(
64
+ T.SETTINGS,
49
65
  [
50
- T.PRICE_BACKGROUND,
51
- T.PRICE_COLOR,
52
- T.PRICE_SIZE,
53
- T.PRICE_STYLE,
54
- T.PRICE_FONT_FAMILY
66
+ _.PRICE_STYLE,
67
+ _.PRICE_ALIGN,
68
+ _.PRICE_PADDINGS
55
69
  ]
56
70
  ),
57
- new _(
58
- E.STYLES,
71
+ new I(
72
+ T.STYLES,
59
73
  [
60
- T.PRICE_ALIGN,
61
- T.PRICE_PADDINGS
74
+ _.PRICE_BACKGROUND,
75
+ _.PRICE_FONT_FAMILY,
76
+ _.PRICE_SIZE,
77
+ _.PRICE_COLOR
62
78
  ]
63
79
  )
64
- ], O[I.OLD_PRICE] = [
65
- new _(
66
- E.SETTINGS,
80
+ ], O[N.OLD_PRICE] = [
81
+ new I(
82
+ T.SETTINGS,
67
83
  [
68
- T.OLD_PRICE_BACKGROUND,
69
- T.OLD_PRICE_COLOR,
70
- T.OLD_PRICE_SIZE,
71
- T.OLD_PRICE_STYLE,
72
- T.OLD_PRICE_FONT_FAMILY
84
+ _.OLD_PRICE_STYLE,
85
+ _.OLD_PRICE_ALIGN,
86
+ _.OLD_PRICE_PADDINGS
73
87
  ]
74
88
  ),
75
- new _(
76
- E.STYLES,
89
+ new I(
90
+ T.STYLES,
77
91
  [
78
- T.OLD_PRICE_ALIGN,
79
- T.OLD_PRICE_PADDINGS
92
+ _.OLD_PRICE_BACKGROUND,
93
+ _.OLD_PRICE_FONT_FAMILY,
94
+ _.OLD_PRICE_SIZE,
95
+ _.OLD_PRICE_COLOR
80
96
  ]
81
97
  )
82
- ], O[I.BUTTON] = [
83
- new _(
84
- E.SETTINGS,
98
+ ], O[N.OMNIBUS_PRICE] = [
99
+ new I(
100
+ T.SETTINGS,
85
101
  [
86
- T.BUTTON_TEXT,
87
- T.BUTTON_ALIGN,
88
- T.BUTTON_MARGINS,
89
- T.BUTTON_PADDINGS
102
+ _.OMNIBUS_PRICE_TEXT_BEFORE,
103
+ _.OMNIBUS_PRICE_TEXT_AFTER,
104
+ _.OMNIBUS_PRICE_STYLE,
105
+ _.OMNIBUS_PRICE_ALIGN,
106
+ _.OMNIBUS_PRICE_PADDINGS
90
107
  ]
91
108
  ),
92
- new _(
93
- E.STYLES,
109
+ new I(
110
+ T.STYLES,
94
111
  [
95
- T.BUTTON_COLOR,
96
- T.BUTTON_FONT_FAMILY,
97
- T.BUTTON_TEXT_SIZE,
98
- T.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
99
- T.BUTTON_FIT_TO_CONTENT,
100
- T.BUTTON_BORDER_RADIUS,
101
- T.BUTTON_BORDER
112
+ _.OMNIBUS_PRICE_BACKGROUND,
113
+ _.OMNIBUS_PRICE_FONT_FAMILY,
114
+ _.OMNIBUS_PRICE_SIZE,
115
+ _.OMNIBUS_PRICE_COLOR
102
116
  ]
103
117
  )
104
- ], O[I.IMAGE] = [
105
- new _(
106
- E.SETTINGS,
118
+ ], O[N.OMNIBUS_DISCOUNT] = [
119
+ new I(
120
+ T.SETTINGS,
107
121
  [
108
- T.IMAGE_SIZE,
109
- T.IMAGE_MARGINS
122
+ _.OMNIBUS_DISCOUNT_TEXT_BEFORE,
123
+ _.OMNIBUS_DISCOUNT_TEXT_AFTER,
124
+ _.OMNIBUS_DISCOUNT_STYLE,
125
+ _.OMNIBUS_DISCOUNT_ALIGN,
126
+ _.OMNIBUS_DISCOUNT_PADDINGS
127
+ ]
128
+ ),
129
+ new I(
130
+ T.STYLES,
131
+ [
132
+ _.OMNIBUS_DISCOUNT_BACKGROUND,
133
+ _.OMNIBUS_DISCOUNT_FONT_FAMILY,
134
+ _.OMNIBUS_DISCOUNT_SIZE,
135
+ _.OMNIBUS_DISCOUNT_COLOR
136
+ ]
137
+ )
138
+ ], O[N.BUTTON] = [
139
+ new I(
140
+ T.SETTINGS,
141
+ [
142
+ _.BUTTON_TEXT,
143
+ _.BUTTON_ALIGN,
144
+ _.BUTTON_PADDINGS,
145
+ _.BUTTON_MARGINS
146
+ ]
147
+ ),
148
+ new I(
149
+ T.STYLES,
150
+ [
151
+ _.BUTTON_COLOR,
152
+ _.BUTTON_FONT_FAMILY,
153
+ _.BUTTON_TEXT_SIZE,
154
+ _.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
155
+ _.BUTTON_FIT_TO_CONTENT,
156
+ _.BUTTON_BORDER_RADIUS,
157
+ _.BUTTON_BORDER
158
+ ]
159
+ )
160
+ ], O[N.IMAGE] = [
161
+ new I(
162
+ T.SETTINGS,
163
+ [
164
+ _.IMAGE_SIZE,
165
+ _.IMAGE_MARGINS
110
166
  ]
111
167
  )
112
168
  ];
113
169
  }
114
170
  }
115
171
  export {
116
- G as SettingsPanel
172
+ s as SettingsPanel
117
173
  };
@@ -1,9 +1,9 @@
1
- import { RecommendationFeedSourceMaps as n, PriceAttributes as u } from "../../../../enums/extensions/recommendationBlock.js";
2
- import { useRecommendationApi as l } from "../../../../services/recommendationApi.js";
3
- import { useConfigStore as c } from "../../../../stores/config.js";
4
- import { defineStore as p } from "pinia";
5
- import { generateCompleteFilterQuery as m } from "../utils/filterUtil.js";
6
- const a = l(), d = () => ({
1
+ import { RecommendationFeedSourceMaps as u, PriceAttributes as c } from "../../../../enums/extensions/recommendationBlock.js";
2
+ import { useRecommendationApi as p } from "../../../../services/recommendationApi.js";
3
+ import { useConfigStore as m } from "../../../../stores/config.js";
4
+ import { defineStore as d } from "pinia";
5
+ import { generateCompleteFilterQuery as l } from "../utils/filterUtil.js";
6
+ const n = p(), f = () => ({
7
7
  recommendationCampaignUrls: {},
8
8
  recommendationProducts: [],
9
9
  recommendationConfigs: {
@@ -134,8 +134,8 @@ const a = l(), d = () => ({
134
134
  filterSelectionDrawerStatus: !1,
135
135
  filterList: {},
136
136
  filterGroup: 1
137
- }), y = p("guidoRecommendationExtension", {
138
- state: () => d(),
137
+ }), C = d("guidoRecommendationExtension", {
138
+ state: () => f(),
139
139
  getters: {
140
140
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
141
141
  getFilterGroupCount: (e) => {
@@ -145,7 +145,7 @@ const a = l(), d = () => ({
145
145
  getActivePredictiveAlgorithms: (e) => {
146
146
  const t = [];
147
147
  return e.activePredictiveAlgorithms.forEach((r) => {
148
- t.push(...n.filter((i) => i.id === r));
148
+ t.push(...u.filter((i) => i.id === r));
149
149
  }), t.map((r) => ({
150
150
  text: r.name,
151
151
  value: r.key
@@ -160,7 +160,7 @@ const a = l(), d = () => ({
160
160
  value: t.text
161
161
  })),
162
162
  getFilterList: (e) => Object.values(e.filterList).map((t) => {
163
- const r = t.type === "defaultAttribute", i = u.includes(t.attributeName);
163
+ const r = t.type === "defaultAttribute", i = c.includes(t.attributeName);
164
164
  let o = r ? t.attributeName : `product_attributes.${t.attributeName}`;
165
165
  return o = i ? `${o}.${e.recommendationConfigs.currencySettings.value}` : o, {
166
166
  text: t.displayName,
@@ -178,13 +178,13 @@ const a = l(), d = () => ({
178
178
  activePredictiveAlgorithms: e,
179
179
  languages: t,
180
180
  currencies: r
181
- } = await a.fetchRecommendationCreateData();
181
+ } = await n.fetchRecommendationCreateData();
182
182
  this.activePredictiveAlgorithms = e, this.languages = t;
183
183
  const [i] = r;
184
184
  this.recommendationConfigs.currencySettings.name = i.text, this.recommendationConfigs.currencySettings.value = i.value, this.currencyList = r, this.filterStatus = !!this.recommendationConfigs.filters.length;
185
185
  },
186
186
  async fetchRecommendationFilters() {
187
- const e = await a.fetchRecommendationFilters();
187
+ const e = await n.fetchRecommendationFilters();
188
188
  this.filterList = e;
189
189
  },
190
190
  addFilterGroup(e) {
@@ -238,30 +238,30 @@ const a = l(), d = () => ({
238
238
  });
239
239
  },
240
240
  generateFilterQuery() {
241
- return m(this.recommendationConfigs.filters);
241
+ return l(this.recommendationConfigs.filters);
242
242
  },
243
243
  async fetchRecommendationProducts() {
244
- var o;
245
- const e = this.generateFilterQuery(), t = ((o = n.find((s) => s.key === this.recommendationConfigs.strategy)) == null ? void 0 : o.path) || "", r = c(), i = await a.fetchRecommendationProducts(
246
- t,
244
+ var s;
245
+ const e = this.recommendationConfigs.filters.filter((a) => a.isValid), t = l(e), r = ((s = u.find((a) => a.key === this.recommendationConfigs.strategy)) == null ? void 0 : s.path) || "", i = m(), o = await n.fetchRecommendationProducts(
246
+ r,
247
247
  {
248
248
  // TODO: Here will be optimized and filled carefully
249
249
  locale: this.recommendationConfigs.language,
250
250
  currency: this.recommendationConfigs.currencySettings.value,
251
- partnerName: r.partnerName,
251
+ partnerName: i.partnerName,
252
252
  productId: this.recommendationConfigs.strategy === "manualMerchandising" ? this.recommendationConfigs.productIds.join(",") : "{itemId}",
253
253
  size: this.recommendationConfigs.size,
254
254
  details: !0,
255
255
  campaignId: "{campaignId}",
256
- filter: e
256
+ filter: t
257
257
  }
258
258
  );
259
259
  this.$patch({
260
- recommendationProducts: i
260
+ recommendationProducts: o
261
261
  });
262
262
  }
263
263
  }
264
264
  });
265
265
  export {
266
- y as useRecommendationExtensionStore
266
+ C as useRecommendationExtensionStore
267
267
  };