@useinsider/guido 1.0.3-beta.3f12f40 → 1.0.3-beta.413aef4

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 (219) hide show
  1. package/README.md +3 -176
  2. package/dist/components/Guido.vue.js +9 -11
  3. package/dist/components/Guido.vue2.js +70 -76
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +22 -23
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  9. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -23
  12. package/dist/composables/useGuidoActions.js +9 -19
  13. package/dist/composables/useStripo.js +59 -50
  14. package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
  15. package/dist/config/migrator/index.js +6 -7
  16. package/dist/enums/defaults.js +8 -16
  17. package/dist/enums/extensions/recommendationBlock.js +2 -2
  18. package/dist/enums/onboarding.js +2 -6
  19. package/dist/enums/unsubscribe.js +9 -10
  20. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  21. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  22. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  23. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  24. package/dist/extensions/Blocks/Recommendation/block.js +3 -6
  25. package/dist/extensions/Blocks/Recommendation/control.js +40 -69
  26. package/dist/extensions/Blocks/Recommendation/extension.js +7 -42
  27. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  28. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +22 -107
  29. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  30. package/dist/extensions/Blocks/Recommendation/template.js +200 -0
  31. package/dist/extensions/Blocks/common-control.js +55 -201
  32. package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
  33. package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
  34. package/dist/guido.css +1 -1
  35. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +101 -353
  36. package/dist/package.json.js +1 -1
  37. package/dist/services/recommendationApi.js +19 -13
  38. package/dist/services/stripoApi.js +1 -1
  39. package/dist/src/@types/generic.d.ts +6 -42
  40. package/dist/src/components/Guido.vue.d.ts +2 -4
  41. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  42. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  43. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  44. package/dist/src/composables/useGuidoActions.d.ts +0 -9
  45. package/dist/src/enums/onboarding.d.ts +0 -4
  46. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
  47. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
  48. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -1
  49. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -6
  50. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  51. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +6 -0
  52. package/dist/src/extensions/Blocks/common-control.d.ts +7 -65
  53. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -9
  54. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -52
  55. package/dist/src/stores/config.d.ts +2 -10
  56. package/dist/src/stores/dynamic-content.d.ts +3 -3
  57. package/dist/src/stores/editor.d.ts +1 -1
  58. package/dist/src/stores/onboarding.d.ts +1 -335
  59. package/dist/src/stores/preview.d.ts +1 -1
  60. package/dist/src/stores/recommendation.d.ts +1 -1
  61. package/dist/src/stores/save-as-template.d.ts +1 -1
  62. package/dist/src/stores/toaster.d.ts +1 -1
  63. package/dist/src/stores/unsubscribe.d.ts +1 -1
  64. package/dist/src/stores/version-history.d.ts +1 -1
  65. package/dist/src/utils/dateUtil.d.ts +0 -21
  66. package/dist/src/utils/genericUtil.d.ts +0 -1
  67. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  68. package/dist/static/styles/customEditorStyle.css.js +0 -5
  69. package/dist/stores/config.js +5 -5
  70. package/dist/stores/dynamic-content.js +2 -2
  71. package/dist/stores/editor.js +1 -1
  72. package/dist/stores/onboarding.js +36 -44
  73. package/dist/stores/preview.js +1 -1
  74. package/dist/stores/recommendation.js +3 -3
  75. package/dist/stores/save-as-template.js +2 -2
  76. package/dist/stores/toaster.js +1 -1
  77. package/dist/stores/unsubscribe.js +1 -1
  78. package/dist/stores/version-history.js +4 -4
  79. package/dist/utils/dateUtil.js +3 -24
  80. package/dist/utils/genericUtil.js +8 -18
  81. package/package.json +4 -11
  82. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  83. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -96
  84. package/dist/composables/useBlocksConfig.js +0 -48
  85. package/dist/config/migrator/recommendationMigrator.js +0 -293
  86. package/dist/enums/date.js +0 -6
  87. package/dist/extensions/Blocks/Items/block.js +0 -67
  88. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  89. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -99
  90. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  91. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  92. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  93. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  94. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  95. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  96. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  97. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -280
  98. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  99. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -195
  100. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -70
  101. package/dist/extensions/Blocks/Items/extension.js +0 -19
  102. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  103. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  104. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -61
  105. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -61
  106. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -106
  107. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  108. package/dist/extensions/Blocks/Items/template.js +0 -110
  109. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  110. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  111. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  112. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  113. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  114. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  115. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  120. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  121. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  122. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  123. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  124. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  125. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  126. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  127. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  128. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  129. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  130. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  131. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  132. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  133. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  134. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  135. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  136. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  138. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  139. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  140. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  141. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  142. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  143. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  144. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  145. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  146. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  147. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  148. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  149. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  150. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  151. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  152. package/dist/extensions/Blocks/controlFactories.js +0 -223
  153. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  154. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  155. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  156. package/dist/src/enums/date.d.ts +0 -4
  157. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -13
  158. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  159. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -20
  160. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  161. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  162. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  163. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  164. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -21
  165. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  166. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -13
  167. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -42
  168. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  169. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -154
  170. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -43
  171. package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
  172. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  173. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
  174. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -41
  175. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -16
  176. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  177. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  178. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -44
  179. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  180. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  181. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  182. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  197. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  208. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  209. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  210. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  211. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  212. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  213. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  214. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  215. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  216. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  217. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  218. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  219. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
@@ -1,117 +1,32 @@
1
- import { SettingsPanelRegistry as N, SettingsPanelTab as _, SettingsTab as E, ContainerControls as S, TextControls as L } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { BLOCK_ID as R } from "./block.js";
3
- import { COMPOSITION_CONTROL_BLOCK_ID as C } from "./cardCompositionControl.js";
4
- import { RecommendationBlockId as I, RecommendationControlId as T } from "./constants.js";
5
- import { CONTROL_BLOCK_ID as e } from "./control.js";
6
- class G extends N {
7
- registerBlockControls(O) {
8
- O[R] = [
9
- new _(
10
- E.SETTINGS,
11
- [
12
- e,
13
- S.EXTERNAL_INDENTS
14
- ]
15
- ),
16
- new _(
17
- E.STYLES,
18
- [
19
- L.TEXT_BLOCK_BACKGROUND_COLOR
20
- ]
21
- ),
22
- new _(
23
- "Card Composition",
24
- [
25
- C
26
- ]
27
- ).withLabel("Card Composition")
28
- ], O[I.NAME] = [
29
- new _(
30
- E.SETTINGS,
31
- [
32
- T.NAME_BACKGROUND,
33
- T.NAME_COLOR,
34
- T.NAME_SIZE,
35
- T.NAME_STYLE,
36
- T.NAME_FONT_FAMILY
37
- ]
38
- ),
39
- new _(
40
- E.STYLES,
41
- [
42
- T.NAME_ALIGN,
43
- T.NAME_PADDINGS
44
- ]
45
- )
46
- ], O[I.PRICE] = [
47
- new _(
48
- E.SETTINGS,
49
- [
50
- T.PRICE_BACKGROUND,
51
- T.PRICE_COLOR,
52
- T.PRICE_SIZE,
53
- T.PRICE_STYLE,
54
- T.PRICE_FONT_FAMILY
1
+ import { SettingsPanelRegistry as o, SettingsPanelTab as t, SettingsTab as e, ContainerControls as r, TextControls as s } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { BLOCK_ID as T } from "./block.js";
3
+ import { CONTROL_BLOCK_ID as i } from "./control.js";
4
+ class a extends o {
5
+ registerBlockControls(n) {
6
+ n[T] = [
7
+ new t(
8
+ e.SETTINGS,
9
+ [
10
+ i,
11
+ r.EXTERNAL_INDENTS
55
12
  ]
56
13
  ),
57
- new _(
58
- E.STYLES,
59
- [
60
- T.PRICE_ALIGN,
61
- T.PRICE_PADDINGS
62
- ]
63
- )
64
- ], O[I.OLD_PRICE] = [
65
- new _(
66
- E.SETTINGS,
67
- [
68
- T.OLD_PRICE_BACKGROUND,
69
- T.OLD_PRICE_COLOR,
70
- T.OLD_PRICE_SIZE,
71
- T.OLD_PRICE_STYLE,
72
- T.OLD_PRICE_FONT_FAMILY
73
- ]
74
- ),
75
- new _(
76
- E.STYLES,
77
- [
78
- T.OLD_PRICE_ALIGN,
79
- T.OLD_PRICE_PADDINGS
80
- ]
81
- )
82
- ], O[I.BUTTON] = [
83
- new _(
84
- E.SETTINGS,
85
- [
86
- T.BUTTON_TEXT,
87
- T.BUTTON_ALIGN,
88
- T.BUTTON_MARGINS,
89
- T.BUTTON_PADDINGS
90
- ]
91
- ),
92
- new _(
93
- E.STYLES,
94
- [
95
- T.BUTTON_COLOR,
96
- T.BUTTON_FONT_FAMILY,
97
- T.BUTTON_TEXT_SIZE,
98
- T.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
99
- T.BUTTON_FIT_TO_CONTENT,
100
- T.BUTTON_BORDER_RADIUS,
101
- T.BUTTON_BORDER
102
- ]
103
- )
104
- ], O[I.IMAGE] = [
105
- new _(
106
- E.SETTINGS,
14
+ new t(
15
+ e.STYLES,
107
16
  [
108
- T.IMAGE_SIZE,
109
- T.IMAGE_MARGINS
17
+ s.TEXT_BLOCK_BACKGROUND_COLOR
110
18
  ]
111
19
  )
20
+ // TODO: It'll be opened after the card composition is implemented by Stripo team.
21
+ // new SettingsPanelTab(
22
+ // 'Card Composition',
23
+ // [
24
+ // COMPOSITION_CONTROL_BLOCK_ID,
25
+ // ]
26
+ // ).withLabel('Card Composition'),
112
27
  ];
113
28
  }
114
29
  }
115
30
  export {
116
- G as SettingsPanel
31
+ a as SettingsPanel
117
32
  };
@@ -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,
@@ -0,0 +1,200 @@
1
+ const g = {
2
+ TITLE: "You May Also Like!"
3
+ }, h = `
4
+ <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block">
5
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
6
+ <tr>
7
+ <td align="center" style="padding: 20px 0;">
8
+ <!-- Email Content Container -->
9
+ <table class="container"
10
+ width="600"
11
+ cellpadding="0"
12
+ cellspacing="0"
13
+ border="0"
14
+ style="max-width: 600px; width: 100%; background-color: #ffffff;">
15
+ <!-- Heading -->
16
+ <tr>
17
+ <td class="heading"
18
+ style="
19
+ font-size: 28px;
20
+ font-weight: bold;
21
+ color: #333333;
22
+ text-align: center;
23
+ padding: 30px 20px;">
24
+ {-{-TITLE-}-}
25
+ </td>
26
+ </tr>
27
+
28
+ <!-- Product Rows -->
29
+ {-{-PRODUCT_ROWS-}-}
30
+ </table>
31
+ <!-- End Email Content Container -->
32
+ </td>
33
+ </tr>
34
+ </table>
35
+ </td>
36
+ `, u = `
37
+ <tr>
38
+ <td style="padding: 0 20px;">
39
+ <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
40
+ {-{-PRODUCTS-}-}
41
+ </table>
42
+ </td>
43
+ </tr>
44
+ `, m = `
45
+ <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
46
+ <table width="100%"
47
+ height="100%"
48
+ cellpadding="0"
49
+ cellspacing="0"
50
+ border="0"
51
+ class="product-card-wrapper"
52
+ style="background-color: #f8f8f8;">
53
+ <tr>
54
+ <td class="product-image-cell"
55
+ valign="top"
56
+ style="background-color: #e8f0f2; padding: 30px; text-align: center;">
57
+ <img src="{-{-PRODUCT_IMAGE-}-}"
58
+ alt="{-{-PRODUCT_NAME-}-}" width="120" style="max-width: 100%; height: auto; margin: 0 auto;">
59
+ </td>
60
+ </tr>
61
+ </table>
62
+ </td>
63
+ `, b = `
64
+ <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
65
+ <table width="100%"
66
+ height="100%"
67
+ cellpadding="0"
68
+ cellspacing="0"
69
+ border="0"
70
+ class="product-card-wrapper"
71
+ style="background-color: #f8f8f8;">
72
+ <tr>
73
+ <td class="product-name-cell"
74
+ valign="top"
75
+ style="font-size: 16px; color: #333333; font-weight: 600; padding: 15px 10px; text-align: center;">
76
+ {-{-PRODUCT_NAME-}-}
77
+ </td>
78
+ </tr>
79
+ </table>
80
+ </td>
81
+ `, x = `
82
+ <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
83
+ <table width="100%"
84
+ height="100%"
85
+ cellpadding="0"
86
+ cellspacing="0"
87
+ border="0"
88
+ class="product-card-wrapper"
89
+ style="background-color: #f8f8f8;">
90
+ <tr>
91
+ <td class="price-cell" valign="top" style="padding: 10px; text-align: center;">
92
+ <span class="current-price" style="font-size: 16px; color: #333333; font-weight: bold;">
93
+ 18,00 TRY
94
+ </span>
95
+ <span class="old-price" style="font-size: 14px; color: #999999; text-decoration: line-through;">
96
+ 20,00 TRY
97
+ </span>
98
+ </td>
99
+ </tr>
100
+ </table>
101
+ </td>
102
+ `, w = `
103
+ <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
104
+ <table width="100%"
105
+ height="100%"
106
+ cellpadding="0"
107
+ cellspacing="0"
108
+ border="0"
109
+ class="product-card-wrapper"
110
+ style="background-color: #f8f8f8;">
111
+ <tr>
112
+ <td class="button-cell" valign="top" style="padding: 15px 10px 20px 10px; text-align: center;">
113
+ <a href="#"
114
+ class="buy-button"
115
+ style="
116
+ display: inline-block;
117
+ width: 90%;
118
+ max-width: 150px;
119
+ padding: 12px 20px;
120
+ background-color: #ffffff;
121
+ color: #333333;
122
+ text-decoration: none;
123
+ border: 2px solid #cccccc;
124
+ font-size: 16px;
125
+ box-sizing: border-box;">
126
+ Buy
127
+ </a>
128
+ </td>
129
+ </tr>
130
+ </table>
131
+ </td>
132
+ `, f = `
133
+ <tr>
134
+ <td class="spacer" style="height: 20px;"></td>
135
+ </tr>
136
+ `;
137
+ function T() {
138
+ const c = [
139
+ {
140
+ name: "Beanie with Logo",
141
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/08/beanie-with-logo-1.jpg",
142
+ price: "18,00 TRY",
143
+ oldPrice: "20,00 TRY",
144
+ url: "https://example.com/product/1"
145
+ },
146
+ {
147
+ name: "Belt",
148
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
149
+ price: "55,00 TRY",
150
+ oldPrice: "65,00 TRY",
151
+ url: "https://example.com/product/2"
152
+ },
153
+ {
154
+ name: "Beanie",
155
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/08/beanie-with-logo-1.jpg",
156
+ price: "18,00 TRY",
157
+ oldPrice: "20,00 TRY",
158
+ url: "https://example.com/product/3"
159
+ },
160
+ {
161
+ name: "Album",
162
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
163
+ price: "15,00 TRY",
164
+ oldPrice: "15,00 TRY",
165
+ url: "https://example.com/product/4"
166
+ },
167
+ {
168
+ name: "Flying Ninja with a very long product name",
169
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
170
+ price: "12,00 TRY",
171
+ oldPrice: "15,00 TRY",
172
+ url: "https://example.com/product/5"
173
+ },
174
+ {
175
+ name: "Single",
176
+ image: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
177
+ price: "22.555,00 TRY",
178
+ oldPrice: "33.989,00 TRY",
179
+ url: "https://example.com/product/6"
180
+ }
181
+ ], l = 3, d = (100 / l).toFixed(2), a = [];
182
+ for (let t = 0; t < c.length; t += l)
183
+ a.push(c.slice(t, t + l));
184
+ let e = "";
185
+ return a.forEach((t, s) => {
186
+ s > 0 && (e += f);
187
+ let p = "", r = "", n = "", i = "";
188
+ t.forEach((o) => {
189
+ p += m.replace("{-{-PRODUCT_IMAGE-}-}", o.image).replace("{-{-PRODUCT_NAME-}-}", o.name), r += b.replace("{-{-PRODUCT_NAME-}-}", o.name), n += x, i += w;
190
+ }), e += u.replace("{-{-PRODUCTS-}-}", `
191
+ <tr>${p}</tr>
192
+ <tr>${r}</tr>
193
+ <tr>${n}</tr>
194
+ <tr>${i}</tr>
195
+ `), e = e.replaceAll("{-{-COLUMN_WIDTH-}-}", `${d}%`);
196
+ }), h.replace("{-{-TITLE-}-}", g.TITLE).replace("{-{-PRODUCT_ROWS-}-}", e);
197
+ }
198
+ export {
199
+ T as getDefaultTemplate
200
+ };
@@ -1,12 +1,11 @@
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);
4
- import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- class _ extends O {
1
+ var l = Object.defineProperty;
2
+ var C = (E, o, e) => o in E ? l(E, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : E[o] = e;
3
+ var u = (E, o, e) => C(E, typeof o != "symbol" ? o + "" : o, e);
4
+ import { Control as c, UIElementType as $, UEAttr as t } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ class L extends c {
6
6
  constructor() {
7
7
  super(...arguments);
8
- l(this, "currentNode");
9
- l(this, "lastBlockInstanceId", null);
8
+ u(this, "currentNode");
10
9
  }
11
10
  getContainer() {
12
11
  var e;
@@ -15,121 +14,65 @@ class _ extends O {
15
14
  onTemplateNodeUpdated(e) {
16
15
  this.currentNode = e;
17
16
  }
18
- onDestroy() {
19
- this.lastBlockInstanceId = null;
20
- }
21
- /**
22
- * Gets the config block element from the current node.
23
- * @returns The config block element or null if not found
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;
30
- }
31
- /**
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')
34
- * @returns The block instance ID or null if not found
35
- */
36
- getBlockInstanceId(e = "data-block-instance-id") {
37
- const n = this.getConfigBlock();
38
- return n ? n.getAttribute(e) : null;
39
- }
40
- /**
41
- * 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)
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
- * @returns true if block instance changed, false otherwise
47
- */
48
- handleBlockInstanceChange(e, n, E = "data-block-instance-id") {
49
- const o = this.getBlockInstanceId(E);
50
- if (!o)
51
- return !1;
52
- const T = o !== this.lastBlockInstanceId;
53
- return T ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = o) : n(), T;
54
- }
55
- _GuLabel({ text: e, name: n = "", position: E = "top" }) {
17
+ _GuLabel({ text: e, name: T = "", position: n = "top" }) {
56
18
  return `
57
- <${t.LABEL}
58
- style="${E === "top" ? "margin-bottom: 8px;" : ""}"
59
- ${$.LABEL.text}="${e}"
60
- ${$.LABEL.name}="${n || `${e} Label`}">
61
- </${t.LABEL}>
19
+ <${$.LABEL}
20
+ style="${n === "top" ? "margin-bottom: 8px;" : ""}"
21
+ ${t.LABEL.text}="${e}"
22
+ ${t.LABEL.name}="${T || `${e} Label`}">
23
+ </${$.LABEL}>
62
24
  `;
63
25
  }
64
26
  _GuToggle(e) {
65
27
  return `
66
- <${t.SWITCHER}
67
- ${$.SWITCHER.name}="${e}">
68
- </${t.SWITCHER}>
69
- `;
70
- }
71
- _GuSelectItem({ text: e, value: n }) {
72
- return `
73
- <${t.SELECT_ITEM}
74
- ${$.SELECT_ITEM.text}="${e}"
75
- ${$.SELECT_ITEM.value}="${n}">
76
- </${t.SELECT_ITEM}>`;
77
- }
78
- _GuSelect({ name: e, placeholder: n, options: E, className: o = "es-180w" }) {
79
- return `
80
- <${t.SELECTPICKER}
81
- class="${o}"
82
- ${$.SELECTPICKER.name}="${e}"
83
- ${$.SELECTPICKER.placeholder}="${n}">
84
- ${E.map((T) => this._GuSelectItem(T)).join("")}
85
- </${t.SELECTPICKER}>
28
+ <${$.SWITCHER}
29
+ ${t.SWITCHER.name}="${e}">
30
+ </${$.SWITCHER}>
86
31
  `;
87
32
  }
88
- _GuTextInput({ name: e, placeholder: n, className: E = "", disabled: o = !1 }) {
33
+ _GuSelectItem({ text: e, value: T }) {
89
34
  return `
90
- <${t.TEXT}
91
- class=${E}
92
- ${$.TEXT.name}="${e}"
93
- placeholder="${n || e}"
94
- ${o ? `${$.TEXT.disabled}="true"` : ""}>
95
- </${t.TEXT}>
96
- `;
35
+ <${$.SELECT_ITEM}
36
+ ${t.SELECT_ITEM.text}="${e}"
37
+ ${t.SELECT_ITEM.value}="${T}">
38
+ </${$.SELECT_ITEM}>`;
97
39
  }
98
- _GuCounter({ name: e, maxValue: n, minValue: E = 1, step: o = 1 }) {
40
+ _GuSelect({ name: e, placeholder: T, options: n, className: r = "es-180w" }) {
99
41
  return `
100
- <${t.COUNTER}
101
- ${$.COUNTER.name}="${e}"
102
- ${$.COUNTER.minValue}="${E}"
103
- ${$.COUNTER.maxValue}="${n}"
104
- ${$.COUNTER.step}="${o}">
105
- </${t.COUNTER}>
42
+ <${$.SELECTPICKER}
43
+ class="${r}"
44
+ ${t.SELECTPICKER.name}="${e}"
45
+ ${t.SELECTPICKER.placeholder}="${T}">
46
+ ${n.map((a) => this._GuSelectItem(a)).join("")}
47
+ </${$.SELECTPICKER}>
106
48
  `;
107
49
  }
108
- _GuRadioButtonItem({ text: e, value: n, icon: E }) {
50
+ _GuTextInput({ name: e, placeholder: T, className: n = "" }) {
109
51
  return `
110
- <${t.RADIO_ITEM}
111
- ${$.RADIO_ITEM.value}="${n}"
112
- ${e ? `${$.RADIO_ITEM.text}="${e}"` : ""}
113
- ${E ? `${$.RADIO_ITEM.icon}="${E}"` : ""}>
114
- </${t.RADIO_ITEM}>
52
+ <${$.TEXT}
53
+ class=${n}
54
+ ${t.TEXT.name}="${e}"
55
+ placeholder="${T || e}">
56
+ </${$.TEXT}>
115
57
  `;
116
58
  }
117
- _GuRadioButton({ name: e, buttons: n, id: E = "" }) {
59
+ _GuCounter({ name: e, maxValue: T, minValue: n = 1, step: r = 1 }) {
118
60
  return `
119
- <${t.RADIO_BUTTONS}
120
- ${E ? `id="${E}"` : ""}
121
- ${$.RADIO_BUTTONS.name}="${e}">
122
- ${n.map((o) => this._GuRadioButtonItem(o)).join("")}
123
- </${t.RADIO_BUTTONS}>
61
+ <${$.COUNTER}
62
+ ${t.COUNTER.name}="${e}"
63
+ ${t.COUNTER.minValue}="${n}"
64
+ ${t.COUNTER.maxValue}="${T}"
65
+ ${t.COUNTER.step}="${r}">
66
+ </${$.COUNTER}>
124
67
  `;
125
68
  }
126
- _GuButton({ name: e, label: n, id: E = "" }) {
69
+ _GuButton({ name: e, label: T, id: n = "" }) {
127
70
  return `
128
- <${t.BUTTON}
129
- ${$.BUTTON.name}="${e}"
130
- ${E ? `id="${E}"` : ""}
131
- ${$.BUTTON.caption}="${n}"}>
132
- </${t.BUTTON}>
71
+ <${$.BUTTON}
72
+ ${t.BUTTON.name}="${e}"
73
+ ${n ? `id="${n}"` : ""}
74
+ ${t.BUTTON.caption}="${T}"}>
75
+ </${$.BUTTON}>
133
76
  `;
134
77
  }
135
78
  /**
@@ -137,112 +80,23 @@ class _ extends O {
137
80
  * @param param0
138
81
  * @returns It returns a button with an icon.
139
82
  */
140
- _GuIconButton({ name: e, icon: n, className: E = "" }) {
83
+ _GuIconButton({ name: e, icon: T, className: n = "" }) {
141
84
  return `
142
- <${t.BUTTON}
143
- class="${E}"
144
- ${$.BUTTON.name}="${e}"
145
- ${$.BUTTON.icon}="${n}">
146
- </${t.BUTTON}>
85
+ <${$.BUTTON}
86
+ class="${n}"
87
+ ${t.BUTTON.name}="${e}"
88
+ ${t.BUTTON.icon}="${T}">
89
+ </${$.BUTTON}>
147
90
  `;
148
91
  }
149
- _GuOneColumn(e, n = "") {
92
+ _GuTwoColumns(e) {
150
93
  return `
151
- <div class="container one-column ${n}">
94
+ <div class="checkbox-select-container container two-columns">
152
95
  ${e.join("")}
153
96
  </div>
154
97
  `;
155
98
  }
156
- _GuTwoColumns(e, n = "") {
157
- return `
158
- <div class="container two-columns ${n}">
159
- ${e.join("")}
160
- </div>
161
- `;
162
- }
163
- /**
164
- * Creates an orderable (sortable) list control
165
- * @param name - The control name for value binding
166
- * @param items - Array of item keys/values
167
- * @param itemLabels - Optional array of objects with key and label properties for display
168
- * @returns HTML string for the orderable control
169
- */
170
- _GuOrderable(e, n) {
171
- let E = "";
172
- n.forEach((T) => {
173
- const u = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
174
- E += `
175
- <${t.ORDERABLE_ITEM} ${u}="${T.key}">
176
- ${T.content}
177
- </${t.ORDERABLE_ITEM}>
178
- `;
179
- });
180
- const o = $.ORDERABLE && "name" in $.ORDERABLE ? $.ORDERABLE.name : "name";
181
- return `
182
- <${t.ORDERABLE} ${o}="${e}">
183
- ${E}
184
- </${t.ORDERABLE}>
185
- `;
186
- }
187
- _GuNestedControl(e, n) {
188
- return `
189
- <${t.NESTED_CONTROL} ${$.NESTED_CONTROL.controlId}="${e}">
190
- ${n}
191
- </${t.NESTED_CONTROL}>
192
- `;
193
- }
194
- _GuExpandable(e, n) {
195
- return `
196
- <${t.EXPANDABLE}>
197
- <${t.EXPANDABLE_HEADER}>
198
- <${t.LABEL} ${$.LABEL.text}="${e}"></${t.LABEL}>
199
- </${t.EXPANDABLE_HEADER}>
200
- <${t.EXPANDABLE_CONTENT}>
201
-
202
- ${n}
203
-
204
- </${t.EXPANDABLE_CONTENT}>
205
- </${t.EXPANDABLE}>
206
- `;
207
- }
208
- _GuColorPicker(e) {
209
- return `
210
- <${t.COLOR}
211
- ${$.COLOR.name}="${e}">
212
- </${t.COLOR}>
213
- `;
214
- }
215
- _GuFontFamily(e, n = "Select Font") {
216
- return `
217
- <${t.FONT_FAMILY_SELECT}
218
- ${$.FONT_FAMILY_SELECT.name}="${e}"
219
- ${$.FONT_FAMILY_SELECT.placeholder}="${n}">
220
- </${t.FONT_FAMILY_SELECT}>
221
- `;
222
- }
223
- _GuRadioButtons(e, n) {
224
- const E = n.map((o) => `
225
- <${t.RADIO_ITEM}
226
- ${$.RADIO_ITEM.text}="${o.text}"
227
- ${$.RADIO_ITEM.value}="${o.value}">
228
- </${t.RADIO_ITEM}>
229
- `).join("");
230
- return `
231
- <${t.RADIO_BUTTONS}
232
- ${$.RADIO_BUTTONS.name}="${e}">
233
- ${E}
234
- </${t.RADIO_BUTTONS}>
235
- `;
236
- }
237
- _GuCheckbox(e, n) {
238
- return `
239
- <${t.CHECKBOX}
240
- ${$.CHECKBOX.name}="${e}"
241
- ${$.CHECKBOX.caption}="${n}">
242
- </${t.CHECKBOX}>
243
- `;
244
- }
245
99
  }
246
100
  export {
247
- _ as CommonControl
101
+ L as CommonControl
248
102
  };