xactsize-webcomponents 1.0.28 → 1.0.30
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/dist/body-measurer.d.ts +3 -0
- package/dist/body-measurer.es.js +649 -641
- package/dist/body-measurer.umd.js +375 -387
- package/dist/components/Step1-measurement-form.d.ts +2 -0
- package/dist/generated/locales/pt-BR.d.ts +9 -4
- package/dist/{pt-BR-vVX9MQ4x.mjs → pt-BR-DJDRIzyB.mjs} +9 -4
- package/package.json +1 -1
package/dist/body-measurer.es.js
CHANGED
|
@@ -16,7 +16,7 @@ const wA = (l, A, t) => {
|
|
|
16
16
|
* Copyright 2019 Google LLC
|
|
17
17
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
18
18
|
*/
|
|
19
|
-
const B = globalThis,
|
|
19
|
+
const B = globalThis, dA = B.ShadowRoot && (B.ShadyCSS === void 0 || B.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, uA = Symbol(), TA = /* @__PURE__ */ new WeakMap();
|
|
20
20
|
let ZA = class {
|
|
21
21
|
constructor(A, t, r) {
|
|
22
22
|
if (this._$cssResult$ = !0, r !== uA) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
@@ -25,7 +25,7 @@ let ZA = class {
|
|
|
25
25
|
get styleSheet() {
|
|
26
26
|
let A = this.o;
|
|
27
27
|
const t = this.t;
|
|
28
|
-
if (
|
|
28
|
+
if (dA && A === void 0) {
|
|
29
29
|
const r = t !== void 0 && t.length === 1;
|
|
30
30
|
r && (A = TA.get(t)), A === void 0 && ((this.o = A = new CSSStyleSheet()).replaceSync(this.cssText), r && TA.set(t, A));
|
|
31
31
|
}
|
|
@@ -35,23 +35,23 @@ let ZA = class {
|
|
|
35
35
|
return this.cssText;
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
const
|
|
39
|
-
const t = l.length === 1 ? l[0] : A.reduce((r, e, p) => r + ((
|
|
40
|
-
if (
|
|
41
|
-
if (typeof
|
|
42
|
-
throw Error("Value passed to 'css' function must be a 'css' function result: " +
|
|
38
|
+
const YA = (l) => new ZA(typeof l == "string" ? l : l + "", void 0, uA), N = (l, ...A) => {
|
|
39
|
+
const t = l.length === 1 ? l[0] : A.reduce((r, e, p) => r + ((n) => {
|
|
40
|
+
if (n._$cssResult$ === !0) return n.cssText;
|
|
41
|
+
if (typeof n == "number") return n;
|
|
42
|
+
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.");
|
|
43
43
|
})(e) + l[p + 1], l[0]);
|
|
44
44
|
return new ZA(t, l, uA);
|
|
45
|
-
},
|
|
46
|
-
if (
|
|
45
|
+
}, CA = (l, A) => {
|
|
46
|
+
if (dA) l.adoptedStyleSheets = A.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
|
|
47
47
|
else for (const t of A) {
|
|
48
48
|
const r = document.createElement("style"), e = B.litNonce;
|
|
49
49
|
e !== void 0 && r.setAttribute("nonce", e), r.textContent = t.cssText, l.appendChild(r);
|
|
50
50
|
}
|
|
51
|
-
}, XA =
|
|
51
|
+
}, XA = dA ? (l) => l : (l) => l instanceof CSSStyleSheet ? ((A) => {
|
|
52
52
|
let t = "";
|
|
53
53
|
for (const r of A.cssRules) t += r.cssText;
|
|
54
|
-
return
|
|
54
|
+
return YA(t);
|
|
55
55
|
})(l) : l;
|
|
56
56
|
/**
|
|
57
57
|
* @license
|
|
@@ -86,7 +86,7 @@ const { is: DA, defineProperty: QA, getOwnPropertyDescriptor: gA, getOwnProperty
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
return t;
|
|
89
|
-
} },
|
|
89
|
+
} }, cA = (l, A) => !DA(l, A), sA = { attribute: !0, type: String, converter: _, reflect: !1, useDefault: !1, hasChanged: cA };
|
|
90
90
|
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), U.litPropertyMetadata ?? (U.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
91
91
|
let m = class extends HTMLElement {
|
|
92
92
|
static addInitializer(A) {
|
|
@@ -95,7 +95,7 @@ let m = class extends HTMLElement {
|
|
|
95
95
|
static get observedAttributes() {
|
|
96
96
|
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
|
|
97
97
|
}
|
|
98
|
-
static createProperty(A, t =
|
|
98
|
+
static createProperty(A, t = sA) {
|
|
99
99
|
if (t.state && (t.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(A) && ((t = Object.create(t)).wrapped = !0), this.elementProperties.set(A, t), !t.noAccessor) {
|
|
100
100
|
const r = Symbol(), e = this.getPropertyDescriptor(A, r, t);
|
|
101
101
|
e !== void 0 && QA(this.prototype, A, e);
|
|
@@ -104,16 +104,16 @@ let m = class extends HTMLElement {
|
|
|
104
104
|
static getPropertyDescriptor(A, t, r) {
|
|
105
105
|
const { get: e, set: p } = gA(this.prototype, A) ?? { get() {
|
|
106
106
|
return this[t];
|
|
107
|
-
}, set(
|
|
108
|
-
this[t] =
|
|
107
|
+
}, set(n) {
|
|
108
|
+
this[t] = n;
|
|
109
109
|
} };
|
|
110
|
-
return { get: e, set(
|
|
110
|
+
return { get: e, set(n) {
|
|
111
111
|
const S = e == null ? void 0 : e.call(this);
|
|
112
|
-
p == null || p.call(this,
|
|
112
|
+
p == null || p.call(this, n), this.requestUpdate(A, S, r);
|
|
113
113
|
}, configurable: !0, enumerable: !0 };
|
|
114
114
|
}
|
|
115
115
|
static getPropertyOptions(A) {
|
|
116
|
-
return this.elementProperties.get(A) ??
|
|
116
|
+
return this.elementProperties.get(A) ?? sA;
|
|
117
117
|
}
|
|
118
118
|
static _$Ei() {
|
|
119
119
|
if (this.hasOwnProperty(z("elementProperties"))) return;
|
|
@@ -172,7 +172,7 @@ let m = class extends HTMLElement {
|
|
|
172
172
|
}
|
|
173
173
|
createRenderRoot() {
|
|
174
174
|
const A = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
|
|
175
|
-
return
|
|
175
|
+
return CA(A, this.constructor.elementStyles), A;
|
|
176
176
|
}
|
|
177
177
|
connectedCallback() {
|
|
178
178
|
var A;
|
|
@@ -197,29 +197,29 @@ let m = class extends HTMLElement {
|
|
|
197
197
|
var p;
|
|
198
198
|
const r = this.constructor.elementProperties.get(A), e = this.constructor._$Eu(A, r);
|
|
199
199
|
if (e !== void 0 && r.reflect === !0) {
|
|
200
|
-
const
|
|
201
|
-
this._$Em = A,
|
|
200
|
+
const n = (((p = r.converter) == null ? void 0 : p.toAttribute) !== void 0 ? r.converter : _).toAttribute(t, r.type);
|
|
201
|
+
this._$Em = A, n == null ? this.removeAttribute(e) : this.setAttribute(e, n), this._$Em = null;
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
_$AK(A, t) {
|
|
205
|
-
var p,
|
|
205
|
+
var p, n;
|
|
206
206
|
const r = this.constructor, e = r._$Eh.get(A);
|
|
207
207
|
if (e !== void 0 && this._$Em !== e) {
|
|
208
208
|
const S = r.getPropertyOptions(e), q = typeof S.converter == "function" ? { fromAttribute: S.converter } : ((p = S.converter) == null ? void 0 : p.fromAttribute) !== void 0 ? S.converter : _;
|
|
209
|
-
this._$Em = e, this[e] = q.fromAttribute(t, S.type) ?? ((
|
|
209
|
+
this._$Em = e, this[e] = q.fromAttribute(t, S.type) ?? ((n = this._$Ej) == null ? void 0 : n.get(e)) ?? null, this._$Em = null;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
requestUpdate(A, t, r) {
|
|
213
213
|
var e;
|
|
214
214
|
if (A !== void 0) {
|
|
215
|
-
const p = this.constructor,
|
|
216
|
-
if (r ?? (r = p.getPropertyOptions(A)), !((r.hasChanged ??
|
|
215
|
+
const p = this.constructor, n = this[A];
|
|
216
|
+
if (r ?? (r = p.getPropertyOptions(A)), !((r.hasChanged ?? cA)(n, t) || r.useDefault && r.reflect && n === ((e = this._$Ej) == null ? void 0 : e.get(A)) && !this.hasAttribute(p._$Eu(A, r)))) return;
|
|
217
217
|
this.C(A, t, r);
|
|
218
218
|
}
|
|
219
219
|
this.isUpdatePending === !1 && (this._$ES = this._$EP());
|
|
220
220
|
}
|
|
221
|
-
C(A, t, { useDefault: r, reflect: e, wrapped: p },
|
|
222
|
-
r && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(A) && (this._$Ej.set(A,
|
|
221
|
+
C(A, t, { useDefault: r, reflect: e, wrapped: p }, n) {
|
|
222
|
+
r && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(A) && (this._$Ej.set(A, n ?? t ?? this[A]), p !== !0 || n !== void 0) || (this._$AL.has(A) || (this.hasUpdated || r || (t = void 0), this._$AL.set(A, t)), e === !0 && this._$Em !== A && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(A));
|
|
223
223
|
}
|
|
224
224
|
async _$EP() {
|
|
225
225
|
this.isUpdatePending = !0;
|
|
@@ -239,13 +239,13 @@ let m = class extends HTMLElement {
|
|
|
239
239
|
if (!this.isUpdatePending) return;
|
|
240
240
|
if (!this.hasUpdated) {
|
|
241
241
|
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
|
242
|
-
for (const [p,
|
|
242
|
+
for (const [p, n] of this._$Ep) this[p] = n;
|
|
243
243
|
this._$Ep = void 0;
|
|
244
244
|
}
|
|
245
245
|
const e = this.constructor.elementProperties;
|
|
246
|
-
if (e.size > 0) for (const [p,
|
|
247
|
-
const { wrapped: S } =
|
|
248
|
-
S !== !0 || this._$AL.has(p) || q === void 0 || this.C(p, void 0,
|
|
246
|
+
if (e.size > 0) for (const [p, n] of e) {
|
|
247
|
+
const { wrapped: S } = n, q = this[p];
|
|
248
|
+
S !== !0 || this._$AL.has(p) || q === void 0 || this.C(p, void 0, n, q);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
let A = !1;
|
|
@@ -295,22 +295,22 @@ m.elementStyles = [], m.shadowRootOptions = { mode: "open" }, m[z("elementProper
|
|
|
295
295
|
* Copyright 2017 Google LLC
|
|
296
296
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
297
297
|
*/
|
|
298
|
-
const G = globalThis, $ = G.trustedTypes,
|
|
298
|
+
const G = globalThis, $ = G.trustedTypes, iA = $ ? $.createPolicy("lit-html", { createHTML: (l) => l }) : void 0, NA = "$lit$", K = `lit$${Math.random().toFixed(9).slice(2)}$`, RA = "?" + K, tt = `<${RA}>`, L = document, F = () => L.createComment(""), M = (l) => l === null || typeof l != "object" && typeof l != "function", jA = Array.isArray, lt = (l) => jA(l) || typeof (l == null ? void 0 : l[Symbol.iterator]) == "function", rA = `[
|
|
299
299
|
\f\r]`, H = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, KA = /-->/g, UA = />/g, W = RegExp(`>|${rA}(?:([^\\s"'>=/]+)(${rA}*=${rA}*(?:[^
|
|
300
|
-
\f\r"'\`<>=]|("|')|))|$)`, "g"), WA = /'/g, vA = /"/g, HA = /^(?:script|style|textarea|title)$/i, et = (l) => (A, ...t) => ({ _$litType$: l, strings: A, values: t }),
|
|
300
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), WA = /'/g, vA = /"/g, HA = /^(?:script|style|textarea|title)$/i, et = (l) => (A, ...t) => ({ _$litType$: l, strings: A, values: t }), k = et(1), f = Symbol.for("lit-noChange"), j = Symbol.for("lit-nothing"), OA = /* @__PURE__ */ new WeakMap(), O = L.createTreeWalker(L, 129);
|
|
301
301
|
function zA(l, A) {
|
|
302
|
-
if (!
|
|
303
|
-
return
|
|
302
|
+
if (!jA(l) || !l.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
303
|
+
return iA !== void 0 ? iA.createHTML(A) : A;
|
|
304
304
|
}
|
|
305
305
|
const rt = (l, A) => {
|
|
306
306
|
const t = l.length - 1, r = [];
|
|
307
|
-
let e, p = A === 2 ? "<svg>" : A === 3 ? "<math>" : "",
|
|
307
|
+
let e, p = A === 2 ? "<svg>" : A === 3 ? "<math>" : "", n = H;
|
|
308
308
|
for (let S = 0; S < t; S++) {
|
|
309
309
|
const q = l[S];
|
|
310
|
-
let u,
|
|
311
|
-
for (; x < q.length && (
|
|
312
|
-
const
|
|
313
|
-
p +=
|
|
310
|
+
let u, J, y = -1, x = 0;
|
|
311
|
+
for (; x < q.length && (n.lastIndex = x, J = n.exec(q), J !== null); ) x = n.lastIndex, n === H ? J[1] === "!--" ? n = KA : J[1] !== void 0 ? n = UA : J[2] !== void 0 ? (HA.test(J[2]) && (e = RegExp("</" + J[2], "g")), n = W) : J[3] !== void 0 && (n = W) : n === W ? J[0] === ">" ? (n = e ?? H, y = -1) : J[1] === void 0 ? y = -2 : (y = n.lastIndex - J[2].length, u = J[1], n = J[3] === void 0 ? W : J[3] === '"' ? vA : WA) : n === vA || n === WA ? n = W : n === KA || n === UA ? n = H : (n = W, e = void 0);
|
|
312
|
+
const i = n === W && l[S + 1].startsWith("/>") ? " " : "";
|
|
313
|
+
p += n === H ? q + tt : y >= 0 ? (r.push(u), q.slice(0, y) + NA + q.slice(y) + K + i) : q + K + (y === -2 ? S : i);
|
|
314
314
|
}
|
|
315
315
|
return [zA(l, p + (l[t] || "<?>") + (A === 2 ? "</svg>" : A === 3 ? "</math>" : "")), r];
|
|
316
316
|
};
|
|
@@ -318,30 +318,30 @@ class h {
|
|
|
318
318
|
constructor({ strings: A, _$litType$: t }, r) {
|
|
319
319
|
let e;
|
|
320
320
|
this.parts = [];
|
|
321
|
-
let p = 0,
|
|
322
|
-
const S = A.length - 1, q = this.parts, [u,
|
|
321
|
+
let p = 0, n = 0;
|
|
322
|
+
const S = A.length - 1, q = this.parts, [u, J] = rt(A, t);
|
|
323
323
|
if (this.el = h.createElement(u, r), O.currentNode = this.el.content, t === 2 || t === 3) {
|
|
324
|
-
const
|
|
325
|
-
|
|
324
|
+
const y = this.el.content.firstChild;
|
|
325
|
+
y.replaceWith(...y.childNodes);
|
|
326
326
|
}
|
|
327
327
|
for (; (e = O.nextNode()) !== null && q.length < S; ) {
|
|
328
328
|
if (e.nodeType === 1) {
|
|
329
|
-
if (e.hasAttributes()) for (const
|
|
330
|
-
const x =
|
|
331
|
-
q.push({ type: 1, index: p, name: Q[2], strings:
|
|
332
|
-
} else
|
|
329
|
+
if (e.hasAttributes()) for (const y of e.getAttributeNames()) if (y.endsWith(NA)) {
|
|
330
|
+
const x = J[n++], i = e.getAttribute(y).split(K), Q = /([.?@])?(.*)/.exec(x);
|
|
331
|
+
q.push({ type: 1, index: p, name: Q[2], strings: i, ctor: Q[1] === "." ? nt : Q[1] === "?" ? Vt : Q[1] === "@" ? qt : lA }), e.removeAttribute(y);
|
|
332
|
+
} else y.startsWith(K) && (q.push({ type: 6, index: p }), e.removeAttribute(y));
|
|
333
333
|
if (HA.test(e.tagName)) {
|
|
334
|
-
const
|
|
334
|
+
const y = e.textContent.split(K), x = y.length - 1;
|
|
335
335
|
if (x > 0) {
|
|
336
336
|
e.textContent = $ ? $.emptyScript : "";
|
|
337
|
-
for (let
|
|
338
|
-
e.append(
|
|
337
|
+
for (let i = 0; i < x; i++) e.append(y[i], F()), O.nextNode(), q.push({ type: 2, index: ++p });
|
|
338
|
+
e.append(y[x], F());
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
} else if (e.nodeType === 8) if (e.data === RA) q.push({ type: 2, index: p });
|
|
342
342
|
else {
|
|
343
|
-
let
|
|
344
|
-
for (; (
|
|
343
|
+
let y = -1;
|
|
344
|
+
for (; (y = e.data.indexOf(K, y + 1)) !== -1; ) q.push({ type: 7, index: p }), y += K.length - 1;
|
|
345
345
|
}
|
|
346
346
|
p++;
|
|
347
347
|
}
|
|
@@ -352,9 +352,9 @@ class h {
|
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
354
|
function Z(l, A, t = l, r) {
|
|
355
|
-
var
|
|
355
|
+
var n, S;
|
|
356
356
|
if (A === f) return A;
|
|
357
|
-
let e = r !== void 0 ? (
|
|
357
|
+
let e = r !== void 0 ? (n = t._$Co) == null ? void 0 : n[r] : t._$Cl;
|
|
358
358
|
const p = M(A) ? void 0 : A._$litDirective$;
|
|
359
359
|
return (e == null ? void 0 : e.constructor) !== p && ((S = e == null ? void 0 : e._$AO) == null || S.call(e, !1), p === void 0 ? e = void 0 : (e = new p(l), e._$AT(l, t, r)), r !== void 0 ? (t._$Co ?? (t._$Co = []))[r] = e : t._$Cl = e), e !== void 0 && (A = Z(l, e._$AS(l, A.values), e, r)), A;
|
|
360
360
|
}
|
|
@@ -371,13 +371,13 @@ class pt {
|
|
|
371
371
|
u(A) {
|
|
372
372
|
const { el: { content: t }, parts: r } = this._$AD, e = ((A == null ? void 0 : A.creationScope) ?? L).importNode(t, !0);
|
|
373
373
|
O.currentNode = e;
|
|
374
|
-
let p = O.nextNode(),
|
|
374
|
+
let p = O.nextNode(), n = 0, S = 0, q = r[0];
|
|
375
375
|
for (; q !== void 0; ) {
|
|
376
|
-
if (
|
|
376
|
+
if (n === q.index) {
|
|
377
377
|
let u;
|
|
378
378
|
q.type === 2 ? u = new w(p, p.nextSibling, this, A) : q.type === 1 ? u = new q.ctor(p, q.name, q.strings, this, A) : q.type === 6 && (u = new St(p, this, A)), this._$AV.push(u), q = r[++S];
|
|
379
379
|
}
|
|
380
|
-
|
|
380
|
+
n !== (q == null ? void 0 : q.index) && (p = O.nextNode(), n++);
|
|
381
381
|
}
|
|
382
382
|
return O.currentNode = L, e;
|
|
383
383
|
}
|
|
@@ -392,7 +392,7 @@ class w {
|
|
|
392
392
|
return ((A = this._$AM) == null ? void 0 : A._$AU) ?? this._$Cv;
|
|
393
393
|
}
|
|
394
394
|
constructor(A, t, r, e) {
|
|
395
|
-
this.type = 2, this._$AH =
|
|
395
|
+
this.type = 2, this._$AH = j, this._$AN = void 0, this._$AA = A, this._$AB = t, this._$AM = r, this.options = e, this._$Cv = (e == null ? void 0 : e.isConnected) ?? !0;
|
|
396
396
|
}
|
|
397
397
|
get parentNode() {
|
|
398
398
|
let A = this._$AA.parentNode;
|
|
@@ -406,7 +406,7 @@ class w {
|
|
|
406
406
|
return this._$AB;
|
|
407
407
|
}
|
|
408
408
|
_$AI(A, t = this) {
|
|
409
|
-
A = Z(this, A, t), M(A) ? A ===
|
|
409
|
+
A = Z(this, A, t), M(A) ? A === j || A == null || A === "" ? (this._$AH !== j && this._$AR(), this._$AH = j) : A !== this._$AH && A !== f && this._(A) : A._$litType$ !== void 0 ? this.$(A) : A.nodeType !== void 0 ? this.T(A) : lt(A) ? this.k(A) : this._(A);
|
|
410
410
|
}
|
|
411
411
|
O(A) {
|
|
412
412
|
return this._$AA.parentNode.insertBefore(A, this._$AB);
|
|
@@ -415,15 +415,15 @@ class w {
|
|
|
415
415
|
this._$AH !== A && (this._$AR(), this._$AH = this.O(A));
|
|
416
416
|
}
|
|
417
417
|
_(A) {
|
|
418
|
-
this._$AH !==
|
|
418
|
+
this._$AH !== j && M(this._$AH) ? this._$AA.nextSibling.data = A : this.T(L.createTextNode(A)), this._$AH = A;
|
|
419
419
|
}
|
|
420
420
|
$(A) {
|
|
421
421
|
var p;
|
|
422
422
|
const { values: t, _$litType$: r } = A, e = typeof r == "number" ? this._$AC(A) : (r.el === void 0 && (r.el = h.createElement(zA(r.h, r.h[0]), this.options)), r);
|
|
423
423
|
if (((p = this._$AH) == null ? void 0 : p._$AD) === e) this._$AH.p(t);
|
|
424
424
|
else {
|
|
425
|
-
const
|
|
426
|
-
|
|
425
|
+
const n = new pt(e, this), S = n.u(this.options);
|
|
426
|
+
n.p(t), this.T(S), this._$AH = n;
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
429
|
_$AC(A) {
|
|
@@ -431,7 +431,7 @@ class w {
|
|
|
431
431
|
return t === void 0 && OA.set(A.strings, t = new h(A)), t;
|
|
432
432
|
}
|
|
433
433
|
k(A) {
|
|
434
|
-
|
|
434
|
+
jA(this._$AH) || (this._$AH = [], this._$AR());
|
|
435
435
|
const t = this._$AH;
|
|
436
436
|
let r, e = 0;
|
|
437
437
|
for (const p of A) e === t.length ? t.push(r = new w(this.O(F()), this.O(F()), this, this.options)) : r = t[e], r._$AI(p), e++;
|
|
@@ -457,37 +457,37 @@ class lA {
|
|
|
457
457
|
return this._$AM._$AU;
|
|
458
458
|
}
|
|
459
459
|
constructor(A, t, r, e, p) {
|
|
460
|
-
this.type = 1, this._$AH =
|
|
460
|
+
this.type = 1, this._$AH = j, this._$AN = void 0, this.element = A, this.name = t, this._$AM = e, this.options = p, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = j;
|
|
461
461
|
}
|
|
462
462
|
_$AI(A, t = this, r, e) {
|
|
463
463
|
const p = this.strings;
|
|
464
|
-
let
|
|
465
|
-
if (p === void 0) A = Z(this, A, t, 0),
|
|
464
|
+
let n = !1;
|
|
465
|
+
if (p === void 0) A = Z(this, A, t, 0), n = !M(A) || A !== this._$AH && A !== f, n && (this._$AH = A);
|
|
466
466
|
else {
|
|
467
467
|
const S = A;
|
|
468
468
|
let q, u;
|
|
469
|
-
for (A = p[0], q = 0; q < p.length - 1; q++) u = Z(this, S[r + q], t, q), u === f && (u = this._$AH[q]),
|
|
469
|
+
for (A = p[0], q = 0; q < p.length - 1; q++) u = Z(this, S[r + q], t, q), u === f && (u = this._$AH[q]), n || (n = !M(u) || u !== this._$AH[q]), u === j ? A = j : A !== j && (A += (u ?? "") + p[q + 1]), this._$AH[q] = u;
|
|
470
470
|
}
|
|
471
|
-
|
|
471
|
+
n && !e && this.j(A);
|
|
472
472
|
}
|
|
473
473
|
j(A) {
|
|
474
|
-
A ===
|
|
474
|
+
A === j ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, A ?? "");
|
|
475
475
|
}
|
|
476
476
|
}
|
|
477
|
-
class
|
|
477
|
+
class nt extends lA {
|
|
478
478
|
constructor() {
|
|
479
479
|
super(...arguments), this.type = 3;
|
|
480
480
|
}
|
|
481
481
|
j(A) {
|
|
482
|
-
this.element[this.name] = A ===
|
|
482
|
+
this.element[this.name] = A === j ? void 0 : A;
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
|
-
class
|
|
485
|
+
class Vt extends lA {
|
|
486
486
|
constructor() {
|
|
487
487
|
super(...arguments), this.type = 4;
|
|
488
488
|
}
|
|
489
489
|
j(A) {
|
|
490
|
-
this.element.toggleAttribute(this.name, !!A && A !==
|
|
490
|
+
this.element.toggleAttribute(this.name, !!A && A !== j);
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
493
|
class qt extends lA {
|
|
@@ -495,8 +495,8 @@ class qt extends lA {
|
|
|
495
495
|
super(A, t, r, e, p), this.type = 5;
|
|
496
496
|
}
|
|
497
497
|
_$AI(A, t = this) {
|
|
498
|
-
if ((A = Z(this, A, t, 0) ??
|
|
499
|
-
const r = this._$AH, e = A ===
|
|
498
|
+
if ((A = Z(this, A, t, 0) ?? j) === f) return;
|
|
499
|
+
const r = this._$AH, e = A === j && r !== j || A.capture !== r.capture || A.once !== r.once || A.passive !== r.passive, p = A !== j && (r === j || e);
|
|
500
500
|
e && this.element.removeEventListener(this.name, this, r), p && this.element.addEventListener(this.name, this, A), this._$AH = A;
|
|
501
501
|
}
|
|
502
502
|
handleEvent(A) {
|
|
@@ -559,8 +559,8 @@ let X = class extends m {
|
|
|
559
559
|
};
|
|
560
560
|
var mA;
|
|
561
561
|
X._$litElement$ = !0, X.finalized = !0, (mA = b.litElementHydrateSupport) == null || mA.call(b, { LitElement: X });
|
|
562
|
-
const
|
|
563
|
-
|
|
562
|
+
const nA = b.litElementPolyfillSupport;
|
|
563
|
+
nA == null || nA({ LitElement: X });
|
|
564
564
|
(b.litElementVersions ?? (b.litElementVersions = [])).push("4.2.0");
|
|
565
565
|
/**
|
|
566
566
|
* @license
|
|
@@ -577,31 +577,31 @@ const R = (l) => (A, t) => {
|
|
|
577
577
|
* Copyright 2017 Google LLC
|
|
578
578
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
579
579
|
*/
|
|
580
|
-
const
|
|
580
|
+
const yt = { attribute: !0, type: String, converter: _, reflect: !1, hasChanged: cA }, dt = (l = yt, A, t) => {
|
|
581
581
|
const { kind: r, metadata: e } = t;
|
|
582
582
|
let p = globalThis.litPropertyMetadata.get(e);
|
|
583
583
|
if (p === void 0 && globalThis.litPropertyMetadata.set(e, p = /* @__PURE__ */ new Map()), r === "setter" && ((l = Object.create(l)).wrapped = !0), p.set(t.name, l), r === "accessor") {
|
|
584
|
-
const { name:
|
|
584
|
+
const { name: n } = t;
|
|
585
585
|
return { set(S) {
|
|
586
586
|
const q = A.get.call(this);
|
|
587
|
-
A.set.call(this, S), this.requestUpdate(
|
|
587
|
+
A.set.call(this, S), this.requestUpdate(n, q, l);
|
|
588
588
|
}, init(S) {
|
|
589
|
-
return S !== void 0 && this.C(
|
|
589
|
+
return S !== void 0 && this.C(n, void 0, l, S), S;
|
|
590
590
|
} };
|
|
591
591
|
}
|
|
592
592
|
if (r === "setter") {
|
|
593
|
-
const { name:
|
|
593
|
+
const { name: n } = t;
|
|
594
594
|
return function(S) {
|
|
595
|
-
const q = this[
|
|
596
|
-
A.call(this, S), this.requestUpdate(
|
|
595
|
+
const q = this[n];
|
|
596
|
+
A.call(this, S), this.requestUpdate(n, q, l);
|
|
597
597
|
};
|
|
598
598
|
}
|
|
599
599
|
throw Error("Unsupported decorator location: " + r);
|
|
600
600
|
};
|
|
601
|
-
function
|
|
602
|
-
return (A, t) => typeof t == "object" ?
|
|
603
|
-
const
|
|
604
|
-
return e.constructor.createProperty(p, r),
|
|
601
|
+
function c(l) {
|
|
602
|
+
return (A, t) => typeof t == "object" ? dt(l, A, t) : ((r, e, p) => {
|
|
603
|
+
const n = e.hasOwnProperty(p);
|
|
604
|
+
return e.constructor.createProperty(p, r), n ? Object.getOwnPropertyDescriptor(e, p) : void 0;
|
|
605
605
|
})(l, A, t);
|
|
606
606
|
}
|
|
607
607
|
/**
|
|
@@ -609,8 +609,8 @@ function j(l) {
|
|
|
609
609
|
* Copyright 2017 Google LLC
|
|
610
610
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
611
611
|
*/
|
|
612
|
-
function
|
|
613
|
-
return
|
|
612
|
+
function T(l) {
|
|
613
|
+
return c({ ...l, state: !0, attribute: !1 });
|
|
614
614
|
}
|
|
615
615
|
/**
|
|
616
616
|
* @license
|
|
@@ -635,18 +635,18 @@ const ut = (l) => typeof l != "string" && "strTag" in l, GA = (l, A, t) => {
|
|
|
635
635
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
636
636
|
*/
|
|
637
637
|
const FA = (l) => ut(l) ? GA(l.strings, l.values) : l;
|
|
638
|
-
let
|
|
639
|
-
function
|
|
638
|
+
let V = FA, bA = !1;
|
|
639
|
+
function ct(l) {
|
|
640
640
|
if (bA)
|
|
641
641
|
throw new Error("lit-localize can only be configured once");
|
|
642
|
-
|
|
642
|
+
V = l, bA = !0;
|
|
643
643
|
}
|
|
644
644
|
/**
|
|
645
645
|
* @license
|
|
646
646
|
* Copyright 2021 Google LLC
|
|
647
647
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
648
648
|
*/
|
|
649
|
-
class
|
|
649
|
+
class jt {
|
|
650
650
|
constructor(A) {
|
|
651
651
|
this.__litLocalizeEventHandler = (t) => {
|
|
652
652
|
t.detail.status === "ready" && this.host.requestUpdate();
|
|
@@ -659,13 +659,13 @@ class ct {
|
|
|
659
659
|
window.removeEventListener(SA, this.__litLocalizeEventHandler);
|
|
660
660
|
}
|
|
661
661
|
}
|
|
662
|
-
const kt = (l) => l.addController(new
|
|
662
|
+
const kt = (l) => l.addController(new jt(l)), Jt = kt;
|
|
663
663
|
/**
|
|
664
664
|
* @license
|
|
665
665
|
* Copyright 2021 Google LLC
|
|
666
666
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
667
667
|
*/
|
|
668
|
-
const
|
|
668
|
+
const Y = () => (l, A) => (l.addInitializer(Jt), l);
|
|
669
669
|
/**
|
|
670
670
|
* @license
|
|
671
671
|
* Copyright 2020 Google LLC
|
|
@@ -689,23 +689,23 @@ class MA {
|
|
|
689
689
|
* Copyright 2014 Travis Webb
|
|
690
690
|
* SPDX-License-Identifier: MIT
|
|
691
691
|
*/
|
|
692
|
-
const
|
|
692
|
+
const s = [];
|
|
693
693
|
for (let l = 0; l < 256; l++)
|
|
694
|
-
|
|
694
|
+
s[l] = (l >> 4 & 15).toString(16) + (l & 15).toString(16);
|
|
695
695
|
function Tt(l) {
|
|
696
|
-
let A = 0, t = 8997, r = 0, e = 33826, p = 0,
|
|
696
|
+
let A = 0, t = 8997, r = 0, e = 33826, p = 0, n = 40164, S = 0, q = 52210;
|
|
697
697
|
for (let u = 0; u < l.length; u++)
|
|
698
|
-
t ^= l.charCodeAt(u), A = t * 435, r = e * 435, p =
|
|
699
|
-
return
|
|
698
|
+
t ^= l.charCodeAt(u), A = t * 435, r = e * 435, p = n * 435, S = q * 435, p += t << 8, S += e << 8, r += A >>> 16, t = A & 65535, p += r >>> 16, e = r & 65535, q = S + (p >>> 16) & 65535, n = p & 65535;
|
|
699
|
+
return s[q >> 8] + s[q & 255] + s[n >> 8] + s[n & 255] + s[e >> 8] + s[e & 255] + s[t >> 8] + s[t & 255];
|
|
700
700
|
}
|
|
701
701
|
/**
|
|
702
702
|
* @license
|
|
703
703
|
* Copyright 2020 Google LLC
|
|
704
704
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
705
705
|
*/
|
|
706
|
-
const Xt = "", xt = "h",
|
|
707
|
-
function
|
|
708
|
-
return (A ? xt :
|
|
706
|
+
const Xt = "", xt = "h", st = "s";
|
|
707
|
+
function it(l, A) {
|
|
708
|
+
return (A ? xt : st) + Tt(typeof l == "string" ? l : l.join(Xt));
|
|
709
709
|
}
|
|
710
710
|
/**
|
|
711
711
|
* @license
|
|
@@ -731,7 +731,7 @@ function Kt(l, A, t) {
|
|
|
731
731
|
let p = LA.get(e);
|
|
732
732
|
return p === void 0 && (p = e.values, LA.set(e, p)), {
|
|
733
733
|
...e,
|
|
734
|
-
values: p.map((
|
|
734
|
+
values: p.map((n) => A.values[n])
|
|
735
735
|
};
|
|
736
736
|
}
|
|
737
737
|
}
|
|
@@ -741,20 +741,20 @@ function Kt(l, A, t) {
|
|
|
741
741
|
function Ut(l) {
|
|
742
742
|
const A = typeof l == "string" ? l : l.strings;
|
|
743
743
|
let t = fA.get(A);
|
|
744
|
-
return t === void 0 && (t =
|
|
744
|
+
return t === void 0 && (t = it(A, typeof l != "string" && !("strTag" in l)), fA.set(A, t)), t;
|
|
745
745
|
}
|
|
746
746
|
/**
|
|
747
747
|
* @license
|
|
748
748
|
* Copyright 2021 Google LLC
|
|
749
749
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
750
750
|
*/
|
|
751
|
-
function
|
|
751
|
+
function VA(l) {
|
|
752
752
|
window.dispatchEvent(new CustomEvent(SA, { detail: l }));
|
|
753
753
|
}
|
|
754
754
|
let AA = "", qA, hA, tA, aA, EA, v = new MA();
|
|
755
755
|
v.resolve();
|
|
756
756
|
let g = 0;
|
|
757
|
-
const Wt = (l) => (
|
|
757
|
+
const Wt = (l) => (ct((A, t) => Kt(EA, A, t)), AA = hA = l.sourceLocale, tA = new Set(l.targetLocales), tA.add(l.sourceLocale), aA = l.loadLocale, { getLocale: vt, setLocale: Ot }), vt = () => AA, Ot = (l) => {
|
|
758
758
|
if (l === (qA ?? AA))
|
|
759
759
|
return v.promise;
|
|
760
760
|
if (!tA || !aA)
|
|
@@ -763,15 +763,15 @@ const Wt = (l) => (jt((A, t) => Kt(EA, A, t)), AA = hA = l.sourceLocale, tA = ne
|
|
|
763
763
|
throw new Error("Invalid locale code");
|
|
764
764
|
g++;
|
|
765
765
|
const A = g;
|
|
766
|
-
return qA = l, v.settled && (v = new MA()),
|
|
766
|
+
return qA = l, v.settled && (v = new MA()), VA({ status: "loading", loadingLocale: l }), (l === hA ? (
|
|
767
767
|
// We could switch to the source locale synchronously, but we prefer to
|
|
768
768
|
// queue it on a microtask so that switching locales is consistently
|
|
769
769
|
// asynchronous.
|
|
770
770
|
Promise.resolve({ templates: void 0 })
|
|
771
771
|
) : aA(l)).then((r) => {
|
|
772
|
-
g === A && (AA = l, qA = void 0, EA = r.templates,
|
|
772
|
+
g === A && (AA = l, qA = void 0, EA = r.templates, VA({ status: "ready", readyLocale: l }), v.resolve());
|
|
773
773
|
}, (r) => {
|
|
774
|
-
g === A && (
|
|
774
|
+
g === A && (VA({
|
|
775
775
|
status: "error",
|
|
776
776
|
errorLocale: l,
|
|
777
777
|
errorMessage: r.toString()
|
|
@@ -825,15 +825,15 @@ const Pt = ft(class extends ot {
|
|
|
825
825
|
const t = l.element.classList;
|
|
826
826
|
for (const p of this.st) p in A || (t.remove(p), this.st.delete(p));
|
|
827
827
|
for (const p in A) {
|
|
828
|
-
const
|
|
829
|
-
|
|
828
|
+
const n = !!A[p];
|
|
829
|
+
n === this.st.has(p) || (e = this.nt) != null && e.has(p) || (n ? (t.add(p), this.st.add(p)) : (t.remove(p), this.st.delete(p)));
|
|
830
830
|
}
|
|
831
831
|
return f;
|
|
832
832
|
}
|
|
833
833
|
});
|
|
834
|
-
var mt = Object.defineProperty, Zt = Object.getOwnPropertyDescriptor,
|
|
835
|
-
for (var e = r > 1 ? void 0 : r ? Zt(A, t) : A, p = l.length - 1,
|
|
836
|
-
(
|
|
834
|
+
var mt = Object.defineProperty, Zt = Object.getOwnPropertyDescriptor, C = (l, A, t, r) => {
|
|
835
|
+
for (var e = r > 1 ? void 0 : r ? Zt(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
836
|
+
(n = l[p]) && (e = (r ? n(A, t, e) : n(e)) || e);
|
|
837
837
|
return r && e && mt(A, t, e), e;
|
|
838
838
|
};
|
|
839
839
|
let o = class extends X {
|
|
@@ -841,7 +841,7 @@ let o = class extends X {
|
|
|
841
841
|
super(...arguments), this.type = "button", this.label = "", this.disabled = !1, this.variant = "contained";
|
|
842
842
|
}
|
|
843
843
|
render() {
|
|
844
|
-
return
|
|
844
|
+
return k`
|
|
845
845
|
<div class="button-wrapper">
|
|
846
846
|
<button
|
|
847
847
|
class=${this.variant}
|
|
@@ -859,7 +859,7 @@ o.styles = N`
|
|
|
859
859
|
:host {
|
|
860
860
|
display: block;
|
|
861
861
|
width: 100%;
|
|
862
|
-
--brand-primary-fallback: #
|
|
862
|
+
--brand-primary-fallback: #000;
|
|
863
863
|
--text-inverse-fallback: #FFFFFF;
|
|
864
864
|
}
|
|
865
865
|
|
|
@@ -877,7 +877,7 @@ o.styles = N`
|
|
|
877
877
|
button {
|
|
878
878
|
width: 100%;
|
|
879
879
|
padding: 14px 28px;
|
|
880
|
-
border-radius:
|
|
880
|
+
border-radius: 12px;
|
|
881
881
|
font-size: 15px;
|
|
882
882
|
font-weight: 600;
|
|
883
883
|
font-family: "Lato", sans-serif;
|
|
@@ -894,14 +894,14 @@ o.styles = N`
|
|
|
894
894
|
|
|
895
895
|
/* Contained (azul cheio) */
|
|
896
896
|
button.contained {
|
|
897
|
-
background-color: var(--brand-primary, var(--brand-primary-fallback, #
|
|
897
|
+
background-color: var(--brand-primary, var(--brand-primary-fallback, #0000));
|
|
898
898
|
color: var(--text-inverse, var(--text-inverse-fallback, #FFFFFF));
|
|
899
899
|
border: none;
|
|
900
900
|
box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.15);
|
|
901
901
|
}
|
|
902
902
|
|
|
903
903
|
button.contained:hover {
|
|
904
|
-
background-color: #
|
|
904
|
+
background-color: #333333; /* gris oscuro */
|
|
905
905
|
}
|
|
906
906
|
|
|
907
907
|
/* Outlined */
|
|
@@ -936,452 +936,295 @@ o.styles = N`
|
|
|
936
936
|
}
|
|
937
937
|
}
|
|
938
938
|
`;
|
|
939
|
-
|
|
940
|
-
|
|
939
|
+
C([
|
|
940
|
+
c({ type: String })
|
|
941
941
|
], o.prototype, "type", 2);
|
|
942
|
-
|
|
943
|
-
|
|
942
|
+
C([
|
|
943
|
+
c({ type: String })
|
|
944
944
|
], o.prototype, "label", 2);
|
|
945
|
-
|
|
946
|
-
|
|
945
|
+
C([
|
|
946
|
+
c({ type: Boolean })
|
|
947
947
|
], o.prototype, "disabled", 2);
|
|
948
|
-
|
|
949
|
-
|
|
948
|
+
C([
|
|
949
|
+
c({ type: String })
|
|
950
950
|
], o.prototype, "variant", 2);
|
|
951
|
-
o =
|
|
951
|
+
o = C([
|
|
952
952
|
R("xact-button")
|
|
953
953
|
], o);
|
|
954
954
|
var Nt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, kA = (l, A, t, r) => {
|
|
955
|
-
for (var e = r > 1 ? void 0 : r ? Rt(A, t) : A, p = l.length - 1,
|
|
956
|
-
(
|
|
955
|
+
for (var e = r > 1 ? void 0 : r ? Rt(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
956
|
+
(n = l[p]) && (e = (r ? n(A, t, e) : n(e)) || e);
|
|
957
957
|
return r && e && Nt(A, t, e), e;
|
|
958
958
|
};
|
|
959
959
|
let E = class extends X {
|
|
960
960
|
constructor() {
|
|
961
|
-
super(...arguments), this.height = 0
|
|
962
|
-
}
|
|
963
|
-
render() {
|
|
964
|
-
return T`
|
|
965
|
-
<div class="component-content">
|
|
966
|
-
<div class="header-section">
|
|
967
|
-
<h2 class="header-text">${n("Before you begin")}</h2>
|
|
968
|
-
<p class="description-text">
|
|
969
|
-
${n("Maintain an upright posture with your arms away from your body.")}
|
|
970
|
-
</p>
|
|
971
|
-
</div>
|
|
972
|
-
|
|
973
|
-
<div class="main-section">
|
|
974
|
-
<div class="tips-section">
|
|
975
|
-
<h3>${n("Tips")}</h3>
|
|
976
|
-
<div class="tip-item">
|
|
977
|
-
<span class="tip-title">${n("Good Lighting")}</span>
|
|
978
|
-
<p class="tip-text">${n("Choose a well-lit area where you can see your image clearly.")}</p>
|
|
979
|
-
</div>
|
|
980
|
-
<div class="tip-item">
|
|
981
|
-
<span class="tip-title">${n("Clean Background")}</span>
|
|
982
|
-
<p class="tip-text">${n("Position yourself against a plain background.")}</p>
|
|
983
|
-
</div>
|
|
984
|
-
<div class="tip-item">
|
|
985
|
-
<span class="tip-title">${n("Clothes")}</span>
|
|
986
|
-
<p class="tip-text">${n("Wear clothes that you usually wear on a daily basis.")}</p>
|
|
987
|
-
</div>
|
|
988
|
-
<div class="tip-item">
|
|
989
|
-
<span class="tip-title">${n("Framing")}</span>
|
|
990
|
-
<p class="tip-text">${n("Make sure your entire body is visible. The app will guide you.")}</p>
|
|
991
|
-
</div>
|
|
992
|
-
|
|
993
|
-
<form>
|
|
994
|
-
<label for="height-input" class="height-label">
|
|
995
|
-
${n("To get started, please tell us your height.")}
|
|
996
|
-
</label>
|
|
997
|
-
<input id="height-input" type="number" min="50" max="300"
|
|
998
|
-
placeholder=${n("Height (cm)")} required tabindex="1"/>
|
|
999
|
-
</form>
|
|
1000
|
-
</div>
|
|
1001
|
-
|
|
1002
|
-
<div class="images-section">
|
|
1003
|
-
<svg width="300" height="245" viewBox="0 0 300 245" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1004
|
-
<path d="M162.404 20.4343H136.498V72.1681H162.404V20.4343Z" fill="#6D4A44"/>
|
|
1005
|
-
<path d="M136.932 59.7042C137.111 56.7025 134.822 54.1243 131.82 53.9458C128.818 53.7673 126.24 56.0565 126.062 59.0582C126.055 59.1711 126.058 59.2815 126.058 59.3928L124.039 94.2659C123.861 97.2584 126.143 99.8282 129.136 100.007C132.128 100.184 134.698 97.9027 134.876 94.9102L136.896 60.0371C136.909 59.9267 136.926 59.8171 136.932 59.7042Z" fill="#F3A396"/>
|
|
1006
|
-
<mask id="mask0_2344_2604" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="124" y="53" width="13" height="48">
|
|
1007
|
-
<path d="M136.932 59.7042C137.111 56.7025 134.822 54.1243 131.82 53.9458C128.818 53.7673 126.24 56.0565 126.062 59.0582C126.055 59.1711 126.058 59.2815 126.058 59.3928L124.039 94.2659C123.861 97.2584 126.143 99.8282 129.136 100.007C132.128 100.184 134.698 97.9027 134.876 94.9102L136.896 60.0371C136.909 59.9267 136.926 59.8171 136.932 59.7042Z" fill="white"/>
|
|
1008
|
-
</mask>
|
|
1009
|
-
<g mask="url(#mask0_2344_2604)">
|
|
1010
|
-
<path d="M138.204 70.4743C138.204 70.4743 128.75 69.6556 123.107 62.3022C123.107 62.3022 124.147 50.6029 133.085 52.4395C142.023 54.2771 138.204 70.4743 138.204 70.4743Z" fill="#F7E6D5"/>
|
|
1011
|
-
</g>
|
|
1012
|
-
<path d="M134.919 94.4893C135.097 91.4877 132.808 88.9095 129.806 88.731C126.805 88.5524 124.226 90.8417 124.048 93.8433C124.041 93.9562 124.045 94.0667 124.045 94.1771L123.549 131.903L129.384 131.406L134.882 94.8214C134.895 94.711 134.912 94.6022 134.919 94.4893Z" fill="#F3A396"/>
|
|
1013
|
-
<path d="M127.448 128.38C125.338 127.785 124.524 128.711 123.862 129.98L123.867 129.981C123.865 129.984 123.863 129.987 123.861 129.99C120.107 136.961 119.557 140.72 118.696 143.533C117.789 146.491 118.801 151.911 120.051 151.807C121.3 151.702 121.169 149.335 120.874 147.594C120.579 145.852 122.125 143.274 123.483 140.942C124.839 138.615 125.307 139.49 125.307 139.49L125.488 141.923C125.556 142.824 126.291 143.466 127.063 143.259C127.658 143.106 127.975 142.544 128.028 141.932L129.389 131.219C129.387 131.218 129.7 129.014 127.448 128.38Z" fill="#F3A396"/>
|
|
1014
|
-
<path d="M161.996 59.7042C161.818 56.7025 164.107 54.1243 167.108 53.9458C170.11 53.7673 172.688 56.0565 172.867 59.0582C172.873 59.1711 172.87 59.2815 172.87 59.3928L174.889 94.2659C175.067 97.2584 172.785 99.8282 169.793 100.007C166.8 100.184 164.23 97.9027 164.052 94.9102L162.033 60.0371C162.019 59.9267 162.003 59.8171 161.996 59.7042Z" fill="#F3A396"/>
|
|
1015
|
-
<mask id="mask1_2344_2604" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="161" y="53" width="14" height="48">
|
|
1016
|
-
<path d="M161.996 59.7042C161.818 56.7025 164.107 54.1243 167.108 53.9458C170.11 53.7673 172.688 56.0565 172.867 59.0582C172.873 59.1711 172.87 59.2815 172.87 59.3928L174.889 94.2659C175.067 97.2584 172.785 99.8282 169.793 100.007C166.8 100.184 164.23 97.9027 164.052 94.9102L162.033 60.0371C162.019 59.9267 162.003 59.8171 161.996 59.7042Z" fill="white"/>
|
|
1017
|
-
</mask>
|
|
1018
|
-
<g mask="url(#mask1_2344_2604)">
|
|
1019
|
-
<path d="M160.725 70.4743C160.725 70.4743 170.178 69.6556 175.821 62.3022C175.821 62.3022 174.782 50.6029 165.844 52.4395C156.906 54.2771 160.725 70.4743 160.725 70.4743Z" fill="#F7E6D5"/>
|
|
1020
|
-
</g>
|
|
1021
|
-
<path d="M164.008 94.4893C163.829 91.4877 166.119 88.9095 169.12 88.731C172.122 88.5524 174.7 90.8417 174.879 93.8433C174.885 93.9562 174.882 94.0667 174.882 94.1771L175.378 131.903L169.543 131.406L164.045 94.8214C164.031 94.711 164.014 94.6022 164.008 94.4893Z" fill="#F3A396"/>
|
|
1022
|
-
<path d="M180.234 143.533C179.372 140.72 178.822 136.962 175.069 129.99C175.067 129.987 175.065 129.984 175.062 129.981L175.067 129.98C174.405 128.711 173.591 127.786 171.481 128.38C169.229 129.014 169.542 131.218 169.542 131.218L170.902 141.931C170.956 142.543 171.273 143.105 171.868 143.258C172.64 143.466 173.375 142.823 173.442 141.923L173.624 139.489C173.624 139.489 174.092 138.615 175.447 140.941C176.807 143.273 178.352 145.852 178.056 147.593C177.761 149.334 177.63 151.702 178.879 151.806C180.129 151.912 181.141 146.492 180.234 143.533Z" fill="#F3A396"/>
|
|
1023
|
-
<path d="M149.396 46.7827C138.982 46.7827 128.748 54.6318 128.748 54.6318L136 75.7339C137.155 79.0951 137.306 82.7203 136.435 86.1661L133.953 95.9807H165.719L162.7 86.4759C161.629 82.9661 161.669 79.2113 162.815 75.7256L170.54 54.9474C170.54 54.9474 160.432 46.7827 149.396 46.7827Z" fill="#F7E6D5"/>
|
|
1024
|
-
<path d="M134.93 50.8313C134.93 50.8313 145.083 64.5683 165.278 51.4997C165.278 51.4997 158.77 47.0176 149.365 46.6605C142.83 46.4114 134.93 50.8313 134.93 50.8313Z" fill="#F3A396"/>
|
|
1025
|
-
<path d="M133.868 69.5197L131.244 61.8865" stroke="#EFE3D8" stroke-width="1.04569" stroke-miterlimit="10"/>
|
|
1026
|
-
<path d="M165.141 69.5288L167.767 61.8865" stroke="#EFE3D8" stroke-width="1.04569" stroke-miterlimit="10"/>
|
|
1027
|
-
<path d="M165.721 95.9817H150.106H149.573H133.957C133.957 95.9817 127.833 105.494 129.387 122.399H149.573H150.106H170.291C171.352 104.097 165.721 95.9817 165.721 95.9817Z" fill="#242930"/>
|
|
1028
|
-
<path d="M138.972 174.134C144.349 174.134 148.706 169.775 148.706 164.4V121.207C148.706 115.831 144.348 111.473 138.972 111.473C133.596 111.473 129.238 115.832 129.238 121.207V164.4C129.238 169.775 133.597 174.134 138.972 174.134Z" fill="#242930"/>
|
|
1029
|
-
<path d="M134.605 216.849L135.36 228.943H144.237V216.849H134.605Z" fill="#F3A396"/>
|
|
1030
|
-
<path d="M145.192 227.725L145.307 235.072H117.658V234.857C117.658 233.165 118.631 231.624 120.159 230.897L133.707 225.491C134.194 225.259 134.82 225.269 135.191 225.661C136.943 227.508 138.865 230.518 144.21 227.252C144.597 227.016 145.106 227.279 145.192 227.725Z" fill="#131321"/>
|
|
1031
|
-
<path d="M117.661 237H145.311V235.072H117.661V237Z" fill="white"/>
|
|
1032
|
-
<path d="M138.972 155.314C133.596 155.314 129.238 159.672 129.238 165.048V220.255H148.707V165.048C148.706 159.672 144.349 155.314 138.972 155.314Z" fill="#242930"/>
|
|
1033
|
-
<path d="M148.71 211.719H128.131V220.255H148.71V211.719Z" fill="#21262D"/>
|
|
1034
|
-
<path d="M160.554 174.134C165.931 174.134 170.288 169.775 170.288 164.4V121.207C170.288 115.831 165.93 111.473 160.554 111.473C155.178 111.473 150.82 115.832 150.82 121.207V164.4C150.82 169.775 155.179 174.134 160.554 174.134Z" fill="#242930"/>
|
|
1035
|
-
<path d="M165.395 216.849L164.641 228.943H155.764V216.849H165.395Z" fill="#F3A396"/>
|
|
1036
|
-
<path d="M154.807 227.725L154.691 235.072H182.341V234.857C182.341 233.165 181.367 231.624 179.84 230.897L166.292 225.491C165.805 225.259 165.178 225.269 164.807 225.661C163.056 227.508 161.134 230.518 155.789 227.252C155.401 227.016 154.893 227.279 154.807 227.725Z" fill="#131321"/>
|
|
1037
|
-
<path d="M182.341 235.072H154.691V237H182.341V235.072Z" fill="white"/>
|
|
1038
|
-
<path d="M160.554 155.314C155.178 155.314 150.82 159.672 150.82 165.048V220.255H170.289V165.048C170.289 159.672 165.931 155.314 160.554 155.314Z" fill="#242930"/>
|
|
1039
|
-
<path d="M171.399 211.719H150.82V220.255H171.399V211.719Z" fill="#21262D"/>
|
|
1040
|
-
<path d="M149.367 52.5674C146.712 52.5674 144.561 50.416 144.561 47.7615V38.436H154.172V47.7607C154.172 50.4152 152.02 52.5674 149.367 52.5674Z" fill="#F3A396"/>
|
|
1041
|
-
<path d="M143.75 37.7584C143.75 37.7584 145.894 42.0529 148.861 42.9206C149.654 43.1523 150.5 43.0734 151.264 42.7604C152.381 42.3029 153.806 41.0466 154.171 39.8152V37.1133C154.171 37.1133 149.137 41.6236 143.75 37.7584Z" fill="#1A1A1A"/>
|
|
1042
|
-
<path d="M149.425 34.7768C156.588 34.7768 162.396 28.7826 162.396 21.3885C162.396 13.9944 156.588 8.00024 149.425 8.00024C142.261 8.00024 136.453 13.9944 136.453 21.3885C136.453 28.7826 142.261 34.7768 149.425 34.7768Z" fill="#6D4A44"/>
|
|
1043
|
-
<path d="M159.489 32.5309C161.678 34.1476 165.466 26.7942 163.332 25.0521C161.198 23.3109 160.028 26.4994 160.028 26.4994L159.469 28.6466L158.881 31.5744V32.2287L159.489 32.5309Z" fill="#F3A396"/>
|
|
1044
|
-
<path d="M162.643 27.2678C162.643 27.2678 161.056 26.7381 159.93 29.0755" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1045
|
-
<path d="M160.701 27.9324C160.701 27.9324 162.428 28.8557 161.287 30.2448" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1046
|
-
<path d="M160.27 21.432C160.27 26.0395 159.629 30.0159 158.989 32.8374C158.362 35.5999 156.599 37.5313 154.108 39.0848L153.655 39.3679C151.019 41.012 147.613 41.051 144.937 39.4659C142.237 37.8675 140.347 35.761 139.765 32.7959C138.707 27.4037 138.592 21.4311 138.592 21.4311C138.592 21.4311 137.586 9.79986 149.277 10.0257C160.967 10.2524 160.27 21.432 160.27 21.432Z" fill="#F3A396"/>
|
|
1047
|
-
<path d="M139.414 32.5307C137.224 34.1474 133.436 26.794 135.57 25.0519C137.704 23.3107 139.073 26.8388 139.073 26.8388L139.461 28.7618L139.962 31.5567V32.2351L139.414 32.5307Z" fill="#F3A396"/>
|
|
1048
|
-
<path d="M136.262 27.2678C136.262 27.2678 137.848 26.7381 138.975 29.0755" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1049
|
-
<path d="M138.206 27.9324C138.206 27.9324 136.479 28.8557 137.62 30.2448" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1050
|
-
<path d="M148.387 28.2681V29.5468C148.387 29.6871 148.414 29.8216 148.463 29.9445C148.657 30.4286 149.214 30.6602 149.717 30.5257L150.318 30.2376" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1051
|
-
<path d="M145.084 25.7994C145.084 26.3266 144.656 26.7542 144.129 26.7542C143.601 26.7542 143.174 26.3266 143.174 25.7994C143.174 25.2721 143.601 24.8445 144.129 24.8445C144.656 24.8445 145.084 25.2721 145.084 25.7994Z" fill="#1A1A1A"/>
|
|
1052
|
-
<path d="M154.888 25.7994C154.888 26.3266 154.461 26.7542 153.933 26.7542C153.406 26.7542 152.979 26.3266 152.979 25.7994C152.979 25.2721 153.406 24.8445 153.933 24.8445C154.461 24.8445 154.888 25.2721 154.888 25.7994Z" fill="#1A1A1A"/>
|
|
1053
|
-
<path d="M145.533 32.0991C145.533 32.0991 147.097 33.0764 149.16 33.0764C151.223 33.0764 152.787 32.0991 152.787 32.0991" stroke="#D26665" stroke-width="0.514843" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1054
|
-
<path d="M140.502 24.0441C140.502 24.0441 143.455 23.1307 146.382 22.9763C146.382 22.9763 145.465 21.3928 143.628 21.8196C141.791 22.2472 140.502 24.0441 140.502 24.0441Z" fill="#6D4A44"/>
|
|
1055
|
-
<path d="M157.516 24.0441C157.516 24.0441 154.563 23.1307 151.637 22.9763C151.637 22.9763 152.553 21.3928 154.39 21.8196C156.227 22.2472 157.516 24.0441 157.516 24.0441Z" fill="#6D4A44"/>
|
|
1056
|
-
<path d="M161.634 21.4461C161.634 21.4461 160.281 10.861 151.087 9.6321C151.087 9.6321 143.751 9.07661 141.199 12.6852C140.1 13.5637 138.553 15.6669 137.967 18.5864C137.064 23.0926 138.204 22.895 138.204 22.895C138.204 22.895 141.851 21.3937 142.414 16.3719C144.587 18.5582 150.922 22.1792 161.634 21.4461Z" fill="#6D4A44"/>
|
|
1057
|
-
</svg>
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
</div>
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
</div>
|
|
1066
|
-
|
|
1067
|
-
<xact-button class="xact-button buttons"
|
|
1068
|
-
@click=${() => {
|
|
961
|
+
super(...arguments), this.height = 0, this.handleStart = () => {
|
|
1069
962
|
var A;
|
|
1070
|
-
const l = this.shadowRoot.querySelector(
|
|
963
|
+
const l = this.shadowRoot.querySelector(
|
|
964
|
+
"#height-input"
|
|
965
|
+
);
|
|
1071
966
|
if (l != null && l.value) {
|
|
1072
967
|
const t = parseInt(l.value);
|
|
1073
968
|
this.height = t, (A = this.onStartMeasurement) == null || A.call(this, t);
|
|
1074
969
|
}
|
|
1075
|
-
}
|
|
1076
|
-
label="${n("Let's go!")}"
|
|
1077
|
-
></xact-button>
|
|
1078
|
-
|
|
1079
|
-
`;
|
|
970
|
+
};
|
|
1080
971
|
}
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
.
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
gap: 12px;
|
|
1097
|
-
width: 100%;
|
|
1098
|
-
max-width: 960px;
|
|
1099
|
-
}
|
|
1100
|
-
|
|
1101
|
-
.header-section {
|
|
1102
|
-
text-align: left;
|
|
1103
|
-
}
|
|
1104
|
-
|
|
1105
|
-
.header-text {
|
|
1106
|
-
font-size: 24px;
|
|
1107
|
-
font-weight: 700;
|
|
1108
|
-
color: #000;
|
|
1109
|
-
margin-bottom: 8px;
|
|
1110
|
-
line-height: 1.2;
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
.description-text {
|
|
1114
|
-
font-size: 16px;
|
|
1115
|
-
font-weight: 400;
|
|
1116
|
-
color: #333;
|
|
1117
|
-
line-height: 1.6;
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
.main-section {
|
|
1121
|
-
display: flex;
|
|
1122
|
-
flex-direction: row;
|
|
1123
|
-
gap: 24px;
|
|
1124
|
-
}
|
|
972
|
+
render() {
|
|
973
|
+
return k`
|
|
974
|
+
<div class="card">
|
|
975
|
+
<div class="pill">XactSize x Canada Goose</div>
|
|
976
|
+
<h2 class="title">${V("Let's find your perfect size")}</h2>
|
|
977
|
+
<p class="subtitle">${V("Curated luxury. Perfect fit.")}</p>
|
|
978
|
+
|
|
979
|
+
<div class="tips">
|
|
980
|
+
<h4>${V("Tips")}</h4>
|
|
981
|
+
|
|
982
|
+
${this.renderTip(V("Good Lighting"), V("Avoid backlighting"))}
|
|
983
|
+
${this.renderTip(V("Clean Background"), V("Use a plain wall"))}
|
|
984
|
+
${this.renderTip(V("Clothes"), V("Form-fitting gear"))}
|
|
985
|
+
${this.renderTip(V("Framing"), V("Full body shot"))}
|
|
986
|
+
</div>
|
|
1125
987
|
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
988
|
+
<div class="input-group">
|
|
989
|
+
<input
|
|
990
|
+
id="height-input"
|
|
991
|
+
class="height-input"
|
|
992
|
+
type="number"
|
|
993
|
+
min="50"
|
|
994
|
+
max="300"
|
|
995
|
+
placeholder=${V("Enter your height (cm)")}
|
|
996
|
+
required
|
|
997
|
+
tabindex="1"
|
|
998
|
+
/>
|
|
999
|
+
</div>
|
|
1132
1000
|
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
}
|
|
1001
|
+
<div class="cta">
|
|
1002
|
+
<xact-button
|
|
1003
|
+
label="${V("Let's get started! →")}"
|
|
1004
|
+
style="--brand-primary: #000;"
|
|
1005
|
+
@click=${this.handleStart}
|
|
1006
|
+
></xact-button>
|
|
1007
|
+
</div>
|
|
1138
1008
|
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1009
|
+
<p class="disclaimer">
|
|
1010
|
+
${V("By using Xactsize, you agree to our Terms and Privacy Policy.")}
|
|
1011
|
+
</p>
|
|
1012
|
+
</div>
|
|
1013
|
+
`;
|
|
1014
|
+
}
|
|
1015
|
+
renderTip(l, A) {
|
|
1016
|
+
return k`
|
|
1017
|
+
<div class="tip">
|
|
1018
|
+
<span class="check">
|
|
1019
|
+
<svg viewBox="0 0 24 24" aria-hidden="true">
|
|
1020
|
+
<path d="M5 13l4 4L19 7" />
|
|
1021
|
+
</svg>
|
|
1022
|
+
</span>
|
|
1023
|
+
<div>
|
|
1024
|
+
<strong>${l}</strong>
|
|
1025
|
+
<span>${A}</span>
|
|
1026
|
+
</div>
|
|
1027
|
+
</div>
|
|
1028
|
+
`;
|
|
1029
|
+
}
|
|
1030
|
+
};
|
|
1031
|
+
E.styles = N`
|
|
1032
|
+
:host {
|
|
1033
|
+
display: block;
|
|
1034
|
+
font-family: 'Inter', 'Helvetica', Arial, sans-serif;
|
|
1035
|
+
color: #111;
|
|
1036
|
+
}
|
|
1144
1037
|
|
|
1145
|
-
|
|
1038
|
+
.card {
|
|
1039
|
+
max-width: 560px;
|
|
1040
|
+
margin: 0 auto;
|
|
1041
|
+
padding: 28px 28px 32px;
|
|
1042
|
+
background: #ffffff;
|
|
1043
|
+
border-radius: 24px;
|
|
1044
|
+
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
|
|
1146
1045
|
display: flex;
|
|
1147
1046
|
flex-direction: column;
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
width: 100%;
|
|
1047
|
+
gap: 20px;
|
|
1048
|
+
box-sizing: border-box;
|
|
1151
1049
|
}
|
|
1152
1050
|
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1051
|
+
.pill {
|
|
1052
|
+
align-self: center;
|
|
1053
|
+
padding: 8px 16px;
|
|
1054
|
+
border-radius: 999px;
|
|
1055
|
+
background: #f1f2f3;
|
|
1056
|
+
font-size: 11px;
|
|
1057
|
+
font-weight: 700;
|
|
1058
|
+
letter-spacing: 0.08em;
|
|
1059
|
+
color: #555;
|
|
1060
|
+
text-transform: uppercase;
|
|
1157
1061
|
}
|
|
1158
1062
|
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
border-radius: 6px;
|
|
1166
|
-
box-sizing: border-box;
|
|
1167
|
-
font-family: "Lato", sans-serif;
|
|
1168
|
-
text-align: start;
|
|
1063
|
+
.title {
|
|
1064
|
+
text-align: center;
|
|
1065
|
+
font-size: 26px;
|
|
1066
|
+
font-weight: 700;
|
|
1067
|
+
margin: 0;
|
|
1068
|
+
line-height: 1.2;
|
|
1169
1069
|
}
|
|
1170
1070
|
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1071
|
+
.subtitle {
|
|
1072
|
+
text-align: center;
|
|
1073
|
+
color: #666;
|
|
1074
|
+
margin: 0;
|
|
1075
|
+
font-size: 14px;
|
|
1076
|
+
line-height: 1.5;
|
|
1174
1077
|
}
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
|
-
.xact-button {
|
|
1178
|
-
width: 100%;
|
|
1179
|
-
max-width: 150px;
|
|
1180
|
-
display: flex;
|
|
1181
|
-
justify-content: center;
|
|
1182
|
-
align-items: center;
|
|
1183
|
-
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
.tip-item {
|
|
1187
|
-
margin-bottom: 4px;
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
.tip-title {
|
|
1191
|
-
font-weight: bold;
|
|
1192
|
-
display: inline-block;
|
|
1193
|
-
margin-bottom: 4px;
|
|
1194
|
-
font-size: 14px;
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
|
-
.tip-text {
|
|
1198
|
-
margin-top: 0;
|
|
1199
|
-
font-size: 12px;
|
|
1200
|
-
}
|
|
1201
|
-
|
|
1202
|
-
.buttons {
|
|
1203
|
-
display: flex;
|
|
1204
|
-
flex-direction: column;
|
|
1205
|
-
gap: 12px;
|
|
1206
|
-
align-items: center;
|
|
1207
|
-
justify-content: center;
|
|
1208
|
-
width: 100%;
|
|
1209
|
-
max-width: 200px;
|
|
1210
|
-
margin: 0 auto;
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
/* Ajuste da responsividade para mobile */
|
|
1214
|
-
@media (max-width: 754px) {
|
|
1215
|
-
.main-section {
|
|
1216
|
-
flex-direction: column;
|
|
1217
|
-
gap: 5px; /* menor gap */
|
|
1218
|
-
align-items: center;
|
|
1219
|
-
}
|
|
1220
|
-
|
|
1221
|
-
.images-section {
|
|
1222
|
-
order: -1;
|
|
1223
|
-
width: 100%;
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
.images-section svg {
|
|
1227
|
-
width: 80%; /* reduzir para não quebrar botão */
|
|
1228
|
-
max-width: 180px; /* altura menor */
|
|
1229
|
-
height: auto;
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
.tips-section {
|
|
1233
|
-
width: 100%;
|
|
1234
|
-
gap: 6px;
|
|
1235
|
-
align-items: flex-start; /* alinhar à esquerda */
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
form {
|
|
1239
|
-
align-items: flex-start; /* alinhar labels e inputs à esquerda */
|
|
1240
|
-
width: 100%;
|
|
1241
|
-
}
|
|
1242
1078
|
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
label {
|
|
1250
|
-
text-align: left;
|
|
1251
|
-
font-size: 14px;
|
|
1252
|
-
}
|
|
1079
|
+
.tips {
|
|
1080
|
+
display: grid;
|
|
1081
|
+
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
1082
|
+
gap: 12px 16px;
|
|
1083
|
+
}
|
|
1253
1084
|
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1085
|
+
.tips h4 {
|
|
1086
|
+
grid-column: 1 / -1;
|
|
1087
|
+
margin: 4px 0;
|
|
1088
|
+
font-size: 12px;
|
|
1089
|
+
letter-spacing: 0.08em;
|
|
1090
|
+
text-transform: uppercase;
|
|
1091
|
+
}
|
|
1257
1092
|
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1093
|
+
.tip {
|
|
1094
|
+
display: flex;
|
|
1095
|
+
gap: 12px;
|
|
1096
|
+
align-items: center;
|
|
1097
|
+
}
|
|
1262
1098
|
|
|
1263
|
-
.description-text {
|
|
1264
|
-
font-size: 14px;
|
|
1265
|
-
text-align: center;
|
|
1266
|
-
}
|
|
1267
1099
|
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1100
|
+
.check {
|
|
1101
|
+
width: 16px;
|
|
1102
|
+
height: 16px;
|
|
1103
|
+
flex-shrink: 0;
|
|
1104
|
+
display: flex;
|
|
1105
|
+
align-items: center;
|
|
1106
|
+
justify-content: center;
|
|
1107
|
+
animation: checkAppear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
|
|
1108
|
+
}
|
|
1272
1109
|
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1110
|
+
.check svg {
|
|
1111
|
+
width: 16px;
|
|
1112
|
+
height: 16px;
|
|
1113
|
+
stroke: #000;
|
|
1114
|
+
stroke-width: 2.5;
|
|
1115
|
+
fill: none;
|
|
1116
|
+
stroke-linecap: round;
|
|
1117
|
+
stroke-linejoin: round;
|
|
1118
|
+
}
|
|
1278
1119
|
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1120
|
+
.tip:nth-child(2) .check {
|
|
1121
|
+
animation-delay: 0.1s;
|
|
1122
|
+
}
|
|
1282
1123
|
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
max-width: 100%;
|
|
1287
|
-
margin-top: 12px;
|
|
1288
|
-
}
|
|
1289
|
-
}
|
|
1124
|
+
.tip:nth-child(3) .check {
|
|
1125
|
+
animation-delay: 0.2s;
|
|
1126
|
+
}
|
|
1290
1127
|
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
gap: 1px;
|
|
1295
|
-
}
|
|
1128
|
+
.tip:nth-child(4) .check {
|
|
1129
|
+
animation-delay: 0.3s;
|
|
1130
|
+
}
|
|
1296
1131
|
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
}
|
|
1132
|
+
.tip:nth-child(5) .check {
|
|
1133
|
+
animation-delay: 0.4s;
|
|
1134
|
+
}
|
|
1301
1135
|
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1136
|
+
@keyframes checkAppear {
|
|
1137
|
+
0% {
|
|
1138
|
+
transform: scale(0);
|
|
1139
|
+
opacity: 0;
|
|
1140
|
+
}
|
|
1141
|
+
100% {
|
|
1142
|
+
transform: scale(1);
|
|
1143
|
+
opacity: 1;
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1307
1146
|
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1147
|
+
.tip strong {
|
|
1148
|
+
display: block;
|
|
1149
|
+
font-size: 14px;
|
|
1150
|
+
margin-bottom: 2px;
|
|
1312
1151
|
}
|
|
1313
|
-
|
|
1152
|
+
|
|
1153
|
+
.tip span {
|
|
1154
|
+
display: block;
|
|
1314
1155
|
font-size: 12px;
|
|
1156
|
+
color: #777;
|
|
1157
|
+
line-height: 1.4;
|
|
1315
1158
|
}
|
|
1316
|
-
}
|
|
1317
|
-
h3 {
|
|
1318
|
-
font-size: 14px;
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
.xact-button {
|
|
1325
|
-
max-width: 100%;
|
|
1326
|
-
}
|
|
1327
1159
|
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
.description-text {
|
|
1334
|
-
font-size: 12px;
|
|
1335
|
-
text-align: center;
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
.tip-title {
|
|
1339
|
-
font-size: 12px;
|
|
1340
|
-
text-align: left;
|
|
1341
|
-
}
|
|
1160
|
+
.input-group {
|
|
1161
|
+
margin-top: 4px;
|
|
1162
|
+
}
|
|
1342
1163
|
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1164
|
+
.height-input {
|
|
1165
|
+
width: 100%;
|
|
1166
|
+
padding: 14px 16px;
|
|
1167
|
+
border: 1px solid #e0e0e0;
|
|
1168
|
+
border-radius: 12px;
|
|
1169
|
+
background: #f7f7f7;
|
|
1170
|
+
font-size: 14px;
|
|
1171
|
+
color: #111;
|
|
1172
|
+
box-sizing: border-box;
|
|
1173
|
+
}
|
|
1348
1174
|
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1175
|
+
.height-input:focus {
|
|
1176
|
+
outline: none;
|
|
1177
|
+
border-color: #000;
|
|
1178
|
+
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
|
|
1179
|
+
background: #fff;
|
|
1180
|
+
}
|
|
1352
1181
|
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
margin-top: 1px;
|
|
1358
|
-
}
|
|
1359
|
-
}
|
|
1182
|
+
.cta {
|
|
1183
|
+
margin-top: 8px;
|
|
1184
|
+
width: 100%;
|
|
1185
|
+
}
|
|
1360
1186
|
|
|
1187
|
+
.disclaimer {
|
|
1188
|
+
margin: 0;
|
|
1189
|
+
text-align: center;
|
|
1190
|
+
color: #9a9a9a;
|
|
1191
|
+
font-size: 11px;
|
|
1192
|
+
line-height: 1.4;
|
|
1193
|
+
}
|
|
1361
1194
|
|
|
1362
|
-
|
|
1195
|
+
@media (max-width: 600px) {
|
|
1196
|
+
.card {
|
|
1197
|
+
padding: 22px 18px 26px;
|
|
1198
|
+
}
|
|
1199
|
+
.title {
|
|
1200
|
+
font-size: 22px;
|
|
1201
|
+
}
|
|
1202
|
+
.tips {
|
|
1203
|
+
grid-template-columns: 1fr;
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1363
1206
|
`;
|
|
1364
1207
|
kA([
|
|
1365
|
-
|
|
1208
|
+
c({ type: Number })
|
|
1366
1209
|
], E.prototype, "height", 2);
|
|
1367
1210
|
kA([
|
|
1368
|
-
|
|
1211
|
+
c({ type: Function })
|
|
1369
1212
|
], E.prototype, "onStartMeasurement", 2);
|
|
1370
1213
|
E = kA([
|
|
1371
1214
|
R("xact-step-one"),
|
|
1372
|
-
|
|
1215
|
+
Y()
|
|
1373
1216
|
], E);
|
|
1374
1217
|
var Ht = Object.getOwnPropertyDescriptor, zt = (l, A, t, r) => {
|
|
1375
|
-
for (var e = r > 1 ? void 0 : r ? Ht(A, t) : A, p = l.length - 1,
|
|
1376
|
-
(
|
|
1218
|
+
for (var e = r > 1 ? void 0 : r ? Ht(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
1219
|
+
(n = l[p]) && (e = n(e) || e);
|
|
1377
1220
|
return e;
|
|
1378
1221
|
};
|
|
1379
|
-
let
|
|
1222
|
+
let yA = class extends X {
|
|
1380
1223
|
render() {
|
|
1381
|
-
return
|
|
1224
|
+
return k`
|
|
1382
1225
|
<footer class="modal-footer">
|
|
1383
1226
|
<span>
|
|
1384
|
-
<span class="powered-by">${
|
|
1227
|
+
<span class="powered-by">${V("Powered by")}</span>
|
|
1385
1228
|
<a tabindex="0" class="xactsize-link" href="http://xactsize.com" target="_blank" rel="noopener">
|
|
1386
1229
|
<svg class="xactsize-icon" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1387
1230
|
<path d="M5.82764 11.3511L11.5446 7.80768V11.3511H5.82764Z" fill="url(#paint0_linear_2010_6151)"/>
|
|
@@ -1424,7 +1267,7 @@ let dA = class extends X {
|
|
|
1424
1267
|
`;
|
|
1425
1268
|
}
|
|
1426
1269
|
};
|
|
1427
|
-
|
|
1270
|
+
yA.styles = N`
|
|
1428
1271
|
.modal-footer {
|
|
1429
1272
|
text-align: center;
|
|
1430
1273
|
font-size: 12px;
|
|
@@ -1461,13 +1304,13 @@ dA.styles = N`
|
|
|
1461
1304
|
outline-offset: 2px;
|
|
1462
1305
|
}
|
|
1463
1306
|
`;
|
|
1464
|
-
|
|
1307
|
+
yA = zt([
|
|
1465
1308
|
R("xact-footer"),
|
|
1466
|
-
|
|
1467
|
-
],
|
|
1309
|
+
Y()
|
|
1310
|
+
], yA);
|
|
1468
1311
|
var Gt = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, D = (l, A, t, r) => {
|
|
1469
|
-
for (var e = r > 1 ? void 0 : r ? Ft(A, t) : A, p = l.length - 1,
|
|
1470
|
-
(
|
|
1312
|
+
for (var e = r > 1 ? void 0 : r ? Ft(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
1313
|
+
(n = l[p]) && (e = (r ? n(A, t, e) : n(e)) || e);
|
|
1471
1314
|
return r && e && Gt(A, t, e), e;
|
|
1472
1315
|
};
|
|
1473
1316
|
let P = class extends X {
|
|
@@ -1475,7 +1318,7 @@ let P = class extends X {
|
|
|
1475
1318
|
super(...arguments), this.productName = "", this.recommendedSize = "";
|
|
1476
1319
|
}
|
|
1477
1320
|
render() {
|
|
1478
|
-
return
|
|
1321
|
+
return k`
|
|
1479
1322
|
<div class="image-container">
|
|
1480
1323
|
<!-- Imagem da roupa como SVG exportado -->
|
|
1481
1324
|
<svg class="product-image" width="180" height="240" viewBox="0 0 180 240" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -1514,21 +1357,21 @@ let P = class extends X {
|
|
|
1514
1357
|
|
|
1515
1358
|
|
|
1516
1359
|
|
|
1517
|
-
<h2 class="title">${
|
|
1360
|
+
<h2 class="title">${V("Your ideal size")}</h2>
|
|
1518
1361
|
<p class="description">
|
|
1519
|
-
${
|
|
1362
|
+
${V("Based on your measurements and the exact dimensions of the garment, the size recommendation provided is the most accurate for an ideal fit.")}
|
|
1520
1363
|
</p>
|
|
1521
1364
|
|
|
1522
1365
|
<div class="buttons">
|
|
1523
1366
|
<xact-button
|
|
1524
1367
|
variant="outlined"
|
|
1525
1368
|
@click=${this.onRetry}
|
|
1526
|
-
label=${
|
|
1369
|
+
label=${V("Measure Again")}>
|
|
1527
1370
|
</xact-button>
|
|
1528
1371
|
|
|
1529
1372
|
<xact-button
|
|
1530
1373
|
@click=${this.onAccept}
|
|
1531
|
-
label=${
|
|
1374
|
+
label=${V("Accept Suggestion")}>
|
|
1532
1375
|
</xact-button>
|
|
1533
1376
|
</div>
|
|
1534
1377
|
`;
|
|
@@ -1610,24 +1453,24 @@ P.styles = N`
|
|
|
1610
1453
|
}
|
|
1611
1454
|
`;
|
|
1612
1455
|
D([
|
|
1613
|
-
|
|
1456
|
+
c({ type: String })
|
|
1614
1457
|
], P.prototype, "productName", 2);
|
|
1615
1458
|
D([
|
|
1616
|
-
|
|
1459
|
+
c({ type: String })
|
|
1617
1460
|
], P.prototype, "recommendedSize", 2);
|
|
1618
1461
|
D([
|
|
1619
|
-
|
|
1462
|
+
c({ type: Function })
|
|
1620
1463
|
], P.prototype, "onAccept", 2);
|
|
1621
1464
|
D([
|
|
1622
|
-
|
|
1465
|
+
c({ type: Function })
|
|
1623
1466
|
], P.prototype, "onRetry", 2);
|
|
1624
1467
|
P = D([
|
|
1625
1468
|
R("xact-step-result"),
|
|
1626
|
-
|
|
1469
|
+
Y()
|
|
1627
1470
|
], P);
|
|
1628
1471
|
var Mt = Object.defineProperty, ht = Object.getOwnPropertyDescriptor, JA = (l, A, t, r) => {
|
|
1629
|
-
for (var e = r > 1 ? void 0 : r ? ht(A, t) : A, p = l.length - 1,
|
|
1630
|
-
(
|
|
1472
|
+
for (var e = r > 1 ? void 0 : r ? ht(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
1473
|
+
(n = l[p]) && (e = (r ? n(A, t, e) : n(e)) || e);
|
|
1631
1474
|
return r && e && Mt(A, t, e), e;
|
|
1632
1475
|
};
|
|
1633
1476
|
let I = class extends X {
|
|
@@ -1635,33 +1478,34 @@ let I = class extends X {
|
|
|
1635
1478
|
super(...arguments), this.height = 0;
|
|
1636
1479
|
}
|
|
1637
1480
|
render() {
|
|
1638
|
-
|
|
1481
|
+
const l = Array.from({ length: 24 }, (A, t) => t);
|
|
1482
|
+
return k`
|
|
1639
1483
|
<div class="component-content">
|
|
1640
1484
|
<div class="header-section">
|
|
1641
|
-
<h2 class="header-text">${
|
|
1485
|
+
<h2 class="header-text">${V("Before you begin")}</h2>
|
|
1642
1486
|
<p class="description-text">
|
|
1643
|
-
${
|
|
1487
|
+
${V("To ensure accurate measurements, we'll take two scans: one from the front and one from the side. Maintain an upright posture with your arms slightly away from your body and stretched out. In the side view, stand up straight with your arms straight and aligned with your body.")}
|
|
1644
1488
|
</p>
|
|
1645
1489
|
</div>
|
|
1646
1490
|
|
|
1647
1491
|
<div class="main-section">
|
|
1648
1492
|
<div class="tips-section">
|
|
1649
|
-
<h3>${
|
|
1493
|
+
<h3>${V("Tips")}</h3>
|
|
1650
1494
|
<div class="tip-item">
|
|
1651
|
-
<span class="tip-title">${
|
|
1652
|
-
<p class="tip-text">${
|
|
1495
|
+
<span class="tip-title">${V("Good Lighting")}</span>
|
|
1496
|
+
<p class="tip-text">${V("Choose a well-lit area where you can see your image clearly.")}</p>
|
|
1653
1497
|
</div>
|
|
1654
1498
|
<div class="tip-item">
|
|
1655
|
-
<span class="tip-title">${
|
|
1656
|
-
<p class="tip-text">${
|
|
1499
|
+
<span class="tip-title">${V("Clean Background")}</span>
|
|
1500
|
+
<p class="tip-text">${V("Position yourself against a plain background.")}</p>
|
|
1657
1501
|
</div>
|
|
1658
1502
|
<div class="tip-item">
|
|
1659
|
-
<span class="tip-title">${
|
|
1660
|
-
<p class="tip-text">${
|
|
1503
|
+
<span class="tip-title">${V("Clothes")}</span>
|
|
1504
|
+
<p class="tip-text">${V("Wear clothes that you usually wear on a daily basis.")}</p>
|
|
1661
1505
|
</div>
|
|
1662
1506
|
<div class="tip-item">
|
|
1663
|
-
<span class="tip-title">${
|
|
1664
|
-
<p class="tip-text">${
|
|
1507
|
+
<span class="tip-title">${V("Framing")}</span>
|
|
1508
|
+
<p class="tip-text">${V("Make sure your entire body is visible. The app will guide you.")}</p>
|
|
1665
1509
|
</div>
|
|
1666
1510
|
</div>
|
|
1667
1511
|
|
|
@@ -1770,12 +1614,21 @@ let I = class extends X {
|
|
|
1770
1614
|
</div>
|
|
1771
1615
|
<xact-button class="buttons"
|
|
1772
1616
|
@click=${() => {
|
|
1773
|
-
var
|
|
1774
|
-
(
|
|
1617
|
+
var A;
|
|
1618
|
+
(A = this.onStep2advancement) == null || A.call(this);
|
|
1775
1619
|
}}
|
|
1776
|
-
label="${
|
|
1620
|
+
label="${V("To start")}"
|
|
1777
1621
|
></xact-button>
|
|
1778
1622
|
</div>
|
|
1623
|
+
<div class="snow-layer">
|
|
1624
|
+
${l.map((A) => {
|
|
1625
|
+
const t = A * 37 % 100, r = A % 6 * 0.35, e = A % 5 * 0.4;
|
|
1626
|
+
return k`<span
|
|
1627
|
+
class="snowflake"
|
|
1628
|
+
style="left:${t}%; animation-delay:${r}s, ${e}s;"
|
|
1629
|
+
></span>`;
|
|
1630
|
+
})}
|
|
1631
|
+
</div>
|
|
1779
1632
|
`;
|
|
1780
1633
|
}
|
|
1781
1634
|
};
|
|
@@ -1788,6 +1641,8 @@ I.styles = N`
|
|
|
1788
1641
|
box-sizing: border-box;
|
|
1789
1642
|
padding: 16px;
|
|
1790
1643
|
width: 100%;
|
|
1644
|
+
position: relative;
|
|
1645
|
+
overflow: hidden;
|
|
1791
1646
|
}
|
|
1792
1647
|
|
|
1793
1648
|
.component-content {
|
|
@@ -1796,6 +1651,8 @@ I.styles = N`
|
|
|
1796
1651
|
gap: 12px;
|
|
1797
1652
|
width: 100%;
|
|
1798
1653
|
max-width: 960px;
|
|
1654
|
+
position: relative;
|
|
1655
|
+
z-index: 1;
|
|
1799
1656
|
}
|
|
1800
1657
|
|
|
1801
1658
|
.header-section {
|
|
@@ -1919,31 +1776,78 @@ I.styles = N`
|
|
|
1919
1776
|
}
|
|
1920
1777
|
}
|
|
1921
1778
|
|
|
1779
|
+
.snow-layer {
|
|
1780
|
+
position: absolute;
|
|
1781
|
+
inset: 0;
|
|
1782
|
+
pointer-events: none;
|
|
1783
|
+
overflow: hidden;
|
|
1784
|
+
z-index: 2;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
.snowflake {
|
|
1788
|
+
position: absolute;
|
|
1789
|
+
top: -8%;
|
|
1790
|
+
width: 6px;
|
|
1791
|
+
height: 6px;
|
|
1792
|
+
background: #fff;
|
|
1793
|
+
border-radius: 50%;
|
|
1794
|
+
opacity: 0.85;
|
|
1795
|
+
animation: fall 8s linear infinite, drift 5s ease-in-out infinite;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
.snowflake:nth-child(odd) {
|
|
1799
|
+
width: 4px;
|
|
1800
|
+
height: 4px;
|
|
1801
|
+
opacity: 0.7;
|
|
1802
|
+
animation-duration: 9s, 6s;
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
.snowflake:nth-child(3n) {
|
|
1806
|
+
width: 8px;
|
|
1807
|
+
height: 8px;
|
|
1808
|
+
opacity: 0.9;
|
|
1809
|
+
animation-duration: 7s, 4.5s;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
.snowflake:nth-child(4n) {
|
|
1813
|
+
animation-delay: 1s, 0.5s;
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
@keyframes fall {
|
|
1817
|
+
from { transform: translateY(-10%); }
|
|
1818
|
+
to { transform: translateY(110%); }
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1821
|
+
@keyframes drift {
|
|
1822
|
+
0%, 100% { transform: translateX(-14px); }
|
|
1823
|
+
50% { transform: translateX(22px); }
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1922
1826
|
`;
|
|
1923
1827
|
JA([
|
|
1924
|
-
|
|
1828
|
+
c({ type: Number })
|
|
1925
1829
|
], I.prototype, "height", 2);
|
|
1926
1830
|
JA([
|
|
1927
|
-
|
|
1831
|
+
c({ type: Function })
|
|
1928
1832
|
], I.prototype, "onStep2advancement", 2);
|
|
1929
1833
|
I = JA([
|
|
1930
1834
|
R("xact-step-informs"),
|
|
1931
|
-
|
|
1835
|
+
Y()
|
|
1932
1836
|
], I);
|
|
1933
1837
|
const oA = "data:image/svg+xml,%3csvg%20width='22'%20height='40'%20viewBox='0%200%2022%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21.517%200L0%2013.3362V0H21.517Z'%20fill='white'/%3e%3cpath%20d='M21.517%2013.339L0%2026.6724V13.3362H21.517V13.339Z'%20fill='white'/%3e%3cpath%20d='M21.517%2026.6755L0%2040.0089V26.6726H21.517V26.6755Z'%20fill='%231C28BA'/%3e%3c/svg%3e", Et = "data:image/svg+xml,%3csvg%20width='22'%20height='41'%20viewBox='0%200%2022%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21.517%200.00878906L0%2013.345V0.00878906H21.517Z'%20fill='white'/%3e%3cpath%20d='M21.517%2013.3478L0%2026.6812V13.345H21.517V13.3478Z'%20fill='%231C28BA'/%3e%3cpath%20d='M21.517%2026.6843L0%2040.0176V26.6814H21.517V26.6843Z'%20fill='white'/%3e%3c/svg%3e", It = "data:image/svg+xml,%3csvg%20width='22'%20height='41'%20viewBox='0%200%2022%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21.517%200.0204381L0%2013.3538V0.0175781H21.517V0.0204381Z'%20fill='%231C28BA'/%3e%3cpath%20d='M21.517%2013.3538L0%2026.69V13.3538H21.517Z'%20fill='white'/%3e%3cpath%20d='M21.517%2026.693L0%2040.0264V26.6902H21.517V26.693Z'%20fill='white'/%3e%3c/svg%3e";
|
|
1934
|
-
var wt = Object.defineProperty,
|
|
1935
|
-
for (var e = r > 1 ? void 0 : r ?
|
|
1936
|
-
(
|
|
1838
|
+
var wt = Object.defineProperty, Yt = Object.getOwnPropertyDescriptor, d = (l, A, t, r) => {
|
|
1839
|
+
for (var e = r > 1 ? void 0 : r ? Yt(A, t) : A, p = l.length - 1, n; p >= 0; p--)
|
|
1840
|
+
(n = l[p]) && (e = (r ? n(A, t, e) : n(e)) || e);
|
|
1937
1841
|
return r && e && wt(A, t, e), e;
|
|
1938
1842
|
};
|
|
1939
1843
|
const { getLocale: gt, setLocale: PA } = Wt({
|
|
1940
1844
|
sourceLocale: IA,
|
|
1941
1845
|
targetLocales: bt,
|
|
1942
|
-
loadLocale: (l) => wA(/* @__PURE__ */ Object.assign({ "./generated/locales/pt-BR.ts": () => import("./pt-BR-
|
|
1846
|
+
loadLocale: (l) => wA(/* @__PURE__ */ Object.assign({ "./generated/locales/pt-BR.ts": () => import("./pt-BR-DJDRIzyB.mjs") }), `./generated/locales/${l}.ts`, 4)
|
|
1943
1847
|
});
|
|
1944
1848
|
let a = class extends X {
|
|
1945
1849
|
constructor() {
|
|
1946
|
-
super(...arguments), this.spinnerFrame = 0, this.apiKey = "DB8mP9gStPfvdyeYbbuCV4Zf3SH745dI", this.tenantId = "1", this.productSku = "123456", this.apiUrl = "https://xactsize-dotnet-api-923169850574.southamerica-east1.run.app/api/measurer/measure/body", this._culture = "pt-BR", this.measurerKey = "", this._isLocaleLoading = !1, this.showModal = !1, this.step = 1, this.height = 0, this.recommendedSize = "", this.measurements = {}, this.errorMessage = "", this.instructionMessage =
|
|
1850
|
+
super(...arguments), this.spinnerFrame = 0, this.apiKey = "DB8mP9gStPfvdyeYbbuCV4Zf3SH745dI", this.tenantId = "1", this.productSku = "123456", this.apiUrl = "https://xactsize-dotnet-api-923169850574.southamerica-east1.run.app/api/measurer/measure/body", this._culture = "pt-BR", this.measurerKey = "", this._isLocaleLoading = !1, this.showModal = !1, this.step = 1, this.height = 0, this.recommendedSize = "", this.measurements = {}, this.errorMessage = "", this.instructionMessage = V("Position yourself in front of the camera"), this.shouldStartMeasurement = !1, this.isLoading = !1, this.isFetching = !1, this.videoElement = null, this.stream = null, this.poolingTimeout = null, this.instructionMessageTimeout = null, this.cameras = [], this.currentCameraId = null, this.snowflakesCache = null;
|
|
1947
1851
|
}
|
|
1948
1852
|
firstUpdated() {
|
|
1949
1853
|
this.startSpinnerAnimation();
|
|
@@ -1978,45 +1882,45 @@ let a = class extends X {
|
|
|
1978
1882
|
}
|
|
1979
1883
|
get errorMap() {
|
|
1980
1884
|
return {
|
|
1981
|
-
ERR_RIGHT_ARM_TOO_HIGH:
|
|
1982
|
-
ERR_LEFT_ARM_TOO_HIGH:
|
|
1983
|
-
ERR_ARMS_NOT_RAISED:
|
|
1984
|
-
ERR_RIGHT_ARM_NOT_RAISED:
|
|
1985
|
-
ERR_LEFT_ARM_NOT_RAISED:
|
|
1986
|
-
ERR_BODY_LANDMARKS_NOT_DETECTED:
|
|
1987
|
-
ERR_HIPS_NOT_VISIBLE:
|
|
1988
|
-
ERR_TOO_CLOSE_TO_CAMERA:
|
|
1989
|
-
ERR_NOT_SIDE_VIEW:
|
|
1990
|
-
ERR_INVALID_CLOTHING_TYPE:
|
|
1991
|
-
ERR_UPPER_BODY_NOT_VISIBLE:
|
|
1992
|
-
ERR_HEAD_TOO_CLOSE_TO_EDGE:
|
|
1993
|
-
ERR_LOWER_BODY_NOT_VISIBLE:
|
|
1994
|
-
ERR_FEET_TOO_CLOSE_TO_EDGE:
|
|
1995
|
-
ERR_BODY_TOO_CLOSE_TO_EDGE:
|
|
1996
|
-
ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_LEFT:
|
|
1997
|
-
ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_RIGHT:
|
|
1998
|
-
ERR_SHOULDERS_NOT_VISIBLE:
|
|
1999
|
-
ERR_HEIGHT_MEASUREMENT_FAILED:
|
|
2000
|
-
ERR_HEAD_POINT_NOT_DETECTED:
|
|
2001
|
-
ERR_INCORRECT_POSTURE:
|
|
2002
|
-
ERR_HEM_MEASUREMENT_FAILED:
|
|
2003
|
-
ERR_SHOULDER_MEASUREMENT_FAILED:
|
|
2004
|
-
ERR_ARM_NOT_STRETCHED:
|
|
2005
|
-
ERR_LEGS_NOT_DETECTED:
|
|
2006
|
-
ERR_HIPS_MEASUREMENT_FAILED:
|
|
2007
|
-
ERR_WAIST_MEASUREMENT_FAILED:
|
|
2008
|
-
ERR_INVALID_MEASURE_SIDE_VIEW:
|
|
2009
|
-
ERR_INVALID_BODY_HEIGHT_TYPE:
|
|
2010
|
-
ERR_IMAGE_LOAD_FAILED:
|
|
2011
|
-
ERR_HEIGHT_INVALID:
|
|
1885
|
+
ERR_RIGHT_ARM_TOO_HIGH: V("Lower your right arm", { id: "ERR_RIGHT_ARM_TOO_HIGH" }),
|
|
1886
|
+
ERR_LEFT_ARM_TOO_HIGH: V("Lower your left arm", { id: "ERR_LEFT_ARM_TOO_HIGH" }),
|
|
1887
|
+
ERR_ARMS_NOT_RAISED: V("Raise both arms to a 45-degree angle", { id: "ERR_ARMS_NOT_RAISED" }),
|
|
1888
|
+
ERR_RIGHT_ARM_NOT_RAISED: V("Raise your right arm to a 45-degree angle", { id: "ERR_RIGHT_ARM_NOT_RAISED" }),
|
|
1889
|
+
ERR_LEFT_ARM_NOT_RAISED: V("Raise your left arm to a 45-degree angle", { id: "ERR_LEFT_ARM_NOT_RAISED" }),
|
|
1890
|
+
ERR_BODY_LANDMARKS_NOT_DETECTED: V("Ensure your full body is visible in the camera", { id: "ERR_BODY_LANDMARKS_NOT_DETECTED" }),
|
|
1891
|
+
ERR_HIPS_NOT_VISIBLE: V("Adjust your position to show your hips", { id: "ERR_HIPS_NOT_VISIBLE" }),
|
|
1892
|
+
ERR_TOO_CLOSE_TO_CAMERA: V("Step back from the camera", { id: "ERR_TOO_CLOSE_TO_CAMERA" }),
|
|
1893
|
+
ERR_NOT_SIDE_VIEW: V("Turn to show your side profile", { id: "ERR_NOT_SIDE_VIEW" }),
|
|
1894
|
+
ERR_INVALID_CLOTHING_TYPE: V("This clothing type is not supported; please contact support", { id: "ERR_INVALID_CLOTHING_TYPE" }),
|
|
1895
|
+
ERR_UPPER_BODY_NOT_VISIBLE: V("Adjust your position to show your upper body", { id: "ERR_UPPER_BODY_NOT_VISIBLE" }),
|
|
1896
|
+
ERR_HEAD_TOO_CLOSE_TO_EDGE: V("Move your head away from the edge of the frame", { id: "ERR_HEAD_TOO_CLOSE_TO_EDGE" }),
|
|
1897
|
+
ERR_LOWER_BODY_NOT_VISIBLE: V("Adjust your position to show your lower body", { id: "ERR_LOWER_BODY_NOT_VISIBLE" }),
|
|
1898
|
+
ERR_FEET_TOO_CLOSE_TO_EDGE: V("Move your feet away from the edge of the frame", { id: "ERR_FEET_TOO_CLOSE_TO_EDGE" }),
|
|
1899
|
+
ERR_BODY_TOO_CLOSE_TO_EDGE: V("Move your body away from the edge of the frame", { id: "ERR_BODY_TOO_CLOSE_TO_EDGE" }),
|
|
1900
|
+
ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_LEFT: V("Move to the left to center your body", { id: "ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_LEFT" }),
|
|
1901
|
+
ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_RIGHT: V("Move to the right to center your body", { id: "ERR_BODY_TOO_CLOSE_TO_EDGE_MOVE_RIGHT" }),
|
|
1902
|
+
ERR_SHOULDERS_NOT_VISIBLE: V("Adjust your position to show your shoulders", { id: "ERR_SHOULDERS_NOT_VISIBLE" }),
|
|
1903
|
+
ERR_HEIGHT_MEASUREMENT_FAILED: V("Stand straight and ensure your full body is visible", { id: "ERR_HEIGHT_MEASUREMENT_FAILED" }),
|
|
1904
|
+
ERR_HEAD_POINT_NOT_DETECTED: V("Ensure your head is fully visible in the frame", { id: "ERR_HEAD_POINT_NOT_DETECTED" }),
|
|
1905
|
+
ERR_INCORRECT_POSTURE: V("Stand straight with your shoulders back", { id: "ERR_INCORRECT_POSTURE" }),
|
|
1906
|
+
ERR_HEM_MEASUREMENT_FAILED: V("Ensure your clothing hem is visible and clear", { id: "ERR_HEM_MEASUREMENT_FAILED" }),
|
|
1907
|
+
ERR_SHOULDER_MEASUREMENT_FAILED: V("Keep your shoulders relaxed and visible", { id: "ERR_SHOULDER_MEASUREMENT_FAILED" }),
|
|
1908
|
+
ERR_ARM_NOT_STRETCHED: V("Stretch your arms fully", { id: "ERR_ARM_NOT_STRETCHED" }),
|
|
1909
|
+
ERR_LEGS_NOT_DETECTED: V("Ensure your legs are fully visible in the frame", { id: "ERR_LEGS_NOT_DETECTED" }),
|
|
1910
|
+
ERR_HIPS_MEASUREMENT_FAILED: V("Stand straight and ensure your hips are visible", { id: "ERR_HIPS_MEASUREMENT_FAILED" }),
|
|
1911
|
+
ERR_WAIST_MEASUREMENT_FAILED: V("Stand straight and ensure your waist is visible", { id: "ERR_WAIST_MEASUREMENT_FAILED" }),
|
|
1912
|
+
ERR_INVALID_MEASURE_SIDE_VIEW: V("Turn to show a clear side profile", { id: "ERR_INVALID_MEASURE_SIDE_VIEW" }),
|
|
1913
|
+
ERR_INVALID_BODY_HEIGHT_TYPE: V("Ensure your full body is visible for height measurement", { id: "ERR_INVALID_BODY_HEIGHT_TYPE" }),
|
|
1914
|
+
ERR_IMAGE_LOAD_FAILED: V("Try again later; the image could not be processed", { id: "ERR_IMAGE_LOAD_FAILED" }),
|
|
1915
|
+
ERR_HEIGHT_INVALID: V("Height must be between 50 and 300 cm", { id: "ERR_HEIGHT_INVALID" })
|
|
2012
1916
|
};
|
|
2013
1917
|
}
|
|
2014
1918
|
getTranslatedMessage(l) {
|
|
2015
1919
|
const A = this.errorMap[l];
|
|
2016
|
-
return A || (console.info("Error code is missing", l),
|
|
1920
|
+
return A || (console.info("Error code is missing", l), V("An unexpected error occurred"));
|
|
2017
1921
|
}
|
|
2018
1922
|
connectedCallback() {
|
|
2019
|
-
super.connectedCallback(), document.addEventListener("keydown", this.handleEscKey.bind(this));
|
|
1923
|
+
super.connectedCallback(), document.addEventListener("keydown", this.handleEscKey.bind(this)), this.snowflakesCache = this.generateSnowflakes();
|
|
2020
1924
|
}
|
|
2021
1925
|
disconnectedCallback() {
|
|
2022
1926
|
super.disconnectedCallback(), document.removeEventListener("keydown", this.handleEscKey.bind(this)), this.stopPolling(), clearInterval(this.spinnerInterval);
|
|
@@ -2025,7 +1929,7 @@ let a = class extends X {
|
|
|
2025
1929
|
l.key === "Escape" && this.showModal && this.closeModal();
|
|
2026
1930
|
}
|
|
2027
1931
|
openModal() {
|
|
2028
|
-
this.showModal = !0, this.step = 1, this.height = 0, this.instructionMessage =
|
|
1932
|
+
this.showModal = !0, this.step = 1, this.height = 0, this.instructionMessage = V("Position yourself in front of the camera");
|
|
2029
1933
|
}
|
|
2030
1934
|
closeModal() {
|
|
2031
1935
|
this.showModal = !1, this.onMeasurementCanceled && typeof this.onMeasurementCanceled == "function" && this.onMeasurementCanceled(), this.stopPolling(), this.dispatchEvent(new CustomEvent("measurementCanceled", { detail: {} }));
|
|
@@ -2048,7 +1952,7 @@ let a = class extends X {
|
|
|
2048
1952
|
try {
|
|
2049
1953
|
this.stream = await navigator.mediaDevices.getUserMedia({ video: !0 }), this.videoElement && (this.videoElement.srcObject = this.stream, await this.videoElement.play(), await this.loadCameras(), this.startPolling());
|
|
2050
1954
|
} catch {
|
|
2051
|
-
this.errorMessage =
|
|
1955
|
+
this.errorMessage = V("Error accessing webcam");
|
|
2052
1956
|
}
|
|
2053
1957
|
}
|
|
2054
1958
|
async loadCameras() {
|
|
@@ -2069,7 +1973,7 @@ let a = class extends X {
|
|
|
2069
1973
|
video: { deviceId: { exact: this.currentCameraId } }
|
|
2070
1974
|
}), this.videoElement && (this.videoElement.srcObject = this.stream, await this.videoElement.play(), this.startPolling());
|
|
2071
1975
|
} catch {
|
|
2072
|
-
this.errorMessage =
|
|
1976
|
+
this.errorMessage = V("Error switching camera");
|
|
2073
1977
|
} finally {
|
|
2074
1978
|
this.isLoading = !1;
|
|
2075
1979
|
}
|
|
@@ -2082,7 +1986,7 @@ let a = class extends X {
|
|
|
2082
1986
|
const t = A.getContext("2d");
|
|
2083
1987
|
t == null || t.drawImage(this.videoElement, 0, 0, A.width, A.height);
|
|
2084
1988
|
const r = await new Promise(
|
|
2085
|
-
(
|
|
1989
|
+
(n) => A.toBlob((S) => n(S), "image/jpeg")
|
|
2086
1990
|
), e = new File([r], "frame.jpg", { type: "image/jpeg" }), p = new FormData();
|
|
2087
1991
|
p.append("image", e), p.append("height", this.height.toString()), p.append("productSku", this.productSku), this.measurerKey && p.append("measurerKey", this.measurerKey);
|
|
2088
1992
|
try {
|
|
@@ -2097,12 +2001,12 @@ let a = class extends X {
|
|
|
2097
2001
|
"X-Api-Key": this.apiKey
|
|
2098
2002
|
}
|
|
2099
2003
|
})).json();
|
|
2100
|
-
this.isFetching = !1, this.isLoading = !1, this.errorMessage = JSON.stringify(S), S.success ? (this.measurements = S.measurements, this.recommendedSize = S.chosenSize, this.instructionMessage =
|
|
2101
|
-
this.recommendedSize || (this.instructionMessage =
|
|
2004
|
+
this.isFetching = !1, this.isLoading = !1, this.errorMessage = JSON.stringify(S), S.success ? (this.measurements = S.measurements, this.recommendedSize = S.chosenSize, this.instructionMessage = V("Measurement successful!"), this.stopPolling(), this.step = 4) : (this.instructionMessage = this.getTranslatedMessage(S.message || "UNKNOWN_ERROR"), this.instructionMessageTimeout = setTimeout(() => {
|
|
2005
|
+
this.recommendedSize || (this.instructionMessage = V("Position yourself in front of the camera"), this.poolingTimeout = setTimeout(l, 0));
|
|
2102
2006
|
}, 2e3));
|
|
2103
2007
|
} catch {
|
|
2104
|
-
this.isFetching = !1, this.isLoading = !1, this.instructionMessage =
|
|
2105
|
-
this.recommendedSize || (this.instructionMessage =
|
|
2008
|
+
this.isFetching = !1, this.isLoading = !1, this.instructionMessage = V("Error processing measurement"), this.instructionMessageTimeout = setTimeout(() => {
|
|
2009
|
+
this.recommendedSize || (this.instructionMessage = V("Position yourself in front of the camera"), this.poolingTimeout = setTimeout(l, 0));
|
|
2106
2010
|
}, 2e3);
|
|
2107
2011
|
}
|
|
2108
2012
|
};
|
|
@@ -2120,11 +2024,27 @@ let a = class extends X {
|
|
|
2120
2024
|
stopMeasurement() {
|
|
2121
2025
|
this.resetMeasurement(), this.showModal = !1;
|
|
2122
2026
|
}
|
|
2027
|
+
generateSnowflakes() {
|
|
2028
|
+
const l = [];
|
|
2029
|
+
for (let t = 0; t < 80; t++) {
|
|
2030
|
+
const r = Math.random() * 100, e = 8 + Math.random() * 17, p = -Math.random() * 30;
|
|
2031
|
+
l.push(k`<span class="snowflake" style="left:${r}%; animation-duration:${e.toFixed(2)}s; animation-delay:${p.toFixed(2)}s;"></span>`);
|
|
2032
|
+
}
|
|
2033
|
+
return k`${l}`;
|
|
2034
|
+
}
|
|
2035
|
+
renderSnowflakes() {
|
|
2036
|
+
return this.snowflakesCache || k``;
|
|
2037
|
+
}
|
|
2123
2038
|
render() {
|
|
2124
|
-
return this._isLocaleLoading ?
|
|
2125
|
-
<xact-button
|
|
2126
|
-
|
|
2127
|
-
|
|
2039
|
+
return this._isLocaleLoading ? k`<div hidden></div>` : k`
|
|
2040
|
+
<xact-button
|
|
2041
|
+
class="launch-btn"
|
|
2042
|
+
style="--brand-primary: #000; --text-inverse: #fff; --brand-primary-hover: #111;"
|
|
2043
|
+
@click=${this.openModal}
|
|
2044
|
+
label="${V("Find your Xactsize")}"
|
|
2045
|
+
></xact-button>
|
|
2046
|
+
|
|
2047
|
+
${this.showModal ? k`
|
|
2128
2048
|
<div class="modal">
|
|
2129
2049
|
<div class="modal-content">
|
|
2130
2050
|
<div style="display: flex; justify-content: space-between" class="modal-title-container">
|
|
@@ -2135,21 +2055,21 @@ let a = class extends X {
|
|
|
2135
2055
|
</span>
|
|
2136
2056
|
</div>
|
|
2137
2057
|
|
|
2138
|
-
${this.step === 1 ?
|
|
2058
|
+
${this.step === 1 ? k`
|
|
2139
2059
|
<xact-step-one .onStartMeasurement=${(l) => {
|
|
2140
2060
|
this.height = l, this.startMeasurement();
|
|
2141
2061
|
}}></xact-step-one>
|
|
2142
2062
|
` : ""}
|
|
2143
|
-
${this.step === 2 ?
|
|
2063
|
+
${this.step === 2 ? k`
|
|
2144
2064
|
<xact-step-informs .onStep2advancement=${() => {
|
|
2145
2065
|
this.step2advancement();
|
|
2146
2066
|
}}></xact-step-informs>
|
|
2147
2067
|
` : ""}
|
|
2148
2068
|
|
|
2149
|
-
${this.step === 3 ?
|
|
2069
|
+
${this.step === 3 ? k`
|
|
2150
2070
|
<div class="step-3">
|
|
2151
2071
|
|
|
2152
|
-
<p>${
|
|
2072
|
+
<p>${V("Ensure your full body is visible in the camera")}</p>
|
|
2153
2073
|
<div class='video-container'>
|
|
2154
2074
|
<div class="video-overlay">
|
|
2155
2075
|
<h2>${this.instructionMessage}</h2>
|
|
@@ -2165,13 +2085,18 @@ let a = class extends X {
|
|
|
2165
2085
|
<button class="video-flip-icon" @click=${this.flipCamera} ?disabled=${this.cameras.length < 2}>
|
|
2166
2086
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="white" viewBox="0 0 24 24">
|
|
2167
2087
|
<path d="M12 6V9L16 5L12 1V4C7.58 4 4 7.58 4 12H6C6 8.69 8.69 6 12 6ZM18 12C18 15.31 15.31 18 12 18V15L8 19L12 23V20C16.42 20 20 16.42 20 12H18Z"/>
|
|
2168
|
-
</svg>
|
|
2088
|
+
</svg>
|
|
2169
2089
|
</button>
|
|
2090
|
+
|
|
2091
|
+
<!-- Snow effect -->
|
|
2092
|
+
<div class="snow-container">
|
|
2093
|
+
${this.renderSnowflakes()}
|
|
2094
|
+
</div>
|
|
2170
2095
|
</div>
|
|
2171
2096
|
</div>
|
|
2172
2097
|
` : ""}
|
|
2173
2098
|
|
|
2174
|
-
${this.step === 4 ?
|
|
2099
|
+
${this.step === 4 ? k`
|
|
2175
2100
|
<div class="step-4">
|
|
2176
2101
|
<xact-step-result
|
|
2177
2102
|
.recommendedSize=${this.recommendedSize}
|
|
@@ -2483,6 +2408,13 @@ a.styles = N`
|
|
|
2483
2408
|
width: 100%;
|
|
2484
2409
|
}
|
|
2485
2410
|
|
|
2411
|
+
xact-button.launch-btn {
|
|
2412
|
+
--brand-primary: #000;
|
|
2413
|
+
--brand-primary-hover: #111;
|
|
2414
|
+
--text-inverse: #fff;
|
|
2415
|
+
--xact-button-radius: 0px;
|
|
2416
|
+
}
|
|
2417
|
+
|
|
2486
2418
|
.video-overlay {
|
|
2487
2419
|
position: absolute;
|
|
2488
2420
|
inset: 4px 4px auto 4px;
|
|
@@ -2560,6 +2492,82 @@ a.styles = N`
|
|
|
2560
2492
|
100% { filter: brightness(1); }
|
|
2561
2493
|
}
|
|
2562
2494
|
|
|
2495
|
+
/* Snow effect */
|
|
2496
|
+
.snow-container {
|
|
2497
|
+
position: absolute;
|
|
2498
|
+
inset: 0;
|
|
2499
|
+
pointer-events: none;
|
|
2500
|
+
overflow: hidden;
|
|
2501
|
+
z-index: 10;
|
|
2502
|
+
border-radius: 8px;
|
|
2503
|
+
}
|
|
2504
|
+
|
|
2505
|
+
.snowflake {
|
|
2506
|
+
position: absolute;
|
|
2507
|
+
top: -10%;
|
|
2508
|
+
color: #fff;
|
|
2509
|
+
font-size: 1em;
|
|
2510
|
+
font-family: Arial, sans-serif;
|
|
2511
|
+
text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
|
|
2512
|
+
opacity: 0;
|
|
2513
|
+
animation: snowfall linear infinite;
|
|
2514
|
+
will-change: transform, opacity;
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
.snowflake::before {
|
|
2518
|
+
content: "❅";
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2521
|
+
.snowflake:nth-child(2n)::before {
|
|
2522
|
+
content: "❆";
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
.snowflake:nth-child(3n)::before {
|
|
2526
|
+
content: "❄";
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2529
|
+
.snowflake:nth-child(odd) {
|
|
2530
|
+
font-size: 0.8em;
|
|
2531
|
+
}
|
|
2532
|
+
|
|
2533
|
+
.snowflake:nth-child(3n) {
|
|
2534
|
+
font-size: 1.2em;
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
.snowflake:nth-child(4n) {
|
|
2538
|
+
font-size: 0.6em;
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2541
|
+
.snowflake:nth-child(5n) {
|
|
2542
|
+
font-size: 1.1em;
|
|
2543
|
+
}
|
|
2544
|
+
|
|
2545
|
+
@keyframes snowfall {
|
|
2546
|
+
0% {
|
|
2547
|
+
transform: translateY(-10vh) translateX(0);
|
|
2548
|
+
opacity: 0;
|
|
2549
|
+
}
|
|
2550
|
+
5% {
|
|
2551
|
+
opacity: 1;
|
|
2552
|
+
}
|
|
2553
|
+
25% {
|
|
2554
|
+
transform: translateY(30vh) translateX(-10px);
|
|
2555
|
+
}
|
|
2556
|
+
50% {
|
|
2557
|
+
transform: translateY(60vh) translateX(10px);
|
|
2558
|
+
}
|
|
2559
|
+
75% {
|
|
2560
|
+
transform: translateY(90vh) translateX(-5px);
|
|
2561
|
+
}
|
|
2562
|
+
95% {
|
|
2563
|
+
opacity: 1;
|
|
2564
|
+
}
|
|
2565
|
+
100% {
|
|
2566
|
+
transform: translateY(110vh) translateX(0);
|
|
2567
|
+
opacity: 0;
|
|
2568
|
+
}
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2563
2571
|
.error-message {
|
|
2564
2572
|
color: red;
|
|
2565
2573
|
font-size: 14px;
|
|
@@ -2617,75 +2625,75 @@ a.styles = N`
|
|
|
2617
2625
|
|
|
2618
2626
|
|
|
2619
2627
|
`;
|
|
2620
|
-
|
|
2621
|
-
|
|
2628
|
+
d([
|
|
2629
|
+
c({ type: String, attribute: "api-key" })
|
|
2622
2630
|
], a.prototype, "apiKey", 2);
|
|
2623
|
-
|
|
2624
|
-
|
|
2631
|
+
d([
|
|
2632
|
+
c({ type: String, attribute: "tenant-id" })
|
|
2625
2633
|
], a.prototype, "tenantId", 2);
|
|
2626
|
-
|
|
2627
|
-
|
|
2634
|
+
d([
|
|
2635
|
+
c({ type: String, attribute: "product-sku" })
|
|
2628
2636
|
], a.prototype, "productSku", 2);
|
|
2629
|
-
|
|
2630
|
-
|
|
2637
|
+
d([
|
|
2638
|
+
c({ type: String, attribute: "api-url" })
|
|
2631
2639
|
], a.prototype, "apiUrl", 2);
|
|
2632
|
-
|
|
2633
|
-
|
|
2640
|
+
d([
|
|
2641
|
+
c({ type: Function, attribute: "onmeasurementaccepted" })
|
|
2634
2642
|
], a.prototype, "onMeasurementAccepted", 2);
|
|
2635
|
-
|
|
2636
|
-
|
|
2643
|
+
d([
|
|
2644
|
+
c({ type: Function, attribute: "onmeasurementcanceled" })
|
|
2637
2645
|
], a.prototype, "onMeasurementCanceled", 2);
|
|
2638
|
-
|
|
2639
|
-
|
|
2646
|
+
d([
|
|
2647
|
+
c({ type: String })
|
|
2640
2648
|
], a.prototype, "culture", 1);
|
|
2641
|
-
|
|
2642
|
-
|
|
2649
|
+
d([
|
|
2650
|
+
T()
|
|
2643
2651
|
], a.prototype, "errorMap", 1);
|
|
2644
|
-
|
|
2645
|
-
|
|
2652
|
+
d([
|
|
2653
|
+
T()
|
|
2646
2654
|
], a.prototype, "measurerKey", 2);
|
|
2647
|
-
|
|
2648
|
-
|
|
2655
|
+
d([
|
|
2656
|
+
T()
|
|
2649
2657
|
], a.prototype, "_isLocaleLoading", 2);
|
|
2650
|
-
|
|
2651
|
-
|
|
2658
|
+
d([
|
|
2659
|
+
T()
|
|
2652
2660
|
], a.prototype, "showModal", 2);
|
|
2653
|
-
|
|
2654
|
-
|
|
2661
|
+
d([
|
|
2662
|
+
T()
|
|
2655
2663
|
], a.prototype, "step", 2);
|
|
2656
|
-
|
|
2657
|
-
|
|
2664
|
+
d([
|
|
2665
|
+
T()
|
|
2658
2666
|
], a.prototype, "height", 2);
|
|
2659
|
-
|
|
2660
|
-
|
|
2667
|
+
d([
|
|
2668
|
+
T()
|
|
2661
2669
|
], a.prototype, "recommendedSize", 2);
|
|
2662
|
-
|
|
2663
|
-
|
|
2670
|
+
d([
|
|
2671
|
+
T()
|
|
2664
2672
|
], a.prototype, "measurements", 2);
|
|
2665
|
-
|
|
2666
|
-
|
|
2673
|
+
d([
|
|
2674
|
+
T()
|
|
2667
2675
|
], a.prototype, "errorMessage", 2);
|
|
2668
|
-
|
|
2669
|
-
|
|
2676
|
+
d([
|
|
2677
|
+
T()
|
|
2670
2678
|
], a.prototype, "instructionMessage", 2);
|
|
2671
|
-
|
|
2672
|
-
|
|
2679
|
+
d([
|
|
2680
|
+
T()
|
|
2673
2681
|
], a.prototype, "shouldStartMeasurement", 2);
|
|
2674
|
-
|
|
2675
|
-
|
|
2682
|
+
d([
|
|
2683
|
+
T()
|
|
2676
2684
|
], a.prototype, "isLoading", 2);
|
|
2677
|
-
|
|
2678
|
-
|
|
2685
|
+
d([
|
|
2686
|
+
T()
|
|
2679
2687
|
], a.prototype, "isFetching", 2);
|
|
2680
|
-
|
|
2681
|
-
|
|
2688
|
+
d([
|
|
2689
|
+
T()
|
|
2682
2690
|
], a.prototype, "cameras", 2);
|
|
2683
|
-
|
|
2684
|
-
|
|
2691
|
+
d([
|
|
2692
|
+
T()
|
|
2685
2693
|
], a.prototype, "currentCameraId", 2);
|
|
2686
|
-
a =
|
|
2694
|
+
a = d([
|
|
2687
2695
|
R("body-measurer"),
|
|
2688
|
-
|
|
2696
|
+
Y()
|
|
2689
2697
|
], a);
|
|
2690
2698
|
export {
|
|
2691
2699
|
a as BodyMeasurer,
|