@voyant-travel/catalog-react 0.126.0 → 0.127.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.
Files changed (58) hide show
  1. package/dist/admin/catalog-vertical-host.d.ts +29 -5
  2. package/dist/admin/catalog-vertical-host.d.ts.map +1 -1
  3. package/dist/admin/catalog-vertical-host.js +41 -19
  4. package/dist/admin/dynamic-catalog-host.d.ts +3 -1
  5. package/dist/admin/dynamic-catalog-host.d.ts.map +1 -1
  6. package/dist/admin/dynamic-catalog-host.js +2 -2
  7. package/dist/admin/index.d.ts +24 -2
  8. package/dist/admin/index.d.ts.map +1 -1
  9. package/dist/admin/index.js +26 -12
  10. package/dist/admin/pages/catalog-accommodations-detail-page.d.ts +2 -2
  11. package/dist/admin/pages/catalog-accommodations-detail-page.d.ts.map +1 -1
  12. package/dist/admin/pages/catalog-accommodations-detail-page.js +2 -2
  13. package/dist/admin/pages/catalog-accommodations-index-page.d.ts +2 -2
  14. package/dist/admin/pages/catalog-accommodations-index-page.d.ts.map +1 -1
  15. package/dist/admin/pages/catalog-accommodations-index-page.js +3 -3
  16. package/dist/admin/pages/catalog-cruises-detail-page.d.ts +2 -2
  17. package/dist/admin/pages/catalog-cruises-detail-page.d.ts.map +1 -1
  18. package/dist/admin/pages/catalog-cruises-detail-page.js +2 -2
  19. package/dist/admin/pages/catalog-cruises-index-page.d.ts +2 -2
  20. package/dist/admin/pages/catalog-cruises-index-page.d.ts.map +1 -1
  21. package/dist/admin/pages/catalog-cruises-index-page.js +3 -3
  22. package/dist/admin/pages/catalog-excursions-detail-page.d.ts +2 -2
  23. package/dist/admin/pages/catalog-excursions-detail-page.d.ts.map +1 -1
  24. package/dist/admin/pages/catalog-excursions-detail-page.js +2 -2
  25. package/dist/admin/pages/catalog-excursions-index-page.d.ts +2 -2
  26. package/dist/admin/pages/catalog-excursions-index-page.d.ts.map +1 -1
  27. package/dist/admin/pages/catalog-excursions-index-page.js +2 -2
  28. package/dist/admin/pages/catalog-products-detail-page.d.ts +2 -2
  29. package/dist/admin/pages/catalog-products-detail-page.d.ts.map +1 -1
  30. package/dist/admin/pages/catalog-products-detail-page.js +2 -2
  31. package/dist/admin/pages/catalog-products-index-page.d.ts +2 -2
  32. package/dist/admin/pages/catalog-products-index-page.d.ts.map +1 -1
  33. package/dist/admin/pages/catalog-products-index-page.js +2 -2
  34. package/dist/admin/pages/catalog-tours-detail-page.d.ts +2 -2
  35. package/dist/admin/pages/catalog-tours-detail-page.d.ts.map +1 -1
  36. package/dist/admin/pages/catalog-tours-detail-page.js +2 -2
  37. package/dist/admin/pages/catalog-tours-index-page.d.ts +2 -2
  38. package/dist/admin/pages/catalog-tours-index-page.d.ts.map +1 -1
  39. package/dist/admin/pages/catalog-tours-index-page.js +2 -2
  40. package/dist/admin/scheduled-catalog-host.d.ts +3 -1
  41. package/dist/admin/scheduled-catalog-host.d.ts.map +1 -1
  42. package/dist/admin/scheduled-catalog-host.js +2 -2
  43. package/dist/admin/vertical-detail-host.d.ts +2 -1
  44. package/dist/admin/vertical-detail-host.d.ts.map +1 -1
  45. package/dist/admin/vertical-detail-host.js +2 -2
  46. package/dist/components/catalog-search-tab-panel.d.ts.map +1 -1
  47. package/dist/components/catalog-search-tab-panel.js +9 -5
  48. package/dist/i18n/en.d.ts +1 -0
  49. package/dist/i18n/en.d.ts.map +1 -1
  50. package/dist/i18n/en.js +1 -0
  51. package/dist/i18n/messages.d.ts +1 -0
  52. package/dist/i18n/messages.d.ts.map +1 -1
  53. package/dist/i18n/provider.d.ts +2 -0
  54. package/dist/i18n/provider.d.ts.map +1 -1
  55. package/dist/i18n/ro.d.ts +1 -0
  56. package/dist/i18n/ro.d.ts.map +1 -1
  57. package/dist/i18n/ro.js +1 -0
  58. package/package.json +7 -7
@@ -6,15 +6,38 @@ interface CatalogMarket {
6
6
  code: string;
7
7
  defaultLanguageTag: string;
8
8
  }
9
- export declare function resolveCatalogDefaultMarket(markets: ReadonlyArray<CatalogMarket>, selectedMarketId?: string): CatalogMarket | undefined;
9
+ export type CatalogAdminScopeStrategy = "commerce-market" | "deployment-default";
10
+ export interface CatalogAdminScopeOptions {
11
+ /**
12
+ * Deployment-level locale fallback for catalog index slices. Used when no
13
+ * URL locale is selected, or when the selected market has no locale rows.
14
+ */
15
+ defaultLocale?: string;
16
+ /**
17
+ * Deployment-level market/scope fallback for catalog index slices. This can
18
+ * be a commerce market id/code or a synthetic indexed slice such as
19
+ * `"default"`.
20
+ */
21
+ defaultMarket?: string;
22
+ /**
23
+ * Pick the default scope from commerce markets (legacy behavior) or from the
24
+ * deployment defaults above. URL-selected scope still wins when controls are
25
+ * visible.
26
+ */
27
+ scopeStrategy?: CatalogAdminScopeStrategy;
28
+ /** Hide the market/locale toolbar controls for fixed-scope deployments. */
29
+ hideScopeControls?: boolean;
30
+ }
31
+ export declare function resolveCatalogDefaultMarket(markets: ReadonlyArray<CatalogMarket>, selectedMarketId?: string, options?: Pick<CatalogAdminScopeOptions, "defaultLocale" | "defaultMarket" | "scopeStrategy">): CatalogMarket | undefined;
10
32
  export declare function resolveCatalogLocaleOptions(market: CatalogMarket | undefined, locales: ReadonlyArray<{
11
33
  languageTag: string;
12
- }>): string[];
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): {
34
+ }>, defaultLocale?: string): string[];
35
+ export declare function resolveCatalogSelectedLocale(requestedLocale: string | undefined, localeOptions: ReadonlyArray<string>, market: CatalogMarket | undefined, defaultLocale?: string): string;
36
+ export declare function resolveCatalogScope(search: Pick<CatalogSearchParams, "locale" | "market">, localeOptions: ReadonlyArray<string>, market: CatalogMarket | undefined, options?: Pick<CatalogAdminScopeOptions, "defaultLocale" | "defaultMarket">): {
15
37
  locale: string;
16
38
  market: string | undefined;
17
39
  };
40
+ export declare function resolveCatalogScopeSearch(search: CatalogSearchParams, options?: Pick<CatalogAdminScopeOptions, "hideScopeControls">): CatalogSearchParams;
18
41
  export interface CatalogVerticalHostProps {
19
42
  vertical: CatalogVerticalPageId;
20
43
  search: CatalogSearchParams;
@@ -47,6 +70,7 @@ export interface CatalogVerticalHostProps {
47
70
  * tours → the generic vertical detail). When omitted, the sheet is used.
48
71
  */
49
72
  onOpenDetail?: (hit: CatalogSearchHit) => void;
73
+ scopeOptions?: CatalogAdminScopeOptions;
50
74
  }
51
75
  /**
52
76
  * The indexed catalog browse grid bound to its data wiring (markets, locales,
@@ -56,6 +80,6 @@ export interface CatalogVerticalHostProps {
56
80
  * (`useVoyantCatalogContext`); cross-route links resolve through the semantic
57
81
  * destination keys declared in `./index.tsx` (packaged-admin RFC §4.7).
58
82
  */
59
- export declare function CatalogVerticalHost({ vertical, search, onSearchChange, embedded, lockedFacets, lockedRanges, onOpenDetail, }: CatalogVerticalHostProps): import("react/jsx-runtime").JSX.Element;
83
+ export declare function CatalogVerticalHost({ vertical, search, onSearchChange, embedded, lockedFacets, lockedRanges, onOpenDetail, scopeOptions, }: CatalogVerticalHostProps): import("react/jsx-runtime").JSX.Element;
60
84
  export {};
61
85
  //# sourceMappingURL=catalog-vertical-host.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"catalog-vertical-host.d.ts","sourceRoot":"","sources":["../../src/admin/catalog-vertical-host.tsx"],"names":[],"mappings":"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"}
@@ -12,12 +12,28 @@ import { useCatalogUiMessagesOrDefault } from "../i18n/index.js";
12
12
  import { createCatalogEnrichmentFetchers, fetchCatalogSlots, useVoyantCatalogContext, } from "../index.js";
13
13
  const DEFAULT_MARKET_VALUE = "__default__";
14
14
  const DEFAULT_CATALOG_LOCALE = "en-GB";
15
- export function resolveCatalogDefaultMarket(markets, selectedMarketId) {
16
- return (markets.find((market) => market.id === selectedMarketId) ??
17
- markets.find((market) => market.code === "default") ??
18
- markets[0]);
15
+ export function resolveCatalogDefaultMarket(markets, selectedMarketId, options = {}) {
16
+ const selectedMarket = selectedMarketId
17
+ ? markets.find((market) => market.id === selectedMarketId || market.code === selectedMarketId)
18
+ : undefined;
19
+ if (selectedMarket)
20
+ return selectedMarket;
21
+ const configuredMarket = options.defaultMarket
22
+ ? markets.find((market) => market.id === options.defaultMarket || market.code === options.defaultMarket)
23
+ : undefined;
24
+ if (configuredMarket)
25
+ return configuredMarket;
26
+ if (options.scopeStrategy === "deployment-default" && options.defaultMarket) {
27
+ return {
28
+ id: options.defaultMarket,
29
+ name: options.defaultMarket,
30
+ code: options.defaultMarket,
31
+ defaultLanguageTag: options.defaultLocale ?? DEFAULT_CATALOG_LOCALE,
32
+ };
33
+ }
34
+ return markets.find((market) => market.code === "default") ?? markets[0];
19
35
  }
20
- export function resolveCatalogLocaleOptions(market, locales) {
36
+ export function resolveCatalogLocaleOptions(market, locales, defaultLocale = DEFAULT_CATALOG_LOCALE) {
21
37
  const tags = new Set();
22
38
  if (market) {
23
39
  tags.add(market.defaultLanguageTag);
@@ -25,22 +41,25 @@ export function resolveCatalogLocaleOptions(market, locales) {
25
41
  tags.add(locale.languageTag);
26
42
  }
27
43
  else {
28
- tags.add(DEFAULT_CATALOG_LOCALE);
44
+ tags.add(defaultLocale);
29
45
  }
30
46
  return Array.from(tags).sort((left, right) => left.localeCompare(right));
31
47
  }
32
- export function resolveCatalogSelectedLocale(requestedLocale, localeOptions, market) {
33
- const fallbackLocale = market?.defaultLanguageTag ?? DEFAULT_CATALOG_LOCALE;
48
+ export function resolveCatalogSelectedLocale(requestedLocale, localeOptions, market, defaultLocale = DEFAULT_CATALOG_LOCALE) {
49
+ const fallbackLocale = market?.defaultLanguageTag ?? defaultLocale;
34
50
  return requestedLocale && localeOptions.includes(requestedLocale)
35
51
  ? requestedLocale
36
52
  : fallbackLocale;
37
53
  }
38
- export function resolveCatalogScope(search, localeOptions, market) {
54
+ export function resolveCatalogScope(search, localeOptions, market, options = {}) {
39
55
  return {
40
- locale: resolveCatalogSelectedLocale(search.locale, localeOptions, market),
41
- market: search.market ?? market?.id,
56
+ locale: resolveCatalogSelectedLocale(search.locale, localeOptions, market, options.defaultLocale),
57
+ market: search.market ?? market?.id ?? options.defaultMarket,
42
58
  };
43
59
  }
60
+ export function resolveCatalogScopeSearch(search, options = {}) {
61
+ return options.hideScopeControls ? { ...search, locale: undefined, market: undefined } : search;
62
+ }
44
63
  /**
45
64
  * The indexed catalog browse grid bound to its data wiring (markets, locales,
46
65
  * suppliers, product tag mutations, slot availability) — the packaged admin
@@ -49,7 +68,7 @@ export function resolveCatalogScope(search, localeOptions, market) {
49
68
  * (`useVoyantCatalogContext`); cross-route links resolve through the semantic
50
69
  * destination keys declared in `./index.tsx` (packaged-admin RFC §4.7).
51
70
  */
52
- export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded = false, lockedFacets, lockedRanges, onOpenDetail, }) {
71
+ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded = false, lockedFacets, lockedRanges, onOpenDetail, scopeOptions = {}, }) {
53
72
  const resolveHref = useAdminHref();
54
73
  const navigateTo = useAdminNavigate();
55
74
  const { baseUrl, fetcher } = useVoyantCatalogContext();
@@ -58,18 +77,21 @@ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded
58
77
  const suppliersQuery = useSuppliers({ limit: 100 });
59
78
  const marketsQuery = useMarkets({ status: "active", limit: 100 });
60
79
  const markets = marketsQuery.data?.data ?? [];
61
- const selectedMarketId = search.market;
62
- const defaultMarket = resolveCatalogDefaultMarket(markets, selectedMarketId);
63
- const selectedMarket = selectedMarketId ? defaultMarket : undefined;
80
+ const scopeSearch = resolveCatalogScopeSearch(search, scopeOptions);
81
+ const selectedMarketId = scopeSearch.market;
82
+ const defaultMarket = resolveCatalogDefaultMarket(markets, selectedMarketId, scopeOptions);
83
+ const selectedMarket = selectedMarketId
84
+ ? markets.find((market) => market.id === selectedMarketId || market.code === selectedMarketId)
85
+ : undefined;
64
86
  const localeMarket = selectedMarket ?? defaultMarket;
65
87
  const localesQuery = useMarketLocales({
66
88
  marketId: localeMarket?.id,
67
89
  active: true,
68
90
  limit: 100,
69
- enabled: Boolean(localeMarket?.id),
91
+ enabled: Boolean(localeMarket?.id && markets.some((market) => market.id === localeMarket.id)),
70
92
  });
71
- const localeOptions = useMemo(() => resolveCatalogLocaleOptions(localeMarket, localesQuery.data?.data ?? []), [localesQuery.data, localeMarket]);
72
- const catalogScope = resolveCatalogScope(search, localeOptions, localeMarket);
93
+ const localeOptions = useMemo(() => resolveCatalogLocaleOptions(localeMarket, localesQuery.data?.data ?? [], scopeOptions.defaultLocale), [localesQuery.data, localeMarket, scopeOptions.defaultLocale]);
94
+ const catalogScope = resolveCatalogScope(scopeSearch, localeOptions, localeMarket, scopeOptions);
73
95
  const selectedLocale = catalogScope.locale;
74
96
  const selectedMarketScope = catalogScope.market;
75
97
  const supplierMap = useMemo(() => {
@@ -120,7 +142,7 @@ export function CatalogVerticalHost({ vertical, search, onSearchChange, embedded
120
142
  // `false` (not `undefined`) so catalog-ui's `title ?? default` does NOT
121
143
  // fall back to its generic "Catalog" header — the embedding surface
122
144
  // (Dynamic/Scheduled page) renders its own header on top instead.
123
- embedded ? (false) : (_jsx("div", { children: _jsx("h1", { className: "font-semibold text-2xl", children: catalogMessages.tabs[vertical] }) })), toolbarEnd: embedded ? undefined : (_jsx(CatalogScopeControls, { messages: browserMessages, markets: marketsQuery.data?.data ?? [], localeOptions: localeOptions, market: selectedMarketId, locale: selectedLocale, onMarketChange: (marketId) => {
145
+ embedded ? (false) : (_jsx("div", { children: _jsx("h1", { className: "font-semibold text-2xl", children: catalogMessages.tabs[vertical] }) })), toolbarEnd: embedded || scopeOptions.hideScopeControls ? undefined : (_jsx(CatalogScopeControls, { messages: browserMessages, markets: marketsQuery.data?.data ?? [], localeOptions: localeOptions, market: selectedMarketId, locale: selectedLocale, onMarketChange: (marketId) => {
124
146
  const nextMarket = (marketsQuery.data?.data ?? []).find((market) => market.id === marketId);
125
147
  onSearchChange((prev) => ({
126
148
  ...prev,
@@ -1,7 +1,9 @@
1
1
  import type { CatalogSearchParams } from "../index.js";
2
+ import { type CatalogAdminScopeOptions } from "./catalog-vertical-host.js";
2
3
  export interface DynamicCatalogHostProps {
3
4
  search: CatalogSearchParams;
4
5
  onSearchChange: (updater: (prev: CatalogSearchParams) => CatalogSearchParams, replace?: boolean) => void;
6
+ scopeOptions?: CatalogAdminScopeOptions;
5
7
  }
6
8
  /**
7
9
  * Packaged admin host for `DynamicCatalogPage` — supplies the localized
@@ -9,5 +11,5 @@ export interface DynamicCatalogHostProps {
9
11
  * renders `CatalogVerticalHost` (markets/suppliers/products wiring) as the
10
12
  * no-search browse grid.
11
13
  */
12
- export declare function DynamicCatalogHost({ search, onSearchChange }: DynamicCatalogHostProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function DynamicCatalogHost({ search, onSearchChange, scopeOptions, }: DynamicCatalogHostProps): import("react/jsx-runtime").JSX.Element;
13
15
  //# sourceMappingURL=dynamic-catalog-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-catalog-host.d.ts","sourceRoot":"","sources":["../../src/admin/dynamic-catalog-host.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,cAAc,EAAE,CACd,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,mBAAmB,EAC3D,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;CACV;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,uBAAuB,2CA2BrF"}
1
+ {"version":3,"file":"dynamic-catalog-host.d.ts","sourceRoot":"","sources":["../../src/admin/dynamic-catalog-host.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,KAAK,wBAAwB,EAAuB,MAAM,4BAA4B,CAAA;AAG/F,MAAM,WAAW,uBAAuB;IACtC,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,YAAY,CAAC,EAAE,wBAAwB,CAAA;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,cAAc,EACd,YAAY,GACb,EAAE,uBAAuB,2CA4BzB"}
@@ -10,8 +10,8 @@ import { openHrefInNewTab } from "./open-in-new-tab.js";
10
10
  * renders `CatalogVerticalHost` (markets/suppliers/products wiring) as the
11
11
  * no-search browse grid.
12
12
  */
13
- export function DynamicCatalogHost({ search, onSearchChange }) {
13
+ export function DynamicCatalogHost({ search, onSearchChange, scopeOptions, }) {
14
14
  const resolveHref = useAdminHref();
15
15
  const nav = useOperatorAdminMessages().nav;
16
- return (_jsx(DynamicCatalogPageUi, { search: search, onSearchChange: onSearchChange, productsLabel: nav.catalogProducts, productsTagline: nav.catalogProductsTagline, buildDetailHref: (productId, { adults, nights }) => resolveHref("catalog.detail", { surface: "products", id: productId, adults, nights }), renderBrowseGrid: ({ lockedFacets }) => (_jsx(CatalogVerticalHost, { vertical: "products", search: search, onSearchChange: onSearchChange, embedded: true, lockedFacets: lockedFacets, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "products", id: hit.id })) })) }));
16
+ return (_jsx(DynamicCatalogPageUi, { search: search, onSearchChange: onSearchChange, productsLabel: nav.catalogProducts, productsTagline: nav.catalogProductsTagline, buildDetailHref: (productId, { adults, nights }) => resolveHref("catalog.detail", { surface: "products", id: productId, adults, nights }), renderBrowseGrid: ({ lockedFacets }) => (_jsx(CatalogVerticalHost, { vertical: "products", search: search, onSearchChange: onSearchChange, embedded: true, lockedFacets: lockedFacets, scopeOptions: scopeOptions, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "products", id: hit.id })) })) }));
17
17
  }
@@ -1,4 +1,4 @@
1
- import { type AdminExtension } from "@voyant-travel/admin";
1
+ import { type AdminExtension, type AdminRoutePageProps } from "@voyant-travel/admin";
2
2
  import { z } from "zod";
3
3
  import type { CatalogDetailSurface } from "../catalog-surfaces.js";
4
4
  /**
@@ -69,7 +69,7 @@ export type { CruiseDetailPageProps } from "../components/cruise-detail-page.js"
69
69
  export type { DynamicCatalogPageProps } from "../components/dynamic-catalog-page.js";
70
70
  export type { ProductBookSelection, ProductDetailPageProps, } from "../components/product-detail-page.js";
71
71
  export type { ScheduledCatalogPageProps, ScheduledScope, } from "../components/scheduled-catalog-page.js";
72
- export type { CatalogVerticalHostProps } from "./catalog-vertical-host.js";
72
+ export type { CatalogAdminScopeOptions, CatalogAdminScopeStrategy, CatalogVerticalHostProps, } from "./catalog-vertical-host.js";
73
73
  export type { CruiseDetailHostProps } from "./cruise-detail-host.js";
74
74
  export type { DynamicCatalogHostProps } from "./dynamic-catalog-host.js";
75
75
  export type { ProductDetailHostProps } from "./product-detail-host.js";
@@ -90,6 +90,25 @@ export type ProductDetailSearchParams = z.infer<typeof productDetailSearchSchema
90
90
  export interface CreateCatalogAdminExtensionOptions {
91
91
  /** Mount path of the catalog surfaces inside the admin workspace. Default `/catalog`. */
92
92
  basePath?: string;
93
+ /**
94
+ * Deployment-level locale fallback for the indexed admin catalog scope.
95
+ * Defaults to the package fallback when omitted.
96
+ */
97
+ defaultLocale?: string;
98
+ /**
99
+ * Deployment-level market/scope fallback for the indexed admin catalog
100
+ * scope. Can be a commerce market id/code or a synthetic slice such as
101
+ * `"default"`.
102
+ */
103
+ defaultMarket?: string;
104
+ /**
105
+ * Default scope source. `"commerce-market"` preserves legacy behavior;
106
+ * `"deployment-default"` uses `defaultLocale`/`defaultMarket` as the
107
+ * browse fallback while still allowing URL-selected scope to override it.
108
+ */
109
+ scopeStrategy?: "commerce-market" | "deployment-default";
110
+ /** Hide market/locale controls for fixed-scope deployments. */
111
+ hideScopeControls?: boolean;
93
112
  /** Localized surface labels. Defaults are the English operator nav labels. */
94
113
  labels?: {
95
114
  products?: string;
@@ -99,6 +118,9 @@ export interface CreateCatalogAdminExtensionOptions {
99
118
  accommodations?: string;
100
119
  };
101
120
  }
121
+ export interface CatalogAdminRoutePageProps extends AdminRoutePageProps {
122
+ scopeOptions?: Pick<CreateCatalogAdminExtensionOptions, "defaultLocale" | "defaultMarket" | "hideScopeControls" | "scopeStrategy">;
123
+ }
102
124
  /**
103
125
  * The catalog admin contribution (packaged-admin RFC Phase 2,
104
126
  * `@voyant-travel/<domain>-ui/admin` convention).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { defineAdminExtension } from "@voyant-travel/admin";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { defineAdminExtension, } from "@voyant-travel/admin";
2
3
  import { z } from "zod";
3
4
  // Lean static: the browse search contract lives in its own schema-only
4
5
  // module — importing it through `../index.js` would pin the whole catalog
@@ -27,6 +28,17 @@ export const productDetailSearchSchema = z.object({
27
28
  nights: z.coerce.number().int().min(1).optional(),
28
29
  locale: z.string().optional(),
29
30
  });
31
+ function catalogAdminPage(loader, scopeOptions) {
32
+ return async () => {
33
+ const module = await loader();
34
+ const Page = module.default;
35
+ function CatalogAdminRoutePage(props) {
36
+ return _jsx(Page, { ...props, scopeOptions: scopeOptions });
37
+ }
38
+ CatalogAdminRoutePage.displayName = `CatalogAdminRoutePage(${Page.displayName ?? Page.name ?? "anonymous"})`;
39
+ return { default: CatalogAdminRoutePage };
40
+ };
41
+ }
30
42
  /**
31
43
  * The catalog admin contribution (packaged-admin RFC Phase 2,
32
44
  * `@voyant-travel/<domain>-ui/admin` convention).
@@ -58,7 +70,9 @@ export const productDetailSearchSchema = z.object({
58
70
  * landing in the workspace-chrome chunk that evaluates this factory.
59
71
  */
60
72
  export function createCatalogAdminExtension(options = {}) {
61
- const { basePath = "/catalog", labels = {} } = options;
73
+ const { basePath = "/catalog", labels = {}, defaultLocale, defaultMarket, hideScopeControls, } = options;
74
+ const scopeStrategy = options.scopeStrategy ?? (defaultLocale || defaultMarket ? "deployment-default" : undefined);
75
+ const scopeOptions = { defaultLocale, defaultMarket, hideScopeControls, scopeStrategy };
62
76
  const { products = "Packages", excursions = "Excursions", tours = "Tours", cruises = "Cruises", accommodations = "Accommodations", } = labels;
63
77
  const browseSearch = (search) => catalogSearchSchema.parse(search);
64
78
  const productDetailSearch = (search) => productDetailSearchSchema.parse(search);
@@ -78,66 +92,66 @@ export function createCatalogAdminExtension(options = {}) {
78
92
  path: `${basePath}/products`,
79
93
  title: products,
80
94
  validateSearch: browseSearch,
81
- page: () => import("./pages/catalog-products-index-page.js"),
95
+ page: catalogAdminPage(() => import("./pages/catalog-products-index-page.js"), scopeOptions),
82
96
  },
83
97
  {
84
98
  id: "catalog-products-detail",
85
99
  path: `${basePath}/products/$productId`,
86
100
  title: products,
87
101
  validateSearch: productDetailSearch,
88
- page: () => import("./pages/catalog-products-detail-page.js"),
102
+ page: catalogAdminPage(() => import("./pages/catalog-products-detail-page.js"), scopeOptions),
89
103
  },
90
104
  {
91
105
  id: "catalog-excursions-index",
92
106
  path: `${basePath}/excursions`,
93
107
  title: excursions,
94
108
  validateSearch: browseSearch,
95
- page: () => import("./pages/catalog-excursions-index-page.js"),
109
+ page: catalogAdminPage(() => import("./pages/catalog-excursions-index-page.js"), scopeOptions),
96
110
  },
97
111
  {
98
112
  id: "catalog-excursions-detail",
99
113
  path: `${basePath}/excursions/$id`,
100
114
  title: excursions,
101
- page: () => import("./pages/catalog-excursions-detail-page.js"),
115
+ page: catalogAdminPage(() => import("./pages/catalog-excursions-detail-page.js"), scopeOptions),
102
116
  },
103
117
  {
104
118
  id: "catalog-tours-index",
105
119
  path: `${basePath}/tours`,
106
120
  title: tours,
107
121
  validateSearch: browseSearch,
108
- page: () => import("./pages/catalog-tours-index-page.js"),
122
+ page: catalogAdminPage(() => import("./pages/catalog-tours-index-page.js"), scopeOptions),
109
123
  },
110
124
  {
111
125
  id: "catalog-tours-detail",
112
126
  path: `${basePath}/tours/$id`,
113
127
  title: tours,
114
- page: () => import("./pages/catalog-tours-detail-page.js"),
128
+ page: catalogAdminPage(() => import("./pages/catalog-tours-detail-page.js"), scopeOptions),
115
129
  },
116
130
  {
117
131
  id: "catalog-cruises-index",
118
132
  path: `${basePath}/cruises`,
119
133
  title: cruises,
120
134
  validateSearch: browseSearch,
121
- page: () => import("./pages/catalog-cruises-index-page.js"),
135
+ page: catalogAdminPage(() => import("./pages/catalog-cruises-index-page.js"), scopeOptions),
122
136
  },
123
137
  {
124
138
  id: "catalog-cruises-detail",
125
139
  path: `${basePath}/cruises/$id`,
126
140
  title: cruises,
127
- page: () => import("./pages/catalog-cruises-detail-page.js"),
141
+ page: catalogAdminPage(() => import("./pages/catalog-cruises-detail-page.js"), scopeOptions),
128
142
  },
129
143
  {
130
144
  id: "catalog-accommodations-index",
131
145
  path: `${basePath}/accommodations`,
132
146
  title: accommodations,
133
147
  validateSearch: browseSearch,
134
- page: () => import("./pages/catalog-accommodations-index-page.js"),
148
+ page: catalogAdminPage(() => import("./pages/catalog-accommodations-index-page.js"), scopeOptions),
135
149
  },
136
150
  {
137
151
  id: "catalog-accommodations-detail",
138
152
  path: `${basePath}/accommodations/$id`,
139
153
  title: accommodations,
140
- page: () => import("./pages/catalog-accommodations-detail-page.js"),
154
+ page: catalogAdminPage(() => import("./pages/catalog-accommodations-detail-page.js"), scopeOptions),
141
155
  },
142
156
  ],
143
157
  });
@@ -1,4 +1,4 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /** Packaged route page for the accommodation detail surface (`$id` param). */
3
- export default function CatalogAccommodationsDetailPage({ params }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
3
+ export default function CatalogAccommodationsDetailPage({ params, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=catalog-accommodations-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-accommodations-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-accommodations-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI/D,8EAA8E;AAC9E,MAAM,CAAC,OAAO,UAAU,+BAA+B,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAEtF"}
1
+ {"version":3,"file":"catalog-accommodations-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-accommodations-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAG7D,8EAA8E;AAC9E,MAAM,CAAC,OAAO,UAAU,+BAA+B,CAAC,EACtD,MAAM,EACN,YAAY,GACb,EAAE,0BAA0B,2CAQ5B"}
@@ -2,6 +2,6 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { VerticalDetailHost } from "../vertical-detail-host.js";
4
4
  /** Packaged route page for the accommodation detail surface (`$id` param). */
5
- export default function CatalogAccommodationsDetailPage({ params }) {
6
- return _jsx(VerticalDetailHost, { surface: "accommodations", id: params.id ?? "" });
5
+ export default function CatalogAccommodationsDetailPage({ params, scopeOptions, }) {
6
+ return (_jsx(VerticalDetailHost, { surface: "accommodations", id: params.id ?? "", locale: scopeOptions?.defaultLocale }));
7
7
  }
@@ -1,4 +1,4 @@
1
- import { type AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the accommodations browse surface. The header title
4
4
  * is read from the localized operator nav messages (the `title` prop carries
@@ -6,5 +6,5 @@ import { type AdminRoutePageProps } from "@voyant-travel/admin";
6
6
  * is built once from the English defaults); `search` was validated by the
7
7
  * contribution's `validateSearch` (catalogSearchSchema).
8
8
  */
9
- export default function CatalogAccommodationsIndexPage({ search, updateSearch, }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
9
+ export default function CatalogAccommodationsIndexPage({ search, updateSearch, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
10
10
  //# sourceMappingURL=catalog-accommodations-index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-accommodations-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-accommodations-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAA;AAM7B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,EACrD,MAAM,EACN,YAAY,GACb,EAAE,mBAAmB,2CAuBrB"}
1
+ {"version":3,"file":"catalog-accommodations-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-accommodations-index-page.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAGlF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,EACrD,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,0BAA0B,2CAwB5B"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useAdminHref, useOperatorAdminMessages, } from "@voyant-travel/admin";
3
+ import { useAdminHref, useOperatorAdminMessages } from "@voyant-travel/admin";
4
4
  import { CatalogVerticalHost } from "../catalog-vertical-host.js";
5
5
  import { openHrefInNewTab } from "../open-in-new-tab.js";
6
6
  /**
@@ -10,11 +10,11 @@ import { openHrefInNewTab } from "../open-in-new-tab.js";
10
10
  * is built once from the English defaults); `search` was validated by the
11
11
  * contribution's `validateSearch` (catalogSearchSchema).
12
12
  */
13
- export default function CatalogAccommodationsIndexPage({ search, updateSearch, }) {
13
+ export default function CatalogAccommodationsIndexPage({ search, updateSearch, scopeOptions, }) {
14
14
  const resolveHref = useAdminHref();
15
15
  const title = useOperatorAdminMessages().nav.catalogAccommodations;
16
16
  // Browse-first surface — a consistent header over the embedded grid, with
17
17
  // results opening the dedicated accommodation detail page (the
18
18
  // `catalog.detail` destination) in a new tab.
19
- return (_jsxs("div", { className: "mx-auto w-full max-w-screen-2xl px-6 py-6 lg:px-8", children: [_jsx("div", { className: "mb-4", children: _jsx("h1", { className: "font-semibold text-2xl", children: title }) }), _jsx(CatalogVerticalHost, { vertical: "accommodations", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), embedded: true, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "accommodations", id: hit.id })) })] }));
19
+ return (_jsxs("div", { className: "mx-auto w-full max-w-screen-2xl px-6 py-6 lg:px-8", children: [_jsx("div", { className: "mb-4", children: _jsx("h1", { className: "font-semibold text-2xl", children: title }) }), _jsx(CatalogVerticalHost, { vertical: "accommodations", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), embedded: true, scopeOptions: scopeOptions, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "accommodations", id: hit.id })) })] }));
20
20
  }
@@ -1,4 +1,4 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /** Packaged route page for the source-driven cruise detail surface (`$id` param). */
3
- export default function CatalogCruisesDetailPage({ params }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
3
+ export default function CatalogCruisesDetailPage({ params, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=catalog-cruises-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-cruises-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-cruises-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI/D,qFAAqF;AACrF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAE/E"}
1
+ {"version":3,"file":"catalog-cruises-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-cruises-detail-page.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAE7D,qFAAqF;AACrF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,MAAM,EACN,YAAY,GACb,EAAE,0BAA0B,2CAE5B"}
@@ -2,6 +2,6 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { CruiseDetailHost } from "../cruise-detail-host.js";
4
4
  /** Packaged route page for the source-driven cruise detail surface (`$id` param). */
5
- export default function CatalogCruisesDetailPage({ params }) {
6
- return _jsx(CruiseDetailHost, { id: params.id ?? "" });
5
+ export default function CatalogCruisesDetailPage({ params, scopeOptions, }) {
6
+ return _jsx(CruiseDetailHost, { id: params.id ?? "", locale: scopeOptions?.defaultLocale });
7
7
  }
@@ -1,4 +1,4 @@
1
- import { type AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the cruises browse surface. The header title is read
4
4
  * from the localized operator nav messages (the `title` prop carries the
@@ -6,5 +6,5 @@ import { type AdminRoutePageProps } from "@voyant-travel/admin";
6
6
  * built once from the English defaults); `search` was validated by the
7
7
  * contribution's `validateSearch` (catalogSearchSchema).
8
8
  */
9
- export default function CatalogCruisesIndexPage({ search, updateSearch }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
9
+ export default function CatalogCruisesIndexPage({ search, updateSearch, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
10
10
  //# sourceMappingURL=catalog-cruises-index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-cruises-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-cruises-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAA;AAM7B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,mBAAmB,2CAyB5F"}
1
+ {"version":3,"file":"catalog-cruises-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-cruises-index-page.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAGlF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,0BAA0B,2CA0B5B"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useAdminHref, useOperatorAdminMessages, } from "@voyant-travel/admin";
3
+ import { useAdminHref, useOperatorAdminMessages } from "@voyant-travel/admin";
4
4
  import { CatalogVerticalHost } from "../catalog-vertical-host.js";
5
5
  import { openHrefInNewTab } from "../open-in-new-tab.js";
6
6
  /**
@@ -10,7 +10,7 @@ import { openHrefInNewTab } from "../open-in-new-tab.js";
10
10
  * built once from the English defaults); `search` was validated by the
11
11
  * contribution's `validateSearch` (catalogSearchSchema).
12
12
  */
13
- export default function CatalogCruisesIndexPage({ search, updateSearch }) {
13
+ export default function CatalogCruisesIndexPage({ search, updateSearch, scopeOptions, }) {
14
14
  const resolveHref = useAdminHref();
15
15
  const title = useOperatorAdminMessages().nav.catalogCruises;
16
16
  // Browse-first surface — a consistent header over the embedded grid, with
@@ -18,5 +18,5 @@ export default function CatalogCruisesIndexPage({ search, updateSearch }) {
18
18
  // `catalog.detail` destination) in a new tab. (Connect's cruise sailings
19
19
  // carry no from-price and don't join cleanly for a live availability
20
20
  // calendar, so cruises browse the synced catalog index.)
21
- return (_jsxs("div", { className: "mx-auto w-full max-w-screen-2xl px-6 py-6 lg:px-8", children: [_jsx("div", { className: "mb-4", children: _jsx("h1", { className: "font-semibold text-2xl", children: title }) }), _jsx(CatalogVerticalHost, { vertical: "cruises", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), embedded: true, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "cruises", id: hit.id })) })] }));
21
+ return (_jsxs("div", { className: "mx-auto w-full max-w-screen-2xl px-6 py-6 lg:px-8", children: [_jsx("div", { className: "mb-4", children: _jsx("h1", { className: "font-semibold text-2xl", children: title }) }), _jsx(CatalogVerticalHost, { vertical: "cruises", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), embedded: true, scopeOptions: scopeOptions, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: "cruises", id: hit.id })) })] }));
22
22
  }
@@ -1,4 +1,4 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /** Packaged route page for the excursion detail surface (`$id` param). */
3
- export default function CatalogExcursionsDetailPage({ params }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
3
+ export default function CatalogExcursionsDetailPage({ params, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=catalog-excursions-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-excursions-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-excursions-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI/D,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAElF"}
1
+ {"version":3,"file":"catalog-excursions-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-excursions-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAG7D,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,YAAY,GACb,EAAE,0BAA0B,2CAQ5B"}
@@ -2,6 +2,6 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { VerticalDetailHost } from "../vertical-detail-host.js";
4
4
  /** Packaged route page for the excursion detail surface (`$id` param). */
5
- export default function CatalogExcursionsDetailPage({ params }) {
6
- return _jsx(VerticalDetailHost, { surface: "excursions", id: params.id ?? "" });
5
+ export default function CatalogExcursionsDetailPage({ params, scopeOptions, }) {
6
+ return (_jsx(VerticalDetailHost, { surface: "excursions", id: params.id ?? "", locale: scopeOptions?.defaultLocale }));
7
7
  }
@@ -1,8 +1,8 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the scheduled catalog browse surface scoped to
4
4
  * excursions. The contribution's `validateSearch` (catalogSearchSchema)
5
5
  * already validated `search`, so the cast onto the host contract is sound.
6
6
  */
7
- export default function CatalogExcursionsIndexPage({ search, updateSearch }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function CatalogExcursionsIndexPage({ search, updateSearch, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=catalog-excursions-index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-excursions-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-excursions-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,mBAAmB,2CAS/F"}
1
+ {"version":3,"file":"catalog-excursions-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-excursions-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAGlF;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,0BAA0B,2CAU5B"}
@@ -6,7 +6,7 @@ import { ScheduledCatalogHost } from "../scheduled-catalog-host.js";
6
6
  * excursions. The contribution's `validateSearch` (catalogSearchSchema)
7
7
  * already validated `search`, so the cast onto the host contract is sound.
8
8
  */
9
- export default function CatalogExcursionsIndexPage({ search, updateSearch }) {
9
+ export default function CatalogExcursionsIndexPage({ search, updateSearch, scopeOptions, }) {
10
10
  // Excursions = single-day scheduled trips (durationDays ≤ 1).
11
- return (_jsx(ScheduledCatalogHost, { scope: "excursions", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }) }));
11
+ return (_jsx(ScheduledCatalogHost, { scope: "excursions", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), scopeOptions: scopeOptions }));
12
12
  }
@@ -1,8 +1,8 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the product (package) detail surface. The
4
4
  * contribution's `validateSearch` (productDetailSearchSchema) already
5
5
  * validated `search`, so the cast onto the package search contract is sound.
6
6
  */
7
- export default function CatalogProductsDetailPage({ params, search }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function CatalogProductsDetailPage({ params, search, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=catalog-products-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-products-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-products-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAWxF"}
1
+ {"version":3,"file":"catalog-products-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-products-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAA6B,MAAM,aAAa,CAAA;AAGxF;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,MAAM,EACN,MAAM,EACN,YAAY,GACb,EAAE,0BAA0B,2CAW5B"}
@@ -6,7 +6,7 @@ import { ProductDetailHost } from "../product-detail-host.js";
6
6
  * contribution's `validateSearch` (productDetailSearchSchema) already
7
7
  * validated `search`, so the cast onto the package search contract is sound.
8
8
  */
9
- export default function CatalogProductsDetailPage({ params, search }) {
9
+ export default function CatalogProductsDetailPage({ params, search, scopeOptions, }) {
10
10
  const { adults, nights, locale } = search;
11
- return (_jsx(ProductDetailHost, { productId: params.productId ?? "", adults: adults, nights: nights, locale: locale }));
11
+ return (_jsx(ProductDetailHost, { productId: params.productId ?? "", adults: adults, nights: nights, locale: locale ?? scopeOptions?.defaultLocale }));
12
12
  }
@@ -1,8 +1,8 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the dynamic catalog browse surface (Packages).
4
4
  * The contribution's `validateSearch` (catalogSearchSchema) already validated
5
5
  * `search`, so the cast onto the host's search contract is sound.
6
6
  */
7
- export default function CatalogProductsIndexPage({ search, updateSearch }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function CatalogProductsIndexPage({ search, updateSearch, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=catalog-products-index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-products-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-products-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,mBAAmB,2CAQ7F"}
1
+ {"version":3,"file":"catalog-products-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-products-index-page.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAElF;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,0BAA0B,2CAS5B"}
@@ -6,7 +6,7 @@ import { DynamicCatalogHost } from "../dynamic-catalog-host.js";
6
6
  * The contribution's `validateSearch` (catalogSearchSchema) already validated
7
7
  * `search`, so the cast onto the host's search contract is sound.
8
8
  */
9
- export default function CatalogProductsIndexPage({ search, updateSearch }) {
9
+ export default function CatalogProductsIndexPage({ search, updateSearch, scopeOptions, }) {
10
10
  // Products are the `dynamic` supply mechanic → search-first surface.
11
- return (_jsx(DynamicCatalogHost, { search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }) }));
11
+ return (_jsx(DynamicCatalogHost, { search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), scopeOptions: scopeOptions }));
12
12
  }
@@ -1,4 +1,4 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /** Packaged route page for the tour detail surface (`$id` param). */
3
- export default function CatalogToursDetailPage({ params }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
3
+ export default function CatalogToursDetailPage({ params, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=catalog-tours-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-tours-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-tours-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAI/D,qEAAqE;AACrE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAE7E"}
1
+ {"version":3,"file":"catalog-tours-detail-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-tours-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAG7D,qEAAqE;AACrE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,MAAM,EACN,YAAY,GACb,EAAE,0BAA0B,2CAI5B"}
@@ -2,6 +2,6 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { VerticalDetailHost } from "../vertical-detail-host.js";
4
4
  /** Packaged route page for the tour detail surface (`$id` param). */
5
- export default function CatalogToursDetailPage({ params }) {
6
- return _jsx(VerticalDetailHost, { surface: "tours", id: params.id ?? "" });
5
+ export default function CatalogToursDetailPage({ params, scopeOptions, }) {
6
+ return (_jsx(VerticalDetailHost, { surface: "tours", id: params.id ?? "", locale: scopeOptions?.defaultLocale }));
7
7
  }
@@ -1,8 +1,8 @@
1
- import type { AdminRoutePageProps } from "@voyant-travel/admin";
1
+ import type { CatalogAdminRoutePageProps } from "../index.js";
2
2
  /**
3
3
  * Packaged route page for the scheduled catalog browse surface scoped to
4
4
  * tours. The contribution's `validateSearch` (catalogSearchSchema) already
5
5
  * validated `search`, so the cast onto the host contract is sound.
6
6
  */
7
- export default function CatalogToursIndexPage({ search, updateSearch }: AdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function CatalogToursIndexPage({ search, updateSearch, scopeOptions, }: CatalogAdminRoutePageProps): import("react/jsx-runtime").JSX.Element;
8
8
  //# sourceMappingURL=catalog-tours-index-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-tours-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-tours-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,mBAAmB,2CAS1F"}
1
+ {"version":3,"file":"catalog-tours-index-page.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/catalog-tours-index-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAuB,MAAM,aAAa,CAAA;AAGlF;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,0BAA0B,2CAU5B"}
@@ -6,7 +6,7 @@ import { ScheduledCatalogHost } from "../scheduled-catalog-host.js";
6
6
  * tours. The contribution's `validateSearch` (catalogSearchSchema) already
7
7
  * validated `search`, so the cast onto the host contract is sound.
8
8
  */
9
- export default function CatalogToursIndexPage({ search, updateSearch }) {
9
+ export default function CatalogToursIndexPage({ search, updateSearch, scopeOptions, }) {
10
10
  // Tours / circuits = multi-day scheduled trips (durationDays ≥ 2).
11
- return (_jsx(ScheduledCatalogHost, { scope: "tours", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }) }));
11
+ return (_jsx(ScheduledCatalogHost, { scope: "tours", search: search, onSearchChange: (updater, replace = true) => updateSearch(updater, { replace }), scopeOptions: scopeOptions }));
12
12
  }
@@ -1,9 +1,11 @@
1
1
  import { type ScheduledScope } from "../components/scheduled-catalog-page.js";
2
2
  import type { CatalogSearchParams } from "../index.js";
3
+ import { type CatalogAdminScopeOptions } from "./catalog-vertical-host.js";
3
4
  export interface ScheduledCatalogHostProps {
4
5
  scope: ScheduledScope;
5
6
  search: CatalogSearchParams;
6
7
  onSearchChange: (updater: (prev: CatalogSearchParams) => CatalogSearchParams, replace?: boolean) => void;
8
+ scopeOptions?: CatalogAdminScopeOptions;
7
9
  }
8
10
  /**
9
11
  * Packaged admin host for `ScheduledCatalogPage` — supplies the localized
@@ -11,5 +13,5 @@ export interface ScheduledCatalogHostProps {
11
13
  * wiring) as the embedded browse grid, opening each result's vertical detail
12
14
  * page (the `catalog.detail` destination) in a new tab on click.
13
15
  */
14
- export declare function ScheduledCatalogHost({ scope, search, onSearchChange }: ScheduledCatalogHostProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ScheduledCatalogHost({ scope, search, onSearchChange, scopeOptions, }: ScheduledCatalogHostProps): import("react/jsx-runtime").JSX.Element;
15
17
  //# sourceMappingURL=scheduled-catalog-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-catalog-host.d.ts","sourceRoot":"","sources":["../../src/admin/scheduled-catalog-host.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,cAAc,EAAE,CACd,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,mBAAmB,EAC3D,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;CACV;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,yBAAyB,2CA0BhG"}
1
+ {"version":3,"file":"scheduled-catalog-host.d.ts","sourceRoot":"","sources":["../../src/admin/scheduled-catalog-host.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,KAAK,wBAAwB,EAAuB,MAAM,4BAA4B,CAAA;AAG/F,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,cAAc,CAAA;IACrB,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,YAAY,CAAC,EAAE,wBAAwB,CAAA;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,cAAc,EACd,YAAY,GACb,EAAE,yBAAyB,2CA2B3B"}
@@ -10,10 +10,10 @@ import { openHrefInNewTab } from "./open-in-new-tab.js";
10
10
  * wiring) as the embedded browse grid, opening each result's vertical detail
11
11
  * page (the `catalog.detail` destination) in a new tab on click.
12
12
  */
13
- export function ScheduledCatalogHost({ scope, search, onSearchChange }) {
13
+ export function ScheduledCatalogHost({ scope, search, onSearchChange, scopeOptions, }) {
14
14
  const resolveHref = useAdminHref();
15
15
  const nav = useOperatorAdminMessages().nav;
16
16
  const title = scope === "excursions" ? nav.catalogExcursions : nav.catalogTours;
17
17
  const subtitle = scope === "excursions" ? nav.catalogExcursionsTagline : nav.catalogToursTagline;
18
- return (_jsx(ScheduledCatalogPageUi, { scope: scope, title: title, subtitle: subtitle, renderBrowseGrid: ({ lockedFacets, lockedRanges }) => (_jsx(CatalogVerticalHost, { vertical: "products", search: search, onSearchChange: onSearchChange, embedded: true, lockedFacets: lockedFacets, lockedRanges: lockedRanges, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: scope, id: hit.id })) })) }));
18
+ return (_jsx(ScheduledCatalogPageUi, { scope: scope, title: title, subtitle: subtitle, renderBrowseGrid: ({ lockedFacets, lockedRanges }) => (_jsx(CatalogVerticalHost, { vertical: "products", search: search, onSearchChange: onSearchChange, embedded: true, lockedFacets: lockedFacets, lockedRanges: lockedRanges, scopeOptions: scopeOptions, onOpenDetail: (hit) => openHrefInNewTab(resolveHref("catalog.detail", { surface: scope, id: hit.id })) })) }));
19
19
  }
@@ -2,6 +2,7 @@ import { type CatalogDetailSurface } from "../catalog-surfaces.js";
2
2
  export interface VerticalDetailHostProps {
3
3
  surface: CatalogDetailSurface;
4
4
  id: string;
5
+ locale?: string;
5
6
  }
6
7
  /**
7
8
  * Packaged admin host for `CatalogVerticalDetailPage` — binds the supplier
@@ -9,5 +10,5 @@ export interface VerticalDetailHostProps {
9
10
  * into the booking journey (packaged-admin RFC §4.7), and breadcrumbs, so
10
11
  * host route files stay trivial.
11
12
  */
12
- export declare function VerticalDetailHost({ surface, id }: VerticalDetailHostProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function VerticalDetailHost({ surface, id, locale }: VerticalDetailHostProps): import("react/jsx-runtime").JSX.Element;
13
14
  //# sourceMappingURL=vertical-detail-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertical-detail-host.d.ts","sourceRoot":"","sources":["../../src/admin/vertical-detail-host.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,oBAAoB,EAA0B,MAAM,wBAAwB,CAAA;AAM1F,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,uBAAuB,2CA+C1E"}
1
+ {"version":3,"file":"vertical-detail-host.d.ts","sourceRoot":"","sources":["../../src/admin/vertical-detail-host.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,oBAAoB,EAA0B,MAAM,wBAAwB,CAAA;AAM1F,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CAgDlF"}
@@ -11,7 +11,7 @@ import { CatalogVerticalDetailPage, } from "../components/catalog-vertical-detai
11
11
  * into the booking journey (packaged-admin RFC §4.7), and breadcrumbs, so
12
12
  * host route files stay trivial.
13
13
  */
14
- export function VerticalDetailHost({ surface, id }) {
14
+ export function VerticalDetailHost({ surface, id, locale }) {
15
15
  const resolveHref = useAdminHref();
16
16
  const navigateTo = useAdminNavigate();
17
17
  const nav = useOperatorAdminMessages().nav;
@@ -31,7 +31,7 @@ export function VerticalDetailHost({ surface, id }) {
31
31
  { label: surfaceLabel, href: surfaceHref },
32
32
  ]);
33
33
  useAdminBreadcrumbs(crumbs);
34
- return (_jsx(CatalogVerticalDetailPage, { id: id, vertical: vertical, surfaceLabel: surfaceLabel, surfaceHref: surfaceHref, formatSupplier: formatSupplier, onBreadcrumbs: setCrumbs,
34
+ return (_jsx(CatalogVerticalDetailPage, { id: id, vertical: vertical, surfaceLabel: surfaceLabel, surfaceHref: surfaceHref, locale: locale, formatSupplier: formatSupplier, onBreadcrumbs: setCrumbs,
35
35
  // Connect-sourced vertical (accommodation/excursion/tour) → the unified
36
36
  // journey. The picked departure's date locks the departure step; name/hero
37
37
  // preview the panel.
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-search-tab-panel.d.ts","sourceRoot":"","sources":["../../src/components/catalog-search-tab-panel.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAGrE,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAKjC,UAAU,oBAAoB;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC9C,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAChD,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAA;IAC5D,oBAAoB,CAAC,EAAE,uBAAuB,CAAA;IAC9C,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;IACxE,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;IAClE,YAAY,CAAC,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAA;IACtD,QAAQ,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,aAAa,CAAC,CAAA;CAC1E;AAcD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CACjD;AAED,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,OAAO,EAAE,WAAW,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GACT,EAAE,oBAAoB,2CA+RtB"}
1
+ {"version":3,"file":"catalog-search-tab-panel.d.ts","sourceRoot":"","sources":["../../src/components/catalog-search-tab-panel.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAGrE,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAKjC,UAAU,oBAAoB;IAC5B,GAAG,EAAE,gBAAgB,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC9C,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAChD,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC5D,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAA;IAC5D,oBAAoB,CAAC,EAAE,uBAAuB,CAAA;IAC9C,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;IACxE,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;IAClE,YAAY,CAAC,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAA;IACtD,QAAQ,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,aAAa,CAAC,CAAA;CAC1E;AAcD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CACjD;AAED,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,OAAO,EAAE,WAAW,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,GACT,EAAE,oBAAoB,2CAuStB"}
@@ -81,6 +81,10 @@ export function CatalogTabPanel({ tab, query, market, locale, pageSize, page: pa
81
81
  const totalPages = Math.max(1, Math.ceil(total / effectivePageSize));
82
82
  const facetGroups = data?.facets ?? {};
83
83
  const hits = data?.hits ?? [];
84
+ const scopeHint = formatTemplate(messages.search.resolvedScope, {
85
+ locale: locale ?? "any",
86
+ market: market ?? "any",
87
+ });
84
88
  const sortOptions = useMemo(() => {
85
89
  const opts = ["relevance"];
86
90
  if (tab.sorts) {
@@ -97,7 +101,7 @@ export function CatalogTabPanel({ tab, query, market, locale, pageSize, page: pa
97
101
  const cardConfig = tab.card;
98
102
  if (error) {
99
103
  const message = error instanceof Error ? error.message : String(error);
100
- return (_jsx("div", { className: "rounded-md border border-destructive/40 bg-destructive/5 p-4 text-sm text-destructive", children: message }));
104
+ return (_jsxs("div", { className: "rounded-md border border-destructive/40 bg-destructive/5 p-4 text-sm text-destructive", children: [_jsx("div", { children: message }), _jsx("div", { className: "mt-2 text-destructive/75 text-xs", children: scopeHint })] }));
101
105
  }
102
106
  const hasFacetSelections = Object.values(selections.facets).some((v) => v.length > 0);
103
107
  const hasRangeSelections = Object.values(selections.ranges).some((v) => v.gte != null || v.lte != null);
@@ -113,10 +117,10 @@ export function CatalogTabPanel({ tab, query, market, locale, pageSize, page: pa
113
117
  const next = values[values.length - 1];
114
118
  if (next === "grid" || next === "list")
115
119
  setViewMode(next);
116
- }, variant: "outline", "aria-label": messages.view.filters, children: [_jsx(ToggleGroupItem, { value: "grid", "aria-label": messages.view.grid, children: _jsx(LayoutGrid, { className: "size-4" }) }), _jsx(ToggleGroupItem, { value: "list", "aria-label": messages.view.list, children: _jsx(List, { className: "size-4" }) })] }))] })] }), isLoading ? (_jsx(ResultsSkeleton, { grid: viewMode === "grid" && Boolean(cardConfig), count: effectivePageSize })) : (_jsxs(_Fragment, { children: [_jsx("div", { "aria-busy": isFetching, className: `transition-opacity duration-150 ${isFetching && isPlaceholderData ? "pointer-events-none opacity-60" : ""}`, children: hits.length === 0 ? ((tab.emptyState ?? (_jsx("div", { className: "rounded-md border border-dashed p-6 text-center text-muted-foreground text-sm", children: formatTemplate(messages.search.noResults, {
117
- query: query ? `"${query}"` : messages.search.yourFilters,
118
- tab: tab.label.toLowerCase(),
119
- }) })))) : viewMode === "grid" && cardConfig ? (_jsx("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3", children: hits.map((hit) => (_jsx(CatalogCard, { hit: hit, config: cardConfig, imageFallbackField: tab.imageField, fallbackTitle: messages.fallbacks.detailName, onOpen: tab.onOpenDetail ?? setOpenHit }, hit.id))) })) : (_jsx(DataTable, { columns: tab.columns, data: hits, getRowId: (row) => row.id, onRowClick: (row) => (tab.onOpenDetail ?? setOpenHit)(row.original), showPagination: false, pageSize: effectivePageSize })) }), totalPages > 1 && (_jsxs("div", { className: "mt-1 flex items-center justify-between gap-2", children: [_jsx("span", { className: "text-muted-foreground text-sm", children: formatTemplate(messages.search.showing, {
120
+ }, variant: "outline", "aria-label": messages.view.filters, children: [_jsx(ToggleGroupItem, { value: "grid", "aria-label": messages.view.grid, children: _jsx(LayoutGrid, { className: "size-4" }) }), _jsx(ToggleGroupItem, { value: "list", "aria-label": messages.view.list, children: _jsx(List, { className: "size-4" }) })] }))] })] }), isLoading ? (_jsx(ResultsSkeleton, { grid: viewMode === "grid" && Boolean(cardConfig), count: effectivePageSize })) : (_jsxs(_Fragment, { children: [_jsx("div", { "aria-busy": isFetching, className: `transition-opacity duration-150 ${isFetching && isPlaceholderData ? "pointer-events-none opacity-60" : ""}`, children: hits.length === 0 ? ((tab.emptyState ?? (_jsxs("div", { className: "rounded-md border border-dashed p-6 text-center text-muted-foreground text-sm", children: [_jsx("div", { children: formatTemplate(messages.search.noResults, {
121
+ query: query ? `"${query}"` : messages.search.yourFilters,
122
+ tab: tab.label.toLowerCase(),
123
+ }) }), _jsx("div", { className: "mt-2 text-xs", children: scopeHint })] })))) : viewMode === "grid" && cardConfig ? (_jsx("div", { className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-3", children: hits.map((hit) => (_jsx(CatalogCard, { hit: hit, config: cardConfig, imageFallbackField: tab.imageField, fallbackTitle: messages.fallbacks.detailName, onOpen: tab.onOpenDetail ?? setOpenHit }, hit.id))) })) : (_jsx(DataTable, { columns: tab.columns, data: hits, getRowId: (row) => row.id, onRowClick: (row) => (tab.onOpenDetail ?? setOpenHit)(row.original), showPagination: false, pageSize: effectivePageSize })) }), totalPages > 1 && (_jsxs("div", { className: "mt-1 flex items-center justify-between gap-2", children: [_jsx("span", { className: "text-muted-foreground text-sm", children: formatTemplate(messages.search.showing, {
120
124
  from: (page - 1) * effectivePageSize + 1,
121
125
  to: Math.min(page * effectivePageSize, total),
122
126
  total,
package/dist/i18n/en.d.ts CHANGED
@@ -99,6 +99,7 @@ export declare const catalogUiEn: {
99
99
  noTabsConfigured: string;
100
100
  clearAll: string;
101
101
  noResults: string;
102
+ resolvedScope: string;
102
103
  yourFilters: string;
103
104
  resultSingular: string;
104
105
  resultPlural: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6YK,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8YK,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -99,6 +99,7 @@ export const catalogUiEn = {
99
99
  noTabsConfigured: "No catalog tabs configured.",
100
100
  clearAll: "Clear all",
101
101
  noResults: "No results for {query} in {tab}.",
102
+ resolvedScope: "Resolved scope: {locale} / {market}",
102
103
  yourFilters: "your filters",
103
104
  resultSingular: "result",
104
105
  resultPlural: "results",
@@ -29,6 +29,7 @@ export type CatalogUiMessages = {
29
29
  noTabsConfigured: string;
30
30
  clearAll: string;
31
31
  noResults: string;
32
+ resolvedScope: string;
32
33
  yourFilters: string;
33
34
  resultSingular: string;
34
35
  resultPlural: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,iBAAiB,EAAE,MAAM,CAAA;QACzB,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;YAChB,cAAc,EAAE,MAAM,CAAA;SACvB,CAAA;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAA;YAChB,UAAU,EAAE,MAAM,CAAA;SACnB,CAAA;QACD,OAAO,EAAE,MAAM,CACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,aAAa,GACb,KAAK,GACL,OAAO,GACP,WAAW,GACX,SAAS,GACT,iBAAiB,GACjB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,qBAAqB,GACrB,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,UAAU,EACZ,MAAM,CACP,CAAA;QACD,OAAO,EAAE,MAAM,CACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,OAAO,GACP,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,GACV,YAAY,GACZ,UAAU,GACV,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,WAAW,GACX,aAAa,GACb,WAAW,GACX,aAAa,GACb,aAAa,GACb,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,WAAW,GACX,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,GACR,UAAU,GACV,WAAW,EACb,MAAM,CACP,CAAA;QACD,SAAS,EAAE;YACT,WAAW,EAAE,MAAM,CAAA;YACnB,SAAS,EAAE,MAAM,CAAA;YACjB,UAAU,EAAE,MAAM,CAAA;YAClB,WAAW,EAAE,MAAM,CAAA;YACnB,QAAQ,EAAE,MAAM,CAAA;YAChB,UAAU,EAAE,MAAM,CAAA;SACnB,CAAA;QACD,WAAW,EAAE,MAAM,CACf,OAAO,GACP,eAAe,GACf,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,EAChB,MAAM,CACP,CAAA;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,MAAM,CAAA;YACxB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,WAAW,EAAE,MAAM,CAAA;YACnB,cAAc,EAAE,MAAM,CAAA;YACtB,YAAY,EAAE,MAAM,CAAA;YACpB,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,SAAS,EAAE;YACT,GAAG,EAAE,MAAM,CAAA;YACX,GAAG,EAAE,MAAM,CAAA;YACX,EAAE,EAAE,MAAM,CAAA;YACV,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;YACb,SAAS,EAAE,MAAM,CAAA;YACjB,WAAW,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,IAAI,EAAE,MAAM,CAAA;YACZ,aAAa,EAAE,MAAM,CAAA;YACrB,YAAY,EAAE,MAAM,CAAA;YACpB,aAAa,EAAE,MAAM,CAAA;YACrB,WAAW,EAAE,MAAM,CAAA;YACnB,UAAU,EAAE,MAAM,CAAA;YAClB,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,EAAE,MAAM,CAAA;YACnB,aAAa,EAAE,MAAM,CAAA;YACrB,UAAU,EAAE,MAAM,CAAA;YAClB,YAAY,EAAE,MAAM,CAAA;YACpB,UAAU,EAAE,MAAM,CAAA;YAClB,MAAM,EAAE,MAAM,CAAA;YACd,cAAc,EAAE,MAAM,CAAA;SACvB,CAAA;QACD,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,EAAE;YACN,kBAAkB,EAAE,MAAM,CAAA;YAC1B,WAAW,EAAE,MAAM,CAAA;YACnB,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,MAAM,CAAA;YACd,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,IAAI,EAAE,MAAM,CAAA;YACZ,UAAU,EAAE,MAAM,CAAA;YAClB,UAAU,EAAE,MAAM,CAAA;YAClB,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,GAAG,EAAE,MAAM,CAAA;YACX,SAAS,EAAE,MAAM,CAAA;YACjB,gBAAgB,EAAE,MAAM,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;YACZ,QAAQ,EAAE,MAAM,CAAA;YAChB,oBAAoB,EAAE,MAAM,CAAA;YAC5B,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;YAChB,YAAY,EAAE,MAAM,CAAA;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM,CAAA;gBACZ,QAAQ,EAAE,MAAM,CAAA;gBAChB,cAAc,EAAE,MAAM,CAAA;gBACtB,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAA;aACjB,CAAA;YACD,eAAe,EAAE;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,UAAU,EAAE,MAAM,CAAA;aACnB,CAAA;YACD,oBAAoB,EAAE,MAAM,CAAA;YAC5B,MAAM,EAAE,MAAM,CAAA;YACd,WAAW,EAAE;gBACX,UAAU,EAAE,MAAM,CAAA;aACnB,CAAA;YACD,cAAc,EAAE,MAAM,CAAA;YACtB,oBAAoB,EAAE,MAAM,CAAA;YAC5B,kBAAkB,EAAE,MAAM,CAAA;YAC1B,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;gBACd,YAAY,EAAE,MAAM,CAAA;gBACpB,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,MAAM,EAAE,MAAM,CAAA;gBACd,SAAS,EAAE,MAAM,CAAA;gBACjB,IAAI,EAAE,MAAM,CAAA;gBACZ,WAAW,EAAE,MAAM,CAAA;gBACnB,cAAc,EAAE,MAAM,CAAA;gBACtB,SAAS,EAAE,MAAM,CAAA;gBACjB,QAAQ,EAAE,MAAM,CAAA;gBAChB,SAAS,EAAE,MAAM,CAAA;gBACjB,eAAe,EAAE,MAAM,CAAA;gBACvB,YAAY,EAAE,MAAM,CAAA;gBACpB,SAAS,EAAE,MAAM,CAAA;gBACjB,iBAAiB,EAAE,MAAM,CAAA;gBACzB,cAAc,EAAE,MAAM,CAAA;aACvB,CAAA;SACF,CAAA;QACD,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,GAAG,EAAE,MAAM,CAAA;YACX,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAA;YACrB,YAAY,EAAE,MAAM,CAAA;YACpB,WAAW,EAAE,MAAM,CAAA;YACnB,cAAc,EAAE,MAAM,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;YACd,OAAO,EAAE,MAAM,CAAA;YACf,cAAc,EAAE,MAAM,CAAA;SACvB,CAAA;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,YAAY,EAAE,MAAM,CAAA;YACpB,WAAW,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,MAAM,CAAA;YACb,GAAG,EAAE,MAAM,CAAA;YACX,EAAE,EAAE,MAAM,CAAA;SACX,CAAA;QACD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,EAAE,MAAM,CAAA;YACnB,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;YACb,oBAAoB,EAAE,MAAM,CAAA;YAC5B,mBAAmB,EAAE,MAAM,CAAA;YAC3B,gBAAgB,EAAE,MAAM,CAAA;YACxB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;QACD,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,EAAE,MAAM,CAAA;YACnB,cAAc,EAAE,MAAM,CAAA;YACtB,aAAa,EAAE,MAAM,CAAA;YACrB,UAAU,EAAE,MAAM,CAAA;YAClB,oBAAoB,EAAE,MAAM,CAAA;YAC5B,mBAAmB,EAAE,MAAM,CAAA;YAC3B,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;QACD,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,EAAE,MAAM,CAAA;YACnB,WAAW,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,EAAE,MAAM,CAAA;YACnB,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,cAAc,EAAE,MAAM,CAAA;SACvB,CAAA;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;QACD,UAAU,EAAE;YACV,eAAe,EAAE,MAAM,CAAA;YACvB,WAAW,EAAE,MAAM,CAAA;YACnB,mBAAmB,EAAE,MAAM,CAAA;YAC3B,oBAAoB,EAAE,MAAM,CAAA;YAC5B,oBAAoB,EAAE,MAAM,CAAA;SAC7B,CAAA;KACF,CAAA;IACD;;;;;OAKG;IACH,cAAc,EAAE;QACd,yDAAyD;QACzD,MAAM,EAAE;YACN,cAAc,EAAE,MAAM,CAAA;YACtB,UAAU,EAAE,MAAM,CAAA;YAClB,uBAAuB,EAAE,MAAM,CAAA;YAC/B,8BAA8B;YAC9B,YAAY,EAAE,MAAM,CAAA;YACpB,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,MAAM,CAAA;YACd,SAAS,EAAE,MAAM,CAAA;YACjB,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,EAAE,MAAM,CAAA;YACX,KAAK,EAAE,MAAM,CAAA;YACb,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,EAAE,MAAM,CAAA;YACf,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,YAAY,EAAE,MAAM,CAAA;YACpB,WAAW,EAAE,MAAM,CAAA;YACnB,IAAI,EAAE,MAAM,CAAA;YACZ,gBAAgB,EAAE,MAAM,CAAA;YACxB,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,8BAA8B;YAC9B,oBAAoB,EAAE,MAAM,CAAA;YAC5B,GAAG,EAAE,MAAM,CAAA;YACX,IAAI,EAAE,MAAM,CAAA;YACZ,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,8DAA8D;YAC9D,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAA;gBACV,EAAE,EAAE,MAAM,CAAA;gBACV,EAAE,EAAE,MAAM,CAAA;gBACV,EAAE,EAAE,MAAM,CAAA;gBACV,EAAE,EAAE,MAAM,CAAA;gBACV,QAAQ,EAAE,MAAM,CAAA;aACjB,CAAA;SACF,CAAA;QACD,iFAAiF;QACjF,MAAM,EAAE;YACN,WAAW,EAAE,MAAM,CAAA;YACnB,iBAAiB,EAAE,MAAM,CAAA;YACzB,WAAW,EAAE,MAAM,CAAA;YACnB,aAAa,EAAE,MAAM,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,UAAU,EAAE,MAAM,CAAA;YAClB,OAAO,EAAE,MAAM,CAAA;YACf,OAAO,EAAE,MAAM,CAAA;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,gBAAgB,EAAE,MAAM,CAAA;YACxB,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,MAAM,EAAE,MAAM,CAAA;YACd,kBAAkB,EAAE,MAAM,CAAA;YAC1B,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;YACb,uBAAuB,EAAE,MAAM,CAAA;YAC/B,iDAAiD;YACjD,YAAY,EAAE,MAAM,CAAA;YACpB,eAAe,EAAE,MAAM,CAAA;YACvB,aAAa,EAAE,MAAM,CAAA;YACrB,cAAc,EAAE,MAAM,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;YACV,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,cAAc,EAAE,MAAM,CAAA;YACtB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,UAAU,EAAE,MAAM,CAAA;YAClB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,iBAAiB,EAAE,MAAM,CAAA;YACzB,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;YAChB,UAAU,EAAE,MAAM,CAAA;YAClB,UAAU,EAAE,MAAM,CAAA;SACnB,CAAA;QACD,+DAA+D;QAC/D,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;CACF,CAAA"}
@@ -103,6 +103,7 @@ export declare const catalogUiMessageDefinitions: {
103
103
  noTabsConfigured: string;
104
104
  clearAll: string;
105
105
  noResults: string;
106
+ resolvedScope: string;
106
107
  yourFilters: string;
107
108
  resultSingular: string;
108
109
  resultPlural: string;
@@ -499,6 +500,7 @@ export declare const catalogUiMessageDefinitions: {
499
500
  noTabsConfigured: string;
500
501
  clearAll: string;
501
502
  noResults: string;
503
+ resolvedScope: string;
502
504
  yourFilters: string;
503
505
  resultSingular: string;
504
506
  resultPlural: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
package/dist/i18n/ro.d.ts CHANGED
@@ -99,6 +99,7 @@ export declare const catalogUiRo: {
99
99
  noTabsConfigured: string;
100
100
  clearAll: string;
101
101
  noResults: string;
102
+ resolvedScope: string;
102
103
  yourFilters: string;
103
104
  resultSingular: string;
104
105
  resultPlural: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgZK,CAAA"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiZK,CAAA"}
package/dist/i18n/ro.js CHANGED
@@ -99,6 +99,7 @@ export const catalogUiRo = {
99
99
  noTabsConfigured: "Nu sunt configurate taburi de catalog.",
100
100
  clearAll: "Sterge tot",
101
101
  noResults: "Niciun rezultat pentru {query} in {tab}.",
102
+ resolvedScope: "Domeniu rezolvat: {locale} / {market}",
102
103
  yourFilters: "filtrele tale",
103
104
  resultSingular: "rezultat",
104
105
  resultPlural: "rezultate",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyant-travel/catalog-react",
3
- "version": "0.126.0",
3
+ "version": "0.127.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -77,9 +77,9 @@
77
77
  "sonner": "^2.0.0",
78
78
  "zod": "^4.0.0",
79
79
  "@voyant-travel/admin": "^0.114.0",
80
- "@voyant-travel/commerce-react": "^0.10.0",
81
- "@voyant-travel/inventory-react": "^0.10.0",
82
- "@voyant-travel/distribution-react": "^0.118.0",
80
+ "@voyant-travel/commerce-react": "^0.11.0",
81
+ "@voyant-travel/inventory-react": "^0.11.0",
82
+ "@voyant-travel/distribution-react": "^0.119.0",
83
83
  "@voyant-travel/ui": "^0.108.0"
84
84
  },
85
85
  "peerDependenciesMeta": {
@@ -124,10 +124,10 @@
124
124
  "zod": "^4.3.6",
125
125
  "@voyant-travel/admin": "^0.114.0",
126
126
  "@voyant-travel/i18n": "^0.107.1",
127
- "@voyant-travel/commerce-react": "^0.10.0",
128
- "@voyant-travel/inventory-react": "^0.10.0",
127
+ "@voyant-travel/commerce-react": "^0.11.0",
128
+ "@voyant-travel/inventory-react": "^0.11.0",
129
129
  "@voyant-travel/react": "^0.104.1",
130
- "@voyant-travel/distribution-react": "^0.118.0",
130
+ "@voyant-travel/distribution-react": "^0.119.0",
131
131
  "@voyant-travel/ui": "^0.108.0",
132
132
  "@voyant-travel/voyant-typescript-config": "^0.1.0"
133
133
  },