@thefittingroom/shop-ui 5.0.35 → 5.0.36

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 +36 -12
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -19423,6 +19423,17 @@ void instance.use(initReactI18next).init({
19423
19423
  fr: {
19424
19424
  translation: fr
19425
19425
  }
19426
+ },
19427
+ interpolation: {
19428
+ // React already escapes children as text at render time — leaving
19429
+ // i18next's default HTML-entity escaping on double-encodes any
19430
+ // interpolated value that happens to contain '<', '>', '/', '&',
19431
+ // '"' or "'". Manifested as e.g. "Recommended Size: S&#x2F;32" for
19432
+ // container parent-size labels like "S/32". Turning i18next's
19433
+ // escape off is safe because every consumer (LinkT, TextT,
19434
+ // ButtonT) drops the translated string into a React children
19435
+ // slot, not innerHTML.
19436
+ escapeValue: false
19426
19437
  }
19427
19438
  });
19428
19439
  var jsx2 = function jsx3(type, props) {
@@ -46063,18 +46074,31 @@ function QuickViewOverlay() {
46063
46074
  }
46064
46075
  return entry;
46065
46076
  }, [storeProductData]);
46066
- const containerHasTuckableChild = reactExports.useMemo(() => {
46077
+ const [containerHasTuckableChild, setContainerHasTuckableChild] = reactExports.useState(false);
46078
+ reactExports.useEffect(() => {
46067
46079
  if (!loadedProduct?.container) {
46068
- return false;
46069
- }
46070
- const index = peekStyleCategoryIndex();
46071
- if (!index) {
46072
- return false;
46080
+ setContainerHasTuckableChild(false);
46081
+ return;
46073
46082
  }
46074
- return loadedProduct.container.children.some((c) => {
46075
- const cat = index.byName(String(c.style_category_name));
46076
- return !!cat?.tuckable;
46083
+ const container = loadedProduct.container;
46084
+ let cancelled = false;
46085
+ loadStyleCategoryIndex().then((index) => {
46086
+ if (cancelled) {
46087
+ return;
46088
+ }
46089
+ const hasTuckable = container.children.some((c) => {
46090
+ const cat = index.byName(String(c.style_category_name));
46091
+ return !!cat?.tuckable;
46092
+ });
46093
+ setContainerHasTuckableChild(hasTuckable);
46094
+ }).catch((error) => {
46095
+ logger$5.logError("failed to load style category index for container tuck check", {
46096
+ error
46097
+ });
46077
46098
  });
46099
+ return () => {
46100
+ cancelled = true;
46101
+ };
46078
46102
  }, [loadedProduct]);
46079
46103
  const handleToggleContainerUntucked = reactExports.useCallback(() => {
46080
46104
  setContainerUntucked((prev2) => !prev2);
@@ -48062,9 +48086,9 @@ const SHARED_CONFIG = {
48062
48086
  appGooglePlayUrl: "https://play.google.com/store/apps/details?id=com.thefittingroom.marketplace"
48063
48087
  },
48064
48088
  build: {
48065
- version: `${"5.0.35"}`,
48066
- commitHash: `${"1640850"}`,
48067
- date: `${"2026-07-18T07:33:00.590Z"}`
48089
+ version: `${"5.0.36"}`,
48090
+ commitHash: `${"5502059"}`,
48091
+ date: `${"2026-07-18T08:10:10.789Z"}`
48068
48092
  }
48069
48093
  };
48070
48094
  const CONFIGS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thefittingroom/shop-ui",
3
- "version": "5.0.35",
3
+ "version": "5.0.36",
4
4
  "description": "the fitting room UI library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",