@useinsider/guido 2.1.0-beta.e13d291 → 2.1.0-beta.e2d48fe

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 (152) hide show
  1. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  2. package/dist/config/migrator/recommendationMigrator.js +2 -2
  3. package/dist/extensions/Blocks/Items/block.js +19 -28
  4. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  5. package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
  6. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  7. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  8. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +34 -46
  9. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +45 -50
  10. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +40 -51
  11. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -35
  12. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  13. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -62
  14. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  15. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  16. package/dist/extensions/Blocks/Items/extension.js +8 -9
  17. package/dist/extensions/Blocks/Items/template.js +181 -175
  18. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  19. package/dist/extensions/Blocks/Recommendation/block.js +6 -40
  20. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +187 -0
  21. package/dist/extensions/Blocks/Recommendation/constants.js +13 -0
  22. package/dist/extensions/Blocks/Recommendation/control.js +336 -0
  23. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textAfter.js → omnibusDiscountTextAfterControl.js} +14 -16
  27. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textBefore.js → omnibusDiscountTextBeforeControl.js} +14 -16
  28. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textAfter.js → omnibusPriceTextAfterControl.js} +14 -16
  29. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textBefore.js → omnibusPriceTextBeforeControl.js} +12 -14
  30. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  31. package/dist/extensions/Blocks/Recommendation/extension.js +17 -40
  32. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +3 -19
  33. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +4 -13
  34. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +10 -21
  35. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +36 -41
  36. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +181 -0
  37. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +189 -0
  38. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +209 -0
  39. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  40. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +16 -27
  41. package/dist/extensions/Blocks/common-control.js +91 -92
  42. package/dist/extensions/Blocks/controlFactories.js +93 -125
  43. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +169 -223
  44. package/dist/package.json.js +1 -1
  45. package/dist/services/recommendationApi.js +9 -10
  46. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  47. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  48. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  49. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  50. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  51. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  52. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  53. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  54. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  55. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  56. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  57. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  58. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  59. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  60. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -34
  61. package/dist/src/extensions/Blocks/Recommendation/{controls/cardComposition/index.d.ts → cardCompositionControl.d.ts} +3 -23
  62. package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +24 -0
  63. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +38 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +589 -21
  65. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
  66. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -17
  67. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  68. package/dist/src/extensions/Blocks/Recommendation/templates/{grid/migration.d.ts → migrationTemplate.d.ts} +4 -11
  69. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +52 -0
  70. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  71. package/dist/static/styles/customEditorStyle.css.js +2 -25
  72. package/package.json +2 -2
  73. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  74. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +0 -4
  75. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +0 -4
  76. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +0 -64
  77. package/dist/extensions/Blocks/Recommendation/constants/layout.js +0 -20
  78. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -19
  79. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
  80. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -80
  81. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -232
  82. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
  83. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -96
  84. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +0 -110
  85. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +0 -204
  86. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +0 -54
  87. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -205
  88. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +0 -74
  89. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +0 -118
  90. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +0 -71
  91. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +0 -286
  92. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
  93. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -76
  94. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +0 -44
  95. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +0 -48
  96. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +0 -48
  97. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
  98. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -222
  99. package/dist/extensions/Blocks/Recommendation/services/configService.js +0 -239
  100. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +0 -233
  101. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +0 -251
  102. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +0 -69
  103. package/dist/extensions/Blocks/Recommendation/templates/index.js +0 -12
  104. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +0 -174
  105. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +0 -73
  106. package/dist/extensions/Blocks/Recommendation/templates/utils.js +0 -121
  107. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +0 -6
  108. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +0 -29
  109. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +0 -46
  110. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  111. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
  112. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +0 -49
  113. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -13
  114. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +0 -35
  115. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -31
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +0 -143
  117. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -31
  118. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
  119. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -37
  120. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -29
  121. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +0 -45
  122. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +0 -22
  123. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -57
  124. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +0 -24
  125. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -42
  126. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -23
  127. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +0 -214
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +0 -97
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -16
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -95
  131. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -100
  132. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -15
  133. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -15
  134. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -100
  135. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -15
  136. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -15
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +0 -95
  138. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +0 -83
  139. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +0 -151
  140. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +0 -6
  141. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +0 -20
  142. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +0 -33
  143. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +0 -39
  144. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +0 -8
  145. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +0 -25
  146. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +0 -18
  147. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +0 -54
  148. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +0 -7
  149. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +0 -154
  150. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +0 -33
  151. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +0 -113
  152. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +0 -77
@@ -0,0 +1,209 @@
1
+ import { ATTR_PRODUCT_IMAGE as h, ATTR_PRODUCT_NAME as C, ATTR_PRODUCT_OLD_PRICE as D, ATTR_PRODUCT_PRICE as b, ATTR_PRODUCT_OMNIBUS_PRICE as P, ATTR_PRODUCT_OMNIBUS_DISCOUNT as U, ATTR_PRODUCT_BUTTON as N } from "../constants.js";
2
+ const E = {
3
+ TITLE: "You May Also Like!"
4
+ }, I = `
5
+ <tr>
6
+ <td class="spacer" style="height: 10px;"></td>
7
+ </tr>
8
+ `, A = `
9
+ <tr class="recommendation-product-row">
10
+ <td>
11
+ <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
12
+ {-{-PRODUCTS-}-}
13
+ </table>
14
+ </td>
15
+ </tr>
16
+ `, o = `
17
+ <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
18
+ <table
19
+ width="100%"
20
+ height="100%"
21
+ cellpadding="0"
22
+ cellspacing="0"
23
+ border="0"
24
+ class="product-card-wrapper">
25
+ <tr>
26
+ <td
27
+ class="product-attribute-cell"
28
+ valign="top">
29
+ <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
30
+ <tbody>
31
+ {-{-PRODUCT_CONTENT-}-}
32
+ </tbody>
33
+ </table>
34
+ </td>
35
+ </tr>
36
+ </table>
37
+ </td>
38
+ `, Y = [
39
+ h,
40
+ C,
41
+ D,
42
+ b,
43
+ P,
44
+ U,
45
+ N
46
+ ], S = {
47
+ [h]: !0,
48
+ [C]: !0,
49
+ [b]: !0,
50
+ [D]: !0,
51
+ [P]: !1,
52
+ [U]: !1,
53
+ [N]: !0
54
+ };
55
+ function M() {
56
+ return [
57
+ {
58
+ name: "Product Name",
59
+ image_url: "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png",
60
+ price: { USD: 18 },
61
+ original_price: { USD: 20 },
62
+ discount: { USD: 2 },
63
+ url: "https://example.com/product/1",
64
+ item_id: "1",
65
+ in_stock: 1,
66
+ locale: "en",
67
+ product_attributes: {},
68
+ category: []
69
+ },
70
+ {
71
+ name: "Belt",
72
+ image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
73
+ price: { TRY: 55 },
74
+ original_price: { TRY: 65 },
75
+ discount: { TRY: 10 },
76
+ url: "https://example.com/product/2",
77
+ item_id: "2",
78
+ in_stock: 1,
79
+ locale: "tr",
80
+ product_attributes: {},
81
+ category: []
82
+ },
83
+ {
84
+ name: "Beanie",
85
+ image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/08/beanie-with-logo-1.jpg",
86
+ price: { TRY: 18 },
87
+ original_price: { TRY: 20 },
88
+ discount: { TRY: 2 },
89
+ url: "https://example.com/product/3",
90
+ item_id: "3",
91
+ in_stock: 1,
92
+ locale: "tr",
93
+ product_attributes: {},
94
+ category: []
95
+ },
96
+ {
97
+ name: "Album",
98
+ image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
99
+ price: { TRY: 15 },
100
+ original_price: { TRY: 15 },
101
+ discount: { TRY: 0 },
102
+ url: "https://example.com/product/4",
103
+ item_id: "4",
104
+ in_stock: 1,
105
+ locale: "tr",
106
+ product_attributes: {},
107
+ category: []
108
+ },
109
+ {
110
+ name: "Flying Ninja with a very long product name",
111
+ image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/09/belt-2.jpg",
112
+ price: { TRY: 12 },
113
+ original_price: { TRY: 15 },
114
+ discount: { TRY: 3 },
115
+ url: "https://example.com/product/5",
116
+ item_id: "5",
117
+ in_stock: 1,
118
+ locale: "tr",
119
+ product_attributes: {},
120
+ category: []
121
+ },
122
+ {
123
+ name: "Single",
124
+ image_url: "https://inshoppingcart.com/ins-html/wp-content/uploads/2018/12/poster_2_up.jpg",
125
+ price: { TRY: 22555 },
126
+ original_price: { TRY: 33989 },
127
+ discount: { TRY: 11434 },
128
+ url: "https://example.com/product/6",
129
+ item_id: "6",
130
+ in_stock: 1,
131
+ locale: "tr",
132
+ product_attributes: {},
133
+ category: []
134
+ }
135
+ ];
136
+ }
137
+ function f(a, r, e, l = Y) {
138
+ const s = (100 / r).toFixed(2), p = [];
139
+ for (let i = 0; i < a.length; i += r)
140
+ p.push(a.slice(i, i + r));
141
+ let c = "";
142
+ return p.forEach((i, w) => {
143
+ w > 0 && (c += I);
144
+ let n = "", u = "", d = "", T = "", m = "", _ = "", g = "";
145
+ i.forEach((t) => {
146
+ n += o.replace(
147
+ "{-{-PRODUCT_CONTENT-}-}",
148
+ e.productImage(t)
149
+ ), u += o.replace(
150
+ "{-{-PRODUCT_CONTENT-}-}",
151
+ e.productName(t)
152
+ ), d += o.replace(
153
+ "{-{-PRODUCT_CONTENT-}-}",
154
+ e.productPrice(t)
155
+ ), T += o.replace(
156
+ "{-{-PRODUCT_CONTENT-}-}",
157
+ e.productOldPrice(t)
158
+ ), m += o.replace(
159
+ "{-{-PRODUCT_CONTENT-}-}",
160
+ e.productOmnibusPrice(t)
161
+ ), _ += o.replace(
162
+ "{-{-PRODUCT_CONTENT-}-}",
163
+ e.productOmnibusDiscount(t)
164
+ ), g += o.replace(
165
+ "{-{-PRODUCT_CONTENT-}-}",
166
+ e.productButton(t)
167
+ );
168
+ });
169
+ const R = {
170
+ productImage: n,
171
+ productName: u,
172
+ productPrice: d,
173
+ productOldPrice: T,
174
+ productOmnibusPrice: m,
175
+ productOmnibusDiscount: _,
176
+ productButton: g
177
+ }, y = l.filter((t) => !!R[t]).map((t) => {
178
+ const O = S[t] ?? !0;
179
+ return `
180
+ <tr class="recommendation-attribute-row"
181
+ data-attribute-type="${t}"
182
+ data-visibility="${O ? "1" : "0"}"${O ? "" : ' style="display: none;"'}>
183
+ ${R[t]}
184
+ </tr>
185
+ `;
186
+ }).join("");
187
+ c += A.replace("{-{-PRODUCTS-}-}", y);
188
+ }), c.replaceAll("{-{-COLUMN_WIDTH-}-}", `${s}%`);
189
+ }
190
+ function j(a, r, e, l, s = E.TITLE, p) {
191
+ const c = f(
192
+ r,
193
+ e,
194
+ l,
195
+ p
196
+ );
197
+ return a.replace("{-{-TITLE-}-}", s).replace("{-{-PRODUCT_ROWS-}-}", c);
198
+ }
199
+ export {
200
+ E as DEFAULTS,
201
+ Y as DEFAULT_CARD_COMPOSITION,
202
+ S as DEFAULT_CARD_VISIBILITY,
203
+ j as generateTemplate,
204
+ M as getDefaultProducts,
205
+ f as prepareProductRows,
206
+ o as productCardWrapper,
207
+ A as productRow,
208
+ I as spacer
209
+ };
@@ -1,28 +1,28 @@
1
1
  function l(t) {
2
2
  if (t.length === 0)
3
3
  return "";
4
- const o = t.sort((r, e) => r.filterNumber - e.filterNumber), n = o.map((r) => `[${r.attribute}][${r.operatorReplace}][${r.value}]`), [i, ...p] = n;
5
- let u = i;
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
6
  for (let r = 0; r < p.length; r++) {
7
7
  const e = o[r + 1].innerGroupOperator;
8
8
  u += `${e}${p[r]}`;
9
9
  }
10
10
  return `(${u})`;
11
11
  }
12
- function f(t) {
12
+ function m(t) {
13
13
  if (!t || t.length === 0)
14
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), i = n.map((r) => {
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
16
  const e = o[r];
17
17
  return l(e);
18
- }), [p, ...u] = i;
19
- let s = p;
18
+ }), [p, ...u] = s;
19
+ let i = p;
20
20
  for (let r = 0; r < u.length; r++) {
21
21
  const e = n[r + 1], c = o[e][0].outerGroupOperator;
22
- s += `${c}${u[r]}`;
22
+ i += `${c}${u[r]}`;
23
23
  }
24
- return s.trim();
24
+ return console.debug("🎉 Complete query generated:", i), i.trim();
25
25
  }
26
26
  export {
27
- f as generateCompleteFilterQuery
27
+ m as generateCompleteFilterQuery
28
28
  };
@@ -1,36 +1,25 @@
1
- function p(t) {
2
- const r = {
3
- "&": "&amp;",
4
- "<": "&lt;",
5
- ">": "&gt;",
6
- '"': "&quot;",
7
- "'": "&#39;"
8
- };
9
- return t.replace(/[&<>"']/g, (n) => r[n]);
1
+ function a(n) {
2
+ return "getInnerHTML" in n && typeof n.getInnerHTML == "function" ? n.getInnerHTML().trim() : "innerHTML" in n ? n.innerHTML : "";
10
3
  }
11
- function m(t) {
12
- return "getInnerHTML" in t && typeof t.getInnerHTML == "function" ? t.getInnerHTML() : "innerHTML" in t ? t.innerHTML : "";
13
- }
14
- function T(t, r) {
15
- const n = p(r);
16
- if (!t)
17
- return n;
18
- const e = m(t);
19
- if (!e || e.trim() === "" || !/<(strong|em|u|s|b|i)\b/i.test(e))
20
- return n;
21
- const i = [], o = [];
22
- let c = e.trim();
4
+ function m(n, t) {
5
+ if (!n)
6
+ return t;
7
+ const r = a(n);
8
+ if (!r || r.trim() === "" || !/<(strong|em|u|s|b|i)\b/i.test(r))
9
+ return t;
10
+ const i = [], s = [];
11
+ let o = r.trim();
23
12
  for (; ; ) {
24
- const u = c.match(/^<(strong|em|u|s|b|i)(\s[^>]*)?>(.*)$/is);
13
+ const u = o.match(/^<(strong|em|u|s|b|i)(\s[^>]*)?>(.*)$/is);
25
14
  if (!u)
26
15
  break;
27
- const [, s, f = "", g] = u, a = new RegExp(`</${s}>$`, "i");
28
- if (!a.test(g))
16
+ const [, e, f = "", g] = u, c = new RegExp(`</${e}>$`, "i");
17
+ if (!c.test(g))
29
18
  break;
30
- i.push(`<${s}${f}>`), o.unshift(`</${s}>`), c = g.replace(a, "").trim();
19
+ i.push(`<${e}${f}>`), s.unshift(`</${e}>`), o = g.replace(c, "").trim();
31
20
  }
32
- return i.length > 0 ? i.join("") + n + o.join("") : n;
21
+ return i.length > 0 ? i.join("") + t + s.join("") : t;
33
22
  }
34
23
  export {
35
- T as preserveTextStyles
24
+ m as preserveTextStyles
36
25
  };
@@ -1,8 +1,8 @@
1
1
  var I = Object.defineProperty;
2
- var c = (T, r, e) => r in T ? I(T, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[r] = e;
3
- var u = (T, r, e) => c(T, typeof r != "symbol" ? r + "" : r, e);
4
- import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- class _ extends O {
2
+ var O = (T, r, e) => r in T ? I(T, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[r] = e;
3
+ var u = (T, r, e) => O(T, typeof r != "symbol" ? r + "" : r, e);
4
+ import { Control as c, UIElementType as n, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ class _ extends c {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  u(this, "currentNode");
@@ -33,101 +33,100 @@ class _ extends O {
33
33
  const e = this.getItemsBlockContainer();
34
34
  if (!e)
35
35
  return null;
36
- const n = e.getNodeConfig();
37
- return n && typeof n.blockInstanceId == "string" ? n.blockInstanceId : null;
36
+ const t = e.getNodeConfig();
37
+ return t && typeof t.blockInstanceId == "string" ? t.blockInstanceId : null;
38
38
  }
39
39
  /**
40
- * Handles block instance change detection and syncing.
41
- * This is a helper method for controls that need to sync config when switching between block instances.
40
+ * Handles block instance change detection and UI updates.
41
+ * This is a helper method for controls that need to update UI when switching between block instances.
42
42
  * Uses Stripo V2 nodeConfig API for block instance tracking.
43
- * @param syncFunction - Function to call when block instance changes (to sync from node config)
44
- * @param updateUI - Function to call to update the UI (called both on change and when same block)
43
+ * @param updateUI - Function to call to update the UI (called on every update)
45
44
  * @returns true if block instance changed, false otherwise
46
45
  */
47
- handleBlockInstanceChange(e, n) {
48
- const E = this.getBlockInstanceId();
49
- if (!E)
46
+ handleBlockInstanceChange(e) {
47
+ const t = this.getBlockInstanceId();
48
+ if (!t)
50
49
  return !1;
51
- const o = E !== this.lastBlockInstanceId;
52
- return o ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = E) : n(), o;
50
+ const E = t !== this.lastBlockInstanceId;
51
+ return e(), E && (this.lastBlockInstanceId = t), E;
53
52
  }
54
- _GuLabel({ text: e, name: n = "" }) {
53
+ _GuLabel({ text: e, name: t = "" }) {
55
54
  return `
56
- <${t.LABEL}
55
+ <${n.LABEL}
57
56
  ${$.LABEL.text}="${e}"
58
- ${$.LABEL.name}="${n || `${e} Label`}">
59
- </${t.LABEL}>
57
+ ${$.LABEL.name}="${t || `${e} Label`}">
58
+ </${n.LABEL}>
60
59
  `;
61
60
  }
62
61
  _GuToggle(e) {
63
62
  return `
64
- <${t.SWITCHER}
63
+ <${n.SWITCHER}
65
64
  ${$.SWITCHER.name}="${e}">
66
- </${t.SWITCHER}>
65
+ </${n.SWITCHER}>
67
66
  `;
68
67
  }
69
- _GuSelectItem({ text: e, value: n }) {
68
+ _GuSelectItem({ text: e, value: t }) {
70
69
  return `
71
- <${t.SELECT_ITEM}
70
+ <${n.SELECT_ITEM}
72
71
  ${$.SELECT_ITEM.text}="${e}"
73
- ${$.SELECT_ITEM.value}="${n}">
74
- </${t.SELECT_ITEM}>`;
72
+ ${$.SELECT_ITEM.value}="${t}">
73
+ </${n.SELECT_ITEM}>`;
75
74
  }
76
- _GuSelect({ name: e, placeholder: n, options: E, className: o = "es-180w" }) {
75
+ _GuSelect({ name: e, placeholder: t, options: E, className: o = "es-180w" }) {
77
76
  return `
78
- <${t.SELECTPICKER}
77
+ <${n.SELECTPICKER}
79
78
  class="${o}"
80
79
  ${$.SELECTPICKER.name}="${e}"
81
- ${$.SELECTPICKER.placeholder}="${n}">
80
+ ${$.SELECTPICKER.placeholder}="${t}">
82
81
  ${E.map((a) => this._GuSelectItem(a)).join("")}
83
- </${t.SELECTPICKER}>
82
+ </${n.SELECTPICKER}>
84
83
  `;
85
84
  }
86
- _GuTextInput({ name: e, placeholder: n, className: E = "", disabled: o = !1 }) {
85
+ _GuTextInput({ name: e, placeholder: t, className: E = "", disabled: o = !1 }) {
87
86
  return `
88
- <${t.TEXT}
87
+ <${n.TEXT}
89
88
  class=${E}
90
89
  ${$.TEXT.name}="${e}"
91
- placeholder="${n || e}"
90
+ placeholder="${t || e}"
92
91
  ${o ? `${$.TEXT.disabled}="true"` : ""}>
93
- </${t.TEXT}>
92
+ </${n.TEXT}>
94
93
  `;
95
94
  }
96
- _GuCounter({ name: e, maxValue: n, minValue: E = 1, step: o = 1 }) {
95
+ _GuCounter({ name: e, maxValue: t, minValue: E = 1, step: o = 1 }) {
97
96
  return `
98
- <${t.COUNTER}
97
+ <${n.COUNTER}
99
98
  ${$.COUNTER.name}="${e}"
100
99
  ${$.COUNTER.minValue}="${E}"
101
- ${$.COUNTER.maxValue}="${n}"
100
+ ${$.COUNTER.maxValue}="${t}"
102
101
  ${$.COUNTER.step}="${o}">
103
- </${t.COUNTER}>
102
+ </${n.COUNTER}>
104
103
  `;
105
104
  }
106
- _GuRadioButtonItem({ text: e, value: n, icon: E }) {
105
+ _GuRadioButtonItem({ text: e, value: t, icon: E }) {
107
106
  return `
108
- <${t.RADIO_ITEM}
109
- ${$.RADIO_ITEM.value}="${n}"
107
+ <${n.RADIO_ITEM}
108
+ ${$.RADIO_ITEM.value}="${t}"
110
109
  ${e ? `${$.RADIO_ITEM.text}="${e}"` : ""}
111
110
  ${E ? `${$.RADIO_ITEM.icon}="${E}"` : ""}>
112
- </${t.RADIO_ITEM}>
111
+ </${n.RADIO_ITEM}>
113
112
  `;
114
113
  }
115
- _GuRadioButton({ name: e, buttons: n, id: E = "" }) {
114
+ _GuRadioButton({ name: e, buttons: t, id: E = "" }) {
116
115
  return `
117
- <${t.RADIO_BUTTONS}
116
+ <${n.RADIO_BUTTONS}
118
117
  ${E ? `id="${E}"` : ""}
119
118
  ${$.RADIO_BUTTONS.name}="${e}">
120
- ${n.map((o) => this._GuRadioButtonItem(o)).join("")}
121
- </${t.RADIO_BUTTONS}>
119
+ ${t.map((o) => this._GuRadioButtonItem(o)).join("")}
120
+ </${n.RADIO_BUTTONS}>
122
121
  `;
123
122
  }
124
- _GuButton({ name: e, label: n, id: E = "" }) {
123
+ _GuButton({ name: e, label: t, id: E = "" }) {
125
124
  return `
126
- <${t.BUTTON}
125
+ <${n.BUTTON}
127
126
  ${$.BUTTON.name}="${e}"
128
127
  ${E ? `id="${E}"` : ""}
129
- ${$.BUTTON.caption}="${n}"}>
130
- </${t.BUTTON}>
128
+ ${$.BUTTON.caption}="${t}"}>
129
+ </${n.BUTTON}>
131
130
  `;
132
131
  }
133
132
  /**
@@ -135,25 +134,25 @@ class _ extends O {
135
134
  * @param param0
136
135
  * @returns It returns a button with an icon.
137
136
  */
138
- _GuIconButton({ name: e, icon: n, className: E = "" }) {
137
+ _GuIconButton({ name: e, icon: t, className: E = "" }) {
139
138
  return `
140
- <${t.BUTTON}
139
+ <${n.BUTTON}
141
140
  class="${E}"
142
141
  ${$.BUTTON.name}="${e}"
143
- ${$.BUTTON.icon}="${n}">
144
- </${t.BUTTON}>
142
+ ${$.BUTTON.icon}="${t}">
143
+ </${n.BUTTON}>
145
144
  `;
146
145
  }
147
- _GuOneColumn(e, n = "") {
146
+ _GuOneColumn(e, t = "") {
148
147
  return `
149
- <div class="container one-column ${n}">
148
+ <div class="container one-column ${t}">
150
149
  ${e.join("")}
151
150
  </div>
152
151
  `;
153
152
  }
154
- _GuTwoColumns(e, n = "") {
153
+ _GuTwoColumns(e, t = "") {
155
154
  return `
156
- <div class="container two-columns ${n}">
155
+ <div class="container two-columns ${t}">
157
156
  ${e.join("")}
158
157
  </div>
159
158
  `;
@@ -165,79 +164,79 @@ class _ extends O {
165
164
  * @param itemLabels - Optional array of objects with key and label properties for display
166
165
  * @returns HTML string for the orderable control
167
166
  */
168
- _GuOrderable(e, n) {
167
+ _GuOrderable(e, t) {
169
168
  let E = "";
170
- n.forEach((a) => {
169
+ t.forEach((a) => {
171
170
  const l = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
172
171
  E += `
173
- <${t.ORDERABLE_ITEM} ${l}="${a.key}">
172
+ <${n.ORDERABLE_ITEM} ${l}="${a.key}">
174
173
  ${a.content}
175
- </${t.ORDERABLE_ITEM}>
174
+ </${n.ORDERABLE_ITEM}>
176
175
  `;
177
176
  });
178
177
  const o = $.ORDERABLE && "name" in $.ORDERABLE ? $.ORDERABLE.name : "name";
179
178
  return `
180
- <${t.ORDERABLE} ${o}="${e}">
179
+ <${n.ORDERABLE} ${o}="${e}">
181
180
  ${E}
182
- </${t.ORDERABLE}>
181
+ </${n.ORDERABLE}>
183
182
  `;
184
183
  }
185
- _GuNestedControl(e, n) {
184
+ _GuNestedControl(e, t) {
186
185
  return `
187
- <${t.NESTED_CONTROL} ${$.NESTED_CONTROL.controlId}="${e}">
188
- ${n}
189
- </${t.NESTED_CONTROL}>
186
+ <${n.NESTED_CONTROL} ${$.NESTED_CONTROL.controlId}="${e}">
187
+ ${t}
188
+ </${n.NESTED_CONTROL}>
190
189
  `;
191
190
  }
192
- _GuExpandable(e, n) {
191
+ _GuExpandable(e, t) {
193
192
  return `
194
- <${t.EXPANDABLE}>
195
- <${t.EXPANDABLE_HEADER}>
196
- <${t.LABEL} ${$.LABEL.text}="${e}"></${t.LABEL}>
197
- </${t.EXPANDABLE_HEADER}>
198
- <${t.EXPANDABLE_CONTENT}>
193
+ <${n.EXPANDABLE}>
194
+ <${n.EXPANDABLE_HEADER}>
195
+ <${n.LABEL} ${$.LABEL.text}="${e}"></${n.LABEL}>
196
+ </${n.EXPANDABLE_HEADER}>
197
+ <${n.EXPANDABLE_CONTENT}>
199
198
 
200
- ${n}
199
+ ${t}
201
200
 
202
- </${t.EXPANDABLE_CONTENT}>
203
- </${t.EXPANDABLE}>
201
+ </${n.EXPANDABLE_CONTENT}>
202
+ </${n.EXPANDABLE}>
204
203
  `;
205
204
  }
206
205
  _GuColorPicker(e) {
207
206
  return `
208
- <${t.COLOR}
207
+ <${n.COLOR}
209
208
  ${$.COLOR.name}="${e}">
210
- </${t.COLOR}>
209
+ </${n.COLOR}>
211
210
  `;
212
211
  }
213
- _GuFontFamily(e, n = "Select Font") {
212
+ _GuFontFamily(e, t = "Select Font") {
214
213
  return `
215
- <${t.FONT_FAMILY_SELECT}
214
+ <${n.FONT_FAMILY_SELECT}
216
215
  ${$.FONT_FAMILY_SELECT.name}="${e}"
217
- ${$.FONT_FAMILY_SELECT.placeholder}="${n}">
218
- </${t.FONT_FAMILY_SELECT}>
216
+ ${$.FONT_FAMILY_SELECT.placeholder}="${t}">
217
+ </${n.FONT_FAMILY_SELECT}>
219
218
  `;
220
219
  }
221
- _GuRadioButtons(e, n) {
222
- const E = n.map((o) => `
223
- <${t.RADIO_ITEM}
220
+ _GuRadioButtons(e, t) {
221
+ const E = t.map((o) => `
222
+ <${n.RADIO_ITEM}
224
223
  ${$.RADIO_ITEM.text}="${o.text}"
225
224
  ${$.RADIO_ITEM.value}="${o.value}">
226
- </${t.RADIO_ITEM}>
225
+ </${n.RADIO_ITEM}>
227
226
  `).join("");
228
227
  return `
229
- <${t.RADIO_BUTTONS}
228
+ <${n.RADIO_BUTTONS}
230
229
  ${$.RADIO_BUTTONS.name}="${e}">
231
230
  ${E}
232
- </${t.RADIO_BUTTONS}>
231
+ </${n.RADIO_BUTTONS}>
233
232
  `;
234
233
  }
235
- _GuCheckbox(e, n) {
234
+ _GuCheckbox(e, t) {
236
235
  return `
237
- <${t.CHECKBOX}
236
+ <${n.CHECKBOX}
238
237
  ${$.CHECKBOX.name}="${e}"
239
- ${$.CHECKBOX.caption}="${n}">
240
- </${t.CHECKBOX}>
238
+ ${$.CHECKBOX.caption}="${t}">
239
+ </${n.CHECKBOX}>
241
240
  `;
242
241
  }
243
242
  }