@thefittingroom/shop-ui 5.0.6 → 5.0.8

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.
Files changed (2) hide show
  1. package/dist/index.js +355 -43
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -19035,7 +19035,8 @@ const en$1 = {
19035
19035
  "sign-in": { "email": "Email", "password": "Password", "forgot_password": "Forgot password?", "sign_in": "Sign in", "no_account": "Don’t have an account?", "download_app": "Download the app.", "invalid_email": "Please enter a valid email address.", "missing_password": "Please enter your password.", "login_failed": "Incorrect email or password." },
19036
19036
  "forgot-password": { "title": "Forgot password", "description": "We’ll send you an email with a link to reset your password.", "send_link": "Send link", "link_sent": "Link sent! Please check your email.", "need_help": "Need help?", "contact_us": "Contact us." },
19037
19037
  "vto-single": { "avatar_loading": "Finding your perfect fit...", "slide_to_rotate": "Slide to rotate", "sign_out": "Sign out", "color_label": "Color:", "add_to_cart": "Add to cart", "view_product_details": "View product details", "hide_product_details": "Hide product details" },
19038
- "size-rec": { "recommended_size": "Recommended Size: {{size}}", "item_fit": "This item is {{fit}}", "select_size": "Select a size to see how it fits", "fitClassification": { "form_fitting": "Form Fitting", "slim_fit": "Slim Fit", "regular_fit": "Regular Fit", "relaxed_fit": "Relaxed Fit", "oversized_fit": "Oversized Fit" }, "measurementLocation": { "neck_base": "Neck", "across_shoulder": "Shoulders", "cb_neck_to_wrist": "Neck to Wrist", "sleeve_length_from_shoulder_point": "Sleeve", "bust": "Bust", "waist": "Waist", "low_waist": "Low Waist", "low_hip": "Low Hip", "high_hip": "High Hip", "thigh": "Thigh", "inseam": "Inseam", "hsp_to_low_hip": "HSP to Low Hip", "hsp_to_crotch": "HSP to Crotch", "low_hip_bottoms": "Low Hip (Bottoms)", "high_hip_bottoms": "High Hip (Bottoms)" }, "fit": { "too_tight": "Too Tight", "tight": "Tight", "slightly_tight": "Slightly Tight", "perfect_fit": "Perfect Fit", "slightly_loose": "Slightly Loose", "loose": "Loose", "oversized": "Oversized", "too_short": "Too Short", "short": "Short", "slightly_short": "Slightly Short", "slightly_long": "Slightly Long", "long": "Long", "too_long": "Too Long" } }
19038
+ "size-rec": { "recommended_size": "Recommended Size: {{size}}", "item_fit": "This item is {{fit}}", "select_size": "Select a size to see how it fits", "fitClassification": { "form_fitting": "Form Fitting", "slim_fit": "Slim Fit", "regular_fit": "Regular Fit", "relaxed_fit": "Relaxed Fit", "oversized_fit": "Oversized Fit" }, "measurementLocation": { "neck_base": "Neck", "across_shoulder": "Shoulders", "cb_neck_to_wrist": "Neck to Wrist", "sleeve_length_from_shoulder_point": "Sleeve", "bust": "Bust", "waist": "Waist", "low_waist": "Low Waist", "high_hip": "High Hip", "low_hip": "Low Hip", "thigh": "Thigh", "inseam": "Inseam", "hsp_to_low_hip": "HSP to Low Hip", "hsp_to_crotch": "HSP to Crotch", "low_hip_bottoms": "Low Hip (Bottoms)", "high_hip_bottoms": "High Hip (Bottoms)" }, "fit": { "too_tight": "Too Tight", "tight": "Tight", "slightly_tight": "Slightly Tight", "perfect_fit": "Perfect Fit", "slightly_loose": "Slightly Loose", "loose": "Loose", "oversized": "Oversized", "too_short": "Too Short", "short": "Short", "slightly_short": "Slightly Short", "slightly_long": "Slightly Long", "long": "Long", "too_long": "Too Long" } },
19039
+ "fit-chart": { "fit_scale": "Fit Scale", "fit": { "poor_fit": "Poor Fit", "acceptable_fit": "Acceptable Fit", "too_tight": "Too Tight", "tight": "Tight or More Fitted", "slightly_tight": "Slightly Tight or Fitted", "perfect_fit": "Perfect Fit", "slightly_loose": "Slightly Loose or Less Fitted", "loose": "Loose or Not Fitted", "oversized": "Oversized" }, "measurement_points": "Measurement Points", "point": { "bust": "Chest/Bust", "waist": "Natural Waist", "pant_waist": "Pant Waist", "high_hip": "High Hip", "low_hip": "Low Hip", "thigh": "Thigh" } }
19039
19040
  };
19040
19041
  const try_it_on = "Essayez-le";
19041
19042
  const powered_by = "Alimenté par";
@@ -19050,7 +19051,8 @@ const fr = {
19050
19051
  "sign-in": { "email": "Email", "password": "Mot de passe", "forgot_password": "Mot de passe oublié ?", "sign_in": "Se connecter", "no_account": "Vous n'avez pas de compte ?", "download_app": "Téléchargez l'application.", "invalid_email": "Veuillez entrer une adresse e-mail valide.", "missing_password": "Veuillez entrer votre mot de passe.", "login_failed": "Email ou mot de passe incorrect." },
19051
19052
  "forgot-password": { "title": "Mot de passe oublié", "description": "Nous vous enverrons un e-mail avec un lien pour réinitialiser votre mot de passe.", "send_link": "Envoyer le lien", "link_sent": "Lien envoyé ! Veuillez vérifier votre e-mail.", "need_help": "Besoin d'aide ?", "contact_us": "Contactez-nous." },
19052
19053
  "vto-single": { "avatar_loading": "Trouver votre ajustement parfait...", "slide_to_rotate": "Faites glisser pour faire pivoter", "sign_out": "Se déconnecter", "color_label": "Couleur :", "add_to_cart": "Ajouter au panier", "view_product_details": "Voir les détails du produit", "hide_product_details": "Masquer les détails du produit" },
19053
- "size-rec": { "recommended_size": "Taille recommandée : {{size}}", "item_fit": "Cet article est {{fit}}", "select_size": "Sélectionnez une taille pour voir comment elle s'adapte", "fitClassification": { "form_fitting": "Ajusté", "slim_fit": "Coupe slim", "regular_fit": "Coupe régulière", "relaxed_fit": "Coupe décontractée", "oversized_fit": "Coupe oversize" }, "measurementLocation": { "neck_base": "Cou", "across_shoulder": "Épaules", "cb_neck_to_wrist": "Cou jusqu'au poignet", "sleeve_length_from_shoulder_point": "Manche", "bust": "Buste", "waist": "Taille", "low_waist": "Bas de la taille", "low_hip": "Bas des hanches", "high_hip": "Haut des hanches", "thigh": "Cuisse", "inseam": "Entrejambe", "hsp_to_low_hip": "HSP au bas des hanches", "hsp_to_crotch": "HSP à l'entrejambe", "low_hip_bottoms": "Bas des hanches (bas)", "high_hip_bottoms": "Haut des hanches (bas)" }, "fit": { "too_tight": "Trop serré", "tight": "Serré", "slightly_tight": "Légèrement serré", "perfect_fit": "Parfait", "slightly_loose": "Légèrement ample", "loose": "Ample", "oversized": "Oversize", "too_short": "Trop court", "short": "Court", "slightly_short": "Légèrement court", "slightly_long": "Légèrement long", "long": "Long", "too_long": "Trop long" } }
19054
+ "size-rec": { "recommended_size": "Taille recommandée : {{size}}", "item_fit": "Cet article est {{fit}}", "select_size": "Sélectionnez une taille pour voir comment elle s'adapte", "fitClassification": { "form_fitting": "Ajusté", "slim_fit": "Coupe slim", "regular_fit": "Coupe régulière", "relaxed_fit": "Coupe décontractée", "oversized_fit": "Coupe oversize" }, "measurementLocation": { "neck_base": "Cou", "across_shoulder": "Épaules", "cb_neck_to_wrist": "Cou jusqu'au poignet", "sleeve_length_from_shoulder_point": "Manche", "bust": "Buste", "waist": "Taille", "low_waist": "Bas de la taille", "high_hip": "Haut des hanches", "low_hip": "Bas des hanches", "thigh": "Cuisse", "inseam": "Entrejambe", "hsp_to_low_hip": "HSP au bas des hanches", "hsp_to_crotch": "HSP à l'entrejambe", "low_hip_bottoms": "Bas des hanches (bas)", "high_hip_bottoms": "Haut des hanches (bas)" }, "fit": { "too_tight": "Trop serré", "tight": "Serré", "slightly_tight": "Légèrement serré", "perfect_fit": "Parfait", "slightly_loose": "Légèrement ample", "loose": "Ample", "oversized": "Oversize", "too_short": "Trop court", "short": "Court", "slightly_short": "Légèrement court", "slightly_long": "Légèrement long", "long": "Long", "too_long": "Trop long" } },
19055
+ "fit-chart": { "fit_scale": "Échelle d'ajustement", "fit": { "poor_fit": "Mauvais ajustement", "acceptable_fit": "Ajustement acceptable", "too_tight": "Trop serré", "tight": "Serré ou plus ajusté", "slightly_tight": "Légèrement serré ou ajusté", "perfect_fit": "Parfait", "slightly_loose": "Légèrement ample ou moins ajusté", "loose": "Ample ou non ajusté", "oversized": "Oversize" }, "measurement_points": "Points de mesure", "point": { "bust": "Poitrine/Buste", "waist": "Taille naturelle", "pant_waist": "Taille du pantalon", "high_hip": "Haut des hanches", "low_hip": "Bas des hanches", "thigh": "Cuisse" } }
19054
19056
  };
19055
19057
  instance.use(initReactI18next).init({
19056
19058
  lng: "en",
@@ -41399,6 +41401,302 @@ function SignInOverlay({
41399
41401
  ] })
41400
41402
  ] }) });
41401
41403
  }
41404
+ function FitChart({
41405
+ onRequestClose
41406
+ }) {
41407
+ const scrollToRef = reactExports.useRef(null);
41408
+ const css2 = useCss((_theme) => ({
41409
+ frame: {
41410
+ position: "relative",
41411
+ width: "100%",
41412
+ border: "1px solid rgba(33, 32, 31, 0.2)",
41413
+ borderRadius: "12px"
41414
+ },
41415
+ closeButton: {
41416
+ position: "absolute",
41417
+ top: "16px",
41418
+ right: "16px"
41419
+ },
41420
+ closeIcon: {
41421
+ width: "12px",
41422
+ height: "12px"
41423
+ },
41424
+ contentContainer: {
41425
+ width: "100%",
41426
+ display: "flex",
41427
+ flexDirection: "column",
41428
+ justifyContent: "center",
41429
+ alignItems: "center",
41430
+ padding: "16px 16px 0 16px"
41431
+ },
41432
+ titleContainer: {},
41433
+ titleText: {
41434
+ fontSize: "24px",
41435
+ fontWeight: "bold",
41436
+ color: "#209da7"
41437
+ },
41438
+ scaleContainer: {
41439
+ position: "relative",
41440
+ width: "95%",
41441
+ marginTop: "16px",
41442
+ marginLeft: "auto",
41443
+ marginRight: "auto"
41444
+ },
41445
+ scaleSegment: {
41446
+ position: "relative",
41447
+ width: "100%",
41448
+ display: "flex",
41449
+ alignItems: "center"
41450
+ },
41451
+ scaleFitLabelRow: {
41452
+ display: "flex",
41453
+ justifyContent: "space-between"
41454
+ },
41455
+ scaleFitLabelContainer: {
41456
+ width: "100%",
41457
+ lineHeight: "11px",
41458
+ textAlign: "center"
41459
+ },
41460
+ scaleFitLabelPoorFitText: {
41461
+ fontSize: "8px",
41462
+ fontWeight: "500"
41463
+ },
41464
+ scaleFitLabelGoodFitText: {
41465
+ fontSize: "8px",
41466
+ fontWeight: "500",
41467
+ color: "#209da7"
41468
+ },
41469
+ scaleFitLabelLeftContainer: {
41470
+ marginTop: "4px",
41471
+ position: "relative",
41472
+ left: "-28px"
41473
+ },
41474
+ scaleFitLabelRightContainer: {
41475
+ marginTop: "4px",
41476
+ position: "relative",
41477
+ right: "-28px"
41478
+ },
41479
+ scaleLineRow: {
41480
+ marginTop: "8px",
41481
+ display: "flex",
41482
+ justifyContent: "space-between"
41483
+ },
41484
+ scalePointPoorFit: {
41485
+ width: "12px",
41486
+ height: "12px",
41487
+ borderRadius: "6px",
41488
+ backgroundColor: "black"
41489
+ },
41490
+ scalePointGoodFit: {
41491
+ width: "12px",
41492
+ height: "12px",
41493
+ borderRadius: "6px",
41494
+ backgroundColor: "#209da7"
41495
+ },
41496
+ scaleLinePoorFit: {
41497
+ width: "100%",
41498
+ height: "2px",
41499
+ backgroundColor: "black"
41500
+ },
41501
+ scaleLineGoodFit: {
41502
+ width: "100%",
41503
+ height: "2px",
41504
+ backgroundColor: "#209da7"
41505
+ },
41506
+ scaleCategoryLabelRow: {
41507
+ display: "flex",
41508
+ justifyContent: "space-between"
41509
+ },
41510
+ scaleCategoryLabelLeft: {
41511
+ width: "100%",
41512
+ paddingLeft: "16px",
41513
+ textAlign: "left"
41514
+ },
41515
+ scaleCategoryLabelCenter: {
41516
+ width: "100%",
41517
+ textAlign: "center"
41518
+ },
41519
+ scaleCategoryLabelRight: {
41520
+ width: "100%",
41521
+ paddingRight: "16px",
41522
+ textAlign: "right"
41523
+ },
41524
+ scaleCategoryLabelPoorFitText: {
41525
+ fontSize: "12px",
41526
+ fontWeight: "500"
41527
+ },
41528
+ scaleCategoryLabelGoodFitText: {
41529
+ fontSize: "12px",
41530
+ fontWeight: "500",
41531
+ color: "#209da7"
41532
+ },
41533
+ chartTitleContainer: {
41534
+ marginTop: "24px",
41535
+ textAlign: "center"
41536
+ },
41537
+ chartTitleText: {
41538
+ fontSize: "20px",
41539
+ fontWeight: "bold",
41540
+ color: "#7d7d7d"
41541
+ },
41542
+ chartContainer: {
41543
+ position: "relative",
41544
+ width: "300px",
41545
+ height: "310px"
41546
+ },
41547
+ chartImage: {
41548
+ display: "block",
41549
+ position: "absolute",
41550
+ top: "0",
41551
+ left: "80px",
41552
+ width: "135px",
41553
+ height: "300px",
41554
+ objectFit: "none"
41555
+ },
41556
+ chartLineBase: {
41557
+ position: "absolute",
41558
+ height: "1px",
41559
+ backgroundColor: "black"
41560
+ },
41561
+ chartLine1: {
41562
+ top: "142px",
41563
+ left: "112px",
41564
+ width: "72px"
41565
+ },
41566
+ chartLine2: {
41567
+ top: "173px",
41568
+ left: "117px",
41569
+ width: "60px"
41570
+ },
41571
+ chartLine3: {
41572
+ top: "193px",
41573
+ left: "114px",
41574
+ width: "67px"
41575
+ },
41576
+ chartLine4: {
41577
+ top: "210px",
41578
+ left: "102px",
41579
+ width: "90px"
41580
+ },
41581
+ chartLine5: {
41582
+ top: "243px",
41583
+ left: "97px",
41584
+ width: "101px"
41585
+ },
41586
+ chartLine6a: {
41587
+ top: "272px",
41588
+ left: "100px",
41589
+ width: "44px"
41590
+ },
41591
+ chartLine6b: {
41592
+ top: "272px",
41593
+ left: "150px",
41594
+ width: "44px"
41595
+ },
41596
+ chartLabelText: {
41597
+ fontSize: "12px"
41598
+ },
41599
+ chartLabelBase: {
41600
+ lineHeight: "20px",
41601
+ position: "absolute",
41602
+ borderBottom: "1px solid black",
41603
+ textAlign: "center"
41604
+ },
41605
+ chartLabel1: {
41606
+ top: "120px",
41607
+ left: "209px"
41608
+ },
41609
+ chartLabel2: {
41610
+ top: "151px",
41611
+ left: "207px"
41612
+ },
41613
+ chartLabel3: {
41614
+ top: "171px",
41615
+ left: "20px"
41616
+ },
41617
+ chartLabel4: {
41618
+ top: "188px",
41619
+ left: "213px"
41620
+ },
41621
+ chartLabel5: {
41622
+ top: "221px",
41623
+ left: "215px"
41624
+ },
41625
+ chartLabel6: {
41626
+ top: "250px",
41627
+ left: "44px"
41628
+ }
41629
+ }));
41630
+ reactExports.useEffect(() => {
41631
+ if (scrollToRef.current) {
41632
+ scrollToRef.current.scrollIntoView({
41633
+ behavior: "smooth"
41634
+ });
41635
+ }
41636
+ }, []);
41637
+ return /* @__PURE__ */ jsxs("div", { ref: scrollToRef, css: css2.frame, children: [
41638
+ /* @__PURE__ */ jsx$1(Button, { variant: "base", css: css2.closeButton, onClick: onRequestClose, children: /* @__PURE__ */ jsx$1(SvgCloseIcon, { css: css2.closeIcon }) }),
41639
+ /* @__PURE__ */ jsxs("div", { css: css2.contentContainer, children: [
41640
+ /* @__PURE__ */ jsx$1("div", { css: css2.titleContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.titleText, t: "fit-chart.fit_scale" }) }),
41641
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleContainer, children: [
41642
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleFitLabelRow, children: [
41643
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsxs("div", { children: [
41644
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleFitLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelPoorFitText, t: "fit-chart.fit.tight" }) }),
41645
+ /* @__PURE__ */ jsx$1("div", { css: [css2.scaleFitLabelContainer, css2.scaleFitLabelLeftContainer, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelPoorFitText, t: "fit-chart.fit.too_tight" }) })
41646
+ ] }) }),
41647
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleFitLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelGoodFitText, t: "fit-chart.fit.slightly_tight" }) }) }),
41648
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleFitLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelGoodFitText, t: "fit-chart.fit.perfect_fit" }) }) }),
41649
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleFitLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelGoodFitText, t: "fit-chart.fit.slightly_loose" }) }) }),
41650
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsxs("div", { children: [
41651
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleFitLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelPoorFitText, t: "fit-chart.fit.loose" }) }),
41652
+ /* @__PURE__ */ jsx$1("div", { css: [css2.scaleFitLabelContainer, css2.scaleFitLabelRightContainer, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleFitLabelPoorFitText, t: "fit-chart.fit.oversized" }) })
41653
+ ] }) })
41654
+ ] }),
41655
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleLineRow, children: [
41656
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleSegment, children: [
41657
+ /* @__PURE__ */ jsx$1("div", { css: css2.scalePointPoorFit, children: " " }),
41658
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleLinePoorFit, children: " " })
41659
+ ] }),
41660
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleSegment, children: [
41661
+ /* @__PURE__ */ jsx$1("div", { css: css2.scalePointGoodFit, children: " " }),
41662
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleLineGoodFit, children: " " })
41663
+ ] }),
41664
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleLineGoodFit, children: " " }) }),
41665
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleSegment, children: [
41666
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleLineGoodFit, children: " " }),
41667
+ /* @__PURE__ */ jsx$1("div", { css: css2.scalePointGoodFit, children: " " })
41668
+ ] }),
41669
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleSegment, children: [
41670
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleLinePoorFit, children: " " }),
41671
+ /* @__PURE__ */ jsx$1("div", { css: css2.scalePointPoorFit, children: " " })
41672
+ ] })
41673
+ ] }),
41674
+ /* @__PURE__ */ jsxs("div", { css: css2.scaleCategoryLabelRow, children: [
41675
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleCategoryLabelLeft, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleCategoryLabelPoorFitText, t: "fit-chart.fit.poor_fit" }) }) }),
41676
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleCategoryLabelCenter, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleCategoryLabelGoodFitText, t: "fit-chart.fit.acceptable_fit" }) }) }),
41677
+ /* @__PURE__ */ jsx$1("div", { css: css2.scaleSegment, children: /* @__PURE__ */ jsx$1("div", { css: css2.scaleCategoryLabelRight, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.scaleCategoryLabelPoorFitText, t: "fit-chart.fit.poor_fit" }) }) })
41678
+ ] })
41679
+ ] }),
41680
+ /* @__PURE__ */ jsx$1("div", { css: css2.chartTitleContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartTitleText, t: "fit-chart.measurement_points" }) }),
41681
+ /* @__PURE__ */ jsxs("div", { css: css2.chartContainer, children: [
41682
+ /* @__PURE__ */ jsx$1("img", { src: getExternalAssetUrl("fit-chart-outline.png"), alt: "Fit Chart", css: css2.chartImage }),
41683
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine1, "", ""], children: " " }),
41684
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine2, "", ""], children: " " }),
41685
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine3, "", ""], children: " " }),
41686
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine4, "", ""], children: " " }),
41687
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine5, "", ""], children: " " }),
41688
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine6a, "", ""], children: " " }),
41689
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLineBase, css2.chartLine6b, "", ""], children: " " }),
41690
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel1, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.bust" }) }),
41691
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel2, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.waist" }) }),
41692
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel3, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.pant_waist" }) }),
41693
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel4, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.high_hip" }) }),
41694
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel5, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.low_hip" }) }),
41695
+ /* @__PURE__ */ jsx$1("div", { css: [css2.chartLabelBase, css2.chartLabel6, "", ""], children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.chartLabelText, t: "fit-chart.point.thigh" }) })
41696
+ ] })
41697
+ ] })
41698
+ ] });
41699
+ }
41402
41700
  function Loading({
41403
41701
  t = "loading"
41404
41702
  }) {
@@ -41548,6 +41846,7 @@ async function getStyleGarmentCategoryById(styleGarmentCategoryId) {
41548
41846
  }
41549
41847
  const AVATAR_IMAGE_ASPECT_RATIO = 2 / 3;
41550
41848
  const AVATAR_GUTTER_HEIGHT_PX = 100;
41849
+ const CONTENT_AREA_WIDTH_PX = 550;
41551
41850
  const logger$1 = getLogger("vto-single");
41552
41851
  function VtoSingleOverlay() {
41553
41852
  const {
@@ -41801,7 +42100,7 @@ function MobileLayout({
41801
42100
  bottomFrameOuter: {
41802
42101
  position: "absolute",
41803
42102
  width: "calc(100% - 16px)",
41804
- maxWidth: "450px",
42103
+ maxWidth: `${CONTENT_AREA_WIDTH_PX}px`,
41805
42104
  bottom: "0",
41806
42105
  maxHeight: "95vh",
41807
42106
  left: "50%",
@@ -41851,34 +42150,6 @@ function MobileLayout({
41851
42150
  padding: "0 16px 16px 16px",
41852
42151
  backgroundColor: "#FFFFFF",
41853
42152
  overflowY: "auto"
41854
- },
41855
- sizeSelectorContainer: {},
41856
- colorSelectorContainer: {
41857
- marginTop: "16px"
41858
- },
41859
- itemFitTextContainer: {
41860
- marginTop: "8px"
41861
- },
41862
- itemFitText: {},
41863
- itemFitDetailsContainer: {
41864
- marginTop: "8px",
41865
- width: "70%"
41866
- },
41867
- buttonContainer: {
41868
- marginTop: "16px",
41869
- width: "100%"
41870
- },
41871
- productNameContainer: {
41872
- marginTop: "16px"
41873
- },
41874
- productNameText: {},
41875
- priceContainer: {},
41876
- priceText: {},
41877
- productDescriptionContainer: {
41878
- marginTop: "8px"
41879
- },
41880
- footerContainer: {
41881
- marginTop: "24px"
41882
42153
  }
41883
42154
  }));
41884
42155
  reactExports.useEffect(() => {
@@ -41994,11 +42265,12 @@ function MobileContentExpanded({
41994
42265
  itemFitText: {},
41995
42266
  itemFitDetailsContainer: {
41996
42267
  marginTop: "8px",
41997
- width: "70%"
42268
+ width: "min(100%, 220px)"
41998
42269
  },
41999
42270
  buttonContainer: {
42000
42271
  marginTop: "24px",
42001
- width: "100%"
42272
+ width: "100%",
42273
+ maxWidth: "375px"
42002
42274
  },
42003
42275
  productDetailsContainer: {
42004
42276
  marginTop: "24px",
@@ -42034,13 +42306,15 @@ function MobileContentFull({
42034
42306
  onAddToCart,
42035
42307
  onSignOut
42036
42308
  }) {
42309
+ const [fitChartOpen, setFitChartOpen] = reactExports.useState(false);
42037
42310
  const css2 = useCss((_theme) => ({
42038
42311
  sizeRecommendationFrame: {
42039
42312
  marginTop: "16px",
42313
+ width: "min(100%, 375px)",
42040
42314
  display: "flex",
42041
42315
  flexDirection: "column",
42042
42316
  border: "1px solid rgba(33, 32, 31, 0.2)",
42043
- padding: "16px 56px",
42317
+ padding: "16px",
42044
42318
  justifyContent: "center",
42045
42319
  alignItems: "center"
42046
42320
  },
@@ -42055,14 +42329,19 @@ function MobileContentFull({
42055
42329
  itemFitTextContainer: {
42056
42330
  marginTop: "8px"
42057
42331
  },
42332
+ fitChartButton: {},
42058
42333
  itemFitText: {},
42059
42334
  itemFitDetailsContainer: {
42060
42335
  marginTop: "8px",
42061
- width: "100%"
42336
+ width: "min(100%, 220px)"
42337
+ },
42338
+ fitChartContainer: {
42339
+ marginTop: "16px"
42062
42340
  },
42063
42341
  buttonContainer: {
42064
42342
  marginTop: "16px",
42065
- width: "100%"
42343
+ width: "100%",
42344
+ maxWidth: "375px"
42066
42345
  },
42067
42346
  productDetailsContainer: {
42068
42347
  marginTop: "24px",
@@ -42085,13 +42364,27 @@ function MobileContentFull({
42085
42364
  const handleProductDetailsClick = reactExports.useCallback(() => {
42086
42365
  onChangeContentView("expanded");
42087
42366
  }, [onChangeContentView]);
42367
+ const handleFitChartOpen = reactExports.useCallback(() => {
42368
+ setFitChartOpen(true);
42369
+ }, []);
42370
+ const handleFitChartClose = reactExports.useCallback(() => {
42371
+ setFitChartOpen(false);
42372
+ }, []);
42373
+ let fitChartNode = null;
42374
+ if (fitChartOpen) {
42375
+ fitChartNode = /* @__PURE__ */ jsx$1("div", { css: css2.fitChartContainer, children: /* @__PURE__ */ jsx$1(FitChart, { onRequestClose: handleFitChartClose }) });
42376
+ }
42088
42377
  return /* @__PURE__ */ jsxs(Fragment, { children: [
42089
42378
  /* @__PURE__ */ jsxs("div", { css: css2.sizeRecommendationFrame, children: [
42090
42379
  /* @__PURE__ */ jsx$1("div", { css: css2.selectSizeLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.selectSizeLabelText, t: "size-rec.select_size" }) }),
42091
42380
  /* @__PURE__ */ jsx$1("div", { css: css2.sizeSelectorContainer, children: /* @__PURE__ */ jsx$1(SizeSelector, { loadedProductData, selectedSizeLabel, onChangeSize }) }),
42092
- /* @__PURE__ */ jsx$1("div", { css: css2.itemFitTextContainer, children: /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData }) }),
42381
+ /* @__PURE__ */ jsxs("div", { css: css2.itemFitTextContainer, children: [
42382
+ /* @__PURE__ */ jsx$1(Button, { variant: "base", css: css2.fitChartButton, onClick: handleFitChartOpen, children: /* @__PURE__ */ jsx$1(SvgInfoIcon, {}) }),
42383
+ /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData, textCss: css2.itemFitText })
42384
+ ] }),
42093
42385
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitDetailsContainer, children: /* @__PURE__ */ jsx$1(ItemFitDetails, { loadedProductData, selectedSizeLabel }) })
42094
42386
  ] }),
42387
+ fitChartNode,
42095
42388
  /* @__PURE__ */ jsx$1("div", { css: css2.colorSelectorContainer, children: /* @__PURE__ */ jsx$1(ColorSelector, { availableColorLabels, selectedColorLabel, onChangeColor }) }),
42096
42389
  /* @__PURE__ */ jsx$1("div", { css: css2.buttonContainer, children: /* @__PURE__ */ jsx$1(AddToCartButton, { onClick: onAddToCart }) }),
42097
42390
  /* @__PURE__ */ jsx$1("div", { css: css2.productDetailsContainer, children: /* @__PURE__ */ jsx$1(LinkT, { variant: "base", css: css2.productDetailsText, t: "vto-single.hide_product_details", onClick: handleProductDetailsClick }) }),
@@ -42117,6 +42410,7 @@ function DesktopLayout({
42117
42410
  const {
42118
42411
  t
42119
42412
  } = useTranslation();
42413
+ const [fitChartOpen, setFitChartOpen] = reactExports.useState(false);
42120
42414
  const css2 = useCss((_theme) => ({
42121
42415
  mainContainer: {
42122
42416
  display: "flex",
@@ -42169,6 +42463,7 @@ function DesktopLayout({
42169
42463
  recommendedSizeText: {
42170
42464
  fontWeight: "600"
42171
42465
  },
42466
+ fitChartButton: {},
42172
42467
  itemFitContainer: {
42173
42468
  marginTop: "8px",
42174
42469
  lineHeight: "normal"
@@ -42185,6 +42480,9 @@ function DesktopLayout({
42185
42480
  marginTop: "24px",
42186
42481
  width: "100%"
42187
42482
  },
42483
+ fitChartContainer: {
42484
+ marginTop: "16px"
42485
+ },
42188
42486
  buttonContainer: {
42189
42487
  marginTop: "24px"
42190
42488
  },
@@ -42192,6 +42490,16 @@ function DesktopLayout({
42192
42490
  marginTop: "32px"
42193
42491
  }
42194
42492
  }));
42493
+ const handleFitChartOpen = reactExports.useCallback(() => {
42494
+ setFitChartOpen(true);
42495
+ }, []);
42496
+ const handleFitChartClose = reactExports.useCallback(() => {
42497
+ setFitChartOpen(false);
42498
+ }, []);
42499
+ let fitChartNode = null;
42500
+ if (fitChartOpen) {
42501
+ fitChartNode = /* @__PURE__ */ jsx$1("div", { css: css2.fitChartContainer, children: /* @__PURE__ */ jsx$1(FitChart, { onRequestClose: handleFitChartClose }) });
42502
+ }
42195
42503
  return /* @__PURE__ */ jsxs("div", { css: css2.mainContainer, children: [
42196
42504
  /* @__PURE__ */ jsx$1(Avatar, { frameUrls, setModalStyle }),
42197
42505
  /* @__PURE__ */ jsxs("div", { css: css2.rightContainer, children: [
@@ -42202,7 +42510,7 @@ function DesktopLayout({
42202
42510
  /* @__PURE__ */ jsx$1("div", { css: css2.colorContainer, children: /* @__PURE__ */ jsx$1(ColorSelector, { availableColorLabels, selectedColorLabel, onChangeColor }) }),
42203
42511
  /* @__PURE__ */ jsxs("div", { css: css2.sizeRecommendationFrame, children: [
42204
42512
  /* @__PURE__ */ jsxs("div", { css: css2.recommendedSizeContainer, children: [
42205
- /* @__PURE__ */ jsx$1(SvgInfoIcon, {}),
42513
+ /* @__PURE__ */ jsx$1(Button, { variant: "base", css: css2.fitChartButton, onClick: handleFitChartOpen, children: /* @__PURE__ */ jsx$1(SvgInfoIcon, {}) }),
42206
42514
  /* @__PURE__ */ jsx$1(RecommendedSizeText, { loadedProductData, textCss: css2.recommendedSizeText })
42207
42515
  ] }),
42208
42516
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitContainer, children: /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData, textCss: css2.itemFitText }) }),
@@ -42210,6 +42518,7 @@ function DesktopLayout({
42210
42518
  /* @__PURE__ */ jsx$1("div", { css: css2.sizeSelectorContainer, children: /* @__PURE__ */ jsx$1(SizeSelector, { loadedProductData, selectedSizeLabel, onChangeSize }) }),
42211
42519
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitDetailsContainer, children: /* @__PURE__ */ jsx$1(ItemFitDetails, { loadedProductData, selectedSizeLabel }) })
42212
42520
  ] }),
42521
+ fitChartNode,
42213
42522
  /* @__PURE__ */ jsx$1("div", { css: css2.buttonContainer, children: /* @__PURE__ */ jsx$1(AddToCartButton, { onClick: onAddToCart }) }),
42214
42523
  /* @__PURE__ */ jsx$1("div", { css: css2.descriptionContainer, children: /* @__PURE__ */ jsx$1(ProductDescriptionText, { loadedProductData }) })
42215
42524
  ] }),
@@ -42332,6 +42641,7 @@ function Avatar({
42332
42641
  const bottomContainerHeightPx = AVATAR_GUTTER_HEIGHT_PX;
42333
42642
  const imageHeightPx = screenHeightPx - bottomContainerHeightPx;
42334
42643
  const imageWidthPx = Math.floor(imageHeightPx * AVATAR_IMAGE_ASPECT_RATIO);
42644
+ const modalWidthPx = imageWidthPx + CONTENT_AREA_WIDTH_PX;
42335
42645
  imageSize = {
42336
42646
  width: imageWidthPx,
42337
42647
  height: imageHeightPx
@@ -42340,7 +42650,9 @@ function Avatar({
42340
42650
  width: imageWidthPx,
42341
42651
  height: bottomContainerHeightPx
42342
42652
  };
42343
- modalStyle = {};
42653
+ modalStyle = {
42654
+ width: `min(${modalWidthPx}px, 100vw)`
42655
+ };
42344
42656
  }
42345
42657
  const topContainerStyle = {
42346
42658
  width: imageSize.width + "px"
@@ -42377,7 +42689,7 @@ function Avatar({
42377
42689
  if (currentFrameIndex === 0) {
42378
42690
  clearInterval(intervalId);
42379
42691
  }
42380
- }, 200);
42692
+ }, 500);
42381
42693
  }
42382
42694
  }, [frameUrls, selectedFrameIndex]);
42383
42695
  const rotateLeft = reactExports.useCallback(() => {
@@ -42959,9 +43271,9 @@ const SHARED_CONFIG = {
42959
43271
  appGooglePlayUrl: "https://play.google.com/store/apps/details?id=com.thefittingroom.marketplace"
42960
43272
  },
42961
43273
  build: {
42962
- version: `${"5.0.6"}`,
42963
- commitHash: `${"e594d20"}`,
42964
- date: `${"2026-01-12T14:54:57.160Z"}`
43274
+ version: `${"5.0.8"}`,
43275
+ commitHash: `${"d1d0462"}`,
43276
+ date: `${"2026-01-18T23:29:10.022Z"}`
42965
43277
  }
42966
43278
  };
42967
43279
  const CONFIGS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thefittingroom/shop-ui",
3
- "version": "5.0.6",
3
+ "version": "5.0.8",
4
4
  "description": "the fitting room UI library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",