@useinsider/guido 2.0.0-beta.d170da6 → 2.0.0-beta.d2098bd

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 (136) hide show
  1. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +8 -8
  2. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +12 -11
  3. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +7 -8
  4. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
  5. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +10 -14
  6. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +18 -22
  7. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  8. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +10 -10
  9. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
  10. package/dist/components/organisms/header/LeftSlot.vue.js +2 -2
  11. package/dist/components/organisms/header/MiddleSlot.vue.js +5 -4
  12. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -13
  13. package/dist/components/organisms/header/RightSlot.vue.js +7 -7
  14. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  15. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  16. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
  17. package/dist/components/wrappers/WpModal.vue.js +4 -3
  18. package/dist/enums/academy.js +8 -0
  19. package/dist/enums/onboarding.js +1 -2
  20. package/dist/enums/unsubscribe.js +20 -21
  21. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +69 -153
  22. package/dist/extensions/Blocks/Recommendation/constants.js +1 -9
  23. package/dist/extensions/Blocks/Recommendation/control.js +59 -74
  24. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/extension.js +42 -16
  59. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -117
  60. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +64 -85
  61. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +17 -54
  62. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +45 -74
  63. package/dist/guido.css +1 -1
  64. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +52 -47
  65. package/dist/src/enums/academy.d.ts +12 -0
  66. package/dist/src/enums/onboarding.d.ts +0 -1
  67. package/dist/src/enums/unsubscribe.d.ts +0 -1
  68. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +3 -50
  69. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -32
  70. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -5
  71. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  72. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  73. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  74. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  75. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  76. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  77. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  78. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  79. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  80. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  81. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  82. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  83. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  84. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  106. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +7 -15
  107. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  108. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  109. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  110. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  111. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  112. package/dist/static/styles/components/wide-panel.css.js +4 -0
  113. package/dist/static/styles/customEditorStyle.css.js +0 -13
  114. package/package.json +1 -1
  115. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  116. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  117. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  118. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  119. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  120. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +0 -71
  121. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +0 -71
  122. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +0 -71
  123. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +0 -71
  124. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  125. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
  126. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
  127. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -592
  128. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  129. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +0 -15
  130. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +0 -15
  131. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +0 -15
  132. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +0 -15
  133. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
  134. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
  135. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  136. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -1,19 +1,18 @@
1
- import { ATTR_PRODUCT_IMAGE as h, ATTR_PRODUCT_NAME as C, ATTR_PRODUCT_OLD_PRICE as D, ATTR_PRODUCT_PRICE as b, ATTR_PRODUCT_OMNIBUS_PRICE as P, ATTR_PRODUCT_OMNIBUS_DISCOUNT as U, ATTR_PRODUCT_BUTTON as N } from "../constants.js";
2
- const E = {
1
+ const R = {
3
2
  TITLE: "You May Also Like!"
4
- }, I = `
3
+ }, O = `
5
4
  <tr>
6
- <td class="spacer" style="height: 10px;"></td>
5
+ <td class="spacer" style="height: 20px;"></td>
7
6
  </tr>
8
- `, A = `
9
- <tr class="recommendation-product-row">
7
+ `, w = `
8
+ <tr>
10
9
  <td>
11
10
  <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
12
11
  {-{-PRODUCTS-}-}
13
12
  </table>
14
13
  </td>
15
14
  </tr>
16
- `, o = `
15
+ `, i = `
17
16
  <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
18
17
  <table
19
18
  width="100%"
@@ -35,24 +34,14 @@ const E = {
35
34
  </tr>
36
35
  </table>
37
36
  </td>
38
- `, Y = [
39
- h,
40
- C,
41
- D,
42
- b,
43
- P,
44
- U,
45
- N
46
- ], S = {
47
- [h]: !0,
48
- [C]: !0,
49
- [b]: !0,
50
- [D]: !0,
51
- [P]: !1,
52
- [U]: !1,
53
- [N]: !0
54
- };
55
- function M() {
37
+ `, b = [
38
+ "productImage",
39
+ "productName",
40
+ "productOldPrice",
41
+ "productPrice",
42
+ "productButton"
43
+ ];
44
+ function C() {
56
45
  return [
57
46
  {
58
47
  name: "Product Name",
@@ -134,76 +123,58 @@ function M() {
134
123
  }
135
124
  ];
136
125
  }
137
- function f(a, r, e, l = Y) {
138
- const s = (100 / r).toFixed(2), p = [];
139
- for (let i = 0; i < a.length; i += r)
140
- p.push(a.slice(i, i + r));
126
+ function N(p, r, e, l = b) {
127
+ const n = (100 / r).toFixed(2), a = [];
128
+ for (let o = 0; o < p.length; o += r)
129
+ a.push(p.slice(o, o + r));
141
130
  let c = "";
142
- return p.forEach((i, w) => {
143
- w > 0 && (c += I);
144
- let n = "", u = "", d = "", T = "", m = "", _ = "", g = "";
145
- i.forEach((t) => {
146
- n += o.replace(
131
+ return a.forEach((o, _) => {
132
+ _ > 0 && (c += O);
133
+ let s = "", u = "", d = "", m = "", g = "";
134
+ o.forEach((t) => {
135
+ s += i.replace(
147
136
  "{-{-PRODUCT_CONTENT-}-}",
148
137
  e.productImage(t)
149
- ), u += o.replace(
138
+ ), u += i.replace(
150
139
  "{-{-PRODUCT_CONTENT-}-}",
151
140
  e.productName(t)
152
- ), d += o.replace(
141
+ ), d += i.replace(
153
142
  "{-{-PRODUCT_CONTENT-}-}",
154
143
  e.productPrice(t)
155
- ), T += o.replace(
144
+ ), m += i.replace(
156
145
  "{-{-PRODUCT_CONTENT-}-}",
157
146
  e.productOldPrice(t)
158
- ), m += o.replace(
159
- "{-{-PRODUCT_CONTENT-}-}",
160
- e.productOmnibusPrice(t)
161
- ), _ += o.replace(
162
- "{-{-PRODUCT_CONTENT-}-}",
163
- e.productOmnibusDiscount(t)
164
- ), g += o.replace(
147
+ ), g += i.replace(
165
148
  "{-{-PRODUCT_CONTENT-}-}",
166
149
  e.productButton(t)
167
150
  );
168
151
  });
169
- const R = {
170
- productImage: n,
152
+ const T = {
153
+ productImage: s,
171
154
  productName: u,
172
155
  productPrice: d,
173
- productOldPrice: T,
174
- productOmnibusPrice: m,
175
- productOmnibusDiscount: _,
156
+ productOldPrice: m,
176
157
  productButton: g
177
- }, y = l.filter((t) => !!R[t]).map((t) => {
178
- const O = S[t] ?? !0;
179
- return `
180
- <tr class="recommendation-attribute-row"
181
- data-attribute-type="${t}"
182
- data-visibility="${O ? "1" : "0"}"${O ? "" : ' style="display: none;"'}>
183
- ${R[t]}
184
- </tr>
185
- `;
186
- }).join("");
187
- c += A.replace("{-{-PRODUCTS-}-}", y);
188
- }), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${s}%`);
158
+ }, h = l.filter((t) => !!T[t]).map((t) => `<tr>${T[t]}</tr>`).join("");
159
+ c += w.replace("{-{-PRODUCTS-}-}", h);
160
+ }), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${n}%`);
189
161
  }
190
- function j(a, r, e, l, s = E.TITLE, p) {
191
- const c = f(
162
+ function P(p, r, e, l, n = R.TITLE, a) {
163
+ const c = N(
192
164
  r,
193
165
  e,
194
166
  l,
195
- p
167
+ a
196
168
  );
197
- return a.replace("{-{-TITLE-}-}", s).replace("{-{-PRODUCT_ROWS-}-}", c);
169
+ return p.replace("{-{-TITLE-}-}", n).replace("{-{-PRODUCT_ROWS-}-}", c);
198
170
  }
199
171
  export {
200
- E as DEFAULTS,
201
- Y as DEFAULT_CARD_COMPOSITION,
202
- S as DEFAULT_CARD_VISIBILITY,
203
- j as generateTemplate,
204
- M as getDefaultProducts,
205
- f as prepareProductRows,
206
- o as productCardWrapper,
207
- A as productRow,
208
- I as spacer
172
+ R as DEFAULTS,
173
+ b as DEFAULT_CARD_COMPOSITION,
174
+ P as generateTemplate,
175
+ C as getDefaultProducts,
176
+ N as prepareProductRows,
177
+ i as productCardWrapper,
178
+ w as productRow,
179
+ O as spacer
209
180
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-06e6f7a7] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-282ca4d1]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-282ca4d1]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-282ca4d1]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-bb3bb07c] .guido__verion-history-view-option-selection-desktop svg,[data-v-bb3bb07c] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-bb3bb07c] .in-segments-wrapper__button_selected,[data-v-bb3bb07c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-f0b166f5] .in-button-v2__wrapper{line-height:0}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.middle-slot__buttons[data-v-421621fe]{gap:4px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-282ca4d1]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-282ca4d1]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-282ca4d1]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-5269640b] .in-modal-v2-wrapper__content{overflow-y:hidden}.error-list[data-v-5a366d74]{gap:16px}.desktop-preview[data-v-8ab430ce]{min-width:602px;height:70vh;border-radius:10px}.desktop-preview__browser-header[data-v-8ab430ce]{height:79px;min-height:79px}.desktop-preview__browser-header-left[data-v-8ab430ce]{height:79px;width:378px}.desktop-preview__browser-header-center[data-v-8ab430ce]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-preview__browser-header-right[data-v-8ab430ce]{height:79px;width:112px}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
@@ -23,12 +23,12 @@ ${s.map((E) => ` - ${E}`).join(`
23
23
  validateImplementation(e, r) {
24
24
  var I;
25
25
  const s = [], E = r.name, T = Object.getPrototypeOf(this);
26
- e.forEach((l) => {
27
- if (typeof this[l] != "function") {
28
- s.push(`Method ${l}() is not defined`);
26
+ e.forEach((d) => {
27
+ if (typeof this[d] != "function") {
28
+ s.push(`Method ${d}() is not defined`);
29
29
  return;
30
30
  }
31
- T[l] === r.prototype[l] && s.push(`Method ${l}() must be implemented (currently using base class error-throwing implementation)`);
31
+ T[d] === r.prototype[d] && s.push(`Method ${d}() must be implemented (currently using base class error-throwing implementation)`);
32
32
  }), u.validatedClasses.add(r), s.length > 0 ? (u.validationErrors.set(r, s), console.error(`[${E} Validation] ${E} validation failed:`, s)) : typeof process < "u" && ((I = process.env) == null ? void 0 : I.NODE_ENV) === "development" && console.log(`[${E} Validation] ✅ ${E} validated successfully`);
33
33
  }
34
34
  };
@@ -254,10 +254,10 @@ var st = {
254
254
  ...o,
255
255
  caption: "caption",
256
256
  icon: "icon"
257
- }, mt = {
257
+ }, gt = {
258
258
  ...o,
259
259
  caption: "caption"
260
- }, gt = {
260
+ }, mt = {
261
261
  ...o,
262
262
  minValue: "min-value",
263
263
  maxValue: "max-value",
@@ -292,11 +292,11 @@ var st = {
292
292
  position: "position"
293
293
  }, vt = {
294
294
  ...o
295
- }, Vt = {
295
+ }, Gt = {
296
296
  BUTTON: Ct,
297
- CHECKBOX: mt,
297
+ CHECKBOX: gt,
298
298
  COLOR: o,
299
- COUNTER: gt,
299
+ COUNTER: mt,
300
300
  LABEL: bt,
301
301
  RADIO_BUTTONS: Nt,
302
302
  SELECTPICKER: X,
@@ -344,7 +344,7 @@ var st = {
344
344
  const e = t.querySelectorAll(O.BUTTON), r = t.asElement().hasClass(U) ? [t] : [];
345
345
  return e.length ? e : r;
346
346
  }
347
- }, Gt = class extends i {
347
+ }, Vt = class extends i {
348
348
  getParentControlId() {
349
349
  return n.BLOCK_BUTTON.BORDER_RADIUS;
350
350
  }
@@ -454,20 +454,20 @@ var st = {
454
454
  }
455
455
  };
456
456
  k.REQUIRED_METHODS = ["getId", "getTemplate"];
457
- var ee = k, V = class extends x {
457
+ var ee = k, G = class extends x {
458
458
  getTargetNodes(t) {
459
459
  const e = t.querySelectorAll(O.IMAGE), r = t.asElement().hasClass(K) ? [t] : [];
460
460
  return e.length ? e : r;
461
461
  }
462
- }, re = class extends V {
462
+ }, re = class extends G {
463
463
  getParentControlId() {
464
464
  return n.BLOCK_IMAGE.EXTERNAL_INDENTS;
465
465
  }
466
- }, ne = class extends V {
466
+ }, ne = class extends G {
467
467
  getParentControlId() {
468
468
  return n.BLOCK_IMAGE.SIZE;
469
469
  }
470
- }, G = class L extends a {
470
+ }, V = class L extends a {
471
471
  constructor() {
472
472
  super(L.REQUIRED_METHODS, L);
473
473
  }
@@ -475,8 +475,8 @@ var ee = k, V = class extends x {
475
475
  throw new Error("Method registerBlockControls() must be implemented by the subclass");
476
476
  }
477
477
  };
478
- G.REQUIRED_METHODS = ["registerBlockControls"];
479
- var se = G, ae = class {
478
+ V.REQUIRED_METHODS = ["registerBlockControls"];
479
+ var se = V, ae = class {
480
480
  constructor(t, e) {
481
481
  this.tabId = t, this.controlsIds = e;
482
482
  }
@@ -499,42 +499,46 @@ var se = G, ae = class {
499
499
  const e = this.controlsIds.indexOf(t);
500
500
  e !== -1 && this.controlsIds.splice(e, 1);
501
501
  }
502
- }, d = class extends x {
502
+ }, l = class extends x {
503
503
  getTargetNodes(t) {
504
504
  const e = t.querySelectorAll(O.TEXT), r = t.asElement().hasClass(p) ? [t] : [];
505
505
  return e.length ? e : r;
506
506
  }
507
- }, ie = class extends d {
507
+ }, ie = class extends l {
508
508
  getParentControlId() {
509
509
  return n.GENERAL.TEXT_ALIGN;
510
510
  }
511
- }, oe = class extends d {
511
+ }, oe = class extends l {
512
+ getParentControlId() {
513
+ return n.BLOCK_TEXT.TEXT_BLOCK_BACKGROUND_COLOR;
514
+ }
515
+ }, Ee = class extends l {
512
516
  getParentControlId() {
513
517
  return n.GENERAL.TEXT_COLOR;
514
518
  }
515
- }, Ee = class extends d {
519
+ }, le = class extends l {
516
520
  getParentControlId() {
517
521
  return n.BLOCK_TEXT.FONT_FAMILY;
518
522
  }
519
- }, le = class extends d {
523
+ }, de = class extends l {
520
524
  getParentControlId() {
521
525
  return n.GENERAL.TEXT_LINE_SPACING;
522
526
  }
523
- }, de = class extends d {
527
+ }, ue = class extends l {
524
528
  getParentControlId() {
525
529
  return n.BLOCK_TEXT.INTERNAL_INDENTS;
526
530
  }
527
- }, ue = class extends d {
531
+ }, Ie = class extends l {
528
532
  getParentControlId() {
529
533
  return n.GENERAL.TEXT_SIZE;
530
534
  }
531
- }, Ie = class extends d {
535
+ }, Oe = class extends l {
532
536
  getParentControlId() {
533
537
  return n.GENERAL.TEXT_STYLE;
534
538
  }
535
539
  }, Ut = class {
536
- constructor(t, e, r = [], s, E = [], T, I = [], l = [], v, $, W, z, Z, j, q, J, tt) {
537
- this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks = l, this.externalSmartElementsLibrary = v, this.externalImageLibrary = $, this.externalImageLibraryTab = tt, this.externalAiAssistant = z, this.externalDisplayConditionsLibrary = Z, this.externalVideoLibrary = j, this.blocksPanel = q, this.iconsRegistry = J, this.id = Math.random().toString(36).substring(2);
540
+ constructor(t, e, r = [], s, E = [], T, I = [], d = [], v, $, W, z, Z, j, q, J, tt) {
541
+ this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks = d, this.externalSmartElementsLibrary = v, this.externalImageLibrary = $, this.externalImageLibraryTab = tt, this.externalAiAssistant = z, this.externalDisplayConditionsLibrary = Z, this.externalVideoLibrary = j, this.blocksPanel = q, this.iconsRegistry = J, this.id = Math.random().toString(36).substring(2);
538
542
  }
539
543
  getI18n() {
540
544
  return this.i18n;
@@ -590,7 +594,7 @@ var se = G, ae = class {
590
594
  getIconsRegistry() {
591
595
  return this.iconsRegistry;
592
596
  }
593
- }, Oe = class {
597
+ }, Te = class {
594
598
  constructor() {
595
599
  this.styles = [], this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [];
596
600
  }
@@ -685,9 +689,9 @@ var se = G, ae = class {
685
689
  }
686
690
  };
687
691
  pt.REQUIRED_METHODS = ["openAiAssistant"];
688
- var Kt = class m extends a {
692
+ var Kt = class g extends a {
689
693
  constructor() {
690
- super(m.REQUIRED_METHODS, m);
694
+ super(g.REQUIRED_METHODS, g);
691
695
  }
692
696
  /**
693
697
  * Retrieves the name of the category.
@@ -726,9 +730,9 @@ var Kt = class m extends a {
726
730
  }
727
731
  };
728
732
  Kt.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
729
- var Ft = class g extends a {
733
+ var Ft = class m extends a {
730
734
  constructor() {
731
- super(g.REQUIRED_METHODS, g);
735
+ super(m.REQUIRED_METHODS, m);
732
736
  }
733
737
  openImageLibrary(e, r, s) {
734
738
  throw new Error("Method openImageLibrary() must be implemented by the subclass");
@@ -783,7 +787,7 @@ var Q = class D extends a {
783
787
  }
784
788
  };
785
789
  Q.REQUIRED_METHODS = ["registerIconsSvg"];
786
- var Te = Q, ce = class {
790
+ var ce = Q, _e = class {
787
791
  constructor(t) {
788
792
  this.key = t;
789
793
  }
@@ -852,7 +856,7 @@ var Te = Q, ce = class {
852
856
  }
853
857
  };
854
858
  f.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
855
- var _e = f, Y = class B extends a {
859
+ var he = f, Y = class B extends a {
856
860
  constructor() {
857
861
  super(B.REQUIRED_METHODS, B);
858
862
  }
@@ -861,7 +865,7 @@ var _e = f, Y = class B extends a {
861
865
  }
862
866
  };
863
867
  Y.REQUIRED_METHODS = ["registerUiElements"];
864
- var he = Y;
868
+ var Re = Y;
865
869
  export {
866
870
  Xt as Block,
867
871
  kt as BlockAttr,
@@ -873,7 +877,7 @@ export {
873
877
  Qt as ButtonAlignBuiltInControl,
874
878
  ft as ButtonBackgroundColorBuiltInControl,
875
879
  Yt as ButtonBorderBuiltInControl,
876
- Gt as ButtonBorderRadiusBuiltInControl,
880
+ Vt as ButtonBorderRadiusBuiltInControl,
877
881
  $t as ButtonColorBuiltInControl,
878
882
  w as ButtonControls,
879
883
  Wt as ButtonFitToContainerBuiltInControl,
@@ -886,26 +890,27 @@ export {
886
890
  Rt as ContainerControls,
887
891
  ee as Control,
888
892
  Ut as Extension,
889
- Oe as ExtensionBuilder,
893
+ Te as ExtensionBuilder,
890
894
  F as GeneralControls,
891
- Te as IconsRegistry,
895
+ ce as IconsRegistry,
892
896
  H as ImageControls,
893
897
  re as ImageMarginsBuiltInControl,
894
898
  ne as ImageSizeBuiltInControl,
895
- ce as ModificationDescription,
899
+ _e as ModificationDescription,
896
900
  se as SettingsPanelRegistry,
897
901
  ae as SettingsPanelTab,
898
902
  Lt as SettingsTab,
899
903
  ie as TextAlignBuiltInControl,
900
- oe as TextColorBuiltInControl,
904
+ oe as TextBlockBackgroundBuiltInControl,
905
+ Ee as TextColorBuiltInControl,
901
906
  P as TextControls,
902
- Ee as TextFontFamilyBuiltInControl,
903
- le as TextLineSpacingBuiltInControl,
904
- de as TextPaddingsBuiltInControl,
905
- ue as TextSizeBuiltInControl,
906
- Ie as TextStyleBuiltInControl,
907
- Vt as UEAttr,
908
- _e as UIElement,
909
- he as UIElementTagRegistry,
907
+ le as TextFontFamilyBuiltInControl,
908
+ de as TextLineSpacingBuiltInControl,
909
+ ue as TextPaddingsBuiltInControl,
910
+ Ie as TextSizeBuiltInControl,
911
+ Oe as TextStyleBuiltInControl,
912
+ Gt as UEAttr,
913
+ he as UIElement,
914
+ Re as UIElementTagRegistry,
910
915
  yt as UIElementType
911
916
  };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Centralized Academy Links
3
+ *
4
+ * All external academy documentation links should be defined here
5
+ * for easy maintenance and domain migration.
6
+ */
7
+ export declare const ACADEMY_LINKS: {
8
+ readonly EMAIL_EDITOR: "https://academy.useinsider.com/docs/email-drag-drop-editor";
9
+ readonly GLOBAL_UNSUBSCRIBE: "https://academy.useinsider.com/docs/global-unsubscribe-preference-center";
10
+ readonly AMP_FOR_EMAILS: "https://academy.useinsider.com/docs/amp-for-emails";
11
+ };
12
+ export type AcademyLinkKey = keyof typeof ACADEMY_LINKS;
@@ -3,4 +3,3 @@ export declare const UI_EDITOR_SELECTOR = "ui-editor";
3
3
  export declare const CARD_COMPOSITION_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Card Composition\"]";
4
4
  export declare const SETTINGS_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Settings\"]";
5
5
  export declare const RIBBON_SELECTOR = ".in-ribbons-wrapper";
6
- export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
@@ -17,7 +17,6 @@ export declare const DEFAULT_UNSUBSCRIBE_GROUP: {
17
17
  readonly name: "Global Unsubscribe";
18
18
  readonly sendGridId: "G";
19
19
  };
20
- export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center";
21
20
  export declare const UNSUBSCRIBE_PAGES_LINK = "/email/unsubscribe-pages";
22
21
  export declare const PAGE_TYPES: {
23
22
  GLOBAL_UNSUBSCRIBE: number;
@@ -7,69 +7,22 @@ export interface CardCompositionItem {
7
7
  visible: boolean;
8
8
  }
9
9
  export declare class RecommendationCardCompositionControl extends CommonControl {
10
+ private currentComposition;
11
+ private currentVisibility;
10
12
  getId(): string;
11
13
  getTemplate(): string;
12
14
  onRender(): void;
13
15
  onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
14
16
  /**
15
- * Creates the HTML content for an orderable item with label and toggle
16
- */
17
- private _createItemContent;
18
- /**
19
- * Registers event listeners for composition and visibility changes
20
- */
21
- private _registerValueChangeListeners;
22
- /**
23
- * Initializes composition order and visibility state from the current node
17
+ * Initialize the composition order and visibility from the block or use defaults
24
18
  */
25
19
  private _initializeComposition;
26
- /**
27
- * Reads composition order from node's data-card-composition attribute
28
- * Falls back to default order if attribute is not present
29
- */
30
- private _readCompositionFromNode;
31
- /**
32
- * Builds visibility values object from the visibility map
33
- */
34
- private _buildVisibilityValues;
35
- /**
36
- * Read visibility state from individual row elements' data-visibility attributes
37
- * This ensures toggles reflect the actual DOM state
38
- */
39
- private _readVisibilityFromRows;
40
- /**
41
- * Returns default visibility values for all items
42
- */
43
- private _getDefaultVisibilities;
44
- /**
45
- * Extracts visibility values from DOM nodes
46
- */
47
- private _extractVisibilityFromRows;
48
- /**
49
- * Parses visibility value from string to boolean
50
- * Accepts "1", "true" as true, everything else as false
51
- */
52
- private _parseVisibilityValue;
53
- /**
54
- * Merges extracted visibilities with default values for missing keys
55
- */
56
- private _mergeWithDefaults;
57
20
  /**
58
21
  * Apply the reordered composition to the block's HTML structure
59
- * Updates the data-card-composition attribute and reorders product attributes
60
22
  */
61
23
  private _applyCompositionToBlock;
62
- /**
63
- * Reorders attribute rows within each product row based on composition order
64
- */
65
- private _reorderProductAttributes;
66
- /**
67
- * Builds HTML string with attributes ordered according to composition
68
- */
69
- private _buildCompositionHtml;
70
24
  /**
71
25
  * Apply visibility changes to the block's HTML structure
72
- * Updates display style and data-visibility attribute for all matching rows
73
26
  */
74
27
  private _applyVisibilityToBlock;
75
28
  }
@@ -1,14 +1,3 @@
1
- /**
2
- * Attribute type constants used in templates
3
- * These are used as keys in ElementRenderer and composition arrays
4
- */
5
- export declare const ATTR_PRODUCT_IMAGE = "productImage";
6
- export declare const ATTR_PRODUCT_NAME = "productName";
7
- export declare const ATTR_PRODUCT_PRICE = "productPrice";
8
- export declare const ATTR_PRODUCT_OLD_PRICE = "productOldPrice";
9
- export declare const ATTR_PRODUCT_OMNIBUS_PRICE = "productOmnibusPrice";
10
- export declare const ATTR_PRODUCT_OMNIBUS_DISCOUNT = "productOmnibusDiscount";
11
- export declare const ATTR_PRODUCT_BUTTON = "productButton";
12
1
  /**
13
2
  * Block IDs used in the Recommendation Extension
14
3
  * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
@@ -18,8 +7,6 @@ export declare enum RecommendationBlockId {
18
7
  NAME = "recommendation-block-name",
19
8
  PRICE = "recommendation-block-price",
20
9
  OLD_PRICE = "recommendation-block-old-price",
21
- OMNIBUS_PRICE = "recommendation-block-omnibus-price",
22
- OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
23
10
  IMAGE = "recommendation-block-image"
24
11
  }
25
12
  /**
@@ -45,7 +32,6 @@ export declare enum RecommendationControlId {
45
32
  NAME_PADDINGS = "recommendation-block-name-paddings-control",
46
33
  NAME_SIZE = "recommendation-block-name-size-control",
47
34
  NAME_STYLE = "recommendation-block-name-style-control",
48
- NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
49
35
  PRICE_ALIGN = "recommendation-block-price-align-control",
50
36
  PRICE_BACKGROUND = "recommendation-block-price-background-control",
51
37
  PRICE_COLOR = "recommendation-block-price-color-control",
@@ -60,24 +46,6 @@ export declare enum RecommendationControlId {
60
46
  OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
61
47
  OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
62
48
  OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
63
- OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control",
64
- OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control",
65
- OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control",
66
- OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control",
67
- OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control",
68
- OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control",
69
- OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control",
70
- OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control",
71
- OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control",
72
- OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control",
73
- OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control",
74
- OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control",
75
- OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control",
76
- OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control",
77
- OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control",
78
- OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control",
79
- OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control",
80
- OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control",
81
49
  IMAGE_SIZE = "recommendation-block-image-size-control",
82
50
  IMAGE_MARGINS = "recommendation-block-image-margins-control"
83
51
  }
@@ -17,6 +17,8 @@ export declare class RecommendationBlockControl extends CommonControl {
17
17
  _getProductLayout(): string;
18
18
  _getFilterStatus(): string;
19
19
  _getShuffleProducts(): string;
20
+ _getResponsive(): string;
21
+ _onFilterChange(value: boolean): void;
20
22
  _onFilterSelectClick(): void;
21
23
  _onDataChange(item: string, value: string | number | string[]): void;
22
24
  /**
@@ -24,11 +26,6 @@ export declare class RecommendationBlockControl extends CommonControl {
24
26
  */
25
27
  _getCardComposition(): string[];
26
28
  _regenerateProductRows(): void;
27
- /**
28
- * Reapply spacing values after product regeneration
29
- * This ensures spacing persists when products are regenerated
30
- */
31
- _reapplySpacing(): void;
32
29
  _debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
33
30
  _onCurrencyConfigChange(item: string, value: string | number): void;
34
31
  _onCurrencyChange(value: string): void;
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonAlignControl extends ButtonAlignBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonBorderBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonBorderControl extends ButtonBorderBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonBorderRadiusBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonBorderRadiusControl extends ButtonBorderRadiusBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonColorControl extends ButtonColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonFitToContainerBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonFitToContentControl extends ButtonFitToContainerBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonFontFamilyControl extends ButtonFontFamilyBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }