@behio/storefront-sdk 2.8.0 → 2.10.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.
package/README.md CHANGED
@@ -4,6 +4,24 @@
4
4
 
5
5
  Behio gives you a complete e-commerce backend (products, inventory, orders, customers, discounts, multi-currency, multi-language) and lets you design the storefront however you want. Merchants run on it worldwide, with local tax rules, carriers and payment gateways handled natively. No themes, no templates, no vendor lock-in.
6
6
 
7
+ ### Catalog display settings (2.9.0)
8
+
9
+ `ShopInfo.defaultProductSort` carries the normalized merchant default. Use it
10
+ for the selected sort control when the URL does not specify a sort. Omitting
11
+ `sort` from a catalog request applies this default on the server.
12
+
13
+ Price bounds and facet ranges use the visitor's displayed offer, including
14
+ customer pricing and variant starting prices. Use the same authenticated client
15
+ for both calls. When guest prices are hidden, the range is null and price bounds
16
+ are ignored to prevent disclosure through result counts.
17
+
18
+ `ProductLabel` and `FacetLabel` expose nullable `iconName` alongside the
19
+ merchant's color and localized name. Product lists, details, labels and facets
20
+ preserve this value. Render a trusted local icon with a safe fallback; never
21
+ treat the string as SVG, HTML or a URL. Labels and automatic rules are resolved
22
+ by the API. Keep text visible and use readable contrast for the chosen color.
23
+
24
+
7
25
  ## Why Behio?
8
26
 
9
27
  - **You own the frontend.** Next.js, React, Vue, Nuxt, Astro, or plain JS, the backend doesn't care.
@@ -269,6 +287,12 @@ does not double quantities. Expired links fail with
269
287
  `be.storefront.cartLinkExpired`. Answer `GET /cart/link/_probe` with header
270
288
  `x-behio-cart-link: 1` so Behio Chat knows the storefront supports links.
271
289
 
290
+ ### Form validation errors (2.6.1)
291
+
292
+ `formFieldErrors(error)` retains every supported field code, including
293
+ `dateNotFuture`, `dateNotPast` and `tooManyFiles`. Display each error beside
294
+ its field and preserve entered values when a submission is rejected.
295
+
272
296
  ### Cart summary for page scripts (2.6)
273
297
 
274
298
  Browser cart responses dispatch `behio:cart` on `window` with
@@ -359,3 +383,12 @@ show returned errors next to the native form and reread the authoritative cart.
359
383
  Domain-bound availability is preserved in currency, destination, code, merge,
360
384
  and removal responses. Analytics must omit unknown amounts and must not emit a
361
385
  payable cart value when `totalsAvailable` is false.
386
+
387
+ ### Customer rewards (2.9)
388
+
389
+ Authenticated, SSR-safe `customer.getGamification({badgesPage?, challengesPage?, limit?})`
390
+ returns earned badges and challenges with separate pagination.
391
+ `customer.joinChallenge(challengeId)` keeps enrollment idempotent;
392
+ `customer.refreshGamification()` reconciles persisted activity. Use POST forms for
393
+ these mutations and re-read rewards plus the loyalty balance on success.
394
+ Errors must remain visible. No client-provided point amount or progress is accepted.
@@ -1576,8 +1576,28 @@ var CustomerModule = class {
1576
1576
  * value, current tier, next-tier progress, point ratio, referral code,
1577
1577
  * recent transactions). Requires an authenticated customer session.
1578
1578
  */
1579
- async getLoyalty() {
1580
- return this.client.request("GET", "/customer/loyalty");
1579
+ async getLoyalty(query = {}) {
1580
+ return this.client.request("GET", "/customer/loyalty", { query: { ...query } });
1581
+ }
1582
+ /** Apply an invitation to the caller's active loyalty membership, once. */
1583
+ async applyReferral(code) {
1584
+ return this.client.request("POST", "/customer/loyalty/referral", { body: { code } });
1585
+ }
1586
+ /** Explicit enrollment; invite-only programs require the shop administrator. */
1587
+ async joinLoyalty() {
1588
+ return this.client.request("POST", "/customer/loyalty/join", { body: { consent: true } });
1589
+ }
1590
+ /** Authenticated account rewards. Both collections have independent pages. */
1591
+ async getGamification(query = {}) {
1592
+ return this.client.request("GET", "/customer/gamification", { query: { ...query } });
1593
+ }
1594
+ /** Join an active challenge; a repeated call preserves the original joinedAt. */
1595
+ async joinChallenge(challengeId) {
1596
+ return this.client.request("POST", `/customer/gamification/challenges/${encodeURIComponent(challengeId)}/join`);
1597
+ }
1598
+ /** Reconcile persisted qualifying activity. Never supplies progress or points. */
1599
+ async refreshGamification() {
1600
+ return this.client.request("POST", "/customer/gamification/refresh");
1581
1601
  }
1582
1602
  /**
1583
1603
  * Digital product delivery (GAP-07): list the logged-in customer's download
@@ -1576,8 +1576,28 @@ var CustomerModule = class {
1576
1576
  * value, current tier, next-tier progress, point ratio, referral code,
1577
1577
  * recent transactions). Requires an authenticated customer session.
1578
1578
  */
1579
- async getLoyalty() {
1580
- return this.client.request("GET", "/customer/loyalty");
1579
+ async getLoyalty(query = {}) {
1580
+ return this.client.request("GET", "/customer/loyalty", { query: { ...query } });
1581
+ }
1582
+ /** Apply an invitation to the caller's active loyalty membership, once. */
1583
+ async applyReferral(code) {
1584
+ return this.client.request("POST", "/customer/loyalty/referral", { body: { code } });
1585
+ }
1586
+ /** Explicit enrollment; invite-only programs require the shop administrator. */
1587
+ async joinLoyalty() {
1588
+ return this.client.request("POST", "/customer/loyalty/join", { body: { consent: true } });
1589
+ }
1590
+ /** Authenticated account rewards. Both collections have independent pages. */
1591
+ async getGamification(query = {}) {
1592
+ return this.client.request("GET", "/customer/gamification", { query: { ...query } });
1593
+ }
1594
+ /** Join an active challenge; a repeated call preserves the original joinedAt. */
1595
+ async joinChallenge(challengeId) {
1596
+ return this.client.request("POST", `/customer/gamification/challenges/${encodeURIComponent(challengeId)}/join`);
1597
+ }
1598
+ /** Reconcile persisted qualifying activity. Never supplies progress or points. */
1599
+ async refreshGamification() {
1600
+ return this.client.request("POST", "/customer/gamification/refresh");
1581
1601
  }
1582
1602
  /**
1583
1603
  * Digital product delivery (GAP-07): list the logged-in customer's download
@@ -172,6 +172,8 @@ interface CheckoutSettings {
172
172
  type PriceDisplay = "INCL_VAT" | "EXCL_VAT" | "CUSTOMER_CHOICE";
173
173
  type CurrencyDisplayFormat = "SYMBOL_BEFORE" | "SYMBOL_AFTER" | "CODE";
174
174
  interface ShopInfo {
175
+ /** Merchant default catalog order, normalized to the public sort values. */
176
+ defaultProductSort?: ProductSortValue;
175
177
  currencyDisplayFormat?: CurrencyDisplayFormat;
176
178
  account?: {
177
179
  passwordMinLength: number;
@@ -505,6 +507,8 @@ interface ProductLabel {
505
507
  slug: string;
506
508
  name: string;
507
509
  color?: string;
510
+ /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
511
+ iconName?: string | null;
508
512
  }
509
513
  /**
510
514
  * Resolved availability status of a product. Either a merchant preset
@@ -1072,6 +1076,7 @@ interface FacetLabel {
1072
1076
  slug: string;
1073
1077
  name: string;
1074
1078
  color?: string | null;
1079
+ iconName?: string | null;
1075
1080
  count: number;
1076
1081
  }
1077
1082
  interface FacetCategory {
@@ -2532,6 +2537,7 @@ interface PickupPointsInput {
2532
2537
  }
2533
2538
  /** Public terms of the eshop's loyalty program. */
2534
2539
  interface LoyaltyProgram {
2540
+ enrollmentType?: "AUTO_ON_REGISTER" | "OPT_IN" | "INVITE_ONLY";
2535
2541
  name: string;
2536
2542
  pointName: string;
2537
2543
  pointNamePlural: string;
@@ -2546,6 +2552,8 @@ interface LoyaltyProgram {
2546
2552
  }
2547
2553
  interface LoyaltyBalance {
2548
2554
  currentPoints: number;
2555
+ /** Revoked points to offset before new rewards become spendable. Absent on older servers. */
2556
+ pointsDebt?: number;
2549
2557
  /** `currentPoints` valued in the program currency. */
2550
2558
  currentPointsValue: number;
2551
2559
  lifetimePointsEarned: number;
@@ -2577,10 +2585,13 @@ interface LoyaltyNextTier {
2577
2585
  progressPercent: number;
2578
2586
  }
2579
2587
  interface LoyaltyTransaction {
2588
+ /** Stable identifier on servers supporting cursor history. */
2589
+ id?: string;
2580
2590
  type: string;
2581
2591
  /** Positive = earned, negative = redeemed / expired. */
2582
2592
  points: number;
2583
2593
  balanceAfter: number;
2594
+ debtAfter?: number;
2584
2595
  eventType: string | null;
2585
2596
  description: string | null;
2586
2597
  createdAt: number;
@@ -2592,6 +2603,7 @@ interface LoyaltyTransaction {
2592
2603
  * "join and earn" CTA).
2593
2604
  */
2594
2605
  interface LoyaltySummary {
2606
+ canJoin?: boolean;
2595
2607
  hasProgram: boolean;
2596
2608
  enrolled: boolean;
2597
2609
  program: LoyaltyProgram | null;
@@ -2600,6 +2612,18 @@ interface LoyaltySummary {
2600
2612
  nextTier: LoyaltyNextTier | null;
2601
2613
  referralCode: string | null;
2602
2614
  transactions: LoyaltyTransaction[];
2615
+ /** Follow using getLoyalty({transactionsCursor}); null is the last page. */
2616
+ transactionsNextCursor?: string | null;
2617
+ canApplyReferral?: boolean;
2618
+ }
2619
+ interface LoyaltyReferralResult {
2620
+ alreadyApplied: boolean;
2621
+ recipientPoints: number;
2622
+ }
2623
+ interface LoyaltyQuery {
2624
+ transactionsCursor?: string;
2625
+ /** 1 to 50, default 20. */
2626
+ transactionsLimit?: number;
2603
2627
  }
2604
2628
  interface CrossSellItem {
2605
2629
  productId: string;
@@ -2928,6 +2952,55 @@ interface CartLinkClaimed extends Cart {
2928
2952
  /** Code carried by the link, including a refused code. Null means no code was offered. */
2929
2953
  linkDiscountCode: string | null;
2930
2954
  }
2955
+ /** Earned merchant badges for the current authenticated customer. */
2956
+ interface CustomerBadge {
2957
+ id: string;
2958
+ name: string;
2959
+ slug: string;
2960
+ description: string | null;
2961
+ iconUrl: string | null;
2962
+ type: "MILESTONE" | "CHALLENGE" | "STREAK" | "ACHIEVEMENT" | "CUSTOM";
2963
+ earnedAt: number;
2964
+ }
2965
+ interface CustomerChallenge {
2966
+ id: string;
2967
+ name: string;
2968
+ slug: string;
2969
+ description: string | null;
2970
+ targetType: string;
2971
+ targetValue: number;
2972
+ /** TOTAL_SPEND uses the shop's default currency and stored reference FX rates. */
2973
+ currency: string;
2974
+ startsAt: number;
2975
+ endsAt: number;
2976
+ rewardPoints: number | null;
2977
+ rewardBadgeName: string | null;
2978
+ active: boolean;
2979
+ joined: boolean;
2980
+ currentProgress: number;
2981
+ completedAt: number | null;
2982
+ canJoin: boolean;
2983
+ rewardMembershipRequired: boolean;
2984
+ }
2985
+ interface CustomerGamificationQuery {
2986
+ badgesPage?: number;
2987
+ challengesPage?: number;
2988
+ /** 1..50, default 20. */
2989
+ limit?: number;
2990
+ }
2991
+ interface CustomerGamification {
2992
+ badges: CustomerBadge[];
2993
+ badgesTotal: number;
2994
+ badgesPage: number;
2995
+ challenges: CustomerChallenge[];
2996
+ challengesTotal: number;
2997
+ challengesPage: number;
2998
+ limit: number;
2999
+ }
3000
+ interface GamificationRefreshResult {
3001
+ awarded: number;
3002
+ completed: number;
3003
+ }
2931
3004
 
2932
3005
  declare class BehioStorefront {
2933
3006
  private baseUrl;
@@ -3551,7 +3624,17 @@ declare class CustomerModule {
3551
3624
  * value, current tier, next-tier progress, point ratio, referral code,
3552
3625
  * recent transactions). Requires an authenticated customer session.
3553
3626
  */
3554
- getLoyalty(): Promise<SdkResult<LoyaltySummary>>;
3627
+ getLoyalty(query?: LoyaltyQuery): Promise<SdkResult<LoyaltySummary>>;
3628
+ /** Apply an invitation to the caller's active loyalty membership, once. */
3629
+ applyReferral(code: string): Promise<SdkResult<LoyaltyReferralResult>>;
3630
+ /** Explicit enrollment; invite-only programs require the shop administrator. */
3631
+ joinLoyalty(): Promise<SdkResult<LoyaltySummary>>;
3632
+ /** Authenticated account rewards. Both collections have independent pages. */
3633
+ getGamification(query?: CustomerGamificationQuery): Promise<SdkResult<CustomerGamification>>;
3634
+ /** Join an active challenge; a repeated call preserves the original joinedAt. */
3635
+ joinChallenge(challengeId: string): Promise<SdkResult<GamificationRefreshResult>>;
3636
+ /** Reconcile persisted qualifying activity. Never supplies progress or points. */
3637
+ refreshGamification(): Promise<SdkResult<GamificationRefreshResult>>;
3555
3638
  /**
3556
3639
  * Digital product delivery (GAP-07): list the logged-in customer's download
3557
3640
  * grants across all their orders (file name, product, remaining downloads,
@@ -3895,4 +3978,4 @@ declare function clearCartSummary(): void;
3895
3978
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
3896
3979
  declare function publishCartSummary(summary: CartSummaryEvent): void;
3897
3980
 
3898
- 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 PageDetail 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 LoyaltyProgram as aA, type LoyaltySummary as aB, type LoyaltyTier as aC, type LoyaltyTierPerks as aD, type LoyaltyTransaction as aE, type Menu as aF, type MenuItem as aG, type MenuItemRef as aH, type MenuItemType as aI, type MessageResponse as aJ, type NewsletterOptInDefault as aK, type NewsletterSubscribeInput as aL, type NewsletterSubscribeResult as aM, type NewsletterUnsubscribeResult as aN, type OrderAccessRequestResponse as aO, type OrderAccessVerifyResponse as aP, type OrderDetail as aQ, type OrderItem as aR, type OrderListItem as aS, type OrderPickupPoint as aT, type OrderShipment as aU, type OrderStatus as aV, type OrderStatusHistory as aW, OrderStatuses as aX, type OrderTracking as aY, type Page as aZ, type PageAttachment as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerProfile as ac, type DigitalDownload as ad, type DownloadUrl as ae, type Facet as af, type FacetAvailability as ag, type FacetCategory as ah, type FacetLabel as ai, type FacetPriceRange as aj, type FacetRange as ak, type FacetRatingBucket as al, type FacetValue as am, type FacetsResponse as an, type FilterField as ao, type FulfillmentStatus as ap, FulfillmentStatuses as aq, type GiftCardBalance as ar, type GiftCardPurchaseInput as as, type GiftCardPurchaseResult as at, type GiftCardSummary as au, type LessonNote as av, type LessonQuiz as aw, type LoginInput as ax, type LoyaltyBalance as ay, type LoyaltyNextTier as az, type StorefrontFormFieldError as b, type Sitemap as b$, type PaginatedResponse as b0, type PaymentInstrument as b1, type PaymentStatus as b2, PaymentStatuses as b3, type PaymentSwift as b4, type PickupPoint as b5, type PickupPointHours as b6, type PickupPointsInput as b7, type PickupWidgetConfig as b8, type PriceDisplay as b9, type RegisterInput as bA, type RegisterResult as bB, type RequestInterceptor as bC, type RequestInterceptorConfig as bD, type ResponseInterceptor as bE, type ResponseInterceptorData as bF, type ReturnRequest as bG, type ReturnRequestItem as bH, type ReturnStatus as bI, type ReturnStatusItem as bJ, type ReturnableOrder as bK, type ReturnableOrderItem as bL, type SdkError as bM, type ShippingMethodSummary as bN, type ShippingQuote as bO, type ShippingQuoteInput as bP, type ShopAppearance as bQ, type ShopInfo as bR, type ShopScript as bS, type ShopScriptPlacement as bT, type ShopScriptType as bU, type ShopScripts as bV, type ShopSeo as bW, type ShopSeoIdentity as bX, type SiteFormField as bY, type SiteFormFieldOption as bZ, type SiteFormFieldType as b_, type ProductAssetGroup as ba, type ProductAssetItem as bb, type ProductAvailability as bc, type ProductGroup as bd, type ProductLabel as be, type ProductListItem as bf, type ProductMedia as bg, type ProductMediaVariant as bh, type ProductParameter as bi, type ProductParameterGroup as bj, type ProductParametersResponse as bk, type ProductPrice as bl, type ProductPromotionSummary as bm, type ProductReview as bn, type ProductReviewsResponse as bo, type ProductSibling as bp, ProductSort as bq, type ProductSortValue as br, type ProductVolumePrice as bs, type ProductsQuery as bt, type QuizAnswerInput as bu, type QuizAnswerResult as bv, type QuizQuestion as bw, type QuizResult as bx, type QuoteItem as by, type QuoteRequest as bz, type AddToCartInput as c, type SitemapEntry as c0, type StockBehavior as c1, type StockMode as c2, type StorefrontForm as c3, type StorefrontFormFieldErrorCode as c4, type StorefrontFormFile as c5, type StorefrontFormSettings as c6, type StorefrontFormSubmitInput as c7, type StorefrontFormSubmitResult as c8, type StorefrontFormUpload as c9, type SubmitQuoteInput as ca, type SubmitReturnInput as cb, type SubmitReviewInput as cc, type Subscription as cd, type SubscriptionAction as ce, type SubscriptionFrequency as cf, type SubscriptionItem as cg, type SubscriptionStatus as ch, type TaxBreakdownLine as ci, type VariantAxis as cj, type VariantAxisValue as ck, type WishlistItem as cl, clearCartSummary as cm, err as cn, ok as co, publishCartSummary as cp, toSdkError as cq, 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 };
3981
+ 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 OrderShipment 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 OrderPickupPoint 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 ShopScriptType as b$, type OrderStatus as b0, type OrderStatusHistory as b1, OrderStatuses as b2, type OrderTracking as b3, type Page as b4, type PageAttachment as b5, type PageDetail as b6, type PaginatedResponse as b7, type PaymentInstrument as b8, type PaymentStatus as b9, type ProductsQuery as bA, type QuizAnswerInput as bB, type QuizAnswerResult as bC, type QuizQuestion as bD, type QuizResult as bE, type QuoteItem as bF, type QuoteRequest as bG, type RegisterInput as bH, type RegisterResult as bI, type RequestInterceptor as bJ, type RequestInterceptorConfig as bK, type ResponseInterceptor as bL, type ResponseInterceptorData as bM, type ReturnRequest as bN, type ReturnRequestItem as bO, type ReturnStatus as bP, type ReturnStatusItem as bQ, type ReturnableOrder as bR, type ReturnableOrderItem as bS, type SdkError as bT, type ShippingMethodSummary as bU, type ShippingQuote as bV, type ShippingQuoteInput as bW, type ShopAppearance as bX, type ShopInfo as bY, type ShopScript as bZ, type ShopScriptPlacement as b_, PaymentStatuses as ba, type PaymentSwift as bb, type PickupPoint as bc, type PickupPointHours as bd, type PickupPointsInput as be, type PickupWidgetConfig as bf, type PriceDisplay as bg, type ProductAssetGroup as bh, type ProductAssetItem as bi, type ProductAvailability as bj, type ProductGroup as bk, type ProductLabel as bl, type ProductListItem as bm, type ProductMedia as bn, type ProductMediaVariant as bo, type ProductParameter as bp, type ProductParameterGroup as bq, type ProductParametersResponse as br, type ProductPrice as bs, type ProductPromotionSummary as bt, type ProductReview as bu, type ProductReviewsResponse as bv, type ProductSibling as bw, ProductSort as bx, type ProductSortValue as by, type ProductVolumePrice as bz, type AddToCartInput as c, type ShopScripts as c0, type ShopSeo as c1, type ShopSeoIdentity as c2, type SiteFormField as c3, type SiteFormFieldOption as c4, type SiteFormFieldType as c5, type Sitemap as c6, type SitemapEntry as c7, type StockBehavior as c8, type StockMode as c9, type StorefrontForm as ca, type StorefrontFormFieldErrorCode as cb, type StorefrontFormFile as cc, type StorefrontFormSettings as cd, type StorefrontFormSubmitInput as ce, type StorefrontFormSubmitResult as cf, type StorefrontFormUpload as cg, type SubmitQuoteInput as ch, type SubmitReturnInput as ci, type SubmitReviewInput as cj, type Subscription as ck, type SubscriptionAction as cl, type SubscriptionFrequency as cm, type SubscriptionItem as cn, type SubscriptionStatus as co, type TaxBreakdownLine as cp, type VariantAxis as cq, type VariantAxisValue as cr, type WishlistItem as cs, clearCartSummary as ct, err as cu, ok as cv, publishCartSummary as cw, toSdkError as cx, 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 };
@@ -172,6 +172,8 @@ interface CheckoutSettings {
172
172
  type PriceDisplay = "INCL_VAT" | "EXCL_VAT" | "CUSTOMER_CHOICE";
173
173
  type CurrencyDisplayFormat = "SYMBOL_BEFORE" | "SYMBOL_AFTER" | "CODE";
174
174
  interface ShopInfo {
175
+ /** Merchant default catalog order, normalized to the public sort values. */
176
+ defaultProductSort?: ProductSortValue;
175
177
  currencyDisplayFormat?: CurrencyDisplayFormat;
176
178
  account?: {
177
179
  passwordMinLength: number;
@@ -505,6 +507,8 @@ interface ProductLabel {
505
507
  slug: string;
506
508
  name: string;
507
509
  color?: string;
510
+ /** Merchant icon name. Render a trusted local icon, with a safe fallback. */
511
+ iconName?: string | null;
508
512
  }
509
513
  /**
510
514
  * Resolved availability status of a product. Either a merchant preset
@@ -1072,6 +1076,7 @@ interface FacetLabel {
1072
1076
  slug: string;
1073
1077
  name: string;
1074
1078
  color?: string | null;
1079
+ iconName?: string | null;
1075
1080
  count: number;
1076
1081
  }
1077
1082
  interface FacetCategory {
@@ -2532,6 +2537,7 @@ interface PickupPointsInput {
2532
2537
  }
2533
2538
  /** Public terms of the eshop's loyalty program. */
2534
2539
  interface LoyaltyProgram {
2540
+ enrollmentType?: "AUTO_ON_REGISTER" | "OPT_IN" | "INVITE_ONLY";
2535
2541
  name: string;
2536
2542
  pointName: string;
2537
2543
  pointNamePlural: string;
@@ -2546,6 +2552,8 @@ interface LoyaltyProgram {
2546
2552
  }
2547
2553
  interface LoyaltyBalance {
2548
2554
  currentPoints: number;
2555
+ /** Revoked points to offset before new rewards become spendable. Absent on older servers. */
2556
+ pointsDebt?: number;
2549
2557
  /** `currentPoints` valued in the program currency. */
2550
2558
  currentPointsValue: number;
2551
2559
  lifetimePointsEarned: number;
@@ -2577,10 +2585,13 @@ interface LoyaltyNextTier {
2577
2585
  progressPercent: number;
2578
2586
  }
2579
2587
  interface LoyaltyTransaction {
2588
+ /** Stable identifier on servers supporting cursor history. */
2589
+ id?: string;
2580
2590
  type: string;
2581
2591
  /** Positive = earned, negative = redeemed / expired. */
2582
2592
  points: number;
2583
2593
  balanceAfter: number;
2594
+ debtAfter?: number;
2584
2595
  eventType: string | null;
2585
2596
  description: string | null;
2586
2597
  createdAt: number;
@@ -2592,6 +2603,7 @@ interface LoyaltyTransaction {
2592
2603
  * "join and earn" CTA).
2593
2604
  */
2594
2605
  interface LoyaltySummary {
2606
+ canJoin?: boolean;
2595
2607
  hasProgram: boolean;
2596
2608
  enrolled: boolean;
2597
2609
  program: LoyaltyProgram | null;
@@ -2600,6 +2612,18 @@ interface LoyaltySummary {
2600
2612
  nextTier: LoyaltyNextTier | null;
2601
2613
  referralCode: string | null;
2602
2614
  transactions: LoyaltyTransaction[];
2615
+ /** Follow using getLoyalty({transactionsCursor}); null is the last page. */
2616
+ transactionsNextCursor?: string | null;
2617
+ canApplyReferral?: boolean;
2618
+ }
2619
+ interface LoyaltyReferralResult {
2620
+ alreadyApplied: boolean;
2621
+ recipientPoints: number;
2622
+ }
2623
+ interface LoyaltyQuery {
2624
+ transactionsCursor?: string;
2625
+ /** 1 to 50, default 20. */
2626
+ transactionsLimit?: number;
2603
2627
  }
2604
2628
  interface CrossSellItem {
2605
2629
  productId: string;
@@ -2928,6 +2952,55 @@ interface CartLinkClaimed extends Cart {
2928
2952
  /** Code carried by the link, including a refused code. Null means no code was offered. */
2929
2953
  linkDiscountCode: string | null;
2930
2954
  }
2955
+ /** Earned merchant badges for the current authenticated customer. */
2956
+ interface CustomerBadge {
2957
+ id: string;
2958
+ name: string;
2959
+ slug: string;
2960
+ description: string | null;
2961
+ iconUrl: string | null;
2962
+ type: "MILESTONE" | "CHALLENGE" | "STREAK" | "ACHIEVEMENT" | "CUSTOM";
2963
+ earnedAt: number;
2964
+ }
2965
+ interface CustomerChallenge {
2966
+ id: string;
2967
+ name: string;
2968
+ slug: string;
2969
+ description: string | null;
2970
+ targetType: string;
2971
+ targetValue: number;
2972
+ /** TOTAL_SPEND uses the shop's default currency and stored reference FX rates. */
2973
+ currency: string;
2974
+ startsAt: number;
2975
+ endsAt: number;
2976
+ rewardPoints: number | null;
2977
+ rewardBadgeName: string | null;
2978
+ active: boolean;
2979
+ joined: boolean;
2980
+ currentProgress: number;
2981
+ completedAt: number | null;
2982
+ canJoin: boolean;
2983
+ rewardMembershipRequired: boolean;
2984
+ }
2985
+ interface CustomerGamificationQuery {
2986
+ badgesPage?: number;
2987
+ challengesPage?: number;
2988
+ /** 1..50, default 20. */
2989
+ limit?: number;
2990
+ }
2991
+ interface CustomerGamification {
2992
+ badges: CustomerBadge[];
2993
+ badgesTotal: number;
2994
+ badgesPage: number;
2995
+ challenges: CustomerChallenge[];
2996
+ challengesTotal: number;
2997
+ challengesPage: number;
2998
+ limit: number;
2999
+ }
3000
+ interface GamificationRefreshResult {
3001
+ awarded: number;
3002
+ completed: number;
3003
+ }
2931
3004
 
2932
3005
  declare class BehioStorefront {
2933
3006
  private baseUrl;
@@ -3551,7 +3624,17 @@ declare class CustomerModule {
3551
3624
  * value, current tier, next-tier progress, point ratio, referral code,
3552
3625
  * recent transactions). Requires an authenticated customer session.
3553
3626
  */
3554
- getLoyalty(): Promise<SdkResult<LoyaltySummary>>;
3627
+ getLoyalty(query?: LoyaltyQuery): Promise<SdkResult<LoyaltySummary>>;
3628
+ /** Apply an invitation to the caller's active loyalty membership, once. */
3629
+ applyReferral(code: string): Promise<SdkResult<LoyaltyReferralResult>>;
3630
+ /** Explicit enrollment; invite-only programs require the shop administrator. */
3631
+ joinLoyalty(): Promise<SdkResult<LoyaltySummary>>;
3632
+ /** Authenticated account rewards. Both collections have independent pages. */
3633
+ getGamification(query?: CustomerGamificationQuery): Promise<SdkResult<CustomerGamification>>;
3634
+ /** Join an active challenge; a repeated call preserves the original joinedAt. */
3635
+ joinChallenge(challengeId: string): Promise<SdkResult<GamificationRefreshResult>>;
3636
+ /** Reconcile persisted qualifying activity. Never supplies progress or points. */
3637
+ refreshGamification(): Promise<SdkResult<GamificationRefreshResult>>;
3555
3638
  /**
3556
3639
  * Digital product delivery (GAP-07): list the logged-in customer's download
3557
3640
  * grants across all their orders (file name, product, remaining downloads,
@@ -3895,4 +3978,4 @@ declare function clearCartSummary(): void;
3895
3978
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
3896
3979
  declare function publishCartSummary(summary: CartSummaryEvent): void;
3897
3980
 
3898
- 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 PageDetail 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 LoyaltyProgram as aA, type LoyaltySummary as aB, type LoyaltyTier as aC, type LoyaltyTierPerks as aD, type LoyaltyTransaction as aE, type Menu as aF, type MenuItem as aG, type MenuItemRef as aH, type MenuItemType as aI, type MessageResponse as aJ, type NewsletterOptInDefault as aK, type NewsletterSubscribeInput as aL, type NewsletterSubscribeResult as aM, type NewsletterUnsubscribeResult as aN, type OrderAccessRequestResponse as aO, type OrderAccessVerifyResponse as aP, type OrderDetail as aQ, type OrderItem as aR, type OrderListItem as aS, type OrderPickupPoint as aT, type OrderShipment as aU, type OrderStatus as aV, type OrderStatusHistory as aW, OrderStatuses as aX, type OrderTracking as aY, type Page as aZ, type PageAttachment as a_, type CurrencyDisplayFormat as aa, type CustomerAddress as ab, type CustomerProfile as ac, type DigitalDownload as ad, type DownloadUrl as ae, type Facet as af, type FacetAvailability as ag, type FacetCategory as ah, type FacetLabel as ai, type FacetPriceRange as aj, type FacetRange as ak, type FacetRatingBucket as al, type FacetValue as am, type FacetsResponse as an, type FilterField as ao, type FulfillmentStatus as ap, FulfillmentStatuses as aq, type GiftCardBalance as ar, type GiftCardPurchaseInput as as, type GiftCardPurchaseResult as at, type GiftCardSummary as au, type LessonNote as av, type LessonQuiz as aw, type LoginInput as ax, type LoyaltyBalance as ay, type LoyaltyNextTier as az, type StorefrontFormFieldError as b, type Sitemap as b$, type PaginatedResponse as b0, type PaymentInstrument as b1, type PaymentStatus as b2, PaymentStatuses as b3, type PaymentSwift as b4, type PickupPoint as b5, type PickupPointHours as b6, type PickupPointsInput as b7, type PickupWidgetConfig as b8, type PriceDisplay as b9, type RegisterInput as bA, type RegisterResult as bB, type RequestInterceptor as bC, type RequestInterceptorConfig as bD, type ResponseInterceptor as bE, type ResponseInterceptorData as bF, type ReturnRequest as bG, type ReturnRequestItem as bH, type ReturnStatus as bI, type ReturnStatusItem as bJ, type ReturnableOrder as bK, type ReturnableOrderItem as bL, type SdkError as bM, type ShippingMethodSummary as bN, type ShippingQuote as bO, type ShippingQuoteInput as bP, type ShopAppearance as bQ, type ShopInfo as bR, type ShopScript as bS, type ShopScriptPlacement as bT, type ShopScriptType as bU, type ShopScripts as bV, type ShopSeo as bW, type ShopSeoIdentity as bX, type SiteFormField as bY, type SiteFormFieldOption as bZ, type SiteFormFieldType as b_, type ProductAssetGroup as ba, type ProductAssetItem as bb, type ProductAvailability as bc, type ProductGroup as bd, type ProductLabel as be, type ProductListItem as bf, type ProductMedia as bg, type ProductMediaVariant as bh, type ProductParameter as bi, type ProductParameterGroup as bj, type ProductParametersResponse as bk, type ProductPrice as bl, type ProductPromotionSummary as bm, type ProductReview as bn, type ProductReviewsResponse as bo, type ProductSibling as bp, ProductSort as bq, type ProductSortValue as br, type ProductVolumePrice as bs, type ProductsQuery as bt, type QuizAnswerInput as bu, type QuizAnswerResult as bv, type QuizQuestion as bw, type QuizResult as bx, type QuoteItem as by, type QuoteRequest as bz, type AddToCartInput as c, type SitemapEntry as c0, type StockBehavior as c1, type StockMode as c2, type StorefrontForm as c3, type StorefrontFormFieldErrorCode as c4, type StorefrontFormFile as c5, type StorefrontFormSettings as c6, type StorefrontFormSubmitInput as c7, type StorefrontFormSubmitResult as c8, type StorefrontFormUpload as c9, type SubmitQuoteInput as ca, type SubmitReturnInput as cb, type SubmitReviewInput as cc, type Subscription as cd, type SubscriptionAction as ce, type SubscriptionFrequency as cf, type SubscriptionItem as cg, type SubscriptionStatus as ch, type TaxBreakdownLine as ci, type VariantAxis as cj, type VariantAxisValue as ck, type WishlistItem as cl, clearCartSummary as cm, err as cn, ok as co, publishCartSummary as cp, toSdkError as cq, 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 };
3981
+ 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 OrderShipment 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 OrderPickupPoint 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 ShopScriptType as b$, type OrderStatus as b0, type OrderStatusHistory as b1, OrderStatuses as b2, type OrderTracking as b3, type Page as b4, type PageAttachment as b5, type PageDetail as b6, type PaginatedResponse as b7, type PaymentInstrument as b8, type PaymentStatus as b9, type ProductsQuery as bA, type QuizAnswerInput as bB, type QuizAnswerResult as bC, type QuizQuestion as bD, type QuizResult as bE, type QuoteItem as bF, type QuoteRequest as bG, type RegisterInput as bH, type RegisterResult as bI, type RequestInterceptor as bJ, type RequestInterceptorConfig as bK, type ResponseInterceptor as bL, type ResponseInterceptorData as bM, type ReturnRequest as bN, type ReturnRequestItem as bO, type ReturnStatus as bP, type ReturnStatusItem as bQ, type ReturnableOrder as bR, type ReturnableOrderItem as bS, type SdkError as bT, type ShippingMethodSummary as bU, type ShippingQuote as bV, type ShippingQuoteInput as bW, type ShopAppearance as bX, type ShopInfo as bY, type ShopScript as bZ, type ShopScriptPlacement as b_, PaymentStatuses as ba, type PaymentSwift as bb, type PickupPoint as bc, type PickupPointHours as bd, type PickupPointsInput as be, type PickupWidgetConfig as bf, type PriceDisplay as bg, type ProductAssetGroup as bh, type ProductAssetItem as bi, type ProductAvailability as bj, type ProductGroup as bk, type ProductLabel as bl, type ProductListItem as bm, type ProductMedia as bn, type ProductMediaVariant as bo, type ProductParameter as bp, type ProductParameterGroup as bq, type ProductParametersResponse as br, type ProductPrice as bs, type ProductPromotionSummary as bt, type ProductReview as bu, type ProductReviewsResponse as bv, type ProductSibling as bw, ProductSort as bx, type ProductSortValue as by, type ProductVolumePrice as bz, type AddToCartInput as c, type ShopScripts as c0, type ShopSeo as c1, type ShopSeoIdentity as c2, type SiteFormField as c3, type SiteFormFieldOption as c4, type SiteFormFieldType as c5, type Sitemap as c6, type SitemapEntry as c7, type StockBehavior as c8, type StockMode as c9, type StorefrontForm as ca, type StorefrontFormFieldErrorCode as cb, type StorefrontFormFile as cc, type StorefrontFormSettings as cd, type StorefrontFormSubmitInput as ce, type StorefrontFormSubmitResult as cf, type StorefrontFormUpload as cg, type SubmitQuoteInput as ch, type SubmitReturnInput as ci, type SubmitReviewInput as cj, type Subscription as ck, type SubscriptionAction as cl, type SubscriptionFrequency as cm, type SubscriptionItem as cn, type SubscriptionStatus as co, type TaxBreakdownLine as cp, type VariantAxis as cq, type VariantAxisValue as cr, type WishlistItem as cs, clearCartSummary as ct, err as cu, ok as cv, publishCartSummary as cw, toSdkError as cx, 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-t58lBodJ.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 CustomerProfile, ad as DigitalDownload, ae as DownloadUrl, af as Facet, ag as FacetAvailability, ah as FacetCategory, ai as FacetLabel, aj as FacetPriceRange, ak as FacetRange, al as FacetRatingBucket, am as FacetValue, an as FacetsResponse, ao as FilterField, ap as FulfillmentStatus, aq as FulfillmentStatuses, ar as GiftCardBalance, as as GiftCardPurchaseInput, at as GiftCardPurchaseResult, au as GiftCardSummary, av as LessonNote, aw as LessonQuiz, ax as LoginInput, ay as LoyaltyBalance, az as LoyaltyNextTier, aA as LoyaltyProgram, aB as LoyaltySummary, aC as LoyaltyTier, aD as LoyaltyTierPerks, aE as LoyaltyTransaction, aF as Menu, aG as MenuItem, aH as MenuItemRef, aI as MenuItemType, aJ as MessageResponse, aK as NewsletterOptInDefault, aL as NewsletterSubscribeInput, aM as NewsletterSubscribeResult, aN as NewsletterUnsubscribeResult, aO as OrderAccessRequestResponse, aP as OrderAccessVerifyResponse, aQ as OrderDetail, aR as OrderItem, aS as OrderListItem, aT as OrderPickupPoint, aU as OrderShipment, aV as OrderStatus, aW as OrderStatusHistory, aX as OrderStatuses, aY as OrderTracking, aZ as Page, a_ as PageAttachment, a$ as PageDetail, b0 as PaginatedResponse, b1 as PaymentInstrument, b2 as PaymentStatus, b3 as PaymentStatuses, b4 as PaymentSwift, b5 as PickupPoint, b6 as PickupPointHours, b7 as PickupPointsInput, b8 as PickupWidgetConfig, b9 as PriceDisplay, ba as ProductAssetGroup, bb as ProductAssetItem, bc as ProductAvailability, bd as ProductGroup, be as ProductLabel, bf as ProductListItem, bg as ProductMedia, bh as ProductMediaVariant, bi as ProductParameter, bj as ProductParameterGroup, bk as ProductParametersResponse, bl as ProductPrice, bm as ProductPromotionSummary, bn as ProductReview, bo as ProductReviewsResponse, bp as ProductSibling, bq as ProductSort, br as ProductSortValue, bs as ProductVolumePrice, bt as ProductsQuery, bu as QuizAnswerInput, bv as QuizAnswerResult, bw as QuizQuestion, bx as QuizResult, by as QuoteItem, bz as QuoteRequest, bA as RegisterInput, bB as RegisterResult, bC as RequestInterceptor, bD as RequestInterceptorConfig, bE as ResponseInterceptor, bF as ResponseInterceptorData, bG as ReturnRequest, bH as ReturnRequestItem, bI as ReturnStatus, bJ as ReturnStatusItem, bK as ReturnableOrder, bL as ReturnableOrderItem, bM as SdkError, bN as ShippingMethodSummary, bO as ShippingQuote, bP as ShippingQuoteInput, bQ as ShopAppearance, bR as ShopInfo, bS as ShopScript, bT as ShopScriptPlacement, bU as ShopScriptType, bV as ShopScripts, bW as ShopSeo, bX as ShopSeoIdentity, bY as SiteFormField, bZ as SiteFormFieldOption, b_ as SiteFormFieldType, b$ as Sitemap, c0 as SitemapEntry, c1 as StockBehavior, c2 as StockMode, c3 as StorefrontForm, c4 as StorefrontFormFieldErrorCode, c5 as StorefrontFormFile, c6 as StorefrontFormSettings, c7 as StorefrontFormSubmitInput, c8 as StorefrontFormSubmitResult, c9 as StorefrontFormUpload, ca as SubmitQuoteInput, cb as SubmitReturnInput, cc as SubmitReviewInput, cd as Subscription, ce as SubscriptionAction, cf as SubscriptionFrequency, cg as SubscriptionItem, ch as SubscriptionStatus, ci as TaxBreakdownLine, cj as VariantAxis, ck as VariantAxisValue, cl as WishlistItem, cm as clearCartSummary, cn as err, co as ok, cp as publishCartSummary, cq as toSdkError } from './client-t58lBodJ.mjs';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-GId6Qj64.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 OrderPickupPoint, a$ as OrderShipment, b0 as OrderStatus, b1 as OrderStatusHistory, b2 as OrderStatuses, b3 as OrderTracking, b4 as Page, b5 as PageAttachment, b6 as PageDetail, b7 as PaginatedResponse, b8 as PaymentInstrument, b9 as PaymentStatus, ba as PaymentStatuses, bb as PaymentSwift, bc as PickupPoint, bd as PickupPointHours, be as PickupPointsInput, bf as PickupWidgetConfig, bg as PriceDisplay, bh as ProductAssetGroup, bi as ProductAssetItem, bj as ProductAvailability, bk as ProductGroup, bl as ProductLabel, bm as ProductListItem, bn as ProductMedia, bo as ProductMediaVariant, bp as ProductParameter, bq as ProductParameterGroup, br as ProductParametersResponse, bs as ProductPrice, bt as ProductPromotionSummary, bu as ProductReview, bv as ProductReviewsResponse, bw as ProductSibling, bx as ProductSort, by as ProductSortValue, bz as ProductVolumePrice, bA as ProductsQuery, bB as QuizAnswerInput, bC as QuizAnswerResult, bD as QuizQuestion, bE as QuizResult, bF as QuoteItem, bG as QuoteRequest, bH as RegisterInput, bI as RegisterResult, bJ as RequestInterceptor, bK as RequestInterceptorConfig, bL as ResponseInterceptor, bM as ResponseInterceptorData, bN as ReturnRequest, bO as ReturnRequestItem, bP as ReturnStatus, bQ as ReturnStatusItem, bR as ReturnableOrder, bS as ReturnableOrderItem, bT as SdkError, bU as ShippingMethodSummary, bV as ShippingQuote, bW as ShippingQuoteInput, bX as ShopAppearance, bY as ShopInfo, bZ as ShopScript, b_ as ShopScriptPlacement, b$ as ShopScriptType, c0 as ShopScripts, c1 as ShopSeo, c2 as ShopSeoIdentity, c3 as SiteFormField, c4 as SiteFormFieldOption, c5 as SiteFormFieldType, c6 as Sitemap, c7 as SitemapEntry, c8 as StockBehavior, c9 as StockMode, ca as StorefrontForm, cb as StorefrontFormFieldErrorCode, cc as StorefrontFormFile, cd as StorefrontFormSettings, ce as StorefrontFormSubmitInput, cf as StorefrontFormSubmitResult, cg as StorefrontFormUpload, ch as SubmitQuoteInput, ci as SubmitReturnInput, cj as SubmitReviewInput, ck as Subscription, cl as SubscriptionAction, cm as SubscriptionFrequency, cn as SubscriptionItem, co as SubscriptionStatus, cp as TaxBreakdownLine, cq as VariantAxis, cr as VariantAxisValue, cs as WishlistItem, ct as clearCartSummary, cu as err, cv as ok, cw as publishCartSummary, cx as toSdkError } from './client-GId6Qj64.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-t58lBodJ.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 CustomerProfile, ad as DigitalDownload, ae as DownloadUrl, af as Facet, ag as FacetAvailability, ah as FacetCategory, ai as FacetLabel, aj as FacetPriceRange, ak as FacetRange, al as FacetRatingBucket, am as FacetValue, an as FacetsResponse, ao as FilterField, ap as FulfillmentStatus, aq as FulfillmentStatuses, ar as GiftCardBalance, as as GiftCardPurchaseInput, at as GiftCardPurchaseResult, au as GiftCardSummary, av as LessonNote, aw as LessonQuiz, ax as LoginInput, ay as LoyaltyBalance, az as LoyaltyNextTier, aA as LoyaltyProgram, aB as LoyaltySummary, aC as LoyaltyTier, aD as LoyaltyTierPerks, aE as LoyaltyTransaction, aF as Menu, aG as MenuItem, aH as MenuItemRef, aI as MenuItemType, aJ as MessageResponse, aK as NewsletterOptInDefault, aL as NewsletterSubscribeInput, aM as NewsletterSubscribeResult, aN as NewsletterUnsubscribeResult, aO as OrderAccessRequestResponse, aP as OrderAccessVerifyResponse, aQ as OrderDetail, aR as OrderItem, aS as OrderListItem, aT as OrderPickupPoint, aU as OrderShipment, aV as OrderStatus, aW as OrderStatusHistory, aX as OrderStatuses, aY as OrderTracking, aZ as Page, a_ as PageAttachment, a$ as PageDetail, b0 as PaginatedResponse, b1 as PaymentInstrument, b2 as PaymentStatus, b3 as PaymentStatuses, b4 as PaymentSwift, b5 as PickupPoint, b6 as PickupPointHours, b7 as PickupPointsInput, b8 as PickupWidgetConfig, b9 as PriceDisplay, ba as ProductAssetGroup, bb as ProductAssetItem, bc as ProductAvailability, bd as ProductGroup, be as ProductLabel, bf as ProductListItem, bg as ProductMedia, bh as ProductMediaVariant, bi as ProductParameter, bj as ProductParameterGroup, bk as ProductParametersResponse, bl as ProductPrice, bm as ProductPromotionSummary, bn as ProductReview, bo as ProductReviewsResponse, bp as ProductSibling, bq as ProductSort, br as ProductSortValue, bs as ProductVolumePrice, bt as ProductsQuery, bu as QuizAnswerInput, bv as QuizAnswerResult, bw as QuizQuestion, bx as QuizResult, by as QuoteItem, bz as QuoteRequest, bA as RegisterInput, bB as RegisterResult, bC as RequestInterceptor, bD as RequestInterceptorConfig, bE as ResponseInterceptor, bF as ResponseInterceptorData, bG as ReturnRequest, bH as ReturnRequestItem, bI as ReturnStatus, bJ as ReturnStatusItem, bK as ReturnableOrder, bL as ReturnableOrderItem, bM as SdkError, bN as ShippingMethodSummary, bO as ShippingQuote, bP as ShippingQuoteInput, bQ as ShopAppearance, bR as ShopInfo, bS as ShopScript, bT as ShopScriptPlacement, bU as ShopScriptType, bV as ShopScripts, bW as ShopSeo, bX as ShopSeoIdentity, bY as SiteFormField, bZ as SiteFormFieldOption, b_ as SiteFormFieldType, b$ as Sitemap, c0 as SitemapEntry, c1 as StockBehavior, c2 as StockMode, c3 as StorefrontForm, c4 as StorefrontFormFieldErrorCode, c5 as StorefrontFormFile, c6 as StorefrontFormSettings, c7 as StorefrontFormSubmitInput, c8 as StorefrontFormSubmitResult, c9 as StorefrontFormUpload, ca as SubmitQuoteInput, cb as SubmitReturnInput, cc as SubmitReviewInput, cd as Subscription, ce as SubscriptionAction, cf as SubscriptionFrequency, cg as SubscriptionItem, ch as SubscriptionStatus, ci as TaxBreakdownLine, cj as VariantAxis, ck as VariantAxisValue, cl as WishlistItem, cm as clearCartSummary, cn as err, co as ok, cp as publishCartSummary, cq as toSdkError } from './client-t58lBodJ.js';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-GId6Qj64.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 OrderPickupPoint, a$ as OrderShipment, b0 as OrderStatus, b1 as OrderStatusHistory, b2 as OrderStatuses, b3 as OrderTracking, b4 as Page, b5 as PageAttachment, b6 as PageDetail, b7 as PaginatedResponse, b8 as PaymentInstrument, b9 as PaymentStatus, ba as PaymentStatuses, bb as PaymentSwift, bc as PickupPoint, bd as PickupPointHours, be as PickupPointsInput, bf as PickupWidgetConfig, bg as PriceDisplay, bh as ProductAssetGroup, bi as ProductAssetItem, bj as ProductAvailability, bk as ProductGroup, bl as ProductLabel, bm as ProductListItem, bn as ProductMedia, bo as ProductMediaVariant, bp as ProductParameter, bq as ProductParameterGroup, br as ProductParametersResponse, bs as ProductPrice, bt as ProductPromotionSummary, bu as ProductReview, bv as ProductReviewsResponse, bw as ProductSibling, bx as ProductSort, by as ProductSortValue, bz as ProductVolumePrice, bA as ProductsQuery, bB as QuizAnswerInput, bC as QuizAnswerResult, bD as QuizQuestion, bE as QuizResult, bF as QuoteItem, bG as QuoteRequest, bH as RegisterInput, bI as RegisterResult, bJ as RequestInterceptor, bK as RequestInterceptorConfig, bL as ResponseInterceptor, bM as ResponseInterceptorData, bN as ReturnRequest, bO as ReturnRequestItem, bP as ReturnStatus, bQ as ReturnStatusItem, bR as ReturnableOrder, bS as ReturnableOrderItem, bT as SdkError, bU as ShippingMethodSummary, bV as ShippingQuote, bW as ShippingQuoteInput, bX as ShopAppearance, bY as ShopInfo, bZ as ShopScript, b_ as ShopScriptPlacement, b$ as ShopScriptType, c0 as ShopScripts, c1 as ShopSeo, c2 as ShopSeoIdentity, c3 as SiteFormField, c4 as SiteFormFieldOption, c5 as SiteFormFieldType, c6 as Sitemap, c7 as SitemapEntry, c8 as StockBehavior, c9 as StockMode, ca as StorefrontForm, cb as StorefrontFormFieldErrorCode, cc as StorefrontFormFile, cd as StorefrontFormSettings, ce as StorefrontFormSubmitInput, cf as StorefrontFormSubmitResult, cg as StorefrontFormUpload, ch as SubmitQuoteInput, ci as SubmitReturnInput, cj as SubmitReviewInput, ck as Subscription, cl as SubscriptionAction, cm as SubscriptionFrequency, cn as SubscriptionItem, co as SubscriptionStatus, cp as TaxBreakdownLine, cq as VariantAxis, cr as VariantAxisValue, cs as WishlistItem, ct as clearCartSummary, cu as err, cv as ok, cw as publishCartSummary, cx as toSdkError } from './client-GId6Qj64.js';
3
3
 
4
4
  /**
5
5
  * Format a price amount with currency using Intl.NumberFormat.