@useinsider/guido 2.1.0-beta.3c29284 → 2.1.0-beta.425dfd0

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 (112) hide show
  1. package/dist/@types/config/schemas.js +17 -17
  2. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  3. package/dist/components/organisms/header/LeftSlot.vue2.js +25 -20
  4. package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
  5. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -32
  6. package/dist/extensions/Blocks/Items/controls/settingsControl.js +38 -32
  7. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  8. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  9. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  10. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  11. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  12. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  13. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  14. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  15. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  16. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  17. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  18. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  19. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  20. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  21. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  22. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  23. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  24. package/dist/guido.css +1 -1
  25. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +39 -44
  26. package/dist/package.json.js +1 -1
  27. package/dist/src/@types/config/schemas.d.ts +2 -2
  28. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  29. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  30. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  31. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  32. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  33. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  34. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  35. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  36. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  37. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  38. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  39. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  40. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  41. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  42. package/dist/static/styles/components/wide-panel.css.js +0 -4
  43. package/dist/static/styles/customEditorStyle.css.js +13 -0
  44. package/package.json +2 -2
  45. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  46. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  47. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  48. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  49. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  50. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  51. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  52. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  53. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  54. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  55. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  56. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  57. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  58. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  59. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  79. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  80. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  81. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  82. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  83. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  84. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  85. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  86. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  87. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  88. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  89. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  90. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  91. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  92. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  93. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  94. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  96. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  97. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  98. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  99. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  100. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  101. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  102. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  103. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  104. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  105. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  106. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  107. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  108. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  109. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  110. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  111. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  112. 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
+ };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-c722b9f4] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-17dd4d8b]{gap:4px}.header-wrapper[data-v-5df46e7a]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-890b5336]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-890b5336]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-890b5336]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-cd76c125] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-17dd4d8b]{gap:4px}.header-wrapper[data-v-5df46e7a]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-890b5336]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-890b5336]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-890b5336]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}