@voyant-travel/catalog-react 0.120.1 → 0.121.0

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.
@@ -11,6 +11,10 @@ export declare function resolveCatalogLocaleOptions(market: CatalogMarket | unde
11
11
  languageTag: string;
12
12
  }>): string[];
13
13
  export declare function resolveCatalogSelectedLocale(requestedLocale: string | undefined, localeOptions: ReadonlyArray<string>, market: CatalogMarket | undefined): string;
14
+ export declare function resolveCatalogScope(search: Pick<CatalogSearchParams, "locale" | "market">, localeOptions: ReadonlyArray<string>, market: CatalogMarket | undefined): {
15
+ locale: string;
16
+ market: string | undefined;
17
+ };
14
18
  export interface CatalogVerticalHostProps {
15
19
  vertical: CatalogVerticalPageId;
16
20
  search: CatalogSearchParams;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-vertical-host.d.ts","sourceRoot":"","sources":["../../src/admin/catalog-vertical-host.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAgBxE,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,gBAAgB,CAAC,EAAE,MAAM,GACxB,aAAa,GAAG,SAAS,CAM3B;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,EAAE,aAAa,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,MAAM,EAAE,CASV;AAED,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,MAAM,CAKR;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,MAAM,EAAE,mBAAmB,CAAA;IAC3B,cAAc,EAAE,CACd,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,mBAAmB,EAC3D,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IACrD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,MAAM,EACN,cAAc,EACd,QAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,EAAE,wBAAwB,2CAgP1B"}
1
+ {"version":3,"file":"catalog-vertical-host.d.ts","sourceRoot":"","sources":["../../src/admin/catalog-vertical-host.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAgBxE,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,gBAAgB,CAAC,EAAE,MAAM,GACxB,aAAa,GAAG,SAAS,CAM3B;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,EAAE,aAAa,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,MAAM,EAAE,CASV;AAED,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,MAAM,CAKR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,QAAQ,CAAC,EACtD,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,aAAa,GAAG,SAAS;;;EAMlC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,MAAM,EAAE,mBAAmB,CAAA;IAC3B,cAAc,EAAE,CACd,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,mBAAmB,EAC3D,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IACrD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,MAAM,EACN,cAAc,EACd,QAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,EAAE,wBAAwB,2CAmP1B"}
@@ -35,6 +35,12 @@ export function resolveCatalogSelectedLocale(requestedLocale, localeOptions, mar
35
35
  ? requestedLocale
36
36
  : fallbackLocale;
37
37
  }
38
+ export function resolveCatalogScope(search, localeOptions, market) {
39
+ return {
40
+ locale: resolveCatalogSelectedLocale(search.locale, localeOptions, market),
41
+ market: search.market ?? market?.id,
42
+ };
43
+ }
38
44
  /**
39
45
  * The indexed catalog browse grid bound to its data wiring (markets, locales,
40
46
  * suppliers, product tag mutations, slot availability) — the packaged admin
@@ -63,7 +69,9 @@ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded
63
69
  enabled: Boolean(localeMarket?.id),
64
70
  });
65
71
  const localeOptions = useMemo(() => resolveCatalogLocaleOptions(localeMarket, localesQuery.data?.data ?? []), [localesQuery.data, localeMarket]);
66
- const selectedLocale = resolveCatalogSelectedLocale(search.locale, localeOptions, localeMarket);
72
+ const catalogScope = resolveCatalogScope(search, localeOptions, localeMarket);
73
+ const selectedLocale = catalogScope.locale;
74
+ const selectedMarketScope = catalogScope.market;
67
75
  const supplierMap = useMemo(() => {
68
76
  const m = new Map();
69
77
  for (const s of suppliersQuery.data?.data ?? [])
@@ -85,9 +93,9 @@ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded
85
93
  },
86
94
  formatSupplier: (id) => supplierMap.get(String(id)) ?? String(id),
87
95
  locale: selectedLocale,
88
- market: selectedMarketId,
96
+ market: selectedMarketScope,
89
97
  loadSlotAvailability: (productId) => loadProductSlotAvailability(baseUrl, fetcher, productId),
90
- }), [baseUrl, fetcher, supplierMap, selectedLocale, selectedMarketId]);
98
+ }), [baseUrl, fetcher, supplierMap, selectedLocale, selectedMarketScope]);
91
99
  // Merge the always-on locked facets/ranges with the user's URL-driven filters.
92
100
  // Memoized so locked surfaces hand a STABLE `filters` object to the tab panel:
93
101
  // a fresh object every render reads as "selections changed" and resets back to
@@ -100,13 +108,14 @@ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded
100
108
  ? {
101
109
  ...search,
102
110
  locale: selectedLocale,
111
+ market: selectedMarketScope,
103
112
  filters: {
104
113
  ...search.filters,
105
114
  facets: { ...(search.filters?.facets ?? {}), ...(lockedFacets ?? {}) },
106
115
  ranges: { ...(search.filters?.ranges ?? {}), ...(lockedRanges ?? {}) },
107
116
  },
108
117
  }
109
- : { ...search, locale: selectedLocale }, [search, selectedLocale, lockedFacetsKey, lockedRangesKey]);
118
+ : { ...search, locale: selectedLocale, market: selectedMarketScope }, [search, selectedLocale, selectedMarketScope, lockedFacetsKey, lockedRangesKey]);
110
119
  return (_jsx(CatalogUiPage, { vertical: vertical, search: effectiveSearch, formatSupplier: formatSupplier, hideSearchInput: embedded, className: embedded ? "px-0 py-0 lg:px-0" : undefined, title:
111
120
  // `false` (not `undefined`) so catalog-ui's `title ?? default` does NOT
112
121
  // fall back to its generic "Catalog" header — the embedding surface
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyant-travel/catalog-react",
3
- "version": "0.120.1",
3
+ "version": "0.121.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -76,10 +76,10 @@
76
76
  "react-dom": "^19.0.0",
77
77
  "sonner": "^2.0.0",
78
78
  "zod": "^4.0.0",
79
- "@voyant-travel/admin": "^0.111.4",
80
- "@voyant-travel/commerce-react": "^0.4.0",
81
- "@voyant-travel/inventory-react": "^0.4.0",
82
- "@voyant-travel/distribution-react": "^0.112.0",
79
+ "@voyant-travel/admin": "^0.112.0",
80
+ "@voyant-travel/commerce-react": "^0.5.0",
81
+ "@voyant-travel/inventory-react": "^0.5.0",
82
+ "@voyant-travel/distribution-react": "^0.113.0",
83
83
  "@voyant-travel/ui": "^0.106.2"
84
84
  },
85
85
  "peerDependenciesMeta": {
@@ -122,14 +122,14 @@
122
122
  "typescript": "^6.0.2",
123
123
  "vitest": "^4.1.2",
124
124
  "zod": "^4.3.6",
125
- "@voyant-travel/admin": "^0.111.4",
125
+ "@voyant-travel/admin": "^0.112.0",
126
126
  "@voyant-travel/i18n": "^0.106.1",
127
- "@voyant-travel/inventory-react": "^0.4.0",
127
+ "@voyant-travel/commerce-react": "^0.5.0",
128
+ "@voyant-travel/inventory-react": "^0.5.0",
128
129
  "@voyant-travel/react": "^0.104.1",
129
- "@voyant-travel/distribution-react": "^0.112.0",
130
+ "@voyant-travel/distribution-react": "^0.113.0",
130
131
  "@voyant-travel/ui": "^0.106.2",
131
- "@voyant-travel/voyant-typescript-config": "^0.1.0",
132
- "@voyant-travel/commerce-react": "^0.4.0"
132
+ "@voyant-travel/voyant-typescript-config": "^0.1.0"
133
133
  },
134
134
  "files": [
135
135
  "dist",