@clickaroo/checkout-ui 0.1.7-beta → 1.0.1-beta
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/CHANGELOG.md +13 -13
- package/README.md +18 -6
- package/dist/index.d.ts +214 -105
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,40 +4,40 @@
|
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Configure storybook, support multi-product checkout, add Google address suggestions support
|
|
8
8
|
|
|
9
9
|
## 1.0.4
|
|
10
10
|
|
|
11
11
|
### Patch Changes
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- Update .gitlab-ci.yml
|
|
14
14
|
|
|
15
15
|
## 1.0.3
|
|
16
16
|
|
|
17
17
|
### Patch Changes
|
|
18
18
|
|
|
19
|
-
-
|
|
19
|
+
- Add Changesets support for automatic version and changelog management
|
|
20
20
|
|
|
21
21
|
## 1.0.2
|
|
22
22
|
|
|
23
23
|
### Patch Changes
|
|
24
24
|
|
|
25
|
-
-
|
|
25
|
+
- Add Terser compression and obfuscation for production code
|
|
26
26
|
|
|
27
27
|
## 1.0.1
|
|
28
28
|
|
|
29
29
|
### Patch Changes
|
|
30
30
|
|
|
31
|
-
-
|
|
31
|
+
- Disable source map file generation
|
|
32
32
|
|
|
33
33
|
## 1.0.0
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### Initial Release
|
|
36
36
|
|
|
37
|
-
- ✨
|
|
38
|
-
- ✨ CheckoutProvider
|
|
39
|
-
- ✨ CustomerInfo
|
|
40
|
-
- ✨ DeliveryAddress
|
|
41
|
-
- ✨ PaymentMethods
|
|
42
|
-
- ✨ ButtonGroup
|
|
43
|
-
- ✨ Stripe
|
|
37
|
+
- ✨ Complete checkout flow components
|
|
38
|
+
- ✨ CheckoutProvider context provider
|
|
39
|
+
- ✨ CustomerInfo customer information component
|
|
40
|
+
- ✨ DeliveryAddress delivery address component
|
|
41
|
+
- ✨ PaymentMethods payment methods component
|
|
42
|
+
- ✨ ButtonGroup order submission button group
|
|
43
|
+
- ✨ Stripe payment integration
|
package/README.md
CHANGED
|
@@ -17,18 +17,30 @@ yarn add @clickaroo/checkout-ui
|
|
|
17
17
|
#### Use CheckoutPage
|
|
18
18
|
|
|
19
19
|
```tsx
|
|
20
|
-
import { CheckoutPage } from '@clickaroo/checkout-ui';
|
|
20
|
+
import { CheckoutPage, CheckoutProvider, ClickarooProvider } from '@clickaroo/checkout-ui';
|
|
21
21
|
|
|
22
22
|
function App() {
|
|
23
|
-
const
|
|
23
|
+
const cart = [{
|
|
24
24
|
sku: "TEST001",
|
|
25
25
|
offerPricePoint: "OPP-TEST001",
|
|
26
|
-
}]
|
|
26
|
+
}];
|
|
27
27
|
|
|
28
28
|
return (
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
<ClickarooProvider>
|
|
30
|
+
<CheckoutProvider
|
|
31
|
+
baseUrl="https://api.clickaroo.io"
|
|
32
|
+
cart={cart}
|
|
33
|
+
>
|
|
34
|
+
<CheckoutPage />
|
|
35
|
+
</CheckoutProvider>
|
|
36
|
+
</ClickarooProvider>
|
|
32
37
|
);
|
|
33
38
|
}
|
|
34
39
|
```
|
|
40
|
+
|
|
41
|
+
> **Note**:
|
|
42
|
+
> - `ClickarooProvider` must wrap your application at the root level to manage Clickaroo parameters
|
|
43
|
+
> - `CheckoutProvider` requires a `baseUrl` prop (the API base URL)
|
|
44
|
+
> - `CheckoutPage` must be wrapped with both providers
|
|
45
|
+
|
|
46
|
+
For more detailed documentation, see the [Storybook documentation](https://your-storybook-url).
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,49 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { OnCheckoutInitCallback, OnPaymentInfoCompleteCallback, OnOrderSubmitCallback, OnOrderSuccessCallback } from '@/types/callback';
|
|
3
|
-
import { CartItem as CartItem$1 } from '@/types/cartItem';
|
|
4
2
|
import React, { ReactNode } from 'react';
|
|
5
|
-
import z from 'zod
|
|
6
|
-
import { CustomerInfo as CustomerInfo$1, DeliveryAddress as DeliveryAddress$2 } from '@/contexts/CheckoutContext';
|
|
7
|
-
import { OrderDetail as OrderDetail$1 } from '@/types/order';
|
|
3
|
+
import { z } from 'zod';
|
|
8
4
|
|
|
9
|
-
interface
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
interface CartItem {
|
|
6
|
+
sku: string;
|
|
7
|
+
offerPricePoint: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare enum PaymentType {
|
|
12
|
+
OneTime = "one-time",
|
|
13
|
+
Subscription = "subscription"
|
|
14
|
+
}
|
|
15
|
+
interface CheckoutCartItem extends CartItem {
|
|
16
|
+
priceInCents: number;
|
|
17
|
+
currency: string;
|
|
18
|
+
quantity: number;
|
|
19
|
+
paymentType: PaymentType;
|
|
20
|
+
}
|
|
21
|
+
interface OnCheckoutInitCallback {
|
|
22
|
+
(): void;
|
|
23
|
+
}
|
|
24
|
+
interface OnPaymentInfoCompleteCallback {
|
|
25
|
+
(products: CheckoutCartItem[], totalAmount: number): void;
|
|
26
|
+
}
|
|
27
|
+
interface OnOrderSubmitCallback {
|
|
28
|
+
(products: CheckoutCartItem[], totalAmount: number, setMetadata: (metadata: Record<string, string>) => void): void;
|
|
29
|
+
}
|
|
30
|
+
interface OnOrderSuccessCallback {
|
|
31
|
+
(orderCode: string, tradeCode?: string): void;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface CheckoutPageProps {
|
|
35
|
+
googleApiKey?: string;
|
|
12
36
|
onPaymentInfoComplete?: OnPaymentInfoCompleteCallback;
|
|
13
37
|
onOrderSubmit?: OnOrderSubmitCallback;
|
|
14
38
|
onOrderSuccess?: OnOrderSuccessCallback;
|
|
15
|
-
googleApiKey?: string;
|
|
16
|
-
metadata?: Record<string, string>;
|
|
17
39
|
}
|
|
18
|
-
declare const CheckoutPage: (props:
|
|
40
|
+
declare const CheckoutPage: (props: CheckoutPageProps) => react_jsx_runtime.JSX.Element;
|
|
19
41
|
|
|
20
|
-
|
|
42
|
+
interface SubmitButtonProps {
|
|
43
|
+
onOrderSubmit?: OnOrderSubmitCallback;
|
|
44
|
+
onOrderSuccess?: OnOrderSuccessCallback;
|
|
45
|
+
}
|
|
46
|
+
declare const SubmitButton: React.FC<SubmitButtonProps>;
|
|
21
47
|
|
|
22
48
|
interface CustomInfoProps {
|
|
23
49
|
showTitle?: boolean;
|
|
@@ -26,79 +52,40 @@ declare const CustomInfo: React.FC<CustomInfoProps>;
|
|
|
26
52
|
|
|
27
53
|
interface DeliveryAddressProps {
|
|
28
54
|
showTitle?: boolean;
|
|
55
|
+
googleApiKey?: string;
|
|
29
56
|
}
|
|
30
57
|
declare const DeliveryAddress$1: React.FC<DeliveryAddressProps>;
|
|
31
58
|
|
|
32
59
|
interface PaymentMethodsProps {
|
|
33
60
|
showText?: boolean;
|
|
34
|
-
}
|
|
35
|
-
declare const PaymentMethods: React.FC<PaymentMethodsProps>;
|
|
36
|
-
|
|
37
|
-
declare const CustomerInfoSchema: z.ZodObject<{
|
|
38
|
-
firstName: z.ZodString;
|
|
39
|
-
lastName: z.ZodString;
|
|
40
|
-
email: z.ZodString;
|
|
41
|
-
phone: z.ZodString;
|
|
42
|
-
}, z.core.$strip>;
|
|
43
|
-
type CustomerInfo = z.infer<typeof CustomerInfoSchema>;
|
|
44
|
-
declare const AddressSchema: z.ZodObject<{
|
|
45
|
-
country: z.ZodString;
|
|
46
|
-
address: z.ZodString;
|
|
47
|
-
address2: z.ZodOptional<z.ZodString>;
|
|
48
|
-
city: z.ZodString;
|
|
49
|
-
state: z.ZodString;
|
|
50
|
-
zipCode: z.ZodString;
|
|
51
|
-
}, z.core.$strip>;
|
|
52
|
-
type DeliveryAddress = z.infer<typeof AddressSchema>;
|
|
53
|
-
interface CheckoutProviderProps {
|
|
54
|
-
children: ReactNode;
|
|
55
|
-
cart: CartItem$1[];
|
|
56
|
-
onCheckoutInit?: OnCheckoutInitCallback;
|
|
57
61
|
onPaymentInfoComplete?: OnPaymentInfoCompleteCallback;
|
|
58
|
-
onOrderSubmit?: OnOrderSubmitCallback;
|
|
59
|
-
onOrderSuccess?: OnOrderSuccessCallback;
|
|
60
|
-
googleApiKey?: string;
|
|
61
|
-
metadata?: Record<string, string>;
|
|
62
|
-
}
|
|
63
|
-
declare const CheckoutProvider: React.FC<CheckoutProviderProps>;
|
|
64
|
-
|
|
65
|
-
declare const configureAPIUrl: (url: string) => void;
|
|
66
|
-
|
|
67
|
-
interface CartItem {
|
|
68
|
-
sku: string;
|
|
69
|
-
offerPricePoint: string;
|
|
70
|
-
[key: string]: unknown;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
interface UseCheckoutContextPublic {
|
|
74
|
-
isFormValid: () => boolean;
|
|
75
|
-
customerInfo: CustomerInfo$1;
|
|
76
|
-
deliveryAddress: DeliveryAddress$2;
|
|
77
|
-
isPaymentComplete: boolean;
|
|
78
|
-
cart: CartItem$1[];
|
|
79
|
-
updateCustomerInfo: (info: Partial<CustomerInfo$1>) => void;
|
|
80
|
-
updateDeliveryAddress: (address: Partial<DeliveryAddress$2>) => void;
|
|
81
62
|
}
|
|
82
|
-
declare const
|
|
63
|
+
declare const PaymentMethods: React.FC<PaymentMethodsProps>;
|
|
83
64
|
|
|
84
|
-
interface
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
65
|
+
interface ClickarooInfo {
|
|
66
|
+
offer_code: string;
|
|
67
|
+
type: "one_off" | "subscription_schedules";
|
|
68
|
+
payment: {
|
|
69
|
+
type: "stripe";
|
|
70
|
+
data: ClickarooPaymentStripe;
|
|
71
|
+
};
|
|
72
|
+
subscription_schedules?: {
|
|
73
|
+
phase: number;
|
|
74
|
+
price_in_cents: number;
|
|
75
|
+
currency: string;
|
|
76
|
+
quantity: number;
|
|
77
|
+
period: string;
|
|
78
|
+
}[];
|
|
79
|
+
one_off?: {
|
|
80
|
+
price_in_cents: number;
|
|
81
|
+
currency: string;
|
|
82
|
+
quantity: number;
|
|
83
|
+
};
|
|
89
84
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
interface UseOrderDetailReturn {
|
|
96
|
-
orderDetail: OrderDetail$1 | null;
|
|
97
|
-
loading: boolean;
|
|
98
|
-
error: string | null;
|
|
99
|
-
refetch: () => void;
|
|
85
|
+
interface ClickarooPaymentStripe {
|
|
86
|
+
publishable_key: string;
|
|
87
|
+
account_id: string;
|
|
100
88
|
}
|
|
101
|
-
declare const useOrderDetail: (orderCode: string | null) => UseOrderDetailReturn;
|
|
102
89
|
|
|
103
90
|
declare enum OrderPaymentStatus {
|
|
104
91
|
PENDING = "pending",
|
|
@@ -220,52 +207,174 @@ interface OrderDetail {
|
|
|
220
207
|
updated_at: string;
|
|
221
208
|
}
|
|
222
209
|
|
|
223
|
-
|
|
210
|
+
interface ApiClientConfig {
|
|
211
|
+
baseUrl: string;
|
|
212
|
+
}
|
|
213
|
+
interface ApiResponse<T> {
|
|
214
|
+
success: boolean;
|
|
215
|
+
data?: T;
|
|
216
|
+
error?: {
|
|
217
|
+
message: string;
|
|
218
|
+
code?: string;
|
|
219
|
+
details?: unknown;
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* SDK-style API client for Clickaroo backend.
|
|
224
|
+
*/
|
|
225
|
+
declare class ApiClient {
|
|
226
|
+
private baseUrl;
|
|
227
|
+
constructor(config: ApiClientConfig);
|
|
228
|
+
getBaseUrl(): string;
|
|
229
|
+
setBaseUrl(baseUrl: string): void;
|
|
230
|
+
createOrder(orderData: CreateOrderRequest): Promise<ApiResponse<CreateOrderResponse>>;
|
|
231
|
+
createOrderWithToken(orderData: Omit<CreateOrderRequest, "clickaroo_token">): Promise<ApiResponse<CreateOrderResponse>>;
|
|
232
|
+
getOrderDetail(orderCode: string): Promise<ApiResponse<OrderDetail>>;
|
|
233
|
+
getPricePointInfo(offerPricePoints: string | string[]): Promise<ApiResponse<ClickarooInfo | Record<string, ClickarooInfo>>>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
declare global {
|
|
237
|
+
interface Window {
|
|
238
|
+
dataLayer: unknown[];
|
|
239
|
+
gtag: (...args: unknown[]) => void;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
declare const CustomerInfoSchema: z.ZodObject<{
|
|
244
|
+
firstName: z.ZodString;
|
|
245
|
+
lastName: z.ZodString;
|
|
246
|
+
email: z.ZodString;
|
|
247
|
+
phone: z.ZodString;
|
|
248
|
+
}, z.core.$strip>;
|
|
249
|
+
type CustomerInfo = z.infer<typeof CustomerInfoSchema>;
|
|
250
|
+
declare const AddressSchema: z.ZodObject<{
|
|
251
|
+
country: z.ZodString;
|
|
252
|
+
address: z.ZodString;
|
|
253
|
+
address2: z.ZodOptional<z.ZodString>;
|
|
254
|
+
city: z.ZodString;
|
|
255
|
+
state: z.ZodString;
|
|
256
|
+
zipCode: z.ZodString;
|
|
257
|
+
}, z.core.$strip>;
|
|
258
|
+
type DeliveryAddress = z.infer<typeof AddressSchema>;
|
|
259
|
+
interface CheckoutProviderProps {
|
|
260
|
+
children: ReactNode;
|
|
261
|
+
cart: CartItem[];
|
|
262
|
+
baseUrl: string;
|
|
263
|
+
onCheckoutInit?: OnCheckoutInitCallback;
|
|
264
|
+
metadata?: Record<string, string>;
|
|
265
|
+
}
|
|
266
|
+
declare const CheckoutProvider: React.FC<CheckoutProviderProps>;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Storage utility functions
|
|
270
|
+
* Provides unified interface for Cookie, LocalStorage, SessionStorage operations
|
|
271
|
+
*/
|
|
272
|
+
interface CookieOptions {
|
|
273
|
+
expires?: number;
|
|
274
|
+
path?: string;
|
|
275
|
+
domain?: string;
|
|
276
|
+
secure?: boolean;
|
|
277
|
+
sameSite?: 'strict' | 'lax' | 'none';
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* ClickarooProvider configuration options
|
|
282
|
+
*/
|
|
283
|
+
interface ClickarooProviderConfig {
|
|
284
|
+
/** Storage key prefix, if not provided, no prefix is added when storing */
|
|
285
|
+
keyPrefix?: string;
|
|
286
|
+
/** List of parameters to manage, if not provided, all parameters from URL are stored */
|
|
287
|
+
params?: string[];
|
|
288
|
+
/** Cookie configuration options */
|
|
289
|
+
cookieOptions?: CookieOptions;
|
|
290
|
+
/** Whether to output debug information to console */
|
|
291
|
+
debug?: boolean;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Clickaroo Context type
|
|
295
|
+
*/
|
|
296
|
+
interface ClickarooContextType {
|
|
297
|
+
/** Get parameter value */
|
|
298
|
+
getParam: (paramName: string) => string | null;
|
|
299
|
+
/** Current parameter values (read-only) */
|
|
300
|
+
params: Record<string, string>;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* ClickarooProvider Props
|
|
304
|
+
*/
|
|
305
|
+
interface ClickarooProviderProps {
|
|
306
|
+
children: ReactNode;
|
|
307
|
+
config?: ClickarooProviderConfig;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* ClickarooProvider component
|
|
311
|
+
* Used to manage Clickaroo-related parameters at the outermost level of the application
|
|
312
|
+
*/
|
|
313
|
+
declare const ClickarooProvider: React.FC<ClickarooProviderProps>;
|
|
314
|
+
|
|
315
|
+
interface UseCheckoutContextPublic {
|
|
316
|
+
isFormValid: () => boolean;
|
|
317
|
+
customerInfo: CustomerInfo;
|
|
318
|
+
deliveryAddress: DeliveryAddress;
|
|
319
|
+
isPaymentComplete: boolean;
|
|
320
|
+
cart: CartItem[];
|
|
321
|
+
updateCustomerInfo: (info: Partial<CustomerInfo>) => void;
|
|
322
|
+
updateDeliveryAddress: (address: Partial<DeliveryAddress>) => void;
|
|
323
|
+
}
|
|
324
|
+
declare const useCheckoutContextPublic: () => UseCheckoutContextPublic;
|
|
325
|
+
|
|
326
|
+
interface OrderSubmissionResult {
|
|
327
|
+
success: boolean;
|
|
328
|
+
message: string;
|
|
329
|
+
orderCode?: string;
|
|
330
|
+
tradeCode?: string;
|
|
331
|
+
}
|
|
332
|
+
declare const useOrderSubmission: () => {
|
|
333
|
+
isSubmitting: boolean;
|
|
334
|
+
submitOrder: () => Promise<OrderSubmissionResult>;
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
interface UseOrderDetailReturn {
|
|
338
|
+
orderDetail: OrderDetail | null;
|
|
339
|
+
loading: boolean;
|
|
340
|
+
error: string | null;
|
|
341
|
+
refetch: () => void;
|
|
342
|
+
}
|
|
343
|
+
declare const useOrderDetail: (orderCode: string | null) => UseOrderDetailReturn;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Hook for using Clickaroo parameters
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```tsx
|
|
350
|
+
* const { getParam, params } = useClickarooParams();
|
|
351
|
+
* const token = getParam('token');
|
|
352
|
+
* const sub4 = getParam('sub4');
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
declare const useClickarooParams: () => ClickarooContextType;
|
|
356
|
+
|
|
357
|
+
declare const createOrderWithToken: (baseUrl: string, orderData: Omit<CreateOrderRequest, "clickaroo_token">) => Promise<{
|
|
224
358
|
success: boolean;
|
|
225
359
|
data?: CreateOrderResponse;
|
|
226
360
|
error?: OrderApiError;
|
|
227
361
|
}>;
|
|
228
|
-
declare const getOrderDetail: (orderCode: string) => Promise<{
|
|
362
|
+
declare const getOrderDetail: (baseUrl: string, orderCode: string) => Promise<{
|
|
229
363
|
success: boolean;
|
|
230
364
|
data?: OrderDetail;
|
|
231
365
|
error?: OrderApiError;
|
|
232
366
|
}>;
|
|
233
367
|
|
|
234
|
-
interface ClickarooInfo {
|
|
235
|
-
offer_code: string;
|
|
236
|
-
type: "one_off" | "subscription_schedules";
|
|
237
|
-
payment: {
|
|
238
|
-
type: "stripe";
|
|
239
|
-
data: ClickarooPaymentStripe;
|
|
240
|
-
};
|
|
241
|
-
subscription_schedules?: {
|
|
242
|
-
phase: number;
|
|
243
|
-
price_in_cents: number;
|
|
244
|
-
currency: string;
|
|
245
|
-
quantity: number;
|
|
246
|
-
period: string;
|
|
247
|
-
}[];
|
|
248
|
-
one_off?: {
|
|
249
|
-
price_in_cents: number;
|
|
250
|
-
currency: string;
|
|
251
|
-
quantity: number;
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
interface ClickarooPaymentStripe {
|
|
255
|
-
publishable_key: string;
|
|
256
|
-
account_id: string;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
368
|
interface PricePointApiError {
|
|
260
369
|
message: string;
|
|
261
370
|
code?: string;
|
|
262
371
|
details?: unknown;
|
|
263
372
|
}
|
|
264
|
-
declare const getPricePointInfo: (offerPricePoints: string | string[]) => Promise<{
|
|
373
|
+
declare const getPricePointInfo: (baseUrl: string, offerPricePoints: string | string[]) => Promise<{
|
|
265
374
|
success: boolean;
|
|
266
375
|
data?: ClickarooInfo | Record<string, ClickarooInfo>;
|
|
267
376
|
error?: PricePointApiError;
|
|
268
377
|
}>;
|
|
269
378
|
|
|
270
|
-
export { SubmitButton as ButtonGroup, CheckoutPage, CheckoutProvider, CustomInfo as CustomerInfo, DeliveryAddress$1 as DeliveryAddress, PaymentMethods,
|
|
271
|
-
export type { CartItem, CustomerInfo as CustomerInfoType, DeliveryAddress as DeliveryAddressType, UseCheckoutContextPublic as UseCheckoutContext };
|
|
379
|
+
export { ApiClient, SubmitButton as ButtonGroup, CheckoutPage, CheckoutProvider, ClickarooProvider, CustomInfo as CustomerInfo, DeliveryAddress$1 as DeliveryAddress, PaymentMethods, createOrderWithToken as createOrder, getOrderDetail, getPricePointInfo, useCheckoutContextPublic as useCheckoutContext, useClickarooParams, useOrderDetail, useOrderSubmission };
|
|
380
|
+
export type { ApiClientConfig, ApiResponse, CartItem, ClickarooContextType, ClickarooProviderConfig, CustomerInfo as CustomerInfoType, DeliveryAddress as DeliveryAddressType, UseCheckoutContextPublic as UseCheckoutContext };
|