@primestyleai/tryon 5.10.86 → 5.10.88

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.
@@ -135,13 +135,20 @@ export interface SizeGuide {
135
135
  /** Mapping of section name → product image URL (classified by AI) */
136
136
  sectionImages?: Record<string, string>;
137
137
  }
138
- export type ViewState = "idle" | "welcome" | "body-profile" | "estimation-review" | "size-result" | "upload" | "processing" | "result" | "error" | "profiles";
138
+ export type ViewState = "idle" | "welcome" | "body-profile" | "estimation-review" | "size-result" | "upload" | "processing" | "result" | "error" | "no-chart" | "profiles";
139
139
  export type DrawerType = "profiles" | "history" | null;
140
140
  export interface PrimeStyleTryonProps {
141
141
  productImage: string;
142
142
  productTitle?: string;
143
143
  /** Stable product identifier — used to cache size recommendations per (profile, product) */
144
144
  productId?: string;
145
+ /** Free-text product description (e.g. "Brown slip maxi dress with spaghetti straps").
146
+ * Forwarded to the backend try-on prompt so Gemini knows the garment context. */
147
+ productDescription?: string;
148
+ /** Material / fabric composition (e.g. "60% Recycled Polyester / 40% Polyester",
149
+ * "100% Cotton", "Wool blend"). Forwarded to the prompt so Gemini drapes
150
+ * the fabric correctly without guessing from the image alone. */
151
+ productMaterial?: string;
145
152
  buttonText?: string;
146
153
  apiUrl?: string;
147
154
  showPoweredBy?: boolean;
@@ -0,0 +1,12 @@
1
+ import type { TranslateFn } from "../../i18n";
2
+ /**
3
+ * Empty state shown when the backend can't find a size chart for the
4
+ * product (no merchant CSV uploaded, no inline size guide). The user
5
+ * still gets a polite path forward — skip sizing entirely and try the
6
+ * product on visually.
7
+ */
8
+ export declare function NoChartView({ onTryOn, onClose, t, }: {
9
+ onTryOn: () => void;
10
+ onClose: () => void;
11
+ t: TranslateFn;
12
+ }): import("react/jsx-runtime").JSX.Element;
@@ -11,7 +11,13 @@ interface PhotoStepMobileProps {
11
11
  onPhotoStepHeightChange?: (v: string) => void;
12
12
  ageConfirmed: boolean | null;
13
13
  onAgeConfirmedChange: (v: boolean | null) => void;
14
+ primaryLabel?: string;
15
+ compactAgeGate?: boolean;
16
+ photoProcessing?: boolean;
17
+ photoStatus?: string;
18
+ photoRejection?: string | null;
19
+ onClearRejection?: () => void;
14
20
  t: TranslateFn;
15
21
  }
16
- export declare function PhotoStepMobile({ photoPreview, handlePhotoSelect, handleRemovePhoto, onAnalyze, onSwitchToManual, error, photoVariant, photoStepHeight, onPhotoStepHeightChange, ageConfirmed, onAgeConfirmedChange, t, }: PhotoStepMobileProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function PhotoStepMobile({ photoPreview, handlePhotoSelect, handleRemovePhoto, onAnalyze, onSwitchToManual, error, photoVariant, photoStepHeight, onPhotoStepHeightChange, ageConfirmed, onAgeConfirmedChange, primaryLabel, compactAgeGate, photoProcessing, photoStatus, photoRejection, onClearRejection, t, }: PhotoStepMobileProps): import("react/jsx-runtime").JSX.Element;
17
23
  export {};