@primestyleai/tryon 5.5.19 → 5.5.21
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/react/index.js +348 -61
- package/dist/react/styles.d.ts +1 -1
- package/package.json +1 -1
package/dist/react/index.js
CHANGED
|
@@ -3363,10 +3363,20 @@ const STYLES = `
|
|
|
3363
3363
|
MultiSectionMobile (.ps-msr-*) — mobile multi-section results
|
|
3364
3364
|
screen. Eyebrow + product hero + match badge + section list + CTA.
|
|
3365
3365
|
════════════════════════════════════════════════════════════════ */
|
|
3366
|
+
/* Layout: header (modal-level) → flex column root → scroll content
|
|
3367
|
+
(flex: 1, overflow-y: auto) → fixed bottom bar (flex-shrink: 0).
|
|
3368
|
+
This is more reliable than position: sticky inside an
|
|
3369
|
+
overflow:auto flex column, which was floating mid-screen. */
|
|
3366
3370
|
.ps-msr-root {
|
|
3367
3371
|
display: flex; flex-direction: column;
|
|
3368
|
-
|
|
3369
|
-
|
|
3372
|
+
height: 100%; min-height: 0;
|
|
3373
|
+
margin: 0 -16px;
|
|
3374
|
+
}
|
|
3375
|
+
.ps-msr-scroll {
|
|
3376
|
+
flex: 1; min-height: 0;
|
|
3377
|
+
overflow-y: auto; -webkit-overflow-scrolling: touch;
|
|
3378
|
+
display: flex; flex-direction: column;
|
|
3379
|
+
gap: 14px; padding: 8px 16px 24px;
|
|
3370
3380
|
}
|
|
3371
3381
|
.ps-msr-eyebrow {
|
|
3372
3382
|
font-size: 10px; font-weight: 600;
|
|
@@ -3470,16 +3480,13 @@ const STYLES = `
|
|
|
3470
3480
|
letter-spacing: -0.01em;
|
|
3471
3481
|
}
|
|
3472
3482
|
|
|
3473
|
-
/*
|
|
3474
|
-
while the cards above scroll. */
|
|
3483
|
+
/* Fixed bottom action bar — always visible, content scrolls above it */
|
|
3475
3484
|
.ps-msr-bottom {
|
|
3476
|
-
|
|
3477
|
-
margin: 14px -16px 0;
|
|
3478
|
-
padding: 14px 16px;
|
|
3479
|
-
padding-bottom: calc(14px + env(safe-area-inset-bottom));
|
|
3485
|
+
flex-shrink: 0;
|
|
3480
3486
|
background: var(--ps-bg-primary);
|
|
3481
3487
|
border-top: 1px solid var(--ps-border-subtle);
|
|
3482
|
-
|
|
3488
|
+
padding: 14px 16px;
|
|
3489
|
+
padding-bottom: calc(14px + env(safe-area-inset-bottom));
|
|
3483
3490
|
}
|
|
3484
3491
|
.ps-msr-tryon-cta {
|
|
3485
3492
|
display: flex; align-items: center; justify-content: center; gap: 8px;
|
|
@@ -3496,6 +3503,184 @@ const STYLES = `
|
|
|
3496
3503
|
.ps-msr-tryon-cta:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
3497
3504
|
.ps-msr-tryon-cta svg { flex-shrink: 0; }
|
|
3498
3505
|
|
|
3506
|
+
/* ════════════════════════════════════════════════════════════════
|
|
3507
|
+
MobileSectionDetail (.ps-msd-*) — section detail view on mobile.
|
|
3508
|
+
Big product image, big size value, match%, MEASUREMENT BLUEPRINT
|
|
3509
|
+
rows with PERFECT FIT badges, TRY ANOTHER SIZE picker.
|
|
3510
|
+
Self-scrolling — content can be long.
|
|
3511
|
+
════════════════════════════════════════════════════════════════ */
|
|
3512
|
+
.ps-msd-root {
|
|
3513
|
+
display: flex; flex-direction: column;
|
|
3514
|
+
gap: 14px; padding: 4px 4px 60px;
|
|
3515
|
+
height: 100%; min-height: 0;
|
|
3516
|
+
overflow-y: auto; -webkit-overflow-scrolling: touch;
|
|
3517
|
+
}
|
|
3518
|
+
.ps-msd-back {
|
|
3519
|
+
background: none; border: none;
|
|
3520
|
+
color: var(--ps-text-secondary);
|
|
3521
|
+
font-family: inherit; font-size: 12px; font-weight: 500;
|
|
3522
|
+
padding: 6px 0; margin-bottom: 4px;
|
|
3523
|
+
cursor: pointer; align-self: flex-start;
|
|
3524
|
+
display: flex; align-items: center; gap: 6px;
|
|
3525
|
+
transition: color 0.15s;
|
|
3526
|
+
}
|
|
3527
|
+
.ps-msd-back:hover { color: var(--ps-text-primary); }
|
|
3528
|
+
.ps-msd-back-arrow { font-size: 16px; line-height: 1; }
|
|
3529
|
+
|
|
3530
|
+
/* Big product image */
|
|
3531
|
+
.ps-msd-image {
|
|
3532
|
+
width: 100%; height: 240px;
|
|
3533
|
+
border-radius: 12px; overflow: hidden;
|
|
3534
|
+
background: var(--ps-bg-secondary);
|
|
3535
|
+
display: flex; align-items: center; justify-content: center;
|
|
3536
|
+
flex-shrink: 0;
|
|
3537
|
+
}
|
|
3538
|
+
.ps-msd-image-img {
|
|
3539
|
+
max-width: 100%; max-height: 100%;
|
|
3540
|
+
width: auto; height: 100%;
|
|
3541
|
+
object-fit: contain; display: block;
|
|
3542
|
+
}
|
|
3543
|
+
|
|
3544
|
+
/* Header: section name + big size + match */
|
|
3545
|
+
.ps-msd-header {
|
|
3546
|
+
display: flex; flex-direction: column; align-items: center;
|
|
3547
|
+
gap: 6px; padding: 14px 0 18px;
|
|
3548
|
+
border-bottom: 1px solid var(--ps-border-subtle);
|
|
3549
|
+
}
|
|
3550
|
+
.ps-msd-section-name {
|
|
3551
|
+
font-size: 11px; font-weight: 700;
|
|
3552
|
+
letter-spacing: 0.14em; text-transform: uppercase;
|
|
3553
|
+
color: var(--ps-text-muted);
|
|
3554
|
+
}
|
|
3555
|
+
.ps-msd-size-row {
|
|
3556
|
+
display: flex; align-items: baseline; gap: 8px;
|
|
3557
|
+
}
|
|
3558
|
+
.ps-msd-size-num {
|
|
3559
|
+
font-size: 64px; font-weight: 700;
|
|
3560
|
+
color: var(--ps-text-primary);
|
|
3561
|
+
line-height: 1; letter-spacing: -0.02em;
|
|
3562
|
+
font-feature-settings: "tnum" 1;
|
|
3563
|
+
}
|
|
3564
|
+
.ps-msd-size-len {
|
|
3565
|
+
font-size: 16px; font-weight: 500;
|
|
3566
|
+
color: var(--ps-text-secondary);
|
|
3567
|
+
}
|
|
3568
|
+
.ps-msd-match {
|
|
3569
|
+
display: flex; align-items: baseline; gap: 5px;
|
|
3570
|
+
}
|
|
3571
|
+
.ps-msd-match-pct {
|
|
3572
|
+
font-size: 13px; font-weight: 700;
|
|
3573
|
+
color: var(--ps-accent);
|
|
3574
|
+
font-feature-settings: "tnum" 1;
|
|
3575
|
+
}
|
|
3576
|
+
.ps-msd-match-label {
|
|
3577
|
+
font-size: 10px; font-weight: 600;
|
|
3578
|
+
letter-spacing: 0.12em; text-transform: uppercase;
|
|
3579
|
+
color: var(--ps-text-muted);
|
|
3580
|
+
}
|
|
3581
|
+
|
|
3582
|
+
/* MEASUREMENT BLUEPRINT */
|
|
3583
|
+
.ps-msd-blueprint {
|
|
3584
|
+
display: flex; flex-direction: column; gap: 8px;
|
|
3585
|
+
padding-top: 16px;
|
|
3586
|
+
}
|
|
3587
|
+
.ps-msd-blueprint-title {
|
|
3588
|
+
font-size: 11px; font-weight: 700;
|
|
3589
|
+
letter-spacing: 0.16em; text-transform: uppercase;
|
|
3590
|
+
color: var(--ps-text-muted);
|
|
3591
|
+
text-align: center; margin-bottom: 4px;
|
|
3592
|
+
}
|
|
3593
|
+
/* Measurement rows: label + inline values, badge on the right.
|
|
3594
|
+
No table structure — clean and minimal like the reference. */
|
|
3595
|
+
.ps-msd-rows {
|
|
3596
|
+
display: flex; flex-direction: column;
|
|
3597
|
+
}
|
|
3598
|
+
.ps-msd-row {
|
|
3599
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
3600
|
+
padding: 18px 4px;
|
|
3601
|
+
border-bottom: 1px solid var(--ps-border-subtle);
|
|
3602
|
+
gap: 12px;
|
|
3603
|
+
}
|
|
3604
|
+
.ps-msd-row:last-child { border-bottom: none; }
|
|
3605
|
+
.ps-msd-row-info {
|
|
3606
|
+
display: flex; flex-direction: column; gap: 6px;
|
|
3607
|
+
flex: 1; min-width: 0;
|
|
3608
|
+
}
|
|
3609
|
+
.ps-msd-row-label {
|
|
3610
|
+
font-size: 10px; font-weight: 700;
|
|
3611
|
+
letter-spacing: 0.12em; text-transform: uppercase;
|
|
3612
|
+
color: var(--ps-text-muted);
|
|
3613
|
+
}
|
|
3614
|
+
.ps-msd-row-values {
|
|
3615
|
+
display: flex; align-items: baseline; gap: 8px;
|
|
3616
|
+
color: var(--ps-text-primary);
|
|
3617
|
+
font-feature-settings: "tnum" 1;
|
|
3618
|
+
}
|
|
3619
|
+
.ps-msd-row-you {
|
|
3620
|
+
font-size: 17px; font-weight: 700;
|
|
3621
|
+
color: var(--ps-text-primary);
|
|
3622
|
+
}
|
|
3623
|
+
.ps-msd-row-sep {
|
|
3624
|
+
font-size: 16px; font-weight: 400;
|
|
3625
|
+
color: var(--ps-border-color);
|
|
3626
|
+
}
|
|
3627
|
+
.ps-msd-row-spec {
|
|
3628
|
+
font-size: 16px; font-weight: 500;
|
|
3629
|
+
color: var(--ps-text-secondary);
|
|
3630
|
+
}
|
|
3631
|
+
.ps-msd-row-badge {
|
|
3632
|
+
font-size: 9px; font-weight: 700;
|
|
3633
|
+
letter-spacing: 0.12em; text-transform: uppercase;
|
|
3634
|
+
padding: 5px 10px; border-radius: 999px;
|
|
3635
|
+
flex-shrink: 0; white-space: nowrap;
|
|
3636
|
+
}
|
|
3637
|
+
.ps-msd-row-badge.ps-good {
|
|
3638
|
+
background: rgba(33, 84, 239, 0.1);
|
|
3639
|
+
color: var(--ps-accent);
|
|
3640
|
+
}
|
|
3641
|
+
.ps-msd-row-badge.ps-tight {
|
|
3642
|
+
background: rgba(220, 38, 38, 0.1);
|
|
3643
|
+
color: #dc2626;
|
|
3644
|
+
}
|
|
3645
|
+
.ps-msd-row-badge.ps-loose {
|
|
3646
|
+
background: rgba(217, 119, 6, 0.1);
|
|
3647
|
+
color: #d97706;
|
|
3648
|
+
}
|
|
3649
|
+
|
|
3650
|
+
/* TRY ANOTHER SIZE picker */
|
|
3651
|
+
.ps-msd-sizes {
|
|
3652
|
+
display: flex; flex-direction: column; gap: 10px;
|
|
3653
|
+
padding-top: 18px;
|
|
3654
|
+
}
|
|
3655
|
+
.ps-msd-sizes-label {
|
|
3656
|
+
font-size: 11px; font-weight: 700;
|
|
3657
|
+
letter-spacing: 0.14em; text-transform: uppercase;
|
|
3658
|
+
color: var(--ps-text-muted);
|
|
3659
|
+
text-align: center;
|
|
3660
|
+
}
|
|
3661
|
+
.ps-msd-sizes-pills {
|
|
3662
|
+
display: flex; flex-wrap: wrap; gap: 8px;
|
|
3663
|
+
justify-content: center;
|
|
3664
|
+
}
|
|
3665
|
+
.ps-msd-size-pill {
|
|
3666
|
+
min-width: 48px;
|
|
3667
|
+
padding: 10px 16px;
|
|
3668
|
+
background: transparent;
|
|
3669
|
+
border: 1.5px solid var(--ps-border-color);
|
|
3670
|
+
border-radius: 8px;
|
|
3671
|
+
font-family: inherit; font-size: 13px; font-weight: 600;
|
|
3672
|
+
color: var(--ps-text-primary);
|
|
3673
|
+
cursor: pointer;
|
|
3674
|
+
transition: all 0.15s;
|
|
3675
|
+
}
|
|
3676
|
+
.ps-msd-size-pill:hover {
|
|
3677
|
+
border-color: var(--ps-accent);
|
|
3678
|
+
}
|
|
3679
|
+
.ps-msd-size-pill.ps-active {
|
|
3680
|
+
background: var(--ps-accent); color: #FFFFFF;
|
|
3681
|
+
border-color: var(--ps-accent);
|
|
3682
|
+
}
|
|
3683
|
+
|
|
3499
3684
|
/* Bottom action area — Next button + tab bar grouped together,
|
|
3500
3685
|
pushed to the bottom of the modal body by .ps-bpm-spacer above. */
|
|
3501
3686
|
.ps-bpm-bottom {
|
|
@@ -4729,58 +4914,60 @@ function MultiSectionMobile({
|
|
|
4729
4914
|
return 72;
|
|
4730
4915
|
}, [sizingResult]);
|
|
4731
4916
|
return /* @__PURE__ */ jsxs("div", { className: "ps-msr-root", children: [
|
|
4732
|
-
/* @__PURE__ */
|
|
4733
|
-
|
|
4734
|
-
/* @__PURE__ */ jsxs("div", { className: "ps-msr-product
|
|
4735
|
-
/* @__PURE__ */
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
/* @__PURE__ */ jsx("h2", { className: "ps-msr-product-name", children: productTitle })
|
|
4739
|
-
] }),
|
|
4740
|
-
/* @__PURE__ */ jsx("div", { className: "ps-msr-match-row", children: /* @__PURE__ */ jsxs("div", { className: "ps-msr-match", children: [
|
|
4741
|
-
/* @__PURE__ */ jsxs("div", { className: "ps-msr-match-circle", children: [
|
|
4742
|
-
/* @__PURE__ */ jsxs("svg", { className: "ps-msr-match-ring", viewBox: "0 0 44 44", children: [
|
|
4743
|
-
/* @__PURE__ */ jsx("circle", { cx: "22", cy: "22", r: "20", fill: "none", stroke: "var(--ps-border-color)", strokeWidth: "3" }),
|
|
4744
|
-
/* @__PURE__ */ jsx(
|
|
4745
|
-
"circle",
|
|
4746
|
-
{
|
|
4747
|
-
cx: "22",
|
|
4748
|
-
cy: "22",
|
|
4749
|
-
r: "20",
|
|
4750
|
-
fill: "none",
|
|
4751
|
-
stroke: "var(--ps-accent)",
|
|
4752
|
-
strokeWidth: "3",
|
|
4753
|
-
strokeLinecap: "round",
|
|
4754
|
-
strokeDasharray: `${matchPct / 100 * 125.66} 125.66`,
|
|
4755
|
-
transform: "rotate(-90 22 22)"
|
|
4756
|
-
}
|
|
4757
|
-
)
|
|
4917
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msr-scroll", children: [
|
|
4918
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msr-eyebrow", children: t("Sizing Profile") }),
|
|
4919
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msr-product", children: [
|
|
4920
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msr-product-img-wrap", children: [
|
|
4921
|
+
/* @__PURE__ */ jsx("img", { src: productImage, alt: productTitle, className: "ps-msr-product-img" }),
|
|
4922
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "ps-msr-bookmark", "aria-label": t("Save"), children: /* @__PURE__ */ jsx(BookmarkIcon, {}) })
|
|
4758
4923
|
] }),
|
|
4759
|
-
/* @__PURE__ */
|
|
4760
|
-
matchPct,
|
|
4761
|
-
"%"
|
|
4762
|
-
] })
|
|
4924
|
+
/* @__PURE__ */ jsx("h2", { className: "ps-msr-product-name", children: productTitle })
|
|
4763
4925
|
] }),
|
|
4764
|
-
/* @__PURE__ */ jsx("
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4926
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msr-match-row", children: /* @__PURE__ */ jsxs("div", { className: "ps-msr-match", children: [
|
|
4927
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msr-match-circle", children: [
|
|
4928
|
+
/* @__PURE__ */ jsxs("svg", { className: "ps-msr-match-ring", viewBox: "0 0 44 44", children: [
|
|
4929
|
+
/* @__PURE__ */ jsx("circle", { cx: "22", cy: "22", r: "20", fill: "none", stroke: "var(--ps-border-color)", strokeWidth: "3" }),
|
|
4930
|
+
/* @__PURE__ */ jsx(
|
|
4931
|
+
"circle",
|
|
4932
|
+
{
|
|
4933
|
+
cx: "22",
|
|
4934
|
+
cy: "22",
|
|
4935
|
+
r: "20",
|
|
4936
|
+
fill: "none",
|
|
4937
|
+
stroke: "var(--ps-accent)",
|
|
4938
|
+
strokeWidth: "3",
|
|
4939
|
+
strokeLinecap: "round",
|
|
4940
|
+
strokeDasharray: `${matchPct / 100 * 125.66} 125.66`,
|
|
4941
|
+
transform: "rotate(-90 22 22)"
|
|
4942
|
+
}
|
|
4943
|
+
)
|
|
4944
|
+
] }),
|
|
4945
|
+
/* @__PURE__ */ jsxs("span", { className: "ps-msr-match-pct", children: [
|
|
4946
|
+
matchPct,
|
|
4947
|
+
"%"
|
|
4948
|
+
] })
|
|
4949
|
+
] }),
|
|
4950
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msr-match-label", children: t("FIT MATCH") })
|
|
4951
|
+
] }) }),
|
|
4952
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msr-sections", children: sectionEntries.map(({ name, secResult }) => {
|
|
4953
|
+
const cleanName = name.replace(/\s*[—–-]\s*.*/g, "");
|
|
4954
|
+
const sec = secResult;
|
|
4955
|
+
const sizeValue = sec.size || secResult.recommendedSize;
|
|
4956
|
+
return /* @__PURE__ */ jsxs(
|
|
4957
|
+
"button",
|
|
4958
|
+
{
|
|
4959
|
+
type: "button",
|
|
4960
|
+
className: "ps-msr-section-card",
|
|
4961
|
+
onClick: () => onSelectSection(name),
|
|
4962
|
+
children: [
|
|
4963
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msr-section-name", children: cleanName.toUpperCase() }),
|
|
4964
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msr-section-size", children: sizeValue })
|
|
4965
|
+
]
|
|
4966
|
+
},
|
|
4967
|
+
name
|
|
4968
|
+
);
|
|
4969
|
+
}) })
|
|
4970
|
+
] }),
|
|
4784
4971
|
/* @__PURE__ */ jsx("div", { className: "ps-msr-bottom", children: /* @__PURE__ */ jsxs(
|
|
4785
4972
|
"button",
|
|
4786
4973
|
{
|
|
@@ -5006,7 +5193,10 @@ function SectionDetailView({
|
|
|
5006
5193
|
unitLbl,
|
|
5007
5194
|
lengthEntry,
|
|
5008
5195
|
onBack,
|
|
5009
|
-
t
|
|
5196
|
+
t,
|
|
5197
|
+
productImage,
|
|
5198
|
+
productTitle,
|
|
5199
|
+
isMobile: isMobileProp
|
|
5010
5200
|
}) {
|
|
5011
5201
|
const recSize = sectionResult?.recommendedSize || "";
|
|
5012
5202
|
const [selectedSize, setSelectedSize] = useState(null);
|
|
@@ -5163,6 +5353,85 @@ function SectionDetailView({
|
|
|
5163
5353
|
const backendAvailableLengths = secAny?.availableLengths || [];
|
|
5164
5354
|
const finalDisplayLength = selectedLength || backendLength;
|
|
5165
5355
|
const finalAllSizes = backendAvailableSizes.length > 0 ? backendAvailableSizes : allSizes;
|
|
5356
|
+
if (isMobileProp) {
|
|
5357
|
+
const cleanSectionName = sectionName.replace(/\s*[—–-]\s*.*/g, "");
|
|
5358
|
+
const fitBadgeLabel = (fit) => fit === "good" ? t("PERFECT FIT") : fit.includes("a-bit-tight") ? t("SLIGHTLY TIGHT") : fit.includes("a-bit-loose") ? t("SLIGHTLY LOOSE") : fit.includes("tight") ? t("TIGHT") : fit.includes("loose") ? t("LOOSE") : t("FIT");
|
|
5359
|
+
return /* @__PURE__ */ jsxs("div", { className: "ps-msd-root", children: [
|
|
5360
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "ps-msd-back", onClick: onBack, children: [
|
|
5361
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-back-arrow", children: "←" }),
|
|
5362
|
+
" ",
|
|
5363
|
+
t("Back to sections")
|
|
5364
|
+
] }),
|
|
5365
|
+
productImage && /* @__PURE__ */ jsx("div", { className: "ps-msd-image", children: /* @__PURE__ */ jsx("img", { src: productImage, alt: productTitle || "", className: "ps-msd-image-img" }) }),
|
|
5366
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msd-header", children: [
|
|
5367
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-section-name", children: cleanSectionName.toUpperCase() }),
|
|
5368
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msd-size-row", children: [
|
|
5369
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-size-num", children: backendSize }),
|
|
5370
|
+
finalDisplayLength && /* @__PURE__ */ jsx("span", { className: "ps-msd-size-len", children: finalDisplayLength })
|
|
5371
|
+
] }),
|
|
5372
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msd-match", children: [
|
|
5373
|
+
/* @__PURE__ */ jsxs("span", { className: "ps-msd-match-pct", children: [
|
|
5374
|
+
matchPercent,
|
|
5375
|
+
"%"
|
|
5376
|
+
] }),
|
|
5377
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-match-label", children: t("FIT MATCH") })
|
|
5378
|
+
] })
|
|
5379
|
+
] }),
|
|
5380
|
+
fitRows.length > 0 && /* @__PURE__ */ jsxs("div", { className: "ps-msd-blueprint", children: [
|
|
5381
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-blueprint-title", children: t("MEASUREMENT BLUEPRINT") }),
|
|
5382
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msd-rows", children: fitRows.map((row, i) => {
|
|
5383
|
+
const fitClass = row.fit === "good" ? "ps-good" : row.fit.includes("tight") ? "ps-tight" : "ps-loose";
|
|
5384
|
+
return /* @__PURE__ */ jsxs("div", { className: "ps-msd-row", children: [
|
|
5385
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msd-row-info", children: [
|
|
5386
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-row-label", children: row.area.toUpperCase() }),
|
|
5387
|
+
/* @__PURE__ */ jsxs("div", { className: "ps-msd-row-values", children: [
|
|
5388
|
+
/* @__PURE__ */ jsxs("span", { className: "ps-msd-row-you", children: [
|
|
5389
|
+
row.userNum,
|
|
5390
|
+
" ",
|
|
5391
|
+
unitLbl
|
|
5392
|
+
] }),
|
|
5393
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-row-sep", children: "/" }),
|
|
5394
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-row-spec", children: row.chartLabel })
|
|
5395
|
+
] })
|
|
5396
|
+
] }),
|
|
5397
|
+
/* @__PURE__ */ jsx("span", { className: `ps-msd-row-badge ${fitClass}`, children: row.isLength ? lengthFitLabelFn(row.fit, t) : fitBadgeLabel(row.fit) })
|
|
5398
|
+
] }, i);
|
|
5399
|
+
}) })
|
|
5400
|
+
] }),
|
|
5401
|
+
finalAllSizes.length > 1 && /* @__PURE__ */ jsxs("div", { className: "ps-msd-sizes", children: [
|
|
5402
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-sizes-label", children: t("TRY ANOTHER SIZE") }),
|
|
5403
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msd-sizes-pills", children: finalAllSizes.map((s) => {
|
|
5404
|
+
const isActive = s === displaySize;
|
|
5405
|
+
return /* @__PURE__ */ jsx(
|
|
5406
|
+
"button",
|
|
5407
|
+
{
|
|
5408
|
+
type: "button",
|
|
5409
|
+
className: `ps-msd-size-pill${isActive ? " ps-active" : ""}`,
|
|
5410
|
+
onClick: () => setSelectedSize(s === recSize ? null : s),
|
|
5411
|
+
children: s
|
|
5412
|
+
},
|
|
5413
|
+
s
|
|
5414
|
+
);
|
|
5415
|
+
}) })
|
|
5416
|
+
] }),
|
|
5417
|
+
(backendAvailableLengths.length > 0 || lengthSizes.length > 0) && /* @__PURE__ */ jsxs("div", { className: "ps-msd-sizes", children: [
|
|
5418
|
+
/* @__PURE__ */ jsx("span", { className: "ps-msd-sizes-label", children: t("LENGTH ADJUSTMENT") }),
|
|
5419
|
+
/* @__PURE__ */ jsx("div", { className: "ps-msd-sizes-pills", children: (backendAvailableLengths.length > 0 ? backendAvailableLengths : lengthSizes).map((s) => {
|
|
5420
|
+
const isActive = finalDisplayLength === s;
|
|
5421
|
+
return /* @__PURE__ */ jsx(
|
|
5422
|
+
"button",
|
|
5423
|
+
{
|
|
5424
|
+
type: "button",
|
|
5425
|
+
className: `ps-msd-size-pill${isActive ? " ps-active" : ""}`,
|
|
5426
|
+
onClick: () => setSelectedLength(s === backendLength ? null : s),
|
|
5427
|
+
children: s
|
|
5428
|
+
},
|
|
5429
|
+
s
|
|
5430
|
+
);
|
|
5431
|
+
}) })
|
|
5432
|
+
] })
|
|
5433
|
+
] });
|
|
5434
|
+
}
|
|
5166
5435
|
return /* @__PURE__ */ jsxs("div", { className: "ps-tryon-sec-detail", style: { padding: "1.5vw", display: "flex", flexDirection: "column", height: "100%", background: "#F8F9FA" }, children: [
|
|
5167
5436
|
/* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
|
|
5168
5437
|
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.75vw", fontWeight: 700, color: "var(--ps-accent)", textTransform: "uppercase", letterSpacing: "0.12em" }, children: isRecommended ? t("Recommended Size") : t("Not Recommended") }),
|
|
@@ -5581,10 +5850,28 @@ function SizeResultView({
|
|
|
5581
5850
|
] }),
|
|
5582
5851
|
(allDone || sizingResult && !isSnapProcessing) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5583
5852
|
isMultiSection ? activeSection ? (
|
|
5584
|
-
/* ── Detail view for a single section
|
|
5853
|
+
/* ── Detail view for a single section ── */
|
|
5585
5854
|
(() => {
|
|
5586
5855
|
const entry = sectionEntries.find((e) => e.name === activeSection);
|
|
5587
5856
|
if (!entry) return null;
|
|
5857
|
+
if (isMobile) {
|
|
5858
|
+
return /* @__PURE__ */ jsx(
|
|
5859
|
+
SectionDetailView,
|
|
5860
|
+
{
|
|
5861
|
+
sectionName: entry.name,
|
|
5862
|
+
section: entry.section,
|
|
5863
|
+
sectionResult: entry.secResult,
|
|
5864
|
+
userMeasurements: entry.userMeasurements,
|
|
5865
|
+
unitLbl,
|
|
5866
|
+
lengthEntry: findLengthForSection(entry.name, lengthEntries),
|
|
5867
|
+
onBack: () => setActiveSection(null),
|
|
5868
|
+
productImage: resultImageUrl || productImage,
|
|
5869
|
+
productTitle,
|
|
5870
|
+
isMobile: true,
|
|
5871
|
+
t
|
|
5872
|
+
}
|
|
5873
|
+
);
|
|
5874
|
+
}
|
|
5588
5875
|
return /* @__PURE__ */ jsxs("div", { className: "ps-tryon-v2", children: [
|
|
5589
5876
|
/* @__PURE__ */ jsx("div", { className: "ps-tryon-v2-bg", children: /* @__PURE__ */ jsx("img", { src: resultImageUrl || productImage, alt: productTitle, className: "ps-tryon-v2-bg-img" }) }),
|
|
5590
5877
|
/* @__PURE__ */ jsx("div", { className: "ps-tryon-v2-panel", children: /* @__PURE__ */ jsx(
|