@primestyleai/tryon 5.10.130 → 5.10.132

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.
@@ -7218,7 +7218,10 @@ const es = {
7218
7218
  "A fuller, more rounded midsection": "Una cintura más llena y redondeada",
7219
7219
  "A flatter backside with less projection": "Un trasero más plano con menos proyección",
7220
7220
  "A moderate, natural backside shape": "Un trasero moderado y natural",
7221
- "A fuller, more rounded backside": "Un trasero más lleno y redondeado"
7221
+ "A fuller, more rounded backside": "Un trasero más lleno y redondeado",
7222
+ // ── Photo step — profile photo preload pill ──
7223
+ "Loaded from profile": "Cargada del perfil",
7224
+ "Clear": "Borrar"
7222
7225
  };
7223
7226
  const fr = {
7224
7227
  "Virtual Try-On": "Essayage Virtuel",
@@ -7468,7 +7471,10 @@ const fr = {
7468
7471
  "A fuller, more rounded midsection": "Une taille plus pleine et arrondie",
7469
7472
  "A flatter backside with less projection": "Un arrière plus plat avec moins de projection",
7470
7473
  "A moderate, natural backside shape": "Un arrière modéré et naturel",
7471
- "A fuller, more rounded backside": "Un arrière plus plein et arrondi"
7474
+ "A fuller, more rounded backside": "Un arrière plus plein et arrondi",
7475
+ // ── Photo step — profile photo preload pill ──
7476
+ "Loaded from profile": "Chargée depuis le profil",
7477
+ "Clear": "Effacer"
7472
7478
  };
7473
7479
  const de = {
7474
7480
  "Virtual Try-On": "Virtuelle Anprobe",
@@ -7718,7 +7724,10 @@ const de = {
7718
7724
  "A fuller, more rounded midsection": "Eine vollere, rundere Körpermitte",
7719
7725
  "A flatter backside with less projection": "Ein flacheres Gesäß mit weniger Wölbung",
7720
7726
  "A moderate, natural backside shape": "Ein moderates, natürliches Gesäß",
7721
- "A fuller, more rounded backside": "Ein volleres, runderes Gesäß"
7727
+ "A fuller, more rounded backside": "Ein volleres, runderes Gesäß",
7728
+ // ── Photo step — profile photo preload pill ──
7729
+ "Loaded from profile": "Aus Profil geladen",
7730
+ "Clear": "Löschen"
7722
7731
  };
7723
7732
  const it = {
7724
7733
  "Virtual Try-On": "Prova Virtuale",
@@ -7968,7 +7977,10 @@ const it = {
7968
7977
  "A fuller, more rounded midsection": "Una vita più piena e arrotondata",
7969
7978
  "A flatter backside with less projection": "Un lato B più piatto e meno proiettato",
7970
7979
  "A moderate, natural backside shape": "Un lato B moderato e naturale",
7971
- "A fuller, more rounded backside": "Un lato B più pieno e arrotondato"
7980
+ "A fuller, more rounded backside": "Un lato B più pieno e arrotondato",
7981
+ // ── Photo step — profile photo preload pill ──
7982
+ "Loaded from profile": "Caricata dal profilo",
7983
+ "Clear": "Cancella"
7972
7984
  };
7973
7985
  const pt$1 = {
7974
7986
  "Virtual Try-On": "Provador Virtual",
@@ -8218,7 +8230,10 @@ const pt$1 = {
8218
8230
  "A fuller, more rounded midsection": "Uma cintura mais cheia e arredondada",
8219
8231
  "A flatter backside with less projection": "Um traseiro mais plano com menos projeção",
8220
8232
  "A moderate, natural backside shape": "Um traseiro moderado e natural",
8221
- "A fuller, more rounded backside": "Um traseiro mais cheio e arredondado"
8233
+ "A fuller, more rounded backside": "Um traseiro mais cheio e arredondado",
8234
+ // ── Photo step — profile photo preload pill ──
8235
+ "Loaded from profile": "Carregada do perfil",
8236
+ "Clear": "Limpar"
8222
8237
  };
8223
8238
  const ja = {
8224
8239
  "Virtual Try-On": "バーチャル試着",
@@ -8468,7 +8483,10 @@ const ja = {
8468
8483
  "A fuller, more rounded midsection": "丸みのあるふくよかなウエスト",
8469
8484
  "A flatter backside with less projection": "突出の少ない平らなおしり",
8470
8485
  "A moderate, natural backside shape": "標準的で自然なおしり",
8471
- "A fuller, more rounded backside": "丸みのあるふくよかなおしり"
8486
+ "A fuller, more rounded backside": "丸みのあるふくよかなおしり",
8487
+ // ── Photo step — profile photo preload pill ──
8488
+ "Loaded from profile": "プロフィールから読み込み",
8489
+ "Clear": "クリア"
8472
8490
  };
8473
8491
  const zh = {
8474
8492
  "Virtual Try-On": "虚拟试穿",
@@ -8718,7 +8736,10 @@ const zh = {
8718
8736
  "A fuller, more rounded midsection": "较丰满圆润的腰部",
8719
8737
  "A flatter backside with less projection": "较平坦的臀部",
8720
8738
  "A moderate, natural backside shape": "适中自然的臀部",
8721
- "A fuller, more rounded backside": "较丰满圆润的臀部"
8739
+ "A fuller, more rounded backside": "较丰满圆润的臀部",
8740
+ // ── Photo step — profile photo preload pill ──
8741
+ "Loaded from profile": "已从个人资料加载",
8742
+ "Clear": "清除"
8722
8743
  };
8723
8744
  const ko = {
8724
8745
  "Virtual Try-On": "가상 피팅",
@@ -8968,7 +8989,10 @@ const ko = {
8968
8989
  "A fuller, more rounded midsection": "더 풍만하고 둥근 허리",
8969
8990
  "A flatter backside with less projection": "돌출이 적은 평평한 엉덩이",
8970
8991
  "A moderate, natural backside shape": "보통의 자연스러운 엉덩이",
8971
- "A fuller, more rounded backside": "더 풍만하고 둥근 엉덩이"
8992
+ "A fuller, more rounded backside": "더 풍만하고 둥근 엉덩이",
8993
+ // ── Photo step — profile photo preload pill ──
8994
+ "Loaded from profile": "프로필에서 불러옴",
8995
+ "Clear": "지우기"
8972
8996
  };
8973
8997
  const ar = {
8974
8998
  "Virtual Try-On": "تجربة افتراضية",
@@ -9218,7 +9242,10 @@ const ar = {
9218
9242
  "A fuller, more rounded midsection": "منطقة وسط أكثر امتلاءً واستدارة",
9219
9243
  "A flatter backside with less projection": "مؤخرة أكثر استواءً مع بروز أقل",
9220
9244
  "A moderate, natural backside shape": "مؤخرة معتدلة وطبيعية",
9221
- "A fuller, more rounded backside": "مؤخرة أكثر امتلاءً واستدارة"
9245
+ "A fuller, more rounded backside": "مؤخرة أكثر امتلاءً واستدارة",
9246
+ // ── Photo step — profile photo preload pill ──
9247
+ "Loaded from profile": "تم التحميل من الملف الشخصي",
9248
+ "Clear": "مسح"
9222
9249
  };
9223
9250
  const locales = {
9224
9251
  es,
@@ -14601,6 +14628,28 @@ const STYLES$1 = `
14601
14628
  color: var(--ps-text-primary); border-bottom-color: var(--ps-accent);
14602
14629
  }
14603
14630
 
14631
+ /* "Loaded from profile" pill — shows above the HEIGHT input when the
14632
+ active profile pre-populated the photo zone. Clear button next to it
14633
+ wipes the photo so the user can upload a new one. */
14634
+ .ps-bp-loaded-pill {
14635
+ display: inline-flex; align-items: center; gap: 0.5vw;
14636
+ align-self: center; margin: 0 auto 0.7vw;
14637
+ padding: 0.3vw 0.7vw; border-radius: 999px;
14638
+ background: rgba(33, 84, 239, 0.08); border: 1px solid rgba(33, 84, 239, 0.18);
14639
+ font-size: 0.7vw; color: var(--ps-text-secondary);
14640
+ }
14641
+ .ps-bp-loaded-pill-dot {
14642
+ color: var(--ps-accent); font-weight: 700; font-size: 0.75vw;
14643
+ }
14644
+ .ps-bp-loaded-pill-text { font-weight: 500; }
14645
+ .ps-bp-loaded-pill-clear {
14646
+ background: none; border: none; padding: 0 0 0 0.3vw;
14647
+ color: var(--ps-text-muted); font-size: 0.7vw; font-weight: 500;
14648
+ cursor: pointer; font-family: inherit; text-decoration: underline;
14649
+ text-underline-offset: 2px;
14650
+ }
14651
+ .ps-bp-loaded-pill-clear:hover { color: var(--ps-accent); }
14652
+
14604
14653
  /* Inline field rows (WAIR style) */
14605
14654
  .ps-bp-inline-fields {
14606
14655
  display: flex; flex-direction: column; gap: 0; flex: 1;
@@ -25343,6 +25392,7 @@ function BodyProfileView({
25343
25392
  const [photoProcessing, setPhotoProcessing] = reactExports.useState(false);
25344
25393
  const [photoStatus, setPhotoStatus] = reactExports.useState("");
25345
25394
  const [photoRejection, setPhotoRejection] = reactExports.useState(null);
25395
+ const [photoFromProfile, setPhotoFromProfile] = reactExports.useState(false);
25346
25396
  const fileInputRef = reactExports.useRef(null);
25347
25397
  const [ageConfirmed, setAgeConfirmed] = reactExports.useState(null);
25348
25398
  const [photoHelpOpen, setPhotoHelpOpen] = reactExports.useState(false);
@@ -25423,12 +25473,21 @@ function BodyProfileView({
25423
25473
  }
25424
25474
  }, [t2, ageConfirmed]);
25425
25475
  const handleRemovePhoto = reactExports.useCallback(() => {
25426
- if (photoPreview) URL.revokeObjectURL(photoPreview);
25476
+ if (photoPreview && !photoFromProfile) URL.revokeObjectURL(photoPreview);
25427
25477
  setPhotoFile(null);
25428
25478
  setPhotoPreview(null);
25429
25479
  setPhotoBase64(null);
25480
+ setPhotoFromProfile(false);
25430
25481
  if (fileInputRef.current) fileInputRef.current.value = "";
25431
- }, [photoPreview]);
25482
+ }, [photoPreview, photoFromProfile]);
25483
+ reactExports.useEffect(() => {
25484
+ const profilePhoto = activeProfile?.photoBase64;
25485
+ if (!profilePhoto || photoBase64 || photoPreview) return;
25486
+ setPhotoBase64(profilePhoto);
25487
+ setPhotoPreview(profilePhoto);
25488
+ setPhotoFromProfile(true);
25489
+ setAgeConfirmed(true);
25490
+ }, [activeProfile, photoBase64, photoPreview]);
25432
25491
  const validateBasics = reactExports.useCallback(() => {
25433
25492
  if (hUnit === "in") {
25434
25493
  const ft = parseFloat(heightFeet);
@@ -26228,82 +26287,89 @@ function BodyProfileView({
26228
26287
  /* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: `ps-bp-system-btn${!isImperialMode ? " ps-bp-system-active" : ""}`, onClick: photoSwitchToMetric, type: "button", children: t2("Metric") }),
26229
26288
  /* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: `ps-bp-system-btn${isImperialMode ? " ps-bp-system-active" : ""}`, onClick: photoSwitchToImperial, type: "button", children: t2("Imperial") })
26230
26289
  ] }),
26231
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { marginTop: "auto", marginBottom: "auto" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-fields", children: [
26232
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26233
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("HEIGHT") }),
26234
- hUnit === "in" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26235
- /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "5", value: heightFeet, onChange: (e) => setHeightFeet(e.target.value), min: 3, max: 8 }),
26236
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "ft" }),
26237
- /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "10", value: heightInches, onChange: (e) => setHeightInches(e.target.value), min: 0, max: 11 }),
26238
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "in" })
26239
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26240
- /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "173", value: height, onChange: (e) => setHeight(e.target.value), min: 100, max: 250 }),
26241
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "cm" })
26242
- ] })
26290
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { marginTop: "auto", marginBottom: "auto" }, children: [
26291
+ photoFromProfile && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-loaded-pill", role: "status", children: [
26292
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-loaded-pill-dot", "aria-hidden": "true", children: "" }),
26293
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-loaded-pill-text", children: t2("Loaded from profile") }),
26294
+ /* @__PURE__ */ jsxRuntimeExports.jsx("button", { type: "button", className: "ps-bp-loaded-pill-clear", onClick: handleRemovePhoto, children: t2("Clear") })
26243
26295
  ] }),
26244
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26245
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("WEIGHT") }),
26246
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26247
- /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: wUnit === "kg" ? "75" : "165", value: weight, onChange: (e) => setWeight(e.target.value), min: wUnit === "kg" ? 30 : 66, max: wUnit === "kg" ? 300 : 660 }),
26248
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: wUnit })
26249
- ] })
26250
- ] }),
26251
- isWomen && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: inlineBraWrapRef, children: [
26296
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-fields", children: [
26252
26297
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26253
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("BRA REGION") }),
26254
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26255
- MiniSelect,
26256
- {
26257
- value: braSizeRegion,
26258
- options: Object.keys(BAND_SIZES),
26259
- isOpen: inlineBraOpen === "region",
26260
- onToggle: () => setInlineBraOpen(inlineBraOpen === "region" ? null : "region"),
26261
- onSelect: (v2) => {
26262
- setBraSizeRegion(v2);
26263
- setBandSize(null);
26264
- setCupSize(null);
26265
- setInlineBraOpen(null);
26266
- }
26267
- }
26268
- ) })
26298
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("HEIGHT") }),
26299
+ hUnit === "in" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26300
+ /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "5", value: heightFeet, onChange: (e) => setHeightFeet(e.target.value), min: 3, max: 8 }),
26301
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "ft" }),
26302
+ /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "10", value: heightInches, onChange: (e) => setHeightInches(e.target.value), min: 0, max: 11 }),
26303
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "in" })
26304
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26305
+ /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: "173", value: height, onChange: (e) => setHeight(e.target.value), min: 100, max: 250 }),
26306
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: "cm" })
26307
+ ] })
26269
26308
  ] }),
26270
26309
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26271
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("BAND") }),
26272
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26273
- MiniSelect,
26274
- {
26275
- value: bandSize,
26276
- options: BAND_SIZES[braSizeRegion] || BAND_SIZES.US,
26277
- placeholder: "—",
26278
- isOpen: inlineBraOpen === "band",
26279
- onToggle: () => setInlineBraOpen(inlineBraOpen === "band" ? null : "band"),
26280
- onSelect: (v2) => {
26281
- setBandSize(v2);
26282
- setInlineBraOpen(null);
26283
- }
26284
- }
26285
- ) })
26310
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("WEIGHT") }),
26311
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-input-group", children: [
26312
+ /* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "number", className: "ps-bp-inline-input", placeholder: wUnit === "kg" ? "75" : "165", value: weight, onChange: (e) => setWeight(e.target.value), min: wUnit === "kg" ? 30 : 66, max: wUnit === "kg" ? 300 : 660 }),
26313
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-unit", children: wUnit })
26314
+ ] })
26286
26315
  ] }),
26287
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26288
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("CUP") }),
26289
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26290
- MiniSelect,
26291
- {
26292
- value: cupSize,
26293
- options: CUP_SIZES[braSizeRegion] || CUP_SIZES.US,
26294
- placeholder: "—",
26295
- direction: "up",
26296
- isOpen: inlineBraOpen === "cup",
26297
- onToggle: () => setInlineBraOpen(inlineBraOpen === "cup" ? null : "cup"),
26298
- onSelect: (v2) => {
26299
- setCupSize(v2);
26300
- setInlineBraOpen(null);
26316
+ isWomen && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: inlineBraWrapRef, children: [
26317
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26318
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("BRA REGION") }),
26319
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26320
+ MiniSelect,
26321
+ {
26322
+ value: braSizeRegion,
26323
+ options: Object.keys(BAND_SIZES),
26324
+ isOpen: inlineBraOpen === "region",
26325
+ onToggle: () => setInlineBraOpen(inlineBraOpen === "region" ? null : "region"),
26326
+ onSelect: (v2) => {
26327
+ setBraSizeRegion(v2);
26328
+ setBandSize(null);
26329
+ setCupSize(null);
26330
+ setInlineBraOpen(null);
26331
+ }
26301
26332
  }
26302
- }
26303
- ) })
26333
+ ) })
26334
+ ] }),
26335
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26336
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("BAND") }),
26337
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26338
+ MiniSelect,
26339
+ {
26340
+ value: bandSize,
26341
+ options: BAND_SIZES[braSizeRegion] || BAND_SIZES.US,
26342
+ placeholder: "—",
26343
+ isOpen: inlineBraOpen === "band",
26344
+ onToggle: () => setInlineBraOpen(inlineBraOpen === "band" ? null : "band"),
26345
+ onSelect: (v2) => {
26346
+ setBandSize(v2);
26347
+ setInlineBraOpen(null);
26348
+ }
26349
+ }
26350
+ ) })
26351
+ ] }),
26352
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ps-bp-inline-row", children: [
26353
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ps-bp-inline-label", children: t2("CUP") }),
26354
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ps-bp-inline-input-group", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
26355
+ MiniSelect,
26356
+ {
26357
+ value: cupSize,
26358
+ options: CUP_SIZES[braSizeRegion] || CUP_SIZES.US,
26359
+ placeholder: "—",
26360
+ direction: "up",
26361
+ isOpen: inlineBraOpen === "cup",
26362
+ onToggle: () => setInlineBraOpen(inlineBraOpen === "cup" ? null : "cup"),
26363
+ onSelect: (v2) => {
26364
+ setCupSize(v2);
26365
+ setInlineBraOpen(null);
26366
+ }
26367
+ }
26368
+ ) })
26369
+ ] })
26304
26370
  ] })
26305
26371
  ] })
26306
- ] }) }),
26372
+ ] }),
26307
26373
  photoHelpOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
26308
26374
  /* @__PURE__ */ jsxRuntimeExports.jsx(
26309
26375
  "div",
@@ -29658,7 +29724,7 @@ function PrimeStyleTryonInner({
29658
29724
  lastUsedAt: Date.now()
29659
29725
  };
29660
29726
  const nextProfiles = [newProfile, ...profiles];
29661
- lsSet("profiles", nextProfiles);
29727
+ saveProfiles(nextProfiles);
29662
29728
  setProfiles(nextProfiles);
29663
29729
  setActiveProfileId$1(newProfile.id);
29664
29730
  const heightVal = newProfile.heightCm || newProfile.height || 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primestyleai/tryon",
3
- "version": "5.10.130",
3
+ "version": "5.10.132",
4
4
  "description": "PrimeStyle Virtual Try-On SDK — React component & Web Component",
5
5
  "type": "module",
6
6
  "main": "dist/primestyle-tryon.js",