@useinsider/guido 1.0.3-beta.c8da346 → 1.0.3-beta.cc03cd5

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 (160) hide show
  1. package/README.md +3 -141
  2. package/dist/components/Guido.vue.js +10 -12
  3. package/dist/components/Guido.vue2.js +77 -82
  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/onboarding/NewVersionPopup.vue.js +9 -9
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  9. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  11. package/dist/composables/useStripo.js +48 -39
  12. package/dist/config/migrator/index.js +6 -7
  13. package/dist/enums/defaults.js +8 -15
  14. package/dist/enums/onboarding.js +1 -2
  15. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  16. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  17. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  18. package/dist/extensions/DynamicContent/dynamic-content-modal.js +13 -20
  19. package/dist/extensions/DynamicContent/dynamic-content.js +33 -145
  20. package/dist/guido.css +1 -1
  21. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -311
  22. package/dist/package.json.js +1 -1
  23. package/dist/services/stripoApi.js +1 -1
  24. package/dist/src/@types/generic.d.ts +4 -43
  25. package/dist/src/components/Guido.vue.d.ts +2 -3
  26. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  27. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  28. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  29. package/dist/src/enums/onboarding.d.ts +0 -1
  30. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -8
  31. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -50
  32. package/dist/src/stores/config.d.ts +1 -8
  33. package/dist/src/stores/dynamic-content.d.ts +2 -2
  34. package/dist/src/stores/editor.d.ts +0 -21
  35. package/dist/src/utils/dateUtil.d.ts +0 -21
  36. package/dist/src/utils/genericUtil.d.ts +0 -1
  37. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  38. package/dist/static/styles/customEditorStyle.css.js +0 -5
  39. package/dist/stores/editor.js +1 -2
  40. package/dist/utils/dateUtil.js +3 -24
  41. package/dist/utils/genericUtil.js +7 -8
  42. package/package.json +4 -4
  43. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +0 -28
  44. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +0 -38
  45. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +0 -17
  46. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +0 -37
  47. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +0 -20
  48. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +0 -44
  49. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +0 -17
  50. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +0 -27
  51. package/dist/composables/useBlocksConfig.js +0 -49
  52. package/dist/config/migrator/recommendationMigrator.js +0 -293
  53. package/dist/enums/date.js +0 -6
  54. package/dist/enums/extensions/recommendationBlock.js +0 -80
  55. package/dist/extensions/Blocks/Recommendation/block.js +0 -30
  56. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  57. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  58. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  59. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/extension.js +0 -45
  94. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +0 -51
  95. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -19
  96. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +0 -117
  97. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +0 -266
  98. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  99. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  100. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  101. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +0 -28
  102. package/dist/extensions/Blocks/common-control.js +0 -184
  103. package/dist/services/recommendationApi.js +0 -43
  104. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -19
  105. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -2
  106. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +0 -2
  107. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -16
  108. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  109. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  110. package/dist/src/enums/date.d.ts +0 -4
  111. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -16
  112. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -11
  113. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  114. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  115. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  146. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  147. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  148. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  149. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  150. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -2
  151. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +0 -4
  152. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +0 -4
  153. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -555
  154. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  155. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  156. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  157. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +0 -7
  158. package/dist/src/extensions/Blocks/common-control.d.ts +0 -87
  159. package/dist/src/mock/api/recommendation.d.ts +0 -2
  160. package/dist/src/services/recommendationApi.d.ts +0 -6
@@ -1,180 +0,0 @@
1
- const R = {
2
- TITLE: "You May Also Like!"
3
- }, O = `
4
- <tr>
5
- <td class="spacer" style="height: 20px;"></td>
6
- </tr>
7
- `, w = `
8
- <tr>
9
- <td>
10
- <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
11
- {-{-PRODUCTS-}-}
12
- </table>
13
- </td>
14
- </tr>
15
- `, i = `
16
- <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
17
- <table
18
- width="100%"
19
- height="100%"
20
- cellpadding="0"
21
- cellspacing="0"
22
- border="0"
23
- class="product-card-wrapper">
24
- <tr>
25
- <td
26
- class="product-attribute-cell"
27
- valign="top">
28
- <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
29
- <tbody>
30
- {-{-PRODUCT_CONTENT-}-}
31
- </tbody>
32
- </table>
33
- </td>
34
- </tr>
35
- </table>
36
- </td>
37
- `, b = [
38
- "productImage",
39
- "productName",
40
- "productOldPrice",
41
- "productPrice",
42
- "productButton"
43
- ];
44
- function C() {
45
- return [
46
- {
47
- name: "Product Name",
48
- image_url: "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png",
49
- price: { USD: 18 },
50
- original_price: { USD: 20 },
51
- discount: { USD: 2 },
52
- url: "https://example.com/product/1",
53
- item_id: "1",
54
- in_stock: 1,
55
- locale: "en",
56
- product_attributes: {},
57
- category: []
58
- },
59
- {
60
- name: "Belt",
61
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
62
- price: { TRY: 55 },
63
- original_price: { TRY: 65 },
64
- discount: { TRY: 10 },
65
- url: "https://example.com/product/2",
66
- item_id: "2",
67
- in_stock: 1,
68
- locale: "tr",
69
- product_attributes: {},
70
- category: []
71
- },
72
- {
73
- name: "Beanie",
74
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/08/beanie-with-logo-1.jpg",
75
- price: { TRY: 18 },
76
- original_price: { TRY: 20 },
77
- discount: { TRY: 2 },
78
- url: "https://example.com/product/3",
79
- item_id: "3",
80
- in_stock: 1,
81
- locale: "tr",
82
- product_attributes: {},
83
- category: []
84
- },
85
- {
86
- name: "Album",
87
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
88
- price: { TRY: 15 },
89
- original_price: { TRY: 15 },
90
- discount: { TRY: 0 },
91
- url: "https://example.com/product/4",
92
- item_id: "4",
93
- in_stock: 1,
94
- locale: "tr",
95
- product_attributes: {},
96
- category: []
97
- },
98
- {
99
- name: "Flying Ninja with a very long product name",
100
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
101
- price: { TRY: 12 },
102
- original_price: { TRY: 15 },
103
- discount: { TRY: 3 },
104
- url: "https://example.com/product/5",
105
- item_id: "5",
106
- in_stock: 1,
107
- locale: "tr",
108
- product_attributes: {},
109
- category: []
110
- },
111
- {
112
- name: "Single",
113
- image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
114
- price: { TRY: 22555 },
115
- original_price: { TRY: 33989 },
116
- discount: { TRY: 11434 },
117
- url: "https://example.com/product/6",
118
- item_id: "6",
119
- in_stock: 1,
120
- locale: "tr",
121
- product_attributes: {},
122
- category: []
123
- }
124
- ];
125
- }
126
- function N(p, r, e, l = b) {
127
- const n = (100 / r).toFixed(2), a = [];
128
- for (let o = 0; o < p.length; o += r)
129
- a.push(p.slice(o, o + r));
130
- let c = "";
131
- return a.forEach((o, _) => {
132
- _ > 0 && (c += O);
133
- let s = "", u = "", d = "", m = "", g = "";
134
- o.forEach((t) => {
135
- s += i.replace(
136
- "{-{-PRODUCT_CONTENT-}-}",
137
- e.productImage(t)
138
- ), u += i.replace(
139
- "{-{-PRODUCT_CONTENT-}-}",
140
- e.productName(t)
141
- ), d += i.replace(
142
- "{-{-PRODUCT_CONTENT-}-}",
143
- e.productPrice(t)
144
- ), m += i.replace(
145
- "{-{-PRODUCT_CONTENT-}-}",
146
- e.productOldPrice(t)
147
- ), g += i.replace(
148
- "{-{-PRODUCT_CONTENT-}-}",
149
- e.productButton(t)
150
- );
151
- });
152
- const T = {
153
- productImage: s,
154
- productName: u,
155
- productPrice: d,
156
- productOldPrice: m,
157
- productButton: g
158
- }, h = l.filter((t) => !!T[t]).map((t) => `<tr>${T[t]}</tr>`).join("");
159
- c += w.replace("{-{-PRODUCTS-}-}", h);
160
- }), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${n}%`);
161
- }
162
- function P(p, r, e, l, n = R.TITLE, a) {
163
- const c = N(
164
- r,
165
- e,
166
- l,
167
- a
168
- );
169
- return p.replace("{-{-TITLE-}-}", n).replace("{-{-PRODUCT_ROWS-}-}", c);
170
- }
171
- export {
172
- R as DEFAULTS,
173
- b as DEFAULT_CARD_COMPOSITION,
174
- P as generateTemplate,
175
- C as getDefaultProducts,
176
- N as prepareProductRows,
177
- i as productCardWrapper,
178
- w as productRow,
179
- O as spacer
180
- };
@@ -1,28 +0,0 @@
1
- function l(t) {
2
- if (t.length === 0)
3
- return "";
4
- const o = t.sort((r, e) => r.filterNumber - e.filterNumber), n = o.map((r) => `[${r.attribute}][${r.operatorReplace}][${r.value}]`), [s, ...p] = n;
5
- let u = s;
6
- for (let r = 0; r < p.length; r++) {
7
- const e = o[r + 1].innerGroupOperator;
8
- u += `${e}${p[r]}`;
9
- }
10
- return `(${u})`;
11
- }
12
- function m(t) {
13
- if (!t || t.length === 0)
14
- return "";
15
- const o = t.reduce((r, e) => (r[e.filterGroup] || (r[e.filterGroup] = []), r[e.filterGroup].push(e), r), {}), n = Object.keys(o).map(Number).sort((r, e) => r - e), s = n.map((r) => {
16
- const e = o[r];
17
- return l(e);
18
- }), [p, ...u] = s;
19
- let i = p;
20
- for (let r = 0; r < u.length; r++) {
21
- const e = n[r + 1], c = o[e][0].outerGroupOperator;
22
- i += `${c}${u[r]}`;
23
- }
24
- return console.debug("🎉 Complete query generated:", i), i.trim();
25
- }
26
- export {
27
- m as generateCompleteFilterQuery
28
- };
@@ -1,184 +0,0 @@
1
- var u = Object.defineProperty;
2
- var C = (o, n, E) => n in o ? u(o, n, { enumerable: !0, configurable: !0, writable: !0, value: E }) : o[n] = E;
3
- var a = (o, n, E) => C(o, typeof n != "symbol" ? n + "" : n, E);
4
- import { Control as R, UIElementType as $, UEAttr as e } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- class N extends R {
6
- constructor() {
7
- super(...arguments);
8
- a(this, "currentNode");
9
- }
10
- getContainer() {
11
- var E;
12
- return (E = document.querySelector("ui-editor")) == null ? void 0 : E.shadowRoot;
13
- }
14
- onTemplateNodeUpdated(E) {
15
- this.currentNode = E;
16
- }
17
- _GuLabel({ text: E, name: t = "", position: T = "top" }) {
18
- return `
19
- <${$.LABEL}
20
- style="${T === "top" ? "margin-bottom: 8px;" : ""}"
21
- ${e.LABEL.text}="${E}"
22
- ${e.LABEL.name}="${t || `${E} Label`}">
23
- </${$.LABEL}>
24
- `;
25
- }
26
- _GuToggle(E) {
27
- return `
28
- <${$.SWITCHER}
29
- ${e.SWITCHER.name}="${E}">
30
- </${$.SWITCHER}>
31
- `;
32
- }
33
- _GuSelectItem({ text: E, value: t }) {
34
- return `
35
- <${$.SELECT_ITEM}
36
- ${e.SELECT_ITEM.text}="${E}"
37
- ${e.SELECT_ITEM.value}="${t}">
38
- </${$.SELECT_ITEM}>`;
39
- }
40
- _GuSelect({ name: E, placeholder: t, options: T, className: r = "es-180w" }) {
41
- return `
42
- <${$.SELECTPICKER}
43
- class="${r}"
44
- ${e.SELECTPICKER.name}="${E}"
45
- ${e.SELECTPICKER.placeholder}="${t}">
46
- ${T.map((O) => this._GuSelectItem(O)).join("")}
47
- </${$.SELECTPICKER}>
48
- `;
49
- }
50
- _GuTextInput({ name: E, placeholder: t, className: T = "" }) {
51
- return `
52
- <${$.TEXT}
53
- class=${T}
54
- ${e.TEXT.name}="${E}"
55
- placeholder="${t || E}">
56
- </${$.TEXT}>
57
- `;
58
- }
59
- _GuCounter({ name: E, maxValue: t, minValue: T = 1, step: r = 1 }) {
60
- return `
61
- <${$.COUNTER}
62
- ${e.COUNTER.name}="${E}"
63
- ${e.COUNTER.minValue}="${T}"
64
- ${e.COUNTER.maxValue}="${t}"
65
- ${e.COUNTER.step}="${r}">
66
- </${$.COUNTER}>
67
- `;
68
- }
69
- _GuButton({ name: E, label: t, id: T = "" }) {
70
- return `
71
- <${$.BUTTON}
72
- ${e.BUTTON.name}="${E}"
73
- ${T ? `id="${T}"` : ""}
74
- ${e.BUTTON.caption}="${t}"}>
75
- </${$.BUTTON}>
76
- `;
77
- }
78
- /**
79
- *
80
- * @param param0
81
- * @returns It returns a button with an icon.
82
- */
83
- _GuIconButton({ name: E, icon: t, className: T = "" }) {
84
- return `
85
- <${$.BUTTON}
86
- class="${T}"
87
- ${e.BUTTON.name}="${E}"
88
- ${e.BUTTON.icon}="${t}">
89
- </${$.BUTTON}>
90
- `;
91
- }
92
- _GuTwoColumns(E) {
93
- return `
94
- <div class="checkbox-select-container container two-columns">
95
- ${E.join("")}
96
- </div>
97
- `;
98
- }
99
- /**
100
- * Creates an orderable (sortable) list control
101
- * @param name - The control name for value binding
102
- * @param items - Array of item keys/values
103
- * @param itemLabels - Optional array of objects with key and label properties for display
104
- * @returns HTML string for the orderable control
105
- */
106
- _GuOrderable(E, t) {
107
- let T = "";
108
- t.forEach((O) => {
109
- const L = e.ORDERABLE_ITEM && "name" in e.ORDERABLE_ITEM ? e.ORDERABLE_ITEM.name : "name";
110
- T += `
111
- <${$.ORDERABLE_ITEM} ${L}="${O.key}">
112
- ${O.content}
113
- </${$.ORDERABLE_ITEM}>
114
- `;
115
- });
116
- const r = e.ORDERABLE && "name" in e.ORDERABLE ? e.ORDERABLE.name : "name";
117
- return `
118
- <${$.ORDERABLE} ${r}="${E}">
119
- ${T}
120
- </${$.ORDERABLE}>
121
- `;
122
- }
123
- _GuNestedControl(E, t) {
124
- return `
125
- <${$.NESTED_CONTROL} ${e.NESTED_CONTROL.controlId}="${E}">
126
- ${t}
127
- </${$.NESTED_CONTROL}>
128
- `;
129
- }
130
- _GuExpandable(E, t) {
131
- return `
132
- <${$.EXPANDABLE}>
133
- <${$.EXPANDABLE_HEADER}>
134
- <${$.LABEL} ${e.LABEL.text}="${E}"></${$.LABEL}>
135
- </${$.EXPANDABLE_HEADER}>
136
- <${$.EXPANDABLE_CONTENT}>
137
-
138
- ${t}
139
-
140
- </${$.EXPANDABLE_CONTENT}>
141
- </${$.EXPANDABLE}>
142
- `;
143
- }
144
- _GuColorPicker(E) {
145
- return `
146
- <${$.COLOR}
147
- ${e.COLOR.name}="${E}">
148
- </${$.COLOR}>
149
- `;
150
- }
151
- _GuFontFamily(E, t = "Select Font") {
152
- return `
153
- <${$.FONT_FAMILY_SELECT}
154
- ${e.FONT_FAMILY_SELECT.name}="${E}"
155
- ${e.FONT_FAMILY_SELECT.placeholder}="${t}">
156
- </${$.FONT_FAMILY_SELECT}>
157
- `;
158
- }
159
- _GuRadioButtons(E, t) {
160
- const T = t.map((r) => `
161
- <${$.RADIO_ITEM}
162
- ${e.RADIO_ITEM.text}="${r.text}"
163
- ${e.RADIO_ITEM.value}="${r.value}">
164
- </${$.RADIO_ITEM}>
165
- `).join("");
166
- return `
167
- <${$.RADIO_BUTTONS}
168
- ${e.RADIO_BUTTONS.name}="${E}">
169
- ${T}
170
- </${$.RADIO_BUTTONS}>
171
- `;
172
- }
173
- _GuCheckbox(E, t) {
174
- return `
175
- <${$.CHECKBOX}
176
- ${e.CHECKBOX.name}="${E}"
177
- ${e.CHECKBOX.caption}="${t}">
178
- </${$.CHECKBOX}>
179
- `;
180
- }
181
- }
182
- export {
183
- N as CommonControl
184
- };
@@ -1,43 +0,0 @@
1
- import { useHttp as c } from "../composables/useHttp.js";
2
- import { URLS as a } from "../enums/extensions/recommendationBlock.js";
3
- import { useEditorStore as m } from "../stores/editor.js";
4
- import { replaceString as s } from "../utils/genericUtil.js";
5
- const l = () => {
6
- const { get: o } = c();
7
- return {
8
- fetchRecommendationCreateData: async () => {
9
- const e = m();
10
- try {
11
- return (await o(s(
12
- "/newsletter/{id}/recommendations/get-campaign-create-data",
13
- { id: e.templateId }
14
- ))).data;
15
- } catch (t) {
16
- throw console.error("fetchUserModalState error:", t), t;
17
- }
18
- },
19
- fetchRecommendationFilters: async () => {
20
- try {
21
- const { data: e } = await o("/stripo/email-recommendation-attributes");
22
- return e;
23
- } catch (e) {
24
- throw console.error("fetchRecommendationFilters error:", e), e;
25
- }
26
- },
27
- fetchRecommendationProducts: async (e, t) => {
28
- try {
29
- const r = decodeURIComponent(new URLSearchParams(Object.entries(t)).toString());
30
- console.debug("🏁 Recommendation API Query:", r);
31
- const n = await o(
32
- `${a.RECOMMENDATION_API_URL}/v2/${e}?${r}`
33
- );
34
- return (n == null ? void 0 : n.data) ?? [];
35
- } catch (r) {
36
- throw console.error("fetchRecommendationProducts error:", r), r;
37
- }
38
- }
39
- };
40
- };
41
- export {
42
- l as useRecommendationApi
43
- };
@@ -1,19 +0,0 @@
1
- import type { Filter } from '@@/Types/recommendation';
2
- type __VLS_Props = {
3
- filter: Filter;
4
- index: number;
5
- hasLogicAdapter?: boolean;
6
- };
7
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
8
- "delete-filter": (filter: Filter) => void;
9
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
10
- export default _default;
11
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
- type __VLS_TypePropsToOption<T> = {
13
- [K in keyof T]-?: {} extends Pick<T, K> ? {
14
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
- } : {
16
- type: import('vue').PropType<T[K]>;
17
- required: true;
18
- };
19
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
- export default _default;
@@ -1,16 +0,0 @@
1
- type __VLS_Props = {
2
- logic?: string;
3
- };
4
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
5
- change: (value: string) => void;
6
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
7
- export default _default;
8
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
- type __VLS_TypePropsToOption<T> = {
10
- [K in keyof T]-?: {} extends Pick<T, K> ? {
11
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
- } : {
13
- type: import('vue').PropType<T[K]>;
14
- required: true;
15
- };
16
- };
@@ -1,11 +0,0 @@
1
- import type { Extension } from '@stripoinc/ui-editor-extensions';
2
- /**
3
- * Composable for managing Guido blocks configuration
4
- * Converts GuidoConfig blocks settings to Stripo-compatible format
5
- */
6
- export declare const useBlocksConfig: () => {
7
- getStripoBlocksConfig: () => Promise<{
8
- baseBlocks: Record<string, boolean>;
9
- extensions: Extension[];
10
- }>;
11
- };
@@ -1 +0,0 @@
1
- export declare function migrateRecommendation(html: string): string;
@@ -1,4 +0,0 @@
1
- export declare const DEFAULT_LOCALE = "tr-TR";
2
- export declare const DEFAULT = "default";
3
- export declare const DEFAULT_TZ = "UTC";
4
- export declare const FORMAT_MAPPING: Record<string, string>;
@@ -1,16 +0,0 @@
1
- import type { TextValueObject } from '@@/Types/generic';
2
- import type { RecommendationFeedItem } from '@@/Types/recommendation';
3
- export declare const URLS: {
4
- RECOMMENDATION_API_URL: string;
5
- };
6
- export declare const RecommendationFeedSourceMaps: RecommendationFeedItem[];
7
- export declare const PriceAttributes: string[];
8
- export declare const currencyLocationMaps: TextValueObject[];
9
- export declare const currencyOperators: TextValueObject[];
10
- export declare const currencyDecimalCounts: TextValueObject[];
11
- export declare const operatorOptionsForStrings: TextValueObject[];
12
- export declare const operatorOptionsForArrayOfStrings: TextValueObject[];
13
- export declare const operatorOptionsForNumbers: TextValueObject[];
14
- export declare const operatorOptionsForDates: TextValueObject[];
15
- export declare const operatorOptionsForBooleans: TextValueObject[];
16
- export declare const getOperatorOptions: (type?: string) => TextValueObject[];
@@ -1,11 +0,0 @@
1
- import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
2
- export declare const BLOCK_ID = "recommendation-block";
3
- export declare class RecommendationBlock extends Block {
4
- constructor();
5
- getId(): string;
6
- getIcon(): string;
7
- getBlockCompositionType(): BlockCompositionType;
8
- getName(): string;
9
- getDescription(): string;
10
- getTemplate(): string;
11
- }
@@ -1,28 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../common-control';
3
- export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-recommendation-card-composition";
4
- export interface CardCompositionItem {
5
- key: string;
6
- label: string;
7
- visible: boolean;
8
- }
9
- export declare class RecommendationCardCompositionControl extends CommonControl {
10
- private currentComposition;
11
- private currentVisibility;
12
- getId(): string;
13
- getTemplate(): string;
14
- onRender(): void;
15
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
16
- /**
17
- * Initialize the composition order and visibility from the block or use defaults
18
- */
19
- private _initializeComposition;
20
- /**
21
- * Apply the reordered composition to the block's HTML structure
22
- */
23
- private _applyCompositionToBlock;
24
- /**
25
- * Apply visibility changes to the block's HTML structure
26
- */
27
- private _applyVisibilityToBlock;
28
- }
@@ -1,51 +0,0 @@
1
- /**
2
- * Block IDs used in the Recommendation Extension
3
- * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
4
- */
5
- export declare enum RecommendationBlockId {
6
- BUTTON = "recommendation-block-button",
7
- NAME = "recommendation-block-name",
8
- PRICE = "recommendation-block-price",
9
- OLD_PRICE = "recommendation-block-old-price",
10
- IMAGE = "recommendation-block-image"
11
- }
12
- /**
13
- * Control IDs used in the Recommendation Extension
14
- * These IDs are returned by the getId() method of each control
15
- */
16
- export declare enum RecommendationControlId {
17
- BUTTON_ALIGN = "recommendation-block-button-align-control",
18
- BUTTON_BORDER = "recommendation-block-button-border-control",
19
- BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control",
20
- BUTTON_COLOR = "recommendation-block-button-color-control",
21
- BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control",
22
- BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control",
23
- BUTTON_MARGINS = "recommendation-block-button-margins-control",
24
- BUTTON_PADDINGS = "recommendation-block-button-paddings-control",
25
- BUTTON_TEXT = "recommendation-block-button-text-control",
26
- BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control",
27
- BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control",
28
- NAME_ALIGN = "recommendation-block-name-align-control",
29
- NAME_BACKGROUND = "recommendation-block-name-background-control",
30
- NAME_COLOR = "recommendation-block-name-color-control",
31
- NAME_FONT_FAMILY = "recommendation-block-name-font-family-control",
32
- NAME_PADDINGS = "recommendation-block-name-paddings-control",
33
- NAME_SIZE = "recommendation-block-name-size-control",
34
- NAME_STYLE = "recommendation-block-name-style-control",
35
- PRICE_ALIGN = "recommendation-block-price-align-control",
36
- PRICE_BACKGROUND = "recommendation-block-price-background-control",
37
- PRICE_COLOR = "recommendation-block-price-color-control",
38
- PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control",
39
- PRICE_PADDINGS = "recommendation-block-price-paddings-control",
40
- PRICE_SIZE = "recommendation-block-price-size-control",
41
- PRICE_STYLE = "recommendation-block-price-style-control",
42
- OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control",
43
- OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control",
44
- OLD_PRICE_COLOR = "recommendation-block-old-price-color-control",
45
- OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control",
46
- OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
47
- OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
48
- OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
49
- IMAGE_SIZE = "recommendation-block-image-size-control",
50
- IMAGE_MARGINS = "recommendation-block-image-margins-control"
51
- }
@@ -1,35 +0,0 @@
1
- import { CommonControl } from '../common-control';
2
- export declare const CONTROL_BLOCK_ID = "ui-elements-recommendation-block";
3
- export declare class RecommendationBlockControl extends CommonControl {
4
- private store;
5
- private storeUnsubscription;
6
- private addFilterListener;
7
- private addFilterButton;
8
- getId(): string;
9
- getTemplate(): string;
10
- onRender(): Promise<void>;
11
- onDestroy(): void;
12
- _setFormValues(): void;
13
- _initializeSelectItems(): void;
14
- _getAlgorithms(): string;
15
- _getLanguages(): string;
16
- _getCurrency(): string;
17
- _getProductLayout(): string;
18
- _getFilterStatus(): string;
19
- _getShuffleProducts(): string;
20
- _getResponsive(): string;
21
- _onFilterChange(value: boolean): void;
22
- _onFilterSelectClick(): void;
23
- _onDataChange(item: string, value: string | number | string[]): void;
24
- /**
25
- * Get the current card composition from block data attribute or use default
26
- */
27
- _getCardComposition(): string[];
28
- _regenerateProductRows(): void;
29
- _debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
30
- _onCurrencyConfigChange(item: string, value: string | number): void;
31
- _onCurrencyChange(value: string): void;
32
- _setProductIdsVisibility(): void;
33
- _listenToFormUpdates(): void;
34
- _listenStateUpdates(): void;
35
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonAlignControl extends ButtonAlignBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonBorderBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonBorderControl extends ButtonBorderBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }
@@ -1,5 +0,0 @@
1
- import { ImmutableHtmlNode, ButtonBorderRadiusBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
- export declare class ButtonBorderRadiusControl extends ButtonBorderRadiusBuiltInControl {
3
- getId(): string;
4
- getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
- }