@behio/storefront-sdk 2.13.0 → 2.14.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.
@@ -508,7 +508,7 @@ interface ProductLabel {
508
508
  id: string;
509
509
  slug: string;
510
510
  name: string;
511
- color?: string;
511
+ color?: string | null;
512
512
  /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
513
513
  iconName?: string | null;
514
514
  }
@@ -538,9 +538,9 @@ interface ProductListItem {
538
538
  id: string;
539
539
  slug: string;
540
540
  name: string;
541
- shortDescription?: string;
541
+ shortDescription?: string | null;
542
542
  sku: string;
543
- gtin?: string;
543
+ gtin?: string | null;
544
544
  /** `null` when prices are gated behind login for guests (B2B mode). */
545
545
  price: ProductPrice | null;
546
546
  inStock: boolean;
@@ -629,6 +629,9 @@ interface ProductListItem {
629
629
  url: string;
630
630
  alt: string | null;
631
631
  order: number;
632
+ /** COVER | LISTING | HOVER | GALLERY when the cover came from a roled
633
+ * product image; absent when it came from the inventory gallery (SDK 2.14.0). */
634
+ role?: string;
632
635
  } | null;
633
636
  labels: ProductLabel[];
634
637
  isFeatured: boolean;
@@ -843,7 +846,19 @@ interface ProductDetail extends ProductListItem {
843
846
  * null when uncapped or the shop hides stock counts. Cap the PDP quantity
844
847
  * stepper with it, it is exactly the cart rule. SDK 2.13.0. */
845
848
  maxPurchasableQuantity?: number | null;
846
- longDescription?: string;
849
+ /**
850
+ * @deprecated Not sent on the product detail, only on list cards. Use
851
+ * `media` (or `images`) for the gallery.
852
+ */
853
+ image?: ProductListItem["image"];
854
+ /** @deprecated Not sent on the product detail, only on list cards. */
855
+ hoverImageUrl?: string | null;
856
+ /**
857
+ * @deprecated Not sent on the product detail, only on list cards. Read the
858
+ * PDP promotions with `catalog.getProductPromotions(slug)`.
859
+ */
860
+ activePromotion?: ProductPromotionSummary | null;
861
+ longDescription?: string | null;
847
862
  /**
848
863
  * @deprecated Legacy per-listing images. Prefer `media`. Each carries its
849
864
  * `role` (COVER | LISTING | HOVER | GALLERY) so the storefront can pick a
@@ -851,7 +866,7 @@ interface ProductDetail extends ProductListItem {
851
866
  */
852
867
  images: Array<{
853
868
  url: string;
854
- alt?: string;
869
+ alt?: string | null;
855
870
  order: number;
856
871
  role?: string;
857
872
  }>;
@@ -919,6 +934,10 @@ interface ProductDetail extends ProductListItem {
919
934
  ogDescription?: string | null;
920
935
  ogImage?: string | null;
921
936
  };
937
+ /**
938
+ * @deprecated Never sent by the API. Load a group with
939
+ * `catalog.getProductGroup(slug)`.
940
+ */
922
941
  productGroups?: Array<{
923
942
  slug: string;
924
943
  name: string;
@@ -940,8 +959,8 @@ interface Category {
940
959
  id: string;
941
960
  slug: string;
942
961
  name: string;
943
- description?: string;
944
- imageUrl?: string;
962
+ description?: string | null;
963
+ imageUrl?: string | null;
945
964
  children: Category[];
946
965
  productCount?: number;
947
966
  }
@@ -1004,11 +1023,18 @@ interface Menu {
1004
1023
  locale: string;
1005
1024
  items: MenuItem[];
1006
1025
  }
1007
- interface CategoryDetail extends Category {
1026
+ interface CategoryDetail extends Omit<Category, "children"> {
1027
+ /**
1028
+ * @deprecated Never sent on the category detail (it was typed as always
1029
+ * present, so `children.map` crashed). Read subcategories from
1030
+ * `catalog.getCategories()`.
1031
+ */
1032
+ children?: Category[];
1008
1033
  /**
1009
1034
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
1010
1035
  * shape (the old flat `seoTitle`/`seoDescription` never matched what the API
1011
- * returned). `keywords` is always null for categories.
1036
+ * returned). `keywords` is always null for categories. Null when the
1037
+ * category has no text in the requested language (SDK 2.14.0 types it).
1012
1038
  */
1013
1039
  seo?: {
1014
1040
  title?: string | null;
@@ -1017,7 +1043,7 @@ interface CategoryDetail extends Category {
1017
1043
  ogTitle?: string | null;
1018
1044
  ogDescription?: string | null;
1019
1045
  ogImage?: string | null;
1020
- };
1046
+ } | null;
1021
1047
  }
1022
1048
  /**
1023
1049
  * One available filter, derived from a curated parameter the merchant marked
@@ -1035,7 +1061,7 @@ interface FilterField {
1035
1061
  groupSlug: string;
1036
1062
  groupName: string;
1037
1063
  unit?: string | null;
1038
- values?: string[];
1064
+ values?: string[] | null;
1039
1065
  }
1040
1066
  interface FacetValue {
1041
1067
  /** Raw stored value (normalized), for exact filtering. */
@@ -1286,7 +1312,7 @@ interface CartItemProduct {
1286
1312
  * arbitrary translation row, so this could come back in another language. */
1287
1313
  name: string;
1288
1314
  sku: string;
1289
- imageUrl?: string;
1315
+ imageUrl?: string | null;
1290
1316
  inStock: boolean;
1291
1317
  /** Pieces left for an "only X left" note on the cart line; null when the
1292
1318
  * shop does not track stock, hides the nudge or has plenty. SDK 2.13.0. */
@@ -1384,7 +1410,7 @@ interface Cart {
1384
1410
  * 200 net" was 20, now it is 24.20 at 21 %). It lowers base and VAT, see
1385
1411
  * `taxBreakdown` and `vatTotal`. */
1386
1412
  discountTotal: number;
1387
- discount?: CartDiscount;
1413
+ discount?: CartDiscount | null;
1388
1414
  /** Auto-apply promotion discount lines (sale/BOGO). */
1389
1415
  appliedPromotions: CartPromotion[];
1390
1416
  /** Sum of `appliedPromotions[].discountAmount`; already reflected in `grandTotal`. */
@@ -1589,6 +1615,12 @@ interface CheckoutInput {
1589
1615
  * guests. See `customer.getLoyalty()` for the available balance.
1590
1616
  */
1591
1617
  redeemLoyaltyPoints?: number;
1618
+ /**
1619
+ * Cart session to order. The SDK sends it in the `X-Cart-Session` header on
1620
+ * its own, so leave it out; the body field is for clients without the
1621
+ * header (SDK 2.14.0 documents it, the backend has always accepted it).
1622
+ */
1623
+ sessionToken?: string;
1592
1624
  }
1593
1625
  type OrderStatus = (typeof OrderStatuses)[keyof typeof OrderStatuses];
1594
1626
  type PaymentStatus = (typeof PaymentStatuses)[keyof typeof PaymentStatuses];
@@ -1604,6 +1636,8 @@ interface OrderListItem {
1604
1636
  createdAt: number;
1605
1637
  }
1606
1638
  interface OrderItem {
1639
+ /** Order line id (SDK 2.14.0). */
1640
+ id?: string;
1607
1641
  productName: string;
1608
1642
  sku: string;
1609
1643
  /** Photo snapshot from checkout, or the product's current photo. */
@@ -1615,9 +1649,23 @@ interface OrderItem {
1615
1649
  productSlug?: string | null;
1616
1650
  quantity: number;
1617
1651
  unitPrice: number;
1652
+ /** VAT rate of the line in percent, e.g. 21 (SDK 2.14.0). */
1653
+ taxRate?: number;
1654
+ /** VAT of the whole line (SDK 2.14.0). */
1655
+ taxAmount?: number;
1618
1656
  totalPrice: number;
1619
1657
  totalPriceWithTax: number;
1620
1658
  }
1659
+ /** A discount code applied to an order (SDK 2.14.0). */
1660
+ interface OrderDiscount {
1661
+ code: string;
1662
+ /** PERCENTAGE, FIXED_AMOUNT or FREE_SHIPPING. */
1663
+ type: string;
1664
+ /** Percent or amount as configured on the code. */
1665
+ value: number;
1666
+ /** Money the code took off this order. */
1667
+ appliedAmount: number;
1668
+ }
1621
1669
  /**
1622
1670
  * PII-minimized order view returned by `orders.track(token)`. The tracking
1623
1671
  * token is shared in URLs and e-mails, so this deliberately omits full
@@ -1670,9 +1718,14 @@ interface OrderShipment {
1670
1718
  createdAt: number;
1671
1719
  }
1672
1720
  interface OrderStatusHistory {
1673
- fromStatus?: OrderStatus;
1721
+ /** Null for the first entry of an order. */
1722
+ fromStatus?: OrderStatus | null;
1674
1723
  toStatus: OrderStatus;
1675
- note?: string;
1724
+ note?: string | null;
1725
+ /**
1726
+ * @deprecated Never sent: who changed the status is internal to the shop.
1727
+ * Kept only so existing templates keep compiling.
1728
+ */
1676
1729
  changedBy?: string;
1677
1730
  createdAt: number;
1678
1731
  }
@@ -1709,8 +1762,8 @@ interface OrderDetail extends OrderListItem {
1709
1762
  shippingAddress: CheckoutAddress;
1710
1763
  billingAddress: CheckoutAddress;
1711
1764
  email: string;
1712
- phone?: string;
1713
- customerNote?: string;
1765
+ phone?: string | null;
1766
+ customerNote?: string | null;
1714
1767
  subtotal: number;
1715
1768
  /** Goods VAT before order discounts (goods subtotal = `subtotal` + `taxTotal`). */
1716
1769
  taxTotal: number;
@@ -1732,6 +1785,12 @@ interface OrderDetail extends OrderListItem {
1732
1785
  discountTotal: number;
1733
1786
  fulfillmentStatus: FulfillmentStatus;
1734
1787
  statusHistory: OrderStatusHistory[];
1788
+ /** Discount codes applied to the order (SDK 2.14.0). */
1789
+ discounts?: OrderDiscount[];
1790
+ /**
1791
+ * @deprecated Not sent on the order detail. Only `checkout.createOrder()`
1792
+ * returns it, see `CheckoutResult.trackingToken`.
1793
+ */
1735
1794
  trackingToken?: string;
1736
1795
  /**
1737
1796
  * Digital product delivery (GAP-07): download grants for any digital assets
@@ -2051,10 +2110,12 @@ interface DownloadUrl {
2051
2110
  interface CustomerProfile {
2052
2111
  id: string;
2053
2112
  email: string;
2054
- firstName?: string;
2055
- lastName?: string;
2056
- phone?: string;
2113
+ firstName?: string | null;
2114
+ lastName?: string | null;
2115
+ phone?: string | null;
2057
2116
  emailVerified: boolean;
2117
+ /** Registration time (Unix ms). */
2118
+ createdAt?: number;
2058
2119
  /**
2059
2120
  * B2B approval gate (GAP-19). `false` = the account is awaiting merchant
2060
2121
  * approval (or was deactivated) — show a "pending approval" banner and gate
@@ -2070,7 +2131,8 @@ interface CustomerAddress {
2070
2131
  isDefault: boolean;
2071
2132
  firstName: string;
2072
2133
  lastName: string;
2073
- company?: string;
2134
+ /** Null when not set. Send null on update to clear it. */
2135
+ company?: string | null;
2074
2136
  street: string;
2075
2137
  city: string;
2076
2138
  zip: string;
@@ -2088,7 +2150,8 @@ interface CustomerAddress {
2088
2150
  vatIdValid?: boolean | null;
2089
2151
  /** When the VAT ID was last checked (ms). Read-only. */
2090
2152
  vatIdCheckedAt?: number | null;
2091
- phone?: string;
2153
+ /** Null when not set. Send null on update to clear it. */
2154
+ phone?: string | null;
2092
2155
  }
2093
2156
  interface Page {
2094
2157
  slug: string;
@@ -3189,6 +3252,7 @@ declare class BehioStorefront {
3189
3252
  visitorId: string;
3190
3253
  email: string;
3191
3254
  }): Promise<SdkResult<{
3255
+ /** Single-use code for the offered product, issued by this call. */
3192
3256
  code: string;
3193
3257
  percent: number;
3194
3258
  expiresAt: number;
@@ -3955,6 +4019,8 @@ interface AddressDetail {
3955
4019
  formattedAddress: string;
3956
4020
  lat: number;
3957
4021
  lng: number;
4022
+ /** Set (and the address fields empty) when the request had no `placeId`. */
4023
+ error?: string | null;
3958
4024
  }
3959
4025
  declare class AddressModule {
3960
4026
  private client;
@@ -4041,4 +4107,4 @@ declare function clearCartSummary(): void;
4041
4107
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
4042
4108
  declare function publishCartSummary(summary: CartSummaryEvent): void;
4043
4109
 
4044
- export { type CourseCommentReply as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type Cart as D, type CartBundleLine as E, type CartBundleLineItem as F, type CartDiscount as G, type CartItem as H, type CartItemProduct as I, type CartLinkClaimed as J, type CartPromotion as K, type CartSummaryEvent as L, type Category as M, type CategoryDetail as N, type CertificateVerification as O, type ProductDetail as P, type CheckoutAddress as Q, type CheckoutInput as R, type SdkResult as S, type CheckoutPaymentMethod as T, type CheckoutPreview as U, type CheckoutResult as V, type CheckoutSettings as W, type CookieConsentInput as X, type CourseAttachment as Y, type CourseCertificate as Z, type CourseComment as _, type ProductVariant as a, type OrderPickupPoint as a$, type CourseCommentsList as a0, type CourseDetail as a1, type CourseLesson as a2, type CourseListItem as a3, type CourseModule as a4, type CoursePostedComment as a5, type CourseProgress as a6, type CourseTutorMessage as a7, type CourseTutorThread as a8, type CrossSellItem as a9, type LessonNote as aA, type LessonQuiz as aB, type LoginInput as aC, type LoyaltyBalance as aD, type LoyaltyNextTier as aE, type LoyaltyProgram as aF, type LoyaltyQuery as aG, type LoyaltyReferralResult as aH, type LoyaltySummary as aI, type LoyaltyTier as aJ, type LoyaltyTierPerks as aK, type LoyaltyTransaction as aL, type Menu as aM, type MenuItem as aN, type MenuItemRef as aO, type MenuItemType as aP, type MessageResponse as aQ, type NewsletterOptInDefault as aR, type NewsletterSubscribeInput as aS, type NewsletterSubscribeResult as aT, type NewsletterUnsubscribeResult as aU, type OrderAccessRequestResponse as aV, type OrderAccessVerifyResponse as aW, type OrderDetail as aX, type OrderItem as aY, type OrderListItem as aZ, type OrderPaymentInstructions as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerBadge as ac, type CustomerChallenge as ad, type CustomerGamification as ae, type CustomerGamificationQuery as af, type CustomerProfile as ag, type DigitalDownload as ah, type DownloadUrl as ai, type Facet as aj, type FacetAvailability as ak, type FacetCategory as al, type FacetLabel as am, type FacetPriceRange as an, type FacetRange as ao, type FacetRatingBucket as ap, type FacetValue as aq, type FacetsResponse as ar, type FilterField as as, type FulfillmentStatus as at, FulfillmentStatuses as au, type GamificationRefreshResult as av, type GiftCardBalance as aw, type GiftCardPurchaseInput as ax, type GiftCardPurchaseResult as ay, type GiftCardSummary as az, type StorefrontFormFieldError as b, type ShopScriptPlacement as b$, type OrderShipment as b0, type OrderStatus as b1, type OrderStatusHistory as b2, OrderStatuses as b3, type OrderTracking as b4, type Page as b5, type PageAttachment as b6, type PageDetail as b7, type PaginatedResponse as b8, type PaymentInstrument as b9, type ProductVolumePrice as bA, type ProductsQuery as bB, type QuizAnswerInput as bC, type QuizAnswerResult as bD, type QuizQuestion as bE, type QuizResult as bF, type QuoteItem as bG, type QuoteRequest as bH, type RegisterInput as bI, type RegisterResult as bJ, type RequestInterceptor as bK, type RequestInterceptorConfig as bL, type ResponseInterceptor as bM, type ResponseInterceptorData as bN, type ReturnRequest as bO, type ReturnRequestItem as bP, type ReturnStatus as bQ, type ReturnStatusItem as bR, type ReturnableOrder as bS, type ReturnableOrderItem as bT, type SdkError as bU, type ShippingMethodSummary as bV, type ShippingQuote as bW, type ShippingQuoteInput as bX, type ShopAppearance as bY, type ShopInfo as bZ, type ShopScript as b_, type PaymentStatus as ba, PaymentStatuses as bb, type PaymentSwift as bc, type PickupPoint as bd, type PickupPointHours as be, type PickupPointsInput as bf, type PickupWidgetConfig as bg, type PriceDisplay as bh, type ProductAssetGroup as bi, type ProductAssetItem as bj, type ProductAvailability as bk, type ProductGroup as bl, type ProductLabel as bm, type ProductListItem as bn, type ProductMedia as bo, type ProductMediaVariant as bp, type ProductParameter as bq, type ProductParameterGroup as br, type ProductParametersResponse as bs, type ProductPrice as bt, type ProductPromotionSummary as bu, type ProductReview as bv, type ProductReviewsResponse as bw, type ProductSibling as bx, ProductSort as by, type ProductSortValue as bz, type AddToCartInput as c, type ShopScriptType as c0, type ShopScripts as c1, type ShopSeo as c2, type ShopSeoIdentity as c3, type SiteFormField as c4, type SiteFormFieldOption as c5, type SiteFormFieldType as c6, type Sitemap as c7, type SitemapEntry as c8, type StockBehavior as c9, type StockMode as ca, type StorefrontForm as cb, type StorefrontFormFieldErrorCode as cc, type StorefrontFormFile as cd, type StorefrontFormSettings as ce, type StorefrontFormSubmitInput as cf, type StorefrontFormSubmitResult as cg, type StorefrontFormUpload as ch, type SubmitQuoteInput as ci, type SubmitReturnInput as cj, type SubmitReviewInput as ck, type Subscription as cl, type SubscriptionAction as cm, type SubscriptionFrequency as cn, type SubscriptionItem as co, type SubscriptionStatus as cp, type TaxBreakdownLine as cq, type VariantAxis as cr, type VariantAxisValue as cs, type WishlistItem as ct, clearCartSummary as cu, err as cv, ok as cw, publishCartSummary as cx, toSdkError as cy, type AddressDetail as d, type AddressSuggestion as e, type AddressType as f, AddressTypes as g, type AuthTokens as h, type BackInStockSubscription as i, type BadgeTone as j, BehioApiError as k, type BehioErrorCode as l, type BehioEventHandler as m, type BehioEventType as n, BehioNetworkError as o, type BehioStorefrontConfig as p, type Blog as q, type BlogPostDetail as r, type BlogPostListItem as s, type BlogPostsPage as t, type BlogPostsQuery as u, type BlogSettings as v, type BlogTag as w, type Bundle as x, type BundleCatalogQuery as y, type BundleItem as z };
4110
+ export { type CourseCommentReply as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type Cart as D, type CartBundleLine as E, type CartBundleLineItem as F, type CartDiscount as G, type CartItem as H, type CartItemProduct as I, type CartLinkClaimed as J, type CartPromotion as K, type CartSummaryEvent as L, type Category as M, type CategoryDetail as N, type CertificateVerification as O, type ProductDetail as P, type CheckoutAddress as Q, type CheckoutInput as R, type SdkResult as S, type CheckoutPaymentMethod as T, type CheckoutPreview as U, type CheckoutResult as V, type CheckoutSettings as W, type CookieConsentInput as X, type CourseAttachment as Y, type CourseCertificate as Z, type CourseComment as _, type ProductVariant as a, type OrderPaymentInstructions as a$, type CourseCommentsList as a0, type CourseDetail as a1, type CourseLesson as a2, type CourseListItem as a3, type CourseModule as a4, type CoursePostedComment as a5, type CourseProgress as a6, type CourseTutorMessage as a7, type CourseTutorThread as a8, type CrossSellItem as a9, type LessonNote as aA, type LessonQuiz as aB, type LoginInput as aC, type LoyaltyBalance as aD, type LoyaltyNextTier as aE, type LoyaltyProgram as aF, type LoyaltyQuery as aG, type LoyaltyReferralResult as aH, type LoyaltySummary as aI, type LoyaltyTier as aJ, type LoyaltyTierPerks as aK, type LoyaltyTransaction as aL, type Menu as aM, type MenuItem as aN, type MenuItemRef as aO, type MenuItemType as aP, type MessageResponse as aQ, type NewsletterOptInDefault as aR, type NewsletterSubscribeInput as aS, type NewsletterSubscribeResult as aT, type NewsletterUnsubscribeResult as aU, type OrderAccessRequestResponse as aV, type OrderAccessVerifyResponse as aW, type OrderDetail as aX, type OrderDiscount as aY, type OrderItem as aZ, type OrderListItem as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerBadge as ac, type CustomerChallenge as ad, type CustomerGamification as ae, type CustomerGamificationQuery as af, type CustomerProfile as ag, type DigitalDownload as ah, type DownloadUrl as ai, type Facet as aj, type FacetAvailability as ak, type FacetCategory as al, type FacetLabel as am, type FacetPriceRange as an, type FacetRange as ao, type FacetRatingBucket as ap, type FacetValue as aq, type FacetsResponse as ar, type FilterField as as, type FulfillmentStatus as at, FulfillmentStatuses as au, type GamificationRefreshResult as av, type GiftCardBalance as aw, type GiftCardPurchaseInput as ax, type GiftCardPurchaseResult as ay, type GiftCardSummary as az, type StorefrontFormFieldError as b, type ShopScript as b$, type OrderPickupPoint as b0, type OrderShipment as b1, type OrderStatus as b2, type OrderStatusHistory as b3, OrderStatuses as b4, type OrderTracking as b5, type Page as b6, type PageAttachment as b7, type PageDetail as b8, type PaginatedResponse as b9, type ProductSortValue as bA, type ProductVolumePrice as bB, type ProductsQuery as bC, type QuizAnswerInput as bD, type QuizAnswerResult as bE, type QuizQuestion as bF, type QuizResult as bG, type QuoteItem as bH, type QuoteRequest as bI, type RegisterInput as bJ, type RegisterResult as bK, type RequestInterceptor as bL, type RequestInterceptorConfig as bM, type ResponseInterceptor as bN, type ResponseInterceptorData as bO, type ReturnRequest as bP, type ReturnRequestItem as bQ, type ReturnStatus as bR, type ReturnStatusItem as bS, type ReturnableOrder as bT, type ReturnableOrderItem as bU, type SdkError as bV, type ShippingMethodSummary as bW, type ShippingQuote as bX, type ShippingQuoteInput as bY, type ShopAppearance as bZ, type ShopInfo as b_, type PaymentInstrument as ba, type PaymentStatus as bb, PaymentStatuses as bc, type PaymentSwift as bd, type PickupPoint as be, type PickupPointHours as bf, type PickupPointsInput as bg, type PickupWidgetConfig as bh, type PriceDisplay as bi, type ProductAssetGroup as bj, type ProductAssetItem as bk, type ProductAvailability as bl, type ProductGroup as bm, type ProductLabel as bn, type ProductListItem as bo, type ProductMedia as bp, type ProductMediaVariant as bq, type ProductParameter as br, type ProductParameterGroup as bs, type ProductParametersResponse as bt, type ProductPrice as bu, type ProductPromotionSummary as bv, type ProductReview as bw, type ProductReviewsResponse as bx, type ProductSibling as by, ProductSort as bz, type AddToCartInput as c, type ShopScriptPlacement as c0, type ShopScriptType as c1, type ShopScripts as c2, type ShopSeo as c3, type ShopSeoIdentity as c4, type SiteFormField as c5, type SiteFormFieldOption as c6, type SiteFormFieldType as c7, type Sitemap as c8, type SitemapEntry as c9, type StockBehavior as ca, type StockMode as cb, type StorefrontForm as cc, type StorefrontFormFieldErrorCode as cd, type StorefrontFormFile as ce, type StorefrontFormSettings as cf, type StorefrontFormSubmitInput as cg, type StorefrontFormSubmitResult as ch, type StorefrontFormUpload as ci, type SubmitQuoteInput as cj, type SubmitReturnInput as ck, type SubmitReviewInput as cl, type Subscription as cm, type SubscriptionAction as cn, type SubscriptionFrequency as co, type SubscriptionItem as cp, type SubscriptionStatus as cq, type TaxBreakdownLine as cr, type VariantAxis as cs, type VariantAxisValue as ct, type WishlistItem as cu, clearCartSummary as cv, err as cw, ok as cx, publishCartSummary as cy, toSdkError as cz, type AddressDetail as d, type AddressSuggestion as e, type AddressType as f, AddressTypes as g, type AuthTokens as h, type BackInStockSubscription as i, type BadgeTone as j, BehioApiError as k, type BehioErrorCode as l, type BehioEventHandler as m, type BehioEventType as n, BehioNetworkError as o, type BehioStorefrontConfig as p, type Blog as q, type BlogPostDetail as r, type BlogPostListItem as s, type BlogPostsPage as t, type BlogPostsQuery as u, type BlogSettings as v, type BlogTag as w, type Bundle as x, type BundleCatalogQuery as y, type BundleItem as z };
@@ -508,7 +508,7 @@ interface ProductLabel {
508
508
  id: string;
509
509
  slug: string;
510
510
  name: string;
511
- color?: string;
511
+ color?: string | null;
512
512
  /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
513
513
  iconName?: string | null;
514
514
  }
@@ -538,9 +538,9 @@ interface ProductListItem {
538
538
  id: string;
539
539
  slug: string;
540
540
  name: string;
541
- shortDescription?: string;
541
+ shortDescription?: string | null;
542
542
  sku: string;
543
- gtin?: string;
543
+ gtin?: string | null;
544
544
  /** `null` when prices are gated behind login for guests (B2B mode). */
545
545
  price: ProductPrice | null;
546
546
  inStock: boolean;
@@ -629,6 +629,9 @@ interface ProductListItem {
629
629
  url: string;
630
630
  alt: string | null;
631
631
  order: number;
632
+ /** COVER | LISTING | HOVER | GALLERY when the cover came from a roled
633
+ * product image; absent when it came from the inventory gallery (SDK 2.14.0). */
634
+ role?: string;
632
635
  } | null;
633
636
  labels: ProductLabel[];
634
637
  isFeatured: boolean;
@@ -843,7 +846,19 @@ interface ProductDetail extends ProductListItem {
843
846
  * null when uncapped or the shop hides stock counts. Cap the PDP quantity
844
847
  * stepper with it, it is exactly the cart rule. SDK 2.13.0. */
845
848
  maxPurchasableQuantity?: number | null;
846
- longDescription?: string;
849
+ /**
850
+ * @deprecated Not sent on the product detail, only on list cards. Use
851
+ * `media` (or `images`) for the gallery.
852
+ */
853
+ image?: ProductListItem["image"];
854
+ /** @deprecated Not sent on the product detail, only on list cards. */
855
+ hoverImageUrl?: string | null;
856
+ /**
857
+ * @deprecated Not sent on the product detail, only on list cards. Read the
858
+ * PDP promotions with `catalog.getProductPromotions(slug)`.
859
+ */
860
+ activePromotion?: ProductPromotionSummary | null;
861
+ longDescription?: string | null;
847
862
  /**
848
863
  * @deprecated Legacy per-listing images. Prefer `media`. Each carries its
849
864
  * `role` (COVER | LISTING | HOVER | GALLERY) so the storefront can pick a
@@ -851,7 +866,7 @@ interface ProductDetail extends ProductListItem {
851
866
  */
852
867
  images: Array<{
853
868
  url: string;
854
- alt?: string;
869
+ alt?: string | null;
855
870
  order: number;
856
871
  role?: string;
857
872
  }>;
@@ -919,6 +934,10 @@ interface ProductDetail extends ProductListItem {
919
934
  ogDescription?: string | null;
920
935
  ogImage?: string | null;
921
936
  };
937
+ /**
938
+ * @deprecated Never sent by the API. Load a group with
939
+ * `catalog.getProductGroup(slug)`.
940
+ */
922
941
  productGroups?: Array<{
923
942
  slug: string;
924
943
  name: string;
@@ -940,8 +959,8 @@ interface Category {
940
959
  id: string;
941
960
  slug: string;
942
961
  name: string;
943
- description?: string;
944
- imageUrl?: string;
962
+ description?: string | null;
963
+ imageUrl?: string | null;
945
964
  children: Category[];
946
965
  productCount?: number;
947
966
  }
@@ -1004,11 +1023,18 @@ interface Menu {
1004
1023
  locale: string;
1005
1024
  items: MenuItem[];
1006
1025
  }
1007
- interface CategoryDetail extends Category {
1026
+ interface CategoryDetail extends Omit<Category, "children"> {
1027
+ /**
1028
+ * @deprecated Never sent on the category detail (it was typed as always
1029
+ * present, so `children.map` crashed). Read subcategories from
1030
+ * `catalog.getCategories()`.
1031
+ */
1032
+ children?: Category[];
1008
1033
  /**
1009
1034
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
1010
1035
  * shape (the old flat `seoTitle`/`seoDescription` never matched what the API
1011
- * returned). `keywords` is always null for categories.
1036
+ * returned). `keywords` is always null for categories. Null when the
1037
+ * category has no text in the requested language (SDK 2.14.0 types it).
1012
1038
  */
1013
1039
  seo?: {
1014
1040
  title?: string | null;
@@ -1017,7 +1043,7 @@ interface CategoryDetail extends Category {
1017
1043
  ogTitle?: string | null;
1018
1044
  ogDescription?: string | null;
1019
1045
  ogImage?: string | null;
1020
- };
1046
+ } | null;
1021
1047
  }
1022
1048
  /**
1023
1049
  * One available filter, derived from a curated parameter the merchant marked
@@ -1035,7 +1061,7 @@ interface FilterField {
1035
1061
  groupSlug: string;
1036
1062
  groupName: string;
1037
1063
  unit?: string | null;
1038
- values?: string[];
1064
+ values?: string[] | null;
1039
1065
  }
1040
1066
  interface FacetValue {
1041
1067
  /** Raw stored value (normalized), for exact filtering. */
@@ -1286,7 +1312,7 @@ interface CartItemProduct {
1286
1312
  * arbitrary translation row, so this could come back in another language. */
1287
1313
  name: string;
1288
1314
  sku: string;
1289
- imageUrl?: string;
1315
+ imageUrl?: string | null;
1290
1316
  inStock: boolean;
1291
1317
  /** Pieces left for an "only X left" note on the cart line; null when the
1292
1318
  * shop does not track stock, hides the nudge or has plenty. SDK 2.13.0. */
@@ -1384,7 +1410,7 @@ interface Cart {
1384
1410
  * 200 net" was 20, now it is 24.20 at 21 %). It lowers base and VAT, see
1385
1411
  * `taxBreakdown` and `vatTotal`. */
1386
1412
  discountTotal: number;
1387
- discount?: CartDiscount;
1413
+ discount?: CartDiscount | null;
1388
1414
  /** Auto-apply promotion discount lines (sale/BOGO). */
1389
1415
  appliedPromotions: CartPromotion[];
1390
1416
  /** Sum of `appliedPromotions[].discountAmount`; already reflected in `grandTotal`. */
@@ -1589,6 +1615,12 @@ interface CheckoutInput {
1589
1615
  * guests. See `customer.getLoyalty()` for the available balance.
1590
1616
  */
1591
1617
  redeemLoyaltyPoints?: number;
1618
+ /**
1619
+ * Cart session to order. The SDK sends it in the `X-Cart-Session` header on
1620
+ * its own, so leave it out; the body field is for clients without the
1621
+ * header (SDK 2.14.0 documents it, the backend has always accepted it).
1622
+ */
1623
+ sessionToken?: string;
1592
1624
  }
1593
1625
  type OrderStatus = (typeof OrderStatuses)[keyof typeof OrderStatuses];
1594
1626
  type PaymentStatus = (typeof PaymentStatuses)[keyof typeof PaymentStatuses];
@@ -1604,6 +1636,8 @@ interface OrderListItem {
1604
1636
  createdAt: number;
1605
1637
  }
1606
1638
  interface OrderItem {
1639
+ /** Order line id (SDK 2.14.0). */
1640
+ id?: string;
1607
1641
  productName: string;
1608
1642
  sku: string;
1609
1643
  /** Photo snapshot from checkout, or the product's current photo. */
@@ -1615,9 +1649,23 @@ interface OrderItem {
1615
1649
  productSlug?: string | null;
1616
1650
  quantity: number;
1617
1651
  unitPrice: number;
1652
+ /** VAT rate of the line in percent, e.g. 21 (SDK 2.14.0). */
1653
+ taxRate?: number;
1654
+ /** VAT of the whole line (SDK 2.14.0). */
1655
+ taxAmount?: number;
1618
1656
  totalPrice: number;
1619
1657
  totalPriceWithTax: number;
1620
1658
  }
1659
+ /** A discount code applied to an order (SDK 2.14.0). */
1660
+ interface OrderDiscount {
1661
+ code: string;
1662
+ /** PERCENTAGE, FIXED_AMOUNT or FREE_SHIPPING. */
1663
+ type: string;
1664
+ /** Percent or amount as configured on the code. */
1665
+ value: number;
1666
+ /** Money the code took off this order. */
1667
+ appliedAmount: number;
1668
+ }
1621
1669
  /**
1622
1670
  * PII-minimized order view returned by `orders.track(token)`. The tracking
1623
1671
  * token is shared in URLs and e-mails, so this deliberately omits full
@@ -1670,9 +1718,14 @@ interface OrderShipment {
1670
1718
  createdAt: number;
1671
1719
  }
1672
1720
  interface OrderStatusHistory {
1673
- fromStatus?: OrderStatus;
1721
+ /** Null for the first entry of an order. */
1722
+ fromStatus?: OrderStatus | null;
1674
1723
  toStatus: OrderStatus;
1675
- note?: string;
1724
+ note?: string | null;
1725
+ /**
1726
+ * @deprecated Never sent: who changed the status is internal to the shop.
1727
+ * Kept only so existing templates keep compiling.
1728
+ */
1676
1729
  changedBy?: string;
1677
1730
  createdAt: number;
1678
1731
  }
@@ -1709,8 +1762,8 @@ interface OrderDetail extends OrderListItem {
1709
1762
  shippingAddress: CheckoutAddress;
1710
1763
  billingAddress: CheckoutAddress;
1711
1764
  email: string;
1712
- phone?: string;
1713
- customerNote?: string;
1765
+ phone?: string | null;
1766
+ customerNote?: string | null;
1714
1767
  subtotal: number;
1715
1768
  /** Goods VAT before order discounts (goods subtotal = `subtotal` + `taxTotal`). */
1716
1769
  taxTotal: number;
@@ -1732,6 +1785,12 @@ interface OrderDetail extends OrderListItem {
1732
1785
  discountTotal: number;
1733
1786
  fulfillmentStatus: FulfillmentStatus;
1734
1787
  statusHistory: OrderStatusHistory[];
1788
+ /** Discount codes applied to the order (SDK 2.14.0). */
1789
+ discounts?: OrderDiscount[];
1790
+ /**
1791
+ * @deprecated Not sent on the order detail. Only `checkout.createOrder()`
1792
+ * returns it, see `CheckoutResult.trackingToken`.
1793
+ */
1735
1794
  trackingToken?: string;
1736
1795
  /**
1737
1796
  * Digital product delivery (GAP-07): download grants for any digital assets
@@ -2051,10 +2110,12 @@ interface DownloadUrl {
2051
2110
  interface CustomerProfile {
2052
2111
  id: string;
2053
2112
  email: string;
2054
- firstName?: string;
2055
- lastName?: string;
2056
- phone?: string;
2113
+ firstName?: string | null;
2114
+ lastName?: string | null;
2115
+ phone?: string | null;
2057
2116
  emailVerified: boolean;
2117
+ /** Registration time (Unix ms). */
2118
+ createdAt?: number;
2058
2119
  /**
2059
2120
  * B2B approval gate (GAP-19). `false` = the account is awaiting merchant
2060
2121
  * approval (or was deactivated) — show a "pending approval" banner and gate
@@ -2070,7 +2131,8 @@ interface CustomerAddress {
2070
2131
  isDefault: boolean;
2071
2132
  firstName: string;
2072
2133
  lastName: string;
2073
- company?: string;
2134
+ /** Null when not set. Send null on update to clear it. */
2135
+ company?: string | null;
2074
2136
  street: string;
2075
2137
  city: string;
2076
2138
  zip: string;
@@ -2088,7 +2150,8 @@ interface CustomerAddress {
2088
2150
  vatIdValid?: boolean | null;
2089
2151
  /** When the VAT ID was last checked (ms). Read-only. */
2090
2152
  vatIdCheckedAt?: number | null;
2091
- phone?: string;
2153
+ /** Null when not set. Send null on update to clear it. */
2154
+ phone?: string | null;
2092
2155
  }
2093
2156
  interface Page {
2094
2157
  slug: string;
@@ -3189,6 +3252,7 @@ declare class BehioStorefront {
3189
3252
  visitorId: string;
3190
3253
  email: string;
3191
3254
  }): Promise<SdkResult<{
3255
+ /** Single-use code for the offered product, issued by this call. */
3192
3256
  code: string;
3193
3257
  percent: number;
3194
3258
  expiresAt: number;
@@ -3955,6 +4019,8 @@ interface AddressDetail {
3955
4019
  formattedAddress: string;
3956
4020
  lat: number;
3957
4021
  lng: number;
4022
+ /** Set (and the address fields empty) when the request had no `placeId`. */
4023
+ error?: string | null;
3958
4024
  }
3959
4025
  declare class AddressModule {
3960
4026
  private client;
@@ -4041,4 +4107,4 @@ declare function clearCartSummary(): void;
4041
4107
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
4042
4108
  declare function publishCartSummary(summary: CartSummaryEvent): void;
4043
4109
 
4044
- export { type CourseCommentReply as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type Cart as D, type CartBundleLine as E, type CartBundleLineItem as F, type CartDiscount as G, type CartItem as H, type CartItemProduct as I, type CartLinkClaimed as J, type CartPromotion as K, type CartSummaryEvent as L, type Category as M, type CategoryDetail as N, type CertificateVerification as O, type ProductDetail as P, type CheckoutAddress as Q, type CheckoutInput as R, type SdkResult as S, type CheckoutPaymentMethod as T, type CheckoutPreview as U, type CheckoutResult as V, type CheckoutSettings as W, type CookieConsentInput as X, type CourseAttachment as Y, type CourseCertificate as Z, type CourseComment as _, type ProductVariant as a, type OrderPickupPoint as a$, type CourseCommentsList as a0, type CourseDetail as a1, type CourseLesson as a2, type CourseListItem as a3, type CourseModule as a4, type CoursePostedComment as a5, type CourseProgress as a6, type CourseTutorMessage as a7, type CourseTutorThread as a8, type CrossSellItem as a9, type LessonNote as aA, type LessonQuiz as aB, type LoginInput as aC, type LoyaltyBalance as aD, type LoyaltyNextTier as aE, type LoyaltyProgram as aF, type LoyaltyQuery as aG, type LoyaltyReferralResult as aH, type LoyaltySummary as aI, type LoyaltyTier as aJ, type LoyaltyTierPerks as aK, type LoyaltyTransaction as aL, type Menu as aM, type MenuItem as aN, type MenuItemRef as aO, type MenuItemType as aP, type MessageResponse as aQ, type NewsletterOptInDefault as aR, type NewsletterSubscribeInput as aS, type NewsletterSubscribeResult as aT, type NewsletterUnsubscribeResult as aU, type OrderAccessRequestResponse as aV, type OrderAccessVerifyResponse as aW, type OrderDetail as aX, type OrderItem as aY, type OrderListItem as aZ, type OrderPaymentInstructions as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerBadge as ac, type CustomerChallenge as ad, type CustomerGamification as ae, type CustomerGamificationQuery as af, type CustomerProfile as ag, type DigitalDownload as ah, type DownloadUrl as ai, type Facet as aj, type FacetAvailability as ak, type FacetCategory as al, type FacetLabel as am, type FacetPriceRange as an, type FacetRange as ao, type FacetRatingBucket as ap, type FacetValue as aq, type FacetsResponse as ar, type FilterField as as, type FulfillmentStatus as at, FulfillmentStatuses as au, type GamificationRefreshResult as av, type GiftCardBalance as aw, type GiftCardPurchaseInput as ax, type GiftCardPurchaseResult as ay, type GiftCardSummary as az, type StorefrontFormFieldError as b, type ShopScriptPlacement as b$, type OrderShipment as b0, type OrderStatus as b1, type OrderStatusHistory as b2, OrderStatuses as b3, type OrderTracking as b4, type Page as b5, type PageAttachment as b6, type PageDetail as b7, type PaginatedResponse as b8, type PaymentInstrument as b9, type ProductVolumePrice as bA, type ProductsQuery as bB, type QuizAnswerInput as bC, type QuizAnswerResult as bD, type QuizQuestion as bE, type QuizResult as bF, type QuoteItem as bG, type QuoteRequest as bH, type RegisterInput as bI, type RegisterResult as bJ, type RequestInterceptor as bK, type RequestInterceptorConfig as bL, type ResponseInterceptor as bM, type ResponseInterceptorData as bN, type ReturnRequest as bO, type ReturnRequestItem as bP, type ReturnStatus as bQ, type ReturnStatusItem as bR, type ReturnableOrder as bS, type ReturnableOrderItem as bT, type SdkError as bU, type ShippingMethodSummary as bV, type ShippingQuote as bW, type ShippingQuoteInput as bX, type ShopAppearance as bY, type ShopInfo as bZ, type ShopScript as b_, type PaymentStatus as ba, PaymentStatuses as bb, type PaymentSwift as bc, type PickupPoint as bd, type PickupPointHours as be, type PickupPointsInput as bf, type PickupWidgetConfig as bg, type PriceDisplay as bh, type ProductAssetGroup as bi, type ProductAssetItem as bj, type ProductAvailability as bk, type ProductGroup as bl, type ProductLabel as bm, type ProductListItem as bn, type ProductMedia as bo, type ProductMediaVariant as bp, type ProductParameter as bq, type ProductParameterGroup as br, type ProductParametersResponse as bs, type ProductPrice as bt, type ProductPromotionSummary as bu, type ProductReview as bv, type ProductReviewsResponse as bw, type ProductSibling as bx, ProductSort as by, type ProductSortValue as bz, type AddToCartInput as c, type ShopScriptType as c0, type ShopScripts as c1, type ShopSeo as c2, type ShopSeoIdentity as c3, type SiteFormField as c4, type SiteFormFieldOption as c5, type SiteFormFieldType as c6, type Sitemap as c7, type SitemapEntry as c8, type StockBehavior as c9, type StockMode as ca, type StorefrontForm as cb, type StorefrontFormFieldErrorCode as cc, type StorefrontFormFile as cd, type StorefrontFormSettings as ce, type StorefrontFormSubmitInput as cf, type StorefrontFormSubmitResult as cg, type StorefrontFormUpload as ch, type SubmitQuoteInput as ci, type SubmitReturnInput as cj, type SubmitReviewInput as ck, type Subscription as cl, type SubscriptionAction as cm, type SubscriptionFrequency as cn, type SubscriptionItem as co, type SubscriptionStatus as cp, type TaxBreakdownLine as cq, type VariantAxis as cr, type VariantAxisValue as cs, type WishlistItem as ct, clearCartSummary as cu, err as cv, ok as cw, publishCartSummary as cx, toSdkError as cy, type AddressDetail as d, type AddressSuggestion as e, type AddressType as f, AddressTypes as g, type AuthTokens as h, type BackInStockSubscription as i, type BadgeTone as j, BehioApiError as k, type BehioErrorCode as l, type BehioEventHandler as m, type BehioEventType as n, BehioNetworkError as o, type BehioStorefrontConfig as p, type Blog as q, type BlogPostDetail as r, type BlogPostListItem as s, type BlogPostsPage as t, type BlogPostsQuery as u, type BlogSettings as v, type BlogTag as w, type Bundle as x, type BundleCatalogQuery as y, type BundleItem as z };
4110
+ export { type CourseCommentReply as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type Cart as D, type CartBundleLine as E, type CartBundleLineItem as F, type CartDiscount as G, type CartItem as H, type CartItemProduct as I, type CartLinkClaimed as J, type CartPromotion as K, type CartSummaryEvent as L, type Category as M, type CategoryDetail as N, type CertificateVerification as O, type ProductDetail as P, type CheckoutAddress as Q, type CheckoutInput as R, type SdkResult as S, type CheckoutPaymentMethod as T, type CheckoutPreview as U, type CheckoutResult as V, type CheckoutSettings as W, type CookieConsentInput as X, type CourseAttachment as Y, type CourseCertificate as Z, type CourseComment as _, type ProductVariant as a, type OrderPaymentInstructions as a$, type CourseCommentsList as a0, type CourseDetail as a1, type CourseLesson as a2, type CourseListItem as a3, type CourseModule as a4, type CoursePostedComment as a5, type CourseProgress as a6, type CourseTutorMessage as a7, type CourseTutorThread as a8, type CrossSellItem as a9, type LessonNote as aA, type LessonQuiz as aB, type LoginInput as aC, type LoyaltyBalance as aD, type LoyaltyNextTier as aE, type LoyaltyProgram as aF, type LoyaltyQuery as aG, type LoyaltyReferralResult as aH, type LoyaltySummary as aI, type LoyaltyTier as aJ, type LoyaltyTierPerks as aK, type LoyaltyTransaction as aL, type Menu as aM, type MenuItem as aN, type MenuItemRef as aO, type MenuItemType as aP, type MessageResponse as aQ, type NewsletterOptInDefault as aR, type NewsletterSubscribeInput as aS, type NewsletterSubscribeResult as aT, type NewsletterUnsubscribeResult as aU, type OrderAccessRequestResponse as aV, type OrderAccessVerifyResponse as aW, type OrderDetail as aX, type OrderDiscount as aY, type OrderItem as aZ, type OrderListItem as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerBadge as ac, type CustomerChallenge as ad, type CustomerGamification as ae, type CustomerGamificationQuery as af, type CustomerProfile as ag, type DigitalDownload as ah, type DownloadUrl as ai, type Facet as aj, type FacetAvailability as ak, type FacetCategory as al, type FacetLabel as am, type FacetPriceRange as an, type FacetRange as ao, type FacetRatingBucket as ap, type FacetValue as aq, type FacetsResponse as ar, type FilterField as as, type FulfillmentStatus as at, FulfillmentStatuses as au, type GamificationRefreshResult as av, type GiftCardBalance as aw, type GiftCardPurchaseInput as ax, type GiftCardPurchaseResult as ay, type GiftCardSummary as az, type StorefrontFormFieldError as b, type ShopScript as b$, type OrderPickupPoint as b0, type OrderShipment as b1, type OrderStatus as b2, type OrderStatusHistory as b3, OrderStatuses as b4, type OrderTracking as b5, type Page as b6, type PageAttachment as b7, type PageDetail as b8, type PaginatedResponse as b9, type ProductSortValue as bA, type ProductVolumePrice as bB, type ProductsQuery as bC, type QuizAnswerInput as bD, type QuizAnswerResult as bE, type QuizQuestion as bF, type QuizResult as bG, type QuoteItem as bH, type QuoteRequest as bI, type RegisterInput as bJ, type RegisterResult as bK, type RequestInterceptor as bL, type RequestInterceptorConfig as bM, type ResponseInterceptor as bN, type ResponseInterceptorData as bO, type ReturnRequest as bP, type ReturnRequestItem as bQ, type ReturnStatus as bR, type ReturnStatusItem as bS, type ReturnableOrder as bT, type ReturnableOrderItem as bU, type SdkError as bV, type ShippingMethodSummary as bW, type ShippingQuote as bX, type ShippingQuoteInput as bY, type ShopAppearance as bZ, type ShopInfo as b_, type PaymentInstrument as ba, type PaymentStatus as bb, PaymentStatuses as bc, type PaymentSwift as bd, type PickupPoint as be, type PickupPointHours as bf, type PickupPointsInput as bg, type PickupWidgetConfig as bh, type PriceDisplay as bi, type ProductAssetGroup as bj, type ProductAssetItem as bk, type ProductAvailability as bl, type ProductGroup as bm, type ProductLabel as bn, type ProductListItem as bo, type ProductMedia as bp, type ProductMediaVariant as bq, type ProductParameter as br, type ProductParameterGroup as bs, type ProductParametersResponse as bt, type ProductPrice as bu, type ProductPromotionSummary as bv, type ProductReview as bw, type ProductReviewsResponse as bx, type ProductSibling as by, ProductSort as bz, type AddToCartInput as c, type ShopScriptPlacement as c0, type ShopScriptType as c1, type ShopScripts as c2, type ShopSeo as c3, type ShopSeoIdentity as c4, type SiteFormField as c5, type SiteFormFieldOption as c6, type SiteFormFieldType as c7, type Sitemap as c8, type SitemapEntry as c9, type StockBehavior as ca, type StockMode as cb, type StorefrontForm as cc, type StorefrontFormFieldErrorCode as cd, type StorefrontFormFile as ce, type StorefrontFormSettings as cf, type StorefrontFormSubmitInput as cg, type StorefrontFormSubmitResult as ch, type StorefrontFormUpload as ci, type SubmitQuoteInput as cj, type SubmitReturnInput as ck, type SubmitReviewInput as cl, type Subscription as cm, type SubscriptionAction as cn, type SubscriptionFrequency as co, type SubscriptionItem as cp, type SubscriptionStatus as cq, type TaxBreakdownLine as cr, type VariantAxis as cs, type VariantAxisValue as ct, type WishlistItem as cu, clearCartSummary as cv, err as cw, ok as cx, publishCartSummary as cy, toSdkError as cz, type AddressDetail as d, type AddressSuggestion as e, type AddressType as f, AddressTypes as g, type AuthTokens as h, type BackInStockSubscription as i, type BadgeTone as j, BehioApiError as k, type BehioErrorCode as l, type BehioEventHandler as m, type BehioEventType as n, BehioNetworkError as o, type BehioStorefrontConfig as p, type Blog as q, type BlogPostDetail as r, type BlogPostListItem as s, type BlogPostsPage as t, type BlogPostsQuery as u, type BlogSettings as v, type BlogTag as w, type Bundle as x, type BundleCatalogQuery as y, type BundleItem as z };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-Cf_xibuw.mjs';
2
- export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderItem, aZ as OrderListItem, a_ as OrderPaymentInstructions, a$ as OrderPickupPoint, b0 as OrderShipment, b1 as OrderStatus, b2 as OrderStatusHistory, b3 as OrderStatuses, b4 as OrderTracking, b5 as Page, b6 as PageAttachment, b7 as PageDetail, b8 as PaginatedResponse, b9 as PaymentInstrument, ba as PaymentStatus, bb as PaymentStatuses, bc as PaymentSwift, bd as PickupPoint, be as PickupPointHours, bf as PickupPointsInput, bg as PickupWidgetConfig, bh as PriceDisplay, bi as ProductAssetGroup, bj as ProductAssetItem, bk as ProductAvailability, bl as ProductGroup, bm as ProductLabel, bn as ProductListItem, bo as ProductMedia, bp as ProductMediaVariant, bq as ProductParameter, br as ProductParameterGroup, bs as ProductParametersResponse, bt as ProductPrice, bu as ProductPromotionSummary, bv as ProductReview, bw as ProductReviewsResponse, bx as ProductSibling, by as ProductSort, bz as ProductSortValue, bA as ProductVolumePrice, bB as ProductsQuery, bC as QuizAnswerInput, bD as QuizAnswerResult, bE as QuizQuestion, bF as QuizResult, bG as QuoteItem, bH as QuoteRequest, bI as RegisterInput, bJ as RegisterResult, bK as RequestInterceptor, bL as RequestInterceptorConfig, bM as ResponseInterceptor, bN as ResponseInterceptorData, bO as ReturnRequest, bP as ReturnRequestItem, bQ as ReturnStatus, bR as ReturnStatusItem, bS as ReturnableOrder, bT as ReturnableOrderItem, bU as SdkError, bV as ShippingMethodSummary, bW as ShippingQuote, bX as ShippingQuoteInput, bY as ShopAppearance, bZ as ShopInfo, b_ as ShopScript, b$ as ShopScriptPlacement, c0 as ShopScriptType, c1 as ShopScripts, c2 as ShopSeo, c3 as ShopSeoIdentity, c4 as SiteFormField, c5 as SiteFormFieldOption, c6 as SiteFormFieldType, c7 as Sitemap, c8 as SitemapEntry, c9 as StockBehavior, ca as StockMode, cb as StorefrontForm, cc as StorefrontFormFieldErrorCode, cd as StorefrontFormFile, ce as StorefrontFormSettings, cf as StorefrontFormSubmitInput, cg as StorefrontFormSubmitResult, ch as StorefrontFormUpload, ci as SubmitQuoteInput, cj as SubmitReturnInput, ck as SubmitReviewInput, cl as Subscription, cm as SubscriptionAction, cn as SubscriptionFrequency, co as SubscriptionItem, cp as SubscriptionStatus, cq as TaxBreakdownLine, cr as VariantAxis, cs as VariantAxisValue, ct as WishlistItem, cu as clearCartSummary, cv as err, cw as ok, cx as publishCartSummary, cy as toSdkError } from './client-Cf_xibuw.mjs';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-DB_ve5Fp.mjs';
2
+ export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DB_ve5Fp.mjs';
3
3
 
4
4
  /**
5
5
  * Format a price amount with currency using Intl.NumberFormat.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-Cf_xibuw.js';
2
- export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderItem, aZ as OrderListItem, a_ as OrderPaymentInstructions, a$ as OrderPickupPoint, b0 as OrderShipment, b1 as OrderStatus, b2 as OrderStatusHistory, b3 as OrderStatuses, b4 as OrderTracking, b5 as Page, b6 as PageAttachment, b7 as PageDetail, b8 as PaginatedResponse, b9 as PaymentInstrument, ba as PaymentStatus, bb as PaymentStatuses, bc as PaymentSwift, bd as PickupPoint, be as PickupPointHours, bf as PickupPointsInput, bg as PickupWidgetConfig, bh as PriceDisplay, bi as ProductAssetGroup, bj as ProductAssetItem, bk as ProductAvailability, bl as ProductGroup, bm as ProductLabel, bn as ProductListItem, bo as ProductMedia, bp as ProductMediaVariant, bq as ProductParameter, br as ProductParameterGroup, bs as ProductParametersResponse, bt as ProductPrice, bu as ProductPromotionSummary, bv as ProductReview, bw as ProductReviewsResponse, bx as ProductSibling, by as ProductSort, bz as ProductSortValue, bA as ProductVolumePrice, bB as ProductsQuery, bC as QuizAnswerInput, bD as QuizAnswerResult, bE as QuizQuestion, bF as QuizResult, bG as QuoteItem, bH as QuoteRequest, bI as RegisterInput, bJ as RegisterResult, bK as RequestInterceptor, bL as RequestInterceptorConfig, bM as ResponseInterceptor, bN as ResponseInterceptorData, bO as ReturnRequest, bP as ReturnRequestItem, bQ as ReturnStatus, bR as ReturnStatusItem, bS as ReturnableOrder, bT as ReturnableOrderItem, bU as SdkError, bV as ShippingMethodSummary, bW as ShippingQuote, bX as ShippingQuoteInput, bY as ShopAppearance, bZ as ShopInfo, b_ as ShopScript, b$ as ShopScriptPlacement, c0 as ShopScriptType, c1 as ShopScripts, c2 as ShopSeo, c3 as ShopSeoIdentity, c4 as SiteFormField, c5 as SiteFormFieldOption, c6 as SiteFormFieldType, c7 as Sitemap, c8 as SitemapEntry, c9 as StockBehavior, ca as StockMode, cb as StorefrontForm, cc as StorefrontFormFieldErrorCode, cd as StorefrontFormFile, ce as StorefrontFormSettings, cf as StorefrontFormSubmitInput, cg as StorefrontFormSubmitResult, ch as StorefrontFormUpload, ci as SubmitQuoteInput, cj as SubmitReturnInput, ck as SubmitReviewInput, cl as Subscription, cm as SubscriptionAction, cn as SubscriptionFrequency, co as SubscriptionItem, cp as SubscriptionStatus, cq as TaxBreakdownLine, cr as VariantAxis, cs as VariantAxisValue, ct as WishlistItem, cu as clearCartSummary, cv as err, cw as ok, cx as publishCartSummary, cy as toSdkError } from './client-Cf_xibuw.js';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-DB_ve5Fp.js';
2
+ export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DB_ve5Fp.js';
3
3
 
4
4
  /**
5
5
  * Format a price amount with currency using Intl.NumberFormat.
package/dist/next.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-Cf_xibuw.mjs';
1
+ import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DB_ve5Fp.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 { p as BehioStorefrontConfig, B as BehioStorefront } from './client-Cf_xibuw.js';
1
+ import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DB_ve5Fp.js';
2
2
 
3
3
  interface GetBehioOptions extends Partial<BehioStorefrontConfig> {
4
4
  /** Override the cart session cookie name (default: "behio_cart_session"). */
package/dist/react.d.mts CHANGED
@@ -564,7 +564,7 @@ interface ProductLabel {
564
564
  id: string;
565
565
  slug: string;
566
566
  name: string;
567
- color?: string;
567
+ color?: string | null;
568
568
  /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
569
569
  iconName?: string | null;
570
570
  }
@@ -594,9 +594,9 @@ interface ProductListItem {
594
594
  id: string;
595
595
  slug: string;
596
596
  name: string;
597
- shortDescription?: string;
597
+ shortDescription?: string | null;
598
598
  sku: string;
599
- gtin?: string;
599
+ gtin?: string | null;
600
600
  /** `null` when prices are gated behind login for guests (B2B mode). */
601
601
  price: ProductPrice | null;
602
602
  inStock: boolean;
@@ -685,6 +685,9 @@ interface ProductListItem {
685
685
  url: string;
686
686
  alt: string | null;
687
687
  order: number;
688
+ /** COVER | LISTING | HOVER | GALLERY when the cover came from a roled
689
+ * product image; absent when it came from the inventory gallery (SDK 2.14.0). */
690
+ role?: string;
688
691
  } | null;
689
692
  labels: ProductLabel[];
690
693
  isFeatured: boolean;
@@ -899,7 +902,19 @@ interface ProductDetail extends ProductListItem {
899
902
  * null when uncapped or the shop hides stock counts. Cap the PDP quantity
900
903
  * stepper with it, it is exactly the cart rule. SDK 2.13.0. */
901
904
  maxPurchasableQuantity?: number | null;
902
- longDescription?: string;
905
+ /**
906
+ * @deprecated Not sent on the product detail, only on list cards. Use
907
+ * `media` (or `images`) for the gallery.
908
+ */
909
+ image?: ProductListItem["image"];
910
+ /** @deprecated Not sent on the product detail, only on list cards. */
911
+ hoverImageUrl?: string | null;
912
+ /**
913
+ * @deprecated Not sent on the product detail, only on list cards. Read the
914
+ * PDP promotions with `catalog.getProductPromotions(slug)`.
915
+ */
916
+ activePromotion?: ProductPromotionSummary | null;
917
+ longDescription?: string | null;
903
918
  /**
904
919
  * @deprecated Legacy per-listing images. Prefer `media`. Each carries its
905
920
  * `role` (COVER | LISTING | HOVER | GALLERY) so the storefront can pick a
@@ -907,7 +922,7 @@ interface ProductDetail extends ProductListItem {
907
922
  */
908
923
  images: Array<{
909
924
  url: string;
910
- alt?: string;
925
+ alt?: string | null;
911
926
  order: number;
912
927
  role?: string;
913
928
  }>;
@@ -975,6 +990,10 @@ interface ProductDetail extends ProductListItem {
975
990
  ogDescription?: string | null;
976
991
  ogImage?: string | null;
977
992
  };
993
+ /**
994
+ * @deprecated Never sent by the API. Load a group with
995
+ * `catalog.getProductGroup(slug)`.
996
+ */
978
997
  productGroups?: Array<{
979
998
  slug: string;
980
999
  name: string;
@@ -996,8 +1015,8 @@ interface Category {
996
1015
  id: string;
997
1016
  slug: string;
998
1017
  name: string;
999
- description?: string;
1000
- imageUrl?: string;
1018
+ description?: string | null;
1019
+ imageUrl?: string | null;
1001
1020
  children: Category[];
1002
1021
  productCount?: number;
1003
1022
  }
@@ -1060,11 +1079,18 @@ interface Menu {
1060
1079
  locale: string;
1061
1080
  items: MenuItem[];
1062
1081
  }
1063
- interface CategoryDetail extends Category {
1082
+ interface CategoryDetail extends Omit<Category, "children"> {
1083
+ /**
1084
+ * @deprecated Never sent on the category detail (it was typed as always
1085
+ * present, so `children.map` crashed). Read subcategories from
1086
+ * `catalog.getCategories()`.
1087
+ */
1088
+ children?: Category[];
1064
1089
  /**
1065
1090
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
1066
1091
  * shape (the old flat `seoTitle`/`seoDescription` never matched what the API
1067
- * returned). `keywords` is always null for categories.
1092
+ * returned). `keywords` is always null for categories. Null when the
1093
+ * category has no text in the requested language (SDK 2.14.0 types it).
1068
1094
  */
1069
1095
  seo?: {
1070
1096
  title?: string | null;
@@ -1073,7 +1099,7 @@ interface CategoryDetail extends Category {
1073
1099
  ogTitle?: string | null;
1074
1100
  ogDescription?: string | null;
1075
1101
  ogImage?: string | null;
1076
- };
1102
+ } | null;
1077
1103
  }
1078
1104
  /**
1079
1105
  * One available filter, derived from a curated parameter the merchant marked
@@ -1091,7 +1117,7 @@ interface FilterField {
1091
1117
  groupSlug: string;
1092
1118
  groupName: string;
1093
1119
  unit?: string | null;
1094
- values?: string[];
1120
+ values?: string[] | null;
1095
1121
  }
1096
1122
  interface FacetValue {
1097
1123
  /** Raw stored value (normalized), for exact filtering. */
@@ -1342,7 +1368,7 @@ interface CartItemProduct {
1342
1368
  * arbitrary translation row, so this could come back in another language. */
1343
1369
  name: string;
1344
1370
  sku: string;
1345
- imageUrl?: string;
1371
+ imageUrl?: string | null;
1346
1372
  inStock: boolean;
1347
1373
  /** Pieces left for an "only X left" note on the cart line; null when the
1348
1374
  * shop does not track stock, hides the nudge or has plenty. SDK 2.13.0. */
@@ -1440,7 +1466,7 @@ interface Cart {
1440
1466
  * 200 net" was 20, now it is 24.20 at 21 %). It lowers base and VAT, see
1441
1467
  * `taxBreakdown` and `vatTotal`. */
1442
1468
  discountTotal: number;
1443
- discount?: CartDiscount;
1469
+ discount?: CartDiscount | null;
1444
1470
  /** Auto-apply promotion discount lines (sale/BOGO). */
1445
1471
  appliedPromotions: CartPromotion[];
1446
1472
  /** Sum of `appliedPromotions[].discountAmount`; already reflected in `grandTotal`. */
@@ -1645,6 +1671,12 @@ interface CheckoutInput {
1645
1671
  * guests. See `customer.getLoyalty()` for the available balance.
1646
1672
  */
1647
1673
  redeemLoyaltyPoints?: number;
1674
+ /**
1675
+ * Cart session to order. The SDK sends it in the `X-Cart-Session` header on
1676
+ * its own, so leave it out; the body field is for clients without the
1677
+ * header (SDK 2.14.0 documents it, the backend has always accepted it).
1678
+ */
1679
+ sessionToken?: string;
1648
1680
  }
1649
1681
  type OrderStatus = (typeof OrderStatuses)[keyof typeof OrderStatuses];
1650
1682
  type PaymentStatus = (typeof PaymentStatuses)[keyof typeof PaymentStatuses];
@@ -1660,6 +1692,8 @@ interface OrderListItem {
1660
1692
  createdAt: number;
1661
1693
  }
1662
1694
  interface OrderItem {
1695
+ /** Order line id (SDK 2.14.0). */
1696
+ id?: string;
1663
1697
  productName: string;
1664
1698
  sku: string;
1665
1699
  /** Photo snapshot from checkout, or the product's current photo. */
@@ -1671,9 +1705,23 @@ interface OrderItem {
1671
1705
  productSlug?: string | null;
1672
1706
  quantity: number;
1673
1707
  unitPrice: number;
1708
+ /** VAT rate of the line in percent, e.g. 21 (SDK 2.14.0). */
1709
+ taxRate?: number;
1710
+ /** VAT of the whole line (SDK 2.14.0). */
1711
+ taxAmount?: number;
1674
1712
  totalPrice: number;
1675
1713
  totalPriceWithTax: number;
1676
1714
  }
1715
+ /** A discount code applied to an order (SDK 2.14.0). */
1716
+ interface OrderDiscount {
1717
+ code: string;
1718
+ /** PERCENTAGE, FIXED_AMOUNT or FREE_SHIPPING. */
1719
+ type: string;
1720
+ /** Percent or amount as configured on the code. */
1721
+ value: number;
1722
+ /** Money the code took off this order. */
1723
+ appliedAmount: number;
1724
+ }
1677
1725
  /**
1678
1726
  * PII-minimized order view returned by `orders.track(token)`. The tracking
1679
1727
  * token is shared in URLs and e-mails, so this deliberately omits full
@@ -1726,9 +1774,14 @@ interface OrderShipment {
1726
1774
  createdAt: number;
1727
1775
  }
1728
1776
  interface OrderStatusHistory {
1729
- fromStatus?: OrderStatus;
1777
+ /** Null for the first entry of an order. */
1778
+ fromStatus?: OrderStatus | null;
1730
1779
  toStatus: OrderStatus;
1731
- note?: string;
1780
+ note?: string | null;
1781
+ /**
1782
+ * @deprecated Never sent: who changed the status is internal to the shop.
1783
+ * Kept only so existing templates keep compiling.
1784
+ */
1732
1785
  changedBy?: string;
1733
1786
  createdAt: number;
1734
1787
  }
@@ -1765,8 +1818,8 @@ interface OrderDetail extends OrderListItem {
1765
1818
  shippingAddress: CheckoutAddress;
1766
1819
  billingAddress: CheckoutAddress;
1767
1820
  email: string;
1768
- phone?: string;
1769
- customerNote?: string;
1821
+ phone?: string | null;
1822
+ customerNote?: string | null;
1770
1823
  subtotal: number;
1771
1824
  /** Goods VAT before order discounts (goods subtotal = `subtotal` + `taxTotal`). */
1772
1825
  taxTotal: number;
@@ -1788,6 +1841,12 @@ interface OrderDetail extends OrderListItem {
1788
1841
  discountTotal: number;
1789
1842
  fulfillmentStatus: FulfillmentStatus;
1790
1843
  statusHistory: OrderStatusHistory[];
1844
+ /** Discount codes applied to the order (SDK 2.14.0). */
1845
+ discounts?: OrderDiscount[];
1846
+ /**
1847
+ * @deprecated Not sent on the order detail. Only `checkout.createOrder()`
1848
+ * returns it, see `CheckoutResult.trackingToken`.
1849
+ */
1791
1850
  trackingToken?: string;
1792
1851
  /**
1793
1852
  * Digital product delivery (GAP-07): download grants for any digital assets
@@ -2107,10 +2166,12 @@ interface DownloadUrl {
2107
2166
  interface CustomerProfile {
2108
2167
  id: string;
2109
2168
  email: string;
2110
- firstName?: string;
2111
- lastName?: string;
2112
- phone?: string;
2169
+ firstName?: string | null;
2170
+ lastName?: string | null;
2171
+ phone?: string | null;
2113
2172
  emailVerified: boolean;
2173
+ /** Registration time (Unix ms). */
2174
+ createdAt?: number;
2114
2175
  /**
2115
2176
  * B2B approval gate (GAP-19). `false` = the account is awaiting merchant
2116
2177
  * approval (or was deactivated) — show a "pending approval" banner and gate
@@ -2126,7 +2187,8 @@ interface CustomerAddress {
2126
2187
  isDefault: boolean;
2127
2188
  firstName: string;
2128
2189
  lastName: string;
2129
- company?: string;
2190
+ /** Null when not set. Send null on update to clear it. */
2191
+ company?: string | null;
2130
2192
  street: string;
2131
2193
  city: string;
2132
2194
  zip: string;
@@ -2144,7 +2206,8 @@ interface CustomerAddress {
2144
2206
  vatIdValid?: boolean | null;
2145
2207
  /** When the VAT ID was last checked (ms). Read-only. */
2146
2208
  vatIdCheckedAt?: number | null;
2147
- phone?: string;
2209
+ /** Null when not set. Send null on update to clear it. */
2210
+ phone?: string | null;
2148
2211
  }
2149
2212
  interface Page {
2150
2213
  slug: string;
@@ -3199,6 +3262,7 @@ declare class BehioStorefront {
3199
3262
  visitorId: string;
3200
3263
  email: string;
3201
3264
  }): Promise<SdkResult<{
3265
+ /** Single-use code for the offered product, issued by this call. */
3202
3266
  code: string;
3203
3267
  percent: number;
3204
3268
  expiresAt: number;
@@ -3965,6 +4029,8 @@ interface AddressDetail {
3965
4029
  formattedAddress: string;
3966
4030
  lat: number;
3967
4031
  lng: number;
4032
+ /** Set (and the address fields empty) when the request had no `placeId`. */
4033
+ error?: string | null;
3968
4034
  }
3969
4035
  declare class AddressModule {
3970
4036
  private client;
package/dist/react.d.ts CHANGED
@@ -564,7 +564,7 @@ interface ProductLabel {
564
564
  id: string;
565
565
  slug: string;
566
566
  name: string;
567
- color?: string;
567
+ color?: string | null;
568
568
  /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
569
569
  iconName?: string | null;
570
570
  }
@@ -594,9 +594,9 @@ interface ProductListItem {
594
594
  id: string;
595
595
  slug: string;
596
596
  name: string;
597
- shortDescription?: string;
597
+ shortDescription?: string | null;
598
598
  sku: string;
599
- gtin?: string;
599
+ gtin?: string | null;
600
600
  /** `null` when prices are gated behind login for guests (B2B mode). */
601
601
  price: ProductPrice | null;
602
602
  inStock: boolean;
@@ -685,6 +685,9 @@ interface ProductListItem {
685
685
  url: string;
686
686
  alt: string | null;
687
687
  order: number;
688
+ /** COVER | LISTING | HOVER | GALLERY when the cover came from a roled
689
+ * product image; absent when it came from the inventory gallery (SDK 2.14.0). */
690
+ role?: string;
688
691
  } | null;
689
692
  labels: ProductLabel[];
690
693
  isFeatured: boolean;
@@ -899,7 +902,19 @@ interface ProductDetail extends ProductListItem {
899
902
  * null when uncapped or the shop hides stock counts. Cap the PDP quantity
900
903
  * stepper with it, it is exactly the cart rule. SDK 2.13.0. */
901
904
  maxPurchasableQuantity?: number | null;
902
- longDescription?: string;
905
+ /**
906
+ * @deprecated Not sent on the product detail, only on list cards. Use
907
+ * `media` (or `images`) for the gallery.
908
+ */
909
+ image?: ProductListItem["image"];
910
+ /** @deprecated Not sent on the product detail, only on list cards. */
911
+ hoverImageUrl?: string | null;
912
+ /**
913
+ * @deprecated Not sent on the product detail, only on list cards. Read the
914
+ * PDP promotions with `catalog.getProductPromotions(slug)`.
915
+ */
916
+ activePromotion?: ProductPromotionSummary | null;
917
+ longDescription?: string | null;
903
918
  /**
904
919
  * @deprecated Legacy per-listing images. Prefer `media`. Each carries its
905
920
  * `role` (COVER | LISTING | HOVER | GALLERY) so the storefront can pick a
@@ -907,7 +922,7 @@ interface ProductDetail extends ProductListItem {
907
922
  */
908
923
  images: Array<{
909
924
  url: string;
910
- alt?: string;
925
+ alt?: string | null;
911
926
  order: number;
912
927
  role?: string;
913
928
  }>;
@@ -975,6 +990,10 @@ interface ProductDetail extends ProductListItem {
975
990
  ogDescription?: string | null;
976
991
  ogImage?: string | null;
977
992
  };
993
+ /**
994
+ * @deprecated Never sent by the API. Load a group with
995
+ * `catalog.getProductGroup(slug)`.
996
+ */
978
997
  productGroups?: Array<{
979
998
  slug: string;
980
999
  name: string;
@@ -996,8 +1015,8 @@ interface Category {
996
1015
  id: string;
997
1016
  slug: string;
998
1017
  name: string;
999
- description?: string;
1000
- imageUrl?: string;
1018
+ description?: string | null;
1019
+ imageUrl?: string | null;
1001
1020
  children: Category[];
1002
1021
  productCount?: number;
1003
1022
  }
@@ -1060,11 +1079,18 @@ interface Menu {
1060
1079
  locale: string;
1061
1080
  items: MenuItem[];
1062
1081
  }
1063
- interface CategoryDetail extends Category {
1082
+ interface CategoryDetail extends Omit<Category, "children"> {
1083
+ /**
1084
+ * @deprecated Never sent on the category detail (it was typed as always
1085
+ * present, so `children.map` crashed). Read subcategories from
1086
+ * `catalog.getCategories()`.
1087
+ */
1088
+ children?: Category[];
1064
1089
  /**
1065
1090
  * SEO/Open Graph for the category page. Matches the backend's nested `seo`
1066
1091
  * shape (the old flat `seoTitle`/`seoDescription` never matched what the API
1067
- * returned). `keywords` is always null for categories.
1092
+ * returned). `keywords` is always null for categories. Null when the
1093
+ * category has no text in the requested language (SDK 2.14.0 types it).
1068
1094
  */
1069
1095
  seo?: {
1070
1096
  title?: string | null;
@@ -1073,7 +1099,7 @@ interface CategoryDetail extends Category {
1073
1099
  ogTitle?: string | null;
1074
1100
  ogDescription?: string | null;
1075
1101
  ogImage?: string | null;
1076
- };
1102
+ } | null;
1077
1103
  }
1078
1104
  /**
1079
1105
  * One available filter, derived from a curated parameter the merchant marked
@@ -1091,7 +1117,7 @@ interface FilterField {
1091
1117
  groupSlug: string;
1092
1118
  groupName: string;
1093
1119
  unit?: string | null;
1094
- values?: string[];
1120
+ values?: string[] | null;
1095
1121
  }
1096
1122
  interface FacetValue {
1097
1123
  /** Raw stored value (normalized), for exact filtering. */
@@ -1342,7 +1368,7 @@ interface CartItemProduct {
1342
1368
  * arbitrary translation row, so this could come back in another language. */
1343
1369
  name: string;
1344
1370
  sku: string;
1345
- imageUrl?: string;
1371
+ imageUrl?: string | null;
1346
1372
  inStock: boolean;
1347
1373
  /** Pieces left for an "only X left" note on the cart line; null when the
1348
1374
  * shop does not track stock, hides the nudge or has plenty. SDK 2.13.0. */
@@ -1440,7 +1466,7 @@ interface Cart {
1440
1466
  * 200 net" was 20, now it is 24.20 at 21 %). It lowers base and VAT, see
1441
1467
  * `taxBreakdown` and `vatTotal`. */
1442
1468
  discountTotal: number;
1443
- discount?: CartDiscount;
1469
+ discount?: CartDiscount | null;
1444
1470
  /** Auto-apply promotion discount lines (sale/BOGO). */
1445
1471
  appliedPromotions: CartPromotion[];
1446
1472
  /** Sum of `appliedPromotions[].discountAmount`; already reflected in `grandTotal`. */
@@ -1645,6 +1671,12 @@ interface CheckoutInput {
1645
1671
  * guests. See `customer.getLoyalty()` for the available balance.
1646
1672
  */
1647
1673
  redeemLoyaltyPoints?: number;
1674
+ /**
1675
+ * Cart session to order. The SDK sends it in the `X-Cart-Session` header on
1676
+ * its own, so leave it out; the body field is for clients without the
1677
+ * header (SDK 2.14.0 documents it, the backend has always accepted it).
1678
+ */
1679
+ sessionToken?: string;
1648
1680
  }
1649
1681
  type OrderStatus = (typeof OrderStatuses)[keyof typeof OrderStatuses];
1650
1682
  type PaymentStatus = (typeof PaymentStatuses)[keyof typeof PaymentStatuses];
@@ -1660,6 +1692,8 @@ interface OrderListItem {
1660
1692
  createdAt: number;
1661
1693
  }
1662
1694
  interface OrderItem {
1695
+ /** Order line id (SDK 2.14.0). */
1696
+ id?: string;
1663
1697
  productName: string;
1664
1698
  sku: string;
1665
1699
  /** Photo snapshot from checkout, or the product's current photo. */
@@ -1671,9 +1705,23 @@ interface OrderItem {
1671
1705
  productSlug?: string | null;
1672
1706
  quantity: number;
1673
1707
  unitPrice: number;
1708
+ /** VAT rate of the line in percent, e.g. 21 (SDK 2.14.0). */
1709
+ taxRate?: number;
1710
+ /** VAT of the whole line (SDK 2.14.0). */
1711
+ taxAmount?: number;
1674
1712
  totalPrice: number;
1675
1713
  totalPriceWithTax: number;
1676
1714
  }
1715
+ /** A discount code applied to an order (SDK 2.14.0). */
1716
+ interface OrderDiscount {
1717
+ code: string;
1718
+ /** PERCENTAGE, FIXED_AMOUNT or FREE_SHIPPING. */
1719
+ type: string;
1720
+ /** Percent or amount as configured on the code. */
1721
+ value: number;
1722
+ /** Money the code took off this order. */
1723
+ appliedAmount: number;
1724
+ }
1677
1725
  /**
1678
1726
  * PII-minimized order view returned by `orders.track(token)`. The tracking
1679
1727
  * token is shared in URLs and e-mails, so this deliberately omits full
@@ -1726,9 +1774,14 @@ interface OrderShipment {
1726
1774
  createdAt: number;
1727
1775
  }
1728
1776
  interface OrderStatusHistory {
1729
- fromStatus?: OrderStatus;
1777
+ /** Null for the first entry of an order. */
1778
+ fromStatus?: OrderStatus | null;
1730
1779
  toStatus: OrderStatus;
1731
- note?: string;
1780
+ note?: string | null;
1781
+ /**
1782
+ * @deprecated Never sent: who changed the status is internal to the shop.
1783
+ * Kept only so existing templates keep compiling.
1784
+ */
1732
1785
  changedBy?: string;
1733
1786
  createdAt: number;
1734
1787
  }
@@ -1765,8 +1818,8 @@ interface OrderDetail extends OrderListItem {
1765
1818
  shippingAddress: CheckoutAddress;
1766
1819
  billingAddress: CheckoutAddress;
1767
1820
  email: string;
1768
- phone?: string;
1769
- customerNote?: string;
1821
+ phone?: string | null;
1822
+ customerNote?: string | null;
1770
1823
  subtotal: number;
1771
1824
  /** Goods VAT before order discounts (goods subtotal = `subtotal` + `taxTotal`). */
1772
1825
  taxTotal: number;
@@ -1788,6 +1841,12 @@ interface OrderDetail extends OrderListItem {
1788
1841
  discountTotal: number;
1789
1842
  fulfillmentStatus: FulfillmentStatus;
1790
1843
  statusHistory: OrderStatusHistory[];
1844
+ /** Discount codes applied to the order (SDK 2.14.0). */
1845
+ discounts?: OrderDiscount[];
1846
+ /**
1847
+ * @deprecated Not sent on the order detail. Only `checkout.createOrder()`
1848
+ * returns it, see `CheckoutResult.trackingToken`.
1849
+ */
1791
1850
  trackingToken?: string;
1792
1851
  /**
1793
1852
  * Digital product delivery (GAP-07): download grants for any digital assets
@@ -2107,10 +2166,12 @@ interface DownloadUrl {
2107
2166
  interface CustomerProfile {
2108
2167
  id: string;
2109
2168
  email: string;
2110
- firstName?: string;
2111
- lastName?: string;
2112
- phone?: string;
2169
+ firstName?: string | null;
2170
+ lastName?: string | null;
2171
+ phone?: string | null;
2113
2172
  emailVerified: boolean;
2173
+ /** Registration time (Unix ms). */
2174
+ createdAt?: number;
2114
2175
  /**
2115
2176
  * B2B approval gate (GAP-19). `false` = the account is awaiting merchant
2116
2177
  * approval (or was deactivated) — show a "pending approval" banner and gate
@@ -2126,7 +2187,8 @@ interface CustomerAddress {
2126
2187
  isDefault: boolean;
2127
2188
  firstName: string;
2128
2189
  lastName: string;
2129
- company?: string;
2190
+ /** Null when not set. Send null on update to clear it. */
2191
+ company?: string | null;
2130
2192
  street: string;
2131
2193
  city: string;
2132
2194
  zip: string;
@@ -2144,7 +2206,8 @@ interface CustomerAddress {
2144
2206
  vatIdValid?: boolean | null;
2145
2207
  /** When the VAT ID was last checked (ms). Read-only. */
2146
2208
  vatIdCheckedAt?: number | null;
2147
- phone?: string;
2209
+ /** Null when not set. Send null on update to clear it. */
2210
+ phone?: string | null;
2148
2211
  }
2149
2212
  interface Page {
2150
2213
  slug: string;
@@ -3199,6 +3262,7 @@ declare class BehioStorefront {
3199
3262
  visitorId: string;
3200
3263
  email: string;
3201
3264
  }): Promise<SdkResult<{
3265
+ /** Single-use code for the offered product, issued by this call. */
3202
3266
  code: string;
3203
3267
  percent: number;
3204
3268
  expiresAt: number;
@@ -3965,6 +4029,8 @@ interface AddressDetail {
3965
4029
  formattedAddress: string;
3966
4030
  lat: number;
3967
4031
  lng: number;
4032
+ /** Set (and the address fields empty) when the request had no `placeId`. */
4033
+ error?: string | null;
3968
4034
  }
3969
4035
  declare class AddressModule {
3970
4036
  private client;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@behio/storefront-sdk",
3
- "version": "2.13.0",
3
+ "version": "2.14.0",
4
4
  "description": "TypeScript SDK for Behio headless e-commerce: core client + React hooks",
5
5
  "author": "Behio",
6
6
  "license": "MIT",