@thefittingroom/shop-ui 5.0.6 → 5.0.7

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 +347 -10
  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%",
@@ -42034,6 +42333,7 @@ function MobileContentFull({
42034
42333
  onAddToCart,
42035
42334
  onSignOut
42036
42335
  }) {
42336
+ const [fitChartOpen, setFitChartOpen] = reactExports.useState(false);
42037
42337
  const css2 = useCss((_theme) => ({
42038
42338
  sizeRecommendationFrame: {
42039
42339
  marginTop: "16px",
@@ -42055,11 +42355,15 @@ function MobileContentFull({
42055
42355
  itemFitTextContainer: {
42056
42356
  marginTop: "8px"
42057
42357
  },
42358
+ fitChartButton: {},
42058
42359
  itemFitText: {},
42059
42360
  itemFitDetailsContainer: {
42060
42361
  marginTop: "8px",
42061
42362
  width: "100%"
42062
42363
  },
42364
+ fitChartContainer: {
42365
+ marginTop: "16px"
42366
+ },
42063
42367
  buttonContainer: {
42064
42368
  marginTop: "16px",
42065
42369
  width: "100%"
@@ -42085,13 +42389,27 @@ function MobileContentFull({
42085
42389
  const handleProductDetailsClick = reactExports.useCallback(() => {
42086
42390
  onChangeContentView("expanded");
42087
42391
  }, [onChangeContentView]);
42392
+ const handleFitChartOpen = reactExports.useCallback(() => {
42393
+ setFitChartOpen(true);
42394
+ }, []);
42395
+ const handleFitChartClose = reactExports.useCallback(() => {
42396
+ setFitChartOpen(false);
42397
+ }, []);
42398
+ let fitChartNode = null;
42399
+ if (fitChartOpen) {
42400
+ fitChartNode = /* @__PURE__ */ jsx$1("div", { css: css2.fitChartContainer, children: /* @__PURE__ */ jsx$1(FitChart, { onRequestClose: handleFitChartClose }) });
42401
+ }
42088
42402
  return /* @__PURE__ */ jsxs(Fragment, { children: [
42089
42403
  /* @__PURE__ */ jsxs("div", { css: css2.sizeRecommendationFrame, children: [
42090
42404
  /* @__PURE__ */ jsx$1("div", { css: css2.selectSizeLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.selectSizeLabelText, t: "size-rec.select_size" }) }),
42091
42405
  /* @__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 }) }),
42406
+ /* @__PURE__ */ jsxs("div", { css: css2.itemFitTextContainer, children: [
42407
+ /* @__PURE__ */ jsx$1(Button, { variant: "base", css: css2.fitChartButton, onClick: handleFitChartOpen, children: /* @__PURE__ */ jsx$1(SvgInfoIcon, {}) }),
42408
+ /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData, textCss: css2.itemFitText })
42409
+ ] }),
42093
42410
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitDetailsContainer, children: /* @__PURE__ */ jsx$1(ItemFitDetails, { loadedProductData, selectedSizeLabel }) })
42094
42411
  ] }),
42412
+ fitChartNode,
42095
42413
  /* @__PURE__ */ jsx$1("div", { css: css2.colorSelectorContainer, children: /* @__PURE__ */ jsx$1(ColorSelector, { availableColorLabels, selectedColorLabel, onChangeColor }) }),
42096
42414
  /* @__PURE__ */ jsx$1("div", { css: css2.buttonContainer, children: /* @__PURE__ */ jsx$1(AddToCartButton, { onClick: onAddToCart }) }),
42097
42415
  /* @__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 +42435,7 @@ function DesktopLayout({
42117
42435
  const {
42118
42436
  t
42119
42437
  } = useTranslation();
42438
+ const [fitChartOpen, setFitChartOpen] = reactExports.useState(false);
42120
42439
  const css2 = useCss((_theme) => ({
42121
42440
  mainContainer: {
42122
42441
  display: "flex",
@@ -42169,6 +42488,7 @@ function DesktopLayout({
42169
42488
  recommendedSizeText: {
42170
42489
  fontWeight: "600"
42171
42490
  },
42491
+ fitChartButton: {},
42172
42492
  itemFitContainer: {
42173
42493
  marginTop: "8px",
42174
42494
  lineHeight: "normal"
@@ -42185,6 +42505,9 @@ function DesktopLayout({
42185
42505
  marginTop: "24px",
42186
42506
  width: "100%"
42187
42507
  },
42508
+ fitChartContainer: {
42509
+ marginTop: "16px"
42510
+ },
42188
42511
  buttonContainer: {
42189
42512
  marginTop: "24px"
42190
42513
  },
@@ -42192,6 +42515,16 @@ function DesktopLayout({
42192
42515
  marginTop: "32px"
42193
42516
  }
42194
42517
  }));
42518
+ const handleFitChartOpen = reactExports.useCallback(() => {
42519
+ setFitChartOpen(true);
42520
+ }, []);
42521
+ const handleFitChartClose = reactExports.useCallback(() => {
42522
+ setFitChartOpen(false);
42523
+ }, []);
42524
+ let fitChartNode = null;
42525
+ if (fitChartOpen) {
42526
+ fitChartNode = /* @__PURE__ */ jsx$1("div", { css: css2.fitChartContainer, children: /* @__PURE__ */ jsx$1(FitChart, { onRequestClose: handleFitChartClose }) });
42527
+ }
42195
42528
  return /* @__PURE__ */ jsxs("div", { css: css2.mainContainer, children: [
42196
42529
  /* @__PURE__ */ jsx$1(Avatar, { frameUrls, setModalStyle }),
42197
42530
  /* @__PURE__ */ jsxs("div", { css: css2.rightContainer, children: [
@@ -42202,7 +42535,7 @@ function DesktopLayout({
42202
42535
  /* @__PURE__ */ jsx$1("div", { css: css2.colorContainer, children: /* @__PURE__ */ jsx$1(ColorSelector, { availableColorLabels, selectedColorLabel, onChangeColor }) }),
42203
42536
  /* @__PURE__ */ jsxs("div", { css: css2.sizeRecommendationFrame, children: [
42204
42537
  /* @__PURE__ */ jsxs("div", { css: css2.recommendedSizeContainer, children: [
42205
- /* @__PURE__ */ jsx$1(SvgInfoIcon, {}),
42538
+ /* @__PURE__ */ jsx$1(Button, { variant: "base", css: css2.fitChartButton, onClick: handleFitChartOpen, children: /* @__PURE__ */ jsx$1(SvgInfoIcon, {}) }),
42206
42539
  /* @__PURE__ */ jsx$1(RecommendedSizeText, { loadedProductData, textCss: css2.recommendedSizeText })
42207
42540
  ] }),
42208
42541
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitContainer, children: /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData, textCss: css2.itemFitText }) }),
@@ -42210,6 +42543,7 @@ function DesktopLayout({
42210
42543
  /* @__PURE__ */ jsx$1("div", { css: css2.sizeSelectorContainer, children: /* @__PURE__ */ jsx$1(SizeSelector, { loadedProductData, selectedSizeLabel, onChangeSize }) }),
42211
42544
  /* @__PURE__ */ jsx$1("div", { css: css2.itemFitDetailsContainer, children: /* @__PURE__ */ jsx$1(ItemFitDetails, { loadedProductData, selectedSizeLabel }) })
42212
42545
  ] }),
42546
+ fitChartNode,
42213
42547
  /* @__PURE__ */ jsx$1("div", { css: css2.buttonContainer, children: /* @__PURE__ */ jsx$1(AddToCartButton, { onClick: onAddToCart }) }),
42214
42548
  /* @__PURE__ */ jsx$1("div", { css: css2.descriptionContainer, children: /* @__PURE__ */ jsx$1(ProductDescriptionText, { loadedProductData }) })
42215
42549
  ] }),
@@ -42332,6 +42666,7 @@ function Avatar({
42332
42666
  const bottomContainerHeightPx = AVATAR_GUTTER_HEIGHT_PX;
42333
42667
  const imageHeightPx = screenHeightPx - bottomContainerHeightPx;
42334
42668
  const imageWidthPx = Math.floor(imageHeightPx * AVATAR_IMAGE_ASPECT_RATIO);
42669
+ const modalWidthPx = imageWidthPx + CONTENT_AREA_WIDTH_PX;
42335
42670
  imageSize = {
42336
42671
  width: imageWidthPx,
42337
42672
  height: imageHeightPx
@@ -42340,7 +42675,9 @@ function Avatar({
42340
42675
  width: imageWidthPx,
42341
42676
  height: bottomContainerHeightPx
42342
42677
  };
42343
- modalStyle = {};
42678
+ modalStyle = {
42679
+ width: `min(${modalWidthPx}px, 100vw)`
42680
+ };
42344
42681
  }
42345
42682
  const topContainerStyle = {
42346
42683
  width: imageSize.width + "px"
@@ -42377,7 +42714,7 @@ function Avatar({
42377
42714
  if (currentFrameIndex === 0) {
42378
42715
  clearInterval(intervalId);
42379
42716
  }
42380
- }, 200);
42717
+ }, 500);
42381
42718
  }
42382
42719
  }, [frameUrls, selectedFrameIndex]);
42383
42720
  const rotateLeft = reactExports.useCallback(() => {
@@ -42959,9 +43296,9 @@ const SHARED_CONFIG = {
42959
43296
  appGooglePlayUrl: "https://play.google.com/store/apps/details?id=com.thefittingroom.marketplace"
42960
43297
  },
42961
43298
  build: {
42962
- version: `${"5.0.6"}`,
42963
- commitHash: `${"e594d20"}`,
42964
- date: `${"2026-01-12T14:54:57.160Z"}`
43299
+ version: `${"5.0.7"}`,
43300
+ commitHash: `${"4a18721"}`,
43301
+ date: `${"2026-01-18T21:52:48.635Z"}`
42965
43302
  }
42966
43303
  };
42967
43304
  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.7",
4
4
  "description": "the fitting room UI library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",