@primestyleai/tryon 5.5.21 → 5.5.23

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.
@@ -3263,25 +3263,29 @@ const STYLES = `
3263
3263
  .ps-msc-corner.ps-bl { bottom: 0; left: 0; border-right: none; border-top: none; }
3264
3264
  .ps-msc-corner.ps-br { bottom: 0; right: 0; border-left: none; border-top: none; }
3265
3265
 
3266
- /* Scanning line that sweeps top-to-bottom */
3266
+ /* Scanning line that sweeps top-to-bottom — GPU-accelerated.
3267
+ Animating the top property caused first-paint stutter; switched
3268
+ to translate3d so the browser composites on its own layer
3269
+ without re-laying out the viewfinder on every frame. */
3267
3270
  .ps-msc-scanline {
3268
3271
  position: absolute; left: 28px; right: 28px;
3269
- height: 1.5px; z-index: 3;
3272
+ top: 28px; height: 1.5px; z-index: 3;
3270
3273
  background: linear-gradient(
3271
3274
  to right,
3272
3275
  transparent,
3273
- rgba(180,220,255,0.85),
3274
- rgba(180,220,255,0.85),
3276
+ rgba(180,220,255,0.9),
3277
+ rgba(180,220,255,0.9),
3275
3278
  transparent
3276
3279
  );
3277
- box-shadow: 0 0 8px rgba(180,220,255,0.5);
3278
- animation: ps-msc-scan 2.6s ease-in-out infinite;
3280
+ will-change: transform, opacity;
3281
+ transform: translate3d(0, 0, 0);
3282
+ animation: ps-msc-scan 2.8s ease-in-out 0.4s infinite;
3279
3283
  }
3280
3284
  @keyframes ps-msc-scan {
3281
- 0% { top: 28px; opacity: 0; }
3282
- 10% { opacity: 1; }
3283
- 90% { opacity: 1; }
3284
- 100% { top: calc(100% - 28px); opacity: 0; }
3285
+ 0% { transform: translate3d(0, 0, 0); opacity: 0; }
3286
+ 8% { opacity: 1; }
3287
+ 92% { opacity: 1; }
3288
+ 100% { transform: translate3d(0, min(calc(64vh - 60px), 480px), 0); opacity: 0; }
3285
3289
  }
3286
3290
 
3287
3291
  /* Pose skeleton overlay — sits over the photo */
@@ -3505,27 +3509,53 @@ const STYLES = `
3505
3509
 
3506
3510
  /* ════════════════════════════════════════════════════════════════
3507
3511
  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.
3512
+ Layout: scroll container with rich blueprint rows matching the
3513
+ reference (number prefix, description, USER/SIZE labels, badge).
3511
3514
  ════════════════════════════════════════════════════════════════ */
3512
3515
  .ps-msd-root {
3513
3516
  display: flex; flex-direction: column;
3514
- gap: 14px; padding: 4px 4px 60px;
3515
3517
  height: 100%; min-height: 0;
3518
+ margin: 0 -16px;
3519
+ }
3520
+ .ps-msd-scroll {
3521
+ flex: 1; min-height: 0;
3516
3522
  overflow-y: auto; -webkit-overflow-scrolling: touch;
3523
+ display: flex; flex-direction: column;
3524
+ gap: 18px; padding: 8px 16px 32px;
3525
+ }
3526
+ /* Topbar: back arrow + section name in uppercase */
3527
+ .ps-msd-topbar {
3528
+ display: flex; align-items: center; justify-content: space-between;
3529
+ padding: 8px 0 4px;
3530
+ margin-bottom: 4px;
3517
3531
  }
3518
3532
  .ps-msd-back {
3519
3533
  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;
3534
+ color: var(--ps-text-primary);
3535
+ font-family: inherit;
3536
+ padding: 6px; cursor: pointer;
3537
+ display: flex; align-items: center; gap: 4px;
3538
+ transition: opacity 0.15s;
3539
+ flex-shrink: 0;
3526
3540
  }
3527
- .ps-msd-back:hover { color: var(--ps-text-primary); }
3541
+ .ps-msd-back:hover { opacity: 0.7; }
3528
3542
  .ps-msd-back-arrow { font-size: 16px; line-height: 1; }
3543
+ .ps-msd-topbar-title {
3544
+ font-size: 12px; font-weight: 700;
3545
+ letter-spacing: 0.16em; text-transform: uppercase;
3546
+ color: var(--ps-text-primary);
3547
+ text-align: center;
3548
+ flex: 1;
3549
+ }
3550
+ .ps-msd-topbar-spacer { width: 32px; flex-shrink: 0; }
3551
+
3552
+ /* Footer paragraph (italic, small, muted) */
3553
+ .ps-msd-footer-note {
3554
+ font-size: 11px; line-height: 1.6;
3555
+ color: var(--ps-text-muted);
3556
+ text-align: center; font-style: italic;
3557
+ margin: 14px 12px 0;
3558
+ }
3529
3559
 
3530
3560
  /* Big product image */
3531
3561
  .ps-msd-image {
@@ -3541,109 +3571,135 @@ const STYLES = `
3541
3571
  object-fit: contain; display: block;
3542
3572
  }
3543
3573
 
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);
3574
+ /* RECOMMENDED SIZE / FIT ACCURACY card */
3575
+ .ps-msd-card {
3576
+ background: var(--ps-bg-primary);
3577
+ border: 1px solid var(--ps-border-subtle);
3578
+ border-radius: 12px;
3579
+ padding: 22px 22px 18px;
3580
+ display: flex; flex-direction: column; gap: 8px;
3581
+ box-shadow: 0 1px 3px rgba(0,0,0,0.04);
3549
3582
  }
3550
- .ps-msd-section-name {
3551
- font-size: 11px; font-weight: 700;
3552
- letter-spacing: 0.14em; text-transform: uppercase;
3583
+ .ps-msd-card-eyebrow {
3584
+ font-size: 10px; font-weight: 700;
3585
+ letter-spacing: 0.16em; text-transform: uppercase;
3553
3586
  color: var(--ps-text-muted);
3554
3587
  }
3555
- .ps-msd-size-row {
3556
- display: flex; align-items: baseline; gap: 8px;
3588
+ .ps-msd-card-size-row {
3589
+ display: flex; align-items: baseline; gap: 12px;
3590
+ margin-top: 2px;
3557
3591
  }
3558
- .ps-msd-size-num {
3559
- font-size: 64px; font-weight: 700;
3592
+ .ps-msd-card-size {
3593
+ font-size: 56px; font-weight: 700;
3560
3594
  color: var(--ps-text-primary);
3561
3595
  line-height: 1; letter-spacing: -0.02em;
3562
3596
  font-feature-settings: "tnum" 1;
3563
3597
  }
3564
- .ps-msd-size-len {
3565
- font-size: 16px; font-weight: 500;
3566
- color: var(--ps-text-secondary);
3598
+ .ps-msd-card-size-meta {
3599
+ font-size: 12px; font-weight: 600;
3600
+ letter-spacing: 0.05em;
3601
+ color: var(--ps-text-muted);
3602
+ }
3603
+ .ps-msd-card-divider {
3604
+ height: 1px; background: var(--ps-border-subtle);
3605
+ margin: 6px 0;
3567
3606
  }
3568
- .ps-msd-match {
3569
- display: flex; align-items: baseline; gap: 5px;
3607
+ .ps-msd-card-pct-row {
3608
+ display: flex; align-items: center; gap: 12px;
3609
+ margin-top: 2px;
3570
3610
  }
3571
- .ps-msd-match-pct {
3572
- font-size: 13px; font-weight: 700;
3611
+ .ps-msd-card-pct {
3612
+ font-size: 30px; font-weight: 700;
3573
3613
  color: var(--ps-accent);
3574
- font-feature-settings: "tnum" 1;
3614
+ line-height: 1; font-feature-settings: "tnum" 1;
3575
3615
  }
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);
3616
+ .ps-msd-card-bar {
3617
+ flex: 1; height: 2px;
3618
+ background: var(--ps-border-color); border-radius: 1px;
3619
+ overflow: hidden;
3620
+ }
3621
+ .ps-msd-card-bar-fill {
3622
+ height: 100%; background: var(--ps-accent);
3623
+ border-radius: 1px;
3624
+ }
3625
+ .ps-msd-card-note {
3626
+ font-size: 11px; color: var(--ps-text-muted);
3627
+ line-height: 1.5; margin: 2px 0 0;
3580
3628
  }
3581
3629
 
3582
- /* MEASUREMENT BLUEPRINT */
3630
+ /* MEASUREMENT BLUEPRINT — rich rows with number, description, USER/SIZE
3631
+ labeled values, status badge with check icon */
3583
3632
  .ps-msd-blueprint {
3584
- display: flex; flex-direction: column; gap: 8px;
3585
- padding-top: 16px;
3633
+ display: flex; flex-direction: column; gap: 6px;
3634
+ padding-top: 6px;
3586
3635
  }
3587
3636
  .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;
3637
+ font-size: 13px; font-weight: 800;
3638
+ letter-spacing: 0.12em; text-transform: uppercase;
3639
+ color: var(--ps-text-primary);
3640
+ margin-bottom: 0;
3641
+ }
3642
+ .ps-msd-blueprint-underline {
3643
+ width: 36px; height: 2px;
3644
+ background: var(--ps-text-primary);
3645
+ margin-bottom: 8px;
3592
3646
  }
3593
- /* Measurement rows: label + inline values, badge on the right.
3594
- No table structure — clean and minimal like the reference. */
3595
3647
  .ps-msd-rows {
3596
3648
  display: flex; flex-direction: column;
3597
3649
  }
3598
3650
  .ps-msd-row {
3599
- display: flex; align-items: center; justify-content: space-between;
3600
- padding: 18px 4px;
3651
+ display: flex; flex-direction: column;
3652
+ padding: 22px 0 24px;
3601
3653
  border-bottom: 1px solid var(--ps-border-subtle);
3602
- gap: 12px;
3603
3654
  }
3604
3655
  .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;
3656
+ .ps-msd-row-num {
3657
+ font-size: 11px; font-weight: 700;
3658
+ letter-spacing: 0.14em; text-transform: uppercase;
3659
+ color: var(--ps-text-primary);
3660
+ margin-bottom: 4px;
3608
3661
  }
3609
- .ps-msd-row-label {
3610
- font-size: 10px; font-weight: 700;
3611
- letter-spacing: 0.12em; text-transform: uppercase;
3662
+ .ps-msd-row-desc {
3663
+ font-size: 12px; font-weight: 400;
3612
3664
  color: var(--ps-text-muted);
3665
+ margin: 0 0 14px;
3666
+ line-height: 1.5;
3613
3667
  }
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;
3668
+ .ps-msd-row-cells {
3669
+ display: flex; justify-content: space-between; align-items: flex-end;
3670
+ gap: 16px; margin-bottom: 14px;
3618
3671
  }
3619
- .ps-msd-row-you {
3620
- font-size: 17px; font-weight: 700;
3621
- color: var(--ps-text-primary);
3672
+ .ps-msd-row-cell {
3673
+ display: flex; flex-direction: column; gap: 4px;
3674
+ min-width: 0;
3622
3675
  }
3623
- .ps-msd-row-sep {
3624
- font-size: 16px; font-weight: 400;
3625
- color: var(--ps-border-color);
3676
+ .ps-msd-row-cell.ps-right { text-align: right; }
3677
+ .ps-msd-cell-label {
3678
+ font-size: 9px; font-weight: 600;
3679
+ letter-spacing: 0.14em; text-transform: uppercase;
3680
+ color: var(--ps-text-muted);
3626
3681
  }
3627
- .ps-msd-row-spec {
3628
- font-size: 16px; font-weight: 500;
3629
- color: var(--ps-text-secondary);
3682
+ .ps-msd-cell-value {
3683
+ font-size: 18px; font-weight: 700;
3684
+ color: var(--ps-text-primary);
3685
+ font-feature-settings: "tnum" 1;
3686
+ line-height: 1.1;
3630
3687
  }
3631
3688
  .ps-msd-row-badge {
3632
- font-size: 9px; font-weight: 700;
3689
+ align-self: flex-end;
3690
+ display: inline-flex; align-items: center; gap: 5px;
3691
+ font-size: 10px; font-weight: 700;
3633
3692
  letter-spacing: 0.12em; text-transform: uppercase;
3634
- padding: 5px 10px; border-radius: 999px;
3635
- flex-shrink: 0; white-space: nowrap;
3693
+ white-space: nowrap;
3636
3694
  }
3695
+ .ps-msd-row-badge svg { flex-shrink: 0; }
3637
3696
  .ps-msd-row-badge.ps-good {
3638
- background: rgba(33, 84, 239, 0.1);
3639
3697
  color: var(--ps-accent);
3640
3698
  }
3641
3699
  .ps-msd-row-badge.ps-tight {
3642
- background: rgba(220, 38, 38, 0.1);
3643
3700
  color: #dc2626;
3644
3701
  }
3645
3702
  .ps-msd-row-badge.ps-loose {
3646
- background: rgba(217, 119, 6, 0.1);
3647
3703
  color: #d97706;
3648
3704
  }
3649
3705
 
@@ -5355,46 +5411,95 @@ function SectionDetailView({
5355
5411
  const finalAllSizes = backendAvailableSizes.length > 0 ? backendAvailableSizes : allSizes;
5356
5412
  if (isMobileProp) {
5357
5413
  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")
5414
+ const measurementDesc = (area) => {
5415
+ const a = area.toLowerCase().replace(/\s*\(.*?\)\s*/g, "").trim();
5416
+ if (a.includes("chest") || a.includes("bust")) return t("Full circumference at the widest point.");
5417
+ if (a.includes("waist")) return t("Circumference at the natural waistline.");
5418
+ if (a.includes("hip")) return t("Circumference at the fullest point.");
5419
+ if (a.includes("shoulder")) return t("Shoulder edge to shoulder edge.");
5420
+ if (a.includes("sleeve") || a.includes("arm")) return t("Shoulder seam to cuff edge.");
5421
+ if (a.includes("neck") || a.includes("collar")) return t("Around the base of the neck.");
5422
+ if (a.includes("inseam") || a.includes("inside leg")) return t("Inner leg seam length.");
5423
+ if (a.includes("thigh")) return t("Circumference around the upper leg.");
5424
+ if (a.includes("length") || a.includes("height")) return t("Top to bottom length.");
5425
+ return "";
5426
+ };
5427
+ const fitBadgeLabel = (fit, isLen) => {
5428
+ if (isLen && fit === "good") return t("EDITORIAL LENGTH");
5429
+ if (fit === "good") return t("PERFECT TENSION");
5430
+ if (fit === "a-bit-tight") return t("SLIGHTLY TIGHT");
5431
+ if (fit === "a-bit-loose") return t("SLIGHT EASE");
5432
+ if (fit.includes("tight")) return t("TIGHT");
5433
+ if (fit.includes("loose")) return t("LOOSE");
5434
+ return t("FIT");
5435
+ };
5436
+ return /* @__PURE__ */ jsx("div", { className: "ps-msd-root", children: /* @__PURE__ */ jsxs("div", { className: "ps-msd-scroll", children: [
5437
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-topbar", children: [
5438
+ /* @__PURE__ */ jsx("button", { type: "button", className: "ps-msd-back", onClick: onBack, "aria-label": t("Back"), children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "20", height: "20", children: [
5439
+ /* @__PURE__ */ jsx("line", { x1: "19", y1: "12", x2: "5", y2: "12" }),
5440
+ /* @__PURE__ */ jsx("polyline", { points: "12 19 5 12 12 5" })
5441
+ ] }) }),
5442
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-topbar-title", children: [
5443
+ cleanSectionName.toUpperCase(),
5444
+ " ",
5445
+ t("DETAIL")
5446
+ ] }),
5447
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-topbar-spacer" })
5364
5448
  ] }),
5365
5449
  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 })
5450
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-card", children: [
5451
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-card-eyebrow", children: t("RECOMMENDED SIZE") }),
5452
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-card-size-row", children: [
5453
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-card-size", children: backendSize }),
5454
+ finalDisplayLength && /* @__PURE__ */ jsx("span", { className: "ps-msd-card-size-meta", children: finalDisplayLength })
5371
5455
  ] }),
5372
- /* @__PURE__ */ jsxs("div", { className: "ps-msd-match", children: [
5373
- /* @__PURE__ */ jsxs("span", { className: "ps-msd-match-pct", children: [
5456
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-card-divider" }),
5457
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-card-eyebrow", children: t("FIT ACCURACY") }),
5458
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-card-pct-row", children: [
5459
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-card-pct", children: [
5374
5460
  matchPercent,
5375
5461
  "%"
5376
5462
  ] }),
5377
- /* @__PURE__ */ jsx("span", { className: "ps-msd-match-label", children: t("FIT MATCH") })
5378
- ] })
5463
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-card-bar", children: /* @__PURE__ */ jsx("div", { className: "ps-msd-card-bar-fill", style: { width: `${matchPercent}%` } }) })
5464
+ ] }),
5465
+ /* @__PURE__ */ jsx("p", { className: "ps-msd-card-note", children: t("Based on your measurements and the garment's tailoring chart.") })
5379
5466
  ] }),
5380
5467
  fitRows.length > 0 && /* @__PURE__ */ jsxs("div", { className: "ps-msd-blueprint", children: [
5381
5468
  /* @__PURE__ */ jsx("span", { className: "ps-msd-blueprint-title", children: t("MEASUREMENT BLUEPRINT") }),
5469
+ /* @__PURE__ */ jsx("div", { className: "ps-msd-blueprint-underline" }),
5382
5470
  /* @__PURE__ */ jsx("div", { className: "ps-msd-rows", children: fitRows.map((row, i) => {
5383
5471
  const fitClass = row.fit === "good" ? "ps-good" : row.fit.includes("tight") ? "ps-tight" : "ps-loose";
5472
+ const desc = measurementDesc(row.area);
5473
+ const idxLbl = String(i + 1).padStart(2, "0");
5384
5474
  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: [
5475
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-num", children: [
5476
+ idxLbl,
5477
+ " ",
5478
+ row.area.toUpperCase()
5479
+ ] }),
5480
+ desc && /* @__PURE__ */ jsx("p", { className: "ps-msd-row-desc", children: desc }),
5481
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-cells", children: [
5482
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-cell", children: [
5483
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-cell-label", children: t("USER") }),
5484
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-cell-value", children: [
5389
5485
  row.userNum,
5390
5486
  " ",
5391
5487
  unitLbl
5488
+ ] })
5489
+ ] }),
5490
+ /* @__PURE__ */ jsxs("div", { className: "ps-msd-row-cell ps-right", children: [
5491
+ /* @__PURE__ */ jsxs("span", { className: "ps-msd-cell-label", children: [
5492
+ t("SIZE"),
5493
+ " ",
5494
+ backendSize
5392
5495
  ] }),
5393
- /* @__PURE__ */ jsx("span", { className: "ps-msd-row-sep", children: "/" }),
5394
- /* @__PURE__ */ jsx("span", { className: "ps-msd-row-spec", children: row.chartLabel })
5496
+ /* @__PURE__ */ jsx("span", { className: "ps-msd-cell-value", children: row.chartLabel })
5395
5497
  ] })
5396
5498
  ] }),
5397
- /* @__PURE__ */ jsx("span", { className: `ps-msd-row-badge ${fitClass}`, children: row.isLength ? lengthFitLabelFn(row.fit, t) : fitBadgeLabel(row.fit) })
5499
+ /* @__PURE__ */ jsxs("div", { className: `ps-msd-row-badge ${fitClass}`, children: [
5500
+ row.isLength ? lengthFitLabelFn(row.fit, t).toUpperCase() : fitBadgeLabel(row.fit, row.isLength),
5501
+ /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "11", height: "11", children: /* @__PURE__ */ jsx("path", { d: "M3 8l3.5 3.5L13 5" }) })
5502
+ ] })
5398
5503
  ] }, i);
5399
5504
  }) })
5400
5505
  ] }),
@@ -5429,8 +5534,16 @@ function SectionDetailView({
5429
5534
  s
5430
5535
  );
5431
5536
  }) })
5537
+ ] }),
5538
+ /* @__PURE__ */ jsxs("p", { className: "ps-msd-footer-note", children: [
5539
+ t("*Our sizing engine recommends"),
5540
+ " ",
5541
+ backendSize,
5542
+ finalDisplayLength ? ` (${finalDisplayLength})` : "",
5543
+ " ",
5544
+ t("based on your measurements and the garment's tailoring chart.")
5432
5545
  ] })
5433
- ] });
5546
+ ] }) });
5434
5547
  }
5435
5548
  return /* @__PURE__ */ jsxs("div", { className: "ps-tryon-sec-detail", style: { padding: "1.5vw", display: "flex", flexDirection: "column", height: "100%", background: "#F8F9FA" }, children: [
5436
5549
  /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [