@primestyleai/tryon 5.10.89 → 5.10.90
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 +2535 -2261
- 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 +308 -25
- 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;
|
|
@@ -21714,7 +21928,7 @@ function UploadView({
|
|
|
21714
21928
|
}
|
|
21715
21929
|
) });
|
|
21716
21930
|
}
|
|
21717
|
-
const RING_RADIUS =
|
|
21931
|
+
const RING_RADIUS = 38;
|
|
21718
21932
|
const RING_CIRCUMFERENCE = 2 * Math.PI * RING_RADIUS;
|
|
21719
21933
|
function ProcessingView({
|
|
21720
21934
|
previewUrl,
|
|
@@ -21724,6 +21938,10 @@ function ProcessingView({
|
|
|
21724
21938
|
progressStatusRef,
|
|
21725
21939
|
progressEtaRef,
|
|
21726
21940
|
progressRingRef,
|
|
21941
|
+
productTitle,
|
|
21942
|
+
productMaterial,
|
|
21943
|
+
productDescription,
|
|
21944
|
+
onCancel,
|
|
21727
21945
|
cn,
|
|
21728
21946
|
t: t2
|
|
21729
21947
|
}) {
|
|
@@ -21748,33 +21966,56 @@ function ProcessingView({
|
|
|
21748
21966
|
el2.style.strokeDashoffset = String(offset);
|
|
21749
21967
|
}
|
|
21750
21968
|
}, []);
|
|
21751
|
-
|
|
21752
|
-
|
|
21969
|
+
const aiFacts = [
|
|
21970
|
+
t2("Our model is analyzing 150+ body landmarks for the perfect fit"),
|
|
21971
|
+
t2("Calibrating fabric drape against your body proportions"),
|
|
21972
|
+
t2("Cross-checking fit against millions of garment patterns"),
|
|
21973
|
+
t2("Rendering shadows and highlights to match your photo's lighting")
|
|
21974
|
+
];
|
|
21975
|
+
const styleTip = (() => {
|
|
21976
|
+
const t1 = t2("Pair this with neutral tones for a balanced look");
|
|
21977
|
+
const t22 = t2("Layer with a fitted base for sharper silhouette");
|
|
21978
|
+
const t3 = t2("Cuff once for a relaxed everyday feel");
|
|
21979
|
+
return [t1, t22, t3];
|
|
21980
|
+
})();
|
|
21981
|
+
const [factIdx, setFactIdx] = reactExports.useState(0);
|
|
21982
|
+
const [tipIdx, setTipIdx] = reactExports.useState(0);
|
|
21983
|
+
reactExports.useEffect(() => {
|
|
21984
|
+
const f2 = setInterval(() => setFactIdx((i) => (i + 1) % aiFacts.length), 4e3);
|
|
21985
|
+
const s = setInterval(() => setTipIdx((i) => (i + 1) % styleTip.length), 5e3);
|
|
21986
|
+
return () => {
|
|
21987
|
+
clearInterval(f2);
|
|
21988
|
+
clearInterval(s);
|
|
21989
|
+
};
|
|
21990
|
+
}, []);
|
|
21991
|
+
const garmentLine = productMaterial?.trim() || (productDescription?.trim() ? productDescription.trim().slice(0, 90) + (productDescription.trim().length > 90 ? "…" : "") : null) || t2("Crafted with quality materials for everyday comfort");
|
|
21992
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2", children: [
|
|
21993
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-image", children: [
|
|
21753
21994
|
previewUrl && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
21754
21995
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-blur", style: { backgroundImage: `url(${previewUrl})` } }),
|
|
21755
21996
|
/* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: previewUrl, alt: t2("Your photo"), className: "ps-tryon-processing-model" })
|
|
21756
21997
|
] }),
|
|
21757
21998
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-line" }),
|
|
21758
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-overlay" })
|
|
21999
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-scan-overlay" }),
|
|
22000
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-badge", children: [
|
|
22001
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-tryon-processing-v2-badge-dot", "aria-hidden": "true" }),
|
|
22002
|
+
t2("ANALYZING BODY MAP")
|
|
22003
|
+
] })
|
|
21759
22004
|
] }),
|
|
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
|
-
),
|
|
22005
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-panel", children: [
|
|
22006
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-head", children: [
|
|
22007
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "ps-tryon-processing-v2-title", children: t2("Generating Your Look") }),
|
|
22008
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "ps-tryon-processing-v2-sub", children: t2("Our AI is precisely mapping the garment to your unique proportions.") })
|
|
22009
|
+
] }),
|
|
22010
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-ring-wrap", children: [
|
|
22011
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { viewBox: "0 0 96 96", width: "120", height: "120", "aria-hidden": "true", children: [
|
|
22012
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "48", cy: "48", r: RING_RADIUS, className: "ps-tryon-progress-ring-track" }),
|
|
21772
22013
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
21773
22014
|
"circle",
|
|
21774
22015
|
{
|
|
21775
22016
|
ref: ringCb,
|
|
21776
|
-
cx: "
|
|
21777
|
-
cy: "
|
|
22017
|
+
cx: "48",
|
|
22018
|
+
cy: "48",
|
|
21778
22019
|
r: RING_RADIUS,
|
|
21779
22020
|
className: "ps-tryon-progress-ring-fill",
|
|
21780
22021
|
strokeDasharray: RING_CIRCUMFERENCE,
|
|
@@ -21782,13 +22023,48 @@ function ProcessingView({
|
|
|
21782
22023
|
}
|
|
21783
22024
|
)
|
|
21784
22025
|
] }),
|
|
21785
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
22026
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-ring-text", children: [
|
|
22027
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: pctCb, className: "ps-tryon-processing-v2-pct", children: "0%" }),
|
|
22028
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: statusCb, className: "ps-tryon-processing-v2-status", children: t2("Preparing your image…") })
|
|
22029
|
+
] })
|
|
21786
22030
|
] }),
|
|
21787
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
21788
|
-
|
|
21789
|
-
|
|
21790
|
-
|
|
21791
|
-
|
|
22031
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-bar-hidden", children: [
|
|
22032
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: barCb }),
|
|
22033
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { ref: etaCb })
|
|
22034
|
+
] }),
|
|
22035
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-sep" }),
|
|
22036
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-section", children: [
|
|
22037
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-section-label", children: t2("WHILE YOU WAIT") }),
|
|
22038
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-cards", children: [
|
|
22039
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22040
|
+
/* @__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" }) }) }),
|
|
22041
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22042
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("Style Tip") }),
|
|
22043
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: styleTip[tipIdx] }, tipIdx)
|
|
22044
|
+
] })
|
|
22045
|
+
] }),
|
|
22046
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22047
|
+
/* @__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: [
|
|
22048
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
22049
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
22050
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
22051
|
+
] }) }),
|
|
22052
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22053
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("Garment Spotlight") }),
|
|
22054
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: garmentLine })
|
|
22055
|
+
] })
|
|
22056
|
+
] }),
|
|
22057
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card", children: [
|
|
22058
|
+
/* @__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" }) }) }),
|
|
22059
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-tryon-processing-v2-card-text", children: [
|
|
22060
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-head", children: t2("AI Fact") }),
|
|
22061
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-tryon-processing-v2-card-body", children: aiFacts[factIdx] }, factIdx)
|
|
22062
|
+
] })
|
|
22063
|
+
] })
|
|
22064
|
+
] })
|
|
22065
|
+
] }),
|
|
22066
|
+
onCancel && /* @__PURE__ */ jsxRuntimeExports.jsx("button", { type: "button", className: "ps-tryon-processing-v2-cancel", onClick: onCancel, children: t2("Cancel Generation") })
|
|
22067
|
+
] })
|
|
21792
22068
|
] });
|
|
21793
22069
|
}
|
|
21794
22070
|
function ErrorView({
|
|
@@ -27067,7 +27343,7 @@ function PrimeStyleTryonInner({
|
|
|
27067
27343
|
{ at: 75, text: t2("Refining details...") },
|
|
27068
27344
|
{ at: 90, text: t2("Almost there...") }
|
|
27069
27345
|
];
|
|
27070
|
-
const RING_CIRCUMFERENCE2 = 2 * Math.PI *
|
|
27346
|
+
const RING_CIRCUMFERENCE2 = 2 * Math.PI * 38;
|
|
27071
27347
|
progressIntervalRef.current = setInterval(() => {
|
|
27072
27348
|
if (completedRef.current) return;
|
|
27073
27349
|
const startTs = progressStartTsRef.current || Date.now();
|
|
@@ -28750,6 +29026,13 @@ function PrimeStyleTryonInner({
|
|
|
28750
29026
|
progressStatusRef,
|
|
28751
29027
|
progressEtaRef,
|
|
28752
29028
|
progressRingRef,
|
|
29029
|
+
productTitle,
|
|
29030
|
+
productMaterial,
|
|
29031
|
+
productDescription,
|
|
29032
|
+
onCancel: () => {
|
|
29033
|
+
setView("size-result");
|
|
29034
|
+
setTryOnProcessing(false);
|
|
29035
|
+
},
|
|
28753
29036
|
cn,
|
|
28754
29037
|
t: t2
|
|
28755
29038
|
}
|