@bates-solutions/squareup 0.1.0 → 1.0.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.
Files changed (144) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +167 -154
  3. package/package.json +87 -118
  4. package/README.md.backup +0 -292
  5. package/dist/angular/__tests__/setup.d.ts +0 -1
  6. package/dist/angular/__tests__/setup.d.ts.map +0 -1
  7. package/dist/angular/__tests__/setup.js +0 -5
  8. package/dist/angular/__tests__/setup.js.map +0 -1
  9. package/dist/angular/components/index.d.ts +0 -2
  10. package/dist/angular/components/index.d.ts.map +0 -1
  11. package/dist/angular/components/index.js +0 -2
  12. package/dist/angular/components/index.js.map +0 -1
  13. package/dist/angular/components/payment-button.component.d.ts +0 -49
  14. package/dist/angular/components/payment-button.component.d.ts.map +0 -1
  15. package/dist/angular/components/payment-button.component.js +0 -176
  16. package/dist/angular/components/payment-button.component.js.map +0 -1
  17. package/dist/angular/directives/index.d.ts +0 -2
  18. package/dist/angular/directives/index.d.ts.map +0 -1
  19. package/dist/angular/directives/index.js +0 -2
  20. package/dist/angular/directives/index.js.map +0 -1
  21. package/dist/angular/directives/square-card.directive.d.ts +0 -52
  22. package/dist/angular/directives/square-card.directive.d.ts.map +0 -1
  23. package/dist/angular/directives/square-card.directive.js +0 -98
  24. package/dist/angular/directives/square-card.directive.js.map +0 -1
  25. package/dist/angular/index.d.ts +0 -42
  26. package/dist/angular/index.d.ts.map +0 -1
  27. package/dist/angular/index.js +0 -45
  28. package/dist/angular/index.js.map +0 -1
  29. package/dist/angular/services/index.d.ts +0 -6
  30. package/dist/angular/services/index.d.ts.map +0 -1
  31. package/dist/angular/services/index.js +0 -6
  32. package/dist/angular/services/index.js.map +0 -1
  33. package/dist/angular/services/square-catalog.service.d.ts +0 -60
  34. package/dist/angular/services/square-catalog.service.d.ts.map +0 -1
  35. package/dist/angular/services/square-catalog.service.js +0 -152
  36. package/dist/angular/services/square-catalog.service.js.map +0 -1
  37. package/dist/angular/services/square-customers.service.d.ts +0 -77
  38. package/dist/angular/services/square-customers.service.d.ts.map +0 -1
  39. package/dist/angular/services/square-customers.service.js +0 -187
  40. package/dist/angular/services/square-customers.service.js.map +0 -1
  41. package/dist/angular/services/square-orders.service.d.ts +0 -66
  42. package/dist/angular/services/square-orders.service.d.ts.map +0 -1
  43. package/dist/angular/services/square-orders.service.js +0 -170
  44. package/dist/angular/services/square-orders.service.js.map +0 -1
  45. package/dist/angular/services/square-payments.service.d.ts +0 -73
  46. package/dist/angular/services/square-payments.service.d.ts.map +0 -1
  47. package/dist/angular/services/square-payments.service.js +0 -167
  48. package/dist/angular/services/square-payments.service.js.map +0 -1
  49. package/dist/angular/services/square-sdk.service.d.ts +0 -45
  50. package/dist/angular/services/square-sdk.service.d.ts.map +0 -1
  51. package/dist/angular/services/square-sdk.service.js +0 -133
  52. package/dist/angular/services/square-sdk.service.js.map +0 -1
  53. package/dist/angular/square.module.d.ts +0 -36
  54. package/dist/angular/square.module.d.ts.map +0 -1
  55. package/dist/angular/square.module.js +0 -75
  56. package/dist/angular/square.module.js.map +0 -1
  57. package/dist/angular/types.d.ts +0 -189
  58. package/dist/angular/types.d.ts.map +0 -1
  59. package/dist/angular/types.js +0 -8
  60. package/dist/angular/types.js.map +0 -1
  61. package/dist/react/SquareProvider.d.ts +0 -50
  62. package/dist/react/SquareProvider.d.ts.map +0 -1
  63. package/dist/react/SquareProvider.js +0 -134
  64. package/dist/react/SquareProvider.js.map +0 -1
  65. package/dist/react/__tests__/CardInput.test.d.ts +0 -2
  66. package/dist/react/__tests__/CardInput.test.d.ts.map +0 -1
  67. package/dist/react/__tests__/CardInput.test.js +0 -218
  68. package/dist/react/__tests__/CardInput.test.js.map +0 -1
  69. package/dist/react/__tests__/PaymentButton.test.d.ts +0 -2
  70. package/dist/react/__tests__/PaymentButton.test.d.ts.map +0 -1
  71. package/dist/react/__tests__/PaymentButton.test.js +0 -400
  72. package/dist/react/__tests__/PaymentButton.test.js.map +0 -1
  73. package/dist/react/__tests__/SquareProvider.test.d.ts +0 -2
  74. package/dist/react/__tests__/SquareProvider.test.d.ts.map +0 -1
  75. package/dist/react/__tests__/SquareProvider.test.js +0 -126
  76. package/dist/react/__tests__/SquareProvider.test.js.map +0 -1
  77. package/dist/react/__tests__/setup.d.ts +0 -2
  78. package/dist/react/__tests__/setup.d.ts.map +0 -1
  79. package/dist/react/__tests__/setup.js +0 -3
  80. package/dist/react/__tests__/setup.js.map +0 -1
  81. package/dist/react/__tests__/useCatalog.test.d.ts +0 -2
  82. package/dist/react/__tests__/useCatalog.test.d.ts.map +0 -1
  83. package/dist/react/__tests__/useCatalog.test.js +0 -277
  84. package/dist/react/__tests__/useCatalog.test.js.map +0 -1
  85. package/dist/react/__tests__/useCustomers.test.d.ts +0 -2
  86. package/dist/react/__tests__/useCustomers.test.d.ts.map +0 -1
  87. package/dist/react/__tests__/useCustomers.test.js +0 -312
  88. package/dist/react/__tests__/useCustomers.test.js.map +0 -1
  89. package/dist/react/__tests__/useOrders.test.d.ts +0 -2
  90. package/dist/react/__tests__/useOrders.test.d.ts.map +0 -1
  91. package/dist/react/__tests__/useOrders.test.js +0 -216
  92. package/dist/react/__tests__/useOrders.test.js.map +0 -1
  93. package/dist/react/__tests__/usePayments.test.d.ts +0 -2
  94. package/dist/react/__tests__/usePayments.test.d.ts.map +0 -1
  95. package/dist/react/__tests__/usePayments.test.js +0 -235
  96. package/dist/react/__tests__/usePayments.test.js.map +0 -1
  97. package/dist/react/__tests__/useSquarePayment.test.d.ts +0 -2
  98. package/dist/react/__tests__/useSquarePayment.test.d.ts.map +0 -1
  99. package/dist/react/__tests__/useSquarePayment.test.js +0 -447
  100. package/dist/react/__tests__/useSquarePayment.test.js.map +0 -1
  101. package/dist/react/components/CardInput.d.ts +0 -69
  102. package/dist/react/components/CardInput.d.ts.map +0 -1
  103. package/dist/react/components/CardInput.js +0 -58
  104. package/dist/react/components/CardInput.js.map +0 -1
  105. package/dist/react/components/PaymentButton.d.ts +0 -71
  106. package/dist/react/components/PaymentButton.d.ts.map +0 -1
  107. package/dist/react/components/PaymentButton.js +0 -140
  108. package/dist/react/components/PaymentButton.js.map +0 -1
  109. package/dist/react/components/index.d.ts +0 -5
  110. package/dist/react/components/index.d.ts.map +0 -1
  111. package/dist/react/components/index.js +0 -3
  112. package/dist/react/components/index.js.map +0 -1
  113. package/dist/react/hooks/index.d.ts +0 -11
  114. package/dist/react/hooks/index.d.ts.map +0 -1
  115. package/dist/react/hooks/index.js +0 -6
  116. package/dist/react/hooks/index.js.map +0 -1
  117. package/dist/react/hooks/useCatalog.d.ts +0 -98
  118. package/dist/react/hooks/useCatalog.d.ts.map +0 -1
  119. package/dist/react/hooks/useCatalog.js +0 -134
  120. package/dist/react/hooks/useCatalog.js.map +0 -1
  121. package/dist/react/hooks/useCustomers.d.ts +0 -105
  122. package/dist/react/hooks/useCustomers.d.ts.map +0 -1
  123. package/dist/react/hooks/useCustomers.js +0 -174
  124. package/dist/react/hooks/useCustomers.js.map +0 -1
  125. package/dist/react/hooks/useOrders.d.ts +0 -112
  126. package/dist/react/hooks/useOrders.d.ts.map +0 -1
  127. package/dist/react/hooks/useOrders.js +0 -115
  128. package/dist/react/hooks/useOrders.js.map +0 -1
  129. package/dist/react/hooks/usePayments.d.ts +0 -98
  130. package/dist/react/hooks/usePayments.d.ts.map +0 -1
  131. package/dist/react/hooks/usePayments.js +0 -89
  132. package/dist/react/hooks/usePayments.js.map +0 -1
  133. package/dist/react/hooks/useSquarePayment.d.ts +0 -52
  134. package/dist/react/hooks/useSquarePayment.d.ts.map +0 -1
  135. package/dist/react/hooks/useSquarePayment.js +0 -146
  136. package/dist/react/hooks/useSquarePayment.js.map +0 -1
  137. package/dist/react/index.d.ts +0 -8
  138. package/dist/react/index.d.ts.map +0 -1
  139. package/dist/react/index.js +0 -7
  140. package/dist/react/index.js.map +0 -1
  141. package/dist/react/types.d.ts +0 -183
  142. package/dist/react/types.d.ts.map +0 -1
  143. package/dist/react/types.js +0 -2
  144. package/dist/react/types.js.map +0 -1
@@ -1,174 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
- /**
3
- * Hook for managing customers via your backend API
4
- *
5
- * @param options - Hook configuration
6
- * @returns Customer management functions and state
7
- *
8
- * @example
9
- * ```tsx
10
- * function CustomerForm() {
11
- * const { create: createCustomer, loading, error, data } = useCustomers({
12
- * onSuccess: (customer) => console.log('Created:', customer.id),
13
- * });
14
- *
15
- * const handleSubmit = async (formData: CustomerInput) => {
16
- * await createCustomer({
17
- * givenName: formData.givenName,
18
- * familyName: formData.familyName,
19
- * emailAddress: formData.emailAddress,
20
- * });
21
- * };
22
- *
23
- * return (
24
- * <form onSubmit={handleSubmit}>
25
- * {loading && <p>Creating customer...</p>}
26
- * {error && <p>Error: {error.message}</p>}
27
- * {data && <p>Customer created: {data.id}</p>}
28
- * </form>
29
- * );
30
- * }
31
- * ```
32
- */
33
- export function useCustomers(options = {}) {
34
- const { apiEndpoint = '/api/customers', onSuccess, onError } = options;
35
- const [data, setData] = useState(null);
36
- const [error, setError] = useState(null);
37
- const [loading, setLoading] = useState(false);
38
- const reset = useCallback(() => {
39
- setData(null);
40
- setError(null);
41
- setLoading(false);
42
- }, []);
43
- const create = useCallback(async (input) => {
44
- setLoading(true);
45
- setError(null);
46
- try {
47
- const response = await fetch(apiEndpoint, {
48
- method: 'POST',
49
- headers: {
50
- 'Content-Type': 'application/json',
51
- },
52
- body: JSON.stringify(input),
53
- });
54
- if (!response.ok) {
55
- const errorData = (await response.json().catch(() => ({})));
56
- throw new Error(errorData.message ?? `Customer creation failed: ${response.statusText}`);
57
- }
58
- const customer = (await response.json());
59
- setData(customer);
60
- onSuccess?.(customer);
61
- return customer;
62
- }
63
- catch (err) {
64
- const error = err instanceof Error ? err : new Error('Customer creation failed');
65
- setError(error);
66
- onError?.(error);
67
- throw error;
68
- }
69
- finally {
70
- setLoading(false);
71
- }
72
- }, [apiEndpoint, onSuccess, onError]);
73
- const get = useCallback(async (customerId) => {
74
- setLoading(true);
75
- setError(null);
76
- try {
77
- const response = await fetch(`${apiEndpoint}/${customerId}`, {
78
- method: 'GET',
79
- headers: {
80
- 'Content-Type': 'application/json',
81
- },
82
- });
83
- if (!response.ok) {
84
- const errorData = (await response.json().catch(() => ({})));
85
- throw new Error(errorData.message ?? `Failed to get customer: ${response.statusText}`);
86
- }
87
- const customer = (await response.json());
88
- setData(customer);
89
- return customer;
90
- }
91
- catch (err) {
92
- const error = err instanceof Error ? err : new Error('Failed to get customer');
93
- setError(error);
94
- onError?.(error);
95
- throw error;
96
- }
97
- finally {
98
- setLoading(false);
99
- }
100
- }, [apiEndpoint, onError]);
101
- const update = useCallback(async (customerId, input) => {
102
- setLoading(true);
103
- setError(null);
104
- try {
105
- const response = await fetch(`${apiEndpoint}/${customerId}`, {
106
- method: 'PUT',
107
- headers: {
108
- 'Content-Type': 'application/json',
109
- },
110
- body: JSON.stringify(input),
111
- });
112
- if (!response.ok) {
113
- const errorData = (await response.json().catch(() => ({})));
114
- throw new Error(errorData.message ?? `Customer update failed: ${response.statusText}`);
115
- }
116
- const customer = (await response.json());
117
- setData(customer);
118
- onSuccess?.(customer);
119
- return customer;
120
- }
121
- catch (err) {
122
- const error = err instanceof Error ? err : new Error('Customer update failed');
123
- setError(error);
124
- onError?.(error);
125
- throw error;
126
- }
127
- finally {
128
- setLoading(false);
129
- }
130
- }, [apiEndpoint, onSuccess, onError]);
131
- const search = useCallback(async (query) => {
132
- setLoading(true);
133
- setError(null);
134
- try {
135
- const params = new URLSearchParams();
136
- if (query.email)
137
- params.set('email', query.email);
138
- if (query.phone)
139
- params.set('phone', query.phone);
140
- const response = await fetch(`${apiEndpoint}/search?${params.toString()}`, {
141
- method: 'GET',
142
- headers: {
143
- 'Content-Type': 'application/json',
144
- },
145
- });
146
- if (!response.ok) {
147
- const errorData = (await response.json().catch(() => ({})));
148
- throw new Error(errorData.message ?? `Customer search failed: ${response.statusText}`);
149
- }
150
- const result = (await response.json());
151
- return result.customers;
152
- }
153
- catch (err) {
154
- const error = err instanceof Error ? err : new Error('Customer search failed');
155
- setError(error);
156
- onError?.(error);
157
- throw error;
158
- }
159
- finally {
160
- setLoading(false);
161
- }
162
- }, [apiEndpoint, onError]);
163
- return {
164
- create,
165
- get,
166
- update,
167
- search,
168
- reset,
169
- data,
170
- error,
171
- loading,
172
- };
173
- }
174
- //# sourceMappingURL=useCustomers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCustomers.js","sourceRoot":"","sources":["../../../src/react/hooks/useCustomers.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- import type { MutationState } from '../types.js';
2
- /**
3
- * Line item input for order creation
4
- */
5
- export interface OrderLineItemInput {
6
- /** Item name (for ad-hoc items) */
7
- name?: string;
8
- /** Catalog object ID (for catalog items) */
9
- catalogObjectId?: string;
10
- /** Quantity (default: 1) */
11
- quantity?: number;
12
- /** Amount in smallest currency unit (required for ad-hoc items) */
13
- amount?: number;
14
- /** Item note */
15
- note?: string;
16
- }
17
- /**
18
- * Order creation options
19
- */
20
- export interface CreateOrderInput {
21
- /** Line items for the order */
22
- lineItems: OrderLineItemInput[];
23
- /** Customer ID to associate with order */
24
- customerId?: string;
25
- /** Reference ID for external tracking */
26
- referenceId?: string;
27
- /** Optional payment token to pay for the order */
28
- paymentToken?: string;
29
- }
30
- /**
31
- * Order response
32
- */
33
- export interface OrderResponse {
34
- id: string;
35
- status: string;
36
- totalMoney?: {
37
- amount: number;
38
- currency: string;
39
- };
40
- lineItems?: Array<{
41
- uid?: string;
42
- name?: string;
43
- quantity?: string;
44
- totalMoney?: {
45
- amount: number;
46
- currency: string;
47
- };
48
- }>;
49
- customerId?: string;
50
- referenceId?: string;
51
- createdAt?: string;
52
- }
53
- /**
54
- * Options for useOrders hook
55
- */
56
- export interface UseOrdersOptions {
57
- /** API endpoint for orders (default: /api/orders) */
58
- apiEndpoint?: string;
59
- /** Callback on successful order creation */
60
- onSuccess?: (order: OrderResponse) => void;
61
- /** Callback on order error */
62
- onError?: (error: Error) => void;
63
- }
64
- /**
65
- * Return type for useOrders hook
66
- */
67
- export interface UseOrdersReturn extends MutationState<OrderResponse> {
68
- /** Create a new order */
69
- create: (options: CreateOrderInput) => Promise<OrderResponse>;
70
- /** Get an order by ID */
71
- get: (orderId: string) => Promise<OrderResponse>;
72
- /** Reset the hook state */
73
- reset: () => void;
74
- }
75
- /**
76
- * Hook for managing orders via your backend API
77
- *
78
- * @param options - Hook configuration
79
- * @returns Order management functions and state
80
- *
81
- * @example
82
- * ```tsx
83
- * function Checkout() {
84
- * const { cardRef, tokenize, ready } = useSquarePayment();
85
- * const { create: createOrder, loading, error } = useOrders({
86
- * onSuccess: (order) => console.log('Order created:', order.id),
87
- * });
88
- *
89
- * const handleCheckout = async () => {
90
- * const token = await tokenize();
91
- * await createOrder({
92
- * lineItems: [
93
- * { name: 'Latte', amount: 450 },
94
- * { name: 'Croissant', amount: 350 },
95
- * ],
96
- * paymentToken: token,
97
- * });
98
- * };
99
- *
100
- * return (
101
- * <div>
102
- * <div ref={cardRef} />
103
- * <button onClick={handleCheckout} disabled={!ready || loading}>
104
- * Pay $8.00
105
- * </button>
106
- * </div>
107
- * );
108
- * }
109
- * ```
110
- */
111
- export declare function useOrders(options?: UseOrdersOptions): UseOrdersReturn;
112
- //# sourceMappingURL=useOrders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOrders.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useOrders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE;YACX,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa,CAAC,aAAa,CAAC;IACnE,yBAAyB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,yBAAyB;IACzB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,2BAA2B;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAyFzE"}
@@ -1,115 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
- /**
3
- * Hook for managing orders via your backend API
4
- *
5
- * @param options - Hook configuration
6
- * @returns Order management functions and state
7
- *
8
- * @example
9
- * ```tsx
10
- * function Checkout() {
11
- * const { cardRef, tokenize, ready } = useSquarePayment();
12
- * const { create: createOrder, loading, error } = useOrders({
13
- * onSuccess: (order) => console.log('Order created:', order.id),
14
- * });
15
- *
16
- * const handleCheckout = async () => {
17
- * const token = await tokenize();
18
- * await createOrder({
19
- * lineItems: [
20
- * { name: 'Latte', amount: 450 },
21
- * { name: 'Croissant', amount: 350 },
22
- * ],
23
- * paymentToken: token,
24
- * });
25
- * };
26
- *
27
- * return (
28
- * <div>
29
- * <div ref={cardRef} />
30
- * <button onClick={handleCheckout} disabled={!ready || loading}>
31
- * Pay $8.00
32
- * </button>
33
- * </div>
34
- * );
35
- * }
36
- * ```
37
- */
38
- export function useOrders(options = {}) {
39
- const { apiEndpoint = '/api/orders', onSuccess, onError } = options;
40
- const [data, setData] = useState(null);
41
- const [error, setError] = useState(null);
42
- const [loading, setLoading] = useState(false);
43
- const reset = useCallback(() => {
44
- setData(null);
45
- setError(null);
46
- setLoading(false);
47
- }, []);
48
- const create = useCallback(async (input) => {
49
- setLoading(true);
50
- setError(null);
51
- try {
52
- const response = await fetch(apiEndpoint, {
53
- method: 'POST',
54
- headers: {
55
- 'Content-Type': 'application/json',
56
- },
57
- body: JSON.stringify(input),
58
- });
59
- if (!response.ok) {
60
- const errorData = (await response.json().catch(() => ({})));
61
- throw new Error(errorData.message ?? `Order creation failed: ${response.statusText}`);
62
- }
63
- const order = (await response.json());
64
- setData(order);
65
- onSuccess?.(order);
66
- return order;
67
- }
68
- catch (err) {
69
- const error = err instanceof Error ? err : new Error('Order creation failed');
70
- setError(error);
71
- onError?.(error);
72
- throw error;
73
- }
74
- finally {
75
- setLoading(false);
76
- }
77
- }, [apiEndpoint, onSuccess, onError]);
78
- const get = useCallback(async (orderId) => {
79
- setLoading(true);
80
- setError(null);
81
- try {
82
- const response = await fetch(`${apiEndpoint}/${orderId}`, {
83
- method: 'GET',
84
- headers: {
85
- 'Content-Type': 'application/json',
86
- },
87
- });
88
- if (!response.ok) {
89
- const errorData = (await response.json().catch(() => ({})));
90
- throw new Error(errorData.message ?? `Failed to get order: ${response.statusText}`);
91
- }
92
- const order = (await response.json());
93
- setData(order);
94
- return order;
95
- }
96
- catch (err) {
97
- const error = err instanceof Error ? err : new Error('Failed to get order');
98
- setError(error);
99
- onError?.(error);
100
- throw error;
101
- }
102
- finally {
103
- setLoading(false);
104
- }
105
- }, [apiEndpoint, onError]);
106
- return {
107
- create,
108
- get,
109
- reset,
110
- data,
111
- error,
112
- loading,
113
- };
114
- }
115
- //# sourceMappingURL=useOrders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOrders.js","sourceRoot":"","sources":["../../../src/react/hooks/useOrders.ts"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import type { MutationState } from '../types.js';
2
- /**
3
- * Payment creation options for the hook
4
- */
5
- export interface CreatePaymentInput {
6
- /** Payment source token from card tokenization */
7
- sourceId: string;
8
- /** Amount in smallest currency unit (cents for USD) */
9
- amount: number;
10
- /** Currency code */
11
- currency?: string;
12
- /** Customer ID to associate with payment */
13
- customerId?: string;
14
- /** Order ID to associate with payment */
15
- orderId?: string;
16
- /** Reference ID for external tracking */
17
- referenceId?: string;
18
- /** Note for the payment */
19
- note?: string;
20
- /** Whether to auto-complete the payment */
21
- autocomplete?: boolean;
22
- }
23
- /**
24
- * Payment response
25
- */
26
- export interface PaymentResponse {
27
- id: string;
28
- status: string;
29
- amount: number;
30
- currency: string;
31
- sourceType?: string;
32
- receiptNumber?: string;
33
- receiptUrl?: string;
34
- orderId?: string;
35
- customerId?: string;
36
- createdAt?: string;
37
- }
38
- /**
39
- * Options for usePayments hook
40
- */
41
- export interface UsePaymentsOptions {
42
- /** API endpoint for creating payments (default: /api/payments) */
43
- apiEndpoint?: string;
44
- /** Callback on successful payment */
45
- onSuccess?: (payment: PaymentResponse) => void;
46
- /** Callback on payment error */
47
- onError?: (error: Error) => void;
48
- }
49
- /**
50
- * Return type for usePayments hook
51
- */
52
- export interface UsePaymentsReturn extends MutationState<PaymentResponse> {
53
- /** Create a new payment */
54
- create: (options: CreatePaymentInput) => Promise<PaymentResponse>;
55
- /** Reset the hook state */
56
- reset: () => void;
57
- }
58
- /**
59
- * Hook for creating payments via your backend API
60
- *
61
- * This hook sends payment requests to your backend, which should then
62
- * use the Square Payments API to process the payment.
63
- *
64
- * @param options - Hook configuration
65
- * @returns Payment creation function and state
66
- *
67
- * @example
68
- * ```tsx
69
- * function Checkout() {
70
- * const { cardRef, tokenize, ready } = useSquarePayment();
71
- * const { create: createPayment, loading, error } = usePayments({
72
- * onSuccess: (payment) => console.log('Payment successful:', payment.id),
73
- * onError: (err) => console.error('Payment failed:', err),
74
- * });
75
- *
76
- * const handlePay = async () => {
77
- * const token = await tokenize();
78
- * await createPayment({
79
- * sourceId: token,
80
- * amount: 1000, // $10.00
81
- * currency: 'USD',
82
- * });
83
- * };
84
- *
85
- * return (
86
- * <div>
87
- * <div ref={cardRef} />
88
- * <button onClick={handlePay} disabled={!ready || loading}>
89
- * Pay $10.00
90
- * </button>
91
- * {error && <p>Error: {error.message}</p>}
92
- * </div>
93
- * );
94
- * }
95
- * ```
96
- */
97
- export declare function usePayments(options?: UsePaymentsOptions): UsePaymentsReturn;
98
- //# sourceMappingURL=usePayments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePayments.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/usePayments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,gCAAgC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa,CAAC,eAAe,CAAC;IACvE,2BAA2B;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,2BAA2B;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CAuD/E"}
@@ -1,89 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
- /**
3
- * Hook for creating payments via your backend API
4
- *
5
- * This hook sends payment requests to your backend, which should then
6
- * use the Square Payments API to process the payment.
7
- *
8
- * @param options - Hook configuration
9
- * @returns Payment creation function and state
10
- *
11
- * @example
12
- * ```tsx
13
- * function Checkout() {
14
- * const { cardRef, tokenize, ready } = useSquarePayment();
15
- * const { create: createPayment, loading, error } = usePayments({
16
- * onSuccess: (payment) => console.log('Payment successful:', payment.id),
17
- * onError: (err) => console.error('Payment failed:', err),
18
- * });
19
- *
20
- * const handlePay = async () => {
21
- * const token = await tokenize();
22
- * await createPayment({
23
- * sourceId: token,
24
- * amount: 1000, // $10.00
25
- * currency: 'USD',
26
- * });
27
- * };
28
- *
29
- * return (
30
- * <div>
31
- * <div ref={cardRef} />
32
- * <button onClick={handlePay} disabled={!ready || loading}>
33
- * Pay $10.00
34
- * </button>
35
- * {error && <p>Error: {error.message}</p>}
36
- * </div>
37
- * );
38
- * }
39
- * ```
40
- */
41
- export function usePayments(options = {}) {
42
- const { apiEndpoint = '/api/payments', onSuccess, onError } = options;
43
- const [data, setData] = useState(null);
44
- const [error, setError] = useState(null);
45
- const [loading, setLoading] = useState(false);
46
- const reset = useCallback(() => {
47
- setData(null);
48
- setError(null);
49
- setLoading(false);
50
- }, []);
51
- const create = useCallback(async (input) => {
52
- setLoading(true);
53
- setError(null);
54
- try {
55
- const response = await fetch(apiEndpoint, {
56
- method: 'POST',
57
- headers: {
58
- 'Content-Type': 'application/json',
59
- },
60
- body: JSON.stringify(input),
61
- });
62
- if (!response.ok) {
63
- const errorData = (await response.json().catch(() => ({})));
64
- throw new Error(errorData.message ?? `Payment failed: ${response.statusText}`);
65
- }
66
- const payment = (await response.json());
67
- setData(payment);
68
- onSuccess?.(payment);
69
- return payment;
70
- }
71
- catch (err) {
72
- const error = err instanceof Error ? err : new Error('Payment failed');
73
- setError(error);
74
- onError?.(error);
75
- throw error;
76
- }
77
- finally {
78
- setLoading(false);
79
- }
80
- }, [apiEndpoint, onSuccess, onError]);
81
- return {
82
- create,
83
- reset,
84
- data,
85
- error,
86
- loading,
87
- };
88
- }
89
- //# sourceMappingURL=usePayments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePayments.js","sourceRoot":"","sources":["../../../src/react/hooks/usePayments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AA+D9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,WAAW,CAAC,UAA8B,EAAE;IAC1D,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,KAAyB,EAA4B,EAAE;QAC5D,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAyB,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAClC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,KAAK;QACL,IAAI;QACJ,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,52 +0,0 @@
1
- import type { CardOptions, UseSquarePaymentReturn } from '../types.js';
2
- /**
3
- * Options for useSquarePayment hook
4
- */
5
- export interface UseSquarePaymentOptions {
6
- /** Card input styling options */
7
- cardOptions?: CardOptions;
8
- /** Callback when card is ready */
9
- onReady?: () => void;
10
- /** Callback when tokenization succeeds */
11
- onTokenize?: (token: string) => void;
12
- /** Callback when an error occurs */
13
- onError?: (error: Error) => void;
14
- }
15
- /**
16
- * Hook for integrating Square Web Payments SDK card input
17
- *
18
- * @param options - Configuration options
19
- * @returns Card input ref, tokenize function, and state
20
- *
21
- * @example
22
- * ```tsx
23
- * function Checkout() {
24
- * const { cardRef, tokenize, ready, loading, error } = useSquarePayment({
25
- * onReady: () => console.log('Card input ready'),
26
- * onTokenize: (token) => console.log('Token:', token),
27
- * onError: (err) => console.error('Error:', err),
28
- * });
29
- *
30
- * const handlePay = async () => {
31
- * try {
32
- * const token = await tokenize();
33
- * // Send token to your server to complete payment
34
- * } catch (err) {
35
- * console.error('Tokenization failed:', err);
36
- * }
37
- * };
38
- *
39
- * return (
40
- * <div>
41
- * <div ref={cardRef} />
42
- * <button onClick={handlePay} disabled={!ready || loading}>
43
- * Pay
44
- * </button>
45
- * {error && <p>Error: {error.message}</p>}
46
- * </div>
47
- * );
48
- * }
49
- * ```
50
- */
51
- export declare function useSquarePayment(options?: UseSquarePaymentOptions): UseSquarePaymentReturn;
52
- //# sourceMappingURL=useSquarePayment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSquarePayment.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useSquarePayment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,WAAW,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,sBAAsB,CA2H9F"}