@useinsider/guido 1.0.3-beta.cdff8ce → 1.0.3-beta.ce3ed00

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 (177) hide show
  1. package/README.md +32 -6
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +73 -79
  4. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  5. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  6. package/dist/components/organisms/header/RightSlot.vue2.js +20 -21
  7. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  8. package/dist/composables/useActionsApi.js +1 -1
  9. package/dist/composables/useGuidoActions.js +9 -19
  10. package/dist/composables/useHtmlCompiler.js +13 -15
  11. package/dist/composables/useHtmlValidator.js +35 -36
  12. package/dist/composables/useStripo.js +41 -47
  13. package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
  14. package/dist/enums/defaults.js +1 -2
  15. package/dist/enums/onboarding.js +3 -7
  16. package/dist/enums/unsubscribe.js +25 -27
  17. package/dist/extensions/Blocks/Checkbox/control.js +14 -15
  18. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  19. package/dist/extensions/Blocks/Items/block.js +43 -40
  20. package/dist/extensions/Blocks/Items/controls/button/link.js +17 -25
  21. package/dist/extensions/Blocks/Items/controls/cardComposition.js +57 -151
  22. package/dist/extensions/Blocks/Items/controls/image/link.js +20 -28
  23. package/dist/extensions/Blocks/Items/controls/name/trimming.js +22 -29
  24. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +18 -25
  25. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +8 -18
  26. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +30 -37
  27. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +14 -37
  28. package/dist/extensions/Blocks/Items/controls/settingsControl.js +130 -167
  29. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  30. package/dist/extensions/Blocks/Items/enums/productEnums.js +5 -98
  31. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +7 -21
  32. package/dist/extensions/Blocks/Items/extension.js +8 -9
  33. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +59 -57
  34. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +61 -67
  35. package/dist/extensions/Blocks/Items/settingsPanel.js +43 -69
  36. package/dist/extensions/Blocks/Items/store/items-block.js +4 -12
  37. package/dist/extensions/Blocks/Items/template.js +63 -150
  38. package/dist/extensions/Blocks/RadioButton/control.js +17 -18
  39. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  40. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  41. package/dist/extensions/Blocks/Unsubscribe/block.js +41 -45
  42. package/dist/extensions/Blocks/common-control.js +125 -164
  43. package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
  44. package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
  45. package/dist/guido.css +1 -1
  46. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +2 -12
  47. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
  48. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  49. package/dist/package.json.js +1 -1
  50. package/dist/src/@types/generic.d.ts +6 -27
  51. package/dist/src/components/Guido.vue.d.ts +2 -3
  52. package/dist/src/composables/useGuidoActions.d.ts +0 -9
  53. package/dist/src/enums/onboarding.d.ts +0 -4
  54. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  55. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -15
  56. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +7 -20
  57. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  58. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +1 -5
  59. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +2 -8
  60. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
  61. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -20
  62. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -15
  63. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +1 -5
  64. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -9
  65. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  66. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  67. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +4 -3
  68. package/dist/src/extensions/Blocks/common-control.d.ts +2 -25
  69. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -9
  70. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -52
  71. package/dist/src/stores/config.d.ts +2 -3
  72. package/dist/src/stores/dynamic-content.d.ts +3 -3
  73. package/dist/src/stores/editor.d.ts +1 -1
  74. package/dist/src/stores/onboarding.d.ts +1 -335
  75. package/dist/src/stores/preview.d.ts +1 -1
  76. package/dist/src/stores/recommendation.d.ts +1 -1
  77. package/dist/src/stores/save-as-template.d.ts +1 -1
  78. package/dist/src/stores/toaster.d.ts +1 -1
  79. package/dist/src/stores/unsubscribe.d.ts +1 -1
  80. package/dist/src/stores/version-history.d.ts +1 -1
  81. package/dist/src/utils/genericUtil.d.ts +0 -1
  82. package/dist/stores/config.js +5 -5
  83. package/dist/stores/dynamic-content.js +2 -2
  84. package/dist/stores/editor.js +1 -1
  85. package/dist/stores/onboarding.js +36 -44
  86. package/dist/stores/preview.js +1 -1
  87. package/dist/stores/recommendation.js +3 -3
  88. package/dist/stores/save-as-template.js +2 -2
  89. package/dist/stores/toaster.js +1 -1
  90. package/dist/stores/unsubscribe.js +1 -1
  91. package/dist/stores/version-history.js +4 -4
  92. package/dist/utils/genericUtil.js +6 -17
  93. package/package.json +12 -7
  94. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  95. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  96. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  97. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +0 -92
  98. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  99. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  100. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -76
  101. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
  102. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  103. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  104. package/dist/node_modules/lodash-es/_Set.js +0 -6
  105. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  106. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  107. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  108. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  109. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  110. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  111. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  112. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  113. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  114. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  115. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  116. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  117. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  118. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  119. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  120. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  121. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  122. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  123. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  124. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  125. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  126. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  127. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  128. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  129. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  130. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  131. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  132. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  133. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  134. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  135. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  136. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  137. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  138. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  139. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  140. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  141. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  142. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  143. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  144. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  145. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  146. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  147. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  148. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  149. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  150. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  151. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  152. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  153. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  154. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  155. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  156. package/dist/node_modules/lodash-es/get.js +0 -8
  157. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  158. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  159. package/dist/node_modules/lodash-es/keys.js +0 -9
  160. package/dist/node_modules/lodash-es/map.js +0 -11
  161. package/dist/node_modules/lodash-es/property.js +0 -10
  162. package/dist/node_modules/lodash-es/range.js +0 -5
  163. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  164. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  165. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  166. package/dist/node_modules/lodash-es/toString.js +0 -7
  167. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  168. package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
  169. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -15
  170. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  171. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  172. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
  173. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  174. package/dist/src/utils/environmentUtil.d.ts +0 -5
  175. package/dist/src/utils/pairProductVariables.d.ts +0 -7
  176. package/dist/utils/environmentUtil.js +0 -4
  177. package/dist/utils/pairProductVariables.js +0 -136
@@ -1,195 +1,108 @@
1
- import { BlockType as l, BlockAttr as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { ItemsBlockId as T } from "./enums/controlEnums.js";
3
- import { productPairs as i, templateFirstLine as N } from "./enums/productEnums.js";
4
- import { ItemInCartOptions as f, SETTINGS_ENUMS as O, DefaultConfigValues as P } from "./enums/settingsEnums.js";
5
- import B from "./layouts/horizontal.html.js";
6
- import g from "./layouts/vertical.html.js";
7
- let [C] = i.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = i.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [p] = i.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [I] = i.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [u] = i.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
- const h = (a, t) => `
9
- <${l.BLOCK_IMAGE}
10
- ${_.BLOCK_IMAGE.src}="${C}"
11
- ${_.BLOCK_IMAGE.alt}="${A}"
12
- ${_.BLOCK_IMAGE.href}="#!"
13
- ${_.BLOCK_IMAGE.width}=${P.productImageWidth}
14
- esd-extension-block-id="${T.IMAGE}"
15
- data-slot-1
16
- product-attr="imageSrc"
17
- data-type="${a}"
18
- data-number="${t}"
1
+ import { BlockType as E, BlockAttr as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { ItemsBlockId as n } from "./enums/controlEnums.js";
3
+ import { productPairs as e } from "./enums/productEnums.js";
4
+ import { ItemInCartOptions as N, SETTINGS_ENUMS as r } from "./enums/settingsEnums.js";
5
+ import d from "./layouts/horizontal.html.js";
6
+ import P from "./layouts/vertical.html.js";
7
+ let [s] = e.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = e.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [a] = e.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [c] = e.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [p] = e.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
+ const $ = () => `
9
+ <${E.BLOCK_IMAGE}
10
+ ${_.BLOCK_IMAGE.src}="${s}"
11
+ ${_.BLOCK_IMAGE.alt}="Product Image"
12
+ ${_.BLOCK_IMAGE.href}="#"
13
+ ${_.BLOCK_IMAGE.width}="70"
14
+ esd-extension-block-id="${n.IMAGE}"
15
+ data-type="CART_ITEMS"
16
+ data-number="1"
19
17
  />
20
- `, F = (a) => `
21
- <${l.BLOCK_TEXT}
18
+ `, S = () => `
19
+ <${E.BLOCK_TEXT}
22
20
  width="100%"
23
21
  align="center"
24
22
  class="es-p10"
25
- data-type="${a}"
26
- esd-extension-block-id="${T.NAME}"
23
+ esd-extension-block-id="${n.NAME}"
27
24
  >
28
- <p contenteditable="false">
29
- <a
30
- href="#!"
31
- style="
32
- text-decoration:none;
33
- font-size: inherit;
34
- font-weight: inherit;
35
- line-height: inherit;
36
- font-family: inherit;
37
- color: inherit;
38
- display: block;
39
- word-wrap:break-word;
40
- white-space: nowrap;
41
- width: 520px;
42
- overflow: hidden;
43
- text-overflow: ellipsis;
44
- "
45
- product-attr="name"
46
- data-slot-2
47
- width="100%">
48
- ${A}
49
- </a>
25
+ <p
26
+ data-slot-2
27
+ width="100%">
28
+ ${A}
50
29
  </p>
51
- </${l.BLOCK_TEXT}>
52
- `, S = (a, t, o, e, c) => {
53
- let n = p;
54
- if (e && e.trim()) {
55
- const E = `&nbsp;${e.trim()}&nbsp;`;
56
- n = (c || "0") === "1" ? `${p}${E}` : `${E}${p}`;
30
+ </${E.BLOCK_TEXT}>
31
+ `, B = (T, t) => {
32
+ let i = a;
33
+ if (T && T.trim()) {
34
+ const o = `&nbsp;${T.trim()}&nbsp;`;
35
+ i = (t || "0") === "1" ? `${a}${o}` : `${o}${a}`;
57
36
  }
58
- const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
59
37
  return `
60
- <${l.BLOCK_TEXT}
61
- esd-extension-block-id="${T.PRICE}"
38
+ <${E.BLOCK_TEXT}
39
+ esd-extension-block-id="${n.PRICE}"
62
40
  class="items-block-price"
63
41
  width="100%"
64
42
  align="center"
65
43
  >
66
- <p
67
- product-attr="price"
68
- contenteditable="false"
69
- data-slot-4
70
- data-type="${a}"
71
- data-number="${t}"
72
- ${d}
73
- ${s}
74
- ${e ? `data-currency_symbol="${e}"` : ""}
75
- >
76
- ${n}
44
+ <p contenteditable="false">
45
+ ${i}
77
46
  </p>
78
- </${l.BLOCK_TEXT}>
47
+ </${E.BLOCK_TEXT}>
79
48
  `;
80
- }, L = (a, t, o, e, c) => {
81
- let n = I;
82
- if (e && e.trim()) {
83
- const E = `&nbsp;${e.trim()}&nbsp;`;
84
- n = (c || "0") === "1" ? `${I}${E}` : `${E}${I}`;
49
+ }, F = (T, t) => {
50
+ let i = c;
51
+ if (T && T.trim()) {
52
+ const o = `&nbsp;${T.trim()}&nbsp;`;
53
+ i = (t || "0") === "1" ? `${c}${o}` : `${o}${c}`;
85
54
  }
86
- const r = c === "1" ? "after" : "before", d = `data-formated="${o ? "true" : "false"}"`, s = `data-curency="${r}"`;
87
55
  return `
88
- <${l.BLOCK_TEXT}
56
+ <${E.BLOCK_TEXT}
89
57
  class="items-block-price"
90
- esd-extension-block-id="${T.ORIGINAL_PRICE}"
58
+ esd-extension-block-id="${n.ORIGINAL_PRICE}"
91
59
  width="100%"
92
60
  align="center"
93
61
  >
94
62
  <p
95
- product-attr="originalPrice"
96
63
  contenteditable="false"
97
- data-slot-5
98
64
  style="color: #cc0000"
99
- data-type="${a}"
100
- data-number="${t}"
101
- ${d}
102
- ${s}
103
- ${e ? `data-currency_symbol="${e}"` : ""}
104
65
  >
105
- <s>${n}</s>
66
+ <s>${i}</s>
106
67
  </p>
107
- </${l.BLOCK_TEXT}>
68
+ </${E.BLOCK_TEXT}>
108
69
  `;
109
- }, b = () => `
110
- <${l.BLOCK_TEXT}
70
+ }, L = () => `
71
+ <${E.BLOCK_TEXT}
111
72
  width="100%"
112
73
  align="center"
113
74
  class="es-p10"
114
- esd-extension-block-id="${T.QUANTITY}"
75
+ esd-extension-block-id="${n.QUANTITY}"
115
76
  >
116
77
  <p
117
- product-attr="quantity"
118
78
  data-slot-3
119
79
  contenteditable="false"
120
80
  width="100%">
121
- ${u}
81
+ ${p}
122
82
  </p>
123
- </${l.BLOCK_TEXT}>
124
- `, U = (a, t) => `
125
- <${l.BLOCK_BUTTON}
83
+ </${E.BLOCK_TEXT}>
84
+ `, U = () => `
85
+ <${E.BLOCK_BUTTON}
126
86
  width="100%"
127
87
  class="ins-button"
128
88
  name="buy-button"
129
89
  caption="Buy"
130
90
  align="center"
131
- esd-extension-block-id="${T.BUTTON}"
132
- product-attr="button"
133
- data-slot-6
134
- data-type="${a}"
135
- data-number="${t}"
91
+ esd-extension-block-id="${n.BUTTON}"
136
92
  >Buy
137
- </${l.BLOCK_BUTTON}>
138
- `, D = () => `
139
- <esd-config-block style="display: none;"></esd-config-block>
140
- `, R = (a, t, o, e, c, n, r, d) => {
141
- const $ = `${`data-type="${t}" data-number="${o}"`} data-orientation="${e}"`;
142
- return a.replace(
143
- /<td([^>]*class="[^"]*ins-product-td[^"]*"[^>]*)>/,
144
- `<td$1 ${$}>`
145
- ).replace("{-{-TEMPLATE_FIRST_LINE-}-}", N).replace("{-{-PRODUCT_IMAGE-}-}", h(t, o)).replace("{-{-PRODUCT_NAME-}-}", F(t)).replaceAll(
146
- "{-{-PRODUCT_PRICE-}-}",
147
- S(t, o, c, n, r)
148
- ).replaceAll(
149
- "{-{-PRODUCT_ORIGINAL_PRICE-}-}",
150
- L(
151
- t,
152
- o,
153
- c,
154
- n,
155
- r
156
- )
157
- ).replace("{-{-PRODUCT_QUANTITY-}-}", b()).replace("{-{-PRODUCT_BUTTON-}-}", U(t, o)).replace("{-{-CONFIG_BLOCK-}-}", D());
158
- };
159
- function G({
160
- orientation: a,
161
- itemsType: t = O.ITEMS_TYPE.CART_ITEMS,
162
- itemId: o,
163
- currencySymbol: e,
164
- currencyLocation: c,
165
- formattedPrice: n = !0
93
+ </${E.BLOCK_TEXT}>
94
+ `, R = (T, t, i) => T.replace("{-{-PRODUCT_IMAGE-}-}", $()).replace("{-{-PRODUCT_NAME-}-}", S()).replace("{-{-PRODUCT_PRICE-}-}", B(t, i)).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", F(t, i)).replace("{-{-PRODUCT_QUANTITY-}-}", L()).replace("{-{-PRODUCT_BUTTON-}-}", U());
95
+ function k({
96
+ orientation: T,
97
+ itemsType: t = r.ITEMS_TYPE.CART_ITEMS,
98
+ itemId: i,
99
+ currencySymbol: o,
100
+ currencyLocation: I,
101
+ formattedPrice: l = !0
166
102
  }) {
167
- const r = f[t].findIndex((s) => s.value === o);
168
- let d = "1";
169
- if (r >= 0)
170
- d = String(r + 1);
171
- else if (o) {
172
- const s = o.match(/\((\d+)\)/);
173
- s && s[1] && ([, d] = s);
174
- }
175
- return C = i.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[r >= 0 ? r : 0], A = i.PAIRS_FOR_EXTENSION.name[t].DEFAULT[r >= 0 ? r : 0], p = n ? i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, I = n ? i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, u = i.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT, a === O.ORIENTATION.VERTICAL ? R(
176
- g,
177
- t,
178
- d,
179
- a,
180
- n,
181
- e,
182
- c
183
- ) : R(
184
- B,
185
- t,
186
- d,
187
- a,
188
- n,
189
- e,
190
- c
191
- );
103
+ const O = N[t].findIndex((C) => C.value === i);
104
+ return s = e.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[O], A = e.PAIRS_FOR_EXTENSION.name[t].DEFAULT[O], a = l ? e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, c = l ? e.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, p = e.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT, T === r.ORIENTATION.VERTICAL ? R(P, o, I) : R(d, o, I);
192
105
  }
193
106
  export {
194
- G as getDefaultTemplate
107
+ k as getDefaultTemplate
195
108
  };
@@ -2,10 +2,10 @@ var d = Object.defineProperty;
2
2
  var l = (r, n, t) => n in r ? d(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;
3
3
  var o = (r, n, t) => l(r, typeof n != "symbol" ? n + "" : n, t);
4
4
  import { useHttp as L } from "../../../composables/useHttp.js";
5
- import { DEFAULT_UNSUBSCRIBE_GROUP as c } from "../../../enums/unsubscribe.js";
5
+ import { DEFAULT_UNSUBSCRIBE_GROUP as E } from "../../../enums/unsubscribe.js";
6
6
  import { Control as p, UIElementType as i, UEAttr as e, ModificationDescription as h } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
7
- const m = "ui-elements-radio-button", u = "select", { get: $ } = L();
8
- class S extends p {
7
+ const m = "ui-elements-radio-button", a = "select", { get: $ } = L();
8
+ class _ extends p {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  o(this, "currentNode");
@@ -16,16 +16,15 @@ class S extends p {
16
16
  return m;
17
17
  }
18
18
  _setFormValues() {
19
- if (this.selectedUnsubGroup = "", this.currentNode && "getAttribute" in this.currentNode) {
19
+ if (this.currentNode && "getAttribute" in this.currentNode) {
20
20
  const t = this.currentNode.getAttribute("id");
21
21
  if (t) {
22
- const s = t === c.sendGridId ? t : Number(t);
23
- s && (this.selectedUnsubGroup = s);
22
+ const s = t === E.sendGridId ? t : Number(t);
23
+ s && (this.selectedUnsubGroup = s, this.api.updateValues({
24
+ [a]: this.selectedUnsubGroup
25
+ }));
24
26
  }
25
27
  }
26
- this.api.updateValues({
27
- [u]: this.selectedUnsubGroup
28
- });
29
28
  }
30
29
  _getLabel(t, s = `${Math.random()}`) {
31
30
  return `
@@ -55,7 +54,7 @@ class S extends p {
55
54
  </${i.LABEL}>
56
55
 
57
56
  <${i.SELECTPICKER}
58
- ${e.SELECTPICKER.name}="${u}"
57
+ ${e.SELECTPICKER.name}="${a}"
59
58
  ${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
60
59
  ${this._getSelect()}
61
60
  </${i.SELECTPICKER}>
@@ -67,27 +66,27 @@ class S extends p {
67
66
  this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new h(`Updated text to ${t}`));
68
67
  }
69
68
  _listenToFormUpdates() {
70
- this.api.onValueChanged(u, (t) => this._onSelectChange(t));
69
+ this.api.onValueChanged(a, (t) => this._onSelectChange(t));
71
70
  }
72
71
  onTemplateNodeUpdated(t) {
73
- this.currentNode = t, this._setFormValues();
72
+ this.currentNode = t;
74
73
  }
75
74
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
76
75
  async onRender() {
77
76
  const t = await $(
78
77
  "/unsubscribe-groups/unsubscribe-list"
79
- ), s = [c, ...t.data], E = s.map((a) => ({
80
- [e.SELECT_ITEM.text]: a.name,
81
- [e.SELECT_ITEM.value]: a.sendGridId
78
+ ), s = [E, ...t.data], c = s.map((u) => ({
79
+ [e.SELECT_ITEM.text]: u.name,
80
+ [e.SELECT_ITEM.value]: u.sendGridId
82
81
  }));
83
82
  this.unsubList = s, this.api.setUIEAttribute(
84
- u,
83
+ a,
85
84
  e.SELECTPICKER.items,
86
- E
85
+ c
87
86
  ), this._setFormValues(), this._listenToFormUpdates();
88
87
  }
89
88
  }
90
89
  export {
91
90
  m as CONTROL_BLOCK_ID,
92
- S as RadioButtonControl
91
+ _ as RadioButtonControl
93
92
  };
@@ -5,7 +5,7 @@ const e = {
5
5
  YES: "Yes",
6
6
  NO: "No"
7
7
  }, d = `
8
- <td align="left" class="radio-button radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
8
+ <td align="left" class="radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
9
9
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
10
10
  <tbody>
11
11
  <tr>
@@ -75,21 +75,12 @@ const e = {
75
75
  </tbody>
76
76
  </table>
77
77
  </td>
78
- `, a = `
79
- <td
80
- align="left"
81
- esd-extension-block-id="radio-button-block"
78
+ `, l = `
79
+ <td
80
+ align="left"
81
+ esd-extension-block-id="radio-button-block"
82
82
  esd-handler-name="esd-extension-RadioButtonBlock"
83
- class="
84
- radio-button
85
- radio-button-v2
86
- esd-block-ra
87
- esd-radio-button-block
88
- esd-extension-block
89
- es-p10t
90
- es-p10b
91
- es-p30r
92
- es-p30l"
83
+ class="radio-button-v2 esd-block-ra esd-radio-button-block esd-extension-block es-p10t es-p10b es-p30r es-p30l"
93
84
  >
94
85
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
95
86
  <tbody>
@@ -149,10 +140,10 @@ const e = {
149
140
  </table>
150
141
  </td>
151
142
  `;
152
- function l() {
143
+ function a() {
153
144
  return d.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`).replace("{-{-YES-}-}", `<p path="1">${e.YES}</p>`).replace("{-{-NO-}-}", `<p path="1">${e.NO}</p>`);
154
145
  }
155
146
  export {
156
- a as default,
157
- l as getDefaultTemplate
147
+ l as default,
148
+ a as getDefaultTemplate
158
149
  };
@@ -133,7 +133,7 @@ const a = c(), d = () => ({
133
133
  filterSelectionDrawerStatus: !1,
134
134
  filterList: {},
135
135
  filterGroup: 1
136
- }), G = p("guidoRecommendationExtension", {
136
+ }), G = p("recommendationExtension", {
137
137
  state: () => d(),
138
138
  getters: {
139
139
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,
@@ -1,17 +1,17 @@
1
- var d = Object.defineProperty;
2
- var _ = (n, i, e) => i in n ? d(n, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[i] = e;
3
- var u = (n, i, e) => _(n, typeof i != "symbol" ? i + "" : i, e);
1
+ var _ = Object.defineProperty;
2
+ var d = (n, i, e) => i in n ? _(n, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[i] = e;
3
+ var u = (n, i, e) => d(n, typeof i != "symbol" ? i + "" : i, e);
4
4
  import { PAGE_TYPES as E } from "../../../enums/unsubscribe.js";
5
5
  import { useUnsubscribeStore as c } from "../../../stores/unsubscribe.js";
6
- import { Block as h, BlockCompositionType as S, ModificationDescription as b } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
+ import { Block as S, BlockCompositionType as h, ModificationDescription as b } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
7
7
  import { getDefaultTemplate as L } from "./template.js";
8
8
  import { UNSUBSCRIBE_EVENTS as a, DATA_ATTRIBUTES as o } from "./utils/constants.js";
9
- import { parsePageList as p } from "./utils/utils.js";
10
- const g = "unsubscribe-block", v = 'a[data-unsubscribe-link="true"]', f = ".unsubscribe-block-v2", B = "{{ins-unsubscribe-link}}", T = {
9
+ import { parsePageList as m } from "./utils/utils.js";
10
+ const v = "unsubscribe-block", g = 'a[data-unsubscribe-link="true"]', B = ".unsubscribe-block-v2", f = "{{ins-unsubscribe-link}}", C = {
11
11
  [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
12
12
  [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
13
13
  };
14
- class R extends h {
14
+ class D extends S {
15
15
  constructor() {
16
16
  super();
17
17
  u(this, "selectEventListener", null);
@@ -19,13 +19,13 @@ class R extends h {
19
19
  u(this, "currentNode");
20
20
  }
21
21
  getId() {
22
- return g;
22
+ return v;
23
23
  }
24
24
  getIcon() {
25
25
  return "unsubscribe-icon";
26
26
  }
27
27
  getBlockCompositionType() {
28
- return S.BLOCK;
28
+ return h.BLOCK;
29
29
  }
30
30
  getName() {
31
31
  return this.api.translate("Unsubscribe Block");
@@ -36,8 +36,11 @@ class R extends h {
36
36
  getTemplate() {
37
37
  return L();
38
38
  }
39
+ onCreated(e) {
40
+ "getAttribute" in e && e.getAttribute("data-migration") || (this.currentNode = e, this._resetStoreState(), this._setupSelectEventListener(), this._setupCancelEventListener(), this._checkExistingBlocks(), this._openDrawer());
41
+ }
39
42
  onSelect(e) {
40
- this.currentNode = e, !("getAttribute" in e && e.getAttribute("data-migration")) && (this._resetStoreState(), this._loadBlockState(e), this._setupSelectEventListener(), this._setupCancelEventListener(), this._checkExistingBlocks(), this._openDrawer());
43
+ this.currentNode = e, this._resetStoreState(), this._loadBlockState(e), this._setupSelectEventListener();
41
44
  }
42
45
  onDelete(e) {
43
46
  this._removeEventListeners(), this._removeBlockTemplatesFromStore(e), this._resetStoreState();
@@ -47,8 +50,8 @@ class R extends h {
47
50
  }
48
51
  _setupSelectEventListener() {
49
52
  this._removeSelectEventListener(), this.selectEventListener = (e) => {
50
- const s = e, { collectionType: t, selectedPages: r } = s.detail;
51
- this._updateBlock(t, r.join(","));
53
+ const r = e, { collectionType: t, selectedPages: s } = r.detail;
54
+ this._updateBlock(t, s.join(","));
52
55
  }, document.addEventListener(a.SELECT, this.selectEventListener);
53
56
  }
54
57
  _removeSelectEventListener() {
@@ -63,45 +66,38 @@ class R extends h {
63
66
  this.cancelEventListener && (document.removeEventListener(a.CANCEL, this.cancelEventListener), this.cancelEventListener = null);
64
67
  }
65
68
  _handleCancel() {
66
- try {
67
- if (!this.currentNode)
68
- return;
69
- this.api.getDocumentModifier().modifyHtml(this.currentNode).delete().apply(new b("Removed unsubscribe block due to cancel"));
70
- } catch (e) {
71
- console.warn("[UnsubscribeBlock] Failed to remove unsubscribe block:", e);
72
- }
69
+ this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).delete().apply(new b("Removed unsubscribe block due to cancel"));
73
70
  }
74
71
  _removeEventListeners() {
75
72
  this._removeSelectEventListener(), this._removeCancelEventListener();
76
73
  }
77
- _updateBlock(e, s) {
74
+ _updateBlock(e, r) {
78
75
  if (!this.currentNode || !("querySelector" in this.currentNode))
79
76
  return;
80
- const t = this.currentNode.querySelector(v);
77
+ const t = this.currentNode.querySelector(g);
81
78
  if (!t)
82
79
  return;
83
- const r = this._getMergeTag(e);
84
- this.api.getDocumentModifier().modifyHtml(t).setAttribute("href", r).apply(new b(`Updated unsubscribe link to ${r}`)), this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(o.PAGE_TYPE, e.toString()).setAttribute(o.PAGE_LIST, s).apply(new b("Updated unsubscribe block metadata"));
80
+ const s = this._getMergeTag(e);
81
+ this.api.getDocumentModifier().modifyHtml(t).setAttribute("href", s).apply(new b(`Updated unsubscribe link to ${s}`)), this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(o.PAGE_TYPE, e.toString()).setAttribute(o.PAGE_LIST, r).apply(new b("Updated unsubscribe block metadata"));
85
82
  }
86
83
  _getMergeTag(e) {
87
- return T[e] ?? B;
84
+ return C[e] ?? f;
88
85
  }
89
86
  _openDrawer() {
90
- if (!(this.currentNode && this.currentNode.getAttribute("data-unsubscribe-page-type")))
91
- try {
92
- const e = c();
93
- e.typeSelectionDrawerStatus = !0;
94
- } catch (e) {
95
- console.error("[UnsubscribeBlock] Failed to open drawer:", e);
96
- }
87
+ try {
88
+ const e = c();
89
+ e.typeSelectionDrawerStatus = !0;
90
+ } catch (e) {
91
+ console.error("[UnsubscribeBlock] Failed to open drawer:", e);
92
+ }
97
93
  }
98
94
  _checkExistingBlocks() {
99
95
  const e = c();
100
- e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(f).forEach((t) => {
96
+ e.isGlobalUnsubscribeDisabled = !1, e.isSubscriptionPreferencesCenterDisabled = !1, this.api.getDocumentRoot().querySelectorAll(B).forEach((t) => {
101
97
  if ("getAttribute" in t) {
102
- const r = t.getAttribute(o.PAGE_TYPE);
103
- if (r) {
104
- const l = Number(r);
98
+ const s = t.getAttribute(o.PAGE_TYPE);
99
+ if (s) {
100
+ const l = Number(s);
105
101
  l === E.GLOBAL_UNSUBSCRIBE ? e.isGlobalUnsubscribeDisabled = !0 : l === E.SUBSCRIPTION_PREFERENCE_CENTER && (e.isSubscriptionPreferencesCenterDisabled = !0);
106
102
  }
107
103
  }
@@ -110,11 +106,11 @@ class R extends h {
110
106
  _loadBlockState(e) {
111
107
  if (!("getAttribute" in e))
112
108
  return;
113
- const s = e.getAttribute(o.PAGE_TYPE), t = e.getAttribute(o.PAGE_LIST);
114
- if (!s || !t)
109
+ const r = e.getAttribute(o.PAGE_TYPE), t = e.getAttribute(o.PAGE_LIST);
110
+ if (!r || !t)
115
111
  return;
116
- const r = c(), l = Number(s), m = p(t);
117
- r.setCollectionWithoutAutoSelection(l), r.loadSelectedTemplates(m);
112
+ const s = c(), l = Number(r), p = m(t);
113
+ s.setCollectionWithoutAutoSelection(l), s.loadSelectedTemplates(p);
118
114
  }
119
115
  _resetStoreState() {
120
116
  c().$reset();
@@ -122,14 +118,14 @@ class R extends h {
122
118
  _removeBlockTemplatesFromStore(e) {
123
119
  if (!("getAttribute" in e))
124
120
  return;
125
- const s = e.getAttribute(o.PAGE_LIST);
126
- if (!s)
121
+ const r = e.getAttribute(o.PAGE_LIST);
122
+ if (!r)
127
123
  return;
128
- const t = c(), r = p(s);
129
- t.removeUnsubscribePages(r);
124
+ const t = c(), s = m(r);
125
+ t.removeUnsubscribePages(s);
130
126
  }
131
127
  }
132
128
  export {
133
- g as UNSUBSCRIBE_BLOCK_ID,
134
- R as UnsubscribeBlock
129
+ v as UNSUBSCRIBE_BLOCK_ID,
130
+ D as UnsubscribeBlock
135
131
  };