@behio/storefront-sdk 2.7.0 → 2.9.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 {
@@ -1569,7 +1574,13 @@ interface OrderListItem {
1569
1574
  interface OrderItem {
1570
1575
  productName: string;
1571
1576
  sku: string;
1572
- imageUrl?: string;
1577
+ /** Photo snapshot from checkout, or the product's current photo. */
1578
+ imageUrl?: string | null;
1579
+ /** Product still in the shop (SDK 2.8.0). Null when it was removed since,
1580
+ * so a template never links to a missing product page. */
1581
+ productId?: string | null;
1582
+ /** URL slug for a link back to the product page (SDK 2.8.0). */
1583
+ productSlug?: string | null;
1573
1584
  quantity: number;
1574
1585
  unitPrice: number;
1575
1586
  totalPrice: number;
@@ -1593,6 +1604,36 @@ interface OrderTracking {
1593
1604
  shippingCountry: string | null;
1594
1605
  items: OrderItem[];
1595
1606
  createdAt: number;
1607
+ /** Order summary, not personal data (SDK 2.8.0). */
1608
+ subtotal?: number;
1609
+ shippingTotal?: number;
1610
+ paymentFee?: number | null;
1611
+ discountTotal?: number;
1612
+ taxTotal?: number;
1613
+ taxBreakdown?: TaxBreakdownLine[];
1614
+ /** Shipping method as the customer chose it (SDK 2.8.0). */
1615
+ shippingMethodName?: string | null;
1616
+ /** Payment method in the order language (SDK 2.8.0). */
1617
+ paymentMethodName?: string | null;
1618
+ /** Pickup point the customer chose, a public place (SDK 2.8.0). */
1619
+ pickupPoint?: OrderPickupPoint | null;
1620
+ /** Parcels the customer can follow (SDK 2.8.0). */
1621
+ shipments?: OrderShipment[];
1622
+ }
1623
+ /** Pickup point the customer chose for an order (SDK 2.8.0). */
1624
+ interface OrderPickupPoint {
1625
+ name: string;
1626
+ street?: string | null;
1627
+ city?: string | null;
1628
+ zip?: string | null;
1629
+ country?: string | null;
1630
+ }
1631
+ /** A parcel on its way, with the carrier's tracking link (SDK 2.8.0). */
1632
+ interface OrderShipment {
1633
+ trackingNumber?: string | null;
1634
+ trackingUrl?: string | null;
1635
+ status: string;
1636
+ createdAt: number;
1596
1637
  }
1597
1638
  interface OrderStatusHistory {
1598
1639
  fromStatus?: OrderStatus;
@@ -1606,6 +1647,14 @@ interface OrderDetail extends OrderListItem {
1606
1647
  contentDeliveryPending?: boolean;
1607
1648
  /** False for an order without physical delivery. */
1608
1649
  requiresShipping?: boolean;
1650
+ /** Shipping method as the customer chose it (SDK 2.8.0). */
1651
+ shippingMethodName?: string | null;
1652
+ /** Payment method in the order language (SDK 2.8.0). */
1653
+ paymentMethodName?: string | null;
1654
+ /** Pickup point the customer chose, a public place (SDK 2.8.0). */
1655
+ pickupPoint?: OrderPickupPoint | null;
1656
+ /** Parcels the customer can follow (SDK 2.8.0). */
1657
+ shipments?: OrderShipment[];
1609
1658
  items: OrderItem[];
1610
1659
  shippingAddress: CheckoutAddress;
1611
1660
  billingAddress: CheckoutAddress;
@@ -2488,6 +2537,7 @@ interface PickupPointsInput {
2488
2537
  }
2489
2538
  /** Public terms of the eshop's loyalty program. */
2490
2539
  interface LoyaltyProgram {
2540
+ enrollmentType?: "AUTO_ON_REGISTER" | "OPT_IN" | "INVITE_ONLY";
2491
2541
  name: string;
2492
2542
  pointName: string;
2493
2543
  pointNamePlural: string;
@@ -2502,6 +2552,8 @@ interface LoyaltyProgram {
2502
2552
  }
2503
2553
  interface LoyaltyBalance {
2504
2554
  currentPoints: number;
2555
+ /** Revoked points to offset before new rewards become spendable. Absent on older servers. */
2556
+ pointsDebt?: number;
2505
2557
  /** `currentPoints` valued in the program currency. */
2506
2558
  currentPointsValue: number;
2507
2559
  lifetimePointsEarned: number;
@@ -2533,10 +2585,13 @@ interface LoyaltyNextTier {
2533
2585
  progressPercent: number;
2534
2586
  }
2535
2587
  interface LoyaltyTransaction {
2588
+ /** Stable identifier on servers supporting cursor history. */
2589
+ id?: string;
2536
2590
  type: string;
2537
2591
  /** Positive = earned, negative = redeemed / expired. */
2538
2592
  points: number;
2539
2593
  balanceAfter: number;
2594
+ debtAfter?: number;
2540
2595
  eventType: string | null;
2541
2596
  description: string | null;
2542
2597
  createdAt: number;
@@ -2548,6 +2603,7 @@ interface LoyaltyTransaction {
2548
2603
  * "join and earn" CTA).
2549
2604
  */
2550
2605
  interface LoyaltySummary {
2606
+ canJoin?: boolean;
2551
2607
  hasProgram: boolean;
2552
2608
  enrolled: boolean;
2553
2609
  program: LoyaltyProgram | null;
@@ -2556,6 +2612,18 @@ interface LoyaltySummary {
2556
2612
  nextTier: LoyaltyNextTier | null;
2557
2613
  referralCode: string | null;
2558
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;
2559
2627
  }
2560
2628
  interface CrossSellItem {
2561
2629
  productId: string;
@@ -2884,6 +2952,55 @@ interface CartLinkClaimed extends Cart {
2884
2952
  /** Code carried by the link, including a refused code. Null means no code was offered. */
2885
2953
  linkDiscountCode: string | null;
2886
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
+ }
2887
3004
 
2888
3005
  declare class BehioStorefront {
2889
3006
  private baseUrl;
@@ -3507,7 +3624,17 @@ declare class CustomerModule {
3507
3624
  * value, current tier, next-tier progress, point ratio, referral code,
3508
3625
  * recent transactions). Requires an authenticated customer session.
3509
3626
  */
3510
- 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>>;
3511
3638
  /**
3512
3639
  * Digital product delivery (GAP-07): list the logged-in customer's download
3513
3640
  * grants across all their orders (file name, product, remaining downloads,
@@ -3851,4 +3978,4 @@ declare function clearCartSummary(): void;
3851
3978
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
3852
3979
  declare function publishCartSummary(summary: CartSummaryEvent): void;
3853
3980
 
3854
- 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 PaymentInstrument 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 OrderStatus as aT, type OrderStatusHistory as aU, OrderStatuses as aV, type OrderTracking as aW, type Page as aX, type PageAttachment as aY, type PageDetail as aZ, type PaginatedResponse 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 StockBehavior as b$, type PaymentStatus as b0, PaymentStatuses as b1, type PaymentSwift as b2, type PickupPoint as b3, type PickupPointHours as b4, type PickupPointsInput as b5, type PickupWidgetConfig as b6, type PriceDisplay as b7, type ProductAssetGroup as b8, type ProductAssetItem as b9, type RequestInterceptor as bA, type RequestInterceptorConfig as bB, type ResponseInterceptor as bC, type ResponseInterceptorData as bD, type ReturnRequest as bE, type ReturnRequestItem as bF, type ReturnStatus as bG, type ReturnStatusItem as bH, type ReturnableOrder as bI, type ReturnableOrderItem as bJ, type SdkError as bK, type ShippingMethodSummary as bL, type ShippingQuote as bM, type ShippingQuoteInput as bN, type ShopAppearance as bO, type ShopInfo as bP, type ShopScript as bQ, type ShopScriptPlacement as bR, type ShopScriptType as bS, type ShopScripts as bT, type ShopSeo as bU, type ShopSeoIdentity as bV, type SiteFormField as bW, type SiteFormFieldOption as bX, type SiteFormFieldType as bY, type Sitemap as bZ, type SitemapEntry as b_, type ProductAvailability as ba, type ProductGroup as bb, type ProductLabel as bc, type ProductListItem as bd, type ProductMedia as be, type ProductMediaVariant as bf, type ProductParameter as bg, type ProductParameterGroup as bh, type ProductParametersResponse as bi, type ProductPrice as bj, type ProductPromotionSummary as bk, type ProductReview as bl, type ProductReviewsResponse as bm, type ProductSibling as bn, ProductSort as bo, type ProductSortValue as bp, type ProductVolumePrice as bq, type ProductsQuery as br, type QuizAnswerInput as bs, type QuizAnswerResult as bt, type QuizQuestion as bu, type QuizResult as bv, type QuoteItem as bw, type QuoteRequest as bx, type RegisterInput as by, type RegisterResult as bz, type AddToCartInput as c, type StockMode as c0, type StorefrontForm as c1, type StorefrontFormFieldErrorCode as c2, type StorefrontFormFile as c3, type StorefrontFormSettings as c4, type StorefrontFormSubmitInput as c5, type StorefrontFormSubmitResult as c6, type StorefrontFormUpload as c7, type SubmitQuoteInput as c8, type SubmitReturnInput as c9, type SubmitReviewInput as ca, type Subscription as cb, type SubscriptionAction as cc, type SubscriptionFrequency as cd, type SubscriptionItem as ce, type SubscriptionStatus as cf, type TaxBreakdownLine as cg, type VariantAxis as ch, type VariantAxisValue as ci, type WishlistItem as cj, clearCartSummary as ck, err as cl, ok as cm, publishCartSummary as cn, toSdkError as co, 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 {
@@ -1569,7 +1574,13 @@ interface OrderListItem {
1569
1574
  interface OrderItem {
1570
1575
  productName: string;
1571
1576
  sku: string;
1572
- imageUrl?: string;
1577
+ /** Photo snapshot from checkout, or the product's current photo. */
1578
+ imageUrl?: string | null;
1579
+ /** Product still in the shop (SDK 2.8.0). Null when it was removed since,
1580
+ * so a template never links to a missing product page. */
1581
+ productId?: string | null;
1582
+ /** URL slug for a link back to the product page (SDK 2.8.0). */
1583
+ productSlug?: string | null;
1573
1584
  quantity: number;
1574
1585
  unitPrice: number;
1575
1586
  totalPrice: number;
@@ -1593,6 +1604,36 @@ interface OrderTracking {
1593
1604
  shippingCountry: string | null;
1594
1605
  items: OrderItem[];
1595
1606
  createdAt: number;
1607
+ /** Order summary, not personal data (SDK 2.8.0). */
1608
+ subtotal?: number;
1609
+ shippingTotal?: number;
1610
+ paymentFee?: number | null;
1611
+ discountTotal?: number;
1612
+ taxTotal?: number;
1613
+ taxBreakdown?: TaxBreakdownLine[];
1614
+ /** Shipping method as the customer chose it (SDK 2.8.0). */
1615
+ shippingMethodName?: string | null;
1616
+ /** Payment method in the order language (SDK 2.8.0). */
1617
+ paymentMethodName?: string | null;
1618
+ /** Pickup point the customer chose, a public place (SDK 2.8.0). */
1619
+ pickupPoint?: OrderPickupPoint | null;
1620
+ /** Parcels the customer can follow (SDK 2.8.0). */
1621
+ shipments?: OrderShipment[];
1622
+ }
1623
+ /** Pickup point the customer chose for an order (SDK 2.8.0). */
1624
+ interface OrderPickupPoint {
1625
+ name: string;
1626
+ street?: string | null;
1627
+ city?: string | null;
1628
+ zip?: string | null;
1629
+ country?: string | null;
1630
+ }
1631
+ /** A parcel on its way, with the carrier's tracking link (SDK 2.8.0). */
1632
+ interface OrderShipment {
1633
+ trackingNumber?: string | null;
1634
+ trackingUrl?: string | null;
1635
+ status: string;
1636
+ createdAt: number;
1596
1637
  }
1597
1638
  interface OrderStatusHistory {
1598
1639
  fromStatus?: OrderStatus;
@@ -1606,6 +1647,14 @@ interface OrderDetail extends OrderListItem {
1606
1647
  contentDeliveryPending?: boolean;
1607
1648
  /** False for an order without physical delivery. */
1608
1649
  requiresShipping?: boolean;
1650
+ /** Shipping method as the customer chose it (SDK 2.8.0). */
1651
+ shippingMethodName?: string | null;
1652
+ /** Payment method in the order language (SDK 2.8.0). */
1653
+ paymentMethodName?: string | null;
1654
+ /** Pickup point the customer chose, a public place (SDK 2.8.0). */
1655
+ pickupPoint?: OrderPickupPoint | null;
1656
+ /** Parcels the customer can follow (SDK 2.8.0). */
1657
+ shipments?: OrderShipment[];
1609
1658
  items: OrderItem[];
1610
1659
  shippingAddress: CheckoutAddress;
1611
1660
  billingAddress: CheckoutAddress;
@@ -2488,6 +2537,7 @@ interface PickupPointsInput {
2488
2537
  }
2489
2538
  /** Public terms of the eshop's loyalty program. */
2490
2539
  interface LoyaltyProgram {
2540
+ enrollmentType?: "AUTO_ON_REGISTER" | "OPT_IN" | "INVITE_ONLY";
2491
2541
  name: string;
2492
2542
  pointName: string;
2493
2543
  pointNamePlural: string;
@@ -2502,6 +2552,8 @@ interface LoyaltyProgram {
2502
2552
  }
2503
2553
  interface LoyaltyBalance {
2504
2554
  currentPoints: number;
2555
+ /** Revoked points to offset before new rewards become spendable. Absent on older servers. */
2556
+ pointsDebt?: number;
2505
2557
  /** `currentPoints` valued in the program currency. */
2506
2558
  currentPointsValue: number;
2507
2559
  lifetimePointsEarned: number;
@@ -2533,10 +2585,13 @@ interface LoyaltyNextTier {
2533
2585
  progressPercent: number;
2534
2586
  }
2535
2587
  interface LoyaltyTransaction {
2588
+ /** Stable identifier on servers supporting cursor history. */
2589
+ id?: string;
2536
2590
  type: string;
2537
2591
  /** Positive = earned, negative = redeemed / expired. */
2538
2592
  points: number;
2539
2593
  balanceAfter: number;
2594
+ debtAfter?: number;
2540
2595
  eventType: string | null;
2541
2596
  description: string | null;
2542
2597
  createdAt: number;
@@ -2548,6 +2603,7 @@ interface LoyaltyTransaction {
2548
2603
  * "join and earn" CTA).
2549
2604
  */
2550
2605
  interface LoyaltySummary {
2606
+ canJoin?: boolean;
2551
2607
  hasProgram: boolean;
2552
2608
  enrolled: boolean;
2553
2609
  program: LoyaltyProgram | null;
@@ -2556,6 +2612,18 @@ interface LoyaltySummary {
2556
2612
  nextTier: LoyaltyNextTier | null;
2557
2613
  referralCode: string | null;
2558
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;
2559
2627
  }
2560
2628
  interface CrossSellItem {
2561
2629
  productId: string;
@@ -2884,6 +2952,55 @@ interface CartLinkClaimed extends Cart {
2884
2952
  /** Code carried by the link, including a refused code. Null means no code was offered. */
2885
2953
  linkDiscountCode: string | null;
2886
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
+ }
2887
3004
 
2888
3005
  declare class BehioStorefront {
2889
3006
  private baseUrl;
@@ -3507,7 +3624,17 @@ declare class CustomerModule {
3507
3624
  * value, current tier, next-tier progress, point ratio, referral code,
3508
3625
  * recent transactions). Requires an authenticated customer session.
3509
3626
  */
3510
- 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>>;
3511
3638
  /**
3512
3639
  * Digital product delivery (GAP-07): list the logged-in customer's download
3513
3640
  * grants across all their orders (file name, product, remaining downloads,
@@ -3851,4 +3978,4 @@ declare function clearCartSummary(): void;
3851
3978
  /** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
3852
3979
  declare function publishCartSummary(summary: CartSummaryEvent): void;
3853
3980
 
3854
- 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 PaymentInstrument 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 OrderStatus as aT, type OrderStatusHistory as aU, OrderStatuses as aV, type OrderTracking as aW, type Page as aX, type PageAttachment as aY, type PageDetail as aZ, type PaginatedResponse 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 StockBehavior as b$, type PaymentStatus as b0, PaymentStatuses as b1, type PaymentSwift as b2, type PickupPoint as b3, type PickupPointHours as b4, type PickupPointsInput as b5, type PickupWidgetConfig as b6, type PriceDisplay as b7, type ProductAssetGroup as b8, type ProductAssetItem as b9, type RequestInterceptor as bA, type RequestInterceptorConfig as bB, type ResponseInterceptor as bC, type ResponseInterceptorData as bD, type ReturnRequest as bE, type ReturnRequestItem as bF, type ReturnStatus as bG, type ReturnStatusItem as bH, type ReturnableOrder as bI, type ReturnableOrderItem as bJ, type SdkError as bK, type ShippingMethodSummary as bL, type ShippingQuote as bM, type ShippingQuoteInput as bN, type ShopAppearance as bO, type ShopInfo as bP, type ShopScript as bQ, type ShopScriptPlacement as bR, type ShopScriptType as bS, type ShopScripts as bT, type ShopSeo as bU, type ShopSeoIdentity as bV, type SiteFormField as bW, type SiteFormFieldOption as bX, type SiteFormFieldType as bY, type Sitemap as bZ, type SitemapEntry as b_, type ProductAvailability as ba, type ProductGroup as bb, type ProductLabel as bc, type ProductListItem as bd, type ProductMedia as be, type ProductMediaVariant as bf, type ProductParameter as bg, type ProductParameterGroup as bh, type ProductParametersResponse as bi, type ProductPrice as bj, type ProductPromotionSummary as bk, type ProductReview as bl, type ProductReviewsResponse as bm, type ProductSibling as bn, ProductSort as bo, type ProductSortValue as bp, type ProductVolumePrice as bq, type ProductsQuery as br, type QuizAnswerInput as bs, type QuizAnswerResult as bt, type QuizQuestion as bu, type QuizResult as bv, type QuoteItem as bw, type QuoteRequest as bx, type RegisterInput as by, type RegisterResult as bz, type AddToCartInput as c, type StockMode as c0, type StorefrontForm as c1, type StorefrontFormFieldErrorCode as c2, type StorefrontFormFile as c3, type StorefrontFormSettings as c4, type StorefrontFormSubmitInput as c5, type StorefrontFormSubmitResult as c6, type StorefrontFormUpload as c7, type SubmitQuoteInput as c8, type SubmitReturnInput as c9, type SubmitReviewInput as ca, type Subscription as cb, type SubscriptionAction as cc, type SubscriptionFrequency as cd, type SubscriptionItem as ce, type SubscriptionStatus as cf, type TaxBreakdownLine as cg, type VariantAxis as ch, type VariantAxisValue as ci, type WishlistItem as cj, clearCartSummary as ck, err as cl, ok as cm, publishCartSummary as cn, toSdkError as co, 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-SeKujCLk.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 OrderStatus, aU as OrderStatusHistory, aV as OrderStatuses, aW as OrderTracking, aX as Page, aY as PageAttachment, aZ as PageDetail, a_ as PaginatedResponse, a$ as PaymentInstrument, b0 as PaymentStatus, b1 as PaymentStatuses, b2 as PaymentSwift, b3 as PickupPoint, b4 as PickupPointHours, b5 as PickupPointsInput, b6 as PickupWidgetConfig, b7 as PriceDisplay, b8 as ProductAssetGroup, b9 as ProductAssetItem, ba as ProductAvailability, bb as ProductGroup, bc as ProductLabel, bd as ProductListItem, be as ProductMedia, bf as ProductMediaVariant, bg as ProductParameter, bh as ProductParameterGroup, bi as ProductParametersResponse, bj as ProductPrice, bk as ProductPromotionSummary, bl as ProductReview, bm as ProductReviewsResponse, bn as ProductSibling, bo as ProductSort, bp as ProductSortValue, bq as ProductVolumePrice, br as ProductsQuery, bs as QuizAnswerInput, bt as QuizAnswerResult, bu as QuizQuestion, bv as QuizResult, bw as QuoteItem, bx as QuoteRequest, by as RegisterInput, bz as RegisterResult, bA as RequestInterceptor, bB as RequestInterceptorConfig, bC as ResponseInterceptor, bD as ResponseInterceptorData, bE as ReturnRequest, bF as ReturnRequestItem, bG as ReturnStatus, bH as ReturnStatusItem, bI as ReturnableOrder, bJ as ReturnableOrderItem, bK as SdkError, bL as ShippingMethodSummary, bM as ShippingQuote, bN as ShippingQuoteInput, bO as ShopAppearance, bP as ShopInfo, bQ as ShopScript, bR as ShopScriptPlacement, bS as ShopScriptType, bT as ShopScripts, bU as ShopSeo, bV as ShopSeoIdentity, bW as SiteFormField, bX as SiteFormFieldOption, bY as SiteFormFieldType, bZ as Sitemap, b_ as SitemapEntry, b$ as StockBehavior, c0 as StockMode, c1 as StorefrontForm, c2 as StorefrontFormFieldErrorCode, c3 as StorefrontFormFile, c4 as StorefrontFormSettings, c5 as StorefrontFormSubmitInput, c6 as StorefrontFormSubmitResult, c7 as StorefrontFormUpload, c8 as SubmitQuoteInput, c9 as SubmitReturnInput, ca as SubmitReviewInput, cb as Subscription, cc as SubscriptionAction, cd as SubscriptionFrequency, ce as SubscriptionItem, cf as SubscriptionStatus, cg as TaxBreakdownLine, ch as VariantAxis, ci as VariantAxisValue, cj as WishlistItem, ck as clearCartSummary, cl as err, cm as ok, cn as publishCartSummary, co as toSdkError } from './client-SeKujCLk.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.