@primestyleai/tryon 5.10.190 → 5.10.192
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/{index-BlzviBfP.js → index-D9sdGV4C.js} +8 -8
- package/dist/{index-BlzviBfP.js.map → index-D9sdGV4C.js.map} +1 -1
- package/dist/primestyle-tryon.js +2 -2
- package/dist/react/index.js +5453 -4241
- package/dist/react/index.js.map +1 -1
- package/dist/react/styles.d.ts +1 -1
- package/dist/storefront/primestyle-tryon.js +1467 -254
- package/package.json +1 -1
|
@@ -275,7 +275,7 @@ var scheduler_production_min = {};
|
|
|
275
275
|
* This source code is licensed under the MIT license found in the
|
|
276
276
|
* LICENSE file in the root directory of this source tree.
|
|
277
277
|
*/
|
|
278
|
-
(function(exports) {
|
|
278
|
+
(function(exports$1) {
|
|
279
279
|
function f2(a, b) {
|
|
280
280
|
var c = a.length;
|
|
281
281
|
a.push(b);
|
|
@@ -308,12 +308,12 @@ var scheduler_production_min = {};
|
|
|
308
308
|
}
|
|
309
309
|
if ("object" === typeof performance && "function" === typeof performance.now) {
|
|
310
310
|
var l2 = performance;
|
|
311
|
-
exports.unstable_now = function() {
|
|
311
|
+
exports$1.unstable_now = function() {
|
|
312
312
|
return l2.now();
|
|
313
313
|
};
|
|
314
314
|
} else {
|
|
315
315
|
var p2 = Date, q2 = p2.now();
|
|
316
|
-
exports.unstable_now = function() {
|
|
316
|
+
exports$1.unstable_now = function() {
|
|
317
317
|
return p2.now() - q2;
|
|
318
318
|
};
|
|
319
319
|
}
|
|
@@ -349,7 +349,7 @@ var scheduler_production_min = {};
|
|
|
349
349
|
v2.callback = null;
|
|
350
350
|
y2 = v2.priorityLevel;
|
|
351
351
|
var e = d(v2.expirationTime <= b);
|
|
352
|
-
b = exports.unstable_now();
|
|
352
|
+
b = exports$1.unstable_now();
|
|
353
353
|
"function" === typeof e ? v2.callback = e : v2 === h(r2) && k2(r2);
|
|
354
354
|
G2(b);
|
|
355
355
|
} else k2(r2);
|
|
@@ -368,11 +368,11 @@ var scheduler_production_min = {};
|
|
|
368
368
|
}
|
|
369
369
|
var N2 = false, O2 = null, L2 = -1, P2 = 5, Q2 = -1;
|
|
370
370
|
function M2() {
|
|
371
|
-
return exports.unstable_now() - Q2 < P2 ? false : true;
|
|
371
|
+
return exports$1.unstable_now() - Q2 < P2 ? false : true;
|
|
372
372
|
}
|
|
373
373
|
function R2() {
|
|
374
374
|
if (null !== O2) {
|
|
375
|
-
var a = exports.unstable_now();
|
|
375
|
+
var a = exports$1.unstable_now();
|
|
376
376
|
Q2 = a;
|
|
377
377
|
var b = true;
|
|
378
378
|
try {
|
|
@@ -401,31 +401,31 @@ var scheduler_production_min = {};
|
|
|
401
401
|
}
|
|
402
402
|
function K2(a, b) {
|
|
403
403
|
L2 = D2(function() {
|
|
404
|
-
a(exports.unstable_now());
|
|
404
|
+
a(exports$1.unstable_now());
|
|
405
405
|
}, b);
|
|
406
406
|
}
|
|
407
|
-
exports.unstable_IdlePriority = 5;
|
|
408
|
-
exports.unstable_ImmediatePriority = 1;
|
|
409
|
-
exports.unstable_LowPriority = 4;
|
|
410
|
-
exports.unstable_NormalPriority = 3;
|
|
411
|
-
exports.unstable_Profiling = null;
|
|
412
|
-
exports.unstable_UserBlockingPriority = 2;
|
|
413
|
-
exports.unstable_cancelCallback = function(a) {
|
|
407
|
+
exports$1.unstable_IdlePriority = 5;
|
|
408
|
+
exports$1.unstable_ImmediatePriority = 1;
|
|
409
|
+
exports$1.unstable_LowPriority = 4;
|
|
410
|
+
exports$1.unstable_NormalPriority = 3;
|
|
411
|
+
exports$1.unstable_Profiling = null;
|
|
412
|
+
exports$1.unstable_UserBlockingPriority = 2;
|
|
413
|
+
exports$1.unstable_cancelCallback = function(a) {
|
|
414
414
|
a.callback = null;
|
|
415
415
|
};
|
|
416
|
-
exports.unstable_continueExecution = function() {
|
|
416
|
+
exports$1.unstable_continueExecution = function() {
|
|
417
417
|
A2 || z2 || (A2 = true, I2(J2));
|
|
418
418
|
};
|
|
419
|
-
exports.unstable_forceFrameRate = function(a) {
|
|
419
|
+
exports$1.unstable_forceFrameRate = function(a) {
|
|
420
420
|
0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P2 = 0 < a ? Math.floor(1e3 / a) : 5;
|
|
421
421
|
};
|
|
422
|
-
exports.unstable_getCurrentPriorityLevel = function() {
|
|
422
|
+
exports$1.unstable_getCurrentPriorityLevel = function() {
|
|
423
423
|
return y2;
|
|
424
424
|
};
|
|
425
|
-
exports.unstable_getFirstCallbackNode = function() {
|
|
425
|
+
exports$1.unstable_getFirstCallbackNode = function() {
|
|
426
426
|
return h(r2);
|
|
427
427
|
};
|
|
428
|
-
exports.unstable_next = function(a) {
|
|
428
|
+
exports$1.unstable_next = function(a) {
|
|
429
429
|
switch (y2) {
|
|
430
430
|
case 1:
|
|
431
431
|
case 2:
|
|
@@ -443,11 +443,11 @@ var scheduler_production_min = {};
|
|
|
443
443
|
y2 = c;
|
|
444
444
|
}
|
|
445
445
|
};
|
|
446
|
-
exports.unstable_pauseExecution = function() {
|
|
446
|
+
exports$1.unstable_pauseExecution = function() {
|
|
447
447
|
};
|
|
448
|
-
exports.unstable_requestPaint = function() {
|
|
448
|
+
exports$1.unstable_requestPaint = function() {
|
|
449
449
|
};
|
|
450
|
-
exports.unstable_runWithPriority = function(a, b) {
|
|
450
|
+
exports$1.unstable_runWithPriority = function(a, b) {
|
|
451
451
|
switch (a) {
|
|
452
452
|
case 1:
|
|
453
453
|
case 2:
|
|
@@ -466,8 +466,8 @@ var scheduler_production_min = {};
|
|
|
466
466
|
y2 = c;
|
|
467
467
|
}
|
|
468
468
|
};
|
|
469
|
-
exports.unstable_scheduleCallback = function(a, b, c) {
|
|
470
|
-
var d = exports.unstable_now();
|
|
469
|
+
exports$1.unstable_scheduleCallback = function(a, b, c) {
|
|
470
|
+
var d = exports$1.unstable_now();
|
|
471
471
|
"object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d;
|
|
472
472
|
switch (a) {
|
|
473
473
|
case 1:
|
|
@@ -490,8 +490,8 @@ var scheduler_production_min = {};
|
|
|
490
490
|
c > d ? (a.sortIndex = c, f2(t2, a), null === h(r2) && a === h(t2) && (B2 ? (E2(L2), L2 = -1) : B2 = true, K2(H2, c - d))) : (a.sortIndex = e, f2(r2, a), A2 || z2 || (A2 = true, I2(J2)));
|
|
491
491
|
return a;
|
|
492
492
|
};
|
|
493
|
-
exports.unstable_shouldYield = M2;
|
|
494
|
-
exports.unstable_wrapCallback = function(a) {
|
|
493
|
+
exports$1.unstable_shouldYield = M2;
|
|
494
|
+
exports$1.unstable_wrapCallback = function(a) {
|
|
495
495
|
var b = y2;
|
|
496
496
|
return function() {
|
|
497
497
|
var c = y2;
|
|
@@ -13093,7 +13093,7 @@ const STYLES = `
|
|
|
13093
13093
|
}
|
|
13094
13094
|
|
|
13095
13095
|
/* ── Product photo strip (single-garment, below the size card) ──
|
|
13096
|
-
|
|
13096
|
+
Three thumbnails per row, evenly spaced, auto-advances. Lives at
|
|
13097
13097
|
the bottom of the right panel as decoration / entertainment. */
|
|
13098
13098
|
.ps-tryon-photo-strip {
|
|
13099
13099
|
margin-top: 0.65vw;
|
|
@@ -13112,12 +13112,16 @@ const STYLES = `
|
|
|
13112
13112
|
}
|
|
13113
13113
|
.ps-tryon-photo-strip-row {
|
|
13114
13114
|
display: grid;
|
|
13115
|
-
grid-template-columns: repeat(
|
|
13115
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
13116
13116
|
gap: 0.45vw;
|
|
13117
13117
|
animation: ps-tryon-photo-strip-fade 0.5s ease;
|
|
13118
13118
|
}
|
|
13119
13119
|
.ps-tryon-photo-strip-row.ps-count-1 {
|
|
13120
|
-
grid-template-columns: minmax(0, calc((100% - 0.
|
|
13120
|
+
grid-template-columns: minmax(0, calc((100% - 0.9vw) / 3));
|
|
13121
|
+
justify-content: center;
|
|
13122
|
+
}
|
|
13123
|
+
.ps-tryon-photo-strip-row.ps-count-2 {
|
|
13124
|
+
grid-template-columns: repeat(2, minmax(0, calc((100% - 0.9vw) / 3)));
|
|
13121
13125
|
justify-content: center;
|
|
13122
13126
|
}
|
|
13123
13127
|
.ps-tryon-photo-strip-cell {
|
|
@@ -13178,8 +13182,14 @@ const STYLES = `
|
|
|
13178
13182
|
.ps-tryon-photo-strip-row {
|
|
13179
13183
|
gap: 8px;
|
|
13180
13184
|
}
|
|
13185
|
+
.ps-tryon-photo-strip-row {
|
|
13186
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
13187
|
+
}
|
|
13181
13188
|
.ps-tryon-photo-strip-row.ps-count-1 {
|
|
13182
|
-
grid-template-columns: minmax(0, calc((100% -
|
|
13189
|
+
grid-template-columns: minmax(0, calc((100% - 16px) / 3));
|
|
13190
|
+
}
|
|
13191
|
+
.ps-tryon-photo-strip-row.ps-count-2 {
|
|
13192
|
+
grid-template-columns: repeat(2, minmax(0, calc((100% - 16px) / 3)));
|
|
13183
13193
|
}
|
|
13184
13194
|
.ps-tryon-photo-strip-cell {
|
|
13185
13195
|
aspect-ratio: 1 / 1; border-radius: 12px;
|
|
@@ -21841,232 +21851,1420 @@ const STYLES = `
|
|
|
21841
21851
|
.ps-photo-zone-rejection-cta { font-size: 13px; padding: 10px 16px; border-radius: 8px; }
|
|
21842
21852
|
.ps-photo-zone-error { font-size: 11px; padding: 8px 10px; border-radius: 8px; }
|
|
21843
21853
|
}
|
|
21844
|
-
|
|
21845
|
-
|
|
21846
|
-
|
|
21847
|
-
|
|
21848
|
-
|
|
21849
|
-
|
|
21850
|
-
|
|
21851
|
-
|
|
21852
|
-
|
|
21853
|
-
|
|
21854
|
-
|
|
21855
|
-
|
|
21856
|
-
|
|
21857
|
-
|
|
21858
|
-
|
|
21859
|
-
|
|
21860
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
21861
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
21862
|
-
] });
|
|
21863
|
-
}
|
|
21864
|
-
function ArrowLeftIcon() {
|
|
21865
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M15 18l-6-6 6-6" }) });
|
|
21866
|
-
}
|
|
21867
|
-
function ArrowRightIcon() {
|
|
21868
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M5 12h14M12 5l7 7-7 7" }) });
|
|
21869
|
-
}
|
|
21870
|
-
function UserIcon({ size = 16 }) {
|
|
21871
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21872
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
|
|
21873
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "7", r: "4" })
|
|
21874
|
-
] });
|
|
21875
|
-
}
|
|
21876
|
-
function ShoppingBagIcon({ size = 16 }) {
|
|
21877
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21878
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M16 10a4 4 0 0 1-8 0" }),
|
|
21879
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.103 6.034h17.794" }),
|
|
21880
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z" })
|
|
21881
|
-
] });
|
|
21882
|
-
}
|
|
21883
|
-
function ExternalLinkIcon({ size = 16 }) {
|
|
21884
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21885
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M14 3h7v7" }),
|
|
21886
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M10 14 21 3" }),
|
|
21887
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5" })
|
|
21888
|
-
] });
|
|
21889
|
-
}
|
|
21890
|
-
function ClockIcon({ size = 16 }) {
|
|
21891
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21892
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
21893
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "12 6 12 12 16 14" })
|
|
21894
|
-
] });
|
|
21895
|
-
}
|
|
21896
|
-
function RulerIcon$1({ size = 18 }) {
|
|
21897
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21898
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z" }),
|
|
21899
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m14.5 12.5 2-2" }),
|
|
21900
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m11.5 9.5 2-2" }),
|
|
21901
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m8.5 6.5 2-2" }),
|
|
21902
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m17.5 15.5 2-2" })
|
|
21903
|
-
] });
|
|
21904
|
-
}
|
|
21905
|
-
function SparkleIcon({ size = 18 }) {
|
|
21906
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z" }) });
|
|
21907
|
-
}
|
|
21908
|
-
function TrashIcon({ size = 14 }) {
|
|
21909
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21910
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "3 6 5 6 21 6" }),
|
|
21911
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
|
|
21912
|
-
] });
|
|
21913
|
-
}
|
|
21914
|
-
function ChevronRightIcon() {
|
|
21915
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9 18l6-6-6-6" }) });
|
|
21916
|
-
}
|
|
21917
|
-
function ChevronDownIcon({ size = 18 }) {
|
|
21918
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.4, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m6 9 6 6 6-6" }) });
|
|
21919
|
-
}
|
|
21920
|
-
function CheckIcon$1({ size = 14 }) {
|
|
21921
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "20 6 9 17 4 12" }) });
|
|
21922
|
-
}
|
|
21923
|
-
function GlobeIcon({ size = 16 }) {
|
|
21924
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
21925
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
21926
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M2 12h20" }),
|
|
21927
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
|
|
21928
|
-
] });
|
|
21929
|
-
}
|
|
21930
|
-
function Stepper({ view, stepIndex }) {
|
|
21931
|
-
if (view === "error" || view === "idle") return null;
|
|
21932
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-dots", children: Array.from({ length: TOTAL_STEPS }, (_, i) => i + 1).map((i) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `ps-tryon-dot${i < stepIndex ? " ps-done" : i === stepIndex ? " ps-active" : ""}` }, i)) });
|
|
21933
|
-
}
|
|
21934
|
-
function LangSwitcher({
|
|
21935
|
-
activeLocale: current,
|
|
21936
|
-
onSelect,
|
|
21937
|
-
portalContainer
|
|
21938
|
-
}) {
|
|
21939
|
-
const [open, setOpen] = reactExports.useState(false);
|
|
21940
|
-
const triggerRef = reactExports.useRef(null);
|
|
21941
|
-
const dropRef = reactExports.useRef(null);
|
|
21942
|
-
const [pos, setPos] = reactExports.useState({ top: 0, right: 0 });
|
|
21943
|
-
const currentLabel = LOCALE_LABELS[current] || "English";
|
|
21944
|
-
const updatePos = reactExports.useCallback(() => {
|
|
21945
|
-
if (!triggerRef.current) return;
|
|
21946
|
-
const rect = triggerRef.current.getBoundingClientRect();
|
|
21947
|
-
setPos({ top: rect.bottom + 4, right: window.innerWidth - rect.right });
|
|
21948
|
-
}, []);
|
|
21949
|
-
reactExports.useEffect(() => {
|
|
21950
|
-
if (!open) return;
|
|
21951
|
-
updatePos();
|
|
21952
|
-
const handler = (e) => {
|
|
21953
|
-
const path = e.composedPath?.() ?? [];
|
|
21954
|
-
if (triggerRef.current && path.includes(triggerRef.current)) return;
|
|
21955
|
-
if (dropRef.current && path.includes(dropRef.current)) return;
|
|
21956
|
-
if (triggerRef.current?.contains(e.target)) return;
|
|
21957
|
-
if (dropRef.current?.contains(e.target)) return;
|
|
21958
|
-
setOpen(false);
|
|
21959
|
-
};
|
|
21960
|
-
document.addEventListener("mousedown", handler);
|
|
21961
|
-
window.addEventListener("resize", updatePos);
|
|
21962
|
-
window.addEventListener("scroll", updatePos, true);
|
|
21963
|
-
return () => {
|
|
21964
|
-
document.removeEventListener("mousedown", handler);
|
|
21965
|
-
window.removeEventListener("resize", updatePos);
|
|
21966
|
-
window.removeEventListener("scroll", updatePos, true);
|
|
21967
|
-
};
|
|
21968
|
-
}, [open, updatePos]);
|
|
21969
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
21970
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
21971
|
-
"button",
|
|
21972
|
-
{
|
|
21973
|
-
ref: triggerRef,
|
|
21974
|
-
className: `ps-tryon-lang-trigger${open ? " ps-active" : ""}`,
|
|
21975
|
-
onClick: () => setOpen(!open),
|
|
21976
|
-
children: [
|
|
21977
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(GlobeIcon, { size: 15 }),
|
|
21978
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-current", children: currentLabel }),
|
|
21979
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `ps-tryon-lang-arrow${open ? " ps-open" : ""}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDownIcon, { size: 18 }) })
|
|
21980
|
-
]
|
|
21981
|
-
}
|
|
21982
|
-
),
|
|
21983
|
-
open && reactDomExports.createPortal(
|
|
21984
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
21985
|
-
"div",
|
|
21986
|
-
{
|
|
21987
|
-
ref: dropRef,
|
|
21988
|
-
className: "ps-tryon-lang-dropdown",
|
|
21989
|
-
style: {
|
|
21990
|
-
position: "fixed",
|
|
21991
|
-
top: pos.top,
|
|
21992
|
-
right: pos.right,
|
|
21993
|
-
// Match the overlay's z-index (2147483647) so the dropdown sits
|
|
21994
|
-
// above it. With equal z-index, document order wins — and the
|
|
21995
|
-
// dropdown is portaled later than the overlay so it stacks on top.
|
|
21996
|
-
zIndex: 2147483647
|
|
21997
|
-
},
|
|
21998
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-lang-list", children: SUPPORTED_LOCALES.map((code) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
21999
|
-
"button",
|
|
22000
|
-
{
|
|
22001
|
-
className: `ps-tryon-lang-item${code === current ? " ps-selected" : ""}`,
|
|
22002
|
-
onClick: () => {
|
|
22003
|
-
onSelect(code);
|
|
22004
|
-
setOpen(false);
|
|
22005
|
-
},
|
|
22006
|
-
children: [
|
|
22007
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-name", children: LOCALE_LABELS[code] || code }),
|
|
22008
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-code", children: code.toUpperCase() }),
|
|
22009
|
-
code === current && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-check", children: /* @__PURE__ */ jsxRuntimeExports.jsx(CheckIcon$1, { size: 12 }) })
|
|
22010
|
-
]
|
|
22011
|
-
},
|
|
22012
|
-
code
|
|
22013
|
-
)) })
|
|
22014
|
-
}
|
|
22015
|
-
),
|
|
22016
|
-
portalContainer ?? document.body
|
|
22017
|
-
)
|
|
22018
|
-
] });
|
|
22019
|
-
}
|
|
22020
|
-
const MALE_FIELDS = [
|
|
22021
|
-
{ key: "heightCm", label: "Height", metricUnit: "cm", imperialUnit: "ft/in" },
|
|
22022
|
-
{ key: "weightKg", label: "Weight", metricUnit: "kg", imperialUnit: "lbs" },
|
|
22023
|
-
{ key: "age", label: "Age", metricUnit: "years", imperialUnit: "years" }
|
|
22024
|
-
];
|
|
22025
|
-
const FEMALE_FIELDS = [
|
|
22026
|
-
{ key: "heightCm", label: "Height", metricUnit: "cm", imperialUnit: "ft/in" },
|
|
22027
|
-
{ key: "weightKg", label: "Weight", metricUnit: "kg", imperialUnit: "lbs" },
|
|
22028
|
-
{ key: "age", label: "Age", metricUnit: "years", imperialUnit: "years" }
|
|
22029
|
-
];
|
|
22030
|
-
function ProfileEditView({
|
|
22031
|
-
profile,
|
|
22032
|
-
onSave,
|
|
22033
|
-
onCancel,
|
|
22034
|
-
t: t2
|
|
22035
|
-
}) {
|
|
22036
|
-
const [name, setName] = reactExports.useState(profile?.name || "");
|
|
22037
|
-
const [gender, setGender] = reactExports.useState(
|
|
22038
|
-
profile?.gender === "female" ? "female" : "male"
|
|
22039
|
-
);
|
|
22040
|
-
const [unit, setUnit] = reactExports.useState(profile?.sizingUnit || "cm");
|
|
22041
|
-
const [vals, setVals] = reactExports.useState(() => {
|
|
22042
|
-
if (!profile) return {};
|
|
22043
|
-
const r2 = {};
|
|
22044
|
-
for (const k2 of ["heightCm", "weightKg", "age"]) {
|
|
22045
|
-
const v2 = profile[k2];
|
|
22046
|
-
if (typeof v2 === "number" && v2 > 0) r2[k2] = String(v2);
|
|
21854
|
+
|
|
21855
|
+
/* ════════════════════════════════════════════════════════════════
|
|
21856
|
+
Mobile stability pass.
|
|
21857
|
+
Keep this block last: older mobile patches above mix vw/px/svh and
|
|
21858
|
+
compete with each other. These rules define the final phone layout
|
|
21859
|
+
contract for every SDK modal screen.
|
|
21860
|
+
════════════════════════════════════════════════════════════════ */
|
|
21861
|
+
@media (max-width: 768px) {
|
|
21862
|
+
.ps-tryon-overlay {
|
|
21863
|
+
--ps-mobile-x: clamp(14px, 4vw, 18px);
|
|
21864
|
+
--ps-mobile-y: clamp(10px, 3vw, 14px);
|
|
21865
|
+
--ps-mobile-footer-gap: 72px;
|
|
21866
|
+
padding: 0 !important;
|
|
21867
|
+
overflow: hidden !important;
|
|
21868
|
+
align-items: stretch !important;
|
|
21869
|
+
justify-content: stretch !important;
|
|
22047
21870
|
}
|
|
22048
|
-
|
|
22049
|
-
|
|
22050
|
-
|
|
22051
|
-
|
|
22052
|
-
|
|
22053
|
-
|
|
22054
|
-
|
|
22055
|
-
|
|
22056
|
-
|
|
22057
|
-
|
|
21871
|
+
|
|
21872
|
+
.ps-tryon-modal,
|
|
21873
|
+
.ps-tryon-modal-wide {
|
|
21874
|
+
width: 100dvw !important;
|
|
21875
|
+
max-width: 100dvw !important;
|
|
21876
|
+
height: 100svh !important;
|
|
21877
|
+
min-height: 100svh !important;
|
|
21878
|
+
max-height: 100svh !important;
|
|
21879
|
+
border-radius: 0 !important;
|
|
21880
|
+
display: flex !important;
|
|
21881
|
+
flex-direction: column !important;
|
|
21882
|
+
overflow: hidden !important;
|
|
21883
|
+
box-shadow: none !important;
|
|
21884
|
+
padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left) !important;
|
|
21885
|
+
background: var(--ps-bg-primary) !important;
|
|
22058
21886
|
}
|
|
22059
|
-
|
|
22060
|
-
|
|
22061
|
-
|
|
21887
|
+
|
|
21888
|
+
.ps-tryon-header {
|
|
21889
|
+
min-height: 48px !important;
|
|
21890
|
+
padding: 8px var(--ps-mobile-x) !important;
|
|
21891
|
+
border-radius: 0 !important;
|
|
21892
|
+
flex: 0 0 auto !important;
|
|
21893
|
+
gap: 8px !important;
|
|
22062
21894
|
}
|
|
22063
|
-
|
|
22064
|
-
|
|
22065
|
-
|
|
22066
|
-
|
|
21895
|
+
.ps-tryon-powered-by {
|
|
21896
|
+
min-width: 0 !important;
|
|
21897
|
+
overflow: hidden !important;
|
|
21898
|
+
text-overflow: ellipsis !important;
|
|
22067
21899
|
}
|
|
22068
|
-
|
|
22069
|
-
|
|
21900
|
+
.ps-tryon-close,
|
|
21901
|
+
.ps-tryon-header-mobile-menu-btn,
|
|
21902
|
+
.ps-tryon-header-icon {
|
|
21903
|
+
width: 36px !important;
|
|
21904
|
+
height: 36px !important;
|
|
21905
|
+
min-width: 36px !important;
|
|
21906
|
+
min-height: 36px !important;
|
|
21907
|
+
}
|
|
21908
|
+
.ps-tryon-close svg,
|
|
21909
|
+
.ps-tryon-header-mobile-menu-btn svg,
|
|
21910
|
+
.ps-tryon-header-icon svg {
|
|
21911
|
+
width: 18px !important;
|
|
21912
|
+
height: 18px !important;
|
|
21913
|
+
}
|
|
21914
|
+
|
|
21915
|
+
.ps-tryon-body {
|
|
21916
|
+
flex: 1 1 auto !important;
|
|
21917
|
+
min-height: 0 !important;
|
|
21918
|
+
height: auto !important;
|
|
21919
|
+
padding: var(--ps-mobile-y) var(--ps-mobile-x) 0 !important;
|
|
21920
|
+
overflow: hidden !important;
|
|
21921
|
+
display: flex !important;
|
|
21922
|
+
flex-direction: column !important;
|
|
21923
|
+
background: var(--ps-bg-primary) !important;
|
|
21924
|
+
}
|
|
21925
|
+
.ps-tryon-body > .ps-tryon-back-btn {
|
|
21926
|
+
flex: 0 0 auto !important;
|
|
21927
|
+
margin: 0 0 8px !important;
|
|
21928
|
+
min-height: 34px !important;
|
|
21929
|
+
font-size: 13px !important;
|
|
21930
|
+
}
|
|
21931
|
+
.ps-tryon-view-enter {
|
|
21932
|
+
flex: 1 1 auto !important;
|
|
21933
|
+
min-height: 0 !important;
|
|
21934
|
+
width: 100% !important;
|
|
21935
|
+
overflow: hidden !important;
|
|
21936
|
+
display: flex !important;
|
|
21937
|
+
flex-direction: column !important;
|
|
21938
|
+
}
|
|
21939
|
+
.ps-tryon-view-enter > * {
|
|
21940
|
+
min-width: 0 !important;
|
|
21941
|
+
}
|
|
21942
|
+
|
|
21943
|
+
/* Shared mobile screen primitives */
|
|
21944
|
+
.ps-bp-wrapper,
|
|
21945
|
+
.ps-bp-root,
|
|
21946
|
+
.ps-bp-layout,
|
|
21947
|
+
.ps-bpm-root,
|
|
21948
|
+
.ps-pm-root,
|
|
21949
|
+
.ps-tryon-sr,
|
|
21950
|
+
.ps-msr-root,
|
|
21951
|
+
.ps-msd-root,
|
|
21952
|
+
.ps-msp-root,
|
|
21953
|
+
.ps-cpw-root,
|
|
21954
|
+
.ps-pmv-root,
|
|
21955
|
+
.ps-profile-auth,
|
|
21956
|
+
.ps-acc-mobile-wrap,
|
|
21957
|
+
.ps-acc-mobile-photo,
|
|
21958
|
+
.ps-acc-mobile-details {
|
|
21959
|
+
flex: 1 1 auto !important;
|
|
21960
|
+
min-height: 0 !important;
|
|
21961
|
+
width: 100% !important;
|
|
21962
|
+
max-width: 100% !important;
|
|
21963
|
+
}
|
|
21964
|
+
.ps-bp-wrapper,
|
|
21965
|
+
.ps-bp-root,
|
|
21966
|
+
.ps-bpm-root,
|
|
21967
|
+
.ps-pm-root,
|
|
21968
|
+
.ps-tryon-sr,
|
|
21969
|
+
.ps-msr-root,
|
|
21970
|
+
.ps-msd-root,
|
|
21971
|
+
.ps-msp-root,
|
|
21972
|
+
.ps-cpw-root,
|
|
21973
|
+
.ps-profile-auth {
|
|
21974
|
+
display: flex !important;
|
|
21975
|
+
flex-direction: column !important;
|
|
21976
|
+
overflow: hidden !important;
|
|
21977
|
+
}
|
|
21978
|
+
|
|
21979
|
+
/* Body details / manual flow */
|
|
21980
|
+
.ps-bp-layout {
|
|
21981
|
+
height: 100% !important;
|
|
21982
|
+
overflow: hidden !important;
|
|
21983
|
+
gap: 0 !important;
|
|
21984
|
+
}
|
|
21985
|
+
.ps-bp-root {
|
|
21986
|
+
padding: 0 !important;
|
|
21987
|
+
gap: 10px !important;
|
|
21988
|
+
justify-content: stretch !important;
|
|
21989
|
+
max-height: none !important;
|
|
21990
|
+
}
|
|
21991
|
+
.ps-bpm-root {
|
|
21992
|
+
padding: 0 !important;
|
|
21993
|
+
gap: 10px !important;
|
|
21994
|
+
}
|
|
21995
|
+
.ps-bpm-header {
|
|
21996
|
+
flex: 0 0 auto !important;
|
|
21997
|
+
margin: 0 !important;
|
|
21998
|
+
text-align: center !important;
|
|
21999
|
+
}
|
|
22000
|
+
.ps-bpm-title,
|
|
22001
|
+
.ps-bp-scan-details-title {
|
|
22002
|
+
font-size: 20px !important;
|
|
22003
|
+
line-height: 1.18 !important;
|
|
22004
|
+
letter-spacing: 0 !important;
|
|
22005
|
+
}
|
|
22006
|
+
.ps-bpm-subtitle,
|
|
22007
|
+
.ps-bp-scan-details-sub {
|
|
22008
|
+
display: block !important;
|
|
22009
|
+
margin-top: 6px !important;
|
|
22010
|
+
font-size: 12px !important;
|
|
22011
|
+
line-height: 1.4 !important;
|
|
22012
|
+
color: var(--ps-text-muted) !important;
|
|
22013
|
+
}
|
|
22014
|
+
.ps-bpm-toggle,
|
|
22015
|
+
.ps-bp-system-toggle,
|
|
22016
|
+
.ps-accm-toggle {
|
|
22017
|
+
flex: 0 0 auto !important;
|
|
22018
|
+
margin: 8px auto 10px !important;
|
|
22019
|
+
gap: 26px !important;
|
|
22020
|
+
}
|
|
22021
|
+
.ps-bpm-toggle-btn,
|
|
22022
|
+
.ps-bp-system-btn {
|
|
22023
|
+
font-size: 13px !important;
|
|
22024
|
+
min-height: 30px !important;
|
|
22025
|
+
padding: 4px 0 !important;
|
|
22026
|
+
}
|
|
22027
|
+
.ps-bpm-fields,
|
|
22028
|
+
.ps-accm-fields,
|
|
22029
|
+
.ps-bp-inline-fields {
|
|
22030
|
+
flex: 1 1 auto !important;
|
|
22031
|
+
min-height: 0 !important;
|
|
22032
|
+
overflow-y: auto !important;
|
|
22033
|
+
-webkit-overflow-scrolling: touch !important;
|
|
22034
|
+
padding-bottom: 8px !important;
|
|
22035
|
+
}
|
|
22036
|
+
.ps-bpm-row,
|
|
22037
|
+
.ps-bp-inline-row,
|
|
22038
|
+
.ps-accm-row {
|
|
22039
|
+
padding: 12px 0 !important;
|
|
22040
|
+
gap: 12px !important;
|
|
22041
|
+
}
|
|
22042
|
+
.ps-bpm-label,
|
|
22043
|
+
.ps-bp-inline-label,
|
|
22044
|
+
.ps-accm-label {
|
|
22045
|
+
font-size: 11px !important;
|
|
22046
|
+
letter-spacing: 0.12em !important;
|
|
22047
|
+
line-height: 1.25 !important;
|
|
22048
|
+
}
|
|
22049
|
+
.ps-bpm-value-display,
|
|
22050
|
+
.ps-bp-inline-input,
|
|
22051
|
+
.ps-accm-input {
|
|
22052
|
+
font-size: 19px !important;
|
|
22053
|
+
line-height: 1.2 !important;
|
|
22054
|
+
}
|
|
22055
|
+
.ps-bp-profile-card {
|
|
22056
|
+
flex: 0 0 auto !important;
|
|
22057
|
+
padding: 10px 12px !important;
|
|
22058
|
+
min-height: 0 !important;
|
|
22059
|
+
border-radius: 12px !important;
|
|
22060
|
+
gap: 10px !important;
|
|
22061
|
+
align-items: center !important;
|
|
22062
|
+
}
|
|
22063
|
+
.ps-bp-profile-card-copy {
|
|
22064
|
+
gap: 2px !important;
|
|
22065
|
+
min-width: 0 !important;
|
|
22066
|
+
}
|
|
22067
|
+
.ps-bp-profile-card-eyebrow {
|
|
22068
|
+
font-size: 10px !important;
|
|
22069
|
+
letter-spacing: 0.12em !important;
|
|
22070
|
+
}
|
|
22071
|
+
.ps-bp-profile-card-copy strong {
|
|
22072
|
+
font-size: 15px !important;
|
|
22073
|
+
line-height: 1.15 !important;
|
|
22074
|
+
}
|
|
22075
|
+
.ps-bp-profile-card-copy span:last-child {
|
|
22076
|
+
font-size: 11.5px !important;
|
|
22077
|
+
line-height: 1.3 !important;
|
|
22078
|
+
}
|
|
22079
|
+
.ps-bp-profile-card-action {
|
|
22080
|
+
min-height: 34px !important;
|
|
22081
|
+
padding: 0 12px !important;
|
|
22082
|
+
border-radius: 999px !important;
|
|
22083
|
+
font-size: 11px !important;
|
|
22084
|
+
white-space: nowrap !important;
|
|
22085
|
+
}
|
|
22086
|
+
|
|
22087
|
+
.ps-bpm-spacer {
|
|
22088
|
+
flex: 1 1 auto !important;
|
|
22089
|
+
min-height: 6px !important;
|
|
22090
|
+
}
|
|
22091
|
+
.ps-bpm-bottom,
|
|
22092
|
+
.ps-msr-bottom,
|
|
22093
|
+
.ps-msd-actions,
|
|
22094
|
+
.ps-cpw-footer,
|
|
22095
|
+
.ps-pmv-actions {
|
|
22096
|
+
flex: 0 0 auto !important;
|
|
22097
|
+
margin-left: calc(-1 * var(--ps-mobile-x)) !important;
|
|
22098
|
+
margin-right: calc(-1 * var(--ps-mobile-x)) !important;
|
|
22099
|
+
padding: 10px var(--ps-mobile-x) calc(10px + env(safe-area-inset-bottom)) !important;
|
|
22100
|
+
border-top: 1px solid var(--ps-border-subtle) !important;
|
|
22101
|
+
background: rgba(255,255,255,0.98) !important;
|
|
22102
|
+
box-shadow: 0 -14px 30px -28px rgba(17,24,39,0.35) !important;
|
|
22103
|
+
backdrop-filter: blur(10px) !important;
|
|
22104
|
+
-webkit-backdrop-filter: blur(10px) !important;
|
|
22105
|
+
z-index: 8 !important;
|
|
22106
|
+
}
|
|
22107
|
+
.ps-bpm-next-btn,
|
|
22108
|
+
.ps-pm-primary-btn,
|
|
22109
|
+
.ps-msr-tryon-cta,
|
|
22110
|
+
.ps-msd-primary-cta,
|
|
22111
|
+
.ps-cpw-next-btn,
|
|
22112
|
+
.ps-pmv-btn-primary,
|
|
22113
|
+
.ps-tryon-v2-cta {
|
|
22114
|
+
min-height: 42px !important;
|
|
22115
|
+
border-radius: 10px !important;
|
|
22116
|
+
font-size: 12px !important;
|
|
22117
|
+
line-height: 1.1 !important;
|
|
22118
|
+
letter-spacing: 0.08em !important;
|
|
22119
|
+
padding: 0 14px !important;
|
|
22120
|
+
white-space: nowrap !important;
|
|
22121
|
+
}
|
|
22122
|
+
.ps-bpm-bottom-tabs {
|
|
22123
|
+
min-height: 38px !important;
|
|
22124
|
+
margin-left: calc(-1 * var(--ps-mobile-x)) !important;
|
|
22125
|
+
margin-right: calc(-1 * var(--ps-mobile-x)) !important;
|
|
22126
|
+
}
|
|
22127
|
+
.ps-bpm-bottom-tab {
|
|
22128
|
+
min-height: 38px !important;
|
|
22129
|
+
font-size: 10px !important;
|
|
22130
|
+
letter-spacing: 0.12em !important;
|
|
22131
|
+
}
|
|
22132
|
+
|
|
22133
|
+
/* AI scan / photo flow */
|
|
22134
|
+
.ps-bp-scan-progress {
|
|
22135
|
+
flex: 0 0 auto !important;
|
|
22136
|
+
padding: 6px 4px 0 !important;
|
|
22137
|
+
margin: 0 0 10px !important;
|
|
22138
|
+
gap: 6px !important;
|
|
22139
|
+
}
|
|
22140
|
+
.ps-bp-scan-progress-track {
|
|
22141
|
+
gap: 9px !important;
|
|
22142
|
+
max-width: calc(100% - 48px) !important;
|
|
22143
|
+
}
|
|
22144
|
+
.ps-bp-scan-progress-label {
|
|
22145
|
+
font-size: 10.5px !important;
|
|
22146
|
+
letter-spacing: 0.08em !important;
|
|
22147
|
+
}
|
|
22148
|
+
.ps-bp-scan-progress-line {
|
|
22149
|
+
flex-basis: 28px !important;
|
|
22150
|
+
}
|
|
22151
|
+
.ps-bp-scan-details-center {
|
|
22152
|
+
flex: 1 1 auto !important;
|
|
22153
|
+
min-height: 0 !important;
|
|
22154
|
+
justify-content: flex-start !important;
|
|
22155
|
+
overflow-y: auto !important;
|
|
22156
|
+
padding: 6px 0 10px !important;
|
|
22157
|
+
gap: 10px !important;
|
|
22158
|
+
}
|
|
22159
|
+
.ps-bp-scan-details-center:not(.ps-shoe-scan-details) .ps-bp-system-toggle {
|
|
22160
|
+
margin-top: 14px !important;
|
|
22161
|
+
margin-bottom: 8px !important;
|
|
22162
|
+
}
|
|
22163
|
+
.ps-pm-root {
|
|
22164
|
+
padding: 0 !important;
|
|
22165
|
+
gap: 10px !important;
|
|
22166
|
+
}
|
|
22167
|
+
.ps-pm-header {
|
|
22168
|
+
flex: 0 0 auto !important;
|
|
22169
|
+
margin: 0 !important;
|
|
22170
|
+
}
|
|
22171
|
+
.ps-pm-title {
|
|
22172
|
+
font-size: 18px !important;
|
|
22173
|
+
line-height: 1.2 !important;
|
|
22174
|
+
margin: 0 0 4px !important;
|
|
22175
|
+
}
|
|
22176
|
+
.ps-pm-subtitle {
|
|
22177
|
+
font-size: 12px !important;
|
|
22178
|
+
line-height: 1.4 !important;
|
|
22179
|
+
margin: 0 !important;
|
|
22180
|
+
}
|
|
22181
|
+
.ps-pm-preview {
|
|
22182
|
+
flex: 1 1 auto !important;
|
|
22183
|
+
min-height: 240px !important;
|
|
22184
|
+
max-height: none !important;
|
|
22185
|
+
height: auto !important;
|
|
22186
|
+
border-radius: 14px !important;
|
|
22187
|
+
}
|
|
22188
|
+
.ps-bp-scan-progress ~ .ps-pm-root .ps-pm-preview.ps-pm-preview-tall {
|
|
22189
|
+
flex: 1 1 auto !important;
|
|
22190
|
+
min-height: min(54svh, 330px) !important;
|
|
22191
|
+
height: auto !important;
|
|
22192
|
+
}
|
|
22193
|
+
.ps-pm-preview-img,
|
|
22194
|
+
.ps-photo-zone-img,
|
|
22195
|
+
.ps-cpw-photo-preview-img,
|
|
22196
|
+
.ps-cpw-photo-frame-img {
|
|
22197
|
+
object-fit: contain !important;
|
|
22198
|
+
object-position: center center !important;
|
|
22199
|
+
}
|
|
22200
|
+
.ps-pm-age-chip {
|
|
22201
|
+
flex: 0 0 auto !important;
|
|
22202
|
+
margin: 8px 0 0 !important;
|
|
22203
|
+
padding: 9px 11px !important;
|
|
22204
|
+
}
|
|
22205
|
+
.ps-pm-age-chip-q {
|
|
22206
|
+
font-size: 12px !important;
|
|
22207
|
+
}
|
|
22208
|
+
.ps-pm-age-chip-btn {
|
|
22209
|
+
min-height: 30px !important;
|
|
22210
|
+
padding: 0 13px !important;
|
|
22211
|
+
}
|
|
22212
|
+
.ps-pm-checklist,
|
|
22213
|
+
.ps-pm-legal-notice,
|
|
22214
|
+
.ps-pm-dodonts-grid,
|
|
22215
|
+
.ps-pm-dodonts-tip {
|
|
22216
|
+
flex: 0 0 auto !important;
|
|
22217
|
+
}
|
|
22218
|
+
.ps-bp-photo-help {
|
|
22219
|
+
max-height: 82svh !important;
|
|
22220
|
+
overflow-y: auto !important;
|
|
22221
|
+
}
|
|
22222
|
+
|
|
22223
|
+
/* Size result / try-on result mobile */
|
|
22224
|
+
.ps-tryon-sr {
|
|
22225
|
+
min-height: 0 !important;
|
|
22226
|
+
}
|
|
22227
|
+
.ps-msr-root,
|
|
22228
|
+
.ps-msd-root {
|
|
22229
|
+
margin: 0 calc(-1 * var(--ps-mobile-x)) !important;
|
|
22230
|
+
}
|
|
22231
|
+
.ps-msr-scroll,
|
|
22232
|
+
.ps-msd-scroll,
|
|
22233
|
+
.ps-msp-scroll,
|
|
22234
|
+
.ps-cpw-body,
|
|
22235
|
+
.ps-pmv-root {
|
|
22236
|
+
flex: 1 1 auto !important;
|
|
22237
|
+
min-height: 0 !important;
|
|
22238
|
+
overflow-y: auto !important;
|
|
22239
|
+
overflow-x: hidden !important;
|
|
22240
|
+
-webkit-overflow-scrolling: touch !important;
|
|
22241
|
+
}
|
|
22242
|
+
.ps-msr-scroll,
|
|
22243
|
+
.ps-msd-scroll {
|
|
22244
|
+
padding: 8px var(--ps-mobile-x) calc(92px + env(safe-area-inset-bottom)) !important;
|
|
22245
|
+
gap: 12px !important;
|
|
22246
|
+
}
|
|
22247
|
+
.ps-msr-eyebrow {
|
|
22248
|
+
font-size: 10px !important;
|
|
22249
|
+
margin: 0 !important;
|
|
22250
|
+
}
|
|
22251
|
+
.ps-msr-product {
|
|
22252
|
+
gap: 10px !important;
|
|
22253
|
+
}
|
|
22254
|
+
.ps-msr-product-img-wrap,
|
|
22255
|
+
.ps-msd-image {
|
|
22256
|
+
width: 100% !important;
|
|
22257
|
+
height: auto !important;
|
|
22258
|
+
min-height: 260px !important;
|
|
22259
|
+
max-height: 52svh !important;
|
|
22260
|
+
aspect-ratio: 3 / 4 !important;
|
|
22261
|
+
border-radius: 14px !important;
|
|
22262
|
+
}
|
|
22263
|
+
.ps-msr-product-img,
|
|
22264
|
+
.ps-msd-image-img {
|
|
22265
|
+
width: 100% !important;
|
|
22266
|
+
height: 100% !important;
|
|
22267
|
+
object-fit: contain !important;
|
|
22268
|
+
object-position: center center !important;
|
|
22269
|
+
}
|
|
22270
|
+
.ps-msr-product-name {
|
|
22271
|
+
font-size: 14px !important;
|
|
22272
|
+
line-height: 1.25 !important;
|
|
22273
|
+
}
|
|
22274
|
+
.ps-msr-sections {
|
|
22275
|
+
margin-top: 2px !important;
|
|
22276
|
+
}
|
|
22277
|
+
.ps-msr-section-card {
|
|
22278
|
+
min-height: 92px !important;
|
|
22279
|
+
padding: 13px 14px !important;
|
|
22280
|
+
gap: 6px !important;
|
|
22281
|
+
}
|
|
22282
|
+
.ps-msr-section-icon-lg {
|
|
22283
|
+
width: 42px !important;
|
|
22284
|
+
height: 42px !important;
|
|
22285
|
+
margin-bottom: 2px !important;
|
|
22286
|
+
}
|
|
22287
|
+
.ps-msr-section-size {
|
|
22288
|
+
font-size: 28px !important;
|
|
22289
|
+
}
|
|
22290
|
+
.ps-msr-bottom-row,
|
|
22291
|
+
.ps-tryon-v2-action-group,
|
|
22292
|
+
.ps-msd-result-action-group {
|
|
22293
|
+
display: grid !important;
|
|
22294
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
|
|
22295
|
+
gap: 8px !important;
|
|
22296
|
+
width: 100% !important;
|
|
22297
|
+
align-items: stretch !important;
|
|
22298
|
+
}
|
|
22299
|
+
.ps-tryon-v2-action-group-history {
|
|
22300
|
+
grid-template-columns: minmax(0, auto) !important;
|
|
22301
|
+
justify-content: end !important;
|
|
22302
|
+
}
|
|
22303
|
+
.ps-tryon-v2-action-group > .ps-tryon-v2-cta,
|
|
22304
|
+
.ps-msr-commerce-row .ps-tryon-v2-cta,
|
|
22305
|
+
.ps-msd-result-action-group .ps-tryon-v2-cta {
|
|
22306
|
+
width: 100% !important;
|
|
22307
|
+
min-width: 0 !important;
|
|
22308
|
+
flex: 1 1 auto !important;
|
|
22309
|
+
gap: 6px !important;
|
|
22310
|
+
letter-spacing: 0.07em !important;
|
|
22311
|
+
}
|
|
22312
|
+
.ps-tryon-v2-history-product-cta {
|
|
22313
|
+
width: auto !important;
|
|
22314
|
+
min-width: 0 !important;
|
|
22315
|
+
padding: 0 13px !important;
|
|
22316
|
+
}
|
|
22317
|
+
.ps-tryon-v2-add-bag-cta svg,
|
|
22318
|
+
.ps-tryon-v2-history-product-cta svg {
|
|
22319
|
+
width: 17px !important;
|
|
22320
|
+
height: 17px !important;
|
|
22321
|
+
}
|
|
22322
|
+
.ps-msr-media-actions {
|
|
22323
|
+
right: 8px !important;
|
|
22324
|
+
bottom: 8px !important;
|
|
22325
|
+
gap: 6px !important;
|
|
22326
|
+
}
|
|
22327
|
+
.ps-msr-feedback-slot {
|
|
22328
|
+
left: 8px !important;
|
|
22329
|
+
bottom: 8px !important;
|
|
22330
|
+
max-width: calc(100% - 16px) !important;
|
|
22331
|
+
}
|
|
22332
|
+
|
|
22333
|
+
/* Single-section detail */
|
|
22334
|
+
.ps-msd-topbar {
|
|
22335
|
+
flex: 0 0 auto !important;
|
|
22336
|
+
padding: 2px 0 4px !important;
|
|
22337
|
+
margin: 0 !important;
|
|
22338
|
+
}
|
|
22339
|
+
.ps-msd-card {
|
|
22340
|
+
padding: 16px !important;
|
|
22341
|
+
border-radius: 14px !important;
|
|
22342
|
+
gap: 9px !important;
|
|
22343
|
+
}
|
|
22344
|
+
.ps-msd-card-size-row {
|
|
22345
|
+
align-items: center !important;
|
|
22346
|
+
gap: 9px !important;
|
|
22347
|
+
flex-wrap: wrap !important;
|
|
22348
|
+
}
|
|
22349
|
+
.ps-msd-card-size {
|
|
22350
|
+
font-size: clamp(28px, 9vw, 38px) !important;
|
|
22351
|
+
line-height: 1 !important;
|
|
22352
|
+
overflow-wrap: anywhere !important;
|
|
22353
|
+
}
|
|
22354
|
+
.ps-msd-row {
|
|
22355
|
+
padding: 13px 0 !important;
|
|
22356
|
+
gap: 8px !important;
|
|
22357
|
+
}
|
|
22358
|
+
.ps-msd-row-cells {
|
|
22359
|
+
gap: 10px !important;
|
|
22360
|
+
}
|
|
22361
|
+
.ps-msd-cell-value {
|
|
22362
|
+
font-size: 17px !important;
|
|
22363
|
+
overflow-wrap: anywhere !important;
|
|
22364
|
+
}
|
|
22365
|
+
.ps-msd-sizes-pills {
|
|
22366
|
+
gap: 8px !important;
|
|
22367
|
+
}
|
|
22368
|
+
.ps-msd-size-pill {
|
|
22369
|
+
min-height: 36px !important;
|
|
22370
|
+
padding: 0 12px !important;
|
|
22371
|
+
border-radius: 999px !important;
|
|
22372
|
+
}
|
|
22373
|
+
.ps-msd-actions {
|
|
22374
|
+
position: static !important;
|
|
22375
|
+
margin: 12px 0 0 !important;
|
|
22376
|
+
padding: 10px 0 0 !important;
|
|
22377
|
+
border-top: 1px solid var(--ps-border-subtle) !important;
|
|
22378
|
+
box-shadow: none !important;
|
|
22379
|
+
background: transparent !important;
|
|
22380
|
+
backdrop-filter: none !important;
|
|
22381
|
+
-webkit-backdrop-filter: none !important;
|
|
22382
|
+
}
|
|
22383
|
+
|
|
22384
|
+
/* Product carousel: always compact, always square, never footer-sized. */
|
|
22385
|
+
.ps-tryon-photo-strip {
|
|
22386
|
+
flex: 0 0 auto !important;
|
|
22387
|
+
margin-top: 10px !important;
|
|
22388
|
+
gap: 7px !important;
|
|
22389
|
+
}
|
|
22390
|
+
.ps-tryon-photo-strip-head {
|
|
22391
|
+
min-height: 14px !important;
|
|
22392
|
+
}
|
|
22393
|
+
.ps-tryon-photo-strip-badge {
|
|
22394
|
+
font-size: 10px !important;
|
|
22395
|
+
letter-spacing: 0.12em !important;
|
|
22396
|
+
}
|
|
22397
|
+
.ps-tryon-photo-strip-row {
|
|
22398
|
+
display: grid !important;
|
|
22399
|
+
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
|
|
22400
|
+
gap: 8px !important;
|
|
22401
|
+
}
|
|
22402
|
+
.ps-tryon-photo-strip-row.ps-count-1 {
|
|
22403
|
+
grid-template-columns: minmax(0, calc((100% - 16px) / 3)) !important;
|
|
22404
|
+
justify-content: center !important;
|
|
22405
|
+
}
|
|
22406
|
+
.ps-tryon-photo-strip-row.ps-count-2 {
|
|
22407
|
+
grid-template-columns: repeat(2, minmax(0, calc((100% - 16px) / 3))) !important;
|
|
22408
|
+
justify-content: center !important;
|
|
22409
|
+
}
|
|
22410
|
+
.ps-tryon-photo-strip-cell {
|
|
22411
|
+
aspect-ratio: 1 / 1 !important;
|
|
22412
|
+
max-height: 31vw !important;
|
|
22413
|
+
border-radius: 11px !important;
|
|
22414
|
+
}
|
|
22415
|
+
.ps-tryon-photo-strip-cell > img {
|
|
22416
|
+
object-fit: cover !important;
|
|
22417
|
+
object-position: center center !important;
|
|
22418
|
+
width: 100% !important;
|
|
22419
|
+
height: 100% !important;
|
|
22420
|
+
}
|
|
22421
|
+
|
|
22422
|
+
/* Profile management and auth */
|
|
22423
|
+
.ps-msp-scroll {
|
|
22424
|
+
padding: 0 !important;
|
|
22425
|
+
}
|
|
22426
|
+
.ps-msp-home {
|
|
22427
|
+
height: auto !important;
|
|
22428
|
+
min-height: 100% !important;
|
|
22429
|
+
gap: 12px !important;
|
|
22430
|
+
}
|
|
22431
|
+
.ps-msp-welcome-panel {
|
|
22432
|
+
flex: 0 0 auto !important;
|
|
22433
|
+
flex-direction: column !important;
|
|
22434
|
+
gap: 10px !important;
|
|
22435
|
+
padding: 4px 0 12px !important;
|
|
22436
|
+
}
|
|
22437
|
+
.ps-msp-kicker {
|
|
22438
|
+
font-size: 10px !important;
|
|
22439
|
+
letter-spacing: 0.12em !important;
|
|
22440
|
+
}
|
|
22441
|
+
.ps-msp-title {
|
|
22442
|
+
font-size: 22px !important;
|
|
22443
|
+
line-height: 1.15 !important;
|
|
22444
|
+
}
|
|
22445
|
+
.ps-msp-subtitle {
|
|
22446
|
+
font-size: 12.5px !important;
|
|
22447
|
+
line-height: 1.45 !important;
|
|
22448
|
+
}
|
|
22449
|
+
.ps-msp-header-actions {
|
|
22450
|
+
width: 100% !important;
|
|
22451
|
+
display: grid !important;
|
|
22452
|
+
grid-template-columns: 1fr auto !important;
|
|
22453
|
+
gap: 8px !important;
|
|
22454
|
+
}
|
|
22455
|
+
.ps-msp-primary-create,
|
|
22456
|
+
.ps-msp-logout {
|
|
22457
|
+
min-height: 38px !important;
|
|
22458
|
+
font-size: 12px !important;
|
|
22459
|
+
padding: 0 13px !important;
|
|
22460
|
+
border-radius: 999px !important;
|
|
22461
|
+
}
|
|
22462
|
+
.ps-msp-cards-panel,
|
|
22463
|
+
.ps-msp-cards-scroll {
|
|
22464
|
+
flex: 1 1 auto !important;
|
|
22465
|
+
min-height: 0 !important;
|
|
22466
|
+
max-height: none !important;
|
|
22467
|
+
overflow-y: auto !important;
|
|
22468
|
+
}
|
|
22469
|
+
.ps-msp-grid {
|
|
22470
|
+
grid-template-columns: 1fr !important;
|
|
22471
|
+
gap: 12px !important;
|
|
22472
|
+
margin: 0 0 14px !important;
|
|
22473
|
+
}
|
|
22474
|
+
.ps-msp-card {
|
|
22475
|
+
padding: 14px !important;
|
|
22476
|
+
border-radius: 14px !important;
|
|
22477
|
+
}
|
|
22478
|
+
.ps-msp-card-circle {
|
|
22479
|
+
width: 72px !important;
|
|
22480
|
+
height: 72px !important;
|
|
22481
|
+
margin: 8px auto 12px !important;
|
|
22482
|
+
}
|
|
22483
|
+
.ps-msp-card-name {
|
|
22484
|
+
font-size: 16px !important;
|
|
22485
|
+
line-height: 1.25 !important;
|
|
22486
|
+
}
|
|
22487
|
+
.ps-msp-meta-label {
|
|
22488
|
+
font-size: 10px !important;
|
|
22489
|
+
}
|
|
22490
|
+
.ps-msp-meta-value {
|
|
22491
|
+
font-size: 13px !important;
|
|
22492
|
+
}
|
|
22493
|
+
.ps-msp-card-actions {
|
|
22494
|
+
gap: 8px !important;
|
|
22495
|
+
}
|
|
22496
|
+
.ps-msp-card-select {
|
|
22497
|
+
min-height: 38px !important;
|
|
22498
|
+
padding: 0 12px !important;
|
|
22499
|
+
font-size: 11px !important;
|
|
22500
|
+
border-radius: 9px !important;
|
|
22501
|
+
}
|
|
22502
|
+
.ps-msp-card-edit,
|
|
22503
|
+
.ps-msp-card-delete {
|
|
22504
|
+
width: 38px !important;
|
|
22505
|
+
height: 38px !important;
|
|
22506
|
+
border-radius: 9px !important;
|
|
22507
|
+
}
|
|
22508
|
+
.ps-profile-auth {
|
|
22509
|
+
padding: 0 !important;
|
|
22510
|
+
overflow-y: auto !important;
|
|
22511
|
+
}
|
|
22512
|
+
.ps-profile-auth-shell {
|
|
22513
|
+
display: flex !important;
|
|
22514
|
+
flex-direction: column !important;
|
|
22515
|
+
height: auto !important;
|
|
22516
|
+
min-height: 100% !important;
|
|
22517
|
+
overflow: visible !important;
|
|
22518
|
+
}
|
|
22519
|
+
.ps-profile-auth-story,
|
|
22520
|
+
.ps-profile-auth-card {
|
|
22521
|
+
padding: 14px 0 !important;
|
|
22522
|
+
border: 0 !important;
|
|
22523
|
+
}
|
|
22524
|
+
.ps-profile-auth-story {
|
|
22525
|
+
border-bottom: 1px solid var(--ps-border-subtle) !important;
|
|
22526
|
+
}
|
|
22527
|
+
.ps-profile-auth-visual {
|
|
22528
|
+
min-height: 110px !important;
|
|
22529
|
+
margin: 0 !important;
|
|
22530
|
+
}
|
|
22531
|
+
.ps-profile-auth-title {
|
|
22532
|
+
font-size: 22px !important;
|
|
22533
|
+
line-height: 1.12 !important;
|
|
22534
|
+
}
|
|
22535
|
+
.ps-profile-auth-copy,
|
|
22536
|
+
.ps-profile-auth-card-copy {
|
|
22537
|
+
font-size: 12.5px !important;
|
|
22538
|
+
line-height: 1.45 !important;
|
|
22539
|
+
}
|
|
22540
|
+
.ps-profile-auth-icon-row {
|
|
22541
|
+
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
|
|
22542
|
+
gap: 9px !important;
|
|
22543
|
+
}
|
|
22544
|
+
.ps-profile-auth-button {
|
|
22545
|
+
min-height: 58px !important;
|
|
22546
|
+
font-size: 12px !important;
|
|
22547
|
+
border-radius: 12px !important;
|
|
22548
|
+
}
|
|
22549
|
+
|
|
22550
|
+
/* Profile creation wizard and profile detail */
|
|
22551
|
+
.ps-cpw-body {
|
|
22552
|
+
padding: 0 !important;
|
|
22553
|
+
}
|
|
22554
|
+
.ps-cpw-step-head {
|
|
22555
|
+
flex: 0 0 auto !important;
|
|
22556
|
+
margin: 0 0 10px !important;
|
|
22557
|
+
}
|
|
22558
|
+
.ps-cpw-step-title,
|
|
22559
|
+
.ps-cpw-section-title {
|
|
22560
|
+
font-size: 20px !important;
|
|
22561
|
+
line-height: 1.2 !important;
|
|
22562
|
+
}
|
|
22563
|
+
.ps-cpw-section-sub {
|
|
22564
|
+
font-size: 12px !important;
|
|
22565
|
+
line-height: 1.4 !important;
|
|
22566
|
+
}
|
|
22567
|
+
.ps-cpw-image-split,
|
|
22568
|
+
.ps-cpw-photo-step {
|
|
22569
|
+
flex-direction: column !important;
|
|
22570
|
+
height: auto !important;
|
|
22571
|
+
min-height: 0 !important;
|
|
22572
|
+
gap: 12px !important;
|
|
22573
|
+
padding: 0 !important;
|
|
22574
|
+
overflow-y: auto !important;
|
|
22575
|
+
}
|
|
22576
|
+
.ps-cpw-image-left,
|
|
22577
|
+
.ps-cpw-image-right {
|
|
22578
|
+
width: 100% !important;
|
|
22579
|
+
min-width: 0 !important;
|
|
22580
|
+
min-height: 0 !important;
|
|
22581
|
+
}
|
|
22582
|
+
.ps-cpw-dropzone,
|
|
22583
|
+
.ps-cpw-photo-preview-frame,
|
|
22584
|
+
.ps-cpw-photo-preview {
|
|
22585
|
+
min-height: 250px !important;
|
|
22586
|
+
height: min(48svh, 360px) !important;
|
|
22587
|
+
border-radius: 14px !important;
|
|
22588
|
+
}
|
|
22589
|
+
.ps-cpw-inline-fields .ps-bp-inline-row {
|
|
22590
|
+
padding: 11px 0 !important;
|
|
22591
|
+
}
|
|
22592
|
+
.ps-cpw-pill-row {
|
|
22593
|
+
gap: 10px !important;
|
|
22594
|
+
flex-wrap: wrap !important;
|
|
22595
|
+
}
|
|
22596
|
+
.ps-cpw-pill {
|
|
22597
|
+
min-height: 34px !important;
|
|
22598
|
+
padding: 0 13px !important;
|
|
22599
|
+
font-size: 12px !important;
|
|
22600
|
+
border-radius: 999px !important;
|
|
22601
|
+
}
|
|
22602
|
+
.ps-pmv-root {
|
|
22603
|
+
padding: 0 !important;
|
|
22604
|
+
}
|
|
22605
|
+
.ps-pmv-data {
|
|
22606
|
+
padding-bottom: 12px !important;
|
|
22607
|
+
}
|
|
22608
|
+
.ps-pmv-hero {
|
|
22609
|
+
padding: 4px 0 12px !important;
|
|
22610
|
+
}
|
|
22611
|
+
.ps-pmv-hero-name {
|
|
22612
|
+
font-size: 22px !important;
|
|
22613
|
+
line-height: 1.15 !important;
|
|
22614
|
+
}
|
|
22615
|
+
.ps-pmv-measure-row,
|
|
22616
|
+
.ps-pmv-basic-row {
|
|
22617
|
+
padding: 12px 0 !important;
|
|
22618
|
+
gap: 10px !important;
|
|
22619
|
+
}
|
|
22620
|
+
.ps-pmv-measure-icon,
|
|
22621
|
+
.ps-pmv-basic-icon {
|
|
22622
|
+
width: 28px !important;
|
|
22623
|
+
height: 28px !important;
|
|
22624
|
+
}
|
|
22625
|
+
.ps-pmv-measure-label,
|
|
22626
|
+
.ps-pmv-basic-label {
|
|
22627
|
+
font-size: 11px !important;
|
|
22628
|
+
}
|
|
22629
|
+
.ps-pmv-measure-value,
|
|
22630
|
+
.ps-pmv-basic-value,
|
|
22631
|
+
.ps-pmv-inline-input,
|
|
22632
|
+
.ps-pmv-inline-select {
|
|
22633
|
+
font-size: 15px !important;
|
|
22634
|
+
}
|
|
22635
|
+
.ps-pmv-inline-input {
|
|
22636
|
+
width: 54px !important;
|
|
22637
|
+
}
|
|
22638
|
+
.ps-pmv-actions {
|
|
22639
|
+
position: sticky !important;
|
|
22640
|
+
bottom: 0 !important;
|
|
22641
|
+
justify-content: space-between !important;
|
|
22642
|
+
gap: 8px !important;
|
|
22643
|
+
flex-wrap: nowrap !important;
|
|
22644
|
+
}
|
|
22645
|
+
.ps-pmv-actions-right {
|
|
22646
|
+
gap: 8px !important;
|
|
22647
|
+
flex-wrap: nowrap !important;
|
|
22648
|
+
}
|
|
22649
|
+
.ps-pmv-btn-primary,
|
|
22650
|
+
.ps-pmv-btn-secondary,
|
|
22651
|
+
.ps-pmv-btn-edit,
|
|
22652
|
+
.ps-pmv-btn-delete {
|
|
22653
|
+
min-height: 40px !important;
|
|
22654
|
+
padding: 0 12px !important;
|
|
22655
|
+
border-radius: 10px !important;
|
|
22656
|
+
font-size: 11px !important;
|
|
22657
|
+
white-space: nowrap !important;
|
|
22658
|
+
}
|
|
22659
|
+
|
|
22660
|
+
/* History drawer = real mobile gallery sheet */
|
|
22661
|
+
.ps-tryon-drawer,
|
|
22662
|
+
.ps-tryon-history-drawer {
|
|
22663
|
+
position: absolute !important;
|
|
22664
|
+
inset: 0 !important;
|
|
22665
|
+
width: auto !important;
|
|
22666
|
+
max-width: none !important;
|
|
22667
|
+
height: auto !important;
|
|
22668
|
+
max-height: none !important;
|
|
22669
|
+
border-radius: 0 !important;
|
|
22670
|
+
transform: translateY(100%) !important;
|
|
22671
|
+
display: flex !important;
|
|
22672
|
+
flex-direction: column !important;
|
|
22673
|
+
padding: 0 !important;
|
|
22674
|
+
background: var(--ps-bg-primary) !important;
|
|
22675
|
+
z-index: 40 !important;
|
|
22676
|
+
}
|
|
22677
|
+
.ps-tryon-drawer-open {
|
|
22678
|
+
transform: translateY(0) !important;
|
|
22679
|
+
}
|
|
22680
|
+
.ps-tryon-drawer-header {
|
|
22681
|
+
flex: 0 0 auto !important;
|
|
22682
|
+
min-height: 52px !important;
|
|
22683
|
+
padding: 10px var(--ps-mobile-x) !important;
|
|
22684
|
+
margin: 0 !important;
|
|
22685
|
+
gap: 10px !important;
|
|
22686
|
+
border-bottom: 1px solid var(--ps-border-subtle) !important;
|
|
22687
|
+
}
|
|
22688
|
+
.ps-tryon-drawer-title {
|
|
22689
|
+
font-size: 17px !important;
|
|
22690
|
+
line-height: 1.25 !important;
|
|
22691
|
+
font-weight: 700 !important;
|
|
22692
|
+
}
|
|
22693
|
+
.ps-tryon-drawer-back,
|
|
22694
|
+
.ps-tryon-drawer-close,
|
|
22695
|
+
.ps-tryon-drawer-add-btn {
|
|
22696
|
+
width: 36px !important;
|
|
22697
|
+
height: 36px !important;
|
|
22698
|
+
min-width: 36px !important;
|
|
22699
|
+
border-radius: 10px !important;
|
|
22700
|
+
}
|
|
22701
|
+
.ps-tryon-drawer-list {
|
|
22702
|
+
flex: 1 1 auto !important;
|
|
22703
|
+
min-height: 0 !important;
|
|
22704
|
+
overflow-y: auto !important;
|
|
22705
|
+
-webkit-overflow-scrolling: touch !important;
|
|
22706
|
+
padding: 14px var(--ps-mobile-x) calc(14px + env(safe-area-inset-bottom)) !important;
|
|
22707
|
+
gap: 12px !important;
|
|
22708
|
+
}
|
|
22709
|
+
.ps-tryon-history-gallery {
|
|
22710
|
+
display: grid !important;
|
|
22711
|
+
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
|
|
22712
|
+
gap: 12px !important;
|
|
22713
|
+
align-items: start !important;
|
|
22714
|
+
}
|
|
22715
|
+
.ps-tryon-history-card {
|
|
22716
|
+
border-radius: 14px !important;
|
|
22717
|
+
overflow: hidden !important;
|
|
22718
|
+
background: #FFFFFF !important;
|
|
22719
|
+
}
|
|
22720
|
+
.ps-tryon-history-card-main {
|
|
22721
|
+
padding: 0 !important;
|
|
22722
|
+
gap: 8px !important;
|
|
22723
|
+
text-align: left !important;
|
|
22724
|
+
}
|
|
22725
|
+
.ps-tryon-history-card-media {
|
|
22726
|
+
width: 100% !important;
|
|
22727
|
+
height: auto !important;
|
|
22728
|
+
aspect-ratio: 3 / 4 !important;
|
|
22729
|
+
border-radius: 13px !important;
|
|
22730
|
+
background: #f3f5f9 !important;
|
|
22731
|
+
}
|
|
22732
|
+
.ps-tryon-history-card-img,
|
|
22733
|
+
.ps-tryon-history-card-placeholder {
|
|
22734
|
+
width: 100% !important;
|
|
22735
|
+
height: 100% !important;
|
|
22736
|
+
object-fit: cover !important;
|
|
22737
|
+
object-position: center center !important;
|
|
22738
|
+
}
|
|
22739
|
+
.ps-tryon-history-card-product {
|
|
22740
|
+
width: 38px !important;
|
|
22741
|
+
height: 38px !important;
|
|
22742
|
+
right: 8px !important;
|
|
22743
|
+
bottom: 8px !important;
|
|
22744
|
+
object-fit: cover !important;
|
|
22745
|
+
}
|
|
22746
|
+
.ps-tryon-history-card-title {
|
|
22747
|
+
font-size: 12px !important;
|
|
22748
|
+
line-height: 1.25 !important;
|
|
22749
|
+
padding: 0 2px !important;
|
|
22750
|
+
}
|
|
22751
|
+
.ps-tryon-history-card-meta,
|
|
22752
|
+
.ps-tryon-history-card-sections {
|
|
22753
|
+
font-size: 10.5px !important;
|
|
22754
|
+
padding: 0 2px !important;
|
|
22755
|
+
}
|
|
22756
|
+
.ps-tryon-history-card-size {
|
|
22757
|
+
margin: 0 2px 2px !important;
|
|
22758
|
+
font-size: 16px !important;
|
|
22759
|
+
}
|
|
22760
|
+
.ps-tryon-history-delete.ps-card-delete {
|
|
22761
|
+
top: 8px !important;
|
|
22762
|
+
right: 8px !important;
|
|
22763
|
+
width: 32px !important;
|
|
22764
|
+
height: 32px !important;
|
|
22765
|
+
border-radius: 10px !important;
|
|
22766
|
+
}
|
|
22767
|
+
.ps-tryon-drawer-clear {
|
|
22768
|
+
min-height: 40px !important;
|
|
22769
|
+
font-size: 12px !important;
|
|
22770
|
+
margin-top: 2px !important;
|
|
22771
|
+
}
|
|
22772
|
+
|
|
22773
|
+
/* Generic safety: never let long words/labels force horizontal scroll. */
|
|
22774
|
+
.ps-tryon-overlay button,
|
|
22775
|
+
.ps-tryon-overlay span,
|
|
22776
|
+
.ps-tryon-overlay p,
|
|
22777
|
+
.ps-tryon-overlay h1,
|
|
22778
|
+
.ps-tryon-overlay h2,
|
|
22779
|
+
.ps-tryon-overlay h3,
|
|
22780
|
+
.ps-tryon-overlay div {
|
|
22781
|
+
min-width: 0;
|
|
22782
|
+
}
|
|
22783
|
+
}
|
|
22784
|
+
|
|
22785
|
+
@media (max-width: 768px) and (max-height: 720px) {
|
|
22786
|
+
.ps-tryon-overlay {
|
|
22787
|
+
--ps-mobile-y: 8px;
|
|
22788
|
+
}
|
|
22789
|
+
.ps-bpm-title,
|
|
22790
|
+
.ps-bp-scan-details-title {
|
|
22791
|
+
font-size: 18px !important;
|
|
22792
|
+
}
|
|
22793
|
+
.ps-bpm-subtitle,
|
|
22794
|
+
.ps-bp-scan-details-sub {
|
|
22795
|
+
display: none !important;
|
|
22796
|
+
}
|
|
22797
|
+
.ps-bpm-toggle,
|
|
22798
|
+
.ps-bp-system-toggle,
|
|
22799
|
+
.ps-accm-toggle {
|
|
22800
|
+
margin: 5px auto 7px !important;
|
|
22801
|
+
}
|
|
22802
|
+
.ps-bpm-row,
|
|
22803
|
+
.ps-bp-inline-row,
|
|
22804
|
+
.ps-accm-row {
|
|
22805
|
+
padding: 9px 0 !important;
|
|
22806
|
+
gap: 8px !important;
|
|
22807
|
+
}
|
|
22808
|
+
.ps-bpm-value-display {
|
|
22809
|
+
font-size: 17px !important;
|
|
22810
|
+
}
|
|
22811
|
+
.ps-bpm-step-btn {
|
|
22812
|
+
width: 30px !important;
|
|
22813
|
+
height: 30px !important;
|
|
22814
|
+
}
|
|
22815
|
+
.ps-bpm-or {
|
|
22816
|
+
margin: 6px 0 !important;
|
|
22817
|
+
}
|
|
22818
|
+
.ps-bpm-upload-link {
|
|
22819
|
+
min-height: 76px !important;
|
|
22820
|
+
padding: 12px !important;
|
|
22821
|
+
}
|
|
22822
|
+
.ps-bpm-bottom,
|
|
22823
|
+
.ps-msr-bottom,
|
|
22824
|
+
.ps-msd-actions,
|
|
22825
|
+
.ps-cpw-footer,
|
|
22826
|
+
.ps-pmv-actions {
|
|
22827
|
+
padding-top: 8px !important;
|
|
22828
|
+
padding-bottom: calc(8px + env(safe-area-inset-bottom)) !important;
|
|
22829
|
+
}
|
|
22830
|
+
.ps-bpm-next-btn,
|
|
22831
|
+
.ps-pm-primary-btn,
|
|
22832
|
+
.ps-msr-tryon-cta,
|
|
22833
|
+
.ps-msd-primary-cta,
|
|
22834
|
+
.ps-cpw-next-btn,
|
|
22835
|
+
.ps-pmv-btn-primary,
|
|
22836
|
+
.ps-tryon-v2-cta {
|
|
22837
|
+
min-height: 40px !important;
|
|
22838
|
+
}
|
|
22839
|
+
.ps-bpm-bottom-tabs {
|
|
22840
|
+
min-height: 34px !important;
|
|
22841
|
+
}
|
|
22842
|
+
.ps-bpm-bottom-tab {
|
|
22843
|
+
min-height: 34px !important;
|
|
22844
|
+
padding: 6px !important;
|
|
22845
|
+
}
|
|
22846
|
+
}
|
|
22847
|
+
|
|
22848
|
+
/* Final mobile ergonomics patch: keep body-detail inputs readable, keep
|
|
22849
|
+
commerce CTAs from crowding, and give feedback a real mobile sheet. */
|
|
22850
|
+
@media (max-width: 768px) {
|
|
22851
|
+
.ps-bp-scan-details-title {
|
|
22852
|
+
margin: 4px 0 0 !important;
|
|
22853
|
+
}
|
|
22854
|
+
.ps-bp-scan-details-sub {
|
|
22855
|
+
margin: 4px 0 0 !important;
|
|
22856
|
+
}
|
|
22857
|
+
.ps-bp-scan-details-center:not(.ps-shoe-scan-details) .ps-bp-system-toggle,
|
|
22858
|
+
.ps-bp-photo-details-head .ps-bp-system-toggle,
|
|
22859
|
+
.ps-bp-system-toggle.ps-bp-system-toggle-compact {
|
|
22860
|
+
margin: 6px auto 8px !important;
|
|
22861
|
+
gap: 14px !important;
|
|
22862
|
+
}
|
|
22863
|
+
.ps-bp-photo-details-head {
|
|
22864
|
+
align-items: flex-start !important;
|
|
22865
|
+
gap: 8px !important;
|
|
22866
|
+
padding-bottom: 8px !important;
|
|
22867
|
+
}
|
|
22868
|
+
.ps-bp-photo-details-head h3 {
|
|
22869
|
+
font-size: 16px !important;
|
|
22870
|
+
line-height: 1.2 !important;
|
|
22871
|
+
padding-top: 3px !important;
|
|
22872
|
+
}
|
|
22873
|
+
.ps-bp-inline-fields {
|
|
22874
|
+
padding-top: 4px !important;
|
|
22875
|
+
padding-bottom: 14px !important;
|
|
22876
|
+
}
|
|
22877
|
+
.ps-bp-inline-row {
|
|
22878
|
+
display: grid !important;
|
|
22879
|
+
grid-template-columns: minmax(72px, 0.34fr) minmax(0, 1fr) !important;
|
|
22880
|
+
align-items: center !important;
|
|
22881
|
+
gap: 14px !important;
|
|
22882
|
+
padding: 16px 0 !important;
|
|
22883
|
+
min-height: 66px !important;
|
|
22884
|
+
}
|
|
22885
|
+
.ps-bp-inline-label {
|
|
22886
|
+
flex-basis: auto !important;
|
|
22887
|
+
min-width: 0 !important;
|
|
22888
|
+
font-size: 11px !important;
|
|
22889
|
+
letter-spacing: 0.13em !important;
|
|
22890
|
+
}
|
|
22891
|
+
.ps-bp-inline-input-group {
|
|
22892
|
+
display: grid !important;
|
|
22893
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto !important;
|
|
22894
|
+
align-items: end !important;
|
|
22895
|
+
gap: 8px !important;
|
|
22896
|
+
min-width: 0 !important;
|
|
22897
|
+
width: 100% !important;
|
|
22898
|
+
}
|
|
22899
|
+
.ps-bp-inline-row:not(:first-child) .ps-bp-inline-input-group,
|
|
22900
|
+
.ps-bp-inline-row .ps-bp-inline-input-group:has(input:only-child) {
|
|
22901
|
+
grid-template-columns: minmax(0, 1fr) auto !important;
|
|
22902
|
+
}
|
|
22903
|
+
.ps-bp-inline-input {
|
|
22904
|
+
min-height: 34px !important;
|
|
22905
|
+
font-size: 20px !important;
|
|
22906
|
+
line-height: 1.2 !important;
|
|
22907
|
+
padding-bottom: 7px !important;
|
|
22908
|
+
text-align: left !important;
|
|
22909
|
+
}
|
|
22910
|
+
.ps-bp-inline-unit {
|
|
22911
|
+
align-self: center !important;
|
|
22912
|
+
font-size: 12px !important;
|
|
22913
|
+
line-height: 1 !important;
|
|
22914
|
+
padding-bottom: 8px !important;
|
|
22915
|
+
}
|
|
22916
|
+
|
|
22917
|
+
.ps-msr-bottom,
|
|
22918
|
+
.ps-msd-actions {
|
|
22919
|
+
padding-top: 9px !important;
|
|
22920
|
+
padding-bottom: calc(9px + env(safe-area-inset-bottom)) !important;
|
|
22921
|
+
}
|
|
22922
|
+
.ps-msr-bottom-row,
|
|
22923
|
+
.ps-tryon-v2-action-group,
|
|
22924
|
+
.ps-msd-result-action-group {
|
|
22925
|
+
display: grid !important;
|
|
22926
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
|
|
22927
|
+
gap: 9px !important;
|
|
22928
|
+
align-items: stretch !important;
|
|
22929
|
+
}
|
|
22930
|
+
.ps-tryon-v2-action-group-history {
|
|
22931
|
+
display: flex !important;
|
|
22932
|
+
justify-content: flex-end !important;
|
|
22933
|
+
}
|
|
22934
|
+
.ps-tryon-v2-action-group > .ps-tryon-v2-cta,
|
|
22935
|
+
.ps-msr-commerce-row .ps-tryon-v2-cta,
|
|
22936
|
+
.ps-msd-result-action-group .ps-tryon-v2-cta {
|
|
22937
|
+
min-height: 40px !important;
|
|
22938
|
+
padding: 0 10px !important;
|
|
22939
|
+
border-radius: 9px !important;
|
|
22940
|
+
font-size: 11px !important;
|
|
22941
|
+
letter-spacing: 0.07em !important;
|
|
22942
|
+
gap: 5px !important;
|
|
22943
|
+
overflow: hidden !important;
|
|
22944
|
+
text-overflow: ellipsis !important;
|
|
22945
|
+
}
|
|
22946
|
+
.ps-tryon-v2-add-bag-cta svg,
|
|
22947
|
+
.ps-tryon-v2-history-product-cta svg {
|
|
22948
|
+
width: 18px !important;
|
|
22949
|
+
height: 18px !important;
|
|
22950
|
+
}
|
|
22951
|
+
@media (max-width: 374px) {
|
|
22952
|
+
.ps-msr-bottom-row,
|
|
22953
|
+
.ps-tryon-v2-action-group,
|
|
22954
|
+
.ps-msd-result-action-group {
|
|
22955
|
+
grid-template-columns: 1fr !important;
|
|
22956
|
+
}
|
|
22957
|
+
.ps-tryon-v2-action-group > .ps-tryon-v2-cta,
|
|
22958
|
+
.ps-msr-commerce-row .ps-tryon-v2-cta,
|
|
22959
|
+
.ps-msd-result-action-group .ps-tryon-v2-cta {
|
|
22960
|
+
min-height: 38px !important;
|
|
22961
|
+
}
|
|
22962
|
+
}
|
|
22963
|
+
|
|
22964
|
+
.ps-tryon-feedback-toggle.ps-mobile {
|
|
22965
|
+
min-height: 36px !important;
|
|
22966
|
+
padding: 0 13px !important;
|
|
22967
|
+
border-radius: 10px !important;
|
|
22968
|
+
font-size: 12px !important;
|
|
22969
|
+
gap: 7px !important;
|
|
22970
|
+
}
|
|
22971
|
+
.ps-tryon-feedback-toggle.ps-mobile svg {
|
|
22972
|
+
width: 16px !important;
|
|
22973
|
+
height: 16px !important;
|
|
22974
|
+
}
|
|
22975
|
+
.ps-tryon-feedback-backdrop.ps-mobile {
|
|
22976
|
+
position: fixed !important;
|
|
22977
|
+
inset: 0 !important;
|
|
22978
|
+
z-index: 2147483000 !important;
|
|
22979
|
+
border: 0 !important;
|
|
22980
|
+
padding: 0 !important;
|
|
22981
|
+
margin: 0 !important;
|
|
22982
|
+
background: rgba(15, 23, 42, 0.24) !important;
|
|
22983
|
+
backdrop-filter: blur(3px) !important;
|
|
22984
|
+
-webkit-backdrop-filter: blur(3px) !important;
|
|
22985
|
+
cursor: pointer !important;
|
|
22986
|
+
}
|
|
22987
|
+
.ps-tryon-feedback.ps-mobile {
|
|
22988
|
+
position: fixed !important;
|
|
22989
|
+
left: 12px !important;
|
|
22990
|
+
right: 12px !important;
|
|
22991
|
+
bottom: calc(12px + env(safe-area-inset-bottom)) !important;
|
|
22992
|
+
width: auto !important;
|
|
22993
|
+
max-width: 520px !important;
|
|
22994
|
+
margin: 0 auto !important;
|
|
22995
|
+
z-index: 2147483001 !important;
|
|
22996
|
+
padding: 16px !important;
|
|
22997
|
+
border-radius: 18px !important;
|
|
22998
|
+
gap: 13px !important;
|
|
22999
|
+
background: #FFFFFF !important;
|
|
23000
|
+
box-shadow: 0 22px 60px rgba(15, 23, 42, 0.28) !important;
|
|
23001
|
+
backdrop-filter: none !important;
|
|
23002
|
+
-webkit-backdrop-filter: none !important;
|
|
23003
|
+
}
|
|
23004
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-top {
|
|
23005
|
+
gap: 10px !important;
|
|
23006
|
+
}
|
|
23007
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-title {
|
|
23008
|
+
font-size: 16px !important;
|
|
23009
|
+
line-height: 1.2 !important;
|
|
23010
|
+
}
|
|
23011
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-close {
|
|
23012
|
+
width: 34px !important;
|
|
23013
|
+
height: 34px !important;
|
|
23014
|
+
}
|
|
23015
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-stars {
|
|
23016
|
+
gap: 7px !important;
|
|
23017
|
+
padding-top: 2px !important;
|
|
23018
|
+
}
|
|
23019
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-star {
|
|
23020
|
+
width: 32px !important;
|
|
23021
|
+
height: 32px !important;
|
|
23022
|
+
}
|
|
23023
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-form {
|
|
23024
|
+
grid-template-columns: 1fr auto !important;
|
|
23025
|
+
gap: 9px !important;
|
|
23026
|
+
align-items: end !important;
|
|
23027
|
+
}
|
|
23028
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-note {
|
|
23029
|
+
min-height: 48px !important;
|
|
23030
|
+
max-height: 120px !important;
|
|
23031
|
+
border-radius: 12px !important;
|
|
23032
|
+
font-size: 14px !important;
|
|
23033
|
+
padding: 12px !important;
|
|
23034
|
+
}
|
|
23035
|
+
.ps-tryon-feedback.ps-mobile .ps-tryon-feedback-submit {
|
|
23036
|
+
min-height: 48px !important;
|
|
23037
|
+
padding: 0 16px !important;
|
|
23038
|
+
border-radius: 12px !important;
|
|
23039
|
+
font-size: 13px !important;
|
|
23040
|
+
}
|
|
23041
|
+
}
|
|
23042
|
+
`;
|
|
23043
|
+
function CameraIcon$1({ size = 18 }) {
|
|
23044
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23045
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z" }),
|
|
23046
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "13", r: "4" })
|
|
23047
|
+
] });
|
|
23048
|
+
}
|
|
23049
|
+
function UploadIcon({ size = 48 }) {
|
|
23050
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23051
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
23052
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "17 8 12 3 7 8" }),
|
|
23053
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })
|
|
23054
|
+
] });
|
|
23055
|
+
}
|
|
23056
|
+
function XIcon({ size = 20 }) {
|
|
23057
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23058
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
23059
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
23060
|
+
] });
|
|
23061
|
+
}
|
|
23062
|
+
function ArrowLeftIcon() {
|
|
23063
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M15 18l-6-6 6-6" }) });
|
|
23064
|
+
}
|
|
23065
|
+
function ArrowRightIcon() {
|
|
23066
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M5 12h14M12 5l7 7-7 7" }) });
|
|
23067
|
+
}
|
|
23068
|
+
function UserIcon({ size = 16 }) {
|
|
23069
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23070
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
|
|
23071
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "7", r: "4" })
|
|
23072
|
+
] });
|
|
23073
|
+
}
|
|
23074
|
+
function ShoppingBagIcon({ size = 16 }) {
|
|
23075
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23076
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M16 10a4 4 0 0 1-8 0" }),
|
|
23077
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.103 6.034h17.794" }),
|
|
23078
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z" })
|
|
23079
|
+
] });
|
|
23080
|
+
}
|
|
23081
|
+
function ExternalLinkIcon({ size = 16 }) {
|
|
23082
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23083
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M14 3h7v7" }),
|
|
23084
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M10 14 21 3" }),
|
|
23085
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5" })
|
|
23086
|
+
] });
|
|
23087
|
+
}
|
|
23088
|
+
function ClockIcon({ size = 16 }) {
|
|
23089
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23090
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
23091
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "12 6 12 12 16 14" })
|
|
23092
|
+
] });
|
|
23093
|
+
}
|
|
23094
|
+
function RulerIcon$1({ size = 18 }) {
|
|
23095
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23096
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z" }),
|
|
23097
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m14.5 12.5 2-2" }),
|
|
23098
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m11.5 9.5 2-2" }),
|
|
23099
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m8.5 6.5 2-2" }),
|
|
23100
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m17.5 15.5 2-2" })
|
|
23101
|
+
] });
|
|
23102
|
+
}
|
|
23103
|
+
function SparkleIcon({ size = 18 }) {
|
|
23104
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z" }) });
|
|
23105
|
+
}
|
|
23106
|
+
function TrashIcon({ size = 14 }) {
|
|
23107
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23108
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "3 6 5 6 21 6" }),
|
|
23109
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
|
|
23110
|
+
] });
|
|
23111
|
+
}
|
|
23112
|
+
function ChevronRightIcon() {
|
|
23113
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9 18l6-6-6-6" }) });
|
|
23114
|
+
}
|
|
23115
|
+
function ChevronDownIcon({ size = 18 }) {
|
|
23116
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.4, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m6 9 6 6 6-6" }) });
|
|
23117
|
+
}
|
|
23118
|
+
function CheckIcon$1({ size = 14 }) {
|
|
23119
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntimeExports.jsx("polyline", { points: "20 6 9 17 4 12" }) });
|
|
23120
|
+
}
|
|
23121
|
+
function GlobeIcon({ size = 16 }) {
|
|
23122
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
23123
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
23124
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M2 12h20" }),
|
|
23125
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
|
|
23126
|
+
] });
|
|
23127
|
+
}
|
|
23128
|
+
function Stepper({ view, stepIndex }) {
|
|
23129
|
+
if (view === "error" || view === "idle") return null;
|
|
23130
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-dots", children: Array.from({ length: TOTAL_STEPS }, (_, i) => i + 1).map((i) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `ps-tryon-dot${i < stepIndex ? " ps-done" : i === stepIndex ? " ps-active" : ""}` }, i)) });
|
|
23131
|
+
}
|
|
23132
|
+
function LangSwitcher({
|
|
23133
|
+
activeLocale: current,
|
|
23134
|
+
onSelect,
|
|
23135
|
+
portalContainer
|
|
23136
|
+
}) {
|
|
23137
|
+
const [open, setOpen] = reactExports.useState(false);
|
|
23138
|
+
const triggerRef = reactExports.useRef(null);
|
|
23139
|
+
const dropRef = reactExports.useRef(null);
|
|
23140
|
+
const [pos, setPos] = reactExports.useState({ top: 0, right: 0 });
|
|
23141
|
+
const currentLabel = LOCALE_LABELS[current] || "English";
|
|
23142
|
+
const updatePos = reactExports.useCallback(() => {
|
|
23143
|
+
if (!triggerRef.current) return;
|
|
23144
|
+
const rect = triggerRef.current.getBoundingClientRect();
|
|
23145
|
+
setPos({ top: rect.bottom + 4, right: window.innerWidth - rect.right });
|
|
23146
|
+
}, []);
|
|
23147
|
+
reactExports.useEffect(() => {
|
|
23148
|
+
if (!open) return;
|
|
23149
|
+
updatePos();
|
|
23150
|
+
const handler = (e) => {
|
|
23151
|
+
const path = e.composedPath?.() ?? [];
|
|
23152
|
+
if (triggerRef.current && path.includes(triggerRef.current)) return;
|
|
23153
|
+
if (dropRef.current && path.includes(dropRef.current)) return;
|
|
23154
|
+
if (triggerRef.current?.contains(e.target)) return;
|
|
23155
|
+
if (dropRef.current?.contains(e.target)) return;
|
|
23156
|
+
setOpen(false);
|
|
23157
|
+
};
|
|
23158
|
+
document.addEventListener("mousedown", handler);
|
|
23159
|
+
window.addEventListener("resize", updatePos);
|
|
23160
|
+
window.addEventListener("scroll", updatePos, true);
|
|
23161
|
+
return () => {
|
|
23162
|
+
document.removeEventListener("mousedown", handler);
|
|
23163
|
+
window.removeEventListener("resize", updatePos);
|
|
23164
|
+
window.removeEventListener("scroll", updatePos, true);
|
|
23165
|
+
};
|
|
23166
|
+
}, [open, updatePos]);
|
|
23167
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
23168
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23169
|
+
"button",
|
|
23170
|
+
{
|
|
23171
|
+
ref: triggerRef,
|
|
23172
|
+
className: `ps-tryon-lang-trigger${open ? " ps-active" : ""}`,
|
|
23173
|
+
onClick: () => setOpen(!open),
|
|
23174
|
+
children: [
|
|
23175
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(GlobeIcon, { size: 15 }),
|
|
23176
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-current", children: currentLabel }),
|
|
23177
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `ps-tryon-lang-arrow${open ? " ps-open" : ""}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDownIcon, { size: 18 }) })
|
|
23178
|
+
]
|
|
23179
|
+
}
|
|
23180
|
+
),
|
|
23181
|
+
open && reactDomExports.createPortal(
|
|
23182
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23183
|
+
"div",
|
|
23184
|
+
{
|
|
23185
|
+
ref: dropRef,
|
|
23186
|
+
className: "ps-tryon-lang-dropdown",
|
|
23187
|
+
style: {
|
|
23188
|
+
position: "fixed",
|
|
23189
|
+
top: pos.top,
|
|
23190
|
+
right: pos.right,
|
|
23191
|
+
// Match the overlay's z-index (2147483647) so the dropdown sits
|
|
23192
|
+
// above it. With equal z-index, document order wins — and the
|
|
23193
|
+
// dropdown is portaled later than the overlay so it stacks on top.
|
|
23194
|
+
zIndex: 2147483647
|
|
23195
|
+
},
|
|
23196
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-lang-list", children: SUPPORTED_LOCALES.map((code) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23197
|
+
"button",
|
|
23198
|
+
{
|
|
23199
|
+
className: `ps-tryon-lang-item${code === current ? " ps-selected" : ""}`,
|
|
23200
|
+
onClick: () => {
|
|
23201
|
+
onSelect(code);
|
|
23202
|
+
setOpen(false);
|
|
23203
|
+
},
|
|
23204
|
+
children: [
|
|
23205
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-name", children: LOCALE_LABELS[code] || code }),
|
|
23206
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-code", children: code.toUpperCase() }),
|
|
23207
|
+
code === current && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-lang-check", children: /* @__PURE__ */ jsxRuntimeExports.jsx(CheckIcon$1, { size: 12 }) })
|
|
23208
|
+
]
|
|
23209
|
+
},
|
|
23210
|
+
code
|
|
23211
|
+
)) })
|
|
23212
|
+
}
|
|
23213
|
+
),
|
|
23214
|
+
portalContainer ?? document.body
|
|
23215
|
+
)
|
|
23216
|
+
] });
|
|
23217
|
+
}
|
|
23218
|
+
const MALE_FIELDS = [
|
|
23219
|
+
{ key: "heightCm", label: "Height", metricUnit: "cm", imperialUnit: "ft/in" },
|
|
23220
|
+
{ key: "weightKg", label: "Weight", metricUnit: "kg", imperialUnit: "lbs" },
|
|
23221
|
+
{ key: "age", label: "Age", metricUnit: "years", imperialUnit: "years" }
|
|
23222
|
+
];
|
|
23223
|
+
const FEMALE_FIELDS = [
|
|
23224
|
+
{ key: "heightCm", label: "Height", metricUnit: "cm", imperialUnit: "ft/in" },
|
|
23225
|
+
{ key: "weightKg", label: "Weight", metricUnit: "kg", imperialUnit: "lbs" },
|
|
23226
|
+
{ key: "age", label: "Age", metricUnit: "years", imperialUnit: "years" }
|
|
23227
|
+
];
|
|
23228
|
+
function ProfileEditView({
|
|
23229
|
+
profile,
|
|
23230
|
+
onSave,
|
|
23231
|
+
onCancel,
|
|
23232
|
+
t: t2
|
|
23233
|
+
}) {
|
|
23234
|
+
const [name, setName] = reactExports.useState(profile?.name || "");
|
|
23235
|
+
const [gender, setGender] = reactExports.useState(
|
|
23236
|
+
profile?.gender === "female" ? "female" : "male"
|
|
23237
|
+
);
|
|
23238
|
+
const [unit, setUnit] = reactExports.useState(profile?.sizingUnit || "cm");
|
|
23239
|
+
const [vals, setVals] = reactExports.useState(() => {
|
|
23240
|
+
if (!profile) return {};
|
|
23241
|
+
const r2 = {};
|
|
23242
|
+
for (const k2 of ["heightCm", "weightKg", "age"]) {
|
|
23243
|
+
const v2 = profile[k2];
|
|
23244
|
+
if (typeof v2 === "number" && v2 > 0) r2[k2] = String(v2);
|
|
23245
|
+
}
|
|
23246
|
+
return r2;
|
|
23247
|
+
});
|
|
23248
|
+
const fields = gender === "female" ? FEMALE_FIELDS : MALE_FIELDS;
|
|
23249
|
+
const [error, setError] = reactExports.useState("");
|
|
23250
|
+
const handleSave = () => {
|
|
23251
|
+
const missing = [];
|
|
23252
|
+
if (!name.trim()) missing.push(t2("Profile Name"));
|
|
23253
|
+
for (const f2 of fields) {
|
|
23254
|
+
const v2 = parseFloat(vals[f2.key] || "");
|
|
23255
|
+
if (!(v2 > 0)) missing.push(t2(f2.label));
|
|
23256
|
+
}
|
|
23257
|
+
if (missing.length > 0) {
|
|
23258
|
+
setError(t2("Please fill in all fields"));
|
|
23259
|
+
return;
|
|
23260
|
+
}
|
|
23261
|
+
setError("");
|
|
23262
|
+
const p2 = { name: name.trim(), gender, sizingUnit: unit };
|
|
23263
|
+
for (const f2 of fields) {
|
|
23264
|
+
p2[f2.key] = parseFloat(vals[f2.key]);
|
|
23265
|
+
}
|
|
23266
|
+
onSave(p2);
|
|
23267
|
+
};
|
|
22070
23268
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-profile-edit", children: [
|
|
22071
23269
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-sf-float-field", children: [
|
|
22072
23270
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "ps-tryon-sf-float-label", children: t2("Profile Name") }),
|
|
@@ -23028,7 +24226,7 @@ function MultiSectionMobile({
|
|
|
23028
24226
|
sizeGuide ? null : null
|
|
23029
24227
|
] });
|
|
23030
24228
|
}
|
|
23031
|
-
const PER_SLIDE =
|
|
24229
|
+
const PER_SLIDE = 3;
|
|
23032
24230
|
const CYCLE_MS = 4e3;
|
|
23033
24231
|
function ProductPhotoCarouselCard({
|
|
23034
24232
|
photos,
|
|
@@ -23202,7 +24400,7 @@ function TryOnExperienceFeedback({
|
|
|
23202
24400
|
}
|
|
23203
24401
|
);
|
|
23204
24402
|
}
|
|
23205
|
-
|
|
24403
|
+
const feedbackPanel = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `ps-tryon-feedback${isMobile ? " ps-mobile" : ""}`, "aria-label": t2("Rate your try-on"), children: [
|
|
23206
24404
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-feedback-top", children: [
|
|
23207
24405
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-feedback-title", children: t2("Rate your try-on") }),
|
|
23208
24406
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -23267,6 +24465,21 @@ function TryOnExperienceFeedback({
|
|
|
23267
24465
|
] }),
|
|
23268
24466
|
status === "error" && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-feedback-status", children: t2("Couldn't send. Try again.") })
|
|
23269
24467
|
] });
|
|
24468
|
+
if (isMobile) {
|
|
24469
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
24470
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24471
|
+
"button",
|
|
24472
|
+
{
|
|
24473
|
+
type: "button",
|
|
24474
|
+
className: "ps-tryon-feedback-backdrop ps-mobile",
|
|
24475
|
+
onClick: () => setExpanded(false),
|
|
24476
|
+
"aria-label": t2("Close")
|
|
24477
|
+
}
|
|
24478
|
+
),
|
|
24479
|
+
feedbackPanel
|
|
24480
|
+
] });
|
|
24481
|
+
}
|
|
24482
|
+
return feedbackPanel;
|
|
23270
24483
|
}
|
|
23271
24484
|
function ResultImageActionBar({
|
|
23272
24485
|
showLines,
|