@primestyleai/tryon 5.10.89 → 5.10.91
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 +2546 -2270
- package/dist/react/index.js.map +1 -1
- package/dist/react/styles.d.ts +1 -1
- package/dist/react/views/ProcessingView.d.ts +14 -1
- package/dist/storefront/primestyle-tryon.js +320 -35
- package/package.json +1 -1
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { PrimeStyleClassNames } from "../../types";
|
|
2
2
|
import type { TranslateFn } from "../../i18n";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Engaging try-on processing screen — 65/35 split.
|
|
5
|
+
* Left (~65%): user's photo + scanning overlay
|
|
6
|
+
* Right (~35%): big % ring → "WHILE YOU WAIT" cards (style tip /
|
|
7
|
+
* garment spotlight / AI fact) → cancel link.
|
|
8
|
+
*
|
|
9
|
+
* Distracts the user from the 25s wait by feeding them branded micro-
|
|
10
|
+
* content tied to their actual purchase context.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ProcessingView({ previewUrl, progressRef, progressBarRef, progressTextRef, progressStatusRef, progressEtaRef, progressRingRef, productTitle, productMaterial, productDescription, onCancel, cn, t, }: {
|
|
4
13
|
previewUrl: string | null;
|
|
5
14
|
progressRef: React.MutableRefObject<number>;
|
|
6
15
|
progressBarRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
@@ -8,6 +17,10 @@ export declare function ProcessingView({ previewUrl, progressRef, progressBarRef
|
|
|
8
17
|
progressStatusRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
9
18
|
progressEtaRef: React.MutableRefObject<HTMLSpanElement | null>;
|
|
10
19
|
progressRingRef: React.MutableRefObject<SVGCircleElement | null>;
|
|
20
|
+
productTitle?: string;
|
|
21
|
+
productMaterial?: string;
|
|
22
|
+
productDescription?: string;
|
|
23
|
+
onCancel?: () => void;
|
|
11
24
|
cn: PrimeStyleClassNames;
|
|
12
25
|
t: TranslateFn;
|
|
13
26
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -12081,6 +12081,184 @@ const STYLES$1 = `
|
|
|
12081
12081
|
}
|
|
12082
12082
|
.ps-tryon-processing-sub { font-size: 0.63vw; color: var(--ps-text-secondary); margin: 0; }
|
|
12083
12083
|
|
|
12084
|
+
/* ──────────────────────────────────────────────
|
|
12085
|
+
ProcessingView v2 — split (image left ~65%,
|
|
12086
|
+
panel right ~35%) with engaging cards while
|
|
12087
|
+
the user waits 25s for the try-on to complete.
|
|
12088
|
+
────────────────────────────────────────────── */
|
|
12089
|
+
.ps-tryon-processing-v2 {
|
|
12090
|
+
display: flex; gap: 1.2vw;
|
|
12091
|
+
padding: 1.2vw;
|
|
12092
|
+
width: 100%; height: 100%;
|
|
12093
|
+
align-items: stretch;
|
|
12094
|
+
}
|
|
12095
|
+
.ps-tryon-processing-v2-image {
|
|
12096
|
+
flex: 0 0 62%;
|
|
12097
|
+
position: relative;
|
|
12098
|
+
border-radius: 0.6vw;
|
|
12099
|
+
overflow: hidden;
|
|
12100
|
+
background: var(--ps-bg-tertiary, #f3f4f6);
|
|
12101
|
+
min-height: 28vw;
|
|
12102
|
+
}
|
|
12103
|
+
.ps-tryon-processing-v2-image .ps-tryon-processing-blur,
|
|
12104
|
+
.ps-tryon-processing-v2-image .ps-tryon-processing-model {
|
|
12105
|
+
position: absolute; inset: 0;
|
|
12106
|
+
width: 100%; height: 100%;
|
|
12107
|
+
}
|
|
12108
|
+
.ps-tryon-processing-v2-image .ps-tryon-processing-blur {
|
|
12109
|
+
background-size: cover; background-position: center;
|
|
12110
|
+
filter: blur(40px) brightness(0.8); opacity: 0.65;
|
|
12111
|
+
}
|
|
12112
|
+
.ps-tryon-processing-v2-image .ps-tryon-processing-model {
|
|
12113
|
+
object-fit: contain; z-index: 1;
|
|
12114
|
+
}
|
|
12115
|
+
.ps-tryon-processing-v2-badge {
|
|
12116
|
+
position: absolute; top: 0.8vw; left: 0.8vw; z-index: 3;
|
|
12117
|
+
display: inline-flex; align-items: center; gap: 0.4vw;
|
|
12118
|
+
padding: 0.4vw 0.7vw;
|
|
12119
|
+
background: rgba(33, 84, 239, 0.10);
|
|
12120
|
+
color: var(--ps-accent);
|
|
12121
|
+
border: 1px solid rgba(33, 84, 239, 0.20);
|
|
12122
|
+
border-radius: 999px;
|
|
12123
|
+
font-size: 0.6vw; font-weight: 700;
|
|
12124
|
+
letter-spacing: 0.12em;
|
|
12125
|
+
}
|
|
12126
|
+
.ps-tryon-processing-v2-badge-dot {
|
|
12127
|
+
width: 6px; height: 6px; border-radius: 50%;
|
|
12128
|
+
background: var(--ps-accent);
|
|
12129
|
+
animation: ps-pulse-dot 1.4s ease-in-out infinite;
|
|
12130
|
+
}
|
|
12131
|
+
@keyframes ps-pulse-dot {
|
|
12132
|
+
0%, 100% { opacity: 0.3; transform: scale(0.85); }
|
|
12133
|
+
50% { opacity: 1; transform: scale(1.1); }
|
|
12134
|
+
}
|
|
12135
|
+
|
|
12136
|
+
.ps-tryon-processing-v2-panel {
|
|
12137
|
+
flex: 1 1 38%;
|
|
12138
|
+
display: flex; flex-direction: column;
|
|
12139
|
+
gap: 0.9vw;
|
|
12140
|
+
padding: 0.6vw 0.4vw;
|
|
12141
|
+
min-width: 0;
|
|
12142
|
+
}
|
|
12143
|
+
.ps-tryon-processing-v2-head {
|
|
12144
|
+
text-align: center;
|
|
12145
|
+
}
|
|
12146
|
+
.ps-tryon-processing-v2-title {
|
|
12147
|
+
margin: 0;
|
|
12148
|
+
font-size: 1.1vw; font-weight: 700;
|
|
12149
|
+
color: var(--ps-text-primary);
|
|
12150
|
+
line-height: 1.25;
|
|
12151
|
+
}
|
|
12152
|
+
.ps-tryon-processing-v2-sub {
|
|
12153
|
+
margin: 0.3vw 0 0;
|
|
12154
|
+
font-size: 0.68vw; line-height: 1.45;
|
|
12155
|
+
color: var(--ps-text-secondary);
|
|
12156
|
+
}
|
|
12157
|
+
|
|
12158
|
+
.ps-tryon-processing-v2-ring-wrap {
|
|
12159
|
+
position: relative;
|
|
12160
|
+
width: 120px; height: 120px;
|
|
12161
|
+
margin: 0.4vw auto 0;
|
|
12162
|
+
}
|
|
12163
|
+
.ps-tryon-processing-v2-ring-wrap svg {
|
|
12164
|
+
transform: rotate(-90deg);
|
|
12165
|
+
}
|
|
12166
|
+
.ps-tryon-processing-v2-ring-wrap .ps-tryon-progress-ring-track {
|
|
12167
|
+
fill: none; stroke: var(--ps-border-color); stroke-width: 6;
|
|
12168
|
+
}
|
|
12169
|
+
.ps-tryon-processing-v2-ring-wrap .ps-tryon-progress-ring-fill {
|
|
12170
|
+
fill: none; stroke: var(--ps-accent); stroke-width: 6;
|
|
12171
|
+
stroke-linecap: round;
|
|
12172
|
+
transition: stroke-dashoffset 0.3s ease;
|
|
12173
|
+
}
|
|
12174
|
+
.ps-tryon-processing-v2-ring-text {
|
|
12175
|
+
position: absolute; inset: 0;
|
|
12176
|
+
display: flex; flex-direction: column;
|
|
12177
|
+
align-items: center; justify-content: center;
|
|
12178
|
+
pointer-events: none;
|
|
12179
|
+
gap: 2px;
|
|
12180
|
+
}
|
|
12181
|
+
.ps-tryon-processing-v2-pct {
|
|
12182
|
+
font-size: 22px; font-weight: 700;
|
|
12183
|
+
color: var(--ps-accent);
|
|
12184
|
+
font-variant-numeric: tabular-nums;
|
|
12185
|
+
}
|
|
12186
|
+
.ps-tryon-processing-v2-status {
|
|
12187
|
+
font-size: 9px; font-weight: 700;
|
|
12188
|
+
letter-spacing: 0.12em; text-transform: uppercase;
|
|
12189
|
+
color: var(--ps-text-muted);
|
|
12190
|
+
text-align: center;
|
|
12191
|
+
max-width: 95px; line-height: 1.2;
|
|
12192
|
+
}
|
|
12193
|
+
|
|
12194
|
+
.ps-tryon-processing-v2-bar-hidden {
|
|
12195
|
+
display: none;
|
|
12196
|
+
}
|
|
12197
|
+
|
|
12198
|
+
.ps-tryon-processing-v2-sep {
|
|
12199
|
+
height: 1px; width: 100%;
|
|
12200
|
+
background: var(--ps-border-subtle, rgba(0,0,0,0.06));
|
|
12201
|
+
margin: 0.4vw 0 0;
|
|
12202
|
+
}
|
|
12203
|
+
|
|
12204
|
+
.ps-tryon-processing-v2-section-label {
|
|
12205
|
+
font-size: 0.6vw; font-weight: 700;
|
|
12206
|
+
letter-spacing: 0.12em; text-transform: uppercase;
|
|
12207
|
+
color: var(--ps-text-muted);
|
|
12208
|
+
margin-bottom: 0.5vw;
|
|
12209
|
+
}
|
|
12210
|
+
.ps-tryon-processing-v2-cards {
|
|
12211
|
+
display: flex; flex-direction: column; gap: 0.5vw;
|
|
12212
|
+
}
|
|
12213
|
+
.ps-tryon-processing-v2-card {
|
|
12214
|
+
display: flex; align-items: flex-start; gap: 0.6vw;
|
|
12215
|
+
padding: 0.7vw 0.8vw;
|
|
12216
|
+
background: var(--ps-bg-secondary, #f9fafb);
|
|
12217
|
+
border: 1px solid var(--ps-border-subtle, rgba(0,0,0,0.06));
|
|
12218
|
+
border-radius: 0.55vw;
|
|
12219
|
+
}
|
|
12220
|
+
.ps-tryon-processing-v2-card-icon {
|
|
12221
|
+
width: 1.7vw; height: 1.7vw;
|
|
12222
|
+
min-width: 28px; min-height: 28px;
|
|
12223
|
+
display: flex; align-items: center; justify-content: center;
|
|
12224
|
+
border-radius: 50%;
|
|
12225
|
+
flex-shrink: 0;
|
|
12226
|
+
}
|
|
12227
|
+
.ps-tryon-processing-v2-card-icon.ps-style { background: rgba(33, 84, 239, 0.10); color: var(--ps-accent); }
|
|
12228
|
+
.ps-tryon-processing-v2-card-icon.ps-spotlight { background: rgba(168, 85, 247, 0.10); color: #9333ea; }
|
|
12229
|
+
.ps-tryon-processing-v2-card-icon.ps-fact { background: rgba(16, 185, 129, 0.10); color: #059669; }
|
|
12230
|
+
.ps-tryon-processing-v2-card-text {
|
|
12231
|
+
flex: 1; min-width: 0;
|
|
12232
|
+
}
|
|
12233
|
+
.ps-tryon-processing-v2-card-head {
|
|
12234
|
+
font-size: 0.7vw; font-weight: 700;
|
|
12235
|
+
color: var(--ps-text-primary);
|
|
12236
|
+
margin-bottom: 2px;
|
|
12237
|
+
}
|
|
12238
|
+
.ps-tryon-processing-v2-card-body {
|
|
12239
|
+
font-size: 0.65vw; line-height: 1.5;
|
|
12240
|
+
color: var(--ps-text-secondary);
|
|
12241
|
+
animation: ps-fade-in 0.4s ease;
|
|
12242
|
+
}
|
|
12243
|
+
@keyframes ps-fade-in {
|
|
12244
|
+
from { opacity: 0; transform: translateY(2px); }
|
|
12245
|
+
to { opacity: 1; transform: translateY(0); }
|
|
12246
|
+
}
|
|
12247
|
+
|
|
12248
|
+
.ps-tryon-processing-v2-cancel {
|
|
12249
|
+
margin-top: auto;
|
|
12250
|
+
background: transparent; border: none;
|
|
12251
|
+
color: var(--ps-text-muted);
|
|
12252
|
+
font-family: inherit;
|
|
12253
|
+
font-size: 0.68vw; font-weight: 600;
|
|
12254
|
+
cursor: pointer;
|
|
12255
|
+
padding: 0.3vw 0;
|
|
12256
|
+
text-align: center;
|
|
12257
|
+
width: 100%;
|
|
12258
|
+
transition: color 0.15s;
|
|
12259
|
+
}
|
|
12260
|
+
.ps-tryon-processing-v2-cancel:hover { color: var(--ps-text-primary); }
|
|
12261
|
+
|
|
12084
12262
|
/* Result — split layout */
|
|
12085
12263
|
.ps-tryon-result-split {
|
|
12086
12264
|
display: flex; gap: 1.5vw; text-align: left; align-items: flex-start;
|
|
@@ -13208,6 +13386,42 @@ const STYLES$1 = `
|
|
|
13208
13386
|
px-based sizing (vw becomes sub-pixel and unreadable on phones)
|
|
13209
13387
|
════════════════════════════════════════════════════════════════ */
|
|
13210
13388
|
@media (max-width: 768px) {
|
|
13389
|
+
/* ProcessingView v2 mobile — stack: image on top (max 38vh), then
|
|
13390
|
+
* the progress + cards panel below. */
|
|
13391
|
+
.ps-tryon-processing-v2 {
|
|
13392
|
+
flex-direction: column !important;
|
|
13393
|
+
gap: 12px !important;
|
|
13394
|
+
padding: 12px !important;
|
|
13395
|
+
height: auto !important;
|
|
13396
|
+
}
|
|
13397
|
+
.ps-tryon-processing-v2-image {
|
|
13398
|
+
flex: 0 0 auto !important;
|
|
13399
|
+
width: 100% !important;
|
|
13400
|
+
height: 38vh !important; min-height: 280px !important;
|
|
13401
|
+
border-radius: 12px !important;
|
|
13402
|
+
}
|
|
13403
|
+
.ps-tryon-processing-v2-badge {
|
|
13404
|
+
top: 10px !important; left: 10px !important;
|
|
13405
|
+
padding: 5px 10px !important; gap: 6px !important;
|
|
13406
|
+
font-size: 10px !important;
|
|
13407
|
+
}
|
|
13408
|
+
.ps-tryon-processing-v2-panel {
|
|
13409
|
+
gap: 12px !important; padding: 4px 6px !important;
|
|
13410
|
+
}
|
|
13411
|
+
.ps-tryon-processing-v2-title { font-size: 17px !important; }
|
|
13412
|
+
.ps-tryon-processing-v2-sub { font-size: 12px !important; margin-top: 4px !important; }
|
|
13413
|
+
.ps-tryon-processing-v2-ring-wrap { width: 96px !important; height: 96px !important; }
|
|
13414
|
+
.ps-tryon-processing-v2-ring-wrap svg { width: 96px !important; height: 96px !important; }
|
|
13415
|
+
.ps-tryon-processing-v2-pct { font-size: 18px !important; }
|
|
13416
|
+
.ps-tryon-processing-v2-status { font-size: 8px !important; max-width: 75px !important; }
|
|
13417
|
+
.ps-tryon-processing-v2-section-label { font-size: 10px !important; margin-bottom: 8px !important; }
|
|
13418
|
+
.ps-tryon-processing-v2-cards { gap: 8px !important; }
|
|
13419
|
+
.ps-tryon-processing-v2-card { padding: 10px 12px !important; gap: 10px !important; border-radius: 10px !important; }
|
|
13420
|
+
.ps-tryon-processing-v2-card-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; }
|
|
13421
|
+
.ps-tryon-processing-v2-card-head { font-size: 12px !important; }
|
|
13422
|
+
.ps-tryon-processing-v2-card-body { font-size: 11px !important; }
|
|
13423
|
+
.ps-tryon-processing-v2-cancel { font-size: 12px !important; padding: 8px 0 !important; }
|
|
13424
|
+
|
|
13211
13425
|
/* NoChartView mobile — stack image on top, panel below. */
|
|
13212
13426
|
.ps-tryon-no-chart {
|
|
13213
13427
|
flex-direction: column !important;
|
|
@@ -15010,18 +15224,22 @@ const STYLES$1 = `
|
|
|
15010
15224
|
transition: background 0.15s, transform 0.15s;
|
|
15011
15225
|
}
|
|
15012
15226
|
.ps-msr-section-card:active { transform: scale(0.99); background: var(--ps-bg-secondary); }
|
|
15227
|
+
/* Bigger garment icon — same source as desktop (sizeGuide.sectionImages
|
|
15228
|
+
* → falls back to built-in line-art PNG via garmentIconForSection).
|
|
15229
|
+
* No background, no tinting — exact image asset shown at scale. */
|
|
15230
|
+
.ps-msr-section-icon-lg {
|
|
15231
|
+
width: 56px; height: 56px;
|
|
15232
|
+
object-fit: contain;
|
|
15233
|
+
background: none;
|
|
15234
|
+
margin: 0 auto 4px;
|
|
15235
|
+
display: block;
|
|
15236
|
+
}
|
|
15013
15237
|
.ps-msr-section-name {
|
|
15014
|
-
display: inline-flex; align-items: center; gap: 6px;
|
|
15015
15238
|
font-size: 11px; font-weight: 600;
|
|
15016
15239
|
letter-spacing: 0.12em; text-transform: uppercase;
|
|
15017
15240
|
color: var(--ps-text-muted);
|
|
15018
15241
|
text-align: center;
|
|
15019
15242
|
}
|
|
15020
|
-
.ps-msr-section-icon {
|
|
15021
|
-
width: 18px; height: 18px;
|
|
15022
|
-
object-fit: contain;
|
|
15023
|
-
opacity: 0.85;
|
|
15024
|
-
}
|
|
15025
15243
|
.ps-msr-section-size {
|
|
15026
15244
|
font-size: 32px; font-weight: 600;
|
|
15027
15245
|
color: var(--ps-text-primary);
|
|
@@ -18851,10 +19069,8 @@ function MultiSectionMobile({
|
|
|
18851
19069
|
className: `ps-msr-section-card${isOverridden ? " ps-overridden" : ""}`,
|
|
18852
19070
|
onClick: () => onSelectSection(name),
|
|
18853
19071
|
children: [
|
|
18854
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
18855
|
-
|
|
18856
|
-
cleanName.toUpperCase()
|
|
18857
|
-
] }),
|
|
19072
|
+
iconSrc && /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: iconSrc, alt: "", className: "ps-msr-section-icon-lg" }),
|
|
19073
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-msr-section-name", children: cleanName.toUpperCase() }),
|
|
18858
19074
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-msr-section-size", children: sizeValue }),
|
|
18859
19075
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
18860
19076
|
"span",
|
|
@@ -21714,7 +21930,7 @@ function UploadView({
|
|
|
21714
21930
|
}
|
|
21715
21931
|
) });
|
|
21716
21932
|
}
|
|
21717
|
-
const RING_RADIUS =
|
|
21933
|
+
const RING_RADIUS = 38;
|
|
21718
21934
|
const RING_CIRCUMFERENCE = 2 * Math.PI * RING_RADIUS;
|
|
21719
21935
|
function ProcessingView({
|
|
21720
21936
|
previewUrl,
|
|
@@ -21724,6 +21940,10 @@ function ProcessingView({
|
|
|
21724
21940
|
progressStatusRef,
|
|
21725
21941
|
progressEtaRef,
|
|
21726
21942
|
progressRingRef,
|
|
21943
|
+
productTitle,
|
|
21944
|
+
productMaterial,
|
|
21945
|
+
productDescription,
|
|
21946
|
+
onCancel,
|
|
21727
21947
|
cn,
|
|
21728
21948
|
t: t2
|
|
21729
21949
|
}) {
|
|
@@ -21748,33 +21968,56 @@ function ProcessingView({
|
|
|
21748
21968
|
el2.style.strokeDashoffset = String(offset);
|
|
21749
21969
|
}
|
|
21750
21970
|
}, []);
|
|
21751
|
-
|
|
21752
|
-
|
|
21971
|
+
const aiFacts = [
|
|
21972
|
+
t2("Our model is analyzing 150+ body landmarks for the perfect fit"),
|
|
21973
|
+
t2("Calibrating fabric drape against your body proportions"),
|
|
21974
|
+
t2("Cross-checking fit against millions of garment patterns"),
|
|
21975
|
+
t2("Rendering shadows and highlights to match your photo's lighting")
|
|
21976
|
+
];
|
|
21977
|
+
const styleTip = (() => {
|
|
21978
|
+
const t1 = t2("Pair this with neutral tones for a balanced look");
|
|
21979
|
+
const t22 = t2("Layer with a fitted base for sharper silhouette");
|
|
21980
|
+
const t3 = t2("Cuff once for a relaxed everyday feel");
|
|
21981
|
+
return [t1, t22, t3];
|
|
21982
|
+
})();
|
|
21983
|
+
const [factIdx, setFactIdx] = reactExports.useState(0);
|
|
21984
|
+
const [tipIdx, setTipIdx] = reactExports.useState(0);
|
|
21985
|
+
reactExports.useEffect(() => {
|
|
21986
|
+
const f2 = setInterval(() => setFactIdx((i) => (i + 1) % aiFacts.length), 4e3);
|
|
21987
|
+
const s = setInterval(() => setTipIdx((i) => (i + 1) % styleTip.length), 5e3);
|
|
21988
|
+
return () => {
|
|
21989
|
+
clearInterval(f2);
|
|
21990
|
+
clearInterval(s);
|
|
21991
|
+
};
|
|
21992
|
+
}, []);
|
|
21993
|
+
const garmentLine = productMaterial?.trim() || (productDescription?.trim() ? productDescription.trim().slice(0, 90) + (productDescription.trim().length > 90 ? "…" : "") : null) || t2("Crafted with quality materials for everyday comfort");
|
|
21994
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2", children: [
|
|
21995
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-image", children: [
|
|
21753
21996
|
previewUrl && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
21754
21997
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-blur", style: { backgroundImage: `url(${previewUrl})` } }),
|
|
21755
21998
|
/* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: previewUrl, alt: t2("Your photo"), className: "ps-tryon-processing-model" })
|
|
21756
21999
|
] }),
|
|
21757
22000
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-line" }),
|
|
21758
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-overlay" })
|
|
22001
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-overlay" }),
|
|
22002
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-badge", children: [
|
|
22003
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-processing-v2-badge-dot", "aria-hidden": "true" }),
|
|
22004
|
+
t2("ANALYZING BODY MAP")
|
|
22005
|
+
] })
|
|
21759
22006
|
] }),
|
|
21760
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-
|
|
21761
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-
|
|
21762
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
21763
|
-
|
|
21764
|
-
|
|
21765
|
-
|
|
21766
|
-
|
|
21767
|
-
|
|
21768
|
-
r: RING_RADIUS,
|
|
21769
|
-
className: "ps-tryon-progress-ring-track"
|
|
21770
|
-
}
|
|
21771
|
-
),
|
|
22007
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-panel", children: [
|
|
22008
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-head", children: [
|
|
22009
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "ps-tryon-processing-v2-title", children: t2("Generating Your Look") }),
|
|
22010
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "ps-tryon-processing-v2-sub", children: t2("Our AI is precisely mapping the garment to your unique proportions.") })
|
|
22011
|
+
] }),
|
|
22012
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-ring-wrap", children: [
|
|
22013
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { viewBox: "0 0 96 96", width: "120", height: "120", "aria-hidden": "true", children: [
|
|
22014
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "48", cy: "48", r: RING_RADIUS, className: "ps-tryon-progress-ring-track" }),
|
|
21772
22015
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
21773
22016
|
"circle",
|
|
21774
22017
|
{
|
|
21775
22018
|
ref: ringCb,
|
|
21776
|
-
cx: "
|
|
21777
|
-
cy: "
|
|
22019
|
+
cx: "48",
|
|
22020
|
+
cy: "48",
|
|
21778
22021
|
r: RING_RADIUS,
|
|
21779
22022
|
className: "ps-tryon-progress-ring-fill",
|
|
21780
22023
|
strokeDasharray: RING_CIRCUMFERENCE,
|
|
@@ -21782,13 +22025,48 @@ function ProcessingView({
|
|
|
21782
22025
|
}
|
|
21783
22026
|
)
|
|
21784
22027
|
] }),
|
|
21785
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
22028
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-ring-text", children: [
|
|
22029
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: pctCb, className: "ps-tryon-processing-v2-pct", children: "0%" }),
|
|
22030
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: statusCb, className: "ps-tryon-processing-v2-status", children: t2("Preparing your image…") })
|
|
22031
|
+
] })
|
|
21786
22032
|
] }),
|
|
21787
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
21788
|
-
|
|
21789
|
-
|
|
21790
|
-
|
|
21791
|
-
|
|
22033
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-bar-hidden", children: [
|
|
22034
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: barCb }),
|
|
22035
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: etaCb })
|
|
22036
|
+
] }),
|
|
22037
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-sep" }),
|
|
22038
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-section", children: [
|
|
22039
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-section-label", children: t2("WHILE YOU WAIT") }),
|
|
22040
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-cards", children: [
|
|
22041
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22042
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-icon ps-style", children: /* @__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 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c1 .9 1 1.8 1 2.3v1h6v-1c0-.5 0-1.4 1-2.3A7 7 0 0 0 12 2z" }) }) }),
|
|
22043
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22044
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("Style Tip") }),
|
|
22045
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: styleTip[tipIdx] }, tipIdx)
|
|
22046
|
+
] })
|
|
22047
|
+
] }),
|
|
22048
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22049
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-icon ps-spotlight", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
22050
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
22051
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
22052
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
22053
|
+
] }) }),
|
|
22054
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22055
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("Garment Spotlight") }),
|
|
22056
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: garmentLine })
|
|
22057
|
+
] })
|
|
22058
|
+
] }),
|
|
22059
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22060
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-icon ps-fact", children: /* @__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: "M12 2v6M12 16v6M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M2 12h6M16 12h6M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24" }) }) }),
|
|
22061
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22062
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("AI Fact") }),
|
|
22063
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: aiFacts[factIdx] }, factIdx)
|
|
22064
|
+
] })
|
|
22065
|
+
] })
|
|
22066
|
+
] })
|
|
22067
|
+
] }),
|
|
22068
|
+
onCancel && /* @__PURE__ */ jsxRuntimeExports.jsx("button", { type: "button", className: "ps-tryon-processing-v2-cancel", onClick: onCancel, children: t2("Cancel Generation") })
|
|
22069
|
+
] })
|
|
21792
22070
|
] });
|
|
21793
22071
|
}
|
|
21794
22072
|
function ErrorView({
|
|
@@ -27067,7 +27345,7 @@ function PrimeStyleTryonInner({
|
|
|
27067
27345
|
{ at: 75, text: t2("Refining details...") },
|
|
27068
27346
|
{ at: 90, text: t2("Almost there...") }
|
|
27069
27347
|
];
|
|
27070
|
-
const RING_CIRCUMFERENCE2 = 2 * Math.PI *
|
|
27348
|
+
const RING_CIRCUMFERENCE2 = 2 * Math.PI * 38;
|
|
27071
27349
|
progressIntervalRef.current = setInterval(() => {
|
|
27072
27350
|
if (completedRef.current) return;
|
|
27073
27351
|
const startTs = progressStartTsRef.current || Date.now();
|
|
@@ -28750,6 +29028,13 @@ function PrimeStyleTryonInner({
|
|
|
28750
29028
|
progressStatusRef,
|
|
28751
29029
|
progressEtaRef,
|
|
28752
29030
|
progressRingRef,
|
|
29031
|
+
productTitle,
|
|
29032
|
+
productMaterial,
|
|
29033
|
+
productDescription,
|
|
29034
|
+
onCancel: () => {
|
|
29035
|
+
setView("size-result");
|
|
29036
|
+
setTryOnProcessing(false);
|
|
29037
|
+
},
|
|
28753
29038
|
cn,
|
|
28754
29039
|
t: t2
|
|
28755
29040
|
}
|