@behio/storefront-sdk 2.14.0 → 2.15.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.
@@ -153,6 +153,15 @@ interface CheckoutSettings {
153
153
  showLowStock: boolean;
154
154
  /** Stock level at (and below) which the low-stock nudge shows. */
155
155
  lowStockThreshold: number;
156
+ /**
157
+ * Cart reservations are on: pieces put into a cart are guaranteed to that
158
+ * cart until `CartItem.reservedUntil` and nobody else can buy them. True only
159
+ * when the merchant enabled it and the shop tracks stock (`stockMode`
160
+ * TRACKED). Render the countdown from the cart line, not from this flag.
161
+ */
162
+ cartReservationEnabled: boolean;
163
+ /** Default reservation length in minutes (0 when off). A product can override it, so never compute the countdown from this number. */
164
+ cartReservationMinutes: number;
156
165
  /** Google Places address autocomplete is enabled; mount the UX when true. */
157
166
  addressAutocompleteEnabled: boolean;
158
167
  /**
@@ -1335,6 +1344,13 @@ interface CartItem {
1335
1344
  decreaseTo: number | null;
1336
1345
  increaseTo: number | null;
1337
1346
  };
1347
+ /**
1348
+ * Cart reservation: until this moment (epoch milliseconds) the pieces on this
1349
+ * line are guaranteed to this cart. Null = not reserved (reservations off,
1350
+ * product excluded, or already expired). Expiry is lazy, nothing is pushed
1351
+ * when it passes, so re-fetch the cart. Older servers omit it.
1352
+ */
1353
+ reservedUntil?: number | null;
1338
1354
  /**
1339
1355
  * Eshop product ID of the sellable unit on this line. A variant is its own
1340
1356
  * product, so this is the exact product/variant the customer added — use it
@@ -1485,6 +1501,8 @@ interface CartBundleLine {
1485
1501
  decreaseTo: number | null;
1486
1502
  increaseTo: number | null;
1487
1503
  };
1504
+ /** Cart reservation end (epoch milliseconds) for this bundle line; null = not reserved or expired. Older servers omit it. */
1505
+ reservedUntil?: number | null;
1488
1506
  minQuantity: number;
1489
1507
  maxQuantity: number | null;
1490
1508
  remainingStock: number | null;
@@ -153,6 +153,15 @@ interface CheckoutSettings {
153
153
  showLowStock: boolean;
154
154
  /** Stock level at (and below) which the low-stock nudge shows. */
155
155
  lowStockThreshold: number;
156
+ /**
157
+ * Cart reservations are on: pieces put into a cart are guaranteed to that
158
+ * cart until `CartItem.reservedUntil` and nobody else can buy them. True only
159
+ * when the merchant enabled it and the shop tracks stock (`stockMode`
160
+ * TRACKED). Render the countdown from the cart line, not from this flag.
161
+ */
162
+ cartReservationEnabled: boolean;
163
+ /** Default reservation length in minutes (0 when off). A product can override it, so never compute the countdown from this number. */
164
+ cartReservationMinutes: number;
156
165
  /** Google Places address autocomplete is enabled; mount the UX when true. */
157
166
  addressAutocompleteEnabled: boolean;
158
167
  /**
@@ -1335,6 +1344,13 @@ interface CartItem {
1335
1344
  decreaseTo: number | null;
1336
1345
  increaseTo: number | null;
1337
1346
  };
1347
+ /**
1348
+ * Cart reservation: until this moment (epoch milliseconds) the pieces on this
1349
+ * line are guaranteed to this cart. Null = not reserved (reservations off,
1350
+ * product excluded, or already expired). Expiry is lazy, nothing is pushed
1351
+ * when it passes, so re-fetch the cart. Older servers omit it.
1352
+ */
1353
+ reservedUntil?: number | null;
1338
1354
  /**
1339
1355
  * Eshop product ID of the sellable unit on this line. A variant is its own
1340
1356
  * product, so this is the exact product/variant the customer added — use it
@@ -1485,6 +1501,8 @@ interface CartBundleLine {
1485
1501
  decreaseTo: number | null;
1486
1502
  increaseTo: number | null;
1487
1503
  };
1504
+ /** Cart reservation end (epoch milliseconds) for this bundle line; null = not reserved or expired. Older servers omit it. */
1505
+ reservedUntil?: number | null;
1488
1506
  minQuantity: number;
1489
1507
  maxQuantity: number | null;
1490
1508
  remainingStock: number | null;
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-DB_ve5Fp.mjs';
2
- export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DB_ve5Fp.mjs';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-DF78Zgb0.mjs';
2
+ export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DF78Zgb0.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-DB_ve5Fp.js';
2
- export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DB_ve5Fp.js';
1
+ import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError } from './client-DF78Zgb0.js';
2
+ export { A as ActivePromotion, c as AddToCartInput, d as AddressDetail, e as AddressSuggestion, f as AddressType, g as AddressTypes, h as AuthTokens, i as BackInStockSubscription, j as BadgeTone, k as BehioApiError, l as BehioErrorCode, m as BehioEventHandler, n as BehioEventType, o as BehioNetworkError, p as BehioStorefrontConfig, q as Blog, r as BlogPostDetail, s as BlogPostListItem, t as BlogPostsPage, u as BlogPostsQuery, v as BlogSettings, w as BlogTag, x as Bundle, y as BundleCatalogQuery, z as BundleItem, D as Cart, E as CartBundleLine, F as CartBundleLineItem, G as CartDiscount, H as CartItem, I as CartItemProduct, J as CartLinkClaimed, K as CartPromotion, L as CartSummaryEvent, M as Category, N as CategoryDetail, O as CertificateVerification, Q as CheckoutAddress, R as CheckoutInput, T as CheckoutPaymentMethod, U as CheckoutPreview, V as CheckoutResult, W as CheckoutSettings, X as CookieConsentInput, Y as CourseAttachment, Z as CourseCertificate, _ as CourseComment, $ as CourseCommentReply, a0 as CourseCommentsList, a1 as CourseDetail, a2 as CourseLesson, a3 as CourseListItem, a4 as CourseModule, a5 as CoursePostedComment, a6 as CourseProgress, a7 as CourseTutorMessage, a8 as CourseTutorThread, a9 as CrossSellItem, aa as CurrencyDisplayFormat, ab as CustomerAddress, ac as CustomerBadge, ad as CustomerChallenge, ae as CustomerGamification, af as CustomerGamificationQuery, ag as CustomerProfile, ah as DigitalDownload, ai as DownloadUrl, aj as Facet, ak as FacetAvailability, al as FacetCategory, am as FacetLabel, an as FacetPriceRange, ao as FacetRange, ap as FacetRatingBucket, aq as FacetValue, ar as FacetsResponse, as as FilterField, at as FulfillmentStatus, au as FulfillmentStatuses, av as GamificationRefreshResult, aw as GiftCardBalance, ax as GiftCardPurchaseInput, ay as GiftCardPurchaseResult, az as GiftCardSummary, aA as LessonNote, aB as LessonQuiz, aC as LoginInput, aD as LoyaltyBalance, aE as LoyaltyNextTier, aF as LoyaltyProgram, aG as LoyaltyQuery, aH as LoyaltyReferralResult, aI as LoyaltySummary, aJ as LoyaltyTier, aK as LoyaltyTierPerks, aL as LoyaltyTransaction, aM as Menu, aN as MenuItem, aO as MenuItemRef, aP as MenuItemType, aQ as MessageResponse, aR as NewsletterOptInDefault, aS as NewsletterSubscribeInput, aT as NewsletterSubscribeResult, aU as NewsletterUnsubscribeResult, aV as OrderAccessRequestResponse, aW as OrderAccessVerifyResponse, aX as OrderDetail, aY as OrderDiscount, aZ as OrderItem, a_ as OrderListItem, a$ as OrderPaymentInstructions, b0 as OrderPickupPoint, b1 as OrderShipment, b2 as OrderStatus, b3 as OrderStatusHistory, b4 as OrderStatuses, b5 as OrderTracking, b6 as Page, b7 as PageAttachment, b8 as PageDetail, b9 as PaginatedResponse, ba as PaymentInstrument, bb as PaymentStatus, bc as PaymentStatuses, bd as PaymentSwift, be as PickupPoint, bf as PickupPointHours, bg as PickupPointsInput, bh as PickupWidgetConfig, bi as PriceDisplay, bj as ProductAssetGroup, bk as ProductAssetItem, bl as ProductAvailability, bm as ProductGroup, bn as ProductLabel, bo as ProductListItem, bp as ProductMedia, bq as ProductMediaVariant, br as ProductParameter, bs as ProductParameterGroup, bt as ProductParametersResponse, bu as ProductPrice, bv as ProductPromotionSummary, bw as ProductReview, bx as ProductReviewsResponse, by as ProductSibling, bz as ProductSort, bA as ProductSortValue, bB as ProductVolumePrice, bC as ProductsQuery, bD as QuizAnswerInput, bE as QuizAnswerResult, bF as QuizQuestion, bG as QuizResult, bH as QuoteItem, bI as QuoteRequest, bJ as RegisterInput, bK as RegisterResult, bL as RequestInterceptor, bM as RequestInterceptorConfig, bN as ResponseInterceptor, bO as ResponseInterceptorData, bP as ReturnRequest, bQ as ReturnRequestItem, bR as ReturnStatus, bS as ReturnStatusItem, bT as ReturnableOrder, bU as ReturnableOrderItem, bV as SdkError, bW as ShippingMethodSummary, bX as ShippingQuote, bY as ShippingQuoteInput, bZ as ShopAppearance, b_ as ShopInfo, b$ as ShopScript, c0 as ShopScriptPlacement, c1 as ShopScriptType, c2 as ShopScripts, c3 as ShopSeo, c4 as ShopSeoIdentity, c5 as SiteFormField, c6 as SiteFormFieldOption, c7 as SiteFormFieldType, c8 as Sitemap, c9 as SitemapEntry, ca as StockBehavior, cb as StockMode, cc as StorefrontForm, cd as StorefrontFormFieldErrorCode, ce as StorefrontFormFile, cf as StorefrontFormSettings, cg as StorefrontFormSubmitInput, ch as StorefrontFormSubmitResult, ci as StorefrontFormUpload, cj as SubmitQuoteInput, ck as SubmitReturnInput, cl as SubmitReviewInput, cm as Subscription, cn as SubscriptionAction, co as SubscriptionFrequency, cp as SubscriptionItem, cq as SubscriptionStatus, cr as TaxBreakdownLine, cs as VariantAxis, ct as VariantAxisValue, cu as WishlistItem, cv as clearCartSummary, cw as err, cx as ok, cy as publishCartSummary, cz as toSdkError } from './client-DF78Zgb0.js';
3
3
 
4
4
  /**
5
5
  * Format a price amount with currency using Intl.NumberFormat.
package/dist/index.js CHANGED
@@ -237,6 +237,7 @@ async function revokeAnalyticsConsent(client) {
237
237
  // src/error-messages.generated.ts
238
238
  var ERROR_MESSAGES = {
239
239
  "cs": {
240
+ "be.billing.apiDailyLimit": "Denn\xED limit vol\xE1n\xED API va\u0161eho tarifu ({limit}) je vy\u010Derpan\xFD. Obnov\xED se o p\u016Flnoci UTC, vy\u0161\u0161\xED tarif m\xE1 limit vy\u0161\u0161\xED.",
240
241
  "be.common.notFound": "Tohle u\u017E neexistuje.",
241
242
  "be.forms.consentRequired": "Bez souhlasu nejde formul\xE1\u0159 odeslat.",
242
243
  "be.forms.fileFieldNotFound": "Formul\xE1\u0159 takov\xE9 pole pro soubor nem\xE1.",
@@ -311,7 +312,7 @@ var ERROR_MESSAGES = {
311
312
  "be.storefront.comgateWebhookInvalid": "Notifikace Comgate nenese id transakce.",
312
313
  "be.storefront.commentNotFound": "Koment\xE1\u0159 nenalezen.",
313
314
  "be.storefront.common.unexpected": "N\u011Bco se nepovedlo. Zkuste to pros\xEDm znovu.",
314
- "be.storefront.companyIdsRequired": "K objedn\xE1vce je pot\u0159eba I\u010CO a DI\u010C.",
315
+ "be.storefront.companyIdsRequired": "K objedn\xE1vce je pot\u0159eba I\u010CO.",
315
316
  "be.storefront.connectLinkExpired": "Platnost propojovac\xEDho odkazu vypr\u0161ela. Zkuste to znovu.",
316
317
  "be.storefront.countryNotAllowed": "Zem\u011B {country} nen\xED pro tento e-shop povolen\xE1.",
317
318
  "be.storefront.courseAccessExpired": "P\u0159\xEDstup ke kurzu vypr\u0161el.",
@@ -425,7 +426,9 @@ var ERROR_MESSAGES = {
425
426
  "be.storefront.paypalWebhookInvalid": "Notifikace PayPal nenese id objedn\xE1vky.",
426
427
  "be.storefront.phoneRequired": "K dokon\u010Den\xED objedn\xE1vky je pot\u0159eba telefonn\xED \u010D\xEDslo.",
427
428
  "be.storefront.pickupPointCountryMismatch": "Vyberte v\xFDdejn\xED m\xEDsto v zemi doru\u010Den\xED.",
429
+ "be.storefront.pickupPointNotFound": "Vybran\xE9 v\xFDdejn\xED m\xEDsto dopravce nezn\xE1. Vyberte pros\xEDm jin\xE9.",
428
430
  "be.storefront.pickupPointRequired": "Vybran\xE1 doprava vy\u017Eaduje zvolen\xE9 v\xFDdejn\xED m\xEDsto.",
431
+ "be.storefront.pickupPointsUnavailable": "Dopravce te\u010F neodpov\u011Bd\u011Bl, v\xFDdejn\xED m\xEDsto ne\u0161lo ov\u011B\u0159it. Zkuste to pros\xEDm za chv\xEDli znovu.",
429
432
  "be.storefront.placeNotFound": "M\xEDsto nenalezeno.",
430
433
  "be.storefront.pricingUnavailable": "Ceny produkt\u016F te\u010F nejsou dostupn\xE9. Zkuste to pros\xEDm znovu.",
431
434
  "be.storefront.privacyAgreementRequired": "K objedn\xE1vce je pot\u0159eba souhlas se z\xE1sadami ochrany osobn\xEDch \xFAdaj\u016F.",
@@ -461,6 +464,8 @@ var ERROR_MESSAGES = {
461
464
  "be.storefront.siteKeyNotAllowed": "Tento kl\xED\u010D pat\u0159\xED webu bez napojen\xE9ho e-shopu, obchodn\xED endpointy pro n\u011Bj nejsou dostupn\xE9.",
462
465
  "be.storefront.siteOwnerMissing": "Web nem\xE1 vlastn\xEDka (e-shop ani web).",
463
466
  "be.storefront.someProductsNotFound": "N\u011Bkter\xE9 produkty nebyly nalezeny.",
467
+ "be.storefront.stockBusyRetry": "Zbo\u017E\xED si pr\xE1v\u011B kupuje v\xEDc lid\xED najednou, zkuste to pros\xEDm znovu.",
468
+ "be.storefront.stockReservedByOthers": "Zb\xFDvaj\xEDc\xED kusy produktu {name} m\xE1 pr\xE1v\u011B v ko\u0161\xEDku n\u011Bkdo jin\xFD. Zkuste to pros\xEDm za chv\xEDli.",
464
469
  "be.storefront.stripeConnectFailed": "Stripe nevr\xE1til propojen\xFD \xFA\u010Det.",
465
470
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect nen\xED na serveru nastaven\xFD.",
466
471
  "be.storefront.stripeMethodNotFound": "Platebn\xED metoda Stripe nenalezena.",
@@ -494,6 +499,7 @@ var ERROR_MESSAGES = {
494
499
  "be.validation.invalidJson": "Data maj\xED neplatn\xFD form\xE1t."
495
500
  },
496
501
  "sk": {
502
+ "be.billing.apiDailyLimit": "Denn\xFD limit volan\xED API v\xE1\u0161ho tarifu ({limit}) je vy\u010Derpan\xFD. Obnov\xED sa o polnoci UTC, vy\u0161\u0161\xED tarif m\xE1 vy\u0161\u0161\xED limit.",
497
503
  "be.common.notFound": "Toto u\u017E neexistuje.",
498
504
  "be.forms.consentRequired": "Bez s\xFAhlasu sa formul\xE1r ned\xE1 odosla\u0165.",
499
505
  "be.forms.fileFieldNotFound": "Formul\xE1r tak\xE9to pole pre s\xFAbor nem\xE1.",
@@ -568,7 +574,7 @@ var ERROR_MESSAGES = {
568
574
  "be.storefront.comgateWebhookInvalid": "Notifik\xE1cia Comgate nenesie id transakcie.",
569
575
  "be.storefront.commentNotFound": "Koment\xE1r sa nena\u0161iel.",
570
576
  "be.storefront.common.unexpected": "Nie\u010Do sa nepodarilo. Sk\xFAste to pros\xEDm znova.",
571
- "be.storefront.companyIdsRequired": "K objedn\xE1vke je potrebn\xE9 I\u010CO a DI\u010C.",
577
+ "be.storefront.companyIdsRequired": "K objedn\xE1vke je potrebn\xE9 I\u010CO.",
572
578
  "be.storefront.connectLinkExpired": "Platnos\u0165 prepojovacieho odkazu vypr\u0161ala. Sk\xFAste to znova.",
573
579
  "be.storefront.countryNotAllowed": "Krajina {country} nie je pre tento e-shop povolen\xE1.",
574
580
  "be.storefront.courseAccessExpired": "Pr\xEDstup ku kurzu vypr\u0161al.",
@@ -682,7 +688,9 @@ var ERROR_MESSAGES = {
682
688
  "be.storefront.paypalWebhookInvalid": "Notifik\xE1cia PayPal nenesie id objedn\xE1vky.",
683
689
  "be.storefront.phoneRequired": "Na dokon\u010Denie objedn\xE1vky je potrebn\xE9 telef\xF3nne \u010D\xEDslo.",
684
690
  "be.storefront.pickupPointCountryMismatch": "Vyberte v\xFDdajn\xE9 miesto v krajine doru\u010Denia.",
691
+ "be.storefront.pickupPointNotFound": "Vybran\xE9 v\xFDdajn\xE9 miesto dopravca nepozn\xE1. Vyberte pros\xEDm in\xE9.",
685
692
  "be.storefront.pickupPointRequired": "Vybran\xE1 doprava vy\u017Eaduje zvolen\xE9 v\xFDdajn\xE9 miesto.",
693
+ "be.storefront.pickupPointsUnavailable": "Prepravca teraz neodpovedal, v\xFDdajn\xE9 miesto sa nepodarilo overi\u0165. Sk\xFAste to pros\xEDm o chv\xED\u013Eu znova.",
686
694
  "be.storefront.placeNotFound": "Miesto sa nena\u0161lo.",
687
695
  "be.storefront.pricingUnavailable": "Ceny produktov teraz nie s\xFA dostupn\xE9. Sk\xFAste to pros\xEDm znova.",
688
696
  "be.storefront.privacyAgreementRequired": "K objedn\xE1vke je potrebn\xFD s\xFAhlas so z\xE1sadami ochrany osobn\xFDch \xFAdajov.",
@@ -718,6 +726,8 @@ var ERROR_MESSAGES = {
718
726
  "be.storefront.siteKeyNotAllowed": "Tento k\u013E\xFA\u010D patr\xED webu bez napojen\xE9ho e-shopu, obchodn\xE9 endpointy pre\u0148 nie s\xFA dostupn\xE9.",
719
727
  "be.storefront.siteOwnerMissing": "Web nem\xE1 vlastn\xEDka (e-shop ani web).",
720
728
  "be.storefront.someProductsNotFound": "Niektor\xE9 produkty sa nena\u0161li.",
729
+ "be.storefront.stockBusyRetry": "Tovar si pr\xE1ve kupuje viac \u013Eud\xED naraz, sk\xFAste to pros\xEDm znova.",
730
+ "be.storefront.stockReservedByOthers": "Zost\xE1vaj\xFAce kusy produktu {name} m\xE1 pr\xE1ve v ko\u0161\xEDku niekto in\xFD. Sk\xFAste to pros\xEDm o chv\xED\u013Eu.",
721
731
  "be.storefront.stripeConnectFailed": "Stripe nevr\xE1til prepojen\xFD \xFA\u010Det.",
722
732
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect nie je na serveri nastaven\xFD.",
723
733
  "be.storefront.stripeMethodNotFound": "Platobn\xE1 met\xF3da Stripe sa nena\u0161la.",
@@ -751,6 +761,7 @@ var ERROR_MESSAGES = {
751
761
  "be.validation.invalidJson": "D\xE1ta maj\xFA neplatn\xFD form\xE1t."
752
762
  },
753
763
  "en": {
764
+ "be.billing.apiDailyLimit": "Your plan's daily API limit ({limit} calls) has been reached. It resets at midnight UTC; higher plans have a higher limit.",
754
765
  "be.common.notFound": "This no longer exists.",
755
766
  "be.forms.consentRequired": "The form cannot be sent without consent.",
756
767
  "be.forms.fileFieldNotFound": "This form has no such file field.",
@@ -825,7 +836,7 @@ var ERROR_MESSAGES = {
825
836
  "be.storefront.comgateWebhookInvalid": "Comgate webhook is missing the transaction id",
826
837
  "be.storefront.commentNotFound": "Comment not found",
827
838
  "be.storefront.common.unexpected": "Something went wrong, please try again",
828
- "be.storefront.companyIdsRequired": "Company ID and VAT ID are required to order",
839
+ "be.storefront.companyIdsRequired": "A company ID is required to order",
829
840
  "be.storefront.connectLinkExpired": "Connect link expired, please retry",
830
841
  "be.storefront.countryNotAllowed": "Country {country} is not allowed for this shop",
831
842
  "be.storefront.courseAccessExpired": "Course access has expired",
@@ -939,7 +950,9 @@ var ERROR_MESSAGES = {
939
950
  "be.storefront.paypalWebhookInvalid": "PayPal webhook is missing the order id",
940
951
  "be.storefront.phoneRequired": "Phone number is required to place this order",
941
952
  "be.storefront.pickupPointCountryMismatch": "Select a pickup point in the delivery country.",
953
+ "be.storefront.pickupPointNotFound": "The carrier does not know the selected pickup point. Please choose another one.",
942
954
  "be.storefront.pickupPointRequired": "A pickup point is required for the selected shipping method",
955
+ "be.storefront.pickupPointsUnavailable": "The carrier did not respond, so the pickup point could not be verified. Please try again shortly.",
943
956
  "be.storefront.placeNotFound": "Place not found",
944
957
  "be.storefront.pricingUnavailable": "Product prices are temporarily unavailable. Please try again.",
945
958
  "be.storefront.privacyAgreementRequired": "You must agree to the privacy policy to order",
@@ -975,6 +988,8 @@ var ERROR_MESSAGES = {
975
988
  "be.storefront.siteKeyNotAllowed": "This key belongs to a website without a linked e-shop, commerce endpoints are not available for it",
976
989
  "be.storefront.siteOwnerMissing": "The site has no owner (neither e-shop nor website)",
977
990
  "be.storefront.someProductsNotFound": "One or more products were not found",
991
+ "be.storefront.stockBusyRetry": "Many people are buying this item right now, please try again.",
992
+ "be.storefront.stockReservedByOthers": "The remaining pieces of {name} are currently reserved in someone else's cart. Please try again in a moment.",
978
993
  "be.storefront.stripeConnectFailed": "Stripe did not return a connected account",
979
994
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect is not configured on the server",
980
995
  "be.storefront.stripeMethodNotFound": "Stripe payment method not found",
package/dist/index.mjs CHANGED
@@ -237,6 +237,7 @@ async function revokeAnalyticsConsent(client) {
237
237
  // src/error-messages.generated.ts
238
238
  var ERROR_MESSAGES = {
239
239
  "cs": {
240
+ "be.billing.apiDailyLimit": "Denn\xED limit vol\xE1n\xED API va\u0161eho tarifu ({limit}) je vy\u010Derpan\xFD. Obnov\xED se o p\u016Flnoci UTC, vy\u0161\u0161\xED tarif m\xE1 limit vy\u0161\u0161\xED.",
240
241
  "be.common.notFound": "Tohle u\u017E neexistuje.",
241
242
  "be.forms.consentRequired": "Bez souhlasu nejde formul\xE1\u0159 odeslat.",
242
243
  "be.forms.fileFieldNotFound": "Formul\xE1\u0159 takov\xE9 pole pro soubor nem\xE1.",
@@ -311,7 +312,7 @@ var ERROR_MESSAGES = {
311
312
  "be.storefront.comgateWebhookInvalid": "Notifikace Comgate nenese id transakce.",
312
313
  "be.storefront.commentNotFound": "Koment\xE1\u0159 nenalezen.",
313
314
  "be.storefront.common.unexpected": "N\u011Bco se nepovedlo. Zkuste to pros\xEDm znovu.",
314
- "be.storefront.companyIdsRequired": "K objedn\xE1vce je pot\u0159eba I\u010CO a DI\u010C.",
315
+ "be.storefront.companyIdsRequired": "K objedn\xE1vce je pot\u0159eba I\u010CO.",
315
316
  "be.storefront.connectLinkExpired": "Platnost propojovac\xEDho odkazu vypr\u0161ela. Zkuste to znovu.",
316
317
  "be.storefront.countryNotAllowed": "Zem\u011B {country} nen\xED pro tento e-shop povolen\xE1.",
317
318
  "be.storefront.courseAccessExpired": "P\u0159\xEDstup ke kurzu vypr\u0161el.",
@@ -425,7 +426,9 @@ var ERROR_MESSAGES = {
425
426
  "be.storefront.paypalWebhookInvalid": "Notifikace PayPal nenese id objedn\xE1vky.",
426
427
  "be.storefront.phoneRequired": "K dokon\u010Den\xED objedn\xE1vky je pot\u0159eba telefonn\xED \u010D\xEDslo.",
427
428
  "be.storefront.pickupPointCountryMismatch": "Vyberte v\xFDdejn\xED m\xEDsto v zemi doru\u010Den\xED.",
429
+ "be.storefront.pickupPointNotFound": "Vybran\xE9 v\xFDdejn\xED m\xEDsto dopravce nezn\xE1. Vyberte pros\xEDm jin\xE9.",
428
430
  "be.storefront.pickupPointRequired": "Vybran\xE1 doprava vy\u017Eaduje zvolen\xE9 v\xFDdejn\xED m\xEDsto.",
431
+ "be.storefront.pickupPointsUnavailable": "Dopravce te\u010F neodpov\u011Bd\u011Bl, v\xFDdejn\xED m\xEDsto ne\u0161lo ov\u011B\u0159it. Zkuste to pros\xEDm za chv\xEDli znovu.",
429
432
  "be.storefront.placeNotFound": "M\xEDsto nenalezeno.",
430
433
  "be.storefront.pricingUnavailable": "Ceny produkt\u016F te\u010F nejsou dostupn\xE9. Zkuste to pros\xEDm znovu.",
431
434
  "be.storefront.privacyAgreementRequired": "K objedn\xE1vce je pot\u0159eba souhlas se z\xE1sadami ochrany osobn\xEDch \xFAdaj\u016F.",
@@ -461,6 +464,8 @@ var ERROR_MESSAGES = {
461
464
  "be.storefront.siteKeyNotAllowed": "Tento kl\xED\u010D pat\u0159\xED webu bez napojen\xE9ho e-shopu, obchodn\xED endpointy pro n\u011Bj nejsou dostupn\xE9.",
462
465
  "be.storefront.siteOwnerMissing": "Web nem\xE1 vlastn\xEDka (e-shop ani web).",
463
466
  "be.storefront.someProductsNotFound": "N\u011Bkter\xE9 produkty nebyly nalezeny.",
467
+ "be.storefront.stockBusyRetry": "Zbo\u017E\xED si pr\xE1v\u011B kupuje v\xEDc lid\xED najednou, zkuste to pros\xEDm znovu.",
468
+ "be.storefront.stockReservedByOthers": "Zb\xFDvaj\xEDc\xED kusy produktu {name} m\xE1 pr\xE1v\u011B v ko\u0161\xEDku n\u011Bkdo jin\xFD. Zkuste to pros\xEDm za chv\xEDli.",
464
469
  "be.storefront.stripeConnectFailed": "Stripe nevr\xE1til propojen\xFD \xFA\u010Det.",
465
470
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect nen\xED na serveru nastaven\xFD.",
466
471
  "be.storefront.stripeMethodNotFound": "Platebn\xED metoda Stripe nenalezena.",
@@ -494,6 +499,7 @@ var ERROR_MESSAGES = {
494
499
  "be.validation.invalidJson": "Data maj\xED neplatn\xFD form\xE1t."
495
500
  },
496
501
  "sk": {
502
+ "be.billing.apiDailyLimit": "Denn\xFD limit volan\xED API v\xE1\u0161ho tarifu ({limit}) je vy\u010Derpan\xFD. Obnov\xED sa o polnoci UTC, vy\u0161\u0161\xED tarif m\xE1 vy\u0161\u0161\xED limit.",
497
503
  "be.common.notFound": "Toto u\u017E neexistuje.",
498
504
  "be.forms.consentRequired": "Bez s\xFAhlasu sa formul\xE1r ned\xE1 odosla\u0165.",
499
505
  "be.forms.fileFieldNotFound": "Formul\xE1r tak\xE9to pole pre s\xFAbor nem\xE1.",
@@ -568,7 +574,7 @@ var ERROR_MESSAGES = {
568
574
  "be.storefront.comgateWebhookInvalid": "Notifik\xE1cia Comgate nenesie id transakcie.",
569
575
  "be.storefront.commentNotFound": "Koment\xE1r sa nena\u0161iel.",
570
576
  "be.storefront.common.unexpected": "Nie\u010Do sa nepodarilo. Sk\xFAste to pros\xEDm znova.",
571
- "be.storefront.companyIdsRequired": "K objedn\xE1vke je potrebn\xE9 I\u010CO a DI\u010C.",
577
+ "be.storefront.companyIdsRequired": "K objedn\xE1vke je potrebn\xE9 I\u010CO.",
572
578
  "be.storefront.connectLinkExpired": "Platnos\u0165 prepojovacieho odkazu vypr\u0161ala. Sk\xFAste to znova.",
573
579
  "be.storefront.countryNotAllowed": "Krajina {country} nie je pre tento e-shop povolen\xE1.",
574
580
  "be.storefront.courseAccessExpired": "Pr\xEDstup ku kurzu vypr\u0161al.",
@@ -682,7 +688,9 @@ var ERROR_MESSAGES = {
682
688
  "be.storefront.paypalWebhookInvalid": "Notifik\xE1cia PayPal nenesie id objedn\xE1vky.",
683
689
  "be.storefront.phoneRequired": "Na dokon\u010Denie objedn\xE1vky je potrebn\xE9 telef\xF3nne \u010D\xEDslo.",
684
690
  "be.storefront.pickupPointCountryMismatch": "Vyberte v\xFDdajn\xE9 miesto v krajine doru\u010Denia.",
691
+ "be.storefront.pickupPointNotFound": "Vybran\xE9 v\xFDdajn\xE9 miesto dopravca nepozn\xE1. Vyberte pros\xEDm in\xE9.",
685
692
  "be.storefront.pickupPointRequired": "Vybran\xE1 doprava vy\u017Eaduje zvolen\xE9 v\xFDdajn\xE9 miesto.",
693
+ "be.storefront.pickupPointsUnavailable": "Prepravca teraz neodpovedal, v\xFDdajn\xE9 miesto sa nepodarilo overi\u0165. Sk\xFAste to pros\xEDm o chv\xED\u013Eu znova.",
686
694
  "be.storefront.placeNotFound": "Miesto sa nena\u0161lo.",
687
695
  "be.storefront.pricingUnavailable": "Ceny produktov teraz nie s\xFA dostupn\xE9. Sk\xFAste to pros\xEDm znova.",
688
696
  "be.storefront.privacyAgreementRequired": "K objedn\xE1vke je potrebn\xFD s\xFAhlas so z\xE1sadami ochrany osobn\xFDch \xFAdajov.",
@@ -718,6 +726,8 @@ var ERROR_MESSAGES = {
718
726
  "be.storefront.siteKeyNotAllowed": "Tento k\u013E\xFA\u010D patr\xED webu bez napojen\xE9ho e-shopu, obchodn\xE9 endpointy pre\u0148 nie s\xFA dostupn\xE9.",
719
727
  "be.storefront.siteOwnerMissing": "Web nem\xE1 vlastn\xEDka (e-shop ani web).",
720
728
  "be.storefront.someProductsNotFound": "Niektor\xE9 produkty sa nena\u0161li.",
729
+ "be.storefront.stockBusyRetry": "Tovar si pr\xE1ve kupuje viac \u013Eud\xED naraz, sk\xFAste to pros\xEDm znova.",
730
+ "be.storefront.stockReservedByOthers": "Zost\xE1vaj\xFAce kusy produktu {name} m\xE1 pr\xE1ve v ko\u0161\xEDku niekto in\xFD. Sk\xFAste to pros\xEDm o chv\xED\u013Eu.",
721
731
  "be.storefront.stripeConnectFailed": "Stripe nevr\xE1til prepojen\xFD \xFA\u010Det.",
722
732
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect nie je na serveri nastaven\xFD.",
723
733
  "be.storefront.stripeMethodNotFound": "Platobn\xE1 met\xF3da Stripe sa nena\u0161la.",
@@ -751,6 +761,7 @@ var ERROR_MESSAGES = {
751
761
  "be.validation.invalidJson": "D\xE1ta maj\xFA neplatn\xFD form\xE1t."
752
762
  },
753
763
  "en": {
764
+ "be.billing.apiDailyLimit": "Your plan's daily API limit ({limit} calls) has been reached. It resets at midnight UTC; higher plans have a higher limit.",
754
765
  "be.common.notFound": "This no longer exists.",
755
766
  "be.forms.consentRequired": "The form cannot be sent without consent.",
756
767
  "be.forms.fileFieldNotFound": "This form has no such file field.",
@@ -825,7 +836,7 @@ var ERROR_MESSAGES = {
825
836
  "be.storefront.comgateWebhookInvalid": "Comgate webhook is missing the transaction id",
826
837
  "be.storefront.commentNotFound": "Comment not found",
827
838
  "be.storefront.common.unexpected": "Something went wrong, please try again",
828
- "be.storefront.companyIdsRequired": "Company ID and VAT ID are required to order",
839
+ "be.storefront.companyIdsRequired": "A company ID is required to order",
829
840
  "be.storefront.connectLinkExpired": "Connect link expired, please retry",
830
841
  "be.storefront.countryNotAllowed": "Country {country} is not allowed for this shop",
831
842
  "be.storefront.courseAccessExpired": "Course access has expired",
@@ -939,7 +950,9 @@ var ERROR_MESSAGES = {
939
950
  "be.storefront.paypalWebhookInvalid": "PayPal webhook is missing the order id",
940
951
  "be.storefront.phoneRequired": "Phone number is required to place this order",
941
952
  "be.storefront.pickupPointCountryMismatch": "Select a pickup point in the delivery country.",
953
+ "be.storefront.pickupPointNotFound": "The carrier does not know the selected pickup point. Please choose another one.",
942
954
  "be.storefront.pickupPointRequired": "A pickup point is required for the selected shipping method",
955
+ "be.storefront.pickupPointsUnavailable": "The carrier did not respond, so the pickup point could not be verified. Please try again shortly.",
943
956
  "be.storefront.placeNotFound": "Place not found",
944
957
  "be.storefront.pricingUnavailable": "Product prices are temporarily unavailable. Please try again.",
945
958
  "be.storefront.privacyAgreementRequired": "You must agree to the privacy policy to order",
@@ -975,6 +988,8 @@ var ERROR_MESSAGES = {
975
988
  "be.storefront.siteKeyNotAllowed": "This key belongs to a website without a linked e-shop, commerce endpoints are not available for it",
976
989
  "be.storefront.siteOwnerMissing": "The site has no owner (neither e-shop nor website)",
977
990
  "be.storefront.someProductsNotFound": "One or more products were not found",
991
+ "be.storefront.stockBusyRetry": "Many people are buying this item right now, please try again.",
992
+ "be.storefront.stockReservedByOthers": "The remaining pieces of {name} are currently reserved in someone else's cart. Please try again in a moment.",
978
993
  "be.storefront.stripeConnectFailed": "Stripe did not return a connected account",
979
994
  "be.storefront.stripeConnectNotConfigured": "Stripe Connect is not configured on the server",
980
995
  "be.storefront.stripeMethodNotFound": "Stripe payment method not found",
package/dist/next.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DB_ve5Fp.mjs';
1
+ import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DF78Zgb0.mjs';
2
2
 
3
3
  interface GetBehioOptions extends Partial<BehioStorefrontConfig> {
4
4
  /** Override the cart session cookie name (default: "behio_cart_session"). */
package/dist/next.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DB_ve5Fp.js';
1
+ import { p as BehioStorefrontConfig, B as BehioStorefront } from './client-DF78Zgb0.js';
2
2
 
3
3
  interface GetBehioOptions extends Partial<BehioStorefrontConfig> {
4
4
  /** Override the cart session cookie name (default: "behio_cart_session"). */
package/dist/react.d.mts CHANGED
@@ -209,6 +209,15 @@ interface CheckoutSettings {
209
209
  showLowStock: boolean;
210
210
  /** Stock level at (and below) which the low-stock nudge shows. */
211
211
  lowStockThreshold: number;
212
+ /**
213
+ * Cart reservations are on: pieces put into a cart are guaranteed to that
214
+ * cart until `CartItem.reservedUntil` and nobody else can buy them. True only
215
+ * when the merchant enabled it and the shop tracks stock (`stockMode`
216
+ * TRACKED). Render the countdown from the cart line, not from this flag.
217
+ */
218
+ cartReservationEnabled: boolean;
219
+ /** Default reservation length in minutes (0 when off). A product can override it, so never compute the countdown from this number. */
220
+ cartReservationMinutes: number;
212
221
  /** Google Places address autocomplete is enabled; mount the UX when true. */
213
222
  addressAutocompleteEnabled: boolean;
214
223
  /**
@@ -1391,6 +1400,13 @@ interface CartItem {
1391
1400
  decreaseTo: number | null;
1392
1401
  increaseTo: number | null;
1393
1402
  };
1403
+ /**
1404
+ * Cart reservation: until this moment (epoch milliseconds) the pieces on this
1405
+ * line are guaranteed to this cart. Null = not reserved (reservations off,
1406
+ * product excluded, or already expired). Expiry is lazy, nothing is pushed
1407
+ * when it passes, so re-fetch the cart. Older servers omit it.
1408
+ */
1409
+ reservedUntil?: number | null;
1394
1410
  /**
1395
1411
  * Eshop product ID of the sellable unit on this line. A variant is its own
1396
1412
  * product, so this is the exact product/variant the customer added — use it
@@ -1541,6 +1557,8 @@ interface CartBundleLine {
1541
1557
  decreaseTo: number | null;
1542
1558
  increaseTo: number | null;
1543
1559
  };
1560
+ /** Cart reservation end (epoch milliseconds) for this bundle line; null = not reserved or expired. Older servers omit it. */
1561
+ reservedUntil?: number | null;
1544
1562
  minQuantity: number;
1545
1563
  maxQuantity: number | null;
1546
1564
  remainingStock: number | null;
package/dist/react.d.ts CHANGED
@@ -209,6 +209,15 @@ interface CheckoutSettings {
209
209
  showLowStock: boolean;
210
210
  /** Stock level at (and below) which the low-stock nudge shows. */
211
211
  lowStockThreshold: number;
212
+ /**
213
+ * Cart reservations are on: pieces put into a cart are guaranteed to that
214
+ * cart until `CartItem.reservedUntil` and nobody else can buy them. True only
215
+ * when the merchant enabled it and the shop tracks stock (`stockMode`
216
+ * TRACKED). Render the countdown from the cart line, not from this flag.
217
+ */
218
+ cartReservationEnabled: boolean;
219
+ /** Default reservation length in minutes (0 when off). A product can override it, so never compute the countdown from this number. */
220
+ cartReservationMinutes: number;
212
221
  /** Google Places address autocomplete is enabled; mount the UX when true. */
213
222
  addressAutocompleteEnabled: boolean;
214
223
  /**
@@ -1391,6 +1400,13 @@ interface CartItem {
1391
1400
  decreaseTo: number | null;
1392
1401
  increaseTo: number | null;
1393
1402
  };
1403
+ /**
1404
+ * Cart reservation: until this moment (epoch milliseconds) the pieces on this
1405
+ * line are guaranteed to this cart. Null = not reserved (reservations off,
1406
+ * product excluded, or already expired). Expiry is lazy, nothing is pushed
1407
+ * when it passes, so re-fetch the cart. Older servers omit it.
1408
+ */
1409
+ reservedUntil?: number | null;
1394
1410
  /**
1395
1411
  * Eshop product ID of the sellable unit on this line. A variant is its own
1396
1412
  * product, so this is the exact product/variant the customer added — use it
@@ -1541,6 +1557,8 @@ interface CartBundleLine {
1541
1557
  decreaseTo: number | null;
1542
1558
  increaseTo: number | null;
1543
1559
  };
1560
+ /** Cart reservation end (epoch milliseconds) for this bundle line; null = not reserved or expired. Older servers omit it. */
1561
+ reservedUntil?: number | null;
1544
1562
  minQuantity: number;
1545
1563
  maxQuantity: number | null;
1546
1564
  remainingStock: number | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@behio/storefront-sdk",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "TypeScript SDK for Behio headless e-commerce: core client + React hooks",
5
5
  "author": "Behio",
6
6
  "license": "MIT",