@behio/storefront-sdk 2.29.0 → 2.30.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/dist/{chunk-YDZ2OF4O.mjs → chunk-25UM2XCS.mjs} +4 -0
- package/dist/{chunk-SBPQZG4Y.js → chunk-OUPCGMSR.js} +4 -0
- package/dist/{client-CAPtdqzd.d.mts → client-DtAz0rDJ.d.mts} +37 -1
- package/dist/{client-CAPtdqzd.d.ts → client-DtAz0rDJ.d.ts} +37 -1
- package/dist/index.d.mts +38 -4
- package/dist/index.d.ts +38 -4
- package/dist/index.js +152 -3
- package/dist/index.mjs +150 -1
- package/dist/next.d.mts +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/next.js +2 -2
- package/dist/next.mjs +1 -1
- package/dist/react.d.mts +62 -2
- package/dist/react.d.ts +62 -2
- package/dist/react.js +294 -2
- package/dist/react.mjs +292 -2
- package/package.json +1 -1
|
@@ -1956,6 +1956,10 @@ var FormsModule = class {
|
|
|
1956
1956
|
constructor(client) {
|
|
1957
1957
|
this.client = client;
|
|
1958
1958
|
}
|
|
1959
|
+
/** Only active, published placements. Internal delivery/CRM settings never leave the server. */
|
|
1960
|
+
async placements() {
|
|
1961
|
+
return this.client.request("GET", "/forms");
|
|
1962
|
+
}
|
|
1959
1963
|
/** Public definition of one form (fields + settings). 404 for an unknown or inactive slug. */
|
|
1960
1964
|
async get(slug) {
|
|
1961
1965
|
return this.client.request(
|
|
@@ -1956,6 +1956,10 @@ var FormsModule = class {
|
|
|
1956
1956
|
constructor(client) {
|
|
1957
1957
|
this.client = client;
|
|
1958
1958
|
}
|
|
1959
|
+
/** Only active, published placements. Internal delivery/CRM settings never leave the server. */
|
|
1960
|
+
async placements() {
|
|
1961
|
+
return this.client.request("GET", "/forms");
|
|
1962
|
+
}
|
|
1959
1963
|
/** Public definition of one form (fields + settings). 404 for an unknown or inactive slug. */
|
|
1960
1964
|
async get(slug) {
|
|
1961
1965
|
return this.client.request(
|
|
@@ -2496,7 +2496,35 @@ interface StorefrontFaqQuery {
|
|
|
2496
2496
|
locale?: string;
|
|
2497
2497
|
}
|
|
2498
2498
|
/** Public definition of a form (`GET /forms/{slug}`). */
|
|
2499
|
+
interface StorefrontFormPlacement {
|
|
2500
|
+
key: string;
|
|
2501
|
+
mode: "inline" | "popup";
|
|
2502
|
+
enabled: boolean;
|
|
2503
|
+
delaySeconds: number;
|
|
2504
|
+
dismissDays: number;
|
|
2505
|
+
devices: "all" | "mobile" | "desktop";
|
|
2506
|
+
/** Exact path or prefix ending in *. No regex. */
|
|
2507
|
+
includePaths: string[];
|
|
2508
|
+
excludePaths: string[];
|
|
2509
|
+
}
|
|
2510
|
+
interface StorefrontFormPresentation {
|
|
2511
|
+
purpose: "general" | "newsletter";
|
|
2512
|
+
content: {
|
|
2513
|
+
eyebrow: string;
|
|
2514
|
+
heading: string;
|
|
2515
|
+
body: string;
|
|
2516
|
+
imageUrl: string;
|
|
2517
|
+
imageAlt: string;
|
|
2518
|
+
dismissLabel: string;
|
|
2519
|
+
backgroundColor: string;
|
|
2520
|
+
accentColor: string;
|
|
2521
|
+
};
|
|
2522
|
+
placements: StorefrontFormPlacement[];
|
|
2523
|
+
}
|
|
2499
2524
|
interface StorefrontForm {
|
|
2525
|
+
/** Published content version. Requires the managed Forms API. */
|
|
2526
|
+
revision: number;
|
|
2527
|
+
presentation: StorefrontFormPresentation;
|
|
2500
2528
|
slug: string;
|
|
2501
2529
|
name: string;
|
|
2502
2530
|
description: string | null;
|
|
@@ -2504,6 +2532,8 @@ interface StorefrontForm {
|
|
|
2504
2532
|
settings: StorefrontFormSettings;
|
|
2505
2533
|
}
|
|
2506
2534
|
interface StorefrontFormSubmitInput {
|
|
2535
|
+
revision?: number;
|
|
2536
|
+
placement?: string;
|
|
2507
2537
|
/** `{fieldKey: value}`; unknown keys are dropped server-side. */
|
|
2508
2538
|
data: Record<string, unknown>;
|
|
2509
2539
|
locale?: string;
|
|
@@ -2539,6 +2569,8 @@ interface StorefrontFormFile {
|
|
|
2539
2569
|
type: string;
|
|
2540
2570
|
}
|
|
2541
2571
|
interface StorefrontFormSubmitResult {
|
|
2572
|
+
confirmationRequired?: boolean;
|
|
2573
|
+
alreadySubscribed?: boolean;
|
|
2542
2574
|
ok: boolean;
|
|
2543
2575
|
/** Id of the stored submission (null when the form does not store responses). */
|
|
2544
2576
|
id: string | null;
|
|
@@ -4423,6 +4455,10 @@ declare class BookingsModule {
|
|
|
4423
4455
|
declare class FormsModule {
|
|
4424
4456
|
private client;
|
|
4425
4457
|
constructor(client: BehioStorefront);
|
|
4458
|
+
/** Only active, published placements. Internal delivery/CRM settings never leave the server. */
|
|
4459
|
+
placements(): Promise<SdkResult<{
|
|
4460
|
+
items: StorefrontForm[];
|
|
4461
|
+
}>>;
|
|
4426
4462
|
/** Public definition of one form (fields + settings). 404 for an unknown or inactive slug. */
|
|
4427
4463
|
get(slug: string): Promise<SdkResult<StorefrontForm>>;
|
|
4428
4464
|
/**
|
|
@@ -4645,4 +4681,4 @@ declare function clearCartSummary(): void;
|
|
|
4645
4681
|
/** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
|
|
4646
4682
|
declare function publishCartSummary(summary: CartSummaryEvent): void;
|
|
4647
4683
|
|
|
4648
|
-
export { type
|
|
4684
|
+
export { type CartLinkClaimed as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type BookingCategory as D, type BookingConfig as E, type BookingCreateInput as F, type BookingCreated as G, type BookingLocale as H, type BookingLocation as I, type BookingManageSlotsQuery as J, type BookingService as K, type BookingSlot as L, type BookingSlots as M, type BookingSlotsQuery as N, type BookingStaff as O, type ProductDetail as P, type BookingStatus as Q, type Bundle as R, type SdkResult as S, type BundleCatalogQuery as T, type BundleItem as U, type Cart as V, type CartBundleLine as W, type CartBundleLineItem as X, type CartDiscount as Y, type CartItem as Z, type CartItemProduct as _, type ProductVariant as a, type LoyaltyTransaction as a$, type CartPromotion as a0, type CartSummaryEvent as a1, type Category as a2, type CategoryDetail as a3, type CertificateVerification as a4, type CheckoutAddress as a5, type CheckoutInput as a6, type CheckoutPaymentMethod as a7, type CheckoutPreview as a8, type CheckoutResult as a9, type FacetAvailability as aA, type FacetCategory as aB, type FacetLabel as aC, type FacetPriceRange as aD, type FacetRange as aE, type FacetRatingBucket as aF, type FacetValue as aG, type FacetsResponse as aH, type FilterField as aI, type FulfillmentStatus as aJ, FulfillmentStatuses as aK, type GamificationRefreshResult as aL, type GiftCardBalance as aM, type GiftCardPurchaseInput as aN, type GiftCardPurchaseResult as aO, type GiftCardSummary as aP, type LessonNote as aQ, type LessonQuiz as aR, type LoginInput as aS, type LoyaltyBalance as aT, type LoyaltyNextTier as aU, type LoyaltyProgram as aV, type LoyaltyQuery as aW, type LoyaltyReferralResult as aX, type LoyaltySummary as aY, type LoyaltyTier as aZ, type LoyaltyTierPerks as a_, type CheckoutSettings as aa, type CookieConsentInput as ab, type CourseAttachment as ac, type CourseCertificate as ad, type CourseComment as ae, type CourseCommentReply as af, type CourseCommentsList as ag, type CourseDetail as ah, type CourseLesson as ai, type CourseListItem as aj, type CourseModule as ak, type CoursePostedComment as al, type CourseProgress as am, type CourseTutorMessage as an, type CourseTutorThread as ao, type CrossSellItem as ap, type CurrencyDisplayFormat as aq, type CustomerAddress as ar, type CustomerBadge as as, type CustomerChallenge as at, type CustomerGamification as au, type CustomerGamificationQuery as av, type CustomerProfile as aw, type DigitalDownload as ax, type DownloadUrl as ay, type Facet as az, type StorefrontFormFieldError as b, type RegisterInput as b$, type Menu as b0, type MenuItem as b1, type MenuItemRef as b2, type MenuItemType as b3, type MessageResponse as b4, type NewsletterConfirmResult as b5, type NewsletterOptInDefault as b6, type NewsletterSubscribeInput as b7, type NewsletterSubscribeResult as b8, type NewsletterUnsubscribeResult as b9, type PriceDisplay as bA, type ProductAssetGroup as bB, type ProductAssetItem as bC, type ProductAvailability as bD, type ProductGroup as bE, type ProductLabel as bF, type ProductListItem as bG, type ProductMedia as bH, type ProductMediaVariant as bI, type ProductParameter as bJ, type ProductParameterGroup as bK, type ProductParametersResponse as bL, type ProductPrice as bM, type ProductPromotionSummary as bN, type ProductReview as bO, type ProductReviewsResponse as bP, type ProductSibling as bQ, ProductSort as bR, type ProductSortValue as bS, type ProductVolumePrice as bT, type ProductsQuery as bU, type QuizAnswerInput as bV, type QuizAnswerResult as bW, type QuizQuestion as bX, type QuizResult as bY, type QuoteItem as bZ, type QuoteRequest as b_, type OrderAccessRequestResponse as ba, type OrderAccessVerifyResponse as bb, type OrderDetail as bc, type OrderDiscount as bd, type OrderDocument as be, type OrderItem as bf, type OrderListItem as bg, type OrderPaymentInstructions as bh, type OrderPickupPoint as bi, type OrderShipment as bj, type OrderStatus as bk, type OrderStatusHistory as bl, OrderStatuses as bm, type OrderTracking as bn, type Page as bo, type PageAttachment as bp, type PageDetail as bq, type PaginatedResponse as br, type PaymentInstrument as bs, type PaymentStatus as bt, PaymentStatuses as bu, type PaymentSwift as bv, type PickupPoint as bw, type PickupPointHours as bx, type PickupPointsInput as by, type PickupWidgetConfig as bz, type StorefrontFormPlacement as c, type WithdrawalAcknowledgement as c$, type RegisterResult as c0, type RequestInterceptor as c1, type RequestInterceptorConfig as c2, type ResponseInterceptor as c3, type ResponseInterceptorData as c4, type ReturnRequest as c5, type ReturnRequestItem as c6, type ReturnStatus as c7, type ReturnStatusItem as c8, type ReturnableOrder as c9, type StorefrontCollectionQuery as cA, type StorefrontFaqGroup as cB, type StorefrontFaqGroupSummary as cC, type StorefrontFaqGroups as cD, type StorefrontFaqItem as cE, type StorefrontFaqQuery as cF, type StorefrontForm as cG, type StorefrontFormFieldErrorCode as cH, type StorefrontFormFile as cI, type StorefrontFormPresentation as cJ, type StorefrontFormSettings as cK, type StorefrontFormSubmitInput as cL, type StorefrontFormSubmitResult as cM, type StorefrontFormUpload as cN, type SubmitQuoteInput as cO, type SubmitReturnInput as cP, type SubmitReviewInput as cQ, type SubmitWithdrawalInput as cR, type Subscription as cS, type SubscriptionAction as cT, type SubscriptionFrequency as cU, type SubscriptionItem as cV, type SubscriptionStatus as cW, type TaxBreakdownLine as cX, type VariantAxis as cY, type VariantAxisValue as cZ, type WishlistItem as c_, type ReturnableOrderItem as ca, type SdkError as cb, type ShippingMethodSummary as cc, type ShippingPublicConfig as cd, type ShippingQuote as ce, type ShippingQuoteInput as cf, type ShopAppearance as cg, type ShopCommerce as ch, type ShopInfo as ci, type ShopScript as cj, type ShopScriptPlacement as ck, type ShopScriptType as cl, type ShopScripts as cm, type ShopSeo as cn, type ShopSeoIdentity as co, type SiteFormField as cp, type SiteFormFieldOption as cq, type SiteFormFieldType as cr, type Sitemap as cs, type SitemapEntry as ct, type StockBehavior as cu, type StockMode as cv, type StorefrontCollection as cw, type StorefrontCollectionField as cx, type StorefrontCollectionFieldType as cy, type StorefrontCollectionItem as cz, type AddToCartInput as d, type WithdrawalFlag as d0, type WithdrawalSettings as d1, type WithdrawalWindow as d2, clearCartSummary as d3, err as d4, ok as d5, publishCartSummary as d6, toSdkError as d7, type AddToCartItemsInput as e, type AddressDetail as f, type AddressSuggestion as g, type AddressType as h, AddressTypes as i, type AuthTokens as j, type BackInStockSubscription as k, type BadgeTone as l, BehioApiError as m, type BehioErrorCode as n, type BehioEventHandler as o, type BehioEventType as p, BehioNetworkError as q, type BehioStorefrontConfig as r, type Blog as s, type BlogPostDetail as t, type BlogPostListItem as u, type BlogPostsPage as v, type BlogPostsQuery as w, type BlogSettings as x, type BlogTag as y, type Booking as z };
|
|
@@ -2496,7 +2496,35 @@ interface StorefrontFaqQuery {
|
|
|
2496
2496
|
locale?: string;
|
|
2497
2497
|
}
|
|
2498
2498
|
/** Public definition of a form (`GET /forms/{slug}`). */
|
|
2499
|
+
interface StorefrontFormPlacement {
|
|
2500
|
+
key: string;
|
|
2501
|
+
mode: "inline" | "popup";
|
|
2502
|
+
enabled: boolean;
|
|
2503
|
+
delaySeconds: number;
|
|
2504
|
+
dismissDays: number;
|
|
2505
|
+
devices: "all" | "mobile" | "desktop";
|
|
2506
|
+
/** Exact path or prefix ending in *. No regex. */
|
|
2507
|
+
includePaths: string[];
|
|
2508
|
+
excludePaths: string[];
|
|
2509
|
+
}
|
|
2510
|
+
interface StorefrontFormPresentation {
|
|
2511
|
+
purpose: "general" | "newsletter";
|
|
2512
|
+
content: {
|
|
2513
|
+
eyebrow: string;
|
|
2514
|
+
heading: string;
|
|
2515
|
+
body: string;
|
|
2516
|
+
imageUrl: string;
|
|
2517
|
+
imageAlt: string;
|
|
2518
|
+
dismissLabel: string;
|
|
2519
|
+
backgroundColor: string;
|
|
2520
|
+
accentColor: string;
|
|
2521
|
+
};
|
|
2522
|
+
placements: StorefrontFormPlacement[];
|
|
2523
|
+
}
|
|
2499
2524
|
interface StorefrontForm {
|
|
2525
|
+
/** Published content version. Requires the managed Forms API. */
|
|
2526
|
+
revision: number;
|
|
2527
|
+
presentation: StorefrontFormPresentation;
|
|
2500
2528
|
slug: string;
|
|
2501
2529
|
name: string;
|
|
2502
2530
|
description: string | null;
|
|
@@ -2504,6 +2532,8 @@ interface StorefrontForm {
|
|
|
2504
2532
|
settings: StorefrontFormSettings;
|
|
2505
2533
|
}
|
|
2506
2534
|
interface StorefrontFormSubmitInput {
|
|
2535
|
+
revision?: number;
|
|
2536
|
+
placement?: string;
|
|
2507
2537
|
/** `{fieldKey: value}`; unknown keys are dropped server-side. */
|
|
2508
2538
|
data: Record<string, unknown>;
|
|
2509
2539
|
locale?: string;
|
|
@@ -2539,6 +2569,8 @@ interface StorefrontFormFile {
|
|
|
2539
2569
|
type: string;
|
|
2540
2570
|
}
|
|
2541
2571
|
interface StorefrontFormSubmitResult {
|
|
2572
|
+
confirmationRequired?: boolean;
|
|
2573
|
+
alreadySubscribed?: boolean;
|
|
2542
2574
|
ok: boolean;
|
|
2543
2575
|
/** Id of the stored submission (null when the form does not store responses). */
|
|
2544
2576
|
id: string | null;
|
|
@@ -4423,6 +4455,10 @@ declare class BookingsModule {
|
|
|
4423
4455
|
declare class FormsModule {
|
|
4424
4456
|
private client;
|
|
4425
4457
|
constructor(client: BehioStorefront);
|
|
4458
|
+
/** Only active, published placements. Internal delivery/CRM settings never leave the server. */
|
|
4459
|
+
placements(): Promise<SdkResult<{
|
|
4460
|
+
items: StorefrontForm[];
|
|
4461
|
+
}>>;
|
|
4426
4462
|
/** Public definition of one form (fields + settings). 404 for an unknown or inactive slug. */
|
|
4427
4463
|
get(slug: string): Promise<SdkResult<StorefrontForm>>;
|
|
4428
4464
|
/**
|
|
@@ -4645,4 +4681,4 @@ declare function clearCartSummary(): void;
|
|
|
4645
4681
|
/** Publish only authoritative current totals; server cart consumers call this after hydration and revalidation. */
|
|
4646
4682
|
declare function publishCartSummary(summary: CartSummaryEvent): void;
|
|
4647
4683
|
|
|
4648
|
-
export { type
|
|
4684
|
+
export { type CartLinkClaimed as $, type ActivePromotion as A, BehioStorefront as B, type CookieConsent as C, type BookingCategory as D, type BookingConfig as E, type BookingCreateInput as F, type BookingCreated as G, type BookingLocale as H, type BookingLocation as I, type BookingManageSlotsQuery as J, type BookingService as K, type BookingSlot as L, type BookingSlots as M, type BookingSlotsQuery as N, type BookingStaff as O, type ProductDetail as P, type BookingStatus as Q, type Bundle as R, type SdkResult as S, type BundleCatalogQuery as T, type BundleItem as U, type Cart as V, type CartBundleLine as W, type CartBundleLineItem as X, type CartDiscount as Y, type CartItem as Z, type CartItemProduct as _, type ProductVariant as a, type LoyaltyTransaction as a$, type CartPromotion as a0, type CartSummaryEvent as a1, type Category as a2, type CategoryDetail as a3, type CertificateVerification as a4, type CheckoutAddress as a5, type CheckoutInput as a6, type CheckoutPaymentMethod as a7, type CheckoutPreview as a8, type CheckoutResult as a9, type FacetAvailability as aA, type FacetCategory as aB, type FacetLabel as aC, type FacetPriceRange as aD, type FacetRange as aE, type FacetRatingBucket as aF, type FacetValue as aG, type FacetsResponse as aH, type FilterField as aI, type FulfillmentStatus as aJ, FulfillmentStatuses as aK, type GamificationRefreshResult as aL, type GiftCardBalance as aM, type GiftCardPurchaseInput as aN, type GiftCardPurchaseResult as aO, type GiftCardSummary as aP, type LessonNote as aQ, type LessonQuiz as aR, type LoginInput as aS, type LoyaltyBalance as aT, type LoyaltyNextTier as aU, type LoyaltyProgram as aV, type LoyaltyQuery as aW, type LoyaltyReferralResult as aX, type LoyaltySummary as aY, type LoyaltyTier as aZ, type LoyaltyTierPerks as a_, type CheckoutSettings as aa, type CookieConsentInput as ab, type CourseAttachment as ac, type CourseCertificate as ad, type CourseComment as ae, type CourseCommentReply as af, type CourseCommentsList as ag, type CourseDetail as ah, type CourseLesson as ai, type CourseListItem as aj, type CourseModule as ak, type CoursePostedComment as al, type CourseProgress as am, type CourseTutorMessage as an, type CourseTutorThread as ao, type CrossSellItem as ap, type CurrencyDisplayFormat as aq, type CustomerAddress as ar, type CustomerBadge as as, type CustomerChallenge as at, type CustomerGamification as au, type CustomerGamificationQuery as av, type CustomerProfile as aw, type DigitalDownload as ax, type DownloadUrl as ay, type Facet as az, type StorefrontFormFieldError as b, type RegisterInput as b$, type Menu as b0, type MenuItem as b1, type MenuItemRef as b2, type MenuItemType as b3, type MessageResponse as b4, type NewsletterConfirmResult as b5, type NewsletterOptInDefault as b6, type NewsletterSubscribeInput as b7, type NewsletterSubscribeResult as b8, type NewsletterUnsubscribeResult as b9, type PriceDisplay as bA, type ProductAssetGroup as bB, type ProductAssetItem as bC, type ProductAvailability as bD, type ProductGroup as bE, type ProductLabel as bF, type ProductListItem as bG, type ProductMedia as bH, type ProductMediaVariant as bI, type ProductParameter as bJ, type ProductParameterGroup as bK, type ProductParametersResponse as bL, type ProductPrice as bM, type ProductPromotionSummary as bN, type ProductReview as bO, type ProductReviewsResponse as bP, type ProductSibling as bQ, ProductSort as bR, type ProductSortValue as bS, type ProductVolumePrice as bT, type ProductsQuery as bU, type QuizAnswerInput as bV, type QuizAnswerResult as bW, type QuizQuestion as bX, type QuizResult as bY, type QuoteItem as bZ, type QuoteRequest as b_, type OrderAccessRequestResponse as ba, type OrderAccessVerifyResponse as bb, type OrderDetail as bc, type OrderDiscount as bd, type OrderDocument as be, type OrderItem as bf, type OrderListItem as bg, type OrderPaymentInstructions as bh, type OrderPickupPoint as bi, type OrderShipment as bj, type OrderStatus as bk, type OrderStatusHistory as bl, OrderStatuses as bm, type OrderTracking as bn, type Page as bo, type PageAttachment as bp, type PageDetail as bq, type PaginatedResponse as br, type PaymentInstrument as bs, type PaymentStatus as bt, PaymentStatuses as bu, type PaymentSwift as bv, type PickupPoint as bw, type PickupPointHours as bx, type PickupPointsInput as by, type PickupWidgetConfig as bz, type StorefrontFormPlacement as c, type WithdrawalAcknowledgement as c$, type RegisterResult as c0, type RequestInterceptor as c1, type RequestInterceptorConfig as c2, type ResponseInterceptor as c3, type ResponseInterceptorData as c4, type ReturnRequest as c5, type ReturnRequestItem as c6, type ReturnStatus as c7, type ReturnStatusItem as c8, type ReturnableOrder as c9, type StorefrontCollectionQuery as cA, type StorefrontFaqGroup as cB, type StorefrontFaqGroupSummary as cC, type StorefrontFaqGroups as cD, type StorefrontFaqItem as cE, type StorefrontFaqQuery as cF, type StorefrontForm as cG, type StorefrontFormFieldErrorCode as cH, type StorefrontFormFile as cI, type StorefrontFormPresentation as cJ, type StorefrontFormSettings as cK, type StorefrontFormSubmitInput as cL, type StorefrontFormSubmitResult as cM, type StorefrontFormUpload as cN, type SubmitQuoteInput as cO, type SubmitReturnInput as cP, type SubmitReviewInput as cQ, type SubmitWithdrawalInput as cR, type Subscription as cS, type SubscriptionAction as cT, type SubscriptionFrequency as cU, type SubscriptionItem as cV, type SubscriptionStatus as cW, type TaxBreakdownLine as cX, type VariantAxis as cY, type VariantAxisValue as cZ, type WishlistItem as c_, type ReturnableOrderItem as ca, type SdkError as cb, type ShippingMethodSummary as cc, type ShippingPublicConfig as cd, type ShippingQuote as ce, type ShippingQuoteInput as cf, type ShopAppearance as cg, type ShopCommerce as ch, type ShopInfo as ci, type ShopScript as cj, type ShopScriptPlacement as ck, type ShopScriptType as cl, type ShopScripts as cm, type ShopSeo as cn, type ShopSeoIdentity as co, type SiteFormField as cp, type SiteFormFieldOption as cq, type SiteFormFieldType as cr, type Sitemap as cs, type SitemapEntry as ct, type StockBehavior as cu, type StockMode as cv, type StorefrontCollection as cw, type StorefrontCollectionField as cx, type StorefrontCollectionFieldType as cy, type StorefrontCollectionItem as cz, type AddToCartInput as d, type WithdrawalFlag as d0, type WithdrawalSettings as d1, type WithdrawalWindow as d2, clearCartSummary as d3, err as d4, ok as d5, publishCartSummary as d6, toSdkError as d7, type AddToCartItemsInput as e, type AddressDetail as f, type AddressSuggestion as g, type AddressType as h, AddressTypes as i, type AuthTokens as j, type BackInStockSubscription as k, type BadgeTone as l, BehioApiError as m, type BehioErrorCode as n, type BehioEventHandler as o, type BehioEventType as p, BehioNetworkError as q, type BehioStorefrontConfig as r, type Blog as s, type BlogPostDetail as t, type BlogPostListItem as u, type BlogPostsPage as v, type BlogPostsQuery as w, type BlogSettings as x, type BlogTag as y, type Booking 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-
|
|
2
|
-
export { A as ActivePromotion,
|
|
1
|
+
import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError, c as StorefrontFormPlacement } from './client-DtAz0rDJ.mjs';
|
|
2
|
+
export { A as ActivePromotion, d as AddToCartInput, e as AddToCartItemsInput, f as AddressDetail, g as AddressSuggestion, h as AddressType, i as AddressTypes, j as AuthTokens, k as BackInStockSubscription, l as BadgeTone, m as BehioApiError, n as BehioErrorCode, o as BehioEventHandler, p as BehioEventType, q as BehioNetworkError, r as BehioStorefrontConfig, s as Blog, t as BlogPostDetail, u as BlogPostListItem, v as BlogPostsPage, w as BlogPostsQuery, x as BlogSettings, y as BlogTag, z as Booking, D as BookingCategory, E as BookingConfig, F as BookingCreateInput, G as BookingCreated, H as BookingLocale, I as BookingLocation, J as BookingManageSlotsQuery, K as BookingService, L as BookingSlot, M as BookingSlots, N as BookingSlotsQuery, O as BookingStaff, Q as BookingStatus, R as Bundle, T as BundleCatalogQuery, U as BundleItem, V as Cart, W as CartBundleLine, X as CartBundleLineItem, Y as CartDiscount, Z as CartItem, _ as CartItemProduct, $ as CartLinkClaimed, a0 as CartPromotion, a1 as CartSummaryEvent, a2 as Category, a3 as CategoryDetail, a4 as CertificateVerification, a5 as CheckoutAddress, a6 as CheckoutInput, a7 as CheckoutPaymentMethod, a8 as CheckoutPreview, a9 as CheckoutResult, aa as CheckoutSettings, ab as CookieConsentInput, ac as CourseAttachment, ad as CourseCertificate, ae as CourseComment, af as CourseCommentReply, ag as CourseCommentsList, ah as CourseDetail, ai as CourseLesson, aj as CourseListItem, ak as CourseModule, al as CoursePostedComment, am as CourseProgress, an as CourseTutorMessage, ao as CourseTutorThread, ap as CrossSellItem, aq as CurrencyDisplayFormat, ar as CustomerAddress, as as CustomerBadge, at as CustomerChallenge, au as CustomerGamification, av as CustomerGamificationQuery, aw as CustomerProfile, ax as DigitalDownload, ay as DownloadUrl, az as Facet, aA as FacetAvailability, aB as FacetCategory, aC as FacetLabel, aD as FacetPriceRange, aE as FacetRange, aF as FacetRatingBucket, aG as FacetValue, aH as FacetsResponse, aI as FilterField, aJ as FulfillmentStatus, aK as FulfillmentStatuses, aL as GamificationRefreshResult, aM as GiftCardBalance, aN as GiftCardPurchaseInput, aO as GiftCardPurchaseResult, aP as GiftCardSummary, aQ as LessonNote, aR as LessonQuiz, aS as LoginInput, aT as LoyaltyBalance, aU as LoyaltyNextTier, aV as LoyaltyProgram, aW as LoyaltyQuery, aX as LoyaltyReferralResult, aY as LoyaltySummary, aZ as LoyaltyTier, a_ as LoyaltyTierPerks, a$ as LoyaltyTransaction, b0 as Menu, b1 as MenuItem, b2 as MenuItemRef, b3 as MenuItemType, b4 as MessageResponse, b5 as NewsletterConfirmResult, b6 as NewsletterOptInDefault, b7 as NewsletterSubscribeInput, b8 as NewsletterSubscribeResult, b9 as NewsletterUnsubscribeResult, ba as OrderAccessRequestResponse, bb as OrderAccessVerifyResponse, bc as OrderDetail, bd as OrderDiscount, be as OrderDocument, bf as OrderItem, bg as OrderListItem, bh as OrderPaymentInstructions, bi as OrderPickupPoint, bj as OrderShipment, bk as OrderStatus, bl as OrderStatusHistory, bm as OrderStatuses, bn as OrderTracking, bo as Page, bp as PageAttachment, bq as PageDetail, br as PaginatedResponse, bs as PaymentInstrument, bt as PaymentStatus, bu as PaymentStatuses, bv as PaymentSwift, bw as PickupPoint, bx as PickupPointHours, by as PickupPointsInput, bz as PickupWidgetConfig, bA as PriceDisplay, bB as ProductAssetGroup, bC as ProductAssetItem, bD as ProductAvailability, bE as ProductGroup, bF as ProductLabel, bG as ProductListItem, bH as ProductMedia, bI as ProductMediaVariant, bJ as ProductParameter, bK as ProductParameterGroup, bL as ProductParametersResponse, bM as ProductPrice, bN as ProductPromotionSummary, bO as ProductReview, bP as ProductReviewsResponse, bQ as ProductSibling, bR as ProductSort, bS as ProductSortValue, bT as ProductVolumePrice, bU as ProductsQuery, bV as QuizAnswerInput, bW as QuizAnswerResult, bX as QuizQuestion, bY as QuizResult, bZ as QuoteItem, b_ as QuoteRequest, b$ as RegisterInput, c0 as RegisterResult, c1 as RequestInterceptor, c2 as RequestInterceptorConfig, c3 as ResponseInterceptor, c4 as ResponseInterceptorData, c5 as ReturnRequest, c6 as ReturnRequestItem, c7 as ReturnStatus, c8 as ReturnStatusItem, c9 as ReturnableOrder, ca as ReturnableOrderItem, cb as SdkError, cc as ShippingMethodSummary, cd as ShippingPublicConfig, ce as ShippingQuote, cf as ShippingQuoteInput, cg as ShopAppearance, ch as ShopCommerce, ci as ShopInfo, cj as ShopScript, ck as ShopScriptPlacement, cl as ShopScriptType, cm as ShopScripts, cn as ShopSeo, co as ShopSeoIdentity, cp as SiteFormField, cq as SiteFormFieldOption, cr as SiteFormFieldType, cs as Sitemap, ct as SitemapEntry, cu as StockBehavior, cv as StockMode, cw as StorefrontCollection, cx as StorefrontCollectionField, cy as StorefrontCollectionFieldType, cz as StorefrontCollectionItem, cA as StorefrontCollectionQuery, cB as StorefrontFaqGroup, cC as StorefrontFaqGroupSummary, cD as StorefrontFaqGroups, cE as StorefrontFaqItem, cF as StorefrontFaqQuery, cG as StorefrontForm, cH as StorefrontFormFieldErrorCode, cI as StorefrontFormFile, cJ as StorefrontFormPresentation, cK as StorefrontFormSettings, cL as StorefrontFormSubmitInput, cM as StorefrontFormSubmitResult, cN as StorefrontFormUpload, cO as SubmitQuoteInput, cP as SubmitReturnInput, cQ as SubmitReviewInput, cR as SubmitWithdrawalInput, cS as Subscription, cT as SubscriptionAction, cU as SubscriptionFrequency, cV as SubscriptionItem, cW as SubscriptionStatus, cX as TaxBreakdownLine, cY as VariantAxis, cZ as VariantAxisValue, c_ as WishlistItem, c$ as WithdrawalAcknowledgement, d0 as WithdrawalFlag, d1 as WithdrawalSettings, d2 as WithdrawalWindow, d3 as clearCartSummary, d4 as err, d5 as ok, d6 as publishCartSummary, d7 as toSdkError } from './client-DtAz0rDJ.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Format a price amount with currency using Intl.NumberFormat.
|
|
@@ -140,7 +140,7 @@ declare function buildVariantComparison(product: ProductDetail, labels: {
|
|
|
140
140
|
* Consent stays the script layer's job: this helper never loads anything, it
|
|
141
141
|
* only talks to runtimes that already exist on the page.
|
|
142
142
|
*/
|
|
143
|
-
type EcommerceEventName = "view_item" | "view_item_list" | "select_item" | "add_to_cart" | "remove_from_cart" | "view_cart" | "add_to_wishlist" | "view_promotion" | "select_promotion" | "begin_checkout" | "add_payment_info" | "add_shipping_info" | "search" | "generate_lead" | "purchase" | "variant_selected" | "newsletter_signup";
|
|
143
|
+
type EcommerceEventName = "view_item" | "view_item_list" | "select_item" | "add_to_cart" | "remove_from_cart" | "view_cart" | "add_to_wishlist" | "view_promotion" | "select_promotion" | "begin_checkout" | "add_payment_info" | "add_shipping_info" | "search" | "generate_lead" | "purchase" | "variant_selected" | "newsletter_signup" | "newsletter_request" | "form_popup_view";
|
|
144
144
|
type EcommerceItem = {
|
|
145
145
|
item_id: string;
|
|
146
146
|
item_name: string;
|
|
@@ -269,4 +269,38 @@ declare function validationFieldMessages(err: unknown, locale?: ErrorMessageLoca
|
|
|
269
269
|
*/
|
|
270
270
|
declare function formFieldErrors(err: unknown): StorefrontFormFieldError[];
|
|
271
271
|
|
|
272
|
-
|
|
272
|
+
interface StorageAdapter {
|
|
273
|
+
get(key: string): string | null;
|
|
274
|
+
set(key: string, value: string): void;
|
|
275
|
+
remove(key: string): void;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
declare const NEWSLETTER_REQUESTED_EVENT = "behio:newsletter-requested";
|
|
279
|
+
/** A preference only, no email, subscriber lookup, visitor id or fingerprint. Pending confirmation counts too. */
|
|
280
|
+
declare function markNewsletterRequested(): void;
|
|
281
|
+
declare function newsletterWasRequested(): boolean;
|
|
282
|
+
declare function matchesFormPath(rule: string, pathname: string): boolean;
|
|
283
|
+
declare function formPopupRouteAllowed(pathname: string, placement: StorefrontFormPlacement): boolean;
|
|
284
|
+
/** Visible time survives hard navigation. Hidden time is never persisted as active time. */
|
|
285
|
+
declare class FormPopupClock {
|
|
286
|
+
elapsedMs: number;
|
|
287
|
+
private since;
|
|
288
|
+
constructor(elapsedMs?: number);
|
|
289
|
+
setVisible(visible: boolean, now: number): void;
|
|
290
|
+
elapsed(now: number): number;
|
|
291
|
+
}
|
|
292
|
+
declare class FormPopupPreferences {
|
|
293
|
+
private session;
|
|
294
|
+
private persistent;
|
|
295
|
+
private now;
|
|
296
|
+
private shownInVisit;
|
|
297
|
+
constructor(session?: StorageAdapter, persistent?: StorageAdapter, now?: () => number);
|
|
298
|
+
private number;
|
|
299
|
+
visibleMs(): number;
|
|
300
|
+
saveTime(visible: number): void;
|
|
301
|
+
suppressed(slug: string, newsletter?: boolean): boolean;
|
|
302
|
+
shown(): void;
|
|
303
|
+
dismiss(slug: string, days: number): void;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export { BehioStorefront, CookieConsent, type EcommerceEventName, type EcommerceItem, type EcommercePayload, type ErrorMessageLocale, FormPopupClock, FormPopupPreferences, NEWSLETTER_REQUESTED_EVENT, ProductDetail, ProductVariant, type ResolvedVariantContent, SdkResult, StorefrontFormFieldError, StorefrontFormPlacement, VARIANT_QUERY_PARAM, type VariantComparisonRow, availableAxisValues, buildVariantComparison, errorCode, errorMessage, errorParams, findVariantByAttributes, formFieldErrors, formPopupRouteAllowed, formatPrice, generateVisitorId, getStoredVisitorId, grantAnalyticsConsent, markNewsletterRequested, matchesFormPath, newsletterWasRequested, resolveVariantContent, revokeAnalyticsConsent, trackEcommerceEvent, validationFieldMessages, variantFromQuery, variantHref };
|
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-
|
|
2
|
-
export { A as ActivePromotion,
|
|
1
|
+
import { P as ProductDetail, a as ProductVariant, B as BehioStorefront, S as SdkResult, C as CookieConsent, b as StorefrontFormFieldError, c as StorefrontFormPlacement } from './client-DtAz0rDJ.js';
|
|
2
|
+
export { A as ActivePromotion, d as AddToCartInput, e as AddToCartItemsInput, f as AddressDetail, g as AddressSuggestion, h as AddressType, i as AddressTypes, j as AuthTokens, k as BackInStockSubscription, l as BadgeTone, m as BehioApiError, n as BehioErrorCode, o as BehioEventHandler, p as BehioEventType, q as BehioNetworkError, r as BehioStorefrontConfig, s as Blog, t as BlogPostDetail, u as BlogPostListItem, v as BlogPostsPage, w as BlogPostsQuery, x as BlogSettings, y as BlogTag, z as Booking, D as BookingCategory, E as BookingConfig, F as BookingCreateInput, G as BookingCreated, H as BookingLocale, I as BookingLocation, J as BookingManageSlotsQuery, K as BookingService, L as BookingSlot, M as BookingSlots, N as BookingSlotsQuery, O as BookingStaff, Q as BookingStatus, R as Bundle, T as BundleCatalogQuery, U as BundleItem, V as Cart, W as CartBundleLine, X as CartBundleLineItem, Y as CartDiscount, Z as CartItem, _ as CartItemProduct, $ as CartLinkClaimed, a0 as CartPromotion, a1 as CartSummaryEvent, a2 as Category, a3 as CategoryDetail, a4 as CertificateVerification, a5 as CheckoutAddress, a6 as CheckoutInput, a7 as CheckoutPaymentMethod, a8 as CheckoutPreview, a9 as CheckoutResult, aa as CheckoutSettings, ab as CookieConsentInput, ac as CourseAttachment, ad as CourseCertificate, ae as CourseComment, af as CourseCommentReply, ag as CourseCommentsList, ah as CourseDetail, ai as CourseLesson, aj as CourseListItem, ak as CourseModule, al as CoursePostedComment, am as CourseProgress, an as CourseTutorMessage, ao as CourseTutorThread, ap as CrossSellItem, aq as CurrencyDisplayFormat, ar as CustomerAddress, as as CustomerBadge, at as CustomerChallenge, au as CustomerGamification, av as CustomerGamificationQuery, aw as CustomerProfile, ax as DigitalDownload, ay as DownloadUrl, az as Facet, aA as FacetAvailability, aB as FacetCategory, aC as FacetLabel, aD as FacetPriceRange, aE as FacetRange, aF as FacetRatingBucket, aG as FacetValue, aH as FacetsResponse, aI as FilterField, aJ as FulfillmentStatus, aK as FulfillmentStatuses, aL as GamificationRefreshResult, aM as GiftCardBalance, aN as GiftCardPurchaseInput, aO as GiftCardPurchaseResult, aP as GiftCardSummary, aQ as LessonNote, aR as LessonQuiz, aS as LoginInput, aT as LoyaltyBalance, aU as LoyaltyNextTier, aV as LoyaltyProgram, aW as LoyaltyQuery, aX as LoyaltyReferralResult, aY as LoyaltySummary, aZ as LoyaltyTier, a_ as LoyaltyTierPerks, a$ as LoyaltyTransaction, b0 as Menu, b1 as MenuItem, b2 as MenuItemRef, b3 as MenuItemType, b4 as MessageResponse, b5 as NewsletterConfirmResult, b6 as NewsletterOptInDefault, b7 as NewsletterSubscribeInput, b8 as NewsletterSubscribeResult, b9 as NewsletterUnsubscribeResult, ba as OrderAccessRequestResponse, bb as OrderAccessVerifyResponse, bc as OrderDetail, bd as OrderDiscount, be as OrderDocument, bf as OrderItem, bg as OrderListItem, bh as OrderPaymentInstructions, bi as OrderPickupPoint, bj as OrderShipment, bk as OrderStatus, bl as OrderStatusHistory, bm as OrderStatuses, bn as OrderTracking, bo as Page, bp as PageAttachment, bq as PageDetail, br as PaginatedResponse, bs as PaymentInstrument, bt as PaymentStatus, bu as PaymentStatuses, bv as PaymentSwift, bw as PickupPoint, bx as PickupPointHours, by as PickupPointsInput, bz as PickupWidgetConfig, bA as PriceDisplay, bB as ProductAssetGroup, bC as ProductAssetItem, bD as ProductAvailability, bE as ProductGroup, bF as ProductLabel, bG as ProductListItem, bH as ProductMedia, bI as ProductMediaVariant, bJ as ProductParameter, bK as ProductParameterGroup, bL as ProductParametersResponse, bM as ProductPrice, bN as ProductPromotionSummary, bO as ProductReview, bP as ProductReviewsResponse, bQ as ProductSibling, bR as ProductSort, bS as ProductSortValue, bT as ProductVolumePrice, bU as ProductsQuery, bV as QuizAnswerInput, bW as QuizAnswerResult, bX as QuizQuestion, bY as QuizResult, bZ as QuoteItem, b_ as QuoteRequest, b$ as RegisterInput, c0 as RegisterResult, c1 as RequestInterceptor, c2 as RequestInterceptorConfig, c3 as ResponseInterceptor, c4 as ResponseInterceptorData, c5 as ReturnRequest, c6 as ReturnRequestItem, c7 as ReturnStatus, c8 as ReturnStatusItem, c9 as ReturnableOrder, ca as ReturnableOrderItem, cb as SdkError, cc as ShippingMethodSummary, cd as ShippingPublicConfig, ce as ShippingQuote, cf as ShippingQuoteInput, cg as ShopAppearance, ch as ShopCommerce, ci as ShopInfo, cj as ShopScript, ck as ShopScriptPlacement, cl as ShopScriptType, cm as ShopScripts, cn as ShopSeo, co as ShopSeoIdentity, cp as SiteFormField, cq as SiteFormFieldOption, cr as SiteFormFieldType, cs as Sitemap, ct as SitemapEntry, cu as StockBehavior, cv as StockMode, cw as StorefrontCollection, cx as StorefrontCollectionField, cy as StorefrontCollectionFieldType, cz as StorefrontCollectionItem, cA as StorefrontCollectionQuery, cB as StorefrontFaqGroup, cC as StorefrontFaqGroupSummary, cD as StorefrontFaqGroups, cE as StorefrontFaqItem, cF as StorefrontFaqQuery, cG as StorefrontForm, cH as StorefrontFormFieldErrorCode, cI as StorefrontFormFile, cJ as StorefrontFormPresentation, cK as StorefrontFormSettings, cL as StorefrontFormSubmitInput, cM as StorefrontFormSubmitResult, cN as StorefrontFormUpload, cO as SubmitQuoteInput, cP as SubmitReturnInput, cQ as SubmitReviewInput, cR as SubmitWithdrawalInput, cS as Subscription, cT as SubscriptionAction, cU as SubscriptionFrequency, cV as SubscriptionItem, cW as SubscriptionStatus, cX as TaxBreakdownLine, cY as VariantAxis, cZ as VariantAxisValue, c_ as WishlistItem, c$ as WithdrawalAcknowledgement, d0 as WithdrawalFlag, d1 as WithdrawalSettings, d2 as WithdrawalWindow, d3 as clearCartSummary, d4 as err, d5 as ok, d6 as publishCartSummary, d7 as toSdkError } from './client-DtAz0rDJ.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Format a price amount with currency using Intl.NumberFormat.
|
|
@@ -140,7 +140,7 @@ declare function buildVariantComparison(product: ProductDetail, labels: {
|
|
|
140
140
|
* Consent stays the script layer's job: this helper never loads anything, it
|
|
141
141
|
* only talks to runtimes that already exist on the page.
|
|
142
142
|
*/
|
|
143
|
-
type EcommerceEventName = "view_item" | "view_item_list" | "select_item" | "add_to_cart" | "remove_from_cart" | "view_cart" | "add_to_wishlist" | "view_promotion" | "select_promotion" | "begin_checkout" | "add_payment_info" | "add_shipping_info" | "search" | "generate_lead" | "purchase" | "variant_selected" | "newsletter_signup";
|
|
143
|
+
type EcommerceEventName = "view_item" | "view_item_list" | "select_item" | "add_to_cart" | "remove_from_cart" | "view_cart" | "add_to_wishlist" | "view_promotion" | "select_promotion" | "begin_checkout" | "add_payment_info" | "add_shipping_info" | "search" | "generate_lead" | "purchase" | "variant_selected" | "newsletter_signup" | "newsletter_request" | "form_popup_view";
|
|
144
144
|
type EcommerceItem = {
|
|
145
145
|
item_id: string;
|
|
146
146
|
item_name: string;
|
|
@@ -269,4 +269,38 @@ declare function validationFieldMessages(err: unknown, locale?: ErrorMessageLoca
|
|
|
269
269
|
*/
|
|
270
270
|
declare function formFieldErrors(err: unknown): StorefrontFormFieldError[];
|
|
271
271
|
|
|
272
|
-
|
|
272
|
+
interface StorageAdapter {
|
|
273
|
+
get(key: string): string | null;
|
|
274
|
+
set(key: string, value: string): void;
|
|
275
|
+
remove(key: string): void;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
declare const NEWSLETTER_REQUESTED_EVENT = "behio:newsletter-requested";
|
|
279
|
+
/** A preference only, no email, subscriber lookup, visitor id or fingerprint. Pending confirmation counts too. */
|
|
280
|
+
declare function markNewsletterRequested(): void;
|
|
281
|
+
declare function newsletterWasRequested(): boolean;
|
|
282
|
+
declare function matchesFormPath(rule: string, pathname: string): boolean;
|
|
283
|
+
declare function formPopupRouteAllowed(pathname: string, placement: StorefrontFormPlacement): boolean;
|
|
284
|
+
/** Visible time survives hard navigation. Hidden time is never persisted as active time. */
|
|
285
|
+
declare class FormPopupClock {
|
|
286
|
+
elapsedMs: number;
|
|
287
|
+
private since;
|
|
288
|
+
constructor(elapsedMs?: number);
|
|
289
|
+
setVisible(visible: boolean, now: number): void;
|
|
290
|
+
elapsed(now: number): number;
|
|
291
|
+
}
|
|
292
|
+
declare class FormPopupPreferences {
|
|
293
|
+
private session;
|
|
294
|
+
private persistent;
|
|
295
|
+
private now;
|
|
296
|
+
private shownInVisit;
|
|
297
|
+
constructor(session?: StorageAdapter, persistent?: StorageAdapter, now?: () => number);
|
|
298
|
+
private number;
|
|
299
|
+
visibleMs(): number;
|
|
300
|
+
saveTime(visible: number): void;
|
|
301
|
+
suppressed(slug: string, newsletter?: boolean): boolean;
|
|
302
|
+
shown(): void;
|
|
303
|
+
dismiss(slug: string, days: number): void;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export { BehioStorefront, CookieConsent, type EcommerceEventName, type EcommerceItem, type EcommercePayload, type ErrorMessageLocale, FormPopupClock, FormPopupPreferences, NEWSLETTER_REQUESTED_EVENT, ProductDetail, ProductVariant, type ResolvedVariantContent, SdkResult, StorefrontFormFieldError, StorefrontFormPlacement, VARIANT_QUERY_PARAM, type VariantComparisonRow, availableAxisValues, buildVariantComparison, errorCode, errorMessage, errorParams, findVariantByAttributes, formFieldErrors, formPopupRouteAllowed, formatPrice, generateVisitorId, getStoredVisitorId, grantAnalyticsConsent, markNewsletterRequested, matchesFormPath, newsletterWasRequested, resolveVariantContent, revokeAnalyticsConsent, trackEcommerceEvent, validationFieldMessages, variantFromQuery, variantHref };
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkOUPCGMSRjs = require('./chunk-OUPCGMSR.js');
|
|
16
16
|
|
|
17
17
|
// src/react/utils/format-price.ts
|
|
18
18
|
function formatPrice(amount, currency, locale, display) {
|
|
@@ -1118,7 +1118,7 @@ var GENERIC = {
|
|
|
1118
1118
|
en: "Something went wrong, please try again."
|
|
1119
1119
|
};
|
|
1120
1120
|
function bodyOf(err2) {
|
|
1121
|
-
const body = err2 instanceof
|
|
1121
|
+
const body = err2 instanceof _chunkOUPCGMSRjs.BehioApiError ? err2.body : err2 && typeof err2 === "object" && "body" in err2 ? err2.body : err2;
|
|
1122
1122
|
return body && typeof body === "object" ? body : null;
|
|
1123
1123
|
}
|
|
1124
1124
|
function errorCode(err2) {
|
|
@@ -1204,6 +1204,155 @@ function formFieldErrors(err2) {
|
|
|
1204
1204
|
return out;
|
|
1205
1205
|
}
|
|
1206
1206
|
|
|
1207
|
+
// src/react/storage.ts
|
|
1208
|
+
var localStorageAdapter = {
|
|
1209
|
+
get(key) {
|
|
1210
|
+
try {
|
|
1211
|
+
return window.localStorage.getItem(key);
|
|
1212
|
+
} catch (e9) {
|
|
1213
|
+
return null;
|
|
1214
|
+
}
|
|
1215
|
+
},
|
|
1216
|
+
set(key, value) {
|
|
1217
|
+
try {
|
|
1218
|
+
window.localStorage.setItem(key, value);
|
|
1219
|
+
} catch (e10) {
|
|
1220
|
+
}
|
|
1221
|
+
},
|
|
1222
|
+
remove(key) {
|
|
1223
|
+
try {
|
|
1224
|
+
window.localStorage.removeItem(key);
|
|
1225
|
+
} catch (e11) {
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
};
|
|
1229
|
+
function createMemoryStorage() {
|
|
1230
|
+
const store = /* @__PURE__ */ new Map();
|
|
1231
|
+
return {
|
|
1232
|
+
get(key) {
|
|
1233
|
+
return _nullishCoalesce(store.get(key), () => ( null));
|
|
1234
|
+
},
|
|
1235
|
+
set(key, value) {
|
|
1236
|
+
store.set(key, value);
|
|
1237
|
+
},
|
|
1238
|
+
remove(key) {
|
|
1239
|
+
store.delete(key);
|
|
1240
|
+
}
|
|
1241
|
+
};
|
|
1242
|
+
}
|
|
1243
|
+
var memoryStorage = createMemoryStorage();
|
|
1244
|
+
|
|
1245
|
+
// src/form-popup.ts
|
|
1246
|
+
function preferenceMemory() {
|
|
1247
|
+
if (typeof window === "undefined") return /* @__PURE__ */ new Map();
|
|
1248
|
+
const browser = window;
|
|
1249
|
+
return _nullishCoalesce(browser.__behioFormPreferences, () => ( (browser.__behioFormPreferences = /* @__PURE__ */ new Map())));
|
|
1250
|
+
}
|
|
1251
|
+
var memoryAdapter = { get: (k) => _nullishCoalesce(preferenceMemory().get(k), () => ( null)), set: (k, v) => {
|
|
1252
|
+
preferenceMemory().set(k, v);
|
|
1253
|
+
}, remove: (k) => {
|
|
1254
|
+
preferenceMemory().delete(k);
|
|
1255
|
+
} };
|
|
1256
|
+
var NEWSLETTER_REQUESTED_EVENT = "behio:newsletter-requested";
|
|
1257
|
+
var PREFIX = "behio:forms:";
|
|
1258
|
+
var VISIT_MS = 30 * 60 * 1e3;
|
|
1259
|
+
function sessionAdapter() {
|
|
1260
|
+
return { get: (key) => {
|
|
1261
|
+
try {
|
|
1262
|
+
return _nullishCoalesce(sessionStorage.getItem(key), () => ( memoryAdapter.get(key)));
|
|
1263
|
+
} catch (e12) {
|
|
1264
|
+
return memoryAdapter.get(key);
|
|
1265
|
+
}
|
|
1266
|
+
}, set: (key, value) => {
|
|
1267
|
+
memoryAdapter.set(key, value);
|
|
1268
|
+
try {
|
|
1269
|
+
sessionStorage.setItem(key, value);
|
|
1270
|
+
} catch (e13) {
|
|
1271
|
+
}
|
|
1272
|
+
}, remove: (key) => {
|
|
1273
|
+
memoryAdapter.remove(key);
|
|
1274
|
+
try {
|
|
1275
|
+
sessionStorage.removeItem(key);
|
|
1276
|
+
} catch (e14) {
|
|
1277
|
+
}
|
|
1278
|
+
} };
|
|
1279
|
+
}
|
|
1280
|
+
function markNewsletterRequested() {
|
|
1281
|
+
if (typeof window === "undefined") return;
|
|
1282
|
+
memoryAdapter.set(PREFIX + "newsletter", "1");
|
|
1283
|
+
localStorageAdapter.set(PREFIX + "newsletter", "1");
|
|
1284
|
+
if (typeof window !== "undefined") window.dispatchEvent(new Event(NEWSLETTER_REQUESTED_EVENT));
|
|
1285
|
+
}
|
|
1286
|
+
function newsletterWasRequested() {
|
|
1287
|
+
return memoryAdapter.get(PREFIX + "newsletter") === "1" || localStorageAdapter.get(PREFIX + "newsletter") === "1";
|
|
1288
|
+
}
|
|
1289
|
+
function matchesFormPath(rule, pathname) {
|
|
1290
|
+
return rule.endsWith("*") ? pathname.startsWith(rule.slice(0, -1)) : pathname === rule;
|
|
1291
|
+
}
|
|
1292
|
+
function formPopupRouteAllowed(pathname, placement) {
|
|
1293
|
+
if (/^\/(cart|checkout|account|order|newsletter|login|register|forgot-password|reset-password|verify-email|session)(\/|$)/.test(pathname)) return false;
|
|
1294
|
+
return (!placement.includePaths.length || placement.includePaths.some((rule) => matchesFormPath(rule, pathname))) && !placement.excludePaths.some((rule) => matchesFormPath(rule, pathname));
|
|
1295
|
+
}
|
|
1296
|
+
var FormPopupClock = class {
|
|
1297
|
+
constructor(elapsedMs = 0) {
|
|
1298
|
+
this.since = null;
|
|
1299
|
+
this.elapsedMs = Math.max(0, elapsedMs);
|
|
1300
|
+
}
|
|
1301
|
+
setVisible(visible, now) {
|
|
1302
|
+
if (this.since !== null) this.elapsedMs += Math.max(0, now - this.since);
|
|
1303
|
+
this.since = visible ? now : null;
|
|
1304
|
+
}
|
|
1305
|
+
elapsed(now) {
|
|
1306
|
+
return this.elapsedMs + (this.since === null ? 0 : Math.max(0, now - this.since));
|
|
1307
|
+
}
|
|
1308
|
+
};
|
|
1309
|
+
var FormPopupPreferences = class {
|
|
1310
|
+
constructor(session = sessionAdapter(), persistent = localStorageAdapter, now = () => Date.now()) {
|
|
1311
|
+
this.session = session;
|
|
1312
|
+
this.persistent = persistent;
|
|
1313
|
+
this.now = now;
|
|
1314
|
+
this.shownInVisit = this.number("shown", this.session) > this.now() || this.number("shown", this.persistent) > this.now();
|
|
1315
|
+
}
|
|
1316
|
+
number(key, storage) {
|
|
1317
|
+
const n = Number(storage.get(PREFIX + key));
|
|
1318
|
+
return Number.isFinite(n) && n >= 0 ? n : 0;
|
|
1319
|
+
}
|
|
1320
|
+
visibleMs() {
|
|
1321
|
+
return this.now() - this.number("activity", this.session) < VISIT_MS ? this.number("visible", this.session) : 0;
|
|
1322
|
+
}
|
|
1323
|
+
saveTime(visible) {
|
|
1324
|
+
if (this.shownInVisit) {
|
|
1325
|
+
const until = String(this.now() + VISIT_MS);
|
|
1326
|
+
this.session.set(PREFIX + "shown", until);
|
|
1327
|
+
this.persistent.set(PREFIX + "shown", until);
|
|
1328
|
+
}
|
|
1329
|
+
this.session.set(PREFIX + "visible", String(visible));
|
|
1330
|
+
this.session.set(PREFIX + "activity", String(this.now()));
|
|
1331
|
+
}
|
|
1332
|
+
suppressed(slug, newsletter = false) {
|
|
1333
|
+
return newsletter && newsletterWasRequested() || this.shownInVisit || this.number("shown", this.session) > this.now() || this.number("shown", this.persistent) > this.now() || this.number("dismissed:" + slug, this.persistent) > this.now() || this.number("dismissed:" + slug, this.session) > this.now();
|
|
1334
|
+
}
|
|
1335
|
+
shown() {
|
|
1336
|
+
this.shownInVisit = true;
|
|
1337
|
+
const until = String(this.now() + VISIT_MS);
|
|
1338
|
+
this.session.set(PREFIX + "shown", until);
|
|
1339
|
+
this.persistent.set(PREFIX + "shown", until);
|
|
1340
|
+
}
|
|
1341
|
+
dismiss(slug, days) {
|
|
1342
|
+
const key = PREFIX + "dismissed:" + slug;
|
|
1343
|
+
const until = String(this.now() + days * 864e5);
|
|
1344
|
+
this.session.set(key, until);
|
|
1345
|
+
this.persistent.set(key, until);
|
|
1346
|
+
}
|
|
1347
|
+
};
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
|
|
1207
1356
|
|
|
1208
1357
|
|
|
1209
1358
|
|
|
@@ -1235,4 +1384,4 @@ function formFieldErrors(err2) {
|
|
|
1235
1384
|
|
|
1236
1385
|
|
|
1237
1386
|
|
|
1238
|
-
exports.AddressTypes =
|
|
1387
|
+
exports.AddressTypes = _chunkOUPCGMSRjs.AddressTypes; exports.BehioApiError = _chunkOUPCGMSRjs.BehioApiError; exports.BehioNetworkError = _chunkOUPCGMSRjs.BehioNetworkError; exports.BehioStorefront = _chunkOUPCGMSRjs.BehioStorefront; exports.FormPopupClock = FormPopupClock; exports.FormPopupPreferences = FormPopupPreferences; exports.FulfillmentStatuses = _chunkOUPCGMSRjs.FulfillmentStatuses; exports.NEWSLETTER_REQUESTED_EVENT = NEWSLETTER_REQUESTED_EVENT; exports.OrderStatuses = _chunkOUPCGMSRjs.OrderStatuses; exports.PaymentStatuses = _chunkOUPCGMSRjs.PaymentStatuses; exports.ProductSort = _chunkOUPCGMSRjs.ProductSort; exports.VARIANT_QUERY_PARAM = VARIANT_QUERY_PARAM; exports.availableAxisValues = availableAxisValues; exports.buildVariantComparison = buildVariantComparison; exports.clearCartSummary = _chunkOUPCGMSRjs.clearCartSummary; exports.err = _chunkOUPCGMSRjs.err; exports.errorCode = errorCode; exports.errorMessage = errorMessage; exports.errorParams = errorParams; exports.findVariantByAttributes = findVariantByAttributes; exports.formFieldErrors = formFieldErrors; exports.formPopupRouteAllowed = formPopupRouteAllowed; exports.formatPrice = formatPrice; exports.generateVisitorId = generateVisitorId; exports.getStoredVisitorId = getStoredVisitorId; exports.grantAnalyticsConsent = grantAnalyticsConsent; exports.markNewsletterRequested = markNewsletterRequested; exports.matchesFormPath = matchesFormPath; exports.newsletterWasRequested = newsletterWasRequested; exports.ok = _chunkOUPCGMSRjs.ok; exports.publishCartSummary = _chunkOUPCGMSRjs.publishCartSummary; exports.resolveVariantContent = resolveVariantContent; exports.revokeAnalyticsConsent = revokeAnalyticsConsent; exports.toSdkError = _chunkOUPCGMSRjs.toSdkError; exports.trackEcommerceEvent = trackEcommerceEvent; exports.validationFieldMessages = validationFieldMessages; exports.variantFromQuery = variantFromQuery; exports.variantHref = variantHref;
|