@useinsider/guido 2.0.0-beta.dbde199 → 2.0.0-beta.e68b206

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 (174) hide show
  1. package/dist/@types/config/schemas.js +53 -39
  2. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
  3. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
  4. package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
  6. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  7. package/dist/composables/useConfig.js +29 -27
  8. package/dist/composables/useSave.js +13 -11
  9. package/dist/config/migrator/index.js +9 -8
  10. package/dist/config/migrator/itemsBlockMigrator.js +342 -0
  11. package/dist/extensions/Blocks/Items/block.js +39 -40
  12. package/dist/extensions/Blocks/Items/controls/button/link.js +22 -29
  13. package/dist/extensions/Blocks/Items/controls/cardComposition.js +70 -59
  14. package/dist/extensions/Blocks/Items/controls/image/link.js +23 -30
  15. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  16. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +19 -17
  17. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +31 -29
  18. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +36 -36
  19. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +21 -19
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +29 -27
  21. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +93 -0
  22. package/dist/extensions/Blocks/Items/controls/settingsControl.js +159 -144
  23. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  24. package/dist/extensions/Blocks/Items/enums/productEnums.js +43 -45
  25. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +4 -3
  26. package/dist/extensions/Blocks/Items/extension.js +7 -6
  27. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +58 -49
  28. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +48 -59
  29. package/dist/extensions/Blocks/Items/settingsPanel.js +27 -26
  30. package/dist/extensions/Blocks/Items/store/items-block.js +11 -7
  31. package/dist/extensions/Blocks/Items/template.js +366 -129
  32. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +184 -0
  33. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +68 -158
  34. package/dist/extensions/Blocks/Recommendation/constants.js +1 -10
  35. package/dist/extensions/Blocks/Recommendation/control.js +61 -91
  36. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/extension.js +40 -16
  71. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +71 -124
  72. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +65 -89
  73. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +19 -56
  74. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +45 -74
  75. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  76. package/dist/extensions/Blocks/common-control.js +29 -30
  77. package/dist/extensions/Blocks/controlFactories.js +108 -98
  78. package/dist/guido.css +1 -1
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +46 -40
  80. package/dist/src/@types/config/index.d.ts +2 -2
  81. package/dist/src/@types/config/schemas.d.ts +26 -0
  82. package/dist/src/@types/config/types.d.ts +7 -1
  83. package/dist/src/composables/useConfig.d.ts +6 -0
  84. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +6 -0
  85. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -2
  86. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -0
  87. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -2
  88. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  89. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +18 -0
  90. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -4
  91. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
  92. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +24 -26
  93. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +1 -0
  94. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +2 -0
  95. package/dist/src/extensions/Blocks/Items/template.d.ts +22 -1
  96. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +73 -0
  97. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +3 -54
  98. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +1 -41
  99. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -5
  100. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  135. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +1 -1
  136. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +7 -15
  137. package/dist/src/extensions/Blocks/common-control.d.ts +9 -10
  138. package/dist/src/stores/config.d.ts +147 -1
  139. package/dist/static/styles/components/button.css.js +1 -1
  140. package/dist/static/styles/components/wide-panel.css.js +4 -0
  141. package/dist/static/styles/customEditorStyle.css.js +0 -13
  142. package/dist/stores/config.js +7 -0
  143. package/dist/utils/pairProductVariables.js +61 -58
  144. package/package.json +1 -1
  145. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  146. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  147. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -76
  148. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
  149. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  150. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -272
  151. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  152. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +0 -71
  153. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +0 -71
  154. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +0 -71
  155. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +0 -71
  156. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +0 -60
  157. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +0 -160
  158. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  159. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
  160. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  161. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  162. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
  163. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  164. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
  165. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -654
  166. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  167. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +0 -15
  168. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +0 -15
  169. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +0 -15
  170. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +0 -15
  171. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +0 -16
  172. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +0 -50
  173. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
  174. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
@@ -1,13 +1,12 @@
1
- import { ATTR_PRODUCT_BUTTON as o, ATTR_PRODUCT_OMNIBUS_DISCOUNT as a, ATTR_PRODUCT_OMNIBUS_PRICE as s, ATTR_PRODUCT_OLD_PRICE as l, ATTR_PRODUCT_PRICE as r, ATTR_PRODUCT_NAME as c, ATTR_PRODUCT_IMAGE as d } from "../constants.js";
2
- import { prepareProductRows as i } from "./templateUtils.js";
3
- import { DEFAULTS as f, getDefaultProducts as k } from "./templateUtils.js";
4
- const g = `
1
+ import { prepareProductRows as n } from "./templateUtils.js";
2
+ import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
3
+ const a = `
5
4
  <td
6
5
  align="left"
7
6
  esd-extension-block-id="recommendation-block"
8
7
  esd-handler-name="esd-extension-RecommendationBlock"
9
- class="ins-recommendation-v3-block-v2 es-p20 esd-recommendation-block esd-extension-block esd-container-frame"
10
- data-price-inline="0">
8
+ class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20"
9
+ >
11
10
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
12
11
  <tr>
13
12
  <td align="center">
@@ -55,8 +54,8 @@ const g = `
55
54
  </tr>
56
55
  </table>
57
56
  </td>
58
- `, p = {
59
- [d]: (t) => `
57
+ `, l = {
58
+ productImage: (t) => `
60
59
  <tr>
61
60
  <td
62
61
  class="esd-block-image product-image"
@@ -74,7 +73,7 @@ const g = `
74
73
  </td>
75
74
  </tr>
76
75
  `,
77
- [c]: (t) => `
76
+ productName: (t) => `
78
77
  <tr>
79
78
  <td
80
79
  class="esd-block-text product-name"
@@ -89,7 +88,7 @@ const g = `
89
88
  </td>
90
89
  </tr>
91
90
  `,
92
- [r]: () => `
91
+ productPrice: () => `
93
92
  <tr>
94
93
  <td
95
94
  class="esd-block-text product-price"
@@ -104,7 +103,7 @@ const g = `
104
103
  </td>
105
104
  </tr>
106
105
  `,
107
- [l]: () => `
106
+ productOldPrice: () => `
108
107
  <tr>
109
108
  <td
110
109
  class="esd-block-text product-old-price"
@@ -119,43 +118,7 @@ const g = `
119
118
  </td>
120
119
  </tr>
121
120
  `,
122
- [s]: () => `
123
- <tr>
124
- <td
125
- class="esd-block-text product-omnibus-price"
126
- esd-extension-block-id="recommendation-block-omnibus-price"
127
- data-text-before="Lowest 30-day price: "
128
- data-text-after=""
129
- align="center">
130
- <p
131
- path="1"
132
- contenteditable="false"
133
- style="font-size: 14px; color: #666666; text-align: center;"><span
134
- class="omnibus-text-before">Lowest 30-day price: </span><span
135
- class="omnibus-price-value">17,00 TRY</span><span
136
- class="omnibus-text-after"></span></p>
137
- </td>
138
- </tr>
139
- `,
140
- [a]: () => `
141
- <tr>
142
- <td
143
- class="esd-block-text product-omnibus-discount"
144
- esd-extension-block-id="recommendation-block-omnibus-discount"
145
- data-text-before=""
146
- data-text-after=""
147
- align="center">
148
- <p
149
- path="1"
150
- contenteditable="false"
151
- style="font-size: 14px; color: #666666; text-align: center;"><span
152
- class="omnibus-text-before"></span><span
153
- class="omnibus-discount-value">-6%</span><span
154
- class="omnibus-text-after"></span></p>
155
- </td>
156
- </tr>
157
- `,
158
- [o]: (t) => `
121
+ productButton: (t) => `
159
122
  <tr>
160
123
  <td
161
124
  class="esd-block-button product-button"
@@ -173,17 +136,17 @@ const g = `
173
136
  </tr>
174
137
  `
175
138
  };
176
- function u(t, e, n) {
177
- return i(
139
+ function d(t, e, o) {
140
+ return n(
178
141
  t,
179
142
  e,
180
- p,
181
- n
143
+ l,
144
+ o
182
145
  );
183
146
  }
184
147
  export {
185
- f as DEFAULTS,
186
- g as default,
187
- k as getDefaultProducts,
188
- u as prepareProductRows
148
+ i as DEFAULTS,
149
+ a as default,
150
+ p as getDefaultProducts,
151
+ d as prepareProductRows
189
152
  };
@@ -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
  };
@@ -1,21 +1,21 @@
1
1
  import { ExtensionBuilder as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { UnsubscribeBlock as i } from "./block.js";
3
3
  import { UnsubscribeControl as t } from "./control.js";
4
- import { PreviewUIElement as o } from "./elements/preview.js";
5
- import { UnsubscribeIconsRegistry as r } from "./iconsRegistry.js";
6
- import { SettingsPanel as s } from "./settingsPanel.js";
4
+ import { PreviewUIElement as s } from "./elements/preview.js";
5
+ import { UnsubscribeIconsRegistry as o } from "./iconsRegistry.js";
6
+ import { SettingsPanel as r } from "./settingsPanel.js";
7
7
  import n from "./styles.css.js";
8
- import { UnsubscribeTagRegistry as l } from "./tagRegistry.js";
9
- const f = new e().addBlock(i).withSettingsPanelRegistry(s).addControl(t).addUiElement(o).addStyles(n).withLocalization({
8
+ import { UnsubscribeTagRegistry as c } from "./tagRegistry.js";
9
+ const g = new e().addBlock(i).withSettingsPanelRegistry(r).addControl(t).addUiElement(s).addStyles(n).withLocalization({
10
10
  en: {
11
- "Unsubscribe Block": "Unsubscribe Block",
12
- "Unsubscribe Block Description": "Add an unsubscribe link to your email",
11
+ "Unsubscribe Block": "Unsubscribe",
12
+ "Unsubscribe Block Description": "Unsubscribe lets you add an Unsubscribe Link to direct users to opt out of receiving your messages.",
13
13
  "Select Template": "Select Template",
14
14
  "Unsubscribe Template": "Unsubscribe Template",
15
15
  Showing: "Showing",
16
16
  of: "of"
17
17
  }
18
- }).withUiElementTagRegistry(l).withIconsRegistry(r).build();
18
+ }).withUiElementTagRegistry(c).withIconsRegistry(o).build();
19
19
  export {
20
- f as default
20
+ g as default
21
21
  };
@@ -1,12 +1,12 @@
1
- var c = Object.defineProperty;
2
- var I = (a, r, e) => r in a ? c(a, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[r] = e;
3
- var l = (a, r, e) => I(a, typeof r != "symbol" ? r + "" : r, e);
1
+ var I = Object.defineProperty;
2
+ var c = (T, r, e) => r in T ? I(T, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[r] = e;
3
+ var u = (T, r, e) => c(T, typeof r != "symbol" ? r + "" : r, e);
4
4
  import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  class _ extends O {
6
6
  constructor() {
7
7
  super(...arguments);
8
- l(this, "currentNode");
9
- l(this, "lastBlockInstanceId", null);
8
+ u(this, "currentNode");
9
+ u(this, "lastBlockInstanceId", null);
10
10
  }
11
11
  getContainer() {
12
12
  var e;
@@ -19,38 +19,37 @@ class _ extends O {
19
19
  this.lastBlockInstanceId = null;
20
20
  }
21
21
  /**
22
- * Gets the config block element from the current node.
23
- * @returns The config block element or null if not found
22
+ * Gets the Items block container element from the current node.
23
+ * @returns The container element or null if not found
24
24
  */
25
- getConfigBlock() {
26
- if (!this.currentNode)
27
- return null;
28
- const e = this.currentNode.closest(".items-block-v2");
29
- return e ? e.querySelector("esd-config-block") : null;
25
+ getItemsBlockContainer() {
26
+ return this.currentNode ? this.currentNode.closest(".items-block-v2") : null;
30
27
  }
31
28
  /**
32
- * Gets the current block instance ID from the config block.
33
- * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
29
+ * Gets the current block instance ID from the node config (Stripo V2).
34
30
  * @returns The block instance ID or null if not found
35
31
  */
36
- getBlockInstanceId(e = "data-block-instance-id") {
37
- const n = this.getConfigBlock();
38
- return n ? n.getAttribute(e) : null;
32
+ getBlockInstanceId() {
33
+ const e = this.getItemsBlockContainer();
34
+ if (!e)
35
+ return null;
36
+ const n = e.getNodeConfig();
37
+ return n && typeof n.blockInstanceId == "string" ? n.blockInstanceId : null;
39
38
  }
40
39
  /**
41
40
  * Handles block instance change detection and syncing.
42
- * This is a helper method for controls that need to sync attributes when switching between block instances.
43
- * @param syncFunction - Function to call when block instance changes (to sync from attributes)
41
+ * This is a helper method for controls that need to sync config when switching between block instances.
42
+ * Uses Stripo V2 nodeConfig API for block instance tracking.
43
+ * @param syncFunction - Function to call when block instance changes (to sync from node config)
44
44
  * @param updateUI - Function to call to update the UI (called both on change and when same block)
45
- * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
46
45
  * @returns true if block instance changed, false otherwise
47
46
  */
48
- handleBlockInstanceChange(e, n, E = "data-block-instance-id") {
49
- const o = this.getBlockInstanceId(E);
50
- if (!o)
47
+ handleBlockInstanceChange(e, n) {
48
+ const E = this.getBlockInstanceId();
49
+ if (!E)
51
50
  return !1;
52
- const T = o !== this.lastBlockInstanceId;
53
- return T ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = o) : n(), T;
51
+ const o = E !== this.lastBlockInstanceId;
52
+ return o ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = E) : n(), o;
54
53
  }
55
54
  _GuLabel({ text: e, name: n = "", position: E = "top" }) {
56
55
  return `
@@ -81,7 +80,7 @@ class _ extends O {
81
80
  class="${o}"
82
81
  ${$.SELECTPICKER.name}="${e}"
83
82
  ${$.SELECTPICKER.placeholder}="${n}">
84
- ${E.map((T) => this._GuSelectItem(T)).join("")}
83
+ ${E.map((a) => this._GuSelectItem(a)).join("")}
85
84
  </${t.SELECTPICKER}>
86
85
  `;
87
86
  }
@@ -169,11 +168,11 @@ class _ extends O {
169
168
  */
170
169
  _GuOrderable(e, n) {
171
170
  let E = "";
172
- n.forEach((T) => {
173
- const u = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
171
+ n.forEach((a) => {
172
+ const l = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
174
173
  E += `
175
- <${t.ORDERABLE_ITEM} ${u}="${T.key}">
176
- ${T.content}
174
+ <${t.ORDERABLE_ITEM} ${l}="${a.key}">
175
+ ${a.content}
177
176
  </${t.ORDERABLE_ITEM}>
178
177
  `;
179
178
  });