@useinsider/guido 3.1.1-beta.71813dc → 3.1.1-beta.7ffa35d

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 (30) hide show
  1. package/dist/@types/config/schemas.js +10 -8
  2. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +1 -1
  3. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +16 -15
  4. package/dist/composables/useHtmlValidator.js +40 -38
  5. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +27 -11
  6. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +185 -172
  7. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +94 -92
  8. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +31 -31
  9. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +7 -5
  10. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +30 -29
  11. package/dist/extensions/Blocks/Recommendation/templates/index.js +7 -7
  12. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +3 -1
  13. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +20 -20
  14. package/dist/extensions/Blocks/Recommendation/templates/utils.js +57 -50
  15. package/dist/guido.css +1 -1
  16. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +218 -324
  17. package/dist/package.json.js +1 -1
  18. package/dist/src/@types/config/schemas.d.ts +4 -0
  19. package/dist/src/composables/useConfig.d.ts +2 -0
  20. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
  21. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +5 -0
  22. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +5 -0
  23. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +4 -4
  24. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +3 -3
  25. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +20 -3
  26. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +3 -3
  27. package/dist/src/stores/config.d.ts +18 -0
  28. package/dist/static/styles/components/button.css.js +7 -13
  29. package/dist/static/styles/components/narrow-panel.css.js +0 -52
  30. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
- import { DEFAULT_PRODUCTS_PER_ROW as m } from "../../constants/layout.js";
2
- import { DEFAULT_CARD_COMPOSITION as L, spacer as E, getDefaultProducts as I, createBlockTemplate as _, DEFAULTS as S, buildElementRenderer as b, DEFAULT_CARD_VISIBILITY as A } from "../utils.js";
3
- import { gridElementRenderer as f, ATTRIBUTE_CELL_CLASS as w, DEFAULT_CELL_PADDING as D } from "./elementRenderer.js";
4
- const C = `
1
+ import { DEFAULT_PRODUCTS_PER_ROW as L } from "../../constants/layout.js";
2
+ import { DEFAULT_CARD_COMPOSITION as E, spacer as I, getDefaultProducts as _, createBlockTemplate as S, DEFAULTS as b, buildElementRenderer as A, DEFAULT_CARD_VISIBILITY as f } from "../utils.js";
3
+ import { gridElementRenderer as w, ATTRIBUTE_CELL_CLASS as D, DEFAULT_CELL_PADDING as C } from "./elementRenderer.js";
4
+ const O = `
5
5
  <tr class="recommendation-product-row">
6
6
  <td>
7
7
  <table
@@ -18,7 +18,7 @@ const C = `
18
18
  </table>
19
19
  </td>
20
20
  </tr>
21
- `, O = `
21
+ `, g = `
22
22
  <tr
23
23
  class="recommendation-attribute-row"
24
24
  data-attribute-type="{-{-ATTR_TYPE-}-}"
@@ -27,37 +27,38 @@ const C = `
27
27
  {-{-CELLS-}-}
28
28
  </tr>
29
29
  `;
30
- function g(t, e, l, n = L) {
31
- const o = (100 / e).toFixed(2), a = e - t.length, r = `<td class="${w}" style="padding: ${D};" width="${o}%"></td>`, i = a > 0 ? r.repeat(a) : "", s = b(l, n);
32
- return n.filter((c) => s[c]).map((c) => {
33
- const p = A[c] ?? !0, T = p ? "" : 'style="display: none;"', u = t.map((R) => s[c](R).replace("<td", `<td width="${o}%"`)).join("");
34
- return O.replace("{-{-ATTR_TYPE-}-}", c).replace("{-{-VISIBILITY-}-}", p ? "1" : "0").replace("{-{-DISPLAY_STYLE-}-}", T).replace("{-{-CELLS-}-}", u + i);
30
+ function P(t, e, o, r = E, n = {}) {
31
+ const c = (100 / e).toFixed(2), i = e - t.length, l = `<td class="${D}" style="padding: ${C};" width="${c}%"></td>`, d = i > 0 ? l.repeat(i) : "", a = A(o, r, n);
32
+ return r.filter((s) => a[s]).map((s) => {
33
+ const T = f[s] ?? !0, u = T ? "" : 'style="display: none;"', R = t.map((m) => a[s](m).replace("<td", `<td width="${c}%"`)).join("");
34
+ return g.replace("{-{-ATTR_TYPE-}-}", s).replace("{-{-VISIBILITY-}-}", T ? "1" : "0").replace("{-{-DISPLAY_STYLE-}-}", u).replace("{-{-CELLS-}-}", R + d);
35
35
  }).join("");
36
36
  }
37
- function P(t, e, l, n) {
38
- const o = [];
39
- for (let r = 0; r < t.length; r += e)
40
- o.push(t.slice(r, r + e));
41
- return o.map((r, i) => {
42
- const s = g(
43
- r,
44
- e,
37
+ function U(t, e, o, r, n = {}) {
38
+ const c = [];
39
+ for (let l = 0; l < t.length; l += e)
40
+ c.push(t.slice(l, l + e));
41
+ return c.map((l, d) => {
42
+ const a = P(
45
43
  l,
44
+ e,
45
+ o,
46
+ r,
46
47
  n
47
- ), d = C.replace("{-{-ATTRIBUTE_ROWS-}-}", s);
48
- return i > 0 ? E + d : d;
48
+ ), p = O.replace("{-{-ATTRIBUTE_ROWS-}-}", a);
49
+ return d > 0 ? I + p : p;
49
50
  }).join("");
50
51
  }
51
- function U(t, e, l) {
52
- return P(t, e, f, l);
52
+ function h(t, e, o, r = {}) {
53
+ return U(t, e, w, o, r);
53
54
  }
54
- function W(t) {
55
- const e = t ? `ins-recommendation-v3-block-${t}` : void 0, l = _("grid", e), n = I(), o = U(n, m);
56
- return l.replace("{-{-TITLE-}-}", S.TITLE).replace("{-{-PRODUCT_ROWS-}-}", o).replace("{-{-MOBILE_PRODUCT_ROWS-}-}", "");
55
+ function F(t) {
56
+ const e = t ? `ins-recommendation-v3-block-${t}` : void 0, o = S("grid", e), r = _(), n = h(r, L);
57
+ return o.replace("{-{-TITLE-}-}", b.TITLE).replace("{-{-PRODUCT_ROWS-}-}", n).replace("{-{-MOBILE_PRODUCT_ROWS-}-}", "");
57
58
  }
58
59
  export {
59
- W as getDefaultTemplate,
60
- g as prepareGridAttributeRows,
61
- P as prepareGridProductRows,
62
- U as prepareProductRows
60
+ F as getDefaultTemplate,
61
+ P as prepareGridAttributeRows,
62
+ U as prepareGridProductRows,
63
+ h as prepareProductRows
63
64
  };
@@ -1,12 +1,12 @@
1
1
  import { DEFAULT_PRODUCTS_PER_ROW as s } from "../constants/layout.js";
2
2
  import { prepareProductRows as c } from "./grid/template.js";
3
- import { prepareProductRows as i } from "./list/template.js";
4
- function P(r, p, o = {}) {
5
- if (p === "list")
6
- return i(r, o.composition);
7
- const { productsPerRow: t = s, composition: e } = o;
8
- return c(r, t, e);
3
+ import { prepareProductRows as R } from "./list/template.js";
4
+ function a(o, t, r = {}) {
5
+ if (t === "list")
6
+ return R(o, r.composition, r.filterList);
7
+ const { productsPerRow: e = s, composition: p, filterList: i } = r;
8
+ return c(o, e, p, i);
9
9
  }
10
10
  export {
11
- P as prepareProductRows
11
+ a as prepareProductRows
12
12
  };
@@ -166,11 +166,13 @@ const I = {
166
166
  /**
167
167
  * Custom attribute row template — same tr-td structure as Name, Price, etc.
168
168
  * Used by `buildElementRenderer` for `customAttr:*` composition entries.
169
+ * @param productAttrValue - Resolved product-attr value (e.g., "brand" for default, "product_attribute.rating_star" for custom)
170
+ * @param content - Display content for the cell
169
171
  */
170
172
  [y]: (t, e) => `
171
173
  <tr>
172
174
  <td
173
- ${u}="product_attribute.${t}"
175
+ ${u}="${t}"
174
176
  class="esd-block-text product-custom-attribute"
175
177
  esd-extension-block-id="${o.CUSTOM_ATTRIBUTE}"
176
178
  align="left">
@@ -1,14 +1,14 @@
1
- import { ATTR_PRODUCT_IMAGE as i, ATTR_PRODUCT_BUTTON as d } from "../../constants/selectors.js";
2
- import { DEFAULT_CARD_COMPOSITION as u, spacer as m, buildElementRenderer as C, DEFAULT_CARD_VISIBILITY as b } from "../utils.js";
3
- import { listElementRenderer as T } from "./elementRenderer.js";
4
- function R(r, n, t) {
5
- const l = t ? "" : ' style="display: none;"', o = r.replace(/<tr>/, "").replace(/<\/tr>/, "");
1
+ import { ATTR_PRODUCT_IMAGE as d, ATTR_PRODUCT_BUTTON as a } from "../../constants/selectors.js";
2
+ import { DEFAULT_CARD_COMPOSITION as m, spacer as C, buildElementRenderer as b, DEFAULT_CARD_VISIBILITY as T } from "../utils.js";
3
+ import { listElementRenderer as R } from "./elementRenderer.js";
4
+ function f(r, n, l) {
5
+ const t = l ? "" : ' style="display: none;"', o = r.replace(/<tr>/, "").replace(/<\/tr>/, "");
6
6
  return `<tr
7
7
  class="recommendation-attribute-row"
8
8
  data-attribute-type="${n}"
9
- data-visibility="${t ? "1" : "0"}"${l}>${o}</tr>`;
9
+ data-visibility="${l ? "1" : "0"}"${t}>${o}</tr>`;
10
10
  }
11
- const f = `
11
+ const y = `
12
12
  <tr class="recommendation-product-row">
13
13
  <td style="padding: 0 5px;">
14
14
  <table
@@ -26,29 +26,29 @@ const f = `
26
26
  </td>
27
27
  </tr>
28
28
  `;
29
- function y(r, n = u) {
30
- const t = C(T, n), l = t[i](r), a = `
29
+ function O(r, n = m, l = {}) {
30
+ const t = b(R, n, l), o = t[d](r), c = `
31
31
  <td class="product-info-cell" valign="middle" style="padding: 15px;">
32
32
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
33
33
  <tbody>
34
- ${n.filter((e) => e !== i && e !== d).filter((e) => t[e]).map((e) => {
35
- const p = b[e] ?? !0;
36
- return R(t[e](r), e, p);
34
+ ${n.filter((e) => e !== d && e !== a).filter((e) => t[e]).map((e) => {
35
+ const u = T[e] ?? !0;
36
+ return f(t[e](r), e, u);
37
37
  }).join(`
38
38
  `)}
39
39
  </tbody>
40
40
  </table>
41
41
  </td>
42
- `, c = t[d](r), s = l + a + c;
43
- return f.replace("{-{-PRODUCT_CONTENT-}-}", s);
42
+ `, s = t[a](r), p = o + c + s;
43
+ return y.replace("{-{-PRODUCT_CONTENT-}-}", p);
44
44
  }
45
- function w(r, n) {
46
- return r.map((t, l) => {
47
- const o = y(t, n);
48
- return l > 0 ? m + o : o;
45
+ function D(r, n, l = {}) {
46
+ return r.map((t, o) => {
47
+ const i = O(t, n, l);
48
+ return o > 0 ? C + i : i;
49
49
  }).join("");
50
50
  }
51
51
  export {
52
- y as getListProductCard,
53
- w as prepareProductRows
52
+ O as getListProductCard,
53
+ D as prepareProductRows
54
54
  };
@@ -1,55 +1,60 @@
1
- import { ATTR_PRODUCT_IMAGE as m, ATTR_PRODUCT_NAME as p, ATTR_PRODUCT_OLD_PRICE as T, ATTR_PRODUCT_PRICE as u, ATTR_PRODUCT_OMNIBUS_PRICE as _, ATTR_PRODUCT_OMNIBUS_DISCOUNT as b, ATTR_PRODUCT_BUTTON as g, ATTR_CUSTOM_PREFIX as d } from "../constants/selectors.js";
2
- function R(t) {
1
+ import { ATTR_PRODUCT_IMAGE as m, ATTR_PRODUCT_NAME as b, ATTR_PRODUCT_OLD_PRICE as T, ATTR_PRODUCT_PRICE as _, ATTR_PRODUCT_OMNIBUS_PRICE as g, ATTR_PRODUCT_OMNIBUS_DISCOUNT as C, ATTR_PRODUCT_BUTTON as f, ATTR_CUSTOM_PREFIX as u } from "../constants/selectors.js";
2
+ function U(t) {
3
3
  return t.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase());
4
4
  }
5
- const O = Symbol("customCellHtml");
6
- function f(t, e) {
7
- const n = t[O];
8
- if (!n)
5
+ function R(t, e) {
6
+ const n = Object.values(e).find((r) => r.attributeName === t);
7
+ return (n == null ? void 0 : n.type) === "defaultAttribute";
8
+ }
9
+ function y(t, e) {
10
+ return R(t, e) ? t : `product_attribute.${t}`;
11
+ }
12
+ const P = Symbol("customCellHtml");
13
+ function S(t, e, n = {}) {
14
+ const r = t[P];
15
+ if (!r)
9
16
  return { ...t };
10
- const r = { ...t };
11
- return e.filter((o) => o.startsWith(d) && !r[o]).forEach((o) => {
12
- const s = o.substring(d.length), l = R(s);
13
- r[o] = (i) => {
14
- var a;
15
- const c = (a = i.product_attributes) == null ? void 0 : a[s];
16
- return n(
17
- s,
18
- c != null ? String(c) : l
19
- );
17
+ const l = { ...t };
18
+ return e.filter((o) => o.startsWith(u) && !l[o]).forEach((o) => {
19
+ const s = o.substring(u.length), a = U(s), D = y(s, n), O = R(s, n);
20
+ l[o] = (d) => {
21
+ var p;
22
+ const i = O ? d[s] : (p = d.product_attributes) == null ? void 0 : p[s];
23
+ let c = a;
24
+ return typeof i == "string" ? c = i : typeof i == "number" && (c = String(i)), r(D, c);
20
25
  };
21
- }), r;
26
+ }), l;
22
27
  }
23
- const h = {
28
+ const L = {
24
29
  TITLE: "You May Also Like!"
25
- }, I = [
30
+ }, M = [
26
31
  m,
27
- p,
32
+ b,
28
33
  T,
29
- u,
30
34
  _,
31
- b,
32
- g
33
- ], P = {
35
+ g,
36
+ C,
37
+ f
38
+ ], $ = {
34
39
  [m]: !0,
35
- [p]: !0,
36
- [u]: !0,
40
+ [b]: !0,
41
+ [_]: !0,
37
42
  [T]: !0,
38
- [_]: !1,
39
- [b]: !1,
40
- [g]: !0
41
- }, U = `
43
+ [g]: !1,
44
+ [C]: !1,
45
+ [f]: !0
46
+ }, h = `
42
47
  <tr>
43
48
  <td class="spacer" style="height: 10px;"></td>
44
49
  </tr>
45
- `, C = "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png";
46
- function E(t) {
47
- return !t || typeof t != "string" || t.trim() === "" ? C : t.startsWith("http://") ? t.replace("http://", "https://") : t;
50
+ `, A = "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png";
51
+ function w(t) {
52
+ return !t || typeof t != "string" || t.trim() === "" ? A : t.startsWith("http://") ? t.replace("http://", "https://") : t;
48
53
  }
49
- function D(t) {
54
+ function I(t) {
50
55
  return {
51
56
  name: "Product Name",
52
- image_url: C,
57
+ image_url: A,
53
58
  price: { USD: 18 },
54
59
  original_price: { USD: 20 },
55
60
  discount: { USD: 2 },
@@ -61,13 +66,13 @@ function D(t) {
61
66
  category: []
62
67
  };
63
68
  }
64
- function S(t = 6) {
69
+ function N(t = 6) {
65
70
  return Array.from(
66
71
  { length: t },
67
- (e, n) => D(String(n + 1))
72
+ (e, n) => I(String(n + 1))
68
73
  );
69
74
  }
70
- function y(t = "grid", e) {
75
+ function k(t = "grid", e) {
71
76
  const n = t === "list" ? `
72
77
  data-layout="list"` : "", r = e ? ` ${e}` : "";
73
78
  return `
@@ -105,7 +110,7 @@ function y(t = "grid", e) {
105
110
  </table>
106
111
  </td>
107
112
  </tr>
108
- ${U}
113
+ ${h}
109
114
  <tr>
110
115
  <td>
111
116
  <table
@@ -144,15 +149,17 @@ function y(t = "grid", e) {
144
149
  `;
145
150
  }
146
151
  export {
147
- O as CUSTOM_CELL_HTML,
148
- h as DEFAULTS,
149
- I as DEFAULT_CARD_COMPOSITION,
150
- P as DEFAULT_CARD_VISIBILITY,
151
- C as PLACEHOLDER_IMAGE,
152
- f as buildElementRenderer,
153
- y as createBlockTemplate,
154
- S as getDefaultProducts,
155
- E as sanitizeImageUrl,
156
- U as spacer,
157
- R as toDisplayName
152
+ P as CUSTOM_CELL_HTML,
153
+ L as DEFAULTS,
154
+ M as DEFAULT_CARD_COMPOSITION,
155
+ $ as DEFAULT_CARD_VISIBILITY,
156
+ A as PLACEHOLDER_IMAGE,
157
+ S as buildElementRenderer,
158
+ k as createBlockTemplate,
159
+ N as getDefaultProducts,
160
+ R as isDefaultAttribute,
161
+ y as resolveProductAttrValue,
162
+ w as sanitizeImageUrl,
163
+ h as spacer,
164
+ U as toDisplayName
158
165
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-3b53a736],.gap-16[data-v-0e1b0c54]{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-079d2bf7] .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-acff76a8]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-a26d7792]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-a26d7792]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-a26d7792]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{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-29b9af29] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-d073b1dc] .vueperslides__bullets{pointer-events:none!important}[data-v-d073b1dc] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-3b53a736],.gap-16[data-v-0e1b0c54]{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-0cb961a8] .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-acff76a8]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-a26d7792]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-a26d7792]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-a26d7792]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{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-29b9af29] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-d073b1dc] .vueperslides__bullets{pointer-events:none!important}[data-v-d073b1dc] .vueperslides__parallax-wrapper{height:110px!important}