@behio/storefront-sdk 0.24.0 → 0.25.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.
@@ -539,6 +539,17 @@ var CatalogModule = class {
539
539
  }
540
540
  return this.client.request("GET", `/catalog/categories/${slug}/products`, { query: q });
541
541
  }
542
+ /**
543
+ * Resolved navigation menu by handle (e.g. "main", "footer"), built in the
544
+ * admin Navigace. Item labels resolve in `locale`; typed refs come back as
545
+ * {type, slug} for link building. Returns an SdkResult error (404) when the
546
+ * handle is unknown or inactive — callers fall back to their own source.
547
+ */
548
+ async getMenu(handle, options) {
549
+ return this.client.request("GET", `/catalog/menu/${encodeURIComponent(handle)}`, {
550
+ query: { locale: _optionalChain([options, 'optionalAccess', _22 => _22.locale]) }
551
+ });
552
+ }
542
553
  /** Get all labels */
543
554
  async getLabels(locale) {
544
555
  const res = await this.client.request("GET", "/catalog/labels", { query: { locale } });
@@ -548,7 +559,7 @@ var CatalogModule = class {
548
559
  /** Get featured products */
549
560
  async getFeatured(options) {
550
561
  return this.client.request("GET", "/catalog/featured", {
551
- query: { locale: _optionalChain([options, 'optionalAccess', _22 => _22.locale]), currency: _optionalChain([options, 'optionalAccess', _23 => _23.currency]) }
562
+ query: { locale: _optionalChain([options, 'optionalAccess', _23 => _23.locale]), currency: _optionalChain([options, 'optionalAccess', _24 => _24.currency]) }
552
563
  });
553
564
  }
554
565
  /** Get available filter fields for dynamic filter UI */
@@ -593,7 +604,7 @@ var CatalogModule = class {
593
604
  /** List configured payment methods (filtered by currency). */
594
605
  async listPaymentMethods(opts) {
595
606
  const query = {};
596
- if (_optionalChain([opts, 'optionalAccess', _24 => _24.currency])) query.currency = opts.currency;
607
+ if (_optionalChain([opts, 'optionalAccess', _25 => _25.currency])) query.currency = opts.currency;
597
608
  return this.client.request("GET", "/catalog/payment-methods", { query });
598
609
  }
599
610
  };
@@ -839,7 +850,7 @@ var OrdersModule = class {
839
850
  /** List customer orders (requires auth) */
840
851
  async list(options) {
841
852
  return this.client.request("GET", "/orders", {
842
- query: { page: _optionalChain([options, 'optionalAccess', _25 => _25.page]), limit: _optionalChain([options, 'optionalAccess', _26 => _26.limit]) }
853
+ query: { page: _optionalChain([options, 'optionalAccess', _26 => _26.page]), limit: _optionalChain([options, 'optionalAccess', _27 => _27.limit]) }
843
854
  });
844
855
  }
845
856
  /** Get order detail (requires auth) */
@@ -1062,10 +1073,10 @@ var ShippingModule = class {
1062
1073
  */
1063
1074
  async listMethods(opts) {
1064
1075
  const query = {};
1065
- if (_optionalChain([opts, 'optionalAccess', _27 => _27.currency])) query.currency = opts.currency;
1066
- if (_optionalChain([opts, 'optionalAccess', _28 => _28.country])) query.country = opts.country;
1067
- if (_optionalChain([opts, 'optionalAccess', _29 => _29.cartTotal]) != null) query.cartTotal = String(opts.cartTotal);
1068
- if (_optionalChain([opts, 'optionalAccess', _30 => _30.cartWeightKg]) != null) query.cartWeightKg = String(opts.cartWeightKg);
1076
+ if (_optionalChain([opts, 'optionalAccess', _28 => _28.currency])) query.currency = opts.currency;
1077
+ if (_optionalChain([opts, 'optionalAccess', _29 => _29.country])) query.country = opts.country;
1078
+ if (_optionalChain([opts, 'optionalAccess', _30 => _30.cartTotal]) != null) query.cartTotal = String(opts.cartTotal);
1079
+ if (_optionalChain([opts, 'optionalAccess', _31 => _31.cartWeightKg]) != null) query.cartWeightKg = String(opts.cartWeightKg);
1069
1080
  return this.client.request(
1070
1081
  "GET",
1071
1082
  "/catalog/shipping-methods",
@@ -539,6 +539,17 @@ var CatalogModule = class {
539
539
  }
540
540
  return this.client.request("GET", `/catalog/categories/${slug}/products`, { query: q });
541
541
  }
542
+ /**
543
+ * Resolved navigation menu by handle (e.g. "main", "footer"), built in the
544
+ * admin Navigace. Item labels resolve in `locale`; typed refs come back as
545
+ * {type, slug} for link building. Returns an SdkResult error (404) when the
546
+ * handle is unknown or inactive — callers fall back to their own source.
547
+ */
548
+ async getMenu(handle, options) {
549
+ return this.client.request("GET", `/catalog/menu/${encodeURIComponent(handle)}`, {
550
+ query: { locale: options?.locale }
551
+ });
552
+ }
542
553
  /** Get all labels */
543
554
  async getLabels(locale) {
544
555
  const res = await this.client.request("GET", "/catalog/labels", { query: { locale } });
@@ -173,7 +173,12 @@ interface ProductListItem {
173
173
  price: ProductPrice | null;
174
174
  inStock: boolean;
175
175
  stockQuantity?: number;
176
- image?: string | null;
176
+ /** Cover image of the listing. The API returns an object (url + alt + order), never a bare string. */
177
+ image?: {
178
+ url: string;
179
+ alt: string | null;
180
+ order: number;
181
+ } | null;
177
182
  labels: ProductLabel[];
178
183
  isFeatured: boolean;
179
184
  }
@@ -246,6 +251,42 @@ interface Category {
246
251
  children: Category[];
247
252
  productCount?: number;
248
253
  }
254
+ /**
255
+ * Navigation menu built in the admin (Navigace). Matches the backend
256
+ * `GET /storefront/v1/catalog/menu/{handle}` response exactly. Item labels are
257
+ * resolved in the requested locale; typed refs resolve to {type, slug} at read
258
+ * time so category/page/product renames flow through automatically.
259
+ */
260
+ type MenuItemType = "CATEGORY" | "PAGE" | "LINK" | "COLLECTION" | "PRODUCT";
261
+ /** Resolved target of a typed menu item. Null on LINK items (use `url`). */
262
+ interface MenuItemRef {
263
+ type: MenuItemType;
264
+ slug: string;
265
+ }
266
+ interface MenuItem {
267
+ id: string;
268
+ type: MenuItemType;
269
+ /** Resolved label in the requested locale. */
270
+ label: string;
271
+ description?: string | null;
272
+ /** LINK items only: the raw URL to navigate to. Null on typed items. */
273
+ url?: string | null;
274
+ /** Typed items (CATEGORY/PAGE/COLLECTION/PRODUCT): resolved {type, slug}. Null on LINK. */
275
+ ref?: MenuItemRef | null;
276
+ /** Optional badge chip text (e.g. "Novinka", "Sleva"). */
277
+ badgeText?: string | null;
278
+ /** Processed image URL for mega-menu tiles (null when no image set). */
279
+ imageUrl?: string | null;
280
+ /** Nested items, up to depth 3. */
281
+ children: MenuItem[];
282
+ }
283
+ interface Menu {
284
+ handle: string;
285
+ name: string;
286
+ /** Locale the labels are resolved in. */
287
+ locale: string;
288
+ items: MenuItem[];
289
+ }
249
290
  interface CategoryDetail extends Category {
250
291
  /**
251
292
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
@@ -1184,6 +1225,15 @@ declare class CatalogModule {
1184
1225
  getCategory(slug: string, locale?: string): Promise<SdkResult<CategoryDetail>>;
1185
1226
  /** Get products in a category */
1186
1227
  getCategoryProducts(slug: string, query?: ProductsQuery): Promise<SdkResult<PaginatedResponse<ProductListItem>>>;
1228
+ /**
1229
+ * Resolved navigation menu by handle (e.g. "main", "footer"), built in the
1230
+ * admin Navigace. Item labels resolve in `locale`; typed refs come back as
1231
+ * {type, slug} for link building. Returns an SdkResult error (404) when the
1232
+ * handle is unknown or inactive — callers fall back to their own source.
1233
+ */
1234
+ getMenu(handle: string, options?: {
1235
+ locale?: string;
1236
+ }): Promise<SdkResult<Menu>>;
1187
1237
  /** Get all labels */
1188
1238
  getLabels(locale?: string): Promise<SdkResult<{
1189
1239
  labels: ProductLabel[];
@@ -1507,4 +1557,4 @@ declare class ShippingModule {
1507
1557
  }>>;
1508
1558
  }
1509
1559
 
1510
- export { type OrderStatus as $, type AddressSuggestion as A, type BehioStorefrontConfig as B, type Category as C, type SubmitReturnInput as D, type CookieConsent as E, type FilterField as F, type GiftCardBalance as G, type CookieConsentInput as H, type SubmitQuoteInput as I, type BackInStockSubscription as J, type AddToCartInput as K, type AuthTokens as L, BehioApiError as M, type BundleItem as N, type OrderListItem as O, type ProductsQuery as P, type QuoteRequest as Q, type RegisterInput as R, type ShopInfo as S, type CartDiscount as T, type CartItem as U, type CheckoutAddress as V, type WishlistItem as W, type FulfillmentStatus as X, type LoginInput as Y, type MessageResponse as Z, type OrderItem as _, BehioStorefront as a, type PaymentStatus as a0, type ProductPrice as a1, type ProductReview as a2, type ProductVariant as a3, type AddressType as a4, AddressTypes as a5, type BehioErrorCode as a6, type BehioEventHandler as a7, type BehioEventType as a8, BehioNetworkError as a9, type SdkError as aA, type SdkResult as aB, type ShippingMethodSummary as aC, type ShippingQuote as aD, type ShippingQuoteInput as aE, type ShopScript as aF, type ShopScriptPlacement as aG, type ShopScriptType as aH, err as aI, ok as aJ, toSdkError as aK, type CartBundleLine as aa, type CartBundleLineItem as ab, type CartItemProduct as ac, type CheckoutPaymentMethod as ad, type DataGroupFieldType as ae, FulfillmentStatuses as af, type GiftCardSummary as ag, type OrderStatusHistory as ah, OrderStatuses as ai, type OrderTracking as aj, type PageAttachment as ak, PaymentStatuses as al, type ProductMedia as am, type ProductMediaVariant as an, ProductSort as ao, type ProductSortValue as ap, type ProductVolumePrice as aq, type QuoteItem as ar, type RegisterResult as as, type RequestInterceptor as at, type RequestInterceptorConfig as au, type ResponseInterceptor as av, type ResponseInterceptorData as aw, type ReturnRequestItem as ax, type ReturnStatusItem as ay, type ReturnableOrderItem as az, type PaginatedResponse as b, type ProductListItem as c, type ProductDetail as d, type CategoryDetail as e, type ProductLabel as f, type Cart as g, type CustomerProfile as h, type CustomerAddress as i, type AddressDetail as j, type OrderDetail as k, type OrderAccessRequestResponse as l, type OrderAccessVerifyResponse as m, type CheckoutInput as n, type PageDetail as o, type Page as p, type ShopScripts as q, type ShopSeo as r, type Bundle as s, type CrossSellItem as t, type ActivePromotion as u, type ProductReviewsResponse as v, type SubmitReviewInput as w, type ReturnableOrder as x, type ReturnStatus as y, type ReturnRequest as z };
1560
+ export { type OrderItem as $, type AddressSuggestion as A, type BehioStorefrontConfig as B, type Category as C, type SubmitReturnInput as D, type CookieConsent as E, type FilterField as F, type GiftCardBalance as G, type CookieConsentInput as H, type SubmitQuoteInput as I, type BackInStockSubscription as J, type AddToCartInput as K, type AuthTokens as L, type Menu as M, BehioApiError as N, type OrderListItem as O, type ProductsQuery as P, type QuoteRequest as Q, type RegisterInput as R, type ShopInfo as S, type BundleItem as T, type CartDiscount as U, type CartItem as V, type WishlistItem as W, type CheckoutAddress as X, type FulfillmentStatus as Y, type LoginInput as Z, type MessageResponse as _, BehioStorefront as a, type OrderStatus as a0, type PaymentStatus as a1, type ProductPrice as a2, type ProductReview as a3, type ProductVariant as a4, type AddressType as a5, AddressTypes as a6, type BehioErrorCode as a7, type BehioEventHandler as a8, type BehioEventType as a9, type ResponseInterceptorData as aA, type ReturnRequestItem as aB, type ReturnStatusItem as aC, type ReturnableOrderItem as aD, type SdkError as aE, type SdkResult as aF, type ShippingMethodSummary as aG, type ShippingQuote as aH, type ShippingQuoteInput as aI, type ShopScript as aJ, type ShopScriptPlacement as aK, type ShopScriptType as aL, err as aM, ok as aN, toSdkError as aO, BehioNetworkError as aa, type CartBundleLine as ab, type CartBundleLineItem as ac, type CartItemProduct as ad, type CheckoutPaymentMethod as ae, type DataGroupFieldType as af, FulfillmentStatuses as ag, type GiftCardSummary as ah, type MenuItem as ai, type MenuItemRef as aj, type MenuItemType as ak, type OrderStatusHistory as al, OrderStatuses as am, type OrderTracking as an, type PageAttachment as ao, PaymentStatuses as ap, type ProductMedia as aq, type ProductMediaVariant as ar, ProductSort as as, type ProductSortValue as at, type ProductVolumePrice as au, type QuoteItem as av, type RegisterResult as aw, type RequestInterceptor as ax, type RequestInterceptorConfig as ay, type ResponseInterceptor as az, type PaginatedResponse as b, type ProductListItem as c, type ProductDetail as d, type CategoryDetail as e, type ProductLabel as f, type Cart as g, type CustomerProfile as h, type CustomerAddress as i, type AddressDetail as j, type OrderDetail as k, type OrderAccessRequestResponse as l, type OrderAccessVerifyResponse as m, type CheckoutInput as n, type PageDetail as o, type Page as p, type ShopScripts as q, type ShopSeo as r, type Bundle as s, type CrossSellItem as t, type ActivePromotion as u, type ProductReviewsResponse as v, type SubmitReviewInput as w, type ReturnableOrder as x, type ReturnStatus as y, type ReturnRequest as z };
@@ -173,7 +173,12 @@ interface ProductListItem {
173
173
  price: ProductPrice | null;
174
174
  inStock: boolean;
175
175
  stockQuantity?: number;
176
- image?: string | null;
176
+ /** Cover image of the listing. The API returns an object (url + alt + order), never a bare string. */
177
+ image?: {
178
+ url: string;
179
+ alt: string | null;
180
+ order: number;
181
+ } | null;
177
182
  labels: ProductLabel[];
178
183
  isFeatured: boolean;
179
184
  }
@@ -246,6 +251,42 @@ interface Category {
246
251
  children: Category[];
247
252
  productCount?: number;
248
253
  }
254
+ /**
255
+ * Navigation menu built in the admin (Navigace). Matches the backend
256
+ * `GET /storefront/v1/catalog/menu/{handle}` response exactly. Item labels are
257
+ * resolved in the requested locale; typed refs resolve to {type, slug} at read
258
+ * time so category/page/product renames flow through automatically.
259
+ */
260
+ type MenuItemType = "CATEGORY" | "PAGE" | "LINK" | "COLLECTION" | "PRODUCT";
261
+ /** Resolved target of a typed menu item. Null on LINK items (use `url`). */
262
+ interface MenuItemRef {
263
+ type: MenuItemType;
264
+ slug: string;
265
+ }
266
+ interface MenuItem {
267
+ id: string;
268
+ type: MenuItemType;
269
+ /** Resolved label in the requested locale. */
270
+ label: string;
271
+ description?: string | null;
272
+ /** LINK items only: the raw URL to navigate to. Null on typed items. */
273
+ url?: string | null;
274
+ /** Typed items (CATEGORY/PAGE/COLLECTION/PRODUCT): resolved {type, slug}. Null on LINK. */
275
+ ref?: MenuItemRef | null;
276
+ /** Optional badge chip text (e.g. "Novinka", "Sleva"). */
277
+ badgeText?: string | null;
278
+ /** Processed image URL for mega-menu tiles (null when no image set). */
279
+ imageUrl?: string | null;
280
+ /** Nested items, up to depth 3. */
281
+ children: MenuItem[];
282
+ }
283
+ interface Menu {
284
+ handle: string;
285
+ name: string;
286
+ /** Locale the labels are resolved in. */
287
+ locale: string;
288
+ items: MenuItem[];
289
+ }
249
290
  interface CategoryDetail extends Category {
250
291
  /**
251
292
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
@@ -1184,6 +1225,15 @@ declare class CatalogModule {
1184
1225
  getCategory(slug: string, locale?: string): Promise<SdkResult<CategoryDetail>>;
1185
1226
  /** Get products in a category */
1186
1227
  getCategoryProducts(slug: string, query?: ProductsQuery): Promise<SdkResult<PaginatedResponse<ProductListItem>>>;
1228
+ /**
1229
+ * Resolved navigation menu by handle (e.g. "main", "footer"), built in the
1230
+ * admin Navigace. Item labels resolve in `locale`; typed refs come back as
1231
+ * {type, slug} for link building. Returns an SdkResult error (404) when the
1232
+ * handle is unknown or inactive — callers fall back to their own source.
1233
+ */
1234
+ getMenu(handle: string, options?: {
1235
+ locale?: string;
1236
+ }): Promise<SdkResult<Menu>>;
1187
1237
  /** Get all labels */
1188
1238
  getLabels(locale?: string): Promise<SdkResult<{
1189
1239
  labels: ProductLabel[];
@@ -1507,4 +1557,4 @@ declare class ShippingModule {
1507
1557
  }>>;
1508
1558
  }
1509
1559
 
1510
- export { type OrderStatus as $, type AddressSuggestion as A, type BehioStorefrontConfig as B, type Category as C, type SubmitReturnInput as D, type CookieConsent as E, type FilterField as F, type GiftCardBalance as G, type CookieConsentInput as H, type SubmitQuoteInput as I, type BackInStockSubscription as J, type AddToCartInput as K, type AuthTokens as L, BehioApiError as M, type BundleItem as N, type OrderListItem as O, type ProductsQuery as P, type QuoteRequest as Q, type RegisterInput as R, type ShopInfo as S, type CartDiscount as T, type CartItem as U, type CheckoutAddress as V, type WishlistItem as W, type FulfillmentStatus as X, type LoginInput as Y, type MessageResponse as Z, type OrderItem as _, BehioStorefront as a, type PaymentStatus as a0, type ProductPrice as a1, type ProductReview as a2, type ProductVariant as a3, type AddressType as a4, AddressTypes as a5, type BehioErrorCode as a6, type BehioEventHandler as a7, type BehioEventType as a8, BehioNetworkError as a9, type SdkError as aA, type SdkResult as aB, type ShippingMethodSummary as aC, type ShippingQuote as aD, type ShippingQuoteInput as aE, type ShopScript as aF, type ShopScriptPlacement as aG, type ShopScriptType as aH, err as aI, ok as aJ, toSdkError as aK, type CartBundleLine as aa, type CartBundleLineItem as ab, type CartItemProduct as ac, type CheckoutPaymentMethod as ad, type DataGroupFieldType as ae, FulfillmentStatuses as af, type GiftCardSummary as ag, type OrderStatusHistory as ah, OrderStatuses as ai, type OrderTracking as aj, type PageAttachment as ak, PaymentStatuses as al, type ProductMedia as am, type ProductMediaVariant as an, ProductSort as ao, type ProductSortValue as ap, type ProductVolumePrice as aq, type QuoteItem as ar, type RegisterResult as as, type RequestInterceptor as at, type RequestInterceptorConfig as au, type ResponseInterceptor as av, type ResponseInterceptorData as aw, type ReturnRequestItem as ax, type ReturnStatusItem as ay, type ReturnableOrderItem as az, type PaginatedResponse as b, type ProductListItem as c, type ProductDetail as d, type CategoryDetail as e, type ProductLabel as f, type Cart as g, type CustomerProfile as h, type CustomerAddress as i, type AddressDetail as j, type OrderDetail as k, type OrderAccessRequestResponse as l, type OrderAccessVerifyResponse as m, type CheckoutInput as n, type PageDetail as o, type Page as p, type ShopScripts as q, type ShopSeo as r, type Bundle as s, type CrossSellItem as t, type ActivePromotion as u, type ProductReviewsResponse as v, type SubmitReviewInput as w, type ReturnableOrder as x, type ReturnStatus as y, type ReturnRequest as z };
1560
+ export { type OrderItem as $, type AddressSuggestion as A, type BehioStorefrontConfig as B, type Category as C, type SubmitReturnInput as D, type CookieConsent as E, type FilterField as F, type GiftCardBalance as G, type CookieConsentInput as H, type SubmitQuoteInput as I, type BackInStockSubscription as J, type AddToCartInput as K, type AuthTokens as L, type Menu as M, BehioApiError as N, type OrderListItem as O, type ProductsQuery as P, type QuoteRequest as Q, type RegisterInput as R, type ShopInfo as S, type BundleItem as T, type CartDiscount as U, type CartItem as V, type WishlistItem as W, type CheckoutAddress as X, type FulfillmentStatus as Y, type LoginInput as Z, type MessageResponse as _, BehioStorefront as a, type OrderStatus as a0, type PaymentStatus as a1, type ProductPrice as a2, type ProductReview as a3, type ProductVariant as a4, type AddressType as a5, AddressTypes as a6, type BehioErrorCode as a7, type BehioEventHandler as a8, type BehioEventType as a9, type ResponseInterceptorData as aA, type ReturnRequestItem as aB, type ReturnStatusItem as aC, type ReturnableOrderItem as aD, type SdkError as aE, type SdkResult as aF, type ShippingMethodSummary as aG, type ShippingQuote as aH, type ShippingQuoteInput as aI, type ShopScript as aJ, type ShopScriptPlacement as aK, type ShopScriptType as aL, err as aM, ok as aN, toSdkError as aO, BehioNetworkError as aa, type CartBundleLine as ab, type CartBundleLineItem as ac, type CartItemProduct as ad, type CheckoutPaymentMethod as ae, type DataGroupFieldType as af, FulfillmentStatuses as ag, type GiftCardSummary as ah, type MenuItem as ai, type MenuItemRef as aj, type MenuItemType as ak, type OrderStatusHistory as al, OrderStatuses as am, type OrderTracking as an, type PageAttachment as ao, PaymentStatuses as ap, type ProductMedia as aq, type ProductMediaVariant as ar, ProductSort as as, type ProductSortValue as at, type ProductVolumePrice as au, type QuoteItem as av, type RegisterResult as aw, type RequestInterceptor as ax, type RequestInterceptorConfig as ay, type ResponseInterceptor as az, type PaginatedResponse as b, type ProductListItem as c, type ProductDetail as d, type CategoryDetail as e, type ProductLabel as f, type Cart as g, type CustomerProfile as h, type CustomerAddress as i, type AddressDetail as j, type OrderDetail as k, type OrderAccessRequestResponse as l, type OrderAccessVerifyResponse as m, type CheckoutInput as n, type PageDetail as o, type Page as p, type ShopScripts as q, type ShopSeo as r, type Bundle as s, type CrossSellItem as t, type ActivePromotion as u, type ProductReviewsResponse as v, type SubmitReviewInput as w, type ReturnableOrder as x, type ReturnStatus as y, type ReturnRequest as z };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- export { u as ActivePromotion, K as AddToCartInput, j as AddressDetail, A as AddressSuggestion, a4 as AddressType, a5 as AddressTypes, L as AuthTokens, J as BackInStockSubscription, M as BehioApiError, a6 as BehioErrorCode, a7 as BehioEventHandler, a8 as BehioEventType, a9 as BehioNetworkError, a as BehioStorefront, B as BehioStorefrontConfig, s as Bundle, N as BundleItem, g as Cart, aa as CartBundleLine, ab as CartBundleLineItem, T as CartDiscount, U as CartItem, ac as CartItemProduct, C as Category, e as CategoryDetail, V as CheckoutAddress, n as CheckoutInput, ad as CheckoutPaymentMethod, E as CookieConsent, H as CookieConsentInput, t as CrossSellItem, i as CustomerAddress, h as CustomerProfile, ae as DataGroupFieldType, F as FilterField, X as FulfillmentStatus, af as FulfillmentStatuses, G as GiftCardBalance, ag as GiftCardSummary, Y as LoginInput, Z as MessageResponse, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, k as OrderDetail, _ as OrderItem, O as OrderListItem, $ as OrderStatus, ah as OrderStatusHistory, ai as OrderStatuses, aj as OrderTracking, p as Page, ak as PageAttachment, o as PageDetail, b as PaginatedResponse, a0 as PaymentStatus, al as PaymentStatuses, d as ProductDetail, f as ProductLabel, c as ProductListItem, am as ProductMedia, an as ProductMediaVariant, a1 as ProductPrice, a2 as ProductReview, v as ProductReviewsResponse, ao as ProductSort, ap as ProductSortValue, a3 as ProductVariant, aq as ProductVolumePrice, P as ProductsQuery, ar as QuoteItem, Q as QuoteRequest, R as RegisterInput, as as RegisterResult, at as RequestInterceptor, au as RequestInterceptorConfig, av as ResponseInterceptor, aw as ResponseInterceptorData, z as ReturnRequest, ax as ReturnRequestItem, y as ReturnStatus, ay as ReturnStatusItem, x as ReturnableOrder, az as ReturnableOrderItem, aA as SdkError, aB as SdkResult, aC as ShippingMethodSummary, aD as ShippingQuote, aE as ShippingQuoteInput, S as ShopInfo, aF as ShopScript, aG as ShopScriptPlacement, aH as ShopScriptType, q as ShopScripts, r as ShopSeo, I as SubmitQuoteInput, D as SubmitReturnInput, w as SubmitReviewInput, W as WishlistItem, aI as err, aJ as ok, aK as toSdkError } from './client-B2x8fUb3.mjs';
1
+ export { u as ActivePromotion, K as AddToCartInput, j as AddressDetail, A as AddressSuggestion, a5 as AddressType, a6 as AddressTypes, L as AuthTokens, J as BackInStockSubscription, N as BehioApiError, a7 as BehioErrorCode, a8 as BehioEventHandler, a9 as BehioEventType, aa as BehioNetworkError, a as BehioStorefront, B as BehioStorefrontConfig, s as Bundle, T as BundleItem, g as Cart, ab as CartBundleLine, ac as CartBundleLineItem, U as CartDiscount, V as CartItem, ad as CartItemProduct, C as Category, e as CategoryDetail, X as CheckoutAddress, n as CheckoutInput, ae as CheckoutPaymentMethod, E as CookieConsent, H as CookieConsentInput, t as CrossSellItem, i as CustomerAddress, h as CustomerProfile, af as DataGroupFieldType, F as FilterField, Y as FulfillmentStatus, ag as FulfillmentStatuses, G as GiftCardBalance, ah as GiftCardSummary, Z as LoginInput, M as Menu, ai as MenuItem, aj as MenuItemRef, ak as MenuItemType, _ as MessageResponse, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, k as OrderDetail, $ as OrderItem, O as OrderListItem, a0 as OrderStatus, al as OrderStatusHistory, am as OrderStatuses, an as OrderTracking, p as Page, ao as PageAttachment, o as PageDetail, b as PaginatedResponse, a1 as PaymentStatus, ap as PaymentStatuses, d as ProductDetail, f as ProductLabel, c as ProductListItem, aq as ProductMedia, ar as ProductMediaVariant, a2 as ProductPrice, a3 as ProductReview, v as ProductReviewsResponse, as as ProductSort, at as ProductSortValue, a4 as ProductVariant, au as ProductVolumePrice, P as ProductsQuery, av as QuoteItem, Q as QuoteRequest, R as RegisterInput, aw as RegisterResult, ax as RequestInterceptor, ay as RequestInterceptorConfig, az as ResponseInterceptor, aA as ResponseInterceptorData, z as ReturnRequest, aB as ReturnRequestItem, y as ReturnStatus, aC as ReturnStatusItem, x as ReturnableOrder, aD as ReturnableOrderItem, aE as SdkError, aF as SdkResult, aG as ShippingMethodSummary, aH as ShippingQuote, aI as ShippingQuoteInput, S as ShopInfo, aJ as ShopScript, aK as ShopScriptPlacement, aL as ShopScriptType, q as ShopScripts, r as ShopSeo, I as SubmitQuoteInput, D as SubmitReturnInput, w as SubmitReviewInput, W as WishlistItem, aM as err, aN as ok, aO as toSdkError } from './client-76vvJ0_n.mjs';
2
2
 
3
3
  /**
4
4
  * Format a price amount with currency using Intl.NumberFormat.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { u as ActivePromotion, K as AddToCartInput, j as AddressDetail, A as AddressSuggestion, a4 as AddressType, a5 as AddressTypes, L as AuthTokens, J as BackInStockSubscription, M as BehioApiError, a6 as BehioErrorCode, a7 as BehioEventHandler, a8 as BehioEventType, a9 as BehioNetworkError, a as BehioStorefront, B as BehioStorefrontConfig, s as Bundle, N as BundleItem, g as Cart, aa as CartBundleLine, ab as CartBundleLineItem, T as CartDiscount, U as CartItem, ac as CartItemProduct, C as Category, e as CategoryDetail, V as CheckoutAddress, n as CheckoutInput, ad as CheckoutPaymentMethod, E as CookieConsent, H as CookieConsentInput, t as CrossSellItem, i as CustomerAddress, h as CustomerProfile, ae as DataGroupFieldType, F as FilterField, X as FulfillmentStatus, af as FulfillmentStatuses, G as GiftCardBalance, ag as GiftCardSummary, Y as LoginInput, Z as MessageResponse, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, k as OrderDetail, _ as OrderItem, O as OrderListItem, $ as OrderStatus, ah as OrderStatusHistory, ai as OrderStatuses, aj as OrderTracking, p as Page, ak as PageAttachment, o as PageDetail, b as PaginatedResponse, a0 as PaymentStatus, al as PaymentStatuses, d as ProductDetail, f as ProductLabel, c as ProductListItem, am as ProductMedia, an as ProductMediaVariant, a1 as ProductPrice, a2 as ProductReview, v as ProductReviewsResponse, ao as ProductSort, ap as ProductSortValue, a3 as ProductVariant, aq as ProductVolumePrice, P as ProductsQuery, ar as QuoteItem, Q as QuoteRequest, R as RegisterInput, as as RegisterResult, at as RequestInterceptor, au as RequestInterceptorConfig, av as ResponseInterceptor, aw as ResponseInterceptorData, z as ReturnRequest, ax as ReturnRequestItem, y as ReturnStatus, ay as ReturnStatusItem, x as ReturnableOrder, az as ReturnableOrderItem, aA as SdkError, aB as SdkResult, aC as ShippingMethodSummary, aD as ShippingQuote, aE as ShippingQuoteInput, S as ShopInfo, aF as ShopScript, aG as ShopScriptPlacement, aH as ShopScriptType, q as ShopScripts, r as ShopSeo, I as SubmitQuoteInput, D as SubmitReturnInput, w as SubmitReviewInput, W as WishlistItem, aI as err, aJ as ok, aK as toSdkError } from './client-B2x8fUb3.js';
1
+ export { u as ActivePromotion, K as AddToCartInput, j as AddressDetail, A as AddressSuggestion, a5 as AddressType, a6 as AddressTypes, L as AuthTokens, J as BackInStockSubscription, N as BehioApiError, a7 as BehioErrorCode, a8 as BehioEventHandler, a9 as BehioEventType, aa as BehioNetworkError, a as BehioStorefront, B as BehioStorefrontConfig, s as Bundle, T as BundleItem, g as Cart, ab as CartBundleLine, ac as CartBundleLineItem, U as CartDiscount, V as CartItem, ad as CartItemProduct, C as Category, e as CategoryDetail, X as CheckoutAddress, n as CheckoutInput, ae as CheckoutPaymentMethod, E as CookieConsent, H as CookieConsentInput, t as CrossSellItem, i as CustomerAddress, h as CustomerProfile, af as DataGroupFieldType, F as FilterField, Y as FulfillmentStatus, ag as FulfillmentStatuses, G as GiftCardBalance, ah as GiftCardSummary, Z as LoginInput, M as Menu, ai as MenuItem, aj as MenuItemRef, ak as MenuItemType, _ as MessageResponse, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, k as OrderDetail, $ as OrderItem, O as OrderListItem, a0 as OrderStatus, al as OrderStatusHistory, am as OrderStatuses, an as OrderTracking, p as Page, ao as PageAttachment, o as PageDetail, b as PaginatedResponse, a1 as PaymentStatus, ap as PaymentStatuses, d as ProductDetail, f as ProductLabel, c as ProductListItem, aq as ProductMedia, ar as ProductMediaVariant, a2 as ProductPrice, a3 as ProductReview, v as ProductReviewsResponse, as as ProductSort, at as ProductSortValue, a4 as ProductVariant, au as ProductVolumePrice, P as ProductsQuery, av as QuoteItem, Q as QuoteRequest, R as RegisterInput, aw as RegisterResult, ax as RequestInterceptor, ay as RequestInterceptorConfig, az as ResponseInterceptor, aA as ResponseInterceptorData, z as ReturnRequest, aB as ReturnRequestItem, y as ReturnStatus, aC as ReturnStatusItem, x as ReturnableOrder, aD as ReturnableOrderItem, aE as SdkError, aF as SdkResult, aG as ShippingMethodSummary, aH as ShippingQuote, aI as ShippingQuoteInput, S as ShopInfo, aJ as ShopScript, aK as ShopScriptPlacement, aL as ShopScriptType, q as ShopScripts, r as ShopSeo, I as SubmitQuoteInput, D as SubmitReturnInput, w as SubmitReviewInput, W as WishlistItem, aM as err, aN as ok, aO as toSdkError } from './client-76vvJ0_n.js';
2
2
 
3
3
  /**
4
4
  * Format a price amount with currency using Intl.NumberFormat.
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var _chunkJIAOZ5YWjs = require('./chunk-JIAOZ5YW.js');
14
14
 
15
15
 
16
16
 
17
- var _chunkYS4RARKLjs = require('./chunk-YS4RARKL.js');
17
+ var _chunkMUSTZBNRjs = require('./chunk-MUSTZBNR.js');
18
18
 
19
19
 
20
20
 
@@ -29,4 +29,4 @@ var _chunkYS4RARKLjs = require('./chunk-YS4RARKL.js');
29
29
 
30
30
 
31
31
 
32
- exports.AddressTypes = _chunkYS4RARKLjs.AddressTypes; exports.BehioApiError = _chunkYS4RARKLjs.BehioApiError; exports.BehioNetworkError = _chunkYS4RARKLjs.BehioNetworkError; exports.BehioStorefront = _chunkYS4RARKLjs.BehioStorefront; exports.FulfillmentStatuses = _chunkYS4RARKLjs.FulfillmentStatuses; exports.OrderStatuses = _chunkYS4RARKLjs.OrderStatuses; exports.PaymentStatuses = _chunkYS4RARKLjs.PaymentStatuses; exports.ProductSort = _chunkYS4RARKLjs.ProductSort; exports.err = _chunkYS4RARKLjs.err; exports.formatPrice = _chunkJIAOZ5YWjs.formatPrice; exports.ok = _chunkYS4RARKLjs.ok; exports.toSdkError = _chunkYS4RARKLjs.toSdkError; exports.trackEcommerceEvent = _chunkJIAOZ5YWjs.trackEcommerceEvent;
32
+ exports.AddressTypes = _chunkMUSTZBNRjs.AddressTypes; exports.BehioApiError = _chunkMUSTZBNRjs.BehioApiError; exports.BehioNetworkError = _chunkMUSTZBNRjs.BehioNetworkError; exports.BehioStorefront = _chunkMUSTZBNRjs.BehioStorefront; exports.FulfillmentStatuses = _chunkMUSTZBNRjs.FulfillmentStatuses; exports.OrderStatuses = _chunkMUSTZBNRjs.OrderStatuses; exports.PaymentStatuses = _chunkMUSTZBNRjs.PaymentStatuses; exports.ProductSort = _chunkMUSTZBNRjs.ProductSort; exports.err = _chunkMUSTZBNRjs.err; exports.formatPrice = _chunkJIAOZ5YWjs.formatPrice; exports.ok = _chunkMUSTZBNRjs.ok; exports.toSdkError = _chunkMUSTZBNRjs.toSdkError; exports.trackEcommerceEvent = _chunkJIAOZ5YWjs.trackEcommerceEvent;
package/dist/index.mjs CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  err,
15
15
  ok,
16
16
  toSdkError
17
- } from "./chunk-OFUECU3W.mjs";
17
+ } from "./chunk-V5WU3XI4.mjs";
18
18
  export {
19
19
  AddressTypes,
20
20
  BehioApiError,
package/dist/next.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { B as BehioStorefrontConfig, a as BehioStorefront } from './client-B2x8fUb3.mjs';
1
+ import { B as BehioStorefrontConfig, a as BehioStorefront } from './client-76vvJ0_n.mjs';
2
2
 
3
3
  interface GetBehioOptions extends Partial<BehioStorefrontConfig> {
4
4
  /** Override the cart session cookie name (default: "behio_cart_session"). */
package/dist/next.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { B as BehioStorefrontConfig, a as BehioStorefront } from './client-B2x8fUb3.js';
1
+ import { B as BehioStorefrontConfig, a as BehioStorefront } from './client-76vvJ0_n.js';
2
2
 
3
3
  interface GetBehioOptions extends Partial<BehioStorefrontConfig> {
4
4
  /** Override the cart session cookie name (default: "behio_cart_session"). */
package/dist/next.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkYS4RARKLjs = require('./chunk-YS4RARKL.js');
3
+ var _chunkMUSTZBNRjs = require('./chunk-MUSTZBNR.js');
4
4
 
5
5
  // src/next.ts
6
6
  var _headers = require('next/headers');
@@ -18,7 +18,7 @@ async function getBehio(options = {}) {
18
18
  const locale = _nullishCoalesce(options.locale, () => ( process.env.BEHIO_LOCALE));
19
19
  const currency = _nullishCoalesce(options.currency, () => ( process.env.BEHIO_CURRENCY));
20
20
  const cookieName = _nullishCoalesce(options.cartCookieName, () => ( CART_COOKIE_NAME));
21
- const client = new (0, _chunkYS4RARKLjs.BehioStorefront)({
21
+ const client = new (0, _chunkMUSTZBNRjs.BehioStorefront)({
22
22
  apiKey,
23
23
  ...baseUrl ? { baseUrl } : {},
24
24
  ...locale ? { locale } : {},
package/dist/next.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BehioStorefront
3
- } from "./chunk-OFUECU3W.mjs";
3
+ } from "./chunk-V5WU3XI4.mjs";
4
4
 
5
5
  // src/next.ts
6
6
  import { cookies } from "next/headers";
package/dist/react.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { QueryClient } from '@tanstack/react-query';
4
- import { a as BehioStorefront, P as ProductsQuery, b as PaginatedResponse, c as ProductListItem, d as ProductDetail, C as Category, e as CategoryDetail, f as ProductLabel, F as FilterField, g as Cart, h as CustomerProfile, R as RegisterInput, i as CustomerAddress, A as AddressSuggestion, j as AddressDetail, O as OrderListItem, k as OrderDetail, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, n as CheckoutInput, o as PageDetail, p as Page, S as ShopInfo, q as ShopScripts, r as ShopSeo, s as Bundle, t as CrossSellItem, u as ActivePromotion, G as GiftCardBalance, W as WishlistItem, v as ProductReviewsResponse, w as SubmitReviewInput, x as ReturnableOrder, y as ReturnStatus, z as ReturnRequest, D as SubmitReturnInput, E as CookieConsent, H as CookieConsentInput, Q as QuoteRequest, I as SubmitQuoteInput, J as BackInStockSubscription } from './client-B2x8fUb3.mjs';
5
- export { K as AddToCartInput, L as AuthTokens, M as BehioApiError, N as BundleItem, T as CartDiscount, U as CartItem, V as CheckoutAddress, X as FulfillmentStatus, Y as LoginInput, Z as MessageResponse, _ as OrderItem, $ as OrderStatus, a0 as PaymentStatus, a1 as ProductPrice, a2 as ProductReview, a3 as ProductVariant } from './client-B2x8fUb3.mjs';
4
+ import { a as BehioStorefront, P as ProductsQuery, b as PaginatedResponse, c as ProductListItem, d as ProductDetail, C as Category, e as CategoryDetail, M as Menu, f as ProductLabel, F as FilterField, g as Cart, h as CustomerProfile, R as RegisterInput, i as CustomerAddress, A as AddressSuggestion, j as AddressDetail, O as OrderListItem, k as OrderDetail, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, n as CheckoutInput, o as PageDetail, p as Page, S as ShopInfo, q as ShopScripts, r as ShopSeo, s as Bundle, t as CrossSellItem, u as ActivePromotion, G as GiftCardBalance, W as WishlistItem, v as ProductReviewsResponse, w as SubmitReviewInput, x as ReturnableOrder, y as ReturnStatus, z as ReturnRequest, D as SubmitReturnInput, E as CookieConsent, H as CookieConsentInput, Q as QuoteRequest, I as SubmitQuoteInput, J as BackInStockSubscription } from './client-76vvJ0_n.mjs';
5
+ export { K as AddToCartInput, L as AuthTokens, N as BehioApiError, T as BundleItem, U as CartDiscount, V as CartItem, X as CheckoutAddress, Y as FulfillmentStatus, Z as LoginInput, _ as MessageResponse, $ as OrderItem, a0 as OrderStatus, a1 as PaymentStatus, a2 as ProductPrice, a3 as ProductReview, a4 as ProductVariant } from './client-76vvJ0_n.mjs';
6
6
  import * as _tanstack_query_core from '@tanstack/query-core';
7
7
  export { EcommerceEventName, EcommerceItem, EcommercePayload, formatPrice, trackEcommerceEvent } from './index.mjs';
8
8
 
@@ -149,6 +149,18 @@ interface UseCategoryOptions {
149
149
  }
150
150
  declare function useCategory(slug: string, options?: UseCategoryOptions): _tanstack_react_query.UseQueryResult<NoInfer<CategoryDetail>, Error>;
151
151
 
152
+ interface UseMenuOptions {
153
+ locale?: string;
154
+ enabled?: boolean;
155
+ }
156
+ /**
157
+ * Fetch a resolved navigation menu by handle (e.g. "main"). Server-side
158
+ * rendering via `client.catalog.getMenu` is the primary path for templates;
159
+ * this hook covers client-rendered navs. Throws (via unwrap) on 404 so callers
160
+ * can decide whether to fall back — pass `enabled: false` to defer.
161
+ */
162
+ declare function useMenu(handle: string, options?: UseMenuOptions): _tanstack_react_query.UseQueryResult<NoInfer<Menu>, Error>;
163
+
152
164
  interface UseLabelsOptions {
153
165
  enabled?: boolean;
154
166
  }
@@ -1049,4 +1061,4 @@ declare function useNotifyWhenAvailable(): _tanstack_react_query.UseMutationResu
1049
1061
  */
1050
1062
  declare function useBehioClient(): BehioStorefront;
1051
1063
 
1052
- export { ActivePromotion, BehioAnalyticsTracker, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, StorefrontScripts, type StorefrontScriptsProps, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCurrency, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopScripts, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };
1064
+ export { ActivePromotion, BehioAnalyticsTracker, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, StorefrontScripts, type StorefrontScriptsProps, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseMenuOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCurrency, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useMenu, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopScripts, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };
package/dist/react.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { QueryClient } from '@tanstack/react-query';
4
- import { a as BehioStorefront, P as ProductsQuery, b as PaginatedResponse, c as ProductListItem, d as ProductDetail, C as Category, e as CategoryDetail, f as ProductLabel, F as FilterField, g as Cart, h as CustomerProfile, R as RegisterInput, i as CustomerAddress, A as AddressSuggestion, j as AddressDetail, O as OrderListItem, k as OrderDetail, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, n as CheckoutInput, o as PageDetail, p as Page, S as ShopInfo, q as ShopScripts, r as ShopSeo, s as Bundle, t as CrossSellItem, u as ActivePromotion, G as GiftCardBalance, W as WishlistItem, v as ProductReviewsResponse, w as SubmitReviewInput, x as ReturnableOrder, y as ReturnStatus, z as ReturnRequest, D as SubmitReturnInput, E as CookieConsent, H as CookieConsentInput, Q as QuoteRequest, I as SubmitQuoteInput, J as BackInStockSubscription } from './client-B2x8fUb3.js';
5
- export { K as AddToCartInput, L as AuthTokens, M as BehioApiError, N as BundleItem, T as CartDiscount, U as CartItem, V as CheckoutAddress, X as FulfillmentStatus, Y as LoginInput, Z as MessageResponse, _ as OrderItem, $ as OrderStatus, a0 as PaymentStatus, a1 as ProductPrice, a2 as ProductReview, a3 as ProductVariant } from './client-B2x8fUb3.js';
4
+ import { a as BehioStorefront, P as ProductsQuery, b as PaginatedResponse, c as ProductListItem, d as ProductDetail, C as Category, e as CategoryDetail, M as Menu, f as ProductLabel, F as FilterField, g as Cart, h as CustomerProfile, R as RegisterInput, i as CustomerAddress, A as AddressSuggestion, j as AddressDetail, O as OrderListItem, k as OrderDetail, l as OrderAccessRequestResponse, m as OrderAccessVerifyResponse, n as CheckoutInput, o as PageDetail, p as Page, S as ShopInfo, q as ShopScripts, r as ShopSeo, s as Bundle, t as CrossSellItem, u as ActivePromotion, G as GiftCardBalance, W as WishlistItem, v as ProductReviewsResponse, w as SubmitReviewInput, x as ReturnableOrder, y as ReturnStatus, z as ReturnRequest, D as SubmitReturnInput, E as CookieConsent, H as CookieConsentInput, Q as QuoteRequest, I as SubmitQuoteInput, J as BackInStockSubscription } from './client-76vvJ0_n.js';
5
+ export { K as AddToCartInput, L as AuthTokens, N as BehioApiError, T as BundleItem, U as CartDiscount, V as CartItem, X as CheckoutAddress, Y as FulfillmentStatus, Z as LoginInput, _ as MessageResponse, $ as OrderItem, a0 as OrderStatus, a1 as PaymentStatus, a2 as ProductPrice, a3 as ProductReview, a4 as ProductVariant } from './client-76vvJ0_n.js';
6
6
  import * as _tanstack_query_core from '@tanstack/query-core';
7
7
  export { EcommerceEventName, EcommerceItem, EcommercePayload, formatPrice, trackEcommerceEvent } from './index.js';
8
8
 
@@ -149,6 +149,18 @@ interface UseCategoryOptions {
149
149
  }
150
150
  declare function useCategory(slug: string, options?: UseCategoryOptions): _tanstack_react_query.UseQueryResult<NoInfer<CategoryDetail>, Error>;
151
151
 
152
+ interface UseMenuOptions {
153
+ locale?: string;
154
+ enabled?: boolean;
155
+ }
156
+ /**
157
+ * Fetch a resolved navigation menu by handle (e.g. "main"). Server-side
158
+ * rendering via `client.catalog.getMenu` is the primary path for templates;
159
+ * this hook covers client-rendered navs. Throws (via unwrap) on 404 so callers
160
+ * can decide whether to fall back — pass `enabled: false` to defer.
161
+ */
162
+ declare function useMenu(handle: string, options?: UseMenuOptions): _tanstack_react_query.UseQueryResult<NoInfer<Menu>, Error>;
163
+
152
164
  interface UseLabelsOptions {
153
165
  enabled?: boolean;
154
166
  }
@@ -1049,4 +1061,4 @@ declare function useNotifyWhenAvailable(): _tanstack_react_query.UseMutationResu
1049
1061
  */
1050
1062
  declare function useBehioClient(): BehioStorefront;
1051
1063
 
1052
- export { ActivePromotion, BehioAnalyticsTracker, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, StorefrontScripts, type StorefrontScriptsProps, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCurrency, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopScripts, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };
1064
+ export { ActivePromotion, BehioAnalyticsTracker, BehioProvider, type BehioProviderProps, Bundle, Cart, Category, CategoryDetail, CheckoutInput, CookieConsent, CookieConsentInput, CrossSellItem, CurrencySwitcher, type CurrencySwitcherProps, type CurrencySwitcherRenderProps, CustomerAddress, CustomerProfile, FilterField, GiftCardBalance, OrderDetail, OrderListItem, Page, PageDetail, PaginatedResponse, ProductDetail, ProductLabel, ProductListItem, ProductReviewsResponse, ProductsQuery, QuoteRequest, RegisterInput, ReturnRequest, ShopInfo, ShopSeo, type StorageAdapter, StorefrontScripts, type StorefrontScriptsProps, SubmitQuoteInput, SubmitReturnInput, SubmitReviewInput, type UseAddressAutocompleteOptions, type UseAddressAutocompleteReturn, type UseAddressesOptions, type UseCartCountOptions, type UseCartOptions, type UseCategoriesOptions, type UseCategoryOptions, type UseCurrencyResult, type UseCustomerOptions, type UseFeaturedOptions, type UseFiltersOptions, type UseLabelsOptions, type UseMenuOptions, type UseOrderOptions, type UseOrdersOptions, type UsePageOptions, type UsePagesOptions, type UseProductOptions, type UseProductsOptions, type UseSearchOptions, type UseShopInfoOptions, type UseShopScriptsOptions, type UseShopSeoOptions, WishlistItem, cookieStorage, createMemoryStorage, detectStorage, localStorageAdapter, memoryStorage, useAddressAutocomplete, useAddresses, useAuth, useBehio, useBehioClient, useBundle, useBundles, useCart, useCartCount, useCategories, useCategory, useCheckout, useCookieConsent, useCrossSell, useCurrency, useCustomer, useFeatured, useFilters, useGiftCardBalance, useIsInWishlist, useLabels, useLookupReturnableOrder, useMenu, useNotifyWhenAvailable, useOrder, useOrderAccess, useOrders, usePage, usePages, useProduct, useProductPromotions, useProductReviews, useProducts, useQuoteStatus, useReturnStatus, useSearch, useShopInfo, useShopScripts, useShopSeo, useSubmitQuote, useSubmitReturn, useSubmitReview, useWishlist };