@cimplify/sdk 0.25.0 → 0.27.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/advanced.d.mts +1 -1
- package/dist/advanced.d.ts +1 -1
- package/dist/advanced.js +20 -20
- package/dist/advanced.mjs +1 -1
- package/dist/{chunk-I4F4Y3D4.js → chunk-2CGA3MUW.js} +2 -1
- package/dist/{chunk-TBZLJPM4.mjs → chunk-3J4PPSMI.mjs} +2 -1
- package/dist/{chunk-WMQXSDRC.js → chunk-4JSRPSNA.js} +17 -17
- package/dist/{chunk-JMNMSVDQ.mjs → chunk-MISITC47.mjs} +1 -1
- package/dist/{index-DEx3GwlW.d.ts → index-BAu-zmIP.d.ts} +1 -0
- package/dist/{index-7mX_cUpQ.d.mts → index-DT-24csu.d.mts} +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +61 -61
- package/dist/index.mjs +2 -2
- package/dist/react.d.mts +413 -425
- package/dist/react.d.ts +413 -425
- package/dist/react.js +1437 -1005
- package/dist/react.mjs +1396 -974
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/registry/cart-page.json +1 -1
- package/registry/catalogue-page.json +1 -1
- package/registry/collection-page.json +1 -1
- package/registry/index.json +0 -43
- package/registry/search-page.json +1 -1
package/dist/react.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react';
|
|
1
|
+
import React$1, { ReactNode } from 'react';
|
|
2
2
|
import { A as AdSlot, a as AdPosition, e as AdContextValue } from './ads-BxbWrwqp.js';
|
|
3
3
|
export { c as AdConfig, g as getVariantDisplayName } from './ads-BxbWrwqp.js';
|
|
4
|
-
import { C as CimplifyClient, a8 as ProcessCheckoutResult, aa as CheckoutStatus, ab as CheckoutStatusContext, bK as Location, bH as Business, k as ReorderResult, aR as OrderStatus, b2 as Order, d as QuoteBundleSelectionInput, Q as QuoteCompositeSelectionInput, P as PriceQuote, g as QuoteUiMessage, bX as Service, c0 as AvailableSlot, c1 as DayAvailability, c6 as CustomerBooking, cc as CancelBookingResult, w as ActivityStateResponse, u as SessionMessage, x as ActivityRecommendation, E as DeliveryFeeResponse, cO as FxRateResponse, bR as StorefrontBootstrap, Y as ElementsOptions, d0 as AuthenticatedData, cY as AddressInfo, cZ as PaymentMethodInfo, K as CimplifyElements, d2 as ElementsCheckoutResult, a7 as ProcessCheckoutOptions, b1 as LineItem, bY as Staff, bP as Room } from './index-
|
|
4
|
+
import { C as CimplifyClient, a8 as ProcessCheckoutResult, aa as CheckoutStatus, ab as CheckoutStatusContext, bK as Location, bH as Business, k as ReorderResult, aR as OrderStatus, b2 as Order, d as QuoteBundleSelectionInput, Q as QuoteCompositeSelectionInput, P as PriceQuote, g as QuoteUiMessage, bX as Service, c0 as AvailableSlot, c1 as DayAvailability, c6 as CustomerBooking, cc as CancelBookingResult, w as ActivityStateResponse, u as SessionMessage, x as ActivityRecommendation, E as DeliveryFeeResponse, cO as FxRateResponse, bR as StorefrontBootstrap, Y as ElementsOptions, d0 as AuthenticatedData, cY as AddressInfo, cZ as PaymentMethodInfo, K as CimplifyElements, d2 as ElementsCheckoutResult, a7 as ProcessCheckoutOptions, b1 as LineItem, bY as Staff, bP as Room } from './index-BAu-zmIP.js';
|
|
5
5
|
import { a as CurrencyCode, N as Product, d as Pagination, h as CimplifyError, U as ProductWithDetails, a9 as Category, M as Money, b4 as BundleSelectionInput, az as ComponentSelectionInput, b7 as BundleSelectionData, ba as CompositeSelectionData, ab as Collection, aH as ProductTaxonomy, aI as TaxonomyWithChildren, aG as ProductTimeProfile, aL as Deal, aM as ProductDealInfo, aN as DiscountValidation, ag as BundleSummary, aA as CompositePriceResult, B as CustomAttributeDefinition, J as PropertyFacet, bM as ProductBillingPlan, W as VariantView, $ as VariantAxisWithValues, a5 as AddOnWithOptions, al as BundleComponentView, ae as BundlePriceType, aw as CompositeGroupView, bf as DisplayCart, F as CustomAttributeValue, H as ProductProperty, Q as QuantityPricingTier } from './payment-5a21yzi7.js';
|
|
6
6
|
import { P as ProductWithPrice } from './price-BS0Z5Oi9.js';
|
|
7
7
|
import { ClassValue } from 'clsx';
|
|
@@ -39,17 +39,17 @@ interface AdProviderProps {
|
|
|
39
39
|
authenticatedAccountId?: string;
|
|
40
40
|
children: ReactNode;
|
|
41
41
|
}
|
|
42
|
-
declare function AdProvider({ siteId, apiBase, authenticatedAccountId, children, }: AdProviderProps): React.ReactElement;
|
|
42
|
+
declare function AdProvider({ siteId, apiBase, authenticatedAccountId, children, }: AdProviderProps): React$1.ReactElement;
|
|
43
43
|
interface AdProps {
|
|
44
44
|
slot: AdSlot;
|
|
45
45
|
position?: AdPosition;
|
|
46
46
|
className?: string;
|
|
47
|
-
style?: React.CSSProperties;
|
|
47
|
+
style?: React$1.CSSProperties;
|
|
48
48
|
fallback?: ReactNode;
|
|
49
49
|
onImpression?: (adId: string) => void;
|
|
50
50
|
onClick?: (adId: string) => void;
|
|
51
51
|
}
|
|
52
|
-
declare function Ad({ slot, position, className, style, fallback, onImpression, onClick, }: AdProps): React.ReactElement | null;
|
|
52
|
+
declare function Ad({ slot, position, className, style, fallback, onImpression, onClick, }: AdProps): React$1.ReactElement | null;
|
|
53
53
|
|
|
54
54
|
type CheckoutOrderType = "pickup" | "delivery" | "dine_in";
|
|
55
55
|
interface CimplifyCheckoutProps {
|
|
@@ -79,7 +79,30 @@ interface CimplifyCheckoutProps {
|
|
|
79
79
|
demoMode?: boolean;
|
|
80
80
|
className?: string;
|
|
81
81
|
}
|
|
82
|
-
declare function CimplifyCheckout({ client, businessId, cartId, locationId, linkUrl, orderTypes, defaultOrderType, submitLabel, enrollInLink, onComplete, onError, onStatusChange, appearance, demoMode, className, }: CimplifyCheckoutProps): React.ReactElement;
|
|
82
|
+
declare function CimplifyCheckout({ client, businessId, cartId, locationId, linkUrl, orderTypes, defaultOrderType, submitLabel, enrollInLink, onComplete, onError, onStatusChange, appearance, demoMode, className, }: CimplifyCheckoutProps): React$1.ReactElement;
|
|
83
|
+
|
|
84
|
+
interface CimplifyAccountProps {
|
|
85
|
+
/** CimplifyClient instance. Falls back to provider context. */
|
|
86
|
+
client?: CimplifyClient;
|
|
87
|
+
/** Override the Link base URL. */
|
|
88
|
+
linkUrl?: string;
|
|
89
|
+
/** Initial section to show: "dashboard" | "orders" | "addresses" | "payment-methods" | "sessions" | "settings". */
|
|
90
|
+
section?: string;
|
|
91
|
+
/** Appearance variables — passed to Link for theming. */
|
|
92
|
+
appearance?: {
|
|
93
|
+
theme?: "light" | "dark";
|
|
94
|
+
variables?: {
|
|
95
|
+
primaryColor?: string;
|
|
96
|
+
fontFamily?: string;
|
|
97
|
+
borderRadius?: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
/** Called when the user logs out from the account portal. */
|
|
101
|
+
onLogout?: () => void;
|
|
102
|
+
/** Additional CSS class for the container. */
|
|
103
|
+
className?: string;
|
|
104
|
+
}
|
|
105
|
+
declare function CimplifyAccount({ client: clientProp, linkUrl, section, appearance, onLogout, className, }: CimplifyAccountProps): React$1.ReactElement;
|
|
83
106
|
|
|
84
107
|
interface PriceProps {
|
|
85
108
|
/** The amount in base (business) currency. */
|
|
@@ -100,7 +123,7 @@ interface PriceProps {
|
|
|
100
123
|
* When used outside a provider (or with explicit `currency` prop): formats
|
|
101
124
|
* directly — no provider required. Works in any React environment.
|
|
102
125
|
*/
|
|
103
|
-
declare function Price({ amount, currency, className, prefix }: PriceProps): React.ReactElement;
|
|
126
|
+
declare function Price({ amount, currency, className, prefix }: PriceProps): React$1.ReactElement;
|
|
104
127
|
|
|
105
128
|
interface CimplifyClientContextValue {
|
|
106
129
|
client: CimplifyClient;
|
|
@@ -132,7 +155,7 @@ interface CimplifyProviderProps {
|
|
|
132
155
|
children: ReactNode;
|
|
133
156
|
onLocationChange?: (location: Location) => void;
|
|
134
157
|
}
|
|
135
|
-
declare function CimplifyProvider({ client, children, onLocationChange, }: CimplifyProviderProps): React.ReactElement;
|
|
158
|
+
declare function CimplifyProvider({ client, children, onLocationChange, }: CimplifyProviderProps): React$1.ReactElement;
|
|
136
159
|
declare function useCimplify(): CimplifyContextValue;
|
|
137
160
|
declare function useOptionalCimplify(): CimplifyContextValue | null;
|
|
138
161
|
declare function useCimplifyClient(): CimplifyClientContextValue;
|
|
@@ -686,10 +709,10 @@ interface ElementsProviderProps {
|
|
|
686
709
|
options?: ElementsOptions;
|
|
687
710
|
children: ReactNode;
|
|
688
711
|
}
|
|
689
|
-
declare function ElementsProvider({ client, businessId, options, children, }: ElementsProviderProps): React.ReactElement;
|
|
712
|
+
declare function ElementsProvider({ client, businessId, options, children, }: ElementsProviderProps): React$1.ReactElement;
|
|
690
713
|
interface BaseElementProps {
|
|
691
714
|
className?: string;
|
|
692
|
-
style?: React.CSSProperties;
|
|
715
|
+
style?: React$1.CSSProperties;
|
|
693
716
|
onReady?: () => void;
|
|
694
717
|
onError?: (error: {
|
|
695
718
|
code: string;
|
|
@@ -703,7 +726,7 @@ interface AuthElementProps extends BaseElementProps {
|
|
|
703
726
|
contactMasked: string;
|
|
704
727
|
}) => void;
|
|
705
728
|
}
|
|
706
|
-
declare function AuthElement({ className, style, prefillEmail, onReady, onAuthenticated, onRequiresOtp, onError, }: AuthElementProps): React.ReactElement | null;
|
|
729
|
+
declare function AuthElement({ className, style, prefillEmail, onReady, onAuthenticated, onRequiresOtp, onError, }: AuthElementProps): React$1.ReactElement | null;
|
|
707
730
|
interface AddressElementProps extends BaseElementProps {
|
|
708
731
|
mode?: "shipping" | "billing";
|
|
709
732
|
onChange?: (data: {
|
|
@@ -711,7 +734,7 @@ interface AddressElementProps extends BaseElementProps {
|
|
|
711
734
|
saveToLink: boolean;
|
|
712
735
|
}) => void;
|
|
713
736
|
}
|
|
714
|
-
declare function AddressElement({ className, style, mode, onReady, onChange, onError, }: AddressElementProps): React.ReactElement | null;
|
|
737
|
+
declare function AddressElement({ className, style, mode, onReady, onChange, onError, }: AddressElementProps): React$1.ReactElement | null;
|
|
715
738
|
interface PaymentElementProps extends BaseElementProps {
|
|
716
739
|
amount?: number;
|
|
717
740
|
currency?: CurrencyCode;
|
|
@@ -720,7 +743,7 @@ interface PaymentElementProps extends BaseElementProps {
|
|
|
720
743
|
saveToLink: boolean;
|
|
721
744
|
}) => void;
|
|
722
745
|
}
|
|
723
|
-
declare function PaymentElement({ className, style, amount, currency, onReady, onChange, onError, }: PaymentElementProps): React.ReactElement | null;
|
|
746
|
+
declare function PaymentElement({ className, style, amount, currency, onReady, onChange, onError, }: PaymentElementProps): React$1.ReactElement | null;
|
|
724
747
|
declare function useCheckout(): {
|
|
725
748
|
submit: (data: {
|
|
726
749
|
cart_id: string;
|
|
@@ -747,7 +770,7 @@ interface QuantitySelectorProps {
|
|
|
747
770
|
className?: string;
|
|
748
771
|
classNames?: QuantitySelectorClassNames;
|
|
749
772
|
}
|
|
750
|
-
declare function QuantitySelector({ value, onChange, min, max, className, classNames, }: QuantitySelectorProps): React.ReactElement;
|
|
773
|
+
declare function QuantitySelector({ value, onChange, min, max, className, classNames, }: QuantitySelectorProps): React$1.ReactElement;
|
|
751
774
|
|
|
752
775
|
interface VariantSelectorClassNames {
|
|
753
776
|
root?: string;
|
|
@@ -771,7 +794,7 @@ interface VariantSelectorProps {
|
|
|
771
794
|
className?: string;
|
|
772
795
|
classNames?: VariantSelectorClassNames;
|
|
773
796
|
}
|
|
774
|
-
declare function VariantSelector({ variants, variantAxes, basePrice, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React.ReactElement | null;
|
|
797
|
+
declare function VariantSelector({ variants, variantAxes, basePrice, selectedVariantId, onVariantChange, productName, className, classNames, }: VariantSelectorProps): React$1.ReactElement | null;
|
|
775
798
|
|
|
776
799
|
interface AddOnSelectorClassNames {
|
|
777
800
|
root?: string;
|
|
@@ -794,7 +817,7 @@ interface AddOnSelectorProps {
|
|
|
794
817
|
className?: string;
|
|
795
818
|
classNames?: AddOnSelectorClassNames;
|
|
796
819
|
}
|
|
797
|
-
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, className, classNames, }: AddOnSelectorProps): React.ReactElement | null;
|
|
820
|
+
declare function AddOnSelector({ addOns, selectedOptions, onOptionsChange, className, classNames, }: AddOnSelectorProps): React$1.ReactElement | null;
|
|
798
821
|
|
|
799
822
|
interface BundleSelectorClassNames {
|
|
800
823
|
root?: string;
|
|
@@ -825,7 +848,7 @@ interface BundleSelectorProps {
|
|
|
825
848
|
className?: string;
|
|
826
849
|
classNames?: BundleSelectorClassNames;
|
|
827
850
|
}
|
|
828
|
-
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React.ReactElement | null;
|
|
851
|
+
declare function BundleSelector({ components, bundlePrice, discountValue, pricingType, onSelectionsChange, onPriceChange, onReady, className, classNames, }: BundleSelectorProps): React$1.ReactElement | null;
|
|
829
852
|
|
|
830
853
|
interface CompositeSelectorClassNames {
|
|
831
854
|
root?: string;
|
|
@@ -867,7 +890,7 @@ interface CompositeSelectorProps {
|
|
|
867
890
|
className?: string;
|
|
868
891
|
classNames?: CompositeSelectorClassNames;
|
|
869
892
|
}
|
|
870
|
-
declare function CompositeSelector({ compositeId, groups, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React.ReactElement | null;
|
|
893
|
+
declare function CompositeSelector({ compositeId, groups, onSelectionsChange, onPriceChange, onReady, skipPriceFetch, className, classNames, }: CompositeSelectorProps): React$1.ReactElement | null;
|
|
871
894
|
|
|
872
895
|
interface ProductCustomizerClassNames {
|
|
873
896
|
root?: string;
|
|
@@ -887,7 +910,7 @@ interface ProductCustomizerProps {
|
|
|
887
910
|
className?: string;
|
|
888
911
|
classNames?: ProductCustomizerClassNames;
|
|
889
912
|
}
|
|
890
|
-
declare function ProductCustomizer({ product, onAddToCart, showSpecialInstructions, className, classNames, }: ProductCustomizerProps): React.ReactElement;
|
|
913
|
+
declare function ProductCustomizer({ product, onAddToCart, showSpecialInstructions, className, classNames, }: ProductCustomizerProps): React$1.ReactElement;
|
|
891
914
|
|
|
892
915
|
interface ProductImageGalleryProps {
|
|
893
916
|
images: string[];
|
|
@@ -900,7 +923,7 @@ interface ProductImageGalleryProps {
|
|
|
900
923
|
*
|
|
901
924
|
* Uses plain `<img>` for framework-agnostic rendering (not Next.js Image).
|
|
902
925
|
*/
|
|
903
|
-
declare function ProductImageGallery({ images, productName, aspectRatio, className, }: ProductImageGalleryProps): React.ReactElement | null;
|
|
926
|
+
declare function ProductImageGallery({ images, productName, aspectRatio, className, }: ProductImageGalleryProps): React$1.ReactElement | null;
|
|
904
927
|
|
|
905
928
|
interface CartSummaryClassNames {
|
|
906
929
|
root?: string;
|
|
@@ -939,7 +962,7 @@ interface CartSummaryProps {
|
|
|
939
962
|
* NOT a drawer or modal — just the cart content. Templates wrap this in
|
|
940
963
|
* their own drawer/modal shell with animations.
|
|
941
964
|
*/
|
|
942
|
-
declare function CartSummary({ cart: serverCart, onCheckout, onItemRemove, onQuantityChange, emptyMessage, className, classNames, }: CartSummaryProps): React.ReactElement;
|
|
965
|
+
declare function CartSummary({ cart: serverCart, onCheckout, onItemRemove, onQuantityChange, emptyMessage, className, classNames, }: CartSummaryProps): React$1.ReactElement;
|
|
943
966
|
|
|
944
967
|
interface AvailabilityBadgeClassNames {
|
|
945
968
|
root?: string;
|
|
@@ -970,7 +993,7 @@ interface AvailabilityBadgeProps {
|
|
|
970
993
|
* Returns `null` for products that don't have inventory tracking enabled,
|
|
971
994
|
* since there's no meaningful stock state to show.
|
|
972
995
|
*/
|
|
973
|
-
declare function AvailabilityBadge({ product, isAvailable, isInStock, stockQuantity, lowStockThreshold, locationId, className, classNames, }: AvailabilityBadgeProps): React.ReactElement | null;
|
|
996
|
+
declare function AvailabilityBadge({ product, isAvailable, isInStock, stockQuantity, lowStockThreshold, locationId, className, classNames, }: AvailabilityBadgeProps): React$1.ReactElement | null;
|
|
974
997
|
|
|
975
998
|
interface SaleBadgeClassNames {
|
|
976
999
|
root?: string;
|
|
@@ -998,7 +1021,7 @@ interface SaleBadgeProps {
|
|
|
998
1021
|
* Returns `null` when there's no deal, no sale price difference, and no label override,
|
|
999
1022
|
* so it's safe to render unconditionally — it simply won't show for non-sale products.
|
|
1000
1023
|
*/
|
|
1001
|
-
declare function SaleBadge({ product, dealInfo, label, showOriginalPrice, showPercentage, className, classNames, }: SaleBadgeProps): React.ReactElement | null;
|
|
1024
|
+
declare function SaleBadge({ product, dealInfo, label, showOriginalPrice, showPercentage, className, classNames, }: SaleBadgeProps): React$1.ReactElement | null;
|
|
1002
1025
|
|
|
1003
1026
|
interface ProductSheetClassNames {
|
|
1004
1027
|
root?: string;
|
|
@@ -1022,7 +1045,7 @@ interface ProductSheetProps {
|
|
|
1022
1045
|
src: string;
|
|
1023
1046
|
alt: string;
|
|
1024
1047
|
className?: string;
|
|
1025
|
-
}) => React.ReactNode;
|
|
1048
|
+
}) => React$1.ReactNode;
|
|
1026
1049
|
className?: string;
|
|
1027
1050
|
classNames?: ProductSheetClassNames;
|
|
1028
1051
|
}
|
|
@@ -1032,7 +1055,7 @@ interface ProductSheetProps {
|
|
|
1032
1055
|
* When given a slim `Product`, it lazy-fetches the full details via `useProduct`.
|
|
1033
1056
|
* When given a `ProductWithDetails`, it skips the fetch entirely.
|
|
1034
1057
|
*/
|
|
1035
|
-
declare function ProductSheet({ product, onClose, onAddToCart, renderImage, className, classNames, }: ProductSheetProps): React.ReactElement;
|
|
1058
|
+
declare function ProductSheet({ product, onClose, onAddToCart, renderImage, className, classNames, }: ProductSheetProps): React$1.ReactElement;
|
|
1036
1059
|
|
|
1037
1060
|
interface CardLayoutProps {
|
|
1038
1061
|
product: Product;
|
|
@@ -1041,12 +1064,12 @@ interface CardLayoutProps {
|
|
|
1041
1064
|
src: string;
|
|
1042
1065
|
alt: string;
|
|
1043
1066
|
className?: string;
|
|
1044
|
-
}) => React.ReactNode;
|
|
1067
|
+
}) => React$1.ReactNode;
|
|
1045
1068
|
renderLink?: (props: {
|
|
1046
1069
|
href: string;
|
|
1047
1070
|
className?: string;
|
|
1048
|
-
children: React.ReactNode;
|
|
1049
|
-
}) => React.ReactElement;
|
|
1071
|
+
children: React$1.ReactNode;
|
|
1072
|
+
}) => React$1.ReactElement;
|
|
1050
1073
|
className?: string;
|
|
1051
1074
|
}
|
|
1052
1075
|
declare function CardImage({ src, alt, aspectRatio, renderImage, className, children, }: {
|
|
@@ -1055,51 +1078,51 @@ declare function CardImage({ src, alt, aspectRatio, renderImage, className, chil
|
|
|
1055
1078
|
aspectRatio?: "square" | "3/4" | "4/3" | "16/9";
|
|
1056
1079
|
renderImage?: CardLayoutProps["renderImage"];
|
|
1057
1080
|
className?: string;
|
|
1058
|
-
children?: React.ReactNode;
|
|
1059
|
-
}): React.ReactElement;
|
|
1081
|
+
children?: React$1.ReactNode;
|
|
1082
|
+
}): React$1.ReactElement;
|
|
1060
1083
|
declare function QuickAddButton({ onClick, className, }: {
|
|
1061
1084
|
onClick?: () => void;
|
|
1062
1085
|
className?: string;
|
|
1063
|
-
}): React.ReactElement;
|
|
1086
|
+
}): React$1.ReactElement;
|
|
1064
1087
|
declare function WishlistButton({ filled, onClick, className, }: {
|
|
1065
1088
|
filled?: boolean;
|
|
1066
1089
|
onClick?: () => void;
|
|
1067
1090
|
className?: string;
|
|
1068
|
-
}): React.ReactElement;
|
|
1069
|
-
declare function SoldOutOverlay(): React.ReactElement;
|
|
1091
|
+
}): React$1.ReactElement;
|
|
1092
|
+
declare function SoldOutOverlay(): React$1.ReactElement;
|
|
1070
1093
|
declare function CardShell({ product, renderLink, disabled, className, children, }: {
|
|
1071
1094
|
product: Product;
|
|
1072
1095
|
renderLink?: CardLayoutProps["renderLink"];
|
|
1073
1096
|
disabled?: boolean;
|
|
1074
1097
|
className?: string;
|
|
1075
|
-
children: React.ReactNode;
|
|
1076
|
-
}): React.ReactElement;
|
|
1098
|
+
children: React$1.ReactNode;
|
|
1099
|
+
}): React$1.ReactElement;
|
|
1077
1100
|
|
|
1078
1101
|
interface ServiceCardLayoutProps extends CardLayoutProps {
|
|
1079
1102
|
slots?: AvailableSlot[];
|
|
1080
1103
|
onBook?: (product: Product) => void;
|
|
1081
1104
|
}
|
|
1082
|
-
declare function StandardServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1105
|
+
declare function StandardServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1083
1106
|
|
|
1084
|
-
declare function FoodProductCard({ product, onQuickAdd, renderImage, renderLink, className, }: CardLayoutProps): React.ReactElement;
|
|
1107
|
+
declare function FoodProductCard({ product, onQuickAdd, renderImage, renderLink, className, }: CardLayoutProps): React$1.ReactElement;
|
|
1085
1108
|
|
|
1086
|
-
declare function RetailProductCard({ product, renderImage, renderLink, className, }: CardLayoutProps): React.ReactElement;
|
|
1109
|
+
declare function RetailProductCard({ product, renderImage, renderLink, className, }: CardLayoutProps): React$1.ReactElement;
|
|
1087
1110
|
|
|
1088
|
-
declare function WholesaleProductCard({ product, onQuickAdd, renderImage, renderLink, className, }: CardLayoutProps): React.ReactElement;
|
|
1111
|
+
declare function WholesaleProductCard({ product, onQuickAdd, renderImage, renderLink, className, }: CardLayoutProps): React$1.ReactElement;
|
|
1089
1112
|
|
|
1090
|
-
declare function DigitalProductCard({ product, renderImage, renderLink, className, }: CardLayoutProps): React.ReactElement;
|
|
1113
|
+
declare function DigitalProductCard({ product, renderImage, renderLink, className, }: CardLayoutProps): React$1.ReactElement;
|
|
1091
1114
|
|
|
1092
|
-
declare function CompactServiceCard({ product, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1115
|
+
declare function CompactServiceCard({ product, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1093
1116
|
|
|
1094
|
-
declare function ScheduleServiceCard({ product, slots, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1117
|
+
declare function ScheduleServiceCard({ product, slots, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1095
1118
|
|
|
1096
|
-
declare function RentalServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1119
|
+
declare function RentalServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1097
1120
|
|
|
1098
|
-
declare function AccommodationCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1121
|
+
declare function AccommodationCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1099
1122
|
|
|
1100
|
-
declare function LeaseServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1123
|
+
declare function LeaseServiceCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1101
1124
|
|
|
1102
|
-
declare function SubscriptionCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React.ReactElement;
|
|
1125
|
+
declare function SubscriptionCard({ product, onBook, renderImage, renderLink, className, }: ServiceCardLayoutProps): React$1.ReactElement;
|
|
1103
1126
|
|
|
1104
1127
|
declare enum CardVariant {
|
|
1105
1128
|
Food = "food",
|
|
@@ -1136,27 +1159,27 @@ interface ProductCardProps {
|
|
|
1136
1159
|
/** Explicit card variant. Auto-detected from product data when omitted. */
|
|
1137
1160
|
variant?: CardVariant;
|
|
1138
1161
|
/** Per-slug card map. Highest priority — maps a product slug to a custom card component. */
|
|
1139
|
-
cards?: Record<string, React.ComponentType<CardLayoutProps>>;
|
|
1162
|
+
cards?: Record<string, React$1.ComponentType<CardLayoutProps>>;
|
|
1140
1163
|
/** Link href for page mode. Default: `/menu/${product.slug}` */
|
|
1141
1164
|
href?: string;
|
|
1142
1165
|
/** Custom modal content renderer. Receives the fully-loaded product and a close callback. */
|
|
1143
|
-
renderModal?: (product: ProductWithDetails, onClose: () => void) => React.ReactNode;
|
|
1166
|
+
renderModal?: (product: ProductWithDetails, onClose: () => void) => React$1.ReactNode;
|
|
1144
1167
|
/** Custom image renderer (e.g. Next.js Image). */
|
|
1145
1168
|
renderImage?: (props: {
|
|
1146
1169
|
src: string;
|
|
1147
1170
|
alt: string;
|
|
1148
1171
|
className?: string;
|
|
1149
|
-
}) => React.ReactNode;
|
|
1172
|
+
}) => React$1.ReactNode;
|
|
1150
1173
|
/** Custom link renderer for page mode (e.g. Next.js Link). */
|
|
1151
1174
|
renderLink?: (props: {
|
|
1152
1175
|
href: string;
|
|
1153
1176
|
className?: string;
|
|
1154
|
-
children: React.ReactNode;
|
|
1155
|
-
}) => React.ReactElement;
|
|
1177
|
+
children: React$1.ReactNode;
|
|
1178
|
+
}) => React$1.ReactElement;
|
|
1156
1179
|
/** Called when quick-add button is clicked (if the resolved card supports it). */
|
|
1157
1180
|
onQuickAdd?: (product: Product) => void;
|
|
1158
1181
|
/** Replace the entire default card body. */
|
|
1159
|
-
children?: React.ReactNode;
|
|
1182
|
+
children?: React$1.ReactNode;
|
|
1160
1183
|
/** Image aspect ratio. Default: "4/3". */
|
|
1161
1184
|
aspectRatio?: "square" | "4/3" | "16/10" | "3/4";
|
|
1162
1185
|
className?: string;
|
|
@@ -1168,7 +1191,7 @@ interface ProductCardProps {
|
|
|
1168
1191
|
* - **card** (default): clickable button that opens a Base UI Dialog modal
|
|
1169
1192
|
* - **page**: a plain `<a>` link for SEO-friendly product pages
|
|
1170
1193
|
*/
|
|
1171
|
-
declare function ProductCard({ product, displayMode, variant, cards, href, renderModal, renderImage, renderLink, onQuickAdd, children, aspectRatio, className, classNames, }: ProductCardProps): React.ReactElement;
|
|
1194
|
+
declare function ProductCard({ product, displayMode, variant, cards, href, renderModal, renderImage, renderLink, onQuickAdd, children, aspectRatio, className, classNames, }: ProductCardProps): React$1.ReactElement;
|
|
1172
1195
|
|
|
1173
1196
|
interface ProductGridClassNames {
|
|
1174
1197
|
root?: string;
|
|
@@ -1186,13 +1209,13 @@ interface ProductGridProps {
|
|
|
1186
1209
|
xl?: number;
|
|
1187
1210
|
};
|
|
1188
1211
|
/** Custom card renderer per product. */
|
|
1189
|
-
renderCard?: (product: Product) => React.ReactNode;
|
|
1212
|
+
renderCard?: (product: Product) => React$1.ReactNode;
|
|
1190
1213
|
/** Custom image renderer passed to default ProductCards. */
|
|
1191
1214
|
renderImage?: (props: {
|
|
1192
1215
|
src: string;
|
|
1193
1216
|
alt: string;
|
|
1194
1217
|
className?: string;
|
|
1195
|
-
}) => React.ReactNode;
|
|
1218
|
+
}) => React$1.ReactNode;
|
|
1196
1219
|
/** Text shown when `products` is empty. */
|
|
1197
1220
|
emptyMessage?: string;
|
|
1198
1221
|
className?: string;
|
|
@@ -1204,7 +1227,7 @@ interface ProductGridProps {
|
|
|
1204
1227
|
* Injects an inline `<style>` tag with media queries for responsive columns.
|
|
1205
1228
|
* Uses `React.useId()` for a hydration-safe, collision-free CSS selector.
|
|
1206
1229
|
*/
|
|
1207
|
-
declare function ProductGrid({ products, columns, renderCard, renderImage, emptyMessage, className, classNames, }: ProductGridProps): React.ReactElement;
|
|
1230
|
+
declare function ProductGrid({ products, columns, renderCard, renderImage, emptyMessage, className, classNames, }: ProductGridProps): React$1.ReactElement;
|
|
1208
1231
|
|
|
1209
1232
|
declare function cn(...inputs: ClassValue[]): string;
|
|
1210
1233
|
|
|
@@ -1229,7 +1252,7 @@ interface SearchInputProps {
|
|
|
1229
1252
|
/** Called when a product result is clicked. */
|
|
1230
1253
|
onResultClick?: (product: Product) => void;
|
|
1231
1254
|
/** Custom result item renderer. */
|
|
1232
|
-
renderResult?: (product: Product) => React.ReactNode;
|
|
1255
|
+
renderResult?: (product: Product) => React$1.ReactNode;
|
|
1233
1256
|
/** Show inline results dropdown. Default: true. */
|
|
1234
1257
|
showResults?: boolean;
|
|
1235
1258
|
/** Optional category ID to scope search results. */
|
|
@@ -1245,7 +1268,7 @@ interface SearchInputProps {
|
|
|
1245
1268
|
* Wraps `useSearch` with a controlled input and optional inline results list.
|
|
1246
1269
|
* Uses Base UI Field.Root + Input for accessible form semantics.
|
|
1247
1270
|
*/
|
|
1248
|
-
declare function SearchInput({ placeholder, searchOptions, onResultClick, renderResult, showResults, categoryId, categoryName, className, classNames, }: SearchInputProps): React.ReactElement;
|
|
1271
|
+
declare function SearchInput({ placeholder, searchOptions, onResultClick, renderResult, showResults, categoryId, categoryName, className, classNames, }: SearchInputProps): React$1.ReactElement;
|
|
1249
1272
|
|
|
1250
1273
|
interface CategoryFilterClassNames {
|
|
1251
1274
|
root?: string;
|
|
@@ -1273,7 +1296,7 @@ interface CategoryFilterProps {
|
|
|
1273
1296
|
*
|
|
1274
1297
|
* Built on Base UI Tabs for accessible keyboard navigation and ARIA roles.
|
|
1275
1298
|
*/
|
|
1276
|
-
declare function CategoryFilter({ selectedId, onSelect, allLabel, showCounts, className, classNames, }: CategoryFilterProps): React.ReactElement;
|
|
1299
|
+
declare function CategoryFilter({ selectedId, onSelect, allLabel, showCounts, className, classNames, }: CategoryFilterProps): React$1.ReactElement;
|
|
1277
1300
|
|
|
1278
1301
|
interface DiscountInputClassNames {
|
|
1279
1302
|
root?: string;
|
|
@@ -1303,7 +1326,7 @@ interface DiscountInputProps {
|
|
|
1303
1326
|
* Wraps `useValidateDiscount` with a Base UI Field + Input and apply button.
|
|
1304
1327
|
* Shows validation result inline (success with amount, or error via Field.Error).
|
|
1305
1328
|
*/
|
|
1306
|
-
declare function DiscountInput({ orderSubtotal, locationId, onApply, onClear, placeholder, className, classNames, }: DiscountInputProps): React.ReactElement;
|
|
1329
|
+
declare function DiscountInput({ orderSubtotal, locationId, onApply, onClear, placeholder, className, classNames, }: DiscountInputProps): React$1.ReactElement;
|
|
1307
1330
|
|
|
1308
1331
|
interface CategoryGridClassNames {
|
|
1309
1332
|
root?: string;
|
|
@@ -1319,7 +1342,7 @@ interface CategoryGridProps {
|
|
|
1319
1342
|
/** Called when a category card is clicked. */
|
|
1320
1343
|
onSelect?: (category: Category) => void;
|
|
1321
1344
|
/** Custom card renderer. */
|
|
1322
|
-
renderCard?: (category: Category) => React.ReactNode;
|
|
1345
|
+
renderCard?: (category: Category) => React$1.ReactNode;
|
|
1323
1346
|
/** Responsive column counts. */
|
|
1324
1347
|
columns?: {
|
|
1325
1348
|
sm?: number;
|
|
@@ -1337,7 +1360,7 @@ interface CategoryGridProps {
|
|
|
1337
1360
|
* Fetches categories via `useCategories` unless overridden.
|
|
1338
1361
|
* Uses `React.useId()` for hydration-safe responsive CSS.
|
|
1339
1362
|
*/
|
|
1340
|
-
declare function CategoryGrid({ categories: categoriesProp, onSelect, renderCard, columns, emptyMessage, className, classNames, }: CategoryGridProps): React.ReactElement;
|
|
1363
|
+
declare function CategoryGrid({ categories: categoriesProp, onSelect, renderCard, columns, emptyMessage, className, classNames, }: CategoryGridProps): React$1.ReactElement;
|
|
1341
1364
|
|
|
1342
1365
|
interface DealBannerClassNames {
|
|
1343
1366
|
root?: string;
|
|
@@ -1355,7 +1378,7 @@ interface DealBannerProps {
|
|
|
1355
1378
|
/** Called when a deal is clicked. */
|
|
1356
1379
|
onDealClick?: (deal: Deal) => void;
|
|
1357
1380
|
/** Custom deal card renderer. */
|
|
1358
|
-
renderDeal?: (deal: Deal) => React.ReactNode;
|
|
1381
|
+
renderDeal?: (deal: Deal) => React$1.ReactNode;
|
|
1359
1382
|
/** Maximum deals to show. Default: all. */
|
|
1360
1383
|
limit?: number;
|
|
1361
1384
|
className?: string;
|
|
@@ -1366,7 +1389,7 @@ interface DealBannerProps {
|
|
|
1366
1389
|
*
|
|
1367
1390
|
* Renders as a horizontal scrollable strip or grid of deal cards.
|
|
1368
1391
|
*/
|
|
1369
|
-
declare function DealBanner({ deals: dealsProp, locationId, onDealClick, renderDeal, limit, className, classNames, }: DealBannerProps): React.ReactElement | null;
|
|
1392
|
+
declare function DealBanner({ deals: dealsProp, locationId, onDealClick, renderDeal, limit, className, classNames, }: DealBannerProps): React$1.ReactElement | null;
|
|
1370
1393
|
|
|
1371
1394
|
interface OrderSummaryClassNames {
|
|
1372
1395
|
root?: string;
|
|
@@ -1397,7 +1420,7 @@ interface OrderSummaryProps {
|
|
|
1397
1420
|
/** Poll for status updates. */
|
|
1398
1421
|
poll?: boolean;
|
|
1399
1422
|
/** Custom line item renderer. */
|
|
1400
|
-
renderLineItem?: (item: LineItem) => React.ReactNode;
|
|
1423
|
+
renderLineItem?: (item: LineItem) => React$1.ReactNode;
|
|
1401
1424
|
/** Called when the reorder button is clicked. */
|
|
1402
1425
|
onReorder?: (order: Order) => void;
|
|
1403
1426
|
/** Called when the order status changes during polling. */
|
|
@@ -1411,7 +1434,7 @@ interface OrderSummaryProps {
|
|
|
1411
1434
|
* Accepts either a pre-loaded `order` object or an `orderId` to fetch.
|
|
1412
1435
|
* Supports polling for live status updates.
|
|
1413
1436
|
*/
|
|
1414
|
-
declare function OrderSummary({ order: orderProp, orderId, poll, renderLineItem, onReorder, onStatusChange, className, classNames, }: OrderSummaryProps): React.ReactElement;
|
|
1437
|
+
declare function OrderSummary({ order: orderProp, orderId, poll, renderLineItem, onReorder, onStatusChange, className, classNames, }: OrderSummaryProps): React$1.ReactElement;
|
|
1415
1438
|
|
|
1416
1439
|
interface OrderHistoryClassNames {
|
|
1417
1440
|
root?: string;
|
|
@@ -1434,7 +1457,7 @@ interface OrderHistoryProps {
|
|
|
1434
1457
|
/** Called when an order row is clicked. */
|
|
1435
1458
|
onOrderClick?: (order: Order) => void;
|
|
1436
1459
|
/** Custom order row renderer. */
|
|
1437
|
-
renderOrder?: (order: Order) => React.ReactNode;
|
|
1460
|
+
renderOrder?: (order: Order) => React$1.ReactNode;
|
|
1438
1461
|
/** Called when the reorder button is clicked. If provided, a reorder button is rendered. */
|
|
1439
1462
|
onReorder?: (order: Order) => void;
|
|
1440
1463
|
/** Text shown when empty. */
|
|
@@ -1447,7 +1470,7 @@ interface OrderHistoryProps {
|
|
|
1447
1470
|
*
|
|
1448
1471
|
* Fetches via `useOrders` unless pre-loaded orders are passed.
|
|
1449
1472
|
*/
|
|
1450
|
-
declare function OrderHistory({ orders: ordersProp, status, limit, onOrderClick, renderOrder, onReorder, emptyMessage, className, classNames, }: OrderHistoryProps): React.ReactElement;
|
|
1473
|
+
declare function OrderHistory({ orders: ordersProp, status, limit, onOrderClick, renderOrder, onReorder, emptyMessage, className, classNames, }: OrderHistoryProps): React$1.ReactElement;
|
|
1451
1474
|
|
|
1452
1475
|
interface StoreNavClassNames {
|
|
1453
1476
|
root?: string;
|
|
@@ -1463,7 +1486,7 @@ interface StoreNavProps {
|
|
|
1463
1486
|
/** Store/brand name. */
|
|
1464
1487
|
storeName?: string;
|
|
1465
1488
|
/** Custom brand element (logo, etc.). Overrides storeName. */
|
|
1466
|
-
renderBrand?: () => React.ReactNode;
|
|
1489
|
+
renderBrand?: () => React$1.ReactNode;
|
|
1467
1490
|
/** Override categories (skips fetch). */
|
|
1468
1491
|
categories?: Category[];
|
|
1469
1492
|
/** Called when a category link is clicked. */
|
|
@@ -1487,7 +1510,7 @@ interface StoreNavProps {
|
|
|
1487
1510
|
* Fetches categories via `useCategories` and cart count via `useCart`.
|
|
1488
1511
|
* Renders as a semantic `<nav>` element.
|
|
1489
1512
|
*/
|
|
1490
|
-
declare function StoreNav({ storeName, renderBrand, categories: categoriesProp, onCategoryClick, onCartClick, onSearchClick, hideCategories, hideCart, hideSearch, className, classNames, }: StoreNavProps): React.ReactElement;
|
|
1513
|
+
declare function StoreNav({ storeName, renderBrand, categories: categoriesProp, onCategoryClick, onCartClick, onSearchClick, hideCategories, hideCart, hideSearch, className, classNames, }: StoreNavProps): React$1.ReactElement;
|
|
1491
1514
|
|
|
1492
1515
|
interface SlotPickerClassNames {
|
|
1493
1516
|
root?: string;
|
|
@@ -1521,7 +1544,7 @@ interface SlotPickerProps {
|
|
|
1521
1544
|
className?: string;
|
|
1522
1545
|
classNames?: SlotPickerClassNames;
|
|
1523
1546
|
}
|
|
1524
|
-
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, emptyMessage, className, classNames, }: SlotPickerProps): React.ReactElement;
|
|
1547
|
+
declare function SlotPicker({ slots: slotsProp, serviceId, date, participantCount, selectedSlot, onSlotSelect, groupByTimeOfDay, showPrice, emptyMessage, className, classNames, }: SlotPickerProps): React$1.ReactElement;
|
|
1525
1548
|
|
|
1526
1549
|
interface DateSlotPickerClassNames {
|
|
1527
1550
|
root?: string;
|
|
@@ -1550,7 +1573,7 @@ interface DateSlotPickerProps {
|
|
|
1550
1573
|
className?: string;
|
|
1551
1574
|
classNames?: DateSlotPickerClassNames;
|
|
1552
1575
|
}
|
|
1553
|
-
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, className, classNames, }: DateSlotPickerProps): React.ReactElement;
|
|
1576
|
+
declare function DateSlotPicker({ serviceId, daysToShow, participantCount, selectedSlot, onSlotSelect, availability: availabilityProp, showPrice, className, classNames, }: DateSlotPickerProps): React$1.ReactElement;
|
|
1554
1577
|
|
|
1555
1578
|
interface StaffPickerClassNames {
|
|
1556
1579
|
root?: string;
|
|
@@ -1573,7 +1596,7 @@ interface StaffPickerProps {
|
|
|
1573
1596
|
className?: string;
|
|
1574
1597
|
classNames?: StaffPickerClassNames;
|
|
1575
1598
|
}
|
|
1576
|
-
declare function StaffPicker({ staff, selectedStaffId, onStaffSelect, showAnyOption, anyLabel, className, classNames, }: StaffPickerProps): React.ReactElement;
|
|
1599
|
+
declare function StaffPicker({ staff, selectedStaffId, onStaffSelect, showAnyOption, anyLabel, className, classNames, }: StaffPickerProps): React$1.ReactElement;
|
|
1577
1600
|
|
|
1578
1601
|
interface BookingCardClassNames {
|
|
1579
1602
|
root?: string;
|
|
@@ -1594,11 +1617,11 @@ interface BookingCardProps {
|
|
|
1594
1617
|
/** Called when reschedule is clicked. */
|
|
1595
1618
|
onReschedule?: (booking: CustomerBooking) => void;
|
|
1596
1619
|
/** Custom renderer for the booking. */
|
|
1597
|
-
renderBooking?: (booking: CustomerBooking) => React.ReactNode;
|
|
1620
|
+
renderBooking?: (booking: CustomerBooking) => React$1.ReactNode;
|
|
1598
1621
|
className?: string;
|
|
1599
1622
|
classNames?: BookingCardClassNames;
|
|
1600
1623
|
}
|
|
1601
|
-
declare function BookingCard({ booking, onCancel, onReschedule, renderBooking, className, classNames, }: BookingCardProps): React.ReactElement;
|
|
1624
|
+
declare function BookingCard({ booking, onCancel, onReschedule, renderBooking, className, classNames, }: BookingCardProps): React$1.ReactElement;
|
|
1602
1625
|
|
|
1603
1626
|
interface BookingListClassNames {
|
|
1604
1627
|
root?: string;
|
|
@@ -1618,158 +1641,117 @@ interface BookingListProps {
|
|
|
1618
1641
|
/** Called when a booking is clicked. */
|
|
1619
1642
|
onBookingClick?: (booking: CustomerBooking) => void;
|
|
1620
1643
|
/** Custom booking renderer. */
|
|
1621
|
-
renderBooking?: (booking: CustomerBooking) => React.ReactNode;
|
|
1644
|
+
renderBooking?: (booking: CustomerBooking) => React$1.ReactNode;
|
|
1622
1645
|
/** Text shown when empty. */
|
|
1623
1646
|
emptyMessage?: string;
|
|
1624
1647
|
className?: string;
|
|
1625
1648
|
classNames?: BookingListClassNames;
|
|
1626
1649
|
}
|
|
1627
|
-
declare function BookingList({ bookings: bookingsProp, filter, onCancel, onReschedule, onBookingClick, renderBooking, emptyMessage, className, classNames, }: BookingListProps): React.ReactElement;
|
|
1650
|
+
declare function BookingList({ bookings: bookingsProp, filter, onCancel, onReschedule, onBookingClick, renderBooking, emptyMessage, className, classNames, }: BookingListProps): React$1.ReactElement;
|
|
1628
1651
|
|
|
1629
|
-
interface
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
/**
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1652
|
+
interface CatalogueLayoutProps {
|
|
1653
|
+
products: Product[];
|
|
1654
|
+
categories: Category[];
|
|
1655
|
+
facets?: PropertyFacet[];
|
|
1656
|
+
isLoading: boolean;
|
|
1657
|
+
/** Selected category ID. */
|
|
1658
|
+
selectedCategory: string | null;
|
|
1659
|
+
onCategoryChange: (id: string | null) => void;
|
|
1660
|
+
/** Search query state. */
|
|
1661
|
+
searchQuery: string;
|
|
1662
|
+
onSearchChange: (query: string) => void;
|
|
1663
|
+
/** Sort state. */
|
|
1664
|
+
sortBy: string;
|
|
1665
|
+
sortOrder: string;
|
|
1666
|
+
onSortChange: (by: string, order: string) => void;
|
|
1667
|
+
/** In-stock filter. */
|
|
1668
|
+
inStockOnly: boolean;
|
|
1669
|
+
onInStockChange: (value: boolean) => void;
|
|
1670
|
+
/** Tag filters. */
|
|
1671
|
+
selectedTags: string[];
|
|
1672
|
+
availableTags?: string[];
|
|
1673
|
+
onTagToggle: (tag: string) => void;
|
|
1674
|
+
/** Price range. */
|
|
1675
|
+
minPrice: string;
|
|
1676
|
+
maxPrice: string;
|
|
1677
|
+
onPriceRangeChange: (min: string, max: string) => void;
|
|
1678
|
+
/** Pagination. */
|
|
1679
|
+
page: number;
|
|
1680
|
+
totalPages: number;
|
|
1681
|
+
onPageChange: (page: number) => void;
|
|
1682
|
+
/** Custom renderers. */
|
|
1683
|
+
renderCard?: (product: Product) => React.ReactNode;
|
|
1651
1684
|
renderImage?: (props: {
|
|
1652
1685
|
src: string;
|
|
1653
1686
|
alt: string;
|
|
1654
1687
|
className?: string;
|
|
1655
1688
|
}) => React.ReactNode;
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
/** Image aspect ratio. Default: "4/3". */
|
|
1659
|
-
aspectRatio?: "square" | "4/3" | "16/10" | "3/4";
|
|
1660
|
-
className?: string;
|
|
1661
|
-
classNames?: ServiceCardClassNames;
|
|
1662
|
-
}
|
|
1663
|
-
declare function ServiceCard({ service, onBook, href, actionLabel, renderImage, children, aspectRatio, className, classNames, }: ServiceCardProps): React.ReactElement;
|
|
1664
|
-
|
|
1665
|
-
interface ServiceGridClassNames {
|
|
1666
|
-
root?: string;
|
|
1667
|
-
item?: string;
|
|
1668
|
-
empty?: string;
|
|
1669
|
-
loading?: string;
|
|
1670
|
-
}
|
|
1671
|
-
interface ServiceGridProps {
|
|
1672
|
-
/** Pre-fetched services (skips fetch). */
|
|
1673
|
-
services?: Service[];
|
|
1674
|
-
/** Responsive column counts at each breakpoint. */
|
|
1675
|
-
columns?: {
|
|
1676
|
-
sm?: number;
|
|
1677
|
-
md?: number;
|
|
1678
|
-
lg?: number;
|
|
1679
|
-
xl?: number;
|
|
1680
|
-
};
|
|
1681
|
-
/** Called when a service card is clicked. */
|
|
1682
|
-
onServiceSelect?: (service: Service) => void;
|
|
1683
|
-
/** Generate href for each service (renders cards as links). */
|
|
1684
|
-
getServiceHref?: (service: Service) => string;
|
|
1685
|
-
/** Custom card renderer per service. */
|
|
1686
|
-
renderCard?: (service: Service) => React.ReactNode;
|
|
1687
|
-
/** Custom image renderer passed to default ServiceCards. */
|
|
1688
|
-
renderImage?: (props: {
|
|
1689
|
-
src: string;
|
|
1690
|
-
alt: string;
|
|
1689
|
+
renderLink?: (props: {
|
|
1690
|
+
href: string;
|
|
1691
1691
|
className?: string;
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
/** Text shown when empty. */
|
|
1698
|
-
emptyMessage?: string;
|
|
1692
|
+
children: React.ReactNode;
|
|
1693
|
+
}) => React.ReactElement;
|
|
1694
|
+
onQuickAdd?: (product: Product) => void;
|
|
1695
|
+
onProductClick?: (product: Product) => void;
|
|
1696
|
+
title?: string;
|
|
1699
1697
|
className?: string;
|
|
1700
|
-
classNames?: ServiceGridClassNames;
|
|
1701
1698
|
}
|
|
1702
|
-
declare function ServiceGrid({ services: servicesProp, columns, onServiceSelect, getServiceHref, renderCard, renderImage, availableOnly, actionLabel, emptyMessage, className, classNames, }: ServiceGridProps): React.ReactElement;
|
|
1703
1699
|
|
|
1700
|
+
declare enum CatalogueTemplate {
|
|
1701
|
+
Default = "default",
|
|
1702
|
+
Compact = "compact"
|
|
1703
|
+
}
|
|
1704
1704
|
interface CataloguePageClassNames {
|
|
1705
1705
|
root?: string;
|
|
1706
|
-
header?: string;
|
|
1707
|
-
title?: string;
|
|
1708
|
-
searchContainer?: string;
|
|
1709
|
-
filterContainer?: string;
|
|
1710
|
-
toolbar?: string;
|
|
1711
|
-
gridContainer?: string;
|
|
1712
|
-
empty?: string;
|
|
1713
|
-
loading?: string;
|
|
1714
|
-
pagination?: string;
|
|
1715
1706
|
}
|
|
1716
1707
|
interface CataloguePageProps {
|
|
1708
|
+
/** Explicit template. */
|
|
1709
|
+
template?: CatalogueTemplate;
|
|
1710
|
+
/** Layout map for overrides. */
|
|
1711
|
+
layouts?: Partial<Record<CatalogueTemplate | string, React$1.ComponentType<CatalogueLayoutProps>>>;
|
|
1717
1712
|
/** Page title. */
|
|
1718
1713
|
title?: string;
|
|
1719
|
-
/** Pre-fetched products for SSR.
|
|
1714
|
+
/** Pre-fetched products for SSR. */
|
|
1720
1715
|
products?: Product[];
|
|
1721
1716
|
/** Pre-fetched categories for SSR. */
|
|
1722
1717
|
categories?: Category[];
|
|
1723
|
-
/**
|
|
1724
|
-
|
|
1725
|
-
/**
|
|
1726
|
-
showSearch?: boolean;
|
|
1727
|
-
/** Show sort controls. Default: false. */
|
|
1728
|
-
showSort?: boolean;
|
|
1729
|
-
/** Show in-stock toggle. Default: false. */
|
|
1730
|
-
showInStockFilter?: boolean;
|
|
1731
|
-
/** Show price range filter. Default: false. */
|
|
1732
|
-
showPriceRange?: boolean;
|
|
1733
|
-
/** Show tags filter. Default: false. */
|
|
1734
|
-
showTagsFilter?: boolean;
|
|
1735
|
-
/** Available tags for filtering. When provided, renders tag chips. */
|
|
1718
|
+
/** Pre-fetched property facets for sidebar. */
|
|
1719
|
+
facets?: PropertyFacet[];
|
|
1720
|
+
/** Available tags for filtering. */
|
|
1736
1721
|
availableTags?: string[];
|
|
1722
|
+
/** Products per page. */
|
|
1723
|
+
pageSize?: number;
|
|
1737
1724
|
/** Default sort. */
|
|
1738
1725
|
defaultSort?: {
|
|
1739
|
-
by:
|
|
1740
|
-
order:
|
|
1726
|
+
by: string;
|
|
1727
|
+
order: string;
|
|
1741
1728
|
};
|
|
1742
|
-
/**
|
|
1743
|
-
|
|
1744
|
-
/**
|
|
1745
|
-
onProductClick?: (product: Product) => void;
|
|
1746
|
-
/** Called when a category is selected. */
|
|
1747
|
-
onCategoryClick?: (category: Category) => void;
|
|
1748
|
-
/** Custom card renderer passed to ProductGrid. */
|
|
1749
|
-
renderCard?: (product: Product) => React.ReactNode;
|
|
1750
|
-
/** Custom image renderer passed to ProductGrid. */
|
|
1729
|
+
/** Custom card renderer. */
|
|
1730
|
+
renderCard?: (product: Product) => React$1.ReactNode;
|
|
1731
|
+
/** Custom image renderer. */
|
|
1751
1732
|
renderImage?: (props: {
|
|
1752
1733
|
src: string;
|
|
1753
1734
|
alt: string;
|
|
1754
1735
|
className?: string;
|
|
1755
|
-
}) => React.ReactNode;
|
|
1756
|
-
/**
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1736
|
+
}) => React$1.ReactNode;
|
|
1737
|
+
/** Custom link renderer. */
|
|
1738
|
+
renderLink?: (props: {
|
|
1739
|
+
href: string;
|
|
1740
|
+
className?: string;
|
|
1741
|
+
children: React$1.ReactNode;
|
|
1742
|
+
}) => React$1.ReactElement;
|
|
1743
|
+
/** Quick-add handler. */
|
|
1744
|
+
onQuickAdd?: (product: Product) => void;
|
|
1745
|
+
/** Product click handler. */
|
|
1746
|
+
onProductClick?: (product: Product) => void;
|
|
1763
1747
|
className?: string;
|
|
1764
1748
|
classNames?: CataloguePageClassNames;
|
|
1765
1749
|
}
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
*/
|
|
1772
|
-
declare function CataloguePage({ title, products: productsProp, categories: categoriesProp, showFilter, showSearch, showSort, showInStockFilter, showPriceRange, showTagsFilter, availableTags, defaultSort, pageSize, onProductClick, onCategoryClick, renderCard, renderImage, columns, className, classNames, }: CataloguePageProps): React.ReactElement;
|
|
1750
|
+
declare function CataloguePage({ template, layouts, title, products: productsProp, categories: categoriesProp, facets, availableTags, pageSize, defaultSort, renderCard, renderImage, renderLink, onQuickAdd, onProductClick, className, classNames, }: CataloguePageProps): React$1.ReactElement;
|
|
1751
|
+
|
|
1752
|
+
declare function DefaultCatalogueLayout({ products, categories, facets, isLoading, selectedCategory, onCategoryChange, searchQuery, onSearchChange, sortBy, sortOrder, onSortChange, inStockOnly, onInStockChange, selectedTags, availableTags, onTagToggle, minPrice, maxPrice, onPriceRangeChange, page, totalPages, onPageChange, renderCard, renderImage, renderLink, onQuickAdd, title, className, }: CatalogueLayoutProps): React$1.ReactElement;
|
|
1753
|
+
|
|
1754
|
+
declare function CompactCatalogueLayout({ products, categories, isLoading, selectedCategory, onCategoryChange, searchQuery, onSearchChange, renderCard, renderImage, renderLink, onQuickAdd, title, className, }: CatalogueLayoutProps): React$1.ReactElement;
|
|
1773
1755
|
|
|
1774
1756
|
interface ProductLayoutProps {
|
|
1775
1757
|
product: ProductWithDetails;
|
|
@@ -1778,45 +1760,45 @@ interface ProductLayoutProps {
|
|
|
1778
1760
|
src: string;
|
|
1779
1761
|
alt: string;
|
|
1780
1762
|
className?: string;
|
|
1781
|
-
}) => React.ReactNode;
|
|
1782
|
-
renderBreadcrumb?: (product: ProductWithDetails) => React.ReactNode;
|
|
1763
|
+
}) => React$1.ReactNode;
|
|
1764
|
+
renderBreadcrumb?: (product: ProductWithDetails) => React$1.ReactNode;
|
|
1783
1765
|
relatedProducts?: Product[];
|
|
1784
1766
|
showRelated?: boolean;
|
|
1785
1767
|
className?: string;
|
|
1786
1768
|
}
|
|
1787
1769
|
declare function TwoColumnGrid({ left, right, className, }: {
|
|
1788
|
-
left: React.ReactNode;
|
|
1789
|
-
right: React.ReactNode;
|
|
1770
|
+
left: React$1.ReactNode;
|
|
1771
|
+
right: React$1.ReactNode;
|
|
1790
1772
|
className?: string;
|
|
1791
|
-
}): React.ReactElement;
|
|
1773
|
+
}): React$1.ReactElement;
|
|
1792
1774
|
declare function MetadataStringList({ items, label, icon, className, }: {
|
|
1793
1775
|
items: string[];
|
|
1794
1776
|
label: string;
|
|
1795
|
-
icon?: React.ReactNode;
|
|
1777
|
+
icon?: React$1.ReactNode;
|
|
1796
1778
|
className?: string;
|
|
1797
|
-
}): React.ReactElement | null;
|
|
1779
|
+
}): React$1.ReactElement | null;
|
|
1798
1780
|
declare function CustomAttributesTable({ attributes, className, }: {
|
|
1799
1781
|
attributes: CustomAttributeValue[];
|
|
1800
1782
|
className?: string;
|
|
1801
|
-
}): React.ReactElement | null;
|
|
1783
|
+
}): React$1.ReactElement | null;
|
|
1802
1784
|
declare function PropertiesTable({ properties, className, }: {
|
|
1803
1785
|
properties: ProductProperty[];
|
|
1804
1786
|
className?: string;
|
|
1805
|
-
}): React.ReactElement | null;
|
|
1787
|
+
}): React$1.ReactElement | null;
|
|
1806
1788
|
declare function TagPills({ tags, className, }: {
|
|
1807
1789
|
tags: string[];
|
|
1808
1790
|
className?: string;
|
|
1809
|
-
}): React.ReactElement | null;
|
|
1791
|
+
}): React$1.ReactElement | null;
|
|
1810
1792
|
declare function InventoryBadge({ product, className, }: {
|
|
1811
1793
|
product: Product;
|
|
1812
1794
|
className?: string;
|
|
1813
|
-
}): React.ReactElement | null;
|
|
1795
|
+
}): React$1.ReactElement | null;
|
|
1814
1796
|
declare function RelatedProductsSection({ products, title, renderImage, className, }: {
|
|
1815
1797
|
products: Product[];
|
|
1816
1798
|
title?: string;
|
|
1817
1799
|
renderImage?: ProductLayoutProps["renderImage"];
|
|
1818
1800
|
className?: string;
|
|
1819
|
-
}): React.ReactElement | null;
|
|
1801
|
+
}): React$1.ReactElement | null;
|
|
1820
1802
|
|
|
1821
1803
|
declare enum ProductTemplate {
|
|
1822
1804
|
Default = "default",
|
|
@@ -1836,9 +1818,9 @@ interface ProductPageProps {
|
|
|
1836
1818
|
/** Pre-fetched product for SSR. Skips client-side fetch when provided. */
|
|
1837
1819
|
product?: ProductWithDetails;
|
|
1838
1820
|
/** Per-slug page map. Highest priority — maps a product slug to a custom component. */
|
|
1839
|
-
pages?: Record<string, React.ComponentType<ProductLayoutProps>>;
|
|
1821
|
+
pages?: Record<string, React$1.ComponentType<ProductLayoutProps>>;
|
|
1840
1822
|
/** Per-type template map. Overrides built-in layouts for specific template keys. */
|
|
1841
|
-
templates?: Partial<Record<ProductTemplate | string, React.ComponentType<ProductLayoutProps>>>;
|
|
1823
|
+
templates?: Partial<Record<ProductTemplate | string, React$1.ComponentType<ProductLayoutProps>>>;
|
|
1842
1824
|
/** Override add-to-cart behavior. */
|
|
1843
1825
|
onAddToCart?: (product: ProductWithDetails, quantity: number, options: AddToCartOptions) => void | Promise<void>;
|
|
1844
1826
|
/** Custom image renderer (e.g. Next.js Image). */
|
|
@@ -1846,9 +1828,9 @@ interface ProductPageProps {
|
|
|
1846
1828
|
src: string;
|
|
1847
1829
|
alt: string;
|
|
1848
1830
|
className?: string;
|
|
1849
|
-
}) => React.ReactNode;
|
|
1831
|
+
}) => React$1.ReactNode;
|
|
1850
1832
|
/** Breadcrumb renderer. Receives the product for context. */
|
|
1851
|
-
renderBreadcrumb?: (product: ProductWithDetails) => React.ReactNode;
|
|
1833
|
+
renderBreadcrumb?: (product: ProductWithDetails) => React$1.ReactNode;
|
|
1852
1834
|
/** Pre-fetched related products. */
|
|
1853
1835
|
relatedProducts?: Product[];
|
|
1854
1836
|
/** Show related products section. Default: true. */
|
|
@@ -1856,30 +1838,48 @@ interface ProductPageProps {
|
|
|
1856
1838
|
className?: string;
|
|
1857
1839
|
classNames?: ProductPageClassNames;
|
|
1858
1840
|
}
|
|
1859
|
-
declare function ProductPage({ productId, product: productProp, pages, templates, onAddToCart, renderImage, renderBreadcrumb, relatedProducts, showRelated, className, classNames, }: ProductPageProps): React.ReactElement;
|
|
1841
|
+
declare function ProductPage({ productId, product: productProp, pages, templates, onAddToCart, renderImage, renderBreadcrumb, relatedProducts, showRelated, className, classNames, }: ProductPageProps): React$1.ReactElement;
|
|
1860
1842
|
|
|
1861
|
-
declare function DefaultProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React.ReactElement;
|
|
1843
|
+
declare function DefaultProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React$1.ReactElement;
|
|
1862
1844
|
|
|
1863
|
-
declare function FoodProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React.ReactElement;
|
|
1845
|
+
declare function FoodProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React$1.ReactElement;
|
|
1864
1846
|
|
|
1865
|
-
declare function WholesaleProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React.ReactElement;
|
|
1847
|
+
declare function WholesaleProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React$1.ReactElement;
|
|
1866
1848
|
|
|
1867
|
-
declare function ServiceProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React.ReactElement;
|
|
1849
|
+
declare function ServiceProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React$1.ReactElement;
|
|
1868
1850
|
|
|
1869
|
-
declare function DigitalProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React.ReactElement;
|
|
1851
|
+
declare function DigitalProductLayout({ product, onAddToCart, renderBreadcrumb, relatedProducts, showRelated, className, }: ProductLayoutProps): React$1.ReactElement;
|
|
1870
1852
|
|
|
1853
|
+
interface CartLayoutProps {
|
|
1854
|
+
/** Cart state from useCart hook. */
|
|
1855
|
+
cart: UseCartResult;
|
|
1856
|
+
/** Called when checkout is initiated. */
|
|
1857
|
+
onCheckout?: () => void;
|
|
1858
|
+
/** Called when "continue shopping" is clicked. */
|
|
1859
|
+
onContinueShopping?: () => void;
|
|
1860
|
+
/** Called when a valid discount is applied. */
|
|
1861
|
+
onDiscountApply?: (validation: DiscountValidation) => void;
|
|
1862
|
+
/** Called when discount is removed. */
|
|
1863
|
+
onDiscountClear?: () => void;
|
|
1864
|
+
/** Show discount code input. */
|
|
1865
|
+
showDiscount?: boolean;
|
|
1866
|
+
/** Checkout button text. */
|
|
1867
|
+
checkoutLabel?: string;
|
|
1868
|
+
className?: string;
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
declare enum CartTemplate {
|
|
1872
|
+
Default = "default",
|
|
1873
|
+
Compact = "compact"
|
|
1874
|
+
}
|
|
1871
1875
|
interface CartPageClassNames {
|
|
1872
1876
|
root?: string;
|
|
1873
|
-
header?: string;
|
|
1874
|
-
title?: string;
|
|
1875
|
-
content?: string;
|
|
1876
|
-
discount?: string;
|
|
1877
|
-
footer?: string;
|
|
1878
|
-
checkoutButton?: string;
|
|
1879
|
-
continueButton?: string;
|
|
1880
|
-
empty?: string;
|
|
1881
1877
|
}
|
|
1882
1878
|
interface CartPageProps {
|
|
1879
|
+
/** Explicit template. */
|
|
1880
|
+
template?: CartTemplate;
|
|
1881
|
+
/** Layout map for overrides. */
|
|
1882
|
+
layouts?: Partial<Record<CartTemplate | string, React$1.ComponentType<CartLayoutProps>>>;
|
|
1883
1883
|
/** Page title. */
|
|
1884
1884
|
title?: string;
|
|
1885
1885
|
/** Called when checkout is initiated. */
|
|
@@ -1890,21 +1890,18 @@ interface CartPageProps {
|
|
|
1890
1890
|
onDiscountApply?: (validation: DiscountValidation) => void;
|
|
1891
1891
|
/** Called when discount is removed. */
|
|
1892
1892
|
onDiscountClear?: () => void;
|
|
1893
|
-
/** Show discount code input.
|
|
1893
|
+
/** Show discount code input. */
|
|
1894
1894
|
showDiscount?: boolean;
|
|
1895
|
-
/** Show "continue shopping" link. Default: true. */
|
|
1896
|
-
showContinueShopping?: boolean;
|
|
1897
1895
|
/** Checkout button text. */
|
|
1898
1896
|
checkoutLabel?: string;
|
|
1899
1897
|
className?: string;
|
|
1900
1898
|
classNames?: CartPageClassNames;
|
|
1901
1899
|
}
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
declare function CartPage({ title, onCheckout, onContinueShopping, onDiscountApply, onDiscountClear, showDiscount, showContinueShopping, checkoutLabel, className, classNames, }: CartPageProps): React.ReactElement;
|
|
1900
|
+
declare function CartPage({ template, layouts, onCheckout, onContinueShopping, onDiscountApply, onDiscountClear, showDiscount, checkoutLabel, className, classNames, }: CartPageProps): React$1.ReactElement;
|
|
1901
|
+
|
|
1902
|
+
declare function DefaultCartLayout({ cart, onCheckout, onContinueShopping, onDiscountApply, onDiscountClear, showDiscount, checkoutLabel, className, }: CartLayoutProps): React$1.ReactElement;
|
|
1903
|
+
|
|
1904
|
+
declare function CompactCartLayout({ cart, onCheckout, onContinueShopping, checkoutLabel, className, }: CartLayoutProps): React$1.ReactElement;
|
|
1908
1905
|
|
|
1909
1906
|
interface CheckoutPageClassNames {
|
|
1910
1907
|
root?: string;
|
|
@@ -1934,48 +1931,72 @@ interface CheckoutPageProps {
|
|
|
1934
1931
|
* renders a page header, and delegates all checkout logic
|
|
1935
1932
|
* to CimplifyCheckout.
|
|
1936
1933
|
*/
|
|
1937
|
-
declare function CheckoutPage({ title, onComplete, onError, checkoutProps, className, classNames, }: CheckoutPageProps): React.ReactElement;
|
|
1934
|
+
declare function CheckoutPage({ title, onComplete, onError, checkoutProps, className, classNames, }: CheckoutPageProps): React$1.ReactElement;
|
|
1938
1935
|
|
|
1936
|
+
interface CollectionLayoutProps {
|
|
1937
|
+
collection: Collection;
|
|
1938
|
+
products: Product[];
|
|
1939
|
+
renderCard?: (product: Product) => React$1.ReactNode;
|
|
1940
|
+
renderImage?: (props: {
|
|
1941
|
+
src: string;
|
|
1942
|
+
alt: string;
|
|
1943
|
+
className?: string;
|
|
1944
|
+
}) => React$1.ReactNode;
|
|
1945
|
+
renderLink?: (props: {
|
|
1946
|
+
href: string;
|
|
1947
|
+
className?: string;
|
|
1948
|
+
children: React$1.ReactNode;
|
|
1949
|
+
}) => React$1.ReactElement;
|
|
1950
|
+
onQuickAdd?: (product: Product) => void;
|
|
1951
|
+
className?: string;
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
declare enum CollectionTemplate {
|
|
1955
|
+
Default = "default",
|
|
1956
|
+
Featured = "featured",
|
|
1957
|
+
Catalogue = "catalogue"
|
|
1958
|
+
}
|
|
1939
1959
|
interface CollectionPageClassNames {
|
|
1940
1960
|
root?: string;
|
|
1941
|
-
header?: string;
|
|
1942
|
-
title?: string;
|
|
1943
|
-
description?: string;
|
|
1944
|
-
image?: string;
|
|
1945
|
-
grid?: string;
|
|
1946
1961
|
loading?: string;
|
|
1947
1962
|
}
|
|
1948
1963
|
interface CollectionPageProps {
|
|
1949
1964
|
/** Collection slug or ID. */
|
|
1950
|
-
collectionId
|
|
1965
|
+
collectionId?: string;
|
|
1951
1966
|
/** Pre-fetched collection for SSR. */
|
|
1952
1967
|
collection?: Collection;
|
|
1953
1968
|
/** Pre-fetched products for SSR. */
|
|
1954
1969
|
products?: Product[];
|
|
1970
|
+
/** Per-slug page map. Highest priority — maps a collection slug to a custom layout. */
|
|
1971
|
+
pages?: Record<string, React$1.ComponentType<CollectionLayoutProps>>;
|
|
1972
|
+
/** Per-type template map. Overrides built-in layouts. */
|
|
1973
|
+
templates?: Partial<Record<CollectionTemplate | string, React$1.ComponentType<CollectionLayoutProps>>>;
|
|
1955
1974
|
/** Custom card renderer. */
|
|
1956
|
-
renderCard?: (product: Product) => React.ReactNode;
|
|
1975
|
+
renderCard?: (product: Product) => React$1.ReactNode;
|
|
1957
1976
|
/** Custom image renderer. */
|
|
1958
1977
|
renderImage?: (props: {
|
|
1959
1978
|
src: string;
|
|
1960
1979
|
alt: string;
|
|
1961
1980
|
className?: string;
|
|
1962
|
-
}) => React.ReactNode;
|
|
1963
|
-
/**
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1981
|
+
}) => React$1.ReactNode;
|
|
1982
|
+
/** Custom link renderer. */
|
|
1983
|
+
renderLink?: (props: {
|
|
1984
|
+
href: string;
|
|
1985
|
+
className?: string;
|
|
1986
|
+
children: React$1.ReactNode;
|
|
1987
|
+
}) => React$1.ReactElement;
|
|
1988
|
+
/** Quick add handler for cards. */
|
|
1989
|
+
onQuickAdd?: (product: Product) => void;
|
|
1970
1990
|
className?: string;
|
|
1971
1991
|
classNames?: CollectionPageClassNames;
|
|
1972
1992
|
}
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1993
|
+
declare function CollectionPage({ collectionId, collection: collectionProp, products: productsProp, pages, templates, renderCard, renderImage, renderLink, onQuickAdd, className, classNames, }: CollectionPageProps): React$1.ReactElement;
|
|
1994
|
+
|
|
1995
|
+
declare function DefaultCollectionLayout({ collection, products, renderCard, renderImage, renderLink, onQuickAdd, className, }: CollectionLayoutProps): React$1.ReactElement;
|
|
1996
|
+
|
|
1997
|
+
declare function FeaturedCollectionLayout({ collection, products, renderCard, renderImage, renderLink, onQuickAdd, className, }: CollectionLayoutProps): React$1.ReactElement;
|
|
1998
|
+
|
|
1999
|
+
declare function CatalogueCollectionLayout({ collection, products, renderCard, renderImage, renderLink, onQuickAdd, className, }: CollectionLayoutProps): React$1.ReactElement;
|
|
1979
2000
|
|
|
1980
2001
|
interface OrderDetailPageClassNames {
|
|
1981
2002
|
root?: string;
|
|
@@ -1994,7 +2015,7 @@ interface OrderDetailPageProps {
|
|
|
1994
2015
|
/** Called when back button is clicked. */
|
|
1995
2016
|
onBack?: () => void;
|
|
1996
2017
|
/** Custom line item renderer. */
|
|
1997
|
-
renderLineItem?: (item: LineItem) => React.ReactNode;
|
|
2018
|
+
renderLineItem?: (item: LineItem) => React$1.ReactNode;
|
|
1998
2019
|
/** Called when the reorder button is clicked. */
|
|
1999
2020
|
onReorder?: (order: Order) => void;
|
|
2000
2021
|
/** Called when the order status changes during polling. */
|
|
@@ -2009,7 +2030,7 @@ interface OrderDetailPageProps {
|
|
|
2009
2030
|
*
|
|
2010
2031
|
* SSR-friendly: pass `order` prop for server rendering.
|
|
2011
2032
|
*/
|
|
2012
|
-
declare function OrderDetailPage({ orderId, order, poll, onBack, renderLineItem, onReorder, onStatusChange, backLabel, className, classNames, }: OrderDetailPageProps): React.ReactElement;
|
|
2033
|
+
declare function OrderDetailPage({ orderId, order, poll, onBack, renderLineItem, onReorder, onStatusChange, backLabel, className, classNames, }: OrderDetailPageProps): React$1.ReactElement;
|
|
2013
2034
|
|
|
2014
2035
|
interface OrderHistoryPageClassNames {
|
|
2015
2036
|
root?: string;
|
|
@@ -2035,7 +2056,7 @@ interface OrderHistoryPageProps {
|
|
|
2035
2056
|
/** Show status filter tabs. Default: true. */
|
|
2036
2057
|
showFilters?: boolean;
|
|
2037
2058
|
/** Custom order row renderer. */
|
|
2038
|
-
renderOrder?: (order: Order) => React.ReactNode;
|
|
2059
|
+
renderOrder?: (order: Order) => React$1.ReactNode;
|
|
2039
2060
|
className?: string;
|
|
2040
2061
|
classNames?: OrderHistoryPageClassNames;
|
|
2041
2062
|
}
|
|
@@ -2045,54 +2066,96 @@ interface OrderHistoryPageProps {
|
|
|
2045
2066
|
* SSR-friendly: pass `orders` prop for server rendering.
|
|
2046
2067
|
* Supports both inline detail view and external navigation via `onOrderNavigate`.
|
|
2047
2068
|
*/
|
|
2048
|
-
declare function OrderHistoryPage({ title, orders: ordersProp, limit, onOrderNavigate, onReorder, showFilters, renderOrder, className, classNames, }: OrderHistoryPageProps): React.ReactElement;
|
|
2069
|
+
declare function OrderHistoryPage({ title, orders: ordersProp, limit, onOrderNavigate, onReorder, showFilters, renderOrder, className, classNames, }: OrderHistoryPageProps): React$1.ReactElement;
|
|
2070
|
+
|
|
2071
|
+
interface SearchLayoutProps {
|
|
2072
|
+
/** Search state from useSearch hook. */
|
|
2073
|
+
search: UseSearchResult;
|
|
2074
|
+
/** Property facets from getPropertyFacets. */
|
|
2075
|
+
facets?: PropertyFacet[];
|
|
2076
|
+
/** Categories for category filter. */
|
|
2077
|
+
categories?: Category[];
|
|
2078
|
+
/** Active category filter. */
|
|
2079
|
+
activeCategory?: string;
|
|
2080
|
+
/** Called when category changes. */
|
|
2081
|
+
onCategoryChange?: (categoryId: string | null) => void;
|
|
2082
|
+
/** Active tag filters. */
|
|
2083
|
+
activeTags?: string[];
|
|
2084
|
+
/** Called when tags change. */
|
|
2085
|
+
onTagsChange?: (tags: string[]) => void;
|
|
2086
|
+
/** In-stock-only toggle state. */
|
|
2087
|
+
inStockOnly?: boolean;
|
|
2088
|
+
/** Called when in-stock toggle changes. */
|
|
2089
|
+
onInStockChange?: (inStock: boolean) => void;
|
|
2090
|
+
/** Sort value. */
|
|
2091
|
+
sortBy?: string;
|
|
2092
|
+
/** Called when sort changes. */
|
|
2093
|
+
onSortChange?: (sort: string) => void;
|
|
2094
|
+
/** Custom card renderer. */
|
|
2095
|
+
renderCard?: (product: Product) => React.ReactNode;
|
|
2096
|
+
/** Custom image renderer. */
|
|
2097
|
+
renderImage?: (props: {
|
|
2098
|
+
src: string;
|
|
2099
|
+
alt: string;
|
|
2100
|
+
className?: string;
|
|
2101
|
+
}) => React.ReactNode;
|
|
2102
|
+
/** Custom link renderer. */
|
|
2103
|
+
renderLink?: (props: {
|
|
2104
|
+
href: string;
|
|
2105
|
+
className?: string;
|
|
2106
|
+
children: React.ReactNode;
|
|
2107
|
+
}) => React.ReactElement;
|
|
2108
|
+
/** Quick-add handler. */
|
|
2109
|
+
onQuickAdd?: (product: Product) => void;
|
|
2110
|
+
/** Placeholder text for search input. */
|
|
2111
|
+
placeholder?: string;
|
|
2112
|
+
className?: string;
|
|
2113
|
+
}
|
|
2049
2114
|
|
|
2115
|
+
declare enum SearchTemplate {
|
|
2116
|
+
Default = "default",
|
|
2117
|
+
Compact = "compact"
|
|
2118
|
+
}
|
|
2050
2119
|
interface SearchPageClassNames {
|
|
2051
2120
|
root?: string;
|
|
2052
|
-
header?: string;
|
|
2053
|
-
title?: string;
|
|
2054
|
-
inputContainer?: string;
|
|
2055
|
-
input?: string;
|
|
2056
|
-
clearButton?: string;
|
|
2057
|
-
resultCount?: string;
|
|
2058
|
-
grid?: string;
|
|
2059
|
-
empty?: string;
|
|
2060
|
-
loading?: string;
|
|
2061
2121
|
}
|
|
2062
2122
|
interface SearchPageProps {
|
|
2063
|
-
/**
|
|
2064
|
-
|
|
2065
|
-
/**
|
|
2123
|
+
/** Explicit search template. */
|
|
2124
|
+
template?: SearchTemplate;
|
|
2125
|
+
/** Layout map for overrides. AI or developer can provide custom layouts keyed by template name. */
|
|
2126
|
+
layouts?: Partial<Record<SearchTemplate | string, React$1.ComponentType<SearchLayoutProps>>>;
|
|
2127
|
+
/** Pre-fetched categories for filters. */
|
|
2128
|
+
categories?: Category[];
|
|
2129
|
+
/** Pre-fetched property facets for sidebar. */
|
|
2130
|
+
facets?: PropertyFacet[];
|
|
2131
|
+
/** Search options passed to useSearch. */
|
|
2132
|
+
searchOptions?: UseSearchOptions;
|
|
2133
|
+
/** Placeholder text for search input. */
|
|
2066
2134
|
placeholder?: string;
|
|
2067
|
-
/** Called when a product is clicked in results. */
|
|
2068
|
-
onProductClick?: (product: Product) => void;
|
|
2069
2135
|
/** Custom card renderer. */
|
|
2070
|
-
renderCard?: (product: Product) => React.ReactNode;
|
|
2136
|
+
renderCard?: (product: Product) => React$1.ReactNode;
|
|
2071
2137
|
/** Custom image renderer. */
|
|
2072
2138
|
renderImage?: (props: {
|
|
2073
2139
|
src: string;
|
|
2074
2140
|
alt: string;
|
|
2075
2141
|
className?: string;
|
|
2076
|
-
}) => React.ReactNode;
|
|
2077
|
-
/**
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2142
|
+
}) => React$1.ReactNode;
|
|
2143
|
+
/** Custom link renderer. */
|
|
2144
|
+
renderLink?: (props: {
|
|
2145
|
+
href: string;
|
|
2146
|
+
className?: string;
|
|
2147
|
+
children: React$1.ReactNode;
|
|
2148
|
+
}) => React$1.ReactElement;
|
|
2149
|
+
/** Quick-add handler. */
|
|
2150
|
+
onQuickAdd?: (product: Product) => void;
|
|
2084
2151
|
className?: string;
|
|
2085
2152
|
classNames?: SearchPageClassNames;
|
|
2086
2153
|
}
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
* automatic `data-filled`, `data-focused`, `data-dirty`, and
|
|
2093
|
-
* `data-touched` attributes for styling hooks.
|
|
2094
|
-
*/
|
|
2095
|
-
declare function SearchPage({ title, placeholder, onProductClick, renderCard, renderImage, columns, className, classNames, }: SearchPageProps): React.ReactElement;
|
|
2154
|
+
declare function SearchPage({ template, layouts, categories, facets, searchOptions, placeholder, renderCard, renderImage, renderLink, onQuickAdd, className, classNames, }: SearchPageProps): React$1.ReactElement;
|
|
2155
|
+
|
|
2156
|
+
declare function DefaultSearchLayout({ search, facets, categories, activeCategory, onCategoryChange, inStockOnly, onInStockChange, sortBy, onSortChange, renderCard, renderImage, renderLink, onQuickAdd, placeholder, className, }: SearchLayoutProps): React$1.ReactElement;
|
|
2157
|
+
|
|
2158
|
+
declare function CompactSearchLayout({ search, categories, activeCategory, onCategoryChange, renderCard, renderImage, renderLink, onQuickAdd, placeholder, className, }: SearchLayoutProps): React$1.ReactElement;
|
|
2096
2159
|
|
|
2097
2160
|
interface DealsPageClassNames {
|
|
2098
2161
|
root?: string;
|
|
@@ -2120,7 +2183,7 @@ interface DealsPageProps {
|
|
|
2120
2183
|
src: string;
|
|
2121
2184
|
alt: string;
|
|
2122
2185
|
className?: string;
|
|
2123
|
-
}) => React.ReactNode;
|
|
2186
|
+
}) => React$1.ReactNode;
|
|
2124
2187
|
/** Grid column config. */
|
|
2125
2188
|
columns?: {
|
|
2126
2189
|
sm?: number;
|
|
@@ -2136,125 +2199,7 @@ interface DealsPageProps {
|
|
|
2136
2199
|
*
|
|
2137
2200
|
* SSR-friendly: pass `deals` and `productsOnSale` props for server rendering.
|
|
2138
2201
|
*/
|
|
2139
|
-
declare function DealsPage({ title, deals: dealsProp, productsOnSale: productsOnSaleProp, products: productsProp, locationId, renderImage, columns, className, classNames, }: DealsPageProps): React.ReactElement;
|
|
2140
|
-
|
|
2141
|
-
interface Resource {
|
|
2142
|
-
id: string;
|
|
2143
|
-
name: string;
|
|
2144
|
-
description?: string;
|
|
2145
|
-
capacity?: number;
|
|
2146
|
-
floor?: string;
|
|
2147
|
-
image_url?: string;
|
|
2148
|
-
is_available?: boolean;
|
|
2149
|
-
}
|
|
2150
|
-
interface ResourcePickerClassNames {
|
|
2151
|
-
root?: string;
|
|
2152
|
-
option?: string;
|
|
2153
|
-
image?: string;
|
|
2154
|
-
name?: string;
|
|
2155
|
-
description?: string;
|
|
2156
|
-
meta?: string;
|
|
2157
|
-
capacity?: string;
|
|
2158
|
-
floor?: string;
|
|
2159
|
-
unavailable?: string;
|
|
2160
|
-
}
|
|
2161
|
-
interface ResourcePickerProps {
|
|
2162
|
-
/** List of available resources (rooms, equipment, etc.). */
|
|
2163
|
-
resources: Resource[];
|
|
2164
|
-
/** Currently selected resource ID, or null for "Any available". */
|
|
2165
|
-
selectedResourceId?: string | null;
|
|
2166
|
-
/** Called when a resource is selected. Passes null for "Any available". */
|
|
2167
|
-
onResourceSelect?: (resourceId: string | null) => void;
|
|
2168
|
-
/** Show "Any available" option. Default: true. */
|
|
2169
|
-
showAnyOption?: boolean;
|
|
2170
|
-
/** Label for the "Any available" option. */
|
|
2171
|
-
anyLabel?: string;
|
|
2172
|
-
/** Custom image renderer (e.g. Next.js Image). */
|
|
2173
|
-
renderImage?: (props: {
|
|
2174
|
-
src: string;
|
|
2175
|
-
alt: string;
|
|
2176
|
-
className?: string;
|
|
2177
|
-
}) => React.ReactNode;
|
|
2178
|
-
className?: string;
|
|
2179
|
-
classNames?: ResourcePickerClassNames;
|
|
2180
|
-
}
|
|
2181
|
-
declare function roomToResource(room: Room): Resource;
|
|
2182
|
-
declare function ResourcePicker({ resources, selectedResourceId, onResourceSelect, showAnyOption, anyLabel, renderImage, className, classNames, }: ResourcePickerProps): React.ReactElement;
|
|
2183
|
-
|
|
2184
|
-
interface BookingPageClassNames {
|
|
2185
|
-
root?: string;
|
|
2186
|
-
header?: string;
|
|
2187
|
-
title?: string;
|
|
2188
|
-
serviceInfo?: string;
|
|
2189
|
-
step?: string;
|
|
2190
|
-
stepTitle?: string;
|
|
2191
|
-
summary?: string;
|
|
2192
|
-
summaryRow?: string;
|
|
2193
|
-
confirmButton?: string;
|
|
2194
|
-
backButton?: string;
|
|
2195
|
-
error?: string;
|
|
2196
|
-
rescheduleInfo?: string;
|
|
2197
|
-
depositInfo?: string;
|
|
2198
|
-
cancellationPolicy?: string;
|
|
2199
|
-
resourceStep?: string;
|
|
2200
|
-
}
|
|
2201
|
-
interface BookingPageProps {
|
|
2202
|
-
/** The service being booked. */
|
|
2203
|
-
service: Service;
|
|
2204
|
-
/** The underlying product (for deposit/cancellation fields). Falls back to service fields. */
|
|
2205
|
-
product?: Product;
|
|
2206
|
-
/** Optional staff list for staff selection step. */
|
|
2207
|
-
staff?: Staff[];
|
|
2208
|
-
/** Optional resources for resource selection step (rooms, equipment, etc.). */
|
|
2209
|
-
resources?: Resource[];
|
|
2210
|
-
/** Number of participants. */
|
|
2211
|
-
participantCount?: number;
|
|
2212
|
-
/** Page title. */
|
|
2213
|
-
title?: string;
|
|
2214
|
-
/** Called after successfully adding to cart. */
|
|
2215
|
-
onBooked?: (slot: AvailableSlot, staffId: string | null) => void;
|
|
2216
|
-
/** Called when user wants to go back. */
|
|
2217
|
-
onBack?: () => void;
|
|
2218
|
-
/** Existing booking for reschedule mode. */
|
|
2219
|
-
existingBooking?: CustomerBooking;
|
|
2220
|
-
/** Called after a successful reschedule. */
|
|
2221
|
-
onRescheduled?: (booking: CustomerBooking, newSlot: AvailableSlot) => void;
|
|
2222
|
-
/** Show price on slots. Default: true. */
|
|
2223
|
-
showPrice?: boolean;
|
|
2224
|
-
className?: string;
|
|
2225
|
-
classNames?: BookingPageClassNames;
|
|
2226
|
-
}
|
|
2227
|
-
declare function BookingPage({ service, product, staff, resources, participantCount, title, onBooked, onBack, existingBooking, onRescheduled, showPrice, className, classNames, }: BookingPageProps): React.ReactElement;
|
|
2228
|
-
|
|
2229
|
-
interface BookingsPageClassNames {
|
|
2230
|
-
root?: string;
|
|
2231
|
-
header?: string;
|
|
2232
|
-
title?: string;
|
|
2233
|
-
filters?: string;
|
|
2234
|
-
filterButton?: string;
|
|
2235
|
-
list?: string;
|
|
2236
|
-
detail?: string;
|
|
2237
|
-
backButton?: string;
|
|
2238
|
-
}
|
|
2239
|
-
interface BookingsPageProps {
|
|
2240
|
-
/** Page title. */
|
|
2241
|
-
title?: string;
|
|
2242
|
-
/** Pre-fetched bookings for SSR. */
|
|
2243
|
-
bookings?: CustomerBooking[];
|
|
2244
|
-
/** Called when navigating to a booking detail (e.g. for routing). */
|
|
2245
|
-
onBookingNavigate?: (booking: CustomerBooking) => void;
|
|
2246
|
-
/** Called when cancel is clicked. */
|
|
2247
|
-
onCancel?: (booking: CustomerBooking) => void;
|
|
2248
|
-
/** Called when reschedule is clicked. */
|
|
2249
|
-
onReschedule?: (booking: CustomerBooking) => void;
|
|
2250
|
-
/** Show filter tabs. Default: true. */
|
|
2251
|
-
showFilters?: boolean;
|
|
2252
|
-
/** Custom booking renderer. */
|
|
2253
|
-
renderBooking?: (booking: CustomerBooking) => React.ReactNode;
|
|
2254
|
-
className?: string;
|
|
2255
|
-
classNames?: BookingsPageClassNames;
|
|
2256
|
-
}
|
|
2257
|
-
declare function BookingsPage({ title, bookings: bookingsProp, onBookingNavigate, onCancel, onReschedule, showFilters, renderBooking, className, classNames, }: BookingsPageProps): React.ReactElement;
|
|
2202
|
+
declare function DealsPage({ title, deals: dealsProp, productsOnSale: productsOnSaleProp, products: productsProp, locationId, renderImage, columns, className, classNames, }: DealsPageProps): React$1.ReactElement;
|
|
2258
2203
|
|
|
2259
2204
|
interface LocationPickerClassNames {
|
|
2260
2205
|
root?: string;
|
|
@@ -2271,7 +2216,7 @@ interface LocationPickerProps {
|
|
|
2271
2216
|
/** Called when a location is selected. */
|
|
2272
2217
|
onLocationChange?: (location: Location) => void;
|
|
2273
2218
|
/** Custom location renderer. */
|
|
2274
|
-
renderLocation?: (location: Location, isActive: boolean) => React.ReactNode;
|
|
2219
|
+
renderLocation?: (location: Location, isActive: boolean) => React$1.ReactNode;
|
|
2275
2220
|
/** Text shown when no locations are available. */
|
|
2276
2221
|
emptyMessage?: string;
|
|
2277
2222
|
className?: string;
|
|
@@ -2283,7 +2228,7 @@ interface LocationPickerProps {
|
|
|
2283
2228
|
* Uses `useLocations` to fetch locations unless overridden via props.
|
|
2284
2229
|
* Returns `null` when there is only one location (no picker needed).
|
|
2285
2230
|
*/
|
|
2286
|
-
declare function LocationPicker({ locations: locationsProp, currentLocation: currentLocationProp, onLocationChange, renderLocation, emptyMessage, className, classNames, }: LocationPickerProps): React.ReactElement | null;
|
|
2231
|
+
declare function LocationPicker({ locations: locationsProp, currentLocation: currentLocationProp, onLocationChange, renderLocation, emptyMessage, className, classNames, }: LocationPickerProps): React$1.ReactElement | null;
|
|
2287
2232
|
|
|
2288
2233
|
interface RecommendationCarouselClassNames {
|
|
2289
2234
|
root?: string;
|
|
@@ -2302,7 +2247,7 @@ interface RecommendationCarouselProps {
|
|
|
2302
2247
|
/** Called when a product recommendation is clicked. */
|
|
2303
2248
|
onProductClick?: (recommendation: ActivityRecommendation) => void;
|
|
2304
2249
|
/** Custom product card renderer. */
|
|
2305
|
-
renderProduct?: (recommendation: ActivityRecommendation) => React.ReactNode;
|
|
2250
|
+
renderProduct?: (recommendation: ActivityRecommendation) => React$1.ReactNode;
|
|
2306
2251
|
/** Text shown when no recommendations are available. */
|
|
2307
2252
|
emptyMessage?: string;
|
|
2308
2253
|
className?: string;
|
|
@@ -2314,7 +2259,7 @@ interface RecommendationCarouselProps {
|
|
|
2314
2259
|
* Renders a horizontal scrollable list of product cards with reason labels.
|
|
2315
2260
|
* Returns `null` when there are no recommendations.
|
|
2316
2261
|
*/
|
|
2317
|
-
declare function RecommendationCarousel({ recommendations: recommendationsProp, locationId, limit, onProductClick, renderProduct, emptyMessage, className, classNames, }: RecommendationCarouselProps): React.ReactElement | null;
|
|
2262
|
+
declare function RecommendationCarousel({ recommendations: recommendationsProp, locationId, limit, onProductClick, renderProduct, emptyMessage, className, classNames, }: RecommendationCarouselProps): React$1.ReactElement | null;
|
|
2318
2263
|
|
|
2319
2264
|
interface SessionMessageBannerClassNames {
|
|
2320
2265
|
root?: string;
|
|
@@ -2329,7 +2274,7 @@ interface SessionMessageBannerProps {
|
|
|
2329
2274
|
/** Called when a message is dismissed. Receives the message code. */
|
|
2330
2275
|
onDismiss?: (code: string) => void;
|
|
2331
2276
|
/** Custom message renderer. */
|
|
2332
|
-
renderMessage?: (message: SessionMessage) => React.ReactNode;
|
|
2277
|
+
renderMessage?: (message: SessionMessage) => React$1.ReactNode;
|
|
2333
2278
|
className?: string;
|
|
2334
2279
|
classNames?: SessionMessageBannerClassNames;
|
|
2335
2280
|
}
|
|
@@ -2339,7 +2284,7 @@ interface SessionMessageBannerProps {
|
|
|
2339
2284
|
* Displays dismissible message cards with level-based styling (info, promotion, urgency, suggestion).
|
|
2340
2285
|
* Returns `null` when there are no messages.
|
|
2341
2286
|
*/
|
|
2342
|
-
declare function SessionMessageBanner({ messages: messagesProp, onDismiss, renderMessage, className, classNames, }: SessionMessageBannerProps): React.ReactElement | null;
|
|
2287
|
+
declare function SessionMessageBanner({ messages: messagesProp, onDismiss, renderMessage, className, classNames, }: SessionMessageBannerProps): React$1.ReactElement | null;
|
|
2343
2288
|
|
|
2344
2289
|
interface ViewedProduct {
|
|
2345
2290
|
product_id: string;
|
|
@@ -2358,7 +2303,7 @@ interface RecentlyViewedProps {
|
|
|
2358
2303
|
/** Called when a viewed product is clicked. */
|
|
2359
2304
|
onProductClick?: (product: ViewedProduct) => void;
|
|
2360
2305
|
/** Custom product renderer. */
|
|
2361
|
-
renderProduct?: (product: ViewedProduct) => React.ReactNode;
|
|
2306
|
+
renderProduct?: (product: ViewedProduct) => React$1.ReactNode;
|
|
2362
2307
|
/** Text shown when no viewed products exist. */
|
|
2363
2308
|
emptyMessage?: string;
|
|
2364
2309
|
className?: string;
|
|
@@ -2370,7 +2315,7 @@ interface RecentlyViewedProps {
|
|
|
2370
2315
|
* Extracts `state.activity.viewed_products` from the activity state.
|
|
2371
2316
|
* Returns `null` when there are no viewed products.
|
|
2372
2317
|
*/
|
|
2373
|
-
declare function RecentlyViewed({ limit, onProductClick, renderProduct, emptyMessage, className, classNames, }: RecentlyViewedProps): React.ReactElement | null;
|
|
2318
|
+
declare function RecentlyViewed({ limit, onProductClick, renderProduct, emptyMessage, className, classNames, }: RecentlyViewedProps): React$1.ReactElement | null;
|
|
2374
2319
|
|
|
2375
2320
|
interface BillingPlanSelectorClassNames {
|
|
2376
2321
|
root?: string;
|
|
@@ -2397,7 +2342,7 @@ interface BillingPlanSelectorProps {
|
|
|
2397
2342
|
/** Label for the one-time purchase option. Default: "One-time purchase". */
|
|
2398
2343
|
oneTimePurchaseLabel?: string;
|
|
2399
2344
|
/** Custom plan card renderer. */
|
|
2400
|
-
renderPlan?: (plan: ProductBillingPlan, isActive: boolean) => React.ReactNode;
|
|
2345
|
+
renderPlan?: (plan: ProductBillingPlan, isActive: boolean) => React$1.ReactNode;
|
|
2401
2346
|
className?: string;
|
|
2402
2347
|
classNames?: BillingPlanSelectorClassNames;
|
|
2403
2348
|
}
|
|
@@ -2407,7 +2352,7 @@ interface BillingPlanSelectorProps {
|
|
|
2407
2352
|
* Renders plan cards with frequency, markup, trial, and setup fee details.
|
|
2408
2353
|
* Returns `null` when no plans are available (and one-time purchase is hidden).
|
|
2409
2354
|
*/
|
|
2410
|
-
declare function BillingPlanSelector({ productId, plans: plansProp, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React.ReactElement | null;
|
|
2355
|
+
declare function BillingPlanSelector({ productId, plans: plansProp, onPlanSelect, selectedPlanId, showOneTimePurchase, oneTimePurchaseLabel, renderPlan, className, classNames, }: BillingPlanSelectorProps): React$1.ReactElement | null;
|
|
2411
2356
|
|
|
2412
2357
|
interface VolumePricingClassNames {
|
|
2413
2358
|
root?: string;
|
|
@@ -2426,14 +2371,14 @@ interface VolumePricingProps {
|
|
|
2426
2371
|
className?: string;
|
|
2427
2372
|
classNames?: VolumePricingClassNames;
|
|
2428
2373
|
}
|
|
2429
|
-
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, className, classNames, }: VolumePricingProps): React.ReactElement | null;
|
|
2374
|
+
declare function VolumePricing({ tiers, currentQuantity, defaultOpen, className, classNames, }: VolumePricingProps): React$1.ReactElement | null;
|
|
2430
2375
|
|
|
2431
2376
|
interface PriceRangeProps {
|
|
2432
2377
|
product: Product | ProductWithDetails;
|
|
2433
2378
|
currency?: CurrencyCode;
|
|
2434
2379
|
className?: string;
|
|
2435
2380
|
}
|
|
2436
|
-
declare function PriceRange({ product, currency, className }: PriceRangeProps): React.ReactElement | null;
|
|
2381
|
+
declare function PriceRange({ product, currency, className }: PriceRangeProps): React$1.ReactElement | null;
|
|
2437
2382
|
|
|
2438
2383
|
interface DeliveryEstimateClassNames {
|
|
2439
2384
|
root?: string;
|
|
@@ -2461,7 +2406,7 @@ interface DeliveryEstimateProps {
|
|
|
2461
2406
|
* Fetches the delivery fee from `client.delivery.getFee` when coordinates change.
|
|
2462
2407
|
* Shows fee amount with currency, a "not serviceable" message, or loading state.
|
|
2463
2408
|
*/
|
|
2464
|
-
declare function DeliveryEstimate({ latitude, longitude, country, onFeeCalculated, className, classNames, }: DeliveryEstimateProps): React.ReactElement | null;
|
|
2409
|
+
declare function DeliveryEstimate({ latitude, longitude, country, onFeeCalculated, className, classNames, }: DeliveryEstimateProps): React$1.ReactElement | null;
|
|
2465
2410
|
|
|
2466
2411
|
interface CurrencySelectorClassNames {
|
|
2467
2412
|
root?: string;
|
|
@@ -2483,7 +2428,7 @@ interface CurrencySelectorProps {
|
|
|
2483
2428
|
/** Base currency used for rate display. */
|
|
2484
2429
|
baseCurrency?: CurrencyCode;
|
|
2485
2430
|
/** Custom currency option renderer. */
|
|
2486
|
-
renderCurrency?: (currency: CurrencyCode, isActive: boolean, rate: FxRateResponse | null) => React.ReactNode;
|
|
2431
|
+
renderCurrency?: (currency: CurrencyCode, isActive: boolean, rate: FxRateResponse | null) => React$1.ReactNode;
|
|
2487
2432
|
className?: string;
|
|
2488
2433
|
classNames?: CurrencySelectorClassNames;
|
|
2489
2434
|
}
|
|
@@ -2493,6 +2438,49 @@ interface CurrencySelectorProps {
|
|
|
2493
2438
|
* Renders selectable currency options with optional exchange rate display.
|
|
2494
2439
|
* Returns `null` when there is only one currency (no selector needed).
|
|
2495
2440
|
*/
|
|
2496
|
-
declare function CurrencySelector({ currencies, currentCurrency, onCurrencyChange, showRate, baseCurrency, renderCurrency, className, classNames, }: CurrencySelectorProps): React.ReactElement | null;
|
|
2441
|
+
declare function CurrencySelector({ currencies, currentCurrency, onCurrencyChange, showRate, baseCurrency, renderCurrency, className, classNames, }: CurrencySelectorProps): React$1.ReactElement | null;
|
|
2442
|
+
|
|
2443
|
+
interface Resource {
|
|
2444
|
+
id: string;
|
|
2445
|
+
name: string;
|
|
2446
|
+
description?: string;
|
|
2447
|
+
capacity?: number;
|
|
2448
|
+
floor?: string;
|
|
2449
|
+
image_url?: string;
|
|
2450
|
+
is_available?: boolean;
|
|
2451
|
+
}
|
|
2452
|
+
interface ResourcePickerClassNames {
|
|
2453
|
+
root?: string;
|
|
2454
|
+
option?: string;
|
|
2455
|
+
image?: string;
|
|
2456
|
+
name?: string;
|
|
2457
|
+
description?: string;
|
|
2458
|
+
meta?: string;
|
|
2459
|
+
capacity?: string;
|
|
2460
|
+
floor?: string;
|
|
2461
|
+
unavailable?: string;
|
|
2462
|
+
}
|
|
2463
|
+
interface ResourcePickerProps {
|
|
2464
|
+
/** List of available resources (rooms, equipment, etc.). */
|
|
2465
|
+
resources: Resource[];
|
|
2466
|
+
/** Currently selected resource ID, or null for "Any available". */
|
|
2467
|
+
selectedResourceId?: string | null;
|
|
2468
|
+
/** Called when a resource is selected. Passes null for "Any available". */
|
|
2469
|
+
onResourceSelect?: (resourceId: string | null) => void;
|
|
2470
|
+
/** Show "Any available" option. Default: true. */
|
|
2471
|
+
showAnyOption?: boolean;
|
|
2472
|
+
/** Label for the "Any available" option. */
|
|
2473
|
+
anyLabel?: string;
|
|
2474
|
+
/** Custom image renderer (e.g. Next.js Image). */
|
|
2475
|
+
renderImage?: (props: {
|
|
2476
|
+
src: string;
|
|
2477
|
+
alt: string;
|
|
2478
|
+
className?: string;
|
|
2479
|
+
}) => React$1.ReactNode;
|
|
2480
|
+
className?: string;
|
|
2481
|
+
classNames?: ResourcePickerClassNames;
|
|
2482
|
+
}
|
|
2483
|
+
declare function roomToResource(room: Room): Resource;
|
|
2484
|
+
declare function ResourcePicker({ resources, selectedResourceId, onResourceSelect, showAnyOption, anyLabel, renderImage, className, classNames, }: ResourcePickerProps): React$1.ReactElement;
|
|
2497
2485
|
|
|
2498
|
-
export { AccommodationCard, Ad, AdPosition, type AdProps, AdProvider, AdSlot, AddOnSelector, type AddOnSelectorClassNames, type AddOnSelectorProps, type AddToCartOptions, AddressElement, AuthElement, AvailabilityBadge, type AvailabilityBadgeClassNames, type AvailabilityBadgeProps, BillingPlanSelector, type BillingPlanSelectorClassNames, type BillingPlanSelectorProps, BookingCard, type BookingCardClassNames, type BookingCardProps, BookingList, type BookingListClassNames, type BookingListProps,
|
|
2486
|
+
export { AccommodationCard, Ad, AdPosition, type AdProps, AdProvider, AdSlot, AddOnSelector, type AddOnSelectorClassNames, type AddOnSelectorProps, type AddToCartOptions, AddressElement, AuthElement, AvailabilityBadge, type AvailabilityBadgeClassNames, type AvailabilityBadgeProps, BillingPlanSelector, type BillingPlanSelectorClassNames, type BillingPlanSelectorProps, BookingCard, type BookingCardClassNames, type BookingCardProps, BookingList, type BookingListClassNames, type BookingListProps, BundleSelector, type BundleSelectorClassNames, type BundleSelectorProps, CardImage, type CardLayoutProps, CardShell, CardVariant, type CartAddOnOptionSelection, type CartLayoutProps, CartPage, type CartPageClassNames, type CartPageProps, CartSummary, type CartSummaryClassNames, type CartSummaryProps, CartTemplate, type CartVariantSelection, CatalogueCollectionLayout, type CatalogueLayoutProps, CataloguePage, type CataloguePageClassNames, type CataloguePageProps, CatalogueTemplate, CategoryFilter, type CategoryFilterClassNames, type CategoryFilterProps, CategoryGrid, type CategoryGridClassNames, type CategoryGridProps, CheckoutPage, type CheckoutPageClassNames, type CheckoutPageProps, CimplifyAccount, type CimplifyAccountProps, CimplifyCheckout, type CimplifyCheckoutProps, type CimplifyClientContextValue, type CimplifyContextValue, CimplifyProvider, type CimplifyProviderProps, type CollectionLayoutProps, CollectionPage, type CollectionPageClassNames, type CollectionPageProps, CollectionTemplate, CompactCartLayout, CompactCatalogueLayout, CompactSearchLayout, CompactServiceCard, CompositeSelector, type CompositeSelectorClassNames, type CompositeSelectorProps, CurrencySelector, type CurrencySelectorClassNames, type CurrencySelectorProps, CustomAttributesTable, DateSlotPicker, type DateSlotPickerClassNames, type DateSlotPickerProps, DealBanner, type DealBannerClassNames, type DealBannerProps, DealsPage, type DealsPageClassNames, type DealsPageProps, DefaultCartLayout, DefaultCatalogueLayout, DefaultCollectionLayout, DefaultProductLayout, DefaultSearchLayout, DeliveryEstimate, type DeliveryEstimateClassNames, type DeliveryEstimateProps, DigitalProductCard, DigitalProductLayout, DiscountInput, type DiscountInputClassNames, type DiscountInputProps, ElementsProvider, FeaturedCollectionLayout, FoodProductCard, FoodProductLayout, InventoryBadge, LeaseServiceCard, LocationPicker, type LocationPickerClassNames, type LocationPickerProps, MetadataStringList, OrderDetailPage, type OrderDetailPageClassNames, type OrderDetailPageProps, OrderHistory, type OrderHistoryClassNames, OrderHistoryPage, type OrderHistoryPageClassNames, type OrderHistoryPageProps, type OrderHistoryProps, OrderSummary, type OrderSummaryClassNames, type OrderSummaryProps, PaymentElement, Price, type PriceProps, PriceRange, type PriceRangeProps, ProductCard, type ProductCardClassNames, type ProductCardProps, ProductCustomizer, type ProductCustomizerClassNames, type ProductCustomizerProps, ProductGrid, type ProductGridClassNames, type ProductGridProps, ProductImageGallery, type ProductImageGalleryProps, type ProductLayoutProps, ProductPage, type ProductPageClassNames, type ProductPageProps, ProductSheet, type ProductSheetClassNames, type ProductSheetProps, ProductTemplate, PropertiesTable, QuantitySelector, type QuantitySelectorClassNames, type QuantitySelectorProps, QuickAddButton, RecentlyViewed, type RecentlyViewedClassNames, type RecentlyViewedProps, RecommendationCarousel, type RecommendationCarouselClassNames, type RecommendationCarouselProps, RelatedProductsSection, RentalServiceCard, type Resource, ResourcePicker, type ResourcePickerClassNames, type ResourcePickerProps, RetailProductCard, SaleBadge, type SaleBadgeClassNames, type SaleBadgeProps, ScheduleServiceCard, SearchInput, type SearchInputClassNames, type SearchInputProps, type SearchLayoutProps, SearchPage, type SearchPageClassNames, type SearchPageProps, SearchTemplate, type ServiceCardLayoutProps, ServiceProductLayout, SessionMessageBanner, type SessionMessageBannerClassNames, type SessionMessageBannerProps, SlotPicker, type SlotPickerClassNames, type SlotPickerProps, SoldOutOverlay, StaffPicker, type StaffPickerClassNames, type StaffPickerProps, StandardServiceCard, StoreNav, type StoreNavClassNames, type StoreNavProps, SubscriptionCard, TagPills, TwoColumnGrid, type UseActivityStateOptions, type UseActivityStateResult, type UseAttributeDefinitionsOptions, type UseAttributeDefinitionsResult, type UseAvailableSlotsOptions, type UseAvailableSlotsResult, type UseBillingPlansOptions, type UseBillingPlansResult, type UseBookingsOptions, type UseBookingsResult, type UseBootstrapOptions, type UseBootstrapResult, type UseBundlesOptions, type UseBundlesResult, type UseCartItem, type UseCartOptions, type UseCartResult, type UseCategoriesOptions, type UseCategoriesResult, type UseCollectionOptions, type UseCollectionResult, type UseCollectionsOptions, type UseCollectionsResult, type UseDealsOptions, type UseDealsResult, type UseDeliveryFeeOptions, type UseDeliveryFeeResult, type UseFxRateOptions, type UseFxRateResult, type UseLocationsOptions, type UseLocationsResult, type UseOrderOptions, type UseOrderResult, type UseOrdersOptions, type UseOrdersResult, type UseProductAvailabilityOptions, type UseProductAvailabilityResult, type UseProductDealsOptions, type UseProductDealsResult, type UseProductOptions, type UseProductPriceInput, type UseProductPriceResult, type UseProductResult, type UseProductSchedulesOptions, type UseProductSchedulesResult, type UseProductsOnSaleOptions, type UseProductsOnSaleResult, type UseProductsOptions, type UseProductsResult, type UsePropertyFacetsOptions, type UsePropertyFacetsResult, type UseQuoteInput, type UseQuoteOptions, type UseQuoteResult, type UseRecommendationsOptions, type UseRecommendationsResult, type UseSearchOptions, type UseSearchResult, type UseServiceAvailabilityOptions, type UseServiceAvailabilityResult, type UseServicesOptions, type UseServicesResult, type UseTaxonomiesOptions, type UseTaxonomiesResult, type UseTaxonomyOptions, type UseTaxonomyPathOptions, type UseTaxonomyPathResult, type UseTaxonomyResult, type UseValidateDiscountOptions, type UseValidateDiscountResult, type UseVariantSelectorOptions, type UseVariantSelectorResult, VariantSelector, type VariantSelectorClassNames, type VariantSelectorProps, VolumePricing, type VolumePricingClassNames, type VolumePricingProps, WholesaleProductCard, WholesaleProductLayout, WishlistButton, cn, roomToResource, useActivityState, useAds, useAttributeDefinitions, useAvailableSlots, useBillingPlans, useBookings, useBootstrap, useBundles, useCart, useCategories, useCheckout, useCimplify, useCimplifyClient, useCollection, useCollections, useDeals, useDeliveryFee, useElements, useElementsReady, useFxRate, useLocations, useOptionalCimplify, useOrder, useOrders, useProduct, useProductAvailability, useProductDeals, useProductPrice, useProductSchedules, useProducts, useProductsOnSale, usePropertyFacets, useQuote, useRecommendations, useSearch, useServiceAvailability, useServices, useTaxonomies, useTaxonomy, useTaxonomyPath, useValidateDiscount, useVariantSelector };
|