@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,
|
|
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
|
|
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:
|
|
96
|
+
market: selectedMarketScope,
|
|
89
97
|
loadSlotAvailability: (productId) => loadProductSlotAvailability(baseUrl, fetcher, productId),
|
|
90
|
-
}), [baseUrl, fetcher, supplierMap, selectedLocale,
|
|
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.
|
|
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.
|
|
80
|
-
"@voyant-travel/commerce-react": "^0.
|
|
81
|
-
"@voyant-travel/inventory-react": "^0.
|
|
82
|
-
"@voyant-travel/distribution-react": "^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.
|
|
125
|
+
"@voyant-travel/admin": "^0.112.0",
|
|
126
126
|
"@voyant-travel/i18n": "^0.106.1",
|
|
127
|
-
"@voyant-travel/
|
|
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.
|
|
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",
|