xactsize-webcomponents 1.0.0
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.
- package/LICENSE.md +18 -0
- package/README.md +30 -0
- package/dist/body-measurer.d.ts +75 -0
- package/dist/body-measurer.es.js +1317 -0
- package/dist/body-measurer.umd.js +591 -0
- package/package.json +38 -0
|
@@ -0,0 +1,1317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
const P = globalThis, H = P.ShadowRoot && (P.ShadyCSS === void 0 || P.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, W = Symbol(), L = /* @__PURE__ */ new WeakMap();
|
|
7
|
+
let rt = class {
|
|
8
|
+
constructor(t, e, s) {
|
|
9
|
+
if (this._$cssResult$ = !0, s !== W) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
10
|
+
this.cssText = t, this.t = e;
|
|
11
|
+
}
|
|
12
|
+
get styleSheet() {
|
|
13
|
+
let t = this.o;
|
|
14
|
+
const e = this.t;
|
|
15
|
+
if (H && t === void 0) {
|
|
16
|
+
const s = e !== void 0 && e.length === 1;
|
|
17
|
+
s && (t = L.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && L.set(e, t));
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return this.cssText;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const pt = (o) => new rt(typeof o == "string" ? o : o + "", void 0, W), dt = (o, ...t) => {
|
|
26
|
+
const e = o.length === 1 ? o[0] : t.reduce((s, i, r) => s + ((n) => {
|
|
27
|
+
if (n._$cssResult$ === !0) return n.cssText;
|
|
28
|
+
if (typeof n == "number") return n;
|
|
29
|
+
throw Error("Value passed to 'css' function must be a 'css' function result: " + n + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
30
|
+
})(i) + o[r + 1], o[0]);
|
|
31
|
+
return new rt(e, o, W);
|
|
32
|
+
}, mt = (o, t) => {
|
|
33
|
+
if (H) o.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
|
|
34
|
+
else for (const e of t) {
|
|
35
|
+
const s = document.createElement("style"), i = P.litNonce;
|
|
36
|
+
i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, o.appendChild(s);
|
|
37
|
+
}
|
|
38
|
+
}, X = H ? (o) => o : (o) => o instanceof CSSStyleSheet ? ((t) => {
|
|
39
|
+
let e = "";
|
|
40
|
+
for (const s of t.cssRules) e += s.cssText;
|
|
41
|
+
return pt(e);
|
|
42
|
+
})(o) : o;
|
|
43
|
+
/**
|
|
44
|
+
* @license
|
|
45
|
+
* Copyright 2017 Google LLC
|
|
46
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
47
|
+
*/
|
|
48
|
+
const { is: gt, defineProperty: ut, getOwnPropertyDescriptor: ft, getOwnPropertyNames: At, getOwnPropertySymbols: wt, getPrototypeOf: yt } = Object, y = globalThis, q = y.trustedTypes, xt = q ? q.emptyScript : "", j = y.reactiveElementPolyfillSupport, I = (o, t) => o, R = { toAttribute(o, t) {
|
|
49
|
+
switch (t) {
|
|
50
|
+
case Boolean:
|
|
51
|
+
o = o ? xt : null;
|
|
52
|
+
break;
|
|
53
|
+
case Object:
|
|
54
|
+
case Array:
|
|
55
|
+
o = o == null ? o : JSON.stringify(o);
|
|
56
|
+
}
|
|
57
|
+
return o;
|
|
58
|
+
}, fromAttribute(o, t) {
|
|
59
|
+
let e = o;
|
|
60
|
+
switch (t) {
|
|
61
|
+
case Boolean:
|
|
62
|
+
e = o !== null;
|
|
63
|
+
break;
|
|
64
|
+
case Number:
|
|
65
|
+
e = o === null ? null : Number(o);
|
|
66
|
+
break;
|
|
67
|
+
case Object:
|
|
68
|
+
case Array:
|
|
69
|
+
try {
|
|
70
|
+
e = JSON.parse(o);
|
|
71
|
+
} catch {
|
|
72
|
+
e = null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return e;
|
|
76
|
+
} }, O = (o, t) => !gt(o, t), $ = { attribute: !0, type: String, converter: R, reflect: !1, hasChanged: O };
|
|
77
|
+
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), y.litPropertyMetadata ?? (y.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
78
|
+
class b extends HTMLElement {
|
|
79
|
+
static addInitializer(t) {
|
|
80
|
+
this._$Ei(), (this.l ?? (this.l = [])).push(t);
|
|
81
|
+
}
|
|
82
|
+
static get observedAttributes() {
|
|
83
|
+
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
|
|
84
|
+
}
|
|
85
|
+
static createProperty(t, e = $) {
|
|
86
|
+
if (e.state && (e.attribute = !1), this._$Ei(), this.elementProperties.set(t, e), !e.noAccessor) {
|
|
87
|
+
const s = Symbol(), i = this.getPropertyDescriptor(t, s, e);
|
|
88
|
+
i !== void 0 && ut(this.prototype, t, i);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
static getPropertyDescriptor(t, e, s) {
|
|
92
|
+
const { get: i, set: r } = ft(this.prototype, t) ?? { get() {
|
|
93
|
+
return this[e];
|
|
94
|
+
}, set(n) {
|
|
95
|
+
this[e] = n;
|
|
96
|
+
} };
|
|
97
|
+
return { get() {
|
|
98
|
+
return i == null ? void 0 : i.call(this);
|
|
99
|
+
}, set(n) {
|
|
100
|
+
const l = i == null ? void 0 : i.call(this);
|
|
101
|
+
r.call(this, n), this.requestUpdate(t, l, s);
|
|
102
|
+
}, configurable: !0, enumerable: !0 };
|
|
103
|
+
}
|
|
104
|
+
static getPropertyOptions(t) {
|
|
105
|
+
return this.elementProperties.get(t) ?? $;
|
|
106
|
+
}
|
|
107
|
+
static _$Ei() {
|
|
108
|
+
if (this.hasOwnProperty(I("elementProperties"))) return;
|
|
109
|
+
const t = yt(this);
|
|
110
|
+
t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
|
|
111
|
+
}
|
|
112
|
+
static finalize() {
|
|
113
|
+
if (this.hasOwnProperty(I("finalized"))) return;
|
|
114
|
+
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(I("properties"))) {
|
|
115
|
+
const e = this.properties, s = [...At(e), ...wt(e)];
|
|
116
|
+
for (const i of s) this.createProperty(i, e[i]);
|
|
117
|
+
}
|
|
118
|
+
const t = this[Symbol.metadata];
|
|
119
|
+
if (t !== null) {
|
|
120
|
+
const e = litPropertyMetadata.get(t);
|
|
121
|
+
if (e !== void 0) for (const [s, i] of e) this.elementProperties.set(s, i);
|
|
122
|
+
}
|
|
123
|
+
this._$Eh = /* @__PURE__ */ new Map();
|
|
124
|
+
for (const [e, s] of this.elementProperties) {
|
|
125
|
+
const i = this._$Eu(e, s);
|
|
126
|
+
i !== void 0 && this._$Eh.set(i, e);
|
|
127
|
+
}
|
|
128
|
+
this.elementStyles = this.finalizeStyles(this.styles);
|
|
129
|
+
}
|
|
130
|
+
static finalizeStyles(t) {
|
|
131
|
+
const e = [];
|
|
132
|
+
if (Array.isArray(t)) {
|
|
133
|
+
const s = new Set(t.flat(1 / 0).reverse());
|
|
134
|
+
for (const i of s) e.unshift(X(i));
|
|
135
|
+
} else t !== void 0 && e.push(X(t));
|
|
136
|
+
return e;
|
|
137
|
+
}
|
|
138
|
+
static _$Eu(t, e) {
|
|
139
|
+
const s = e.attribute;
|
|
140
|
+
return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0;
|
|
141
|
+
}
|
|
142
|
+
constructor() {
|
|
143
|
+
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
|
|
144
|
+
}
|
|
145
|
+
_$Ev() {
|
|
146
|
+
var t;
|
|
147
|
+
this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this));
|
|
148
|
+
}
|
|
149
|
+
addController(t) {
|
|
150
|
+
var e;
|
|
151
|
+
(this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t));
|
|
152
|
+
}
|
|
153
|
+
removeController(t) {
|
|
154
|
+
var e;
|
|
155
|
+
(e = this._$EO) == null || e.delete(t);
|
|
156
|
+
}
|
|
157
|
+
_$E_() {
|
|
158
|
+
const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
|
|
159
|
+
for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
|
|
160
|
+
t.size > 0 && (this._$Ep = t);
|
|
161
|
+
}
|
|
162
|
+
createRenderRoot() {
|
|
163
|
+
const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
|
|
164
|
+
return mt(t, this.constructor.elementStyles), t;
|
|
165
|
+
}
|
|
166
|
+
connectedCallback() {
|
|
167
|
+
var t;
|
|
168
|
+
this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
|
|
169
|
+
var s;
|
|
170
|
+
return (s = e.hostConnected) == null ? void 0 : s.call(e);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
enableUpdating(t) {
|
|
174
|
+
}
|
|
175
|
+
disconnectedCallback() {
|
|
176
|
+
var t;
|
|
177
|
+
(t = this._$EO) == null || t.forEach((e) => {
|
|
178
|
+
var s;
|
|
179
|
+
return (s = e.hostDisconnected) == null ? void 0 : s.call(e);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
attributeChangedCallback(t, e, s) {
|
|
183
|
+
this._$AK(t, s);
|
|
184
|
+
}
|
|
185
|
+
_$EC(t, e) {
|
|
186
|
+
var r;
|
|
187
|
+
const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
|
|
188
|
+
if (i !== void 0 && s.reflect === !0) {
|
|
189
|
+
const n = (((r = s.converter) == null ? void 0 : r.toAttribute) !== void 0 ? s.converter : R).toAttribute(e, s.type);
|
|
190
|
+
this._$Em = t, n == null ? this.removeAttribute(i) : this.setAttribute(i, n), this._$Em = null;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
_$AK(t, e) {
|
|
194
|
+
var r;
|
|
195
|
+
const s = this.constructor, i = s._$Eh.get(t);
|
|
196
|
+
if (i !== void 0 && this._$Em !== i) {
|
|
197
|
+
const n = s.getPropertyOptions(i), l = typeof n.converter == "function" ? { fromAttribute: n.converter } : ((r = n.converter) == null ? void 0 : r.fromAttribute) !== void 0 ? n.converter : R;
|
|
198
|
+
this._$Em = i, this[i] = l.fromAttribute(e, n.type), this._$Em = null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
requestUpdate(t, e, s) {
|
|
202
|
+
if (t !== void 0) {
|
|
203
|
+
if (s ?? (s = this.constructor.getPropertyOptions(t)), !(s.hasChanged ?? O)(this[t], e)) return;
|
|
204
|
+
this.P(t, e, s);
|
|
205
|
+
}
|
|
206
|
+
this.isUpdatePending === !1 && (this._$ES = this._$ET());
|
|
207
|
+
}
|
|
208
|
+
P(t, e, s) {
|
|
209
|
+
this._$AL.has(t) || this._$AL.set(t, e), s.reflect === !0 && this._$Em !== t && (this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Set())).add(t);
|
|
210
|
+
}
|
|
211
|
+
async _$ET() {
|
|
212
|
+
this.isUpdatePending = !0;
|
|
213
|
+
try {
|
|
214
|
+
await this._$ES;
|
|
215
|
+
} catch (e) {
|
|
216
|
+
Promise.reject(e);
|
|
217
|
+
}
|
|
218
|
+
const t = this.scheduleUpdate();
|
|
219
|
+
return t != null && await t, !this.isUpdatePending;
|
|
220
|
+
}
|
|
221
|
+
scheduleUpdate() {
|
|
222
|
+
return this.performUpdate();
|
|
223
|
+
}
|
|
224
|
+
performUpdate() {
|
|
225
|
+
var s;
|
|
226
|
+
if (!this.isUpdatePending) return;
|
|
227
|
+
if (!this.hasUpdated) {
|
|
228
|
+
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
|
229
|
+
for (const [r, n] of this._$Ep) this[r] = n;
|
|
230
|
+
this._$Ep = void 0;
|
|
231
|
+
}
|
|
232
|
+
const i = this.constructor.elementProperties;
|
|
233
|
+
if (i.size > 0) for (const [r, n] of i) n.wrapped !== !0 || this._$AL.has(r) || this[r] === void 0 || this.P(r, this[r], n);
|
|
234
|
+
}
|
|
235
|
+
let t = !1;
|
|
236
|
+
const e = this._$AL;
|
|
237
|
+
try {
|
|
238
|
+
t = this.shouldUpdate(e), t ? (this.willUpdate(e), (s = this._$EO) == null || s.forEach((i) => {
|
|
239
|
+
var r;
|
|
240
|
+
return (r = i.hostUpdate) == null ? void 0 : r.call(i);
|
|
241
|
+
}), this.update(e)) : this._$EU();
|
|
242
|
+
} catch (i) {
|
|
243
|
+
throw t = !1, this._$EU(), i;
|
|
244
|
+
}
|
|
245
|
+
t && this._$AE(e);
|
|
246
|
+
}
|
|
247
|
+
willUpdate(t) {
|
|
248
|
+
}
|
|
249
|
+
_$AE(t) {
|
|
250
|
+
var e;
|
|
251
|
+
(e = this._$EO) == null || e.forEach((s) => {
|
|
252
|
+
var i;
|
|
253
|
+
return (i = s.hostUpdated) == null ? void 0 : i.call(s);
|
|
254
|
+
}), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
|
|
255
|
+
}
|
|
256
|
+
_$EU() {
|
|
257
|
+
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
|
|
258
|
+
}
|
|
259
|
+
get updateComplete() {
|
|
260
|
+
return this.getUpdateComplete();
|
|
261
|
+
}
|
|
262
|
+
getUpdateComplete() {
|
|
263
|
+
return this._$ES;
|
|
264
|
+
}
|
|
265
|
+
shouldUpdate(t) {
|
|
266
|
+
return !0;
|
|
267
|
+
}
|
|
268
|
+
update(t) {
|
|
269
|
+
this._$Ej && (this._$Ej = this._$Ej.forEach((e) => this._$EC(e, this[e]))), this._$EU();
|
|
270
|
+
}
|
|
271
|
+
updated(t) {
|
|
272
|
+
}
|
|
273
|
+
firstUpdated(t) {
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
b.elementStyles = [], b.shadowRootOptions = { mode: "open" }, b[I("elementProperties")] = /* @__PURE__ */ new Map(), b[I("finalized")] = /* @__PURE__ */ new Map(), j == null || j({ ReactiveElement: b }), (y.reactiveElementVersions ?? (y.reactiveElementVersions = [])).push("2.0.4");
|
|
277
|
+
/**
|
|
278
|
+
* @license
|
|
279
|
+
* Copyright 2017 Google LLC
|
|
280
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
281
|
+
*/
|
|
282
|
+
const C = globalThis, T = C.trustedTypes, _ = T ? T.createPolicy("lit-html", { createHTML: (o) => o }) : void 0, at = "$lit$", w = `lit$${Math.random().toFixed(9).slice(2)}$`, lt = "?" + w, St = `<${lt}>`, v = document, Q = () => v.createComment(""), Y = (o) => o === null || typeof o != "object" && typeof o != "function", V = Array.isArray, vt = (o) => V(o) || typeof (o == null ? void 0 : o[Symbol.iterator]) == "function", F = `[
|
|
283
|
+
\f\r]`, z = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, tt = /-->/g, et = />/g, x = RegExp(`>|${F}(?:([^\\s"'>=/]+)(${F}*=${F}*(?:[^
|
|
284
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), st = /'/g, it = /"/g, ht = /^(?:script|style|textarea|title)$/i, Et = (o) => (t, ...e) => ({ _$litType$: o, strings: t, values: e }), E = Et(1), B = Symbol.for("lit-noChange"), p = Symbol.for("lit-nothing"), ot = /* @__PURE__ */ new WeakMap(), S = v.createTreeWalker(v, 129);
|
|
285
|
+
function ct(o, t) {
|
|
286
|
+
if (!V(o) || !o.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
287
|
+
return _ !== void 0 ? _.createHTML(t) : t;
|
|
288
|
+
}
|
|
289
|
+
const bt = (o, t) => {
|
|
290
|
+
const e = o.length - 1, s = [];
|
|
291
|
+
let i, r = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = z;
|
|
292
|
+
for (let l = 0; l < e; l++) {
|
|
293
|
+
const a = o[l];
|
|
294
|
+
let c, d, h = -1, u = 0;
|
|
295
|
+
for (; u < a.length && (n.lastIndex = u, d = n.exec(a), d !== null); ) u = n.lastIndex, n === z ? d[1] === "!--" ? n = tt : d[1] !== void 0 ? n = et : d[2] !== void 0 ? (ht.test(d[2]) && (i = RegExp("</" + d[2], "g")), n = x) : d[3] !== void 0 && (n = x) : n === x ? d[0] === ">" ? (n = i ?? z, h = -1) : d[1] === void 0 ? h = -2 : (h = n.lastIndex - d[2].length, c = d[1], n = d[3] === void 0 ? x : d[3] === '"' ? it : st) : n === it || n === st ? n = x : n === tt || n === et ? n = z : (n = x, i = void 0);
|
|
296
|
+
const A = n === x && o[l + 1].startsWith("/>") ? " " : "";
|
|
297
|
+
r += n === z ? a + St : h >= 0 ? (s.push(c), a.slice(0, h) + at + a.slice(h) + w + A) : a + w + (h === -2 ? l : A);
|
|
298
|
+
}
|
|
299
|
+
return [ct(o, r + (o[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
|
|
300
|
+
};
|
|
301
|
+
class U {
|
|
302
|
+
constructor({ strings: t, _$litType$: e }, s) {
|
|
303
|
+
let i;
|
|
304
|
+
this.parts = [];
|
|
305
|
+
let r = 0, n = 0;
|
|
306
|
+
const l = t.length - 1, a = this.parts, [c, d] = bt(t, e);
|
|
307
|
+
if (this.el = U.createElement(c, s), S.currentNode = this.el.content, e === 2 || e === 3) {
|
|
308
|
+
const h = this.el.content.firstChild;
|
|
309
|
+
h.replaceWith(...h.childNodes);
|
|
310
|
+
}
|
|
311
|
+
for (; (i = S.nextNode()) !== null && a.length < l; ) {
|
|
312
|
+
if (i.nodeType === 1) {
|
|
313
|
+
if (i.hasAttributes()) for (const h of i.getAttributeNames()) if (h.endsWith(at)) {
|
|
314
|
+
const u = d[n++], A = i.getAttribute(h).split(w), G = /([.?@])?(.*)/.exec(u);
|
|
315
|
+
a.push({ type: 1, index: r, name: G[2], strings: A, ctor: G[1] === "." ? Mt : G[1] === "?" ? zt : G[1] === "@" ? It : N }), i.removeAttribute(h);
|
|
316
|
+
} else h.startsWith(w) && (a.push({ type: 6, index: r }), i.removeAttribute(h));
|
|
317
|
+
if (ht.test(i.tagName)) {
|
|
318
|
+
const h = i.textContent.split(w), u = h.length - 1;
|
|
319
|
+
if (u > 0) {
|
|
320
|
+
i.textContent = T ? T.emptyScript : "";
|
|
321
|
+
for (let A = 0; A < u; A++) i.append(h[A], Q()), S.nextNode(), a.push({ type: 2, index: ++r });
|
|
322
|
+
i.append(h[u], Q());
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
} else if (i.nodeType === 8) if (i.data === lt) a.push({ type: 2, index: r });
|
|
326
|
+
else {
|
|
327
|
+
let h = -1;
|
|
328
|
+
for (; (h = i.data.indexOf(w, h + 1)) !== -1; ) a.push({ type: 7, index: r }), h += w.length - 1;
|
|
329
|
+
}
|
|
330
|
+
r++;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
static createElement(t, e) {
|
|
334
|
+
const s = v.createElement("template");
|
|
335
|
+
return s.innerHTML = t, s;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
function M(o, t, e = o, s) {
|
|
339
|
+
var n, l;
|
|
340
|
+
if (t === B) return t;
|
|
341
|
+
let i = s !== void 0 ? (n = e._$Co) == null ? void 0 : n[s] : e._$Cl;
|
|
342
|
+
const r = Y(t) ? void 0 : t._$litDirective$;
|
|
343
|
+
return (i == null ? void 0 : i.constructor) !== r && ((l = i == null ? void 0 : i._$AO) == null || l.call(i, !1), r === void 0 ? i = void 0 : (i = new r(o), i._$AT(o, e, s)), s !== void 0 ? (e._$Co ?? (e._$Co = []))[s] = i : e._$Cl = i), i !== void 0 && (t = M(o, i._$AS(o, t.values), i, s)), t;
|
|
344
|
+
}
|
|
345
|
+
class Bt {
|
|
346
|
+
constructor(t, e) {
|
|
347
|
+
this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
|
|
348
|
+
}
|
|
349
|
+
get parentNode() {
|
|
350
|
+
return this._$AM.parentNode;
|
|
351
|
+
}
|
|
352
|
+
get _$AU() {
|
|
353
|
+
return this._$AM._$AU;
|
|
354
|
+
}
|
|
355
|
+
u(t) {
|
|
356
|
+
const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? v).importNode(e, !0);
|
|
357
|
+
S.currentNode = i;
|
|
358
|
+
let r = S.nextNode(), n = 0, l = 0, a = s[0];
|
|
359
|
+
for (; a !== void 0; ) {
|
|
360
|
+
if (n === a.index) {
|
|
361
|
+
let c;
|
|
362
|
+
a.type === 2 ? c = new Z(r, r.nextSibling, this, t) : a.type === 1 ? c = new a.ctor(r, a.name, a.strings, this, t) : a.type === 6 && (c = new Ct(r, this, t)), this._$AV.push(c), a = s[++l];
|
|
363
|
+
}
|
|
364
|
+
n !== (a == null ? void 0 : a.index) && (r = S.nextNode(), n++);
|
|
365
|
+
}
|
|
366
|
+
return S.currentNode = v, i;
|
|
367
|
+
}
|
|
368
|
+
p(t) {
|
|
369
|
+
let e = 0;
|
|
370
|
+
for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
class Z {
|
|
374
|
+
get _$AU() {
|
|
375
|
+
var t;
|
|
376
|
+
return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv;
|
|
377
|
+
}
|
|
378
|
+
constructor(t, e, s, i) {
|
|
379
|
+
this.type = 2, this._$AH = p, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = (i == null ? void 0 : i.isConnected) ?? !0;
|
|
380
|
+
}
|
|
381
|
+
get parentNode() {
|
|
382
|
+
let t = this._$AA.parentNode;
|
|
383
|
+
const e = this._$AM;
|
|
384
|
+
return e !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = e.parentNode), t;
|
|
385
|
+
}
|
|
386
|
+
get startNode() {
|
|
387
|
+
return this._$AA;
|
|
388
|
+
}
|
|
389
|
+
get endNode() {
|
|
390
|
+
return this._$AB;
|
|
391
|
+
}
|
|
392
|
+
_$AI(t, e = this) {
|
|
393
|
+
t = M(this, t, e), Y(t) ? t === p || t == null || t === "" ? (this._$AH !== p && this._$AR(), this._$AH = p) : t !== this._$AH && t !== B && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : vt(t) ? this.k(t) : this._(t);
|
|
394
|
+
}
|
|
395
|
+
O(t) {
|
|
396
|
+
return this._$AA.parentNode.insertBefore(t, this._$AB);
|
|
397
|
+
}
|
|
398
|
+
T(t) {
|
|
399
|
+
this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
|
|
400
|
+
}
|
|
401
|
+
_(t) {
|
|
402
|
+
this._$AH !== p && Y(this._$AH) ? this._$AA.nextSibling.data = t : this.T(v.createTextNode(t)), this._$AH = t;
|
|
403
|
+
}
|
|
404
|
+
$(t) {
|
|
405
|
+
var r;
|
|
406
|
+
const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = U.createElement(ct(s.h, s.h[0]), this.options)), s);
|
|
407
|
+
if (((r = this._$AH) == null ? void 0 : r._$AD) === i) this._$AH.p(e);
|
|
408
|
+
else {
|
|
409
|
+
const n = new Bt(i, this), l = n.u(this.options);
|
|
410
|
+
n.p(e), this.T(l), this._$AH = n;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
_$AC(t) {
|
|
414
|
+
let e = ot.get(t.strings);
|
|
415
|
+
return e === void 0 && ot.set(t.strings, e = new U(t)), e;
|
|
416
|
+
}
|
|
417
|
+
k(t) {
|
|
418
|
+
V(this._$AH) || (this._$AH = [], this._$AR());
|
|
419
|
+
const e = this._$AH;
|
|
420
|
+
let s, i = 0;
|
|
421
|
+
for (const r of t) i === e.length ? e.push(s = new Z(this.O(Q()), this.O(Q()), this, this.options)) : s = e[i], s._$AI(r), i++;
|
|
422
|
+
i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i);
|
|
423
|
+
}
|
|
424
|
+
_$AR(t = this._$AA.nextSibling, e) {
|
|
425
|
+
var s;
|
|
426
|
+
for ((s = this._$AP) == null ? void 0 : s.call(this, !1, !0, e); t && t !== this._$AB; ) {
|
|
427
|
+
const i = t.nextSibling;
|
|
428
|
+
t.remove(), t = i;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
setConnected(t) {
|
|
432
|
+
var e;
|
|
433
|
+
this._$AM === void 0 && (this._$Cv = t, (e = this._$AP) == null || e.call(this, t));
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
class N {
|
|
437
|
+
get tagName() {
|
|
438
|
+
return this.element.tagName;
|
|
439
|
+
}
|
|
440
|
+
get _$AU() {
|
|
441
|
+
return this._$AM._$AU;
|
|
442
|
+
}
|
|
443
|
+
constructor(t, e, s, i, r) {
|
|
444
|
+
this.type = 1, this._$AH = p, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = r, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = p;
|
|
445
|
+
}
|
|
446
|
+
_$AI(t, e = this, s, i) {
|
|
447
|
+
const r = this.strings;
|
|
448
|
+
let n = !1;
|
|
449
|
+
if (r === void 0) t = M(this, t, e, 0), n = !Y(t) || t !== this._$AH && t !== B, n && (this._$AH = t);
|
|
450
|
+
else {
|
|
451
|
+
const l = t;
|
|
452
|
+
let a, c;
|
|
453
|
+
for (t = r[0], a = 0; a < r.length - 1; a++) c = M(this, l[s + a], e, a), c === B && (c = this._$AH[a]), n || (n = !Y(c) || c !== this._$AH[a]), c === p ? t = p : t !== p && (t += (c ?? "") + r[a + 1]), this._$AH[a] = c;
|
|
454
|
+
}
|
|
455
|
+
n && !i && this.j(t);
|
|
456
|
+
}
|
|
457
|
+
j(t) {
|
|
458
|
+
t === p ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
class Mt extends N {
|
|
462
|
+
constructor() {
|
|
463
|
+
super(...arguments), this.type = 3;
|
|
464
|
+
}
|
|
465
|
+
j(t) {
|
|
466
|
+
this.element[this.name] = t === p ? void 0 : t;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
class zt extends N {
|
|
470
|
+
constructor() {
|
|
471
|
+
super(...arguments), this.type = 4;
|
|
472
|
+
}
|
|
473
|
+
j(t) {
|
|
474
|
+
this.element.toggleAttribute(this.name, !!t && t !== p);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
class It extends N {
|
|
478
|
+
constructor(t, e, s, i, r) {
|
|
479
|
+
super(t, e, s, i, r), this.type = 5;
|
|
480
|
+
}
|
|
481
|
+
_$AI(t, e = this) {
|
|
482
|
+
if ((t = M(this, t, e, 0) ?? p) === B) return;
|
|
483
|
+
const s = this._$AH, i = t === p && s !== p || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, r = t !== p && (s === p || i);
|
|
484
|
+
i && this.element.removeEventListener(this.name, this, s), r && this.element.addEventListener(this.name, this, t), this._$AH = t;
|
|
485
|
+
}
|
|
486
|
+
handleEvent(t) {
|
|
487
|
+
var e;
|
|
488
|
+
typeof this._$AH == "function" ? this._$AH.call(((e = this.options) == null ? void 0 : e.host) ?? this.element, t) : this._$AH.handleEvent(t);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
class Ct {
|
|
492
|
+
constructor(t, e, s) {
|
|
493
|
+
this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
|
|
494
|
+
}
|
|
495
|
+
get _$AU() {
|
|
496
|
+
return this._$AM._$AU;
|
|
497
|
+
}
|
|
498
|
+
_$AI(t) {
|
|
499
|
+
M(this, t);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
const K = C.litHtmlPolyfillSupport;
|
|
503
|
+
K == null || K(U, Z), (C.litHtmlVersions ?? (C.litHtmlVersions = [])).push("3.2.1");
|
|
504
|
+
const kt = (o, t, e) => {
|
|
505
|
+
const s = (e == null ? void 0 : e.renderBefore) ?? t;
|
|
506
|
+
let i = s._$litPart$;
|
|
507
|
+
if (i === void 0) {
|
|
508
|
+
const r = (e == null ? void 0 : e.renderBefore) ?? null;
|
|
509
|
+
s._$litPart$ = i = new Z(t.insertBefore(Q(), r), r, void 0, e ?? {});
|
|
510
|
+
}
|
|
511
|
+
return i._$AI(o), i;
|
|
512
|
+
};
|
|
513
|
+
/**
|
|
514
|
+
* @license
|
|
515
|
+
* Copyright 2017 Google LLC
|
|
516
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
517
|
+
*/
|
|
518
|
+
let k = class extends b {
|
|
519
|
+
constructor() {
|
|
520
|
+
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
|
521
|
+
}
|
|
522
|
+
createRenderRoot() {
|
|
523
|
+
var e;
|
|
524
|
+
const t = super.createRenderRoot();
|
|
525
|
+
return (e = this.renderOptions).renderBefore ?? (e.renderBefore = t.firstChild), t;
|
|
526
|
+
}
|
|
527
|
+
update(t) {
|
|
528
|
+
const e = this.render();
|
|
529
|
+
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = kt(e, this.renderRoot, this.renderOptions);
|
|
530
|
+
}
|
|
531
|
+
connectedCallback() {
|
|
532
|
+
var t;
|
|
533
|
+
super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0);
|
|
534
|
+
}
|
|
535
|
+
disconnectedCallback() {
|
|
536
|
+
var t;
|
|
537
|
+
super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1);
|
|
538
|
+
}
|
|
539
|
+
render() {
|
|
540
|
+
return B;
|
|
541
|
+
}
|
|
542
|
+
};
|
|
543
|
+
var nt;
|
|
544
|
+
k._$litElement$ = !0, k.finalized = !0, (nt = globalThis.litElementHydrateSupport) == null || nt.call(globalThis, { LitElement: k });
|
|
545
|
+
const J = globalThis.litElementPolyfillSupport;
|
|
546
|
+
J == null || J({ LitElement: k });
|
|
547
|
+
(globalThis.litElementVersions ?? (globalThis.litElementVersions = [])).push("4.1.1");
|
|
548
|
+
/**
|
|
549
|
+
* @license
|
|
550
|
+
* Copyright 2017 Google LLC
|
|
551
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
552
|
+
*/
|
|
553
|
+
const Qt = (o) => (t, e) => {
|
|
554
|
+
e !== void 0 ? e.addInitializer(() => {
|
|
555
|
+
customElements.define(o, t);
|
|
556
|
+
}) : customElements.define(o, t);
|
|
557
|
+
};
|
|
558
|
+
/**
|
|
559
|
+
* @license
|
|
560
|
+
* Copyright 2017 Google LLC
|
|
561
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
562
|
+
*/
|
|
563
|
+
const Yt = { attribute: !0, type: String, converter: R, reflect: !1, hasChanged: O }, Ut = (o = Yt, t, e) => {
|
|
564
|
+
const { kind: s, metadata: i } = e;
|
|
565
|
+
let r = globalThis.litPropertyMetadata.get(i);
|
|
566
|
+
if (r === void 0 && globalThis.litPropertyMetadata.set(i, r = /* @__PURE__ */ new Map()), r.set(e.name, o), s === "accessor") {
|
|
567
|
+
const { name: n } = e;
|
|
568
|
+
return { set(l) {
|
|
569
|
+
const a = t.get.call(this);
|
|
570
|
+
t.set.call(this, l), this.requestUpdate(n, a, o);
|
|
571
|
+
}, init(l) {
|
|
572
|
+
return l !== void 0 && this.P(n, void 0, o), l;
|
|
573
|
+
} };
|
|
574
|
+
}
|
|
575
|
+
if (s === "setter") {
|
|
576
|
+
const { name: n } = e;
|
|
577
|
+
return function(l) {
|
|
578
|
+
const a = this[n];
|
|
579
|
+
t.call(this, l), this.requestUpdate(n, a, o);
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
throw Error("Unsupported decorator location: " + s);
|
|
583
|
+
};
|
|
584
|
+
function D(o) {
|
|
585
|
+
return (t, e) => typeof e == "object" ? Ut(o, t, e) : ((s, i, r) => {
|
|
586
|
+
const n = i.hasOwnProperty(r);
|
|
587
|
+
return i.constructor.createProperty(r, n ? { ...s, wrapped: !0 } : s), n ? Object.getOwnPropertyDescriptor(i, r) : void 0;
|
|
588
|
+
})(o, t, e);
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* @license
|
|
592
|
+
* Copyright 2017 Google LLC
|
|
593
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
594
|
+
*/
|
|
595
|
+
function f(o) {
|
|
596
|
+
return D({ ...o, state: !0, attribute: !1 });
|
|
597
|
+
}
|
|
598
|
+
const Zt = "data:image/png;base64,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", Dt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAAElCAYAAAALNmvKAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAFLxSURBVHgB7Z3Xz2zJVfZ7jg855wwHME5MsCcHezwGe2wMFhLBFtxY4gIhccs93wX/A1whgXyDkLA0CA+eZGZsM9HjwWOPEwabnHN0/OZXnF/rOXVqd+9Qu9+3X51H6nP67d69d9WqVSvVqlVXff7zn//C5gquYCbOba7gChbgCgNdwSJcYaArWITzmxPGVVddVf7/whfaphift67hs/o3XnfWkDTYdc25c/vlQU2zMffehRNhoFaDd3Wi9V2L4ZYS4zTCftq3552e8v8Qs/D9pz/96fI9L97z+vIv//LNF3/xF++k5RzaXXVoLywbmQNOxz/3uc+V//0bQAQJ9oIXvOASaTQktc4KE9lHpW1KGT7zc2n37//+75uPf/zjmz/+4z/efP3Xf/3mW7/1W8v7T37yk5vrr79+c/XVV2++8iu/stDx/Pnz5ff8D/i9zxojycTBJRCdpaEyA+//8z//c/Oxj32sdP4//uM/yjV8xoz5iq/4ijJ76DjveX3DN3zD5ju/8ztL52W0swjo8/d///ebz3zmM5uv+7qv23zZl33ZdnChG7Ti+0996lObP/3TP938z//8z+app57a/NVf/dXmhhtu2Hz7t3/75rHHHtv813/91+Z///d/N3/2Z3+2pRf3+47v+I7NtddeW+jLeIihidls40lJIDr5wQ9+cPMv//IvpXMwA536pm/6ps2//du/bT760Y+W97xgmj/5kz/ZvP3tby+EevOb37z5hV/4hUJQwOzxvmdF+ji5PvCBDxTJ8qIXvWjzzd/8zYVW99133+bZZ5/dfM3XfM3mW77lWwpT8Z6J9a//+q+Fkbj2S77kSzb/+I//WL5X8kArGIp7cu0//MM/lOfcdtttm5e//OVN23JnOw/BQDRaiQMBnn766SJtlCwwDx2+cOHC5qu/+qvL9TAY30EYCADjvOc979l86EMfKrMI4iCW77zzzkI4flM6VDHQsTKUA/kXf/EXm89+9rOb7/qu7yp/v+Md79j86q/+apFKP/3TP725/fbbC52QyEjssWCS/u3f/m1h0N/6rd8qk/EXf/EXNzfffHP5vjYRhui4qgrT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", Gt = "data:image/png;base64,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";
|
|
599
|
+
var Pt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, g = (o, t, e, s) => {
|
|
600
|
+
for (var i = s > 1 ? void 0 : s ? Rt(t, e) : t, r = o.length - 1, n; r >= 0; r--)
|
|
601
|
+
(n = o[r]) && (i = (s ? n(t, e, i) : n(i)) || i);
|
|
602
|
+
return s && i && Pt(t, e, i), i;
|
|
603
|
+
};
|
|
604
|
+
let m = class extends k {
|
|
605
|
+
constructor() {
|
|
606
|
+
super(...arguments), this.apiKey = "", this.culture = "en", this.skus = [], this.productName = "", this.showModal = !1, this.step = 1, this.height = 0, this.recommendedSize = "", this.measurements = {}, this.errorMessage = "", this.instructionMessage = "Position yourself in front of the camera", this.shouldStartMeasurement = !1, this.videoElement = null, this.stream = null, this.pollingInterval = null, this.translations = {
|
|
607
|
+
en: {
|
|
608
|
+
privacy: "Privacy",
|
|
609
|
+
button: "Get your Xactsize",
|
|
610
|
+
heightLabel: "Enter Your Height (in cm):",
|
|
611
|
+
startMeasurement: "Start Measurement",
|
|
612
|
+
stopMeasurement: "Stop Measurement",
|
|
613
|
+
accept: "Accept Suggestion",
|
|
614
|
+
measureAgain: "Measure Again",
|
|
615
|
+
tooSmall: "Too small",
|
|
616
|
+
xactSize: "XactSize",
|
|
617
|
+
tooBig: "Too big",
|
|
618
|
+
recommendation: "Based on your measurements we recommend you to pick the size:"
|
|
619
|
+
},
|
|
620
|
+
"pt-BR": {
|
|
621
|
+
privacy: "Privacidade",
|
|
622
|
+
button: "Obter tamanho exato",
|
|
623
|
+
heightLabel: "Digite sua altura (em cm):",
|
|
624
|
+
startMeasurement: "Iniciar Medição",
|
|
625
|
+
stopMeasurement: "Parar Medição",
|
|
626
|
+
accept: "Aceitar Sugestão",
|
|
627
|
+
measureAgain: "Medir Novamente",
|
|
628
|
+
tooSmall: "Muito pequeno",
|
|
629
|
+
xactSize: "XactSize",
|
|
630
|
+
tooBig: "Muito grande",
|
|
631
|
+
recommendation: "Com base nas suas medidas, recomendamos que você escolha o tamanho:"
|
|
632
|
+
}
|
|
633
|
+
}, this.isFetching = !1;
|
|
634
|
+
}
|
|
635
|
+
getTranslation(o) {
|
|
636
|
+
var t;
|
|
637
|
+
return ((t = this.translations[this.culture]) == null ? void 0 : t[o]) || this.translations.en[o];
|
|
638
|
+
}
|
|
639
|
+
connectedCallback() {
|
|
640
|
+
super.connectedCallback(), document.addEventListener("keydown", this.handleEscKey.bind(this));
|
|
641
|
+
}
|
|
642
|
+
disconnectedCallback() {
|
|
643
|
+
super.disconnectedCallback(), document.removeEventListener("keydown", this.handleEscKey.bind(this)), this.stopPolling();
|
|
644
|
+
}
|
|
645
|
+
handleEscKey(o) {
|
|
646
|
+
o.key === "Escape" && this.showModal && this.closeModal();
|
|
647
|
+
}
|
|
648
|
+
openModal() {
|
|
649
|
+
this.showModal = !0, this.step = 1, this.height = 0, this.recommendedSize = "", this.measurements = {}, this.errorMessage = "", this.instructionMessage = "Position yourself in front of the camera";
|
|
650
|
+
}
|
|
651
|
+
closeModal() {
|
|
652
|
+
this.showModal = !1, this.stopPolling(), this.dispatchEvent(new CustomEvent("measurementCanceled", { detail: {} }));
|
|
653
|
+
}
|
|
654
|
+
async startMeasurement() {
|
|
655
|
+
this.step = 2, this.errorMessage = "", this.shouldStartMeasurement = !0;
|
|
656
|
+
}
|
|
657
|
+
updated(o) {
|
|
658
|
+
super.updated(o), o.has("step") && this.step === 2 && this.shouldStartMeasurement && (this.initializeMeasurement(), this.shouldStartMeasurement = !1);
|
|
659
|
+
}
|
|
660
|
+
async initializeMeasurement() {
|
|
661
|
+
this.videoElement = this.shadowRoot.querySelector("video");
|
|
662
|
+
try {
|
|
663
|
+
this.stream = await navigator.mediaDevices.getUserMedia({ video: !0 }), this.videoElement && (this.videoElement.srcObject = this.stream, await this.videoElement.play(), this.startPolling());
|
|
664
|
+
} catch {
|
|
665
|
+
this.errorMessage = "Error accessing webcam.";
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
async startPolling() {
|
|
669
|
+
const o = async () => {
|
|
670
|
+
if (!this.videoElement || !this.stream || this.isFetching) return;
|
|
671
|
+
const t = document.createElement("canvas");
|
|
672
|
+
t.width = this.videoElement.videoWidth, t.height = this.videoElement.videoHeight;
|
|
673
|
+
const e = t.getContext("2d");
|
|
674
|
+
e == null || e.drawImage(this.videoElement, 0, 0, t.width, t.height);
|
|
675
|
+
const s = await new Promise((r) => t.toBlob((n) => r(n), "image/jpeg")), i = new FormData();
|
|
676
|
+
i.append("image", s, "frame.jpg"), i.append("height", this.height.toString()), i.append("type", "shirt"), i.append("skus", JSON.stringify(this.skus));
|
|
677
|
+
try {
|
|
678
|
+
this.isFetching = !0;
|
|
679
|
+
const n = await (await fetch("https://xactsize-api-923169850574.southamerica-east1.run.app/api/measurer/measure/body", {
|
|
680
|
+
method: "POST",
|
|
681
|
+
body: i
|
|
682
|
+
})).json();
|
|
683
|
+
this.isFetching = !1, n.success ? (this.measurements = n.measurements, this.recommendedSize = n.chosenSize, this.instructionMessage = "Measurement successful!", this.stopPolling(), this.step = 3) : (this.instructionMessage = n.message, setTimeout(() => {
|
|
684
|
+
this.recommendedSize || (this.instructionMessage = "Position yourself in front of the camera");
|
|
685
|
+
}, 1e4));
|
|
686
|
+
} catch {
|
|
687
|
+
this.instructionMessage = "Error processing measurement", setTimeout(() => {
|
|
688
|
+
this.recommendedSize || (this.instructionMessage = "Position yourself in front of the camera");
|
|
689
|
+
}, 2e3);
|
|
690
|
+
}
|
|
691
|
+
};
|
|
692
|
+
this.pollingInterval = window.setInterval(o, 5e3), await o();
|
|
693
|
+
}
|
|
694
|
+
stopPolling() {
|
|
695
|
+
this.pollingInterval && (clearInterval(this.pollingInterval), this.pollingInterval = null), this.stream && (this.stream.getTracks().forEach((o) => o.stop()), this.stream = null);
|
|
696
|
+
}
|
|
697
|
+
acceptMeasurement() {
|
|
698
|
+
this.dispatchEvent(new CustomEvent("measurementAccepted", { detail: { size: this.recommendedSize } })), this.showModal = !1, this.stopPolling();
|
|
699
|
+
}
|
|
700
|
+
resetMeasurement() {
|
|
701
|
+
this.step = 1, this.height = 0, this.recommendedSize = "", this.measurements = {}, this.stopPolling();
|
|
702
|
+
}
|
|
703
|
+
stopMeasurement() {
|
|
704
|
+
this.resetMeasurement(), this.showModal = !1;
|
|
705
|
+
}
|
|
706
|
+
render() {
|
|
707
|
+
return E`
|
|
708
|
+
<button class="xactsize-btn" @click=${this.openModal}>${this.getTranslation("button")}</button>
|
|
709
|
+
|
|
710
|
+
${this.showModal ? E`
|
|
711
|
+
<div class="modal">
|
|
712
|
+
<div class="modal-content">
|
|
713
|
+
<div style="display: flex; justify-content: space-between" class="modal-title-container">
|
|
714
|
+
<h2 class="modal-title">${this.getTranslation("button")}</h2>
|
|
715
|
+
<span class="close-btn" @click=${this.closeModal}>×</span>
|
|
716
|
+
</div>
|
|
717
|
+
|
|
718
|
+
<!-- STEP 1 -->
|
|
719
|
+
${this.step === 1 ? E`
|
|
720
|
+
<div class="step-1">
|
|
721
|
+
<div class="step-1-container-left">
|
|
722
|
+
<p class="step-1-description">Let’s discover the perfect fit for you.</p>
|
|
723
|
+
<p class="step-1-description">For accurate measurements, please ensure you have
|
|
724
|
+
proper lighting. We will estimate the best clothing size for you (or smth like
|
|
725
|
+
this).</p>
|
|
726
|
+
<div class="step-1-image-container">
|
|
727
|
+
<img style="height: 100%" src="${Zt}" alt="preview"/>
|
|
728
|
+
</div>
|
|
729
|
+
<form @submit=${(o) => {
|
|
730
|
+
o.preventDefault(), this.height = parseInt(this.shadowRoot.querySelector("input").value), this.startMeasurement();
|
|
731
|
+
}}>
|
|
732
|
+
<label for="height-input">We need your height to continue (cm)</label>
|
|
733
|
+
<div class="input-wrapper">
|
|
734
|
+
<input id="height-input" type="number" min="50" max="300"
|
|
735
|
+
placeholder="Enter Your Height (in cm)" required/>
|
|
736
|
+
</div>
|
|
737
|
+
<button type="submit">${this.getTranslation("startMeasurement")}</button>
|
|
738
|
+
</form>
|
|
739
|
+
</div>
|
|
740
|
+
<div class="step-1-container-right">
|
|
741
|
+
<img src="${Dt}" alt="Size Chart" class="size-chart"/>
|
|
742
|
+
</div>
|
|
743
|
+
</div>
|
|
744
|
+
` : ""}
|
|
745
|
+
|
|
746
|
+
<!-- STEP 2 -->
|
|
747
|
+
${this.step === 2 ? E`
|
|
748
|
+
<div class="step-2">
|
|
749
|
+
<h2>${this.instructionMessage}</h2>
|
|
750
|
+
<div class="video-container">
|
|
751
|
+
<video id="video" autoplay></video>
|
|
752
|
+
<button class="xactsize-btn" @click=${this.stopMeasurement}>
|
|
753
|
+
${this.getTranslation("stopMeasurement")}
|
|
754
|
+
</button>
|
|
755
|
+
</div>
|
|
756
|
+
${this.errorMessage ? E`
|
|
757
|
+
<div class="error-message">${this.errorMessage}</div>` : ""}
|
|
758
|
+
</div>
|
|
759
|
+
` : ""}
|
|
760
|
+
|
|
761
|
+
<!-- STEP 3 -->
|
|
762
|
+
${this.step === 3 ? E`
|
|
763
|
+
<div class="step-3">
|
|
764
|
+
<h3 class="step-3-subtitle">Here are your results</h3>
|
|
765
|
+
<div class="size-graph-container">
|
|
766
|
+
<div class="size-graph-container-left">
|
|
767
|
+
<div class="size-graph">
|
|
768
|
+
<div class="size-numbers">
|
|
769
|
+
<span>2</span>
|
|
770
|
+
<span>4</span>
|
|
771
|
+
<span>6</span>
|
|
772
|
+
<span>8</span>
|
|
773
|
+
<span>10</span>
|
|
774
|
+
</div>
|
|
775
|
+
<div class="indicator">
|
|
776
|
+
<div class="triangle"></div>
|
|
777
|
+
</div>
|
|
778
|
+
<div class="size-labels">
|
|
779
|
+
<span>${this.getTranslation("tooSmall")}</span>
|
|
780
|
+
<span>${this.getTranslation("xactSize")}</span>
|
|
781
|
+
<span>${this.getTranslation("tooBig")}</span>
|
|
782
|
+
</div>
|
|
783
|
+
</div>
|
|
784
|
+
<p class="recommendation-text">${this.getTranslation("recommendation")} <strong>{${this.productName}
|
|
785
|
+
} - ${this.recommendedSize}</strong></p>
|
|
786
|
+
</div>
|
|
787
|
+
<div class="size-graph-container-right">
|
|
788
|
+
<img src="${Gt}" alt="Product Image" class="product-image"/>
|
|
789
|
+
</div>
|
|
790
|
+
</div>
|
|
791
|
+
|
|
792
|
+
<div class="buttons">
|
|
793
|
+
<button class="accept-btn" @click=${this.acceptMeasurement}>
|
|
794
|
+
${this.getTranslation("accept")}
|
|
795
|
+
</button>
|
|
796
|
+
<button class="measure-again-btn" @click=${this.resetMeasurement}>
|
|
797
|
+
${this.getTranslation("measureAgain")}
|
|
798
|
+
</button>
|
|
799
|
+
</div>
|
|
800
|
+
</div>
|
|
801
|
+
` : ""}
|
|
802
|
+
</div>
|
|
803
|
+
<footer class="modal-footer">
|
|
804
|
+
<span><a style="color: black; font-weight: 800"
|
|
805
|
+
href="http://xactsize.com">${this.getTranslation("privacy")}</a> | Powered by Xactsize®</span>
|
|
806
|
+
</footer>
|
|
807
|
+
</div>
|
|
808
|
+
` : ""}
|
|
809
|
+
`;
|
|
810
|
+
}
|
|
811
|
+
};
|
|
812
|
+
m.styles = dt`
|
|
813
|
+
:host {
|
|
814
|
+
display: block;
|
|
815
|
+
font-family: Arial, sans-serif;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
/* Button Styles */
|
|
819
|
+
|
|
820
|
+
.xactsize-btn {
|
|
821
|
+
padding: 8px 24px;
|
|
822
|
+
font-size: 20px;
|
|
823
|
+
font-weight: 700;
|
|
824
|
+
background-color: #001947;
|
|
825
|
+
color: #fff;
|
|
826
|
+
border: 2px solid transparent;
|
|
827
|
+
border-radius: 4px;
|
|
828
|
+
box-shadow: none;
|
|
829
|
+
cursor: pointer;
|
|
830
|
+
transition: background-color 0.3s ease;
|
|
831
|
+
display: inline-flex;
|
|
832
|
+
align-items: center;
|
|
833
|
+
justify-content: center;
|
|
834
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.xactsize-btn:hover {
|
|
838
|
+
background-color: #002c71;
|
|
839
|
+
color: #fff;
|
|
840
|
+
border-color: transparent;
|
|
841
|
+
box-shadow: none;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
/* Modal Styles */
|
|
845
|
+
|
|
846
|
+
.modal {
|
|
847
|
+
position: fixed;
|
|
848
|
+
top: 0;
|
|
849
|
+
left: 0;
|
|
850
|
+
width: 100%;
|
|
851
|
+
height: 100%;
|
|
852
|
+
background: rgba(0, 0, 0, 0.5);
|
|
853
|
+
display: flex;
|
|
854
|
+
flex-direction: column;
|
|
855
|
+
justify-content: center;
|
|
856
|
+
align-items: center;
|
|
857
|
+
z-index: 1000;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
.modal-content {
|
|
861
|
+
background: white;
|
|
862
|
+
padding: 20px;
|
|
863
|
+
border-radius: 10px;
|
|
864
|
+
width: 90%;
|
|
865
|
+
max-height: 90vh;
|
|
866
|
+
max-width: 1000px;
|
|
867
|
+
position: relative;
|
|
868
|
+
display: flex;
|
|
869
|
+
flex-direction: column;
|
|
870
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
|
|
871
|
+
overflow: auto;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
@media (max-width: 600px) {
|
|
875
|
+
.modal-content {
|
|
876
|
+
width: 100%;
|
|
877
|
+
height: 100vh;
|
|
878
|
+
max-height: 100vh;
|
|
879
|
+
border-radius: 0;
|
|
880
|
+
padding: 15px;
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
.close-btn {
|
|
885
|
+
top: 10px;
|
|
886
|
+
right: 10px;
|
|
887
|
+
font-size: 24px;
|
|
888
|
+
font-weight: bold;
|
|
889
|
+
cursor: pointer;
|
|
890
|
+
color: #333;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
.close-btn:hover {
|
|
894
|
+
color: #ff0000;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
/* Step 1 Styles */
|
|
898
|
+
|
|
899
|
+
.step-1 {
|
|
900
|
+
display: flex;
|
|
901
|
+
flex-direction: row;
|
|
902
|
+
align-items: stretch;
|
|
903
|
+
gap: 18px;
|
|
904
|
+
overflow: hidden;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
@media (max-width: 768px) {
|
|
908
|
+
.step-1 {
|
|
909
|
+
flex-direction: column;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
.step-1-container-left {
|
|
914
|
+
display: flex;
|
|
915
|
+
flex-direction: column;
|
|
916
|
+
justify-content: space-between;
|
|
917
|
+
width: 50%;
|
|
918
|
+
max-width: 50%;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
.step-1-image-container {
|
|
922
|
+
display: flex;
|
|
923
|
+
align-items: center;
|
|
924
|
+
justify-content: center;
|
|
925
|
+
width: 100%;
|
|
926
|
+
overflow: hidden;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
@media (max-width: 768px) {
|
|
930
|
+
.step-1-container-left {
|
|
931
|
+
width: 100%;
|
|
932
|
+
max-width: 100%;
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
.step-1-container-left .mobile-image {
|
|
937
|
+
display: none;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.step-1-image-container img {
|
|
941
|
+
max-width: 100%;
|
|
942
|
+
max-height: 200px;
|
|
943
|
+
object-fit: contain;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
.step-1-container-right {
|
|
947
|
+
width: 50%;
|
|
948
|
+
display: flex;
|
|
949
|
+
justify-content: center;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
@media (max-width: 768px) {
|
|
953
|
+
.step-1-container-left,
|
|
954
|
+
.step-1-container-right {
|
|
955
|
+
width: 100%;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
.step-1-container-left .mobile-image {
|
|
959
|
+
display: block;
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
.step-1-container-right {
|
|
963
|
+
display: none;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
.modal-title {
|
|
968
|
+
align-self: start;
|
|
969
|
+
font-size: 24px;
|
|
970
|
+
font-weight: 700;
|
|
971
|
+
margin: 0;
|
|
972
|
+
color: #333;
|
|
973
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
@media (max-width: 600px) {
|
|
977
|
+
.modal-title-container {
|
|
978
|
+
margin-top: 15px;
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
.step-1-description {
|
|
983
|
+
font-size: 16px;
|
|
984
|
+
font-weight: 400;
|
|
985
|
+
color: #666;
|
|
986
|
+
margin-bottom: 10px;
|
|
987
|
+
line-height: 1.5;
|
|
988
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
.size-chart {
|
|
992
|
+
width: 200px;
|
|
993
|
+
height: auto;
|
|
994
|
+
max-width: 100%;
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
.step-1 form {
|
|
998
|
+
display: flex;
|
|
999
|
+
flex-direction: column;
|
|
1000
|
+
width: 100%;
|
|
1001
|
+
margin-top: 10px;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
.step-1 label {
|
|
1005
|
+
font-size: 14px;
|
|
1006
|
+
color: #666;
|
|
1007
|
+
margin-bottom: 8px;
|
|
1008
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
.step-1 .input-wrapper {
|
|
1012
|
+
position: relative;
|
|
1013
|
+
width: 100%;
|
|
1014
|
+
margin-bottom: 10px;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
.step-1 input {
|
|
1018
|
+
width: 100%;
|
|
1019
|
+
padding: 12px;
|
|
1020
|
+
font-size: 16px;
|
|
1021
|
+
border: 1px solid #ccc;
|
|
1022
|
+
border-radius: 5px;
|
|
1023
|
+
box-sizing: border-box;
|
|
1024
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1025
|
+
appearance: none;
|
|
1026
|
+
-webkit-appearance: none;
|
|
1027
|
+
-moz-appearance: none;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
.step-1 button {
|
|
1031
|
+
width: 100%;
|
|
1032
|
+
padding: 8px 24px;
|
|
1033
|
+
font-size: 20px;
|
|
1034
|
+
font-weight: 700;
|
|
1035
|
+
background-color: #001947;
|
|
1036
|
+
color: #fff;
|
|
1037
|
+
border: 2px solid transparent;
|
|
1038
|
+
border-radius: 4px;
|
|
1039
|
+
box-shadow: none;
|
|
1040
|
+
cursor: pointer;
|
|
1041
|
+
transition: background-color 0.3s ease;
|
|
1042
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
.step-1 button:hover {
|
|
1046
|
+
background-color: #002c71;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
.modal-footer {
|
|
1050
|
+
width: 100%;
|
|
1051
|
+
text-align: center;
|
|
1052
|
+
padding-top: 10px;
|
|
1053
|
+
font-size: 12px;
|
|
1054
|
+
color: #000000;
|
|
1055
|
+
font-weight: 600;
|
|
1056
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1057
|
+
max-width: 1000px;
|
|
1058
|
+
display: flex;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
.modal-footer span {
|
|
1062
|
+
text-decoration: none;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/* Step 2 Styles */
|
|
1066
|
+
|
|
1067
|
+
.step-2 {
|
|
1068
|
+
text-align: center;
|
|
1069
|
+
display: flex;
|
|
1070
|
+
flex-direction: column;
|
|
1071
|
+
flex: 1;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
.step-2 h2 {
|
|
1075
|
+
font-size: 20px;
|
|
1076
|
+
margin-bottom: 15px;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
.video-container {
|
|
1080
|
+
position: relative;
|
|
1081
|
+
display: flex;
|
|
1082
|
+
flex-direction: column;
|
|
1083
|
+
align-items: center;
|
|
1084
|
+
justify-content: space-between;
|
|
1085
|
+
height: auto;
|
|
1086
|
+
flex: 1;
|
|
1087
|
+
padding-bottom: 15px;
|
|
1088
|
+
gap: 5px;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
.video-container button {
|
|
1092
|
+
width: 100%;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
video {
|
|
1096
|
+
border-radius: 5px;
|
|
1097
|
+
display: block;
|
|
1098
|
+
max-width: 100%;
|
|
1099
|
+
max-height: 100%;
|
|
1100
|
+
height: 100%;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
.error-message {
|
|
1104
|
+
color: red;
|
|
1105
|
+
font-size: 14px;
|
|
1106
|
+
margin-top: 10px;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
/* Step 3 Styles */
|
|
1110
|
+
|
|
1111
|
+
.step-3 {
|
|
1112
|
+
justify-content: space-between;
|
|
1113
|
+
display: flex;
|
|
1114
|
+
flex-direction: column;
|
|
1115
|
+
align-items: center;
|
|
1116
|
+
text-align: center;
|
|
1117
|
+
flex: 1;
|
|
1118
|
+
padding: 20px 0;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
.step-3-subtitle {
|
|
1122
|
+
font-size: 20px;
|
|
1123
|
+
font-weight: 700;
|
|
1124
|
+
color: #333;
|
|
1125
|
+
margin-bottom: 20px;
|
|
1126
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
.size-graph-container {
|
|
1130
|
+
display: flex;
|
|
1131
|
+
align-items: center;
|
|
1132
|
+
justify-content: space-between;
|
|
1133
|
+
width: 100%;
|
|
1134
|
+
margin-bottom: 20px;
|
|
1135
|
+
flex-wrap: wrap;
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
.size-graph-container-left {
|
|
1139
|
+
display: flex;
|
|
1140
|
+
flex-direction: column;
|
|
1141
|
+
width: 50%;
|
|
1142
|
+
justify-content: center;
|
|
1143
|
+
align-items: center;
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
.size-graph-container-right {
|
|
1147
|
+
display: flex;
|
|
1148
|
+
flex-direction: column;
|
|
1149
|
+
width: 50%;
|
|
1150
|
+
justify-content: center;
|
|
1151
|
+
align-items: center;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
@media (max-width: 600px) {
|
|
1155
|
+
.size-graph-container-left,
|
|
1156
|
+
.size-graph-container-right {
|
|
1157
|
+
width: 100%;
|
|
1158
|
+
margin-bottom: 15px;
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
.size-graph {
|
|
1163
|
+
display: flex;
|
|
1164
|
+
align-items: center;
|
|
1165
|
+
position: relative;
|
|
1166
|
+
width: 60%;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
.size-numbers {
|
|
1170
|
+
display: flex;
|
|
1171
|
+
flex-direction: column;
|
|
1172
|
+
align-items: flex-end;
|
|
1173
|
+
margin-right: 10px;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
.size-numbers span {
|
|
1177
|
+
font-size: 14px;
|
|
1178
|
+
color: #666;
|
|
1179
|
+
line-height: 20px;
|
|
1180
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
.indicator {
|
|
1184
|
+
position: relative;
|
|
1185
|
+
width: 20px;
|
|
1186
|
+
height: 100px;
|
|
1187
|
+
background: transparent;
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
.triangle {
|
|
1191
|
+
position: absolute;
|
|
1192
|
+
top: 40%; /* Position at size 6 */
|
|
1193
|
+
left: 0;
|
|
1194
|
+
width: 0;
|
|
1195
|
+
height: 0;
|
|
1196
|
+
border-left: 10px solid transparent;
|
|
1197
|
+
border-right: 10px solid transparent;
|
|
1198
|
+
border-bottom: 10px solid #6a0dad; /* Purple color for the triangle */
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
.size-labels {
|
|
1202
|
+
display: flex;
|
|
1203
|
+
flex-direction: column;
|
|
1204
|
+
justify-content: space-between;
|
|
1205
|
+
margin-left: 10px;
|
|
1206
|
+
height: 100px;
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
.size-labels span {
|
|
1210
|
+
font-size: 14px;
|
|
1211
|
+
color: #666;
|
|
1212
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
.product-image {
|
|
1216
|
+
object-fit: contain;
|
|
1217
|
+
max-width: 100%;
|
|
1218
|
+
max-height: 200px;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
.recommendation-text {
|
|
1222
|
+
font-size: 16px;
|
|
1223
|
+
font-weight: 700;
|
|
1224
|
+
color: #333;
|
|
1225
|
+
margin-bottom: 20px;
|
|
1226
|
+
text-align: left;
|
|
1227
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
.recommendation-text strong {
|
|
1231
|
+
font-weight: 700;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
.step-3 .buttons {
|
|
1235
|
+
display: flex;
|
|
1236
|
+
justify-content: center;
|
|
1237
|
+
gap: 10px;
|
|
1238
|
+
width: 100%;
|
|
1239
|
+
flex-wrap: wrap;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
.step-3 button {
|
|
1243
|
+
padding: 10px 20px;
|
|
1244
|
+
font-size: 16px;
|
|
1245
|
+
border-radius: 4px;
|
|
1246
|
+
cursor: pointer;
|
|
1247
|
+
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
|
|
1248
|
+
transition: background-color 0.3s ease;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
.step-3 .accept-btn {
|
|
1252
|
+
background-color: #001947;
|
|
1253
|
+
color: white;
|
|
1254
|
+
border: 2px solid transparent;
|
|
1255
|
+
flex: 1;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
.step-3 .accept-btn:hover {
|
|
1259
|
+
background-color: #002c71;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.step-3 .measure-again-btn {
|
|
1263
|
+
background-color: white;
|
|
1264
|
+
color: #001947;
|
|
1265
|
+
border: 2px solid #001947;
|
|
1266
|
+
flex: 1;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
.step-3 .measure-again-btn:hover {
|
|
1270
|
+
background-color: #f0f0f0;
|
|
1271
|
+
}
|
|
1272
|
+
`;
|
|
1273
|
+
g([
|
|
1274
|
+
D({ type: String, attribute: "api-key" })
|
|
1275
|
+
], m.prototype, "apiKey", 2);
|
|
1276
|
+
g([
|
|
1277
|
+
D({ type: String })
|
|
1278
|
+
], m.prototype, "culture", 2);
|
|
1279
|
+
g([
|
|
1280
|
+
D({ type: Array })
|
|
1281
|
+
], m.prototype, "skus", 2);
|
|
1282
|
+
g([
|
|
1283
|
+
D({ type: String, attribute: "product-name" })
|
|
1284
|
+
], m.prototype, "productName", 2);
|
|
1285
|
+
g([
|
|
1286
|
+
f()
|
|
1287
|
+
], m.prototype, "showModal", 2);
|
|
1288
|
+
g([
|
|
1289
|
+
f()
|
|
1290
|
+
], m.prototype, "step", 2);
|
|
1291
|
+
g([
|
|
1292
|
+
f()
|
|
1293
|
+
], m.prototype, "height", 2);
|
|
1294
|
+
g([
|
|
1295
|
+
f()
|
|
1296
|
+
], m.prototype, "recommendedSize", 2);
|
|
1297
|
+
g([
|
|
1298
|
+
f()
|
|
1299
|
+
], m.prototype, "measurements", 2);
|
|
1300
|
+
g([
|
|
1301
|
+
f()
|
|
1302
|
+
], m.prototype, "errorMessage", 2);
|
|
1303
|
+
g([
|
|
1304
|
+
f()
|
|
1305
|
+
], m.prototype, "instructionMessage", 2);
|
|
1306
|
+
g([
|
|
1307
|
+
f()
|
|
1308
|
+
], m.prototype, "shouldStartMeasurement", 2);
|
|
1309
|
+
g([
|
|
1310
|
+
f()
|
|
1311
|
+
], m.prototype, "isFetching", 2);
|
|
1312
|
+
m = g([
|
|
1313
|
+
Qt("body-measurer")
|
|
1314
|
+
], m);
|
|
1315
|
+
export {
|
|
1316
|
+
m as BodyMeasurer
|
|
1317
|
+
};
|