@useinsider/guido 1.0.3-beta.8646ecc → 1.0.3-beta.87cb92a

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 (149) hide show
  1. package/README.md +6 -32
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +79 -73
  4. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  6. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  7. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  8. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
  9. package/dist/composables/useActionsApi.js +1 -1
  10. package/dist/composables/useGuidoActions.js +19 -9
  11. package/dist/composables/useHtmlCompiler.js +15 -13
  12. package/dist/composables/useHtmlValidator.js +36 -35
  13. package/dist/composables/useStripo.js +46 -40
  14. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  15. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  16. package/dist/enums/defaults.js +2 -1
  17. package/dist/enums/onboarding.js +7 -3
  18. package/dist/enums/unsubscribe.js +27 -25
  19. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  20. package/dist/extensions/Blocks/Checkbox/template.js +14 -9
  21. package/dist/extensions/Blocks/Items/block.js +29 -28
  22. package/dist/extensions/Blocks/Items/controls/cardComposition.js +151 -57
  23. package/dist/extensions/Blocks/Items/controls/name/trimming.js +2 -2
  24. package/dist/extensions/Blocks/Items/controls/settingsControl.js +149 -117
  25. package/dist/extensions/Blocks/Items/enums/productEnums.js +83 -5
  26. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +7 -1
  27. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +57 -56
  28. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +54 -55
  29. package/dist/extensions/Blocks/Items/settingsPanel.js +56 -31
  30. package/dist/extensions/Blocks/Items/template.js +138 -59
  31. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  32. package/dist/extensions/Blocks/RadioButton/template.js +18 -9
  33. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  34. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  35. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  36. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  37. package/dist/guido.css +1 -1
  38. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  39. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  40. package/dist/node_modules/lodash-es/_Set.js +6 -0
  41. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  42. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  43. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  44. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  45. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  46. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  47. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  48. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  49. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  50. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  51. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  52. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  53. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  54. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  55. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  56. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  57. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  58. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  59. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  60. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  61. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  62. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  63. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  64. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  65. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  66. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  67. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  68. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  69. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  70. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  71. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  72. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  73. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  74. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  75. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  76. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  77. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  78. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  79. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  80. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  81. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  82. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  83. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  84. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  85. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  86. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  87. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  88. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  89. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  90. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  91. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  92. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  93. package/dist/node_modules/lodash-es/get.js +8 -0
  94. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  95. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  96. package/dist/node_modules/lodash-es/keys.js +9 -0
  97. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  98. package/dist/node_modules/lodash-es/map.js +11 -0
  99. package/dist/node_modules/lodash-es/property.js +10 -0
  100. package/dist/node_modules/lodash-es/range.js +5 -0
  101. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  102. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  103. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  104. package/dist/node_modules/lodash-es/toString.js +7 -0
  105. package/dist/package.json.js +1 -1
  106. package/dist/src/@types/generic.d.ts +27 -6
  107. package/dist/src/components/Guido.vue.d.ts +3 -2
  108. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
  109. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  110. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  111. package/dist/src/enums/onboarding.d.ts +4 -0
  112. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  113. package/dist/src/extensions/Blocks/Items/block.d.ts +14 -0
  114. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +20 -7
  115. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +8 -2
  116. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +8 -0
  117. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +6 -0
  118. package/dist/src/extensions/Blocks/Items/template.d.ts +9 -1
  119. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  120. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  121. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  122. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  123. package/dist/src/stores/config.d.ts +3 -2
  124. package/dist/src/stores/dynamic-content.d.ts +3 -3
  125. package/dist/src/stores/editor.d.ts +1 -1
  126. package/dist/src/stores/onboarding.d.ts +335 -1
  127. package/dist/src/stores/preview.d.ts +1 -1
  128. package/dist/src/stores/recommendation.d.ts +1 -1
  129. package/dist/src/stores/save-as-template.d.ts +1 -1
  130. package/dist/src/stores/toaster.d.ts +1 -1
  131. package/dist/src/stores/unsubscribe.d.ts +1 -1
  132. package/dist/src/stores/version-history.d.ts +1 -1
  133. package/dist/src/utils/environmentUtil.d.ts +5 -0
  134. package/dist/src/utils/genericUtil.d.ts +1 -0
  135. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  136. package/dist/stores/config.js +5 -5
  137. package/dist/stores/dynamic-content.js +2 -2
  138. package/dist/stores/editor.js +1 -1
  139. package/dist/stores/onboarding.js +44 -36
  140. package/dist/stores/preview.js +1 -1
  141. package/dist/stores/recommendation.js +3 -3
  142. package/dist/stores/save-as-template.js +2 -2
  143. package/dist/stores/toaster.js +1 -1
  144. package/dist/stores/unsubscribe.js +1 -1
  145. package/dist/stores/version-history.js +4 -4
  146. package/dist/utils/environmentUtil.js +4 -0
  147. package/dist/utils/genericUtil.js +17 -6
  148. package/dist/utils/pairProductVariables.js +136 -0
  149. package/package.json +4 -11
@@ -1,59 +1,58 @@
1
- const t = `<td align="center" class="ins-product-td items-block items-block-v2">
2
- <table class="es-left ins-product-wrapper ins-product-cart" width="100%" cellspacing="0" cellpadding="0">
3
- {-{-CONFIG_BLOCK-}-}
4
- <tbody>
5
- <tr>
6
- <td style="padding: 16px 9px;">
7
- <table class="es-left esdev-disable-select" cellspacing="0" cellpadding="0" align="left"
8
- width="100%">
9
- <tbody>
10
- <tr>
11
- <td class="product-image-class" data-slot-1>
12
- {-{-PRODUCT_IMAGE-}-}
13
- </td>
14
- <td class="product-name-class" data-slot-2 width="130px">
15
- <table width="130">
16
- <tbody>
17
- {-{-PRODUCT_NAME-}-}
18
- </tbody>
19
- </table>
20
- </td>
21
- <td class="product-quantity-class" data-slot-3>
22
- <table width="100%">
23
- <tbody>
24
- {-{-PRODUCT_QUANTITY-}-}
25
- </tbody>
26
- </table>
27
- </td>
28
- <td class="product-price-class" data-slot-4>
1
+ const t = `{-{-TEMPLATE_FIRST_LINE-}-}
2
+ <table class="es-left ins-product-wrapper ins-product-cart" width="100%" cellspacing="0" cellpadding="0">
3
+ {-{-CONFIG_BLOCK-}-}
4
+ <tbody>
5
+ <tr>
6
+ <td style="padding: 16px 9px;">
7
+ <table class="es-left esdev-disable-select" cellspacing="0" cellpadding="0" align="left" width="100%">
8
+ <tbody>
9
+ <tr>
10
+ <td class="product-image-class" data-slot-1>
11
+ {-{-PRODUCT_IMAGE-}-}
12
+ </td>
13
+ <td class="product-name-class" data-slot-2 width="130px">
14
+ <table width="130">
15
+ <tbody>
16
+ {-{-PRODUCT_NAME-}-}
17
+ </tbody>
18
+ </table>
19
+ </td>
20
+ <td class="product-quantity-class" data-slot-3>
21
+ <table width="100%">
22
+ <tbody>
23
+ {-{-PRODUCT_QUANTITY-}-}
24
+ </tbody>
25
+ </table>
26
+ </td>
27
+ <td class="product-price-class" data-slot-4>
29
28
 
30
- <table width="100%">
31
- <tbody>
32
- {-{-PRODUCT_PRICE-}-}
33
- </tbody>
34
- </table>
35
- </td>
36
- <td class="product-original-price-class" data-slot-5>
37
- <table width="100%">
38
- <tbody>
39
- {-{-PRODUCT_ORIGINAL_PRICE-}-}
40
- </tbody>
41
- </table>
42
- </td>
43
- <td class="product-button-class" data-slot-6>
44
- <table width="100%">
45
- <tbody>
46
- {-{-PRODUCT_BUTTON-}-}
47
- </tbody>
48
- </table>
49
- </td>
50
- </tr>
51
- </tbody>
52
- </table>
53
- </td>
54
- </tr>
55
- </tbody>
56
- </table>
29
+ <table width="100%">
30
+ <tbody>
31
+ {-{-PRODUCT_PRICE-}-}
32
+ </tbody>
33
+ </table>
34
+ </td>
35
+ <td class="product-original-price-class" data-slot-5>
36
+ <table width="100%">
37
+ <tbody>
38
+ {-{-PRODUCT_ORIGINAL_PRICE-}-}
39
+ </tbody>
40
+ </table>
41
+ </td>
42
+ <td class="product-button-class" data-slot-6>
43
+ <table width="100%">
44
+ <tbody>
45
+ {-{-PRODUCT_BUTTON-}-}
46
+ </tbody>
47
+ </table>
48
+ </td>
49
+ </tr>
50
+ </tbody>
51
+ </table>
52
+ </td>
53
+ </tr>
54
+ </tbody>
55
+ </table>
57
56
  </td>
58
57
  `;
59
58
  export {
@@ -1,74 +1,93 @@
1
- import { SettingsPanelRegistry as O, SettingsPanelTab as T, SettingsTab as _, ContainerControls as R } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { BLOCK_ID as A } from "./block.js";
3
- import { COMPOSITION_CONTROL_BLOCK_ID as S } from "./controls/cardComposition.js";
4
- import { CONTROL_BLOCK_ID as C } from "./controls/settingsControl.js";
1
+ import { SettingsPanelRegistry as O, SettingsPanelTab as T, SettingsTab as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { BLOCK_ID as S } from "./block.js";
3
+ import { COMPOSITION_CONTROL_BLOCK_ID as R } from "./controls/cardComposition.js";
4
+ import { CONTROL_BLOCK_ID as A } from "./controls/settingsControl.js";
5
5
  import { ItemsBlockId as E, ItemsBlockControlId as I } from "./enums/controlEnums.js";
6
- class t extends O {
6
+ class U extends O {
7
7
  registerBlockControls(N) {
8
- N[A] = [
8
+ N[S] = [
9
9
  new T(
10
10
  _.SETTINGS,
11
11
  [
12
- C,
13
- R.EXTERNAL_INDENTS
12
+ A
14
13
  ]
15
14
  ),
16
15
  new T(
17
16
  "Card Composition",
18
17
  [
19
- S
18
+ R
20
19
  ]
21
20
  ).withLabel("Card Composition")
22
21
  ], N[E.ORIGINAL_PRICE] = [
23
22
  new T(
24
23
  _.SETTINGS,
25
24
  [
26
- I.ORIGINAL_PRICE_COLOR,
27
- I.ORIGINAL_PRICE_ALIGN,
28
- I.ORIGINAL_PRICE_FONT_FAMILY,
29
- I.ORIGINAL_PRICE_SIZE,
30
25
  I.ORIGINAL_PRICE_STYLE,
26
+ I.ORIGINAL_PRICE_ALIGN,
31
27
  I.ORIGINAL_PRICE_PADDINGS
32
28
  ]
29
+ ),
30
+ new T(
31
+ _.STYLES,
32
+ [
33
+ I.ORIGINAL_PRICE_COLOR,
34
+ I.ORIGINAL_PRICE_FONT_FAMILY,
35
+ I.ORIGINAL_PRICE_SIZE
36
+ ]
33
37
  )
34
38
  ], N[E.PRICE] = [
35
39
  new T(
36
40
  _.SETTINGS,
37
41
  [
38
- I.PRICE_COLOR,
39
- I.PRICE_ALIGN,
40
- I.PRICE_FONT_FAMILY,
41
- I.PRICE_SIZE,
42
42
  I.PRICE_STYLE,
43
+ I.PRICE_ALIGN,
43
44
  I.PRICE_HIDE_DISCOUNT,
44
45
  I.PRICE_FORMATTED_PRICE,
45
46
  I.PRICE_CURRENCY_SYMBOL,
46
47
  I.PRICE_CURRENCY_LOCATION,
47
48
  I.PRICE_PADDINGS
48
49
  ]
50
+ ),
51
+ new T(
52
+ _.STYLES,
53
+ [
54
+ I.PRICE_COLOR,
55
+ I.PRICE_FONT_FAMILY,
56
+ I.PRICE_SIZE
57
+ ]
49
58
  )
50
59
  ], N[E.NAME] = [
51
60
  new T(
52
61
  _.SETTINGS,
53
62
  [
54
- I.NAME_COLOR,
55
- I.NAME_ALIGN,
56
- I.NAME_FONT_FAMILY,
57
- I.NAME_SIZE,
58
63
  I.NAME_STYLE,
64
+ I.NAME_ALIGN,
59
65
  I.NAME_TRIMMING,
60
66
  I.NAME_PADDINGS
61
67
  ]
68
+ ),
69
+ new T(
70
+ _.STYLES,
71
+ [
72
+ I.NAME_FONT_FAMILY,
73
+ I.NAME_SIZE,
74
+ I.NAME_COLOR
75
+ ]
62
76
  )
63
77
  ], N[E.QUANTITY] = [
64
78
  new T(
65
79
  _.SETTINGS,
66
80
  [
67
- I.QUANTITY_COLOR,
68
- I.QUANTITY_ALIGN,
69
81
  I.QUANTITY_FONT_FAMILY,
82
+ I.QUANTITY_STYLE
83
+ ]
84
+ ),
85
+ new T(
86
+ _.STYLES,
87
+ [
88
+ I.QUANTITY_ALIGN,
70
89
  I.QUANTITY_SIZE,
71
- I.QUANTITY_STYLE,
90
+ I.QUANTITY_COLOR,
72
91
  I.QUANTITY_PADDINGS
73
92
  ]
74
93
  )
@@ -87,20 +106,26 @@ class t extends O {
87
106
  [
88
107
  I.BUTTON_LINK,
89
108
  I.BUTTON_TEXT,
90
- I.BUTTON_FONT_FAMILY,
91
- I.BUTTON_TEXT_SIZE,
92
- I.BUTTON_COLOR,
93
- I.BUTTON_BORDER,
94
- I.BUTTON_BORDER_RADIUS,
95
109
  I.BUTTON_ALIGN,
96
- I.BUTTON_FIT_TO_CONTENT,
97
110
  I.BUTTON_PADDINGS,
98
111
  I.BUTTON_MARGINS
99
112
  ]
113
+ ),
114
+ new T(
115
+ _.STYLES,
116
+ [
117
+ I.BUTTON_COLOR,
118
+ I.BUTTON_FONT_FAMILY,
119
+ I.BUTTON_TEXT_SIZE,
120
+ I.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
121
+ I.BUTTON_FIT_TO_CONTENT,
122
+ I.BUTTON_BORDER_RADIUS,
123
+ I.BUTTON_BORDER
124
+ ]
100
125
  )
101
126
  ];
102
127
  }
103
128
  }
104
129
  export {
105
- t as SettingsPanel
130
+ U as SettingsPanel
106
131
  };
@@ -1,110 +1,189 @@
1
- import { BlockType as i, BlockAttr as l } 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 [R] = e.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = e.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [I] = e.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [a] = e.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [p] = e.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
- const $ = () => `
9
- <${i.BLOCK_IMAGE}
10
- ${l.BLOCK_IMAGE.src}="${R}"
11
- ${l.BLOCK_IMAGE.alt}="Product Image"
12
- ${l.BLOCK_IMAGE.href}="#"
13
- ${l.BLOCK_IMAGE.width}="70"
14
- esd-extension-block-id="${n.IMAGE}"
15
- data-type="CART_ITEMS"
16
- data-number="1"
1
+ import { BlockType as l, BlockAttr as _ } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { ItemsBlockId as d } from "./enums/controlEnums.js";
3
+ import { productPairs as i, templateFirstLine as N } from "./enums/productEnums.js";
4
+ import { ItemInCartOptions as P, SETTINGS_ENUMS as O } from "./enums/settingsEnums.js";
5
+ import f from "./layouts/horizontal.html.js";
6
+ import B from "./layouts/vertical.html.js";
7
+ let [R] = i.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [C] = i.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [I] = i.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [$] = i.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [u] = i.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
+ const g = (a, t) => `
9
+ <${l.BLOCK_IMAGE}
10
+ ${_.BLOCK_IMAGE.src}="${R}"
11
+ ${_.BLOCK_IMAGE.alt}="Product Image"
12
+ ${_.BLOCK_IMAGE.href}="#!"
13
+ ${_.BLOCK_IMAGE.width}="70"
14
+ esd-extension-block-id="${d.IMAGE}"
15
+ data-slot-1
16
+ product-attr="imageSrc"
17
+ data-type="${a}"
18
+ data-number="${t}"
17
19
  />
18
- `, B = () => `
19
- <${i.BLOCK_TEXT}
20
+ `, F = (a) => `
21
+ <${l.BLOCK_TEXT}
20
22
  width="100%"
21
23
  align="center"
22
24
  class="es-p10"
23
- esd-extension-block-id="${n.NAME}"
25
+ data-type="${a}"
26
+ esd-extension-block-id="${d.NAME}"
24
27
  >
25
- <p
26
- data-slot-2
27
- width="100%">
28
- ${A}
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
+ "
39
+ product-attr="name"
40
+ data-slot-2
41
+ width="100%">
42
+ ${C}
43
+ </a>
29
44
  </p>
30
- </${i.BLOCK_TEXT}>
31
- `, S = (T, t) => {
45
+ </${l.BLOCK_TEXT}>
46
+ `, S = (a, t, n, e, c) => {
32
47
  let o = I;
33
- if (T && T.trim()) {
34
- const E = `&nbsp;${T.trim()}&nbsp;`;
35
- o = (t || "0") === "1" ? `${I}${E}` : `${E}${I}`;
48
+ if (e && e.trim()) {
49
+ const T = `&nbsp;${e.trim()}&nbsp;`;
50
+ o = (c || "0") === "1" ? `${I}${T}` : `${T}${I}`;
36
51
  }
52
+ const r = c === "1" ? "after" : "before", E = `data-formated="${n ? "true" : "false"}"`, s = `data-curency="${r}"`;
37
53
  return `
38
- <${i.BLOCK_TEXT}
39
- esd-extension-block-id="${n.PRICE}"
54
+ <${l.BLOCK_TEXT}
55
+ esd-extension-block-id="${d.PRICE}"
40
56
  class="items-block-price"
41
57
  width="100%"
42
58
  align="center"
43
59
  >
44
- <p contenteditable="false">
60
+ <p
61
+ product-attr="price"
62
+ contenteditable="false"
63
+ data-slot-4
64
+ data-type="${a}"
65
+ data-number="${t}"
66
+ ${E}
67
+ ${s}
68
+ ${e ? `data-currency_symbol="${e}"` : ""}
69
+ >
45
70
  ${o}
46
71
  </p>
47
- </${i.BLOCK_TEXT}>
72
+ </${l.BLOCK_TEXT}>
48
73
  `;
49
- }, F = (T, t) => {
50
- let o = a;
51
- if (T && T.trim()) {
52
- const E = `&nbsp;${T.trim()}&nbsp;`;
53
- o = (t || "0") === "1" ? `${a}${E}` : `${E}${a}`;
74
+ }, L = (a, t, n, e, c) => {
75
+ let o = $;
76
+ if (e && e.trim()) {
77
+ const T = `&nbsp;${e.trim()}&nbsp;`;
78
+ o = (c || "0") === "1" ? `${$}${T}` : `${T}${$}`;
54
79
  }
80
+ const r = c === "1" ? "after" : "before", E = `data-formated="${n ? "true" : "false"}"`, s = `data-curency="${r}"`;
55
81
  return `
56
- <${i.BLOCK_TEXT}
82
+ <${l.BLOCK_TEXT}
57
83
  class="items-block-price"
58
- esd-extension-block-id="${n.ORIGINAL_PRICE}"
84
+ esd-extension-block-id="${d.ORIGINAL_PRICE}"
59
85
  width="100%"
60
86
  align="center"
61
87
  >
62
88
  <p
89
+ product-attr="originalPrice"
63
90
  contenteditable="false"
91
+ data-slot-5
64
92
  style="color: #cc0000"
93
+ data-type="${a}"
94
+ data-number="${t}"
95
+ ${E}
96
+ ${s}
97
+ ${e ? `data-currency_symbol="${e}"` : ""}
65
98
  >
66
99
  <s>${o}</s>
67
100
  </p>
68
- </${i.BLOCK_TEXT}>
101
+ </${l.BLOCK_TEXT}>
69
102
  `;
70
- }, L = () => `
71
- <${i.BLOCK_TEXT}
103
+ }, b = () => `
104
+ <${l.BLOCK_TEXT}
72
105
  width="100%"
73
106
  align="center"
74
107
  class="es-p10"
75
- esd-extension-block-id="${n.QUANTITY}"
108
+ esd-extension-block-id="${d.QUANTITY}"
76
109
  >
77
110
  <p
111
+ product-attr="quantity"
78
112
  data-slot-3
79
113
  contenteditable="false"
80
114
  width="100%">
81
- ${p}
115
+ ${u}
82
116
  </p>
83
- </${i.BLOCK_TEXT}>
84
- `, g = () => `
85
- <${i.BLOCK_BUTTON}
117
+ </${l.BLOCK_TEXT}>
118
+ `, h = (a, t) => `
119
+ <${l.BLOCK_BUTTON}
86
120
  width="100%"
87
121
  class="ins-button"
88
122
  name="buy-button"
89
123
  caption="Buy"
90
124
  align="center"
91
- esd-extension-block-id="${n.BUTTON}"
125
+ esd-extension-block-id="${d.BUTTON}"
126
+ product-attr="button"
127
+ data-slot-6
128
+ data-type="${a}"
129
+ data-number="${t}"
92
130
  >Buy
93
- </${i.BLOCK_BUTTON}>
131
+ </${l.BLOCK_BUTTON}>
94
132
  `, U = () => `
95
133
  <esd-config-block style="display: none;"></esd-config-block>
96
- `, s = (T, t, o) => T.replace("{-{-PRODUCT_IMAGE-}-}", $()).replace("{-{-PRODUCT_NAME-}-}", B()).replace("{-{-PRODUCT_PRICE-}-}", S(t, o)).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", F(t, o)).replace("{-{-PRODUCT_QUANTITY-}-}", L()).replace("{-{-PRODUCT_BUTTON-}-}", g()).replace("{-{-CONFIG_BLOCK-}-}", U());
97
- function u({
98
- orientation: T,
99
- itemsType: t = r.ITEMS_TYPE.CART_ITEMS,
100
- itemId: o,
101
- currencySymbol: E,
134
+ `, p = (a, t, n, e, c, o, r, E) => {
135
+ const A = `${`data-type="${t}" data-number="${n}"`} data-orientation="${e}"`;
136
+ return a.replace(
137
+ /<td([^>]*class="[^"]*ins-product-td[^"]*"[^>]*)>/,
138
+ `<td$1 ${A}>`
139
+ ).replace("{-{-TEMPLATE_FIRST_LINE-}-}", N).replace("{-{-PRODUCT_IMAGE-}-}", g(t, n)).replace("{-{-PRODUCT_NAME-}-}", F(t)).replace(
140
+ "{-{-PRODUCT_PRICE-}-}",
141
+ S(t, n, c, o, r)
142
+ ).replace(
143
+ "{-{-PRODUCT_ORIGINAL_PRICE-}-}",
144
+ L(
145
+ t,
146
+ n,
147
+ c,
148
+ o,
149
+ r
150
+ )
151
+ ).replace("{-{-PRODUCT_QUANTITY-}-}", b()).replace("{-{-PRODUCT_BUTTON-}-}", h(t, n)).replace("{-{-CONFIG_BLOCK-}-}", U());
152
+ };
153
+ function x({
154
+ orientation: a,
155
+ itemsType: t = O.ITEMS_TYPE.CART_ITEMS,
156
+ itemId: n,
157
+ currencySymbol: e,
102
158
  currencyLocation: c,
103
- formattedPrice: _ = !0
159
+ formattedPrice: o = !0
104
160
  }) {
105
- const O = N[t].findIndex((C) => C.value === o);
106
- return R = e.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[O], A = e.PAIRS_FOR_EXTENSION.name[t].DEFAULT[O], I = _ ? e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : e.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, a = _ ? 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 ? s(P, E, c) : s(d, E, c);
161
+ const r = P[t].findIndex((s) => s.value === n);
162
+ let E = "1";
163
+ if (r >= 0)
164
+ E = String(r + 1);
165
+ else if (n) {
166
+ const s = n.match(/\((\d+)\)/);
167
+ s && s[1] && ([, E] = s);
168
+ }
169
+ return R = i.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[r >= 0 ? r : 0], C = i.PAIRS_FOR_EXTENSION.name[t].DEFAULT[r >= 0 ? r : 0], I = o ? i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : i.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, $ = o ? 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 ? p(
170
+ B,
171
+ t,
172
+ E,
173
+ a,
174
+ o,
175
+ e,
176
+ c
177
+ ) : p(
178
+ f,
179
+ t,
180
+ E,
181
+ a,
182
+ o,
183
+ e,
184
+ c
185
+ );
107
186
  }
108
187
  export {
109
- u as getDefaultTemplate
188
+ x as getDefaultTemplate
110
189
  };
@@ -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 E } from "../../../enums/unsubscribe.js";
5
+ import { DEFAULT_UNSUBSCRIBE_GROUP as c } 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", a = "select", { get: $ } = L();
8
- class _ extends p {
7
+ const m = "ui-elements-radio-button", u = "select", { get: $ } = L();
8
+ class S extends p {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  o(this, "currentNode");
@@ -16,15 +16,16 @@ class _ extends p {
16
16
  return m;
17
17
  }
18
18
  _setFormValues() {
19
- if (this.currentNode && "getAttribute" in this.currentNode) {
19
+ if (this.selectedUnsubGroup = "", this.currentNode && "getAttribute" in this.currentNode) {
20
20
  const t = this.currentNode.getAttribute("id");
21
21
  if (t) {
22
- const s = t === E.sendGridId ? t : Number(t);
23
- s && (this.selectedUnsubGroup = s, this.api.updateValues({
24
- [a]: this.selectedUnsubGroup
25
- }));
22
+ const s = t === c.sendGridId ? t : Number(t);
23
+ s && (this.selectedUnsubGroup = s);
26
24
  }
27
25
  }
26
+ this.api.updateValues({
27
+ [u]: this.selectedUnsubGroup
28
+ });
28
29
  }
29
30
  _getLabel(t, s = `${Math.random()}`) {
30
31
  return `
@@ -54,7 +55,7 @@ class _ extends p {
54
55
  </${i.LABEL}>
55
56
 
56
57
  <${i.SELECTPICKER}
57
- ${e.SELECTPICKER.name}="${a}"
58
+ ${e.SELECTPICKER.name}="${u}"
58
59
  ${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
59
60
  ${this._getSelect()}
60
61
  </${i.SELECTPICKER}>
@@ -66,27 +67,27 @@ class _ extends p {
66
67
  this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new h(`Updated text to ${t}`));
67
68
  }
68
69
  _listenToFormUpdates() {
69
- this.api.onValueChanged(a, (t) => this._onSelectChange(t));
70
+ this.api.onValueChanged(u, (t) => this._onSelectChange(t));
70
71
  }
71
72
  onTemplateNodeUpdated(t) {
72
- this.currentNode = t;
73
+ this.currentNode = t, this._setFormValues();
73
74
  }
74
75
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
75
76
  async onRender() {
76
77
  const t = await $(
77
78
  "/unsubscribe-groups/unsubscribe-list"
78
- ), s = [E, ...t.data], c = s.map((u) => ({
79
- [e.SELECT_ITEM.text]: u.name,
80
- [e.SELECT_ITEM.value]: u.sendGridId
79
+ ), s = [c, ...t.data], E = s.map((a) => ({
80
+ [e.SELECT_ITEM.text]: a.name,
81
+ [e.SELECT_ITEM.value]: a.sendGridId
81
82
  }));
82
83
  this.unsubList = s, this.api.setUIEAttribute(
83
- a,
84
+ u,
84
85
  e.SELECTPICKER.items,
85
- c
86
+ E
86
87
  ), this._setFormValues(), this._listenToFormUpdates();
87
88
  }
88
89
  }
89
90
  export {
90
91
  m as CONTROL_BLOCK_ID,
91
- _ as RadioButtonControl
92
+ S as RadioButtonControl
92
93
  };
@@ -5,7 +5,7 @@ const e = {
5
5
  YES: "Yes",
6
6
  NO: "No"
7
7
  }, d = `
8
- <td align="left" class="radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
8
+ <td align="left" class="radio-button 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,12 +75,21 @@ const e = {
75
75
  </tbody>
76
76
  </table>
77
77
  </td>
78
- `, l = `
79
- <td
80
- align="left"
81
- esd-extension-block-id="radio-button-block"
78
+ `, a = `
79
+ <td
80
+ align="left"
81
+ esd-extension-block-id="radio-button-block"
82
82
  esd-handler-name="esd-extension-RadioButtonBlock"
83
- class="radio-button-v2 esd-block-ra esd-radio-button-block esd-extension-block es-p10t es-p10b es-p30r es-p30l"
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"
84
93
  >
85
94
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
86
95
  <tbody>
@@ -140,10 +149,10 @@ const e = {
140
149
  </table>
141
150
  </td>
142
151
  `;
143
- function a() {
152
+ function l() {
144
153
  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>`);
145
154
  }
146
155
  export {
147
- l as default,
148
- a as getDefaultTemplate
156
+ a as default,
157
+ l as getDefaultTemplate
149
158
  };
@@ -133,7 +133,7 @@ const a = c(), d = () => ({
133
133
  filterSelectionDrawerStatus: !1,
134
134
  filterList: {},
135
135
  filterGroup: 1
136
- }), G = p("recommendationExtension", {
136
+ }), G = p("guidoRecommendationExtension", {
137
137
  state: () => d(),
138
138
  getters: {
139
139
  hasFilters: (e) => !!e.recommendationConfigs.filters.length,