@useinsider/guido 2.0.0-beta.cf2fe38 → 2.0.0-beta.d170da6

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 (103) hide show
  1. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  2. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  3. package/dist/extensions/Blocks/Recommendation/control.js +74 -59
  4. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  5. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  6. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  7. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  8. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  9. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  10. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  11. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  12. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  13. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  14. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  15. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  16. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  17. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  18. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +47 -52
  19. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  20. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  21. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  22. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  23. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  24. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  25. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  26. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  27. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  28. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  29. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  30. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  31. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  32. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  33. package/dist/static/styles/components/wide-panel.css.js +0 -4
  34. package/dist/static/styles/customEditorStyle.css.js +13 -0
  35. package/package.json +1 -1
  36. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  37. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  38. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  39. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  40. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  41. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  42. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  43. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  44. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  45. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  46. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  47. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  48. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  49. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  50. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  51. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  52. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  53. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  54. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  55. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  56. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  57. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  58. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  59. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  70. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  71. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  72. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  73. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  74. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  75. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  76. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  77. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  78. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  79. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  80. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  81. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  82. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  83. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  84. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  85. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  86. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  87. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  88. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  89. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  90. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  91. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  92. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  93. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  94. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  96. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  97. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  98. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  99. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  100. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  101. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  102. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  103. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,7 +1,7 @@
1
- import { BlockType as t, BlockAttr as n } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationBlockId as o } from "../constants.js";
3
- import { generateTemplate as l, prepareProductRows as s, spacer as d, DEFAULTS as p, getDefaultProducts as i } from "./templateUtils.js";
4
- import { DEFAULT_CARD_COMPOSITION as $ } from "./templateUtils.js";
1
+ import { BlockType as e, BlockAttr as o } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationBlockId as s, ATTR_PRODUCT_BUTTON as r, ATTR_PRODUCT_OMNIBUS_DISCOUNT as c, ATTR_PRODUCT_OMNIBUS_PRICE as p, ATTR_PRODUCT_OLD_PRICE as i, ATTR_PRODUCT_PRICE as d, ATTR_PRODUCT_NAME as T, ATTR_PRODUCT_IMAGE as b } from "../constants.js";
3
+ import { generateTemplate as _, prepareProductRows as O, spacer as u, DEFAULTS as f, getDefaultProducts as C } from "./templateUtils.js";
4
+ import { DEFAULT_CARD_COMPOSITION as I, DEFAULT_CARD_VISIBILITY as h } from "./templateUtils.js";
5
5
  const g = `
6
6
  <td align="left" class="ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20">
7
7
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
@@ -22,18 +22,18 @@ const g = `
22
22
  cellspacing="0"
23
23
  border="0">
24
24
  <tbody>
25
- <${t.BLOCK_TEXT}
25
+ <${e.BLOCK_TEXT}
26
26
  class="es-p10t es-p10b es-p20l es-p20r"
27
27
  align="center">
28
28
  <p path="1" style="font-size: 28px; color: #333333;">
29
29
  <strong path="1,0">{-{-TITLE-}-}</strong>
30
30
  </p>
31
- </${t.BLOCK_TEXT}>
31
+ </${e.BLOCK_TEXT}>
32
32
  </tbody>
33
33
  </table>
34
34
  </td>
35
35
  </tr>
36
- ${d}
36
+ ${u}
37
37
  <tr>
38
38
  <td>
39
39
  <table
@@ -53,62 +53,82 @@ const g = `
53
53
  </tr>
54
54
  </table>
55
55
  </td>
56
- `, a = {
57
- productImage: (e) => `
58
- <${t.BLOCK_IMAGE}
59
- ${n.BLOCK_IMAGE.src}="${e.image_url}"
60
- ${n.BLOCK_IMAGE.alt}="${e.name}"
61
- ${n.BLOCK_IMAGE.href}="#"
56
+ `, n = {
57
+ [b]: (t) => `
58
+ <${e.BLOCK_IMAGE}
59
+ ${o.BLOCK_IMAGE.src}="${t.image_url}"
60
+ ${o.BLOCK_IMAGE.alt}="${t.name}"
61
+ ${o.BLOCK_IMAGE.href}="#"
62
62
  class="product-image"
63
63
  align="center"
64
64
  style="max-width: 100%; height: auto; margin: 0 auto;"
65
- esd-extension-block-id="${o.IMAGE}">
66
- </${t.BLOCK_IMAGE}>
65
+ esd-extension-block-id="${s.IMAGE}">
66
+ </${e.BLOCK_IMAGE}>
67
67
  `,
68
- productName: (e) => `
69
- <${t.BLOCK_TEXT}
70
- class="product-name"
68
+ [T]: (t) => `
69
+ <${e.BLOCK_TEXT}
70
+ class="product-name es-p10t es-p10b es-p15l es-p15r"
71
71
  align="center"
72
- style="font-size: 16px; color: #333333; font-weight: 600; padding: 15px 10px; text-align: center;"
73
- esd-extension-block-id="${o.NAME}">
74
- <p path="1" contenteditable="false">
75
- <strong path="1,0">${e.name}</strong>
72
+ esd-extension-block-id="${s.NAME}">
73
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
74
+ <strong path="1,0">${t.name}</strong>
76
75
  </p>
77
- </${t.BLOCK_TEXT}>
76
+ </${e.BLOCK_TEXT}>
78
77
  `,
79
- productPrice: () => `
80
- <${t.BLOCK_TEXT}
81
- class="product-price"
78
+ [d]: () => `
79
+ <${e.BLOCK_TEXT}
80
+ class="product-price es-p15l es-p15r"
82
81
  align="center"
83
- style="padding: 10px; text-align: center;"
84
- esd-extension-block-id="${o.PRICE}">
85
- <p path="1" contenteditable="false">
86
- <span class="current-price" style="font-size: 16px; color: #333333; font-weight: bold;">
87
- <strong path="1,0">18,00 TRY</strong>
88
- </span>
82
+ esd-extension-block-id="${s.PRICE}">
83
+ <p path="1" contenteditable="false" style="font-size: 16px; color: #333333;">
84
+ <strong path="1,0">18,00 TRY</strong>
89
85
  </p>
90
- </${t.BLOCK_TEXT}>
86
+ </${e.BLOCK_TEXT}>
91
87
  `,
92
- productOldPrice: () => `
93
- <${t.BLOCK_TEXT}
94
- class="product-old-price"
88
+ [i]: () => `
89
+ <${e.BLOCK_TEXT}
90
+ class="product-old-price es-p15l es-p15r"
95
91
  align="center"
96
- style="padding: 10px; text-align: center;"
97
- esd-extension-block-id="${o.OLD_PRICE}">
98
- <p path="1" contenteditable="false">
99
- <span class="old-price" style="font-size: 14px; color: #999999; text-decoration: line-through;">
100
- <s path="1,0">20,00 TRY</s>
101
- </span>
92
+ esd-extension-block-id="${s.OLD_PRICE}">
93
+ <p path="1" contenteditable="false" style="font-size: 14px; color: #999999;">
94
+ <s path="1,0">20,00 TRY</s>
102
95
  </p>
103
- </${t.BLOCK_TEXT}>
96
+ </${e.BLOCK_TEXT}>
104
97
  `,
105
- productButton: () => `
106
- <${t.BLOCK_BUTTON}
107
- ${n.BLOCK_BUTTON.href}="#"
108
- class="product-button"
98
+ [p]: () => `
99
+ <${e.BLOCK_TEXT}
100
+ class="product-omnibus-price es-p15l es-p15r"
109
101
  align="center"
110
- style="padding: 15px 10px 20px 10px; text-align: center;"
111
- esd-extension-block-id="${o.BUTTON}">
102
+ data-text-before="Lowest 30-day price: "
103
+ data-text-after=""
104
+ esd-extension-block-id="${s.OMNIBUS_PRICE}">
105
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
106
+ <span class="omnibus-text-before">Lowest 30-day price: </span>
107
+ <span class="omnibus-price-value">17,00 TRY</span>
108
+ <span class="omnibus-text-after"></span>
109
+ </p>
110
+ </${e.BLOCK_TEXT}>
111
+ `,
112
+ [c]: () => `
113
+ <${e.BLOCK_TEXT}
114
+ class="product-omnibus-discount es-p15l es-p15r"
115
+ align="center"
116
+ data-text-before=""
117
+ data-text-after=""
118
+ esd-extension-block-id="${s.OMNIBUS_DISCOUNT}">
119
+ <p path="1" contenteditable="false" style="font-size: 12px; color: #666666;">
120
+ <span class="omnibus-text-before"></span>
121
+ <span class="omnibus-discount-value">-6%</span>
122
+ <span class="omnibus-text-after"></span>
123
+ </p>
124
+ </${e.BLOCK_TEXT}>
125
+ `,
126
+ [r]: () => `
127
+ <${e.BLOCK_BUTTON}
128
+ ${o.BLOCK_BUTTON.href}="#"
129
+ class="product-button es-p10t es-p10b"
130
+ align="center"
131
+ esd-extension-block-id="${s.BUTTON}">
112
132
  <span class="es-button-border">
113
133
  <a
114
134
  href="#"
@@ -129,32 +149,33 @@ const g = `
129
149
  Buy
130
150
  </a>
131
151
  </span>
132
- </${t.BLOCK_BUTTON}>
152
+ </${e.BLOCK_BUTTON}>
133
153
  `
134
154
  };
135
155
  function x() {
136
- const e = i();
137
- return l(
156
+ const t = C();
157
+ return _(
138
158
  g,
139
- e,
159
+ t,
140
160
  3,
141
- a,
142
- p.TITLE
161
+ n,
162
+ f.TITLE
143
163
  );
144
164
  }
145
- function f(e, r, c) {
146
- return s(
147
- e,
148
- r,
165
+ function E(t, a, l) {
166
+ return O(
167
+ t,
149
168
  a,
150
- c
169
+ n,
170
+ l
151
171
  );
152
172
  }
153
173
  export {
154
- p as DEFAULTS,
155
- $ as DEFAULT_CARD_COMPOSITION,
174
+ f as DEFAULTS,
175
+ I as DEFAULT_CARD_COMPOSITION,
176
+ h as DEFAULT_CARD_VISIBILITY,
156
177
  g as default,
157
- i as getDefaultProducts,
178
+ C as getDefaultProducts,
158
179
  x as getDefaultTemplate,
159
- f as prepareProductRows
180
+ E as prepareProductRows
160
181
  };
@@ -1,6 +1,7 @@
1
- import { prepareProductRows as n } from "./templateUtils.js";
2
- import { DEFAULTS as i, getDefaultProducts as p } from "./templateUtils.js";
3
- const a = `
1
+ import { ATTR_PRODUCT_BUTTON as o, ATTR_PRODUCT_OMNIBUS_DISCOUNT as a, ATTR_PRODUCT_OMNIBUS_PRICE as s, ATTR_PRODUCT_OLD_PRICE as l, ATTR_PRODUCT_PRICE as c, ATTR_PRODUCT_NAME as r, ATTR_PRODUCT_IMAGE as d } from "../constants.js";
2
+ import { prepareProductRows as i } from "./templateUtils.js";
3
+ import { DEFAULTS as k, getDefaultProducts as f } from "./templateUtils.js";
4
+ const g = `
4
5
  <td
5
6
  align="left"
6
7
  esd-extension-block-id="recommendation-block"
@@ -54,8 +55,8 @@ const a = `
54
55
  </tr>
55
56
  </table>
56
57
  </td>
57
- `, l = {
58
- productImage: (t) => `
58
+ `, p = {
59
+ [d]: (t) => `
59
60
  <tr>
60
61
  <td
61
62
  class="esd-block-image product-image"
@@ -73,7 +74,7 @@ const a = `
73
74
  </td>
74
75
  </tr>
75
76
  `,
76
- productName: (t) => `
77
+ [r]: (t) => `
77
78
  <tr>
78
79
  <td
79
80
  class="esd-block-text product-name"
@@ -88,7 +89,7 @@ const a = `
88
89
  </td>
89
90
  </tr>
90
91
  `,
91
- productPrice: () => `
92
+ [c]: () => `
92
93
  <tr>
93
94
  <td
94
95
  class="esd-block-text product-price"
@@ -103,7 +104,7 @@ const a = `
103
104
  </td>
104
105
  </tr>
105
106
  `,
106
- productOldPrice: () => `
107
+ [l]: () => `
107
108
  <tr>
108
109
  <td
109
110
  class="esd-block-text product-old-price"
@@ -118,7 +119,43 @@ const a = `
118
119
  </td>
119
120
  </tr>
120
121
  `,
121
- productButton: (t) => `
122
+ [s]: () => `
123
+ <tr>
124
+ <td
125
+ class="esd-block-text product-omnibus-price"
126
+ esd-extension-block-id="recommendation-block-omnibus-price"
127
+ data-text-before="Lowest 30-day price: "
128
+ data-text-after=""
129
+ align="center">
130
+ <p
131
+ path="1"
132
+ contenteditable="false"
133
+ style="font-size: 14px; color: #666666; text-align: center;"><span
134
+ class="omnibus-text-before">Lowest 30-day price: </span><span
135
+ class="omnibus-price-value">17,00 TRY</span><span
136
+ class="omnibus-text-after"></span></p>
137
+ </td>
138
+ </tr>
139
+ `,
140
+ [a]: () => `
141
+ <tr>
142
+ <td
143
+ class="esd-block-text product-omnibus-discount"
144
+ esd-extension-block-id="recommendation-block-omnibus-discount"
145
+ data-text-before=""
146
+ data-text-after=""
147
+ align="center">
148
+ <p
149
+ path="1"
150
+ contenteditable="false"
151
+ style="font-size: 14px; color: #666666; text-align: center;"><span
152
+ class="omnibus-text-before"></span><span
153
+ class="omnibus-discount-value">-6%</span><span
154
+ class="omnibus-text-after"></span></p>
155
+ </td>
156
+ </tr>
157
+ `,
158
+ [o]: (t) => `
122
159
  <tr>
123
160
  <td
124
161
  class="esd-block-button product-button"
@@ -136,17 +173,17 @@ const a = `
136
173
  </tr>
137
174
  `
138
175
  };
139
- function d(t, e, o) {
140
- return n(
176
+ function u(t, e, n) {
177
+ return i(
141
178
  t,
142
179
  e,
143
- l,
144
- o
180
+ p,
181
+ n
145
182
  );
146
183
  }
147
184
  export {
148
- i as DEFAULTS,
149
- a as default,
150
- p as getDefaultProducts,
151
- d as prepareProductRows
185
+ k as DEFAULTS,
186
+ g as default,
187
+ f as getDefaultProducts,
188
+ u as prepareProductRows
152
189
  };
@@ -1,18 +1,19 @@
1
- const R = {
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 = {
2
3
  TITLE: "You May Also Like!"
3
- }, O = `
4
+ }, I = `
4
5
  <tr>
5
- <td class="spacer" style="height: 20px;"></td>
6
+ <td class="spacer" style="height: 10px;"></td>
6
7
  </tr>
7
- `, w = `
8
- <tr>
8
+ `, A = `
9
+ <tr class="recommendation-product-row">
9
10
  <td>
10
11
  <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
11
12
  {-{-PRODUCTS-}-}
12
13
  </table>
13
14
  </td>
14
15
  </tr>
15
- `, i = `
16
+ `, o = `
16
17
  <td width="{-{-COLUMN_WIDTH-}-}" style="padding: 0 5px;" valign="top" height="100%">
17
18
  <table
18
19
  width="100%"
@@ -34,14 +35,24 @@ const R = {
34
35
  </tr>
35
36
  </table>
36
37
  </td>
37
- `, b = [
38
- "productImage",
39
- "productName",
40
- "productOldPrice",
41
- "productPrice",
42
- "productButton"
43
- ];
44
- function C() {
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() {
45
56
  return [
46
57
  {
47
58
  name: "Product Name",
@@ -123,58 +134,76 @@ function C() {
123
134
  }
124
135
  ];
125
136
  }
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));
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));
130
141
  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(
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(
136
147
  "{-{-PRODUCT_CONTENT-}-}",
137
148
  e.productImage(t)
138
- ), u += i.replace(
149
+ ), u += o.replace(
139
150
  "{-{-PRODUCT_CONTENT-}-}",
140
151
  e.productName(t)
141
- ), d += i.replace(
152
+ ), d += o.replace(
142
153
  "{-{-PRODUCT_CONTENT-}-}",
143
154
  e.productPrice(t)
144
- ), m += i.replace(
155
+ ), T += o.replace(
145
156
  "{-{-PRODUCT_CONTENT-}-}",
146
157
  e.productOldPrice(t)
147
- ), g += i.replace(
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(
148
165
  "{-{-PRODUCT_CONTENT-}-}",
149
166
  e.productButton(t)
150
167
  );
151
168
  });
152
- const T = {
153
- productImage: s,
169
+ const R = {
170
+ productImage: n,
154
171
  productName: u,
155
172
  productPrice: d,
156
- productOldPrice: m,
173
+ productOldPrice: T,
174
+ productOmnibusPrice: m,
175
+ productOmnibusDiscount: _,
157
176
  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}%`);
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}%`);
161
189
  }
162
- function P(p, r, e, l, n = R.TITLE, a) {
163
- const c = N(
190
+ function j(a, r, e, l, s = E.TITLE, p) {
191
+ const c = f(
164
192
  r,
165
193
  e,
166
194
  l,
167
- a
195
+ p
168
196
  );
169
- return p.replace("{-{-TITLE-}-}", n).replace("{-{-PRODUCT_ROWS-}-}", c);
197
+ return a.replace("{-{-TITLE-}-}", s).replace("{-{-PRODUCT_ROWS-}-}", c);
170
198
  }
171
199
  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
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
180
209
  };
@@ -0,0 +1,25 @@
1
+ function a(n) {
2
+ return "getInnerHTML" in n && typeof n.getInnerHTML == "function" ? n.getInnerHTML() : "innerHTML" in n ? n.innerHTML : "";
3
+ }
4
+ function H(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();
12
+ for (; ; ) {
13
+ const u = o.match(/^<(strong|em|u|s|b|i)(\s[^>]*)?>(.*)$/is);
14
+ if (!u)
15
+ break;
16
+ const [, e, f = "", g] = u, c = new RegExp(`</${e}>$`, "i");
17
+ if (!c.test(g))
18
+ break;
19
+ i.push(`<${e}${f}>`), s.unshift(`</${e}>`), o = g.replace(c, "").trim();
20
+ }
21
+ return i.length > 0 ? i.join("") + t + s.join("") : t;
22
+ }
23
+ export {
24
+ H as preserveTextStyles
25
+ };