@smartbills/react-hooks-sdk 0.0.2-alpha.45 → 1.0.1-alpha.5

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 (163) hide show
  1. package/README.md +148 -73
  2. package/dist/cjs/index.cjs +1 -221
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/esm/index.mjs +1 -38
  5. package/dist/esm/index.mjs.map +1 -1
  6. package/dist/types/index.d.ts +594 -0
  7. package/package.json +58 -99
  8. package/dist/@types/index.d.ts +0 -1424
  9. package/dist/@types/index.d.ts.map +0 -1
  10. package/dist/cjs/apis/SBApiKeys.cjs +0 -55
  11. package/dist/cjs/apis/SBApiKeys.cjs.map +0 -1
  12. package/dist/cjs/apis/api-logs/LogsAPI.cjs +0 -42
  13. package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +0 -1
  14. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +0 -147
  15. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +0 -1
  16. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +0 -88
  17. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +0 -1
  18. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +0 -58
  19. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +0 -1
  20. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +0 -57
  21. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +0 -1
  22. package/dist/cjs/apis/business/BusinessAPI.cjs +0 -172
  23. package/dist/cjs/apis/business/BusinessAPI.cjs.map +0 -1
  24. package/dist/cjs/apis/business/customers/CustomerAPI.cjs +0 -161
  25. package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +0 -1
  26. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +0 -71
  27. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +0 -1
  28. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +0 -176
  29. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +0 -1
  30. package/dist/cjs/apis/business/departments/DepartmentApi.cjs +0 -168
  31. package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +0 -1
  32. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +0 -137
  33. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +0 -1
  34. package/dist/cjs/apis/business/fees/FeesAPI.cjs +0 -167
  35. package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +0 -1
  36. package/dist/cjs/apis/business/locations/LocationsAPI.cjs +0 -133
  37. package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +0 -1
  38. package/dist/cjs/apis/business/products/ProductsAPI.cjs +0 -184
  39. package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +0 -1
  40. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +0 -195
  41. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +0 -1
  42. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +0 -169
  43. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +0 -1
  44. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +0 -183
  45. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +0 -1
  46. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +0 -185
  47. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +0 -1
  48. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +0 -139
  49. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +0 -1
  50. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +0 -143
  51. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +0 -1
  52. package/dist/cjs/apis/business/tables/TablesAPI.cjs +0 -75
  53. package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +0 -1
  54. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +0 -140
  55. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +0 -1
  56. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +0 -161
  57. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +0 -1
  58. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +0 -93
  59. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +0 -1
  60. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +0 -239
  61. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +0 -1
  62. package/dist/cjs/apis/documents/DocumentsAPI.cjs +0 -87
  63. package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +0 -1
  64. package/dist/cjs/apis/expenses/ExpensesAPI.cjs +0 -62
  65. package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +0 -1
  66. package/dist/cjs/apis/friends/FriendsAPI.cjs +0 -150
  67. package/dist/cjs/apis/friends/FriendsAPI.cjs.map +0 -1
  68. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +0 -55
  69. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +0 -1
  70. package/dist/cjs/apis/invoices/InvoicesAPI.cjs +0 -168
  71. package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +0 -1
  72. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +0 -484
  73. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +0 -1
  74. package/dist/cjs/apis/notifications/NotificationAPI.cjs +0 -103
  75. package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +0 -1
  76. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +0 -125
  77. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +0 -1
  78. package/dist/cjs/apis/receipts/ReceiptAPI.cjs +0 -135
  79. package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +0 -1
  80. package/dist/cjs/apis/user/UserAPI.cjs +0 -130
  81. package/dist/cjs/apis/user/UserAPI.cjs.map +0 -1
  82. package/dist/cjs/apis/vendors/VendorsAPI.cjs +0 -171
  83. package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +0 -1
  84. package/dist/cjs/context/ApiContext.cjs +0 -94
  85. package/dist/cjs/context/ApiContext.cjs.map +0 -1
  86. package/dist/esm/apis/SBApiKeys.mjs +0 -55
  87. package/dist/esm/apis/SBApiKeys.mjs.map +0 -1
  88. package/dist/esm/apis/api-logs/LogsAPI.mjs +0 -39
  89. package/dist/esm/apis/api-logs/LogsAPI.mjs.map +0 -1
  90. package/dist/esm/apis/attachments/AttachmentsAPI.mjs +0 -142
  91. package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +0 -1
  92. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +0 -84
  93. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +0 -1
  94. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +0 -55
  95. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +0 -1
  96. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +0 -54
  97. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +0 -1
  98. package/dist/esm/apis/business/BusinessAPI.mjs +0 -165
  99. package/dist/esm/apis/business/BusinessAPI.mjs.map +0 -1
  100. package/dist/esm/apis/business/customers/CustomerAPI.mjs +0 -155
  101. package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +0 -1
  102. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +0 -68
  103. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +0 -1
  104. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +0 -170
  105. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +0 -1
  106. package/dist/esm/apis/business/departments/DepartmentApi.mjs +0 -161
  107. package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +0 -1
  108. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +0 -132
  109. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +0 -1
  110. package/dist/esm/apis/business/fees/FeesAPI.mjs +0 -161
  111. package/dist/esm/apis/business/fees/FeesAPI.mjs.map +0 -1
  112. package/dist/esm/apis/business/locations/LocationsAPI.mjs +0 -127
  113. package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +0 -1
  114. package/dist/esm/apis/business/products/ProductsAPI.mjs +0 -177
  115. package/dist/esm/apis/business/products/ProductsAPI.mjs.map +0 -1
  116. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +0 -188
  117. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +0 -1
  118. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +0 -163
  119. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +0 -1
  120. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +0 -177
  121. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +0 -1
  122. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +0 -179
  123. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +0 -1
  124. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +0 -133
  125. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +0 -1
  126. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +0 -137
  127. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +0 -1
  128. package/dist/esm/apis/business/tables/TablesAPI.mjs +0 -70
  129. package/dist/esm/apis/business/tables/TablesAPI.mjs.map +0 -1
  130. package/dist/esm/apis/business/taxes/TaxesAPI.mjs +0 -134
  131. package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +0 -1
  132. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +0 -153
  133. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +0 -1
  134. package/dist/esm/apis/business/team/TeamMembersAPI.mjs +0 -88
  135. package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +0 -1
  136. package/dist/esm/apis/business/vendors/VendorsAPI.mjs +0 -230
  137. package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +0 -1
  138. package/dist/esm/apis/documents/DocumentsAPI.mjs +0 -82
  139. package/dist/esm/apis/documents/DocumentsAPI.mjs.map +0 -1
  140. package/dist/esm/apis/expenses/ExpensesAPI.mjs +0 -58
  141. package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +0 -1
  142. package/dist/esm/apis/friends/FriendsAPI.mjs +0 -144
  143. package/dist/esm/apis/friends/FriendsAPI.mjs.map +0 -1
  144. package/dist/esm/apis/integrations/IntegrationsAPI.mjs +0 -52
  145. package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +0 -1
  146. package/dist/esm/apis/invoices/InvoicesAPI.mjs +0 -161
  147. package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +0 -1
  148. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +0 -482
  149. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +0 -1
  150. package/dist/esm/apis/notifications/NotificationAPI.mjs +0 -98
  151. package/dist/esm/apis/notifications/NotificationAPI.mjs.map +0 -1
  152. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +0 -117
  153. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +0 -1
  154. package/dist/esm/apis/receipts/ReceiptAPI.mjs +0 -129
  155. package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +0 -1
  156. package/dist/esm/apis/user/UserAPI.mjs +0 -123
  157. package/dist/esm/apis/user/UserAPI.mjs.map +0 -1
  158. package/dist/esm/apis/vendors/VendorsAPI.mjs +0 -162
  159. package/dist/esm/apis/vendors/VendorsAPI.mjs.map +0 -1
  160. package/dist/esm/context/ApiContext.mjs +0 -86
  161. package/dist/esm/context/ApiContext.mjs.map +0 -1
  162. package/dist/umd/index.js +0 -5056
  163. package/dist/umd/index.js.map +0 -1
package/README.md CHANGED
@@ -1,113 +1,188 @@
1
- # SmartBills React Hooks SDK
1
+ # @smartbills/react-hooks-sdk
2
2
 
3
- This package provides React hooks for interacting with the SmartBills API.
3
+ React hooks for the [Smartbills API](https://docs.smartbills.io), built on [TanStack Query](https://tanstack.com/query).
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@smartbills/react-hooks-sdk.svg)](https://www.npmjs.com/package/@smartbills/react-hooks-sdk)
6
+ [![license](https://img.shields.io/npm/l/@smartbills/react-hooks-sdk.svg)](https://github.com/smartbills/smartbills-sdk-js/blob/dev/LICENSE)
4
7
 
5
8
  ## Installation
6
9
 
7
10
  ```bash
8
- npm install @smartbills/react-hooks-sdk
11
+ npm install @smartbills/sdk @smartbills/react-hooks-sdk @tanstack/react-query
12
+ # or
13
+ yarn add @smartbills/sdk @smartbills/react-hooks-sdk @tanstack/react-query
9
14
  ```
10
15
 
16
+ **Peer dependencies:** React 18+ or 19+, TanStack Query 5+
17
+
18
+ ## Setup
19
+
20
+ Wrap your app with `SmartbillsProvider`:
21
+
22
+ ```tsx
23
+ import { SmartbillsClient } from "@smartbills/sdk";
24
+ import { SmartbillsProvider } from "@smartbills/react-hooks-sdk";
25
+
26
+ const client = new SmartbillsClient({
27
+ accessToken: "your-access-token",
28
+ });
29
+
30
+ function App() {
31
+ return (
32
+ <SmartbillsProvider client={client} businessId={123}>
33
+ <YourApp />
34
+ </SmartbillsProvider>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ### Provider Props
40
+
41
+ | Prop | Type | Description |
42
+ |------|------|-------------|
43
+ | `client` | `SmartbillsClient` | Required. An instance of the core SDK client |
44
+ | `businessId` | `number` | Default business ID for all hooks |
45
+ | `queryClient` | `QueryClient` | Optional custom TanStack Query client |
46
+ | `onError` | `(error: SmartbillsError) => void` | Global error handler for mutations |
47
+
11
48
  ## Usage
12
49
 
13
- ### Basic Usage
50
+ ### Queries
14
51
 
15
52
  ```tsx
16
- import { useListInvoicesQuery } from '@smartbills/react-hooks-sdk';
53
+ import { useReceipts, useReceipt } from "@smartbills/react-hooks-sdk";
54
+
55
+ function ReceiptList() {
56
+ const { data, isLoading } = useReceipts();
17
57
 
18
- function InvoicesList() {
19
- const { data, isLoading, error } = useListInvoicesQuery();
20
-
21
58
  if (isLoading) return <div>Loading...</div>;
22
- if (error) return <div>Error: {error.message}</div>;
23
-
59
+
24
60
  return (
25
- <div>
26
- {data?.items.map(invoice => (
27
- <div key={invoice.id}>{invoice.number}</div>
61
+ <ul>
62
+ {data?.items.map((receipt) => (
63
+ <li key={receipt.id}>{receipt.number}</li>
28
64
  ))}
29
- </div>
65
+ </ul>
30
66
  );
31
67
  }
32
68
  ```
33
69
 
34
- ### Using Mutations with React Query Configuration
70
+ ### Mutations
35
71
 
36
- All mutation hooks now accept React Query configuration options as a parameter, allowing you to customize behavior like `onSuccess`, `onError`, etc.
72
+ All mutation hooks accept TanStack Query mutation options (`onSuccess`, `onError`, `retry`, etc.) and include built-in cache invalidation.
37
73
 
38
74
  ```tsx
39
- import { useCreateInvoiceMutation } from '@smartbills/react-hooks-sdk';
40
- import { toast } from 'your-toast-library';
75
+ import { useCreateReceipt } from "@smartbills/react-hooks-sdk";
41
76
 
42
- function CreateInvoiceForm() {
43
- const { mutate, isLoading } = useCreateInvoiceMutation({
44
- // React Query configuration options
77
+ function CreateReceiptButton() {
78
+ const { mutate, isPending } = useCreateReceipt({
45
79
  onSuccess: (data) => {
46
- toast.success(`Invoice ${data.number} created successfully!`);
47
- // Navigate or perform other actions
80
+ console.log("Created:", data.id);
48
81
  },
49
82
  onError: (error) => {
50
- toast.error(`Failed to create invoice: ${error.message}`);
51
- }
83
+ console.error("Failed:", error.message);
84
+ },
52
85
  });
53
-
54
- const handleSubmit = (formData) => {
55
- mutate({
56
- data: formData,
57
- // Optional request options
58
- options: {
59
- businessId: 123
60
- }
61
- });
62
- };
63
-
86
+
64
87
  return (
65
- <form onSubmit={handleSubmit}>
66
- {/* Form fields */}
67
- <button type="submit" disabled={isLoading}>
68
- {isLoading ? 'Creating...' : 'Create Invoice'}
69
- </button>
70
- </form>
88
+ <button onClick={() => mutate({ data: receiptData })} disabled={isPending}>
89
+ {isPending ? "Creating..." : "Create Receipt"}
90
+ </button>
71
91
  );
72
92
  }
73
93
  ```
74
94
 
75
- ### Advanced Usage with Mutation Options
95
+ ### Infinite Queries
76
96
 
77
- You can use all React Query mutation options while still benefiting from the built-in cache invalidation:
97
+ Use `getNextPageParam` for paginated lists:
78
98
 
79
99
  ```tsx
80
- import { useUpdateInvoiceMutation } from '@smartbills/react-hooks-sdk';
100
+ import { useInfiniteReceipts, getNextPageParam } from "@smartbills/react-hooks-sdk";
101
+
102
+ function InfiniteReceiptList() {
103
+ const { data, fetchNextPage, hasNextPage } = useInfiniteReceipts();
104
+
105
+ return (
106
+ <div>
107
+ {data?.pages.flatMap((page) =>
108
+ page.items.map((receipt) => <div key={receipt.id}>{receipt.number}</div>)
109
+ )}
110
+ {hasNextPage && <button onClick={() => fetchNextPage()}>Load More</button>}
111
+ </div>
112
+ );
113
+ }
114
+ ```
115
+
116
+ ### Accessing the Client
117
+
118
+ Use the `useSmartbills` hook to access the client instance or business ID:
119
+
120
+ ```tsx
121
+ import { useSmartbills } from "@smartbills/react-hooks-sdk";
122
+
123
+ function MyComponent() {
124
+ const { client, businessId } = useSmartbills();
125
+ }
126
+ ```
127
+
128
+ ### Error Handling
129
+
130
+ ```tsx
131
+ import { useSmartbillsError } from "@smartbills/react-hooks-sdk";
132
+
133
+ function ErrorBanner() {
134
+ const { error, clearError } = useSmartbillsError();
135
+
136
+ if (!error) return null;
81
137
 
82
- function UpdateInvoiceForm({ invoiceId, initialData, onSuccess }) {
83
- const { mutate, isLoading } = useUpdateInvoiceMutation({
84
- onSuccess: (data) => {
85
- console.log('Invoice updated:', data);
86
- onSuccess(data); // Call parent component callback
87
- },
88
- onError: (error) => {
89
- console.error('Update failed:', error);
90
- },
91
- // Other React Query mutation options
92
- retry: 3,
93
- retryDelay: 1000,
94
- // The built-in cache invalidation still works!
95
- });
96
-
97
- const handleUpdate = (formData) => {
98
- mutate({
99
- invoiceId,
100
- data: formData
101
- });
102
- };
103
-
104
138
  return (
105
- <form onSubmit={handleUpdate}>
106
- {/* Form fields */}
107
- <button type="submit" disabled={isLoading}>
108
- {isLoading ? 'Updating...' : 'Update Invoice'}
109
- </button>
110
- </form>
139
+ <div>
140
+ <p>{error.message}</p>
141
+ <button onClick={clearError}>Dismiss</button>
142
+ </div>
111
143
  );
112
144
  }
113
145
  ```
146
+
147
+ ## Available Hooks
148
+
149
+ Hooks are organized by domain. Each domain typically provides query hooks (`useXxx`, `useXxxs`) and mutation hooks (`useCreateXxx`, `useUpdateXxx`, `useDeleteXxx`).
150
+
151
+ | Domain | Hooks |
152
+ |--------|-------|
153
+ | **Users** | `useUser`, `useUpdateUser`, ... |
154
+ | **Businesses** | `useBusinesses`, `useBusiness`, `useCreateBusiness`, ... |
155
+ | **Memberships** | `useMemberships`, `useMembership`, ... |
156
+ | **Invitations** | `useInvitations`, `useCreateInvitation`, ... |
157
+ | **Receipts** | `useReceipts`, `useReceipt`, `useCreateReceipt`, `useUpdateReceipt`, `useDeleteReceipt`, ... |
158
+ | **Bills** | `useBills`, `useBill`, `useCreateBill`, `useUpdateBill`, `useDeleteBill`, ... |
159
+ | **Transactions** | `useTransactions`, `useTransaction`, ... |
160
+ | **Expenses** | `useExpenses`, `useExpense`, `useCreateExpense`, `useUpdateExpense`, `useDeleteExpense`, ... |
161
+ | **Expense Reports** | `useExpenseReports`, `useExpenseReport`, `useCreateExpenseReport`, ... |
162
+ | **Vendors** | `useVendors`, `useVendor`, `useCreateVendor`, `useUpdateVendor`, `useDeleteVendor`, ... |
163
+ | **Notifications** | `useNotifications`, `useMarkNotificationRead`, ... |
164
+ | **Payment Methods** | `usePaymentMethods`, `usePaymentMethod`, ... |
165
+ | **Integrations** | `useIntegrations`, `useIntegration`, ... |
166
+ | **Email Accounts** | `useEmailAccounts`, `useEmailAccount`, ... |
167
+ | **Reporting** | `useReports`, ... |
168
+ | **Checkout** | `useCheckout`, `useCreateCheckout`, ... |
169
+ | **Connect** | `useConnect`, ... |
170
+ | **Locations** | `useLocations`, `useLocation`, `useCreateLocation`, ... |
171
+ | **Tables** | `useTables`, `useTable`, `useCreateTable`, ... |
172
+ | **Workflows** | `useWorkflows`, `useWorkflow`, `useCreateWorkflow`, ... |
173
+
174
+ ### Query Keys
175
+
176
+ For advanced cache management, import `queryKeys`:
177
+
178
+ ```tsx
179
+ import { queryKeys } from "@smartbills/react-hooks-sdk";
180
+ import { useQueryClient } from "@tanstack/react-query";
181
+
182
+ const queryClient = useQueryClient();
183
+ queryClient.invalidateQueries({ queryKey: queryKeys.receipts.all });
184
+ ```
185
+
186
+ ## License
187
+
188
+ MIT
@@ -1,222 +1,2 @@
1
- 'use strict';
2
-
3
- var LogsAPI = require('./apis/api-logs/LogsAPI.cjs');
4
- var AttachmentsAPI = require('./apis/attachments/AttachmentsAPI.cjs');
5
- var BankAccountAPI = require('./apis/banks/accounts/BankAccountAPI.cjs');
6
- var BankInstitutionsAPI = require('./apis/banks/bank-institutions/BankInstitutionsAPI.cjs');
7
- var BankTransactionAPI = require('./apis/banks/bank-transactions/BankTransactionAPI.cjs');
8
- var DocumentsAPI = require('./apis/documents/DocumentsAPI.cjs');
9
- var FriendsAPI = require('./apis/friends/FriendsAPI.cjs');
10
- var LoyaltyProgramAPI = require('./apis/loyalty/LoyaltyProgramAPI.cjs');
11
- var CustomerAPI = require('./apis/business/customers/CustomerAPI.cjs');
12
- var CustomerPaymentMethodsAPI = require('./apis/business/customers/CustomerPaymentMethodsAPI.cjs');
13
- var CustomerBalanceTransactionsAPI = require('./apis/business/customers/CustomerBalanceTransactionsAPI.cjs');
14
- var TaxesAPI = require('./apis/business/taxes/TaxesAPI.cjs');
15
- var ProductsAPI = require('./apis/business/products/ProductsAPI.cjs');
16
- var ProductVariantsAPI = require('./apis/business/products/variants/ProductVariantsAPI.cjs');
17
- var ModifiersAPI = require('./apis/business/products/modifiers/ModifiersAPI.cjs');
18
- var ProductOptionsAPI = require('./apis/business/products/options/ProductOptionsAPI.cjs');
19
- var ProductImagesAPI = require('./apis/business/products/images/ProductImagesAPI.cjs');
20
- var ReviewsAPI = require('./apis/business/reviews/ReviewsAPI.cjs');
21
- var LocationsAPI = require('./apis/business/locations/LocationsAPI.cjs');
22
- var PromoCodesAPI = require('./apis/business/promo-codes/PromoCodesAPI.cjs');
23
- var FeesAPI = require('./apis/business/fees/FeesAPI.cjs');
24
- var VendorsAPI = require('./apis/business/vendors/VendorsAPI.cjs');
25
- var TeamMemberInvitationsAPI = require('./apis/business/team/TeamMemberInvitationsAPI.cjs');
26
- var TeamMembersAPI = require('./apis/business/team/TeamMembersAPI.cjs');
27
- var BusinessAPI = require('./apis/business/BusinessAPI.cjs');
28
- var DepartmentApi = require('./apis/business/departments/DepartmentApi.cjs');
29
- var DepartmentEmployeesAPI = require('./apis/business/departments/employees/DepartmentEmployeesAPI.cjs');
30
- var TablesAPI = require('./apis/business/tables/TablesAPI.cjs');
31
- var InvoicesAPI = require('./apis/invoices/InvoicesAPI.cjs');
32
- var NotificationAPI = require('./apis/notifications/NotificationAPI.cjs');
33
- var PaymentMethodsAPI = require('./apis/payment-methods/PaymentMethodsAPI.cjs');
34
- var ReceiptAPI = require('./apis/receipts/ReceiptAPI.cjs');
35
- var VendorsAPI$1 = require('./apis/vendors/VendorsAPI.cjs');
36
- var UserAPI = require('./apis/user/UserAPI.cjs');
37
- var IntegrationsAPI = require('./apis/integrations/IntegrationsAPI.cjs');
38
- var ExpensesAPI = require('./apis/expenses/ExpensesAPI.cjs');
39
- var SBApiKeys = require('./apis/SBApiKeys.cjs');
40
- var ApiContext = require('./context/ApiContext.cjs');
41
-
42
-
43
-
44
- exports.useGetLogByIdQuery = LogsAPI.useGetLogByIdQuery;
45
- exports.useListLogsInfiniteQuery = LogsAPI.useListLogsInfiniteQuery;
46
- exports.useCreateAttachmentMutation = AttachmentsAPI.useCreateAttachmentMutation;
47
- exports.useDeleteAttachmentMutation = AttachmentsAPI.useDeleteAttachmentMutation;
48
- exports.useGetAttachmentByIdQuery = AttachmentsAPI.useGetAttachmentByIdQuery;
49
- exports.useListAttachmentsInfiniteQuery = AttachmentsAPI.useListAttachmentsInfiniteQuery;
50
- exports.useGetBankAccountByIdQuery = BankAccountAPI.useGetBankAccountByIdQuery;
51
- exports.useListBankAccountTransactionsInfiniteQuery = BankAccountAPI.useListBankAccountTransactionsInfiniteQuery;
52
- exports.useListBankAccountsQuery = BankAccountAPI.useListBankAccountsQuery;
53
- exports.useGetBankInstitutionByIdQuery = BankInstitutionsAPI.useGetBankInstitutionByIdQuery;
54
- exports.useListBankInstitutionsInfiniteQuery = BankInstitutionsAPI.useListBankInstitutionsInfiniteQuery;
55
- exports.useGetBankTransactionByIdQuery = BankTransactionAPI.useGetBankTransactionByIdQuery;
56
- exports.useListBankTransactionsInfiniteQuery = BankTransactionAPI.useListBankTransactionsInfiniteQuery;
57
- exports.useDeleteDocumentMutation = DocumentsAPI.useDeleteDocumentMutation;
58
- exports.useGetDocumentByIdQuery = DocumentsAPI.useGetDocumentByIdQuery;
59
- exports.useListDocumentsInfiniteQuery = DocumentsAPI.useListDocumentsInfiniteQuery;
60
- exports.useUploadDocumentMutation = DocumentsAPI.useUploadDocumentMutation;
61
- exports.useDeleteFriendMutation = FriendsAPI.useDeleteFriendMutation;
62
- exports.useGetFriendByIdQuery = FriendsAPI.useGetFriendByIdQuery;
63
- exports.useListFriendRequestsInfiniteQuery = FriendsAPI.useListFriendRequestsInfiniteQuery;
64
- exports.useListFriendsInfiniteQuery = FriendsAPI.useListFriendsInfiniteQuery;
65
- exports.useListRecommendedFriendsInfiniteQuery = FriendsAPI.useListRecommendedFriendsInfiniteQuery;
66
- exports.loyalty = LoyaltyProgramAPI.loyalty;
67
- exports.useCreateCustomerMutation = CustomerAPI.useCreateCustomerMutation;
68
- exports.useDeleteCustomerMutation = CustomerAPI.useDeleteCustomerMutation;
69
- exports.useGetCustomerByIdQuery = CustomerAPI.useGetCustomerByIdQuery;
70
- exports.useListCustomersInfiniteQuery = CustomerAPI.useListCustomersInfiniteQuery;
71
- exports.useUpdateCustomerMutation = CustomerAPI.useUpdateCustomerMutation;
72
- exports.useCreateCustomerPaymentMethodMutation = CustomerPaymentMethodsAPI.useCreateCustomerPaymentMethodMutation;
73
- exports.useDeleteCustomerPaymentMethodMutation = CustomerPaymentMethodsAPI.useDeleteCustomerPaymentMethodMutation;
74
- exports.useGetCustomerPaymentMethodByIdQuery = CustomerPaymentMethodsAPI.useGetCustomerPaymentMethodByIdQuery;
75
- exports.useListCustomerPaymentMethodsInfiniteQuery = CustomerPaymentMethodsAPI.useListCustomerPaymentMethodsInfiniteQuery;
76
- exports.useUpdateCustomerPaymentMethodMutation = CustomerPaymentMethodsAPI.useUpdateCustomerPaymentMethodMutation;
77
- exports.useGetCustomerBalanceTransactionByIdQuery = CustomerBalanceTransactionsAPI.useGetCustomerBalanceTransactionByIdQuery;
78
- exports.useListCustomerBalanceTransactionsInfiniteQuery = CustomerBalanceTransactionsAPI.useListCustomerBalanceTransactionsInfiniteQuery;
79
- exports.useCreateTaxMutation = TaxesAPI.useCreateTaxMutation;
80
- exports.useDeleteTaxMutation = TaxesAPI.useDeleteTaxMutation;
81
- exports.useGetTaxByIdQuery = TaxesAPI.useGetTaxByIdQuery;
82
- exports.useListTaxesInfiniteQuery = TaxesAPI.useListTaxesInfiniteQuery;
83
- exports.useUpdateTaxMutation = TaxesAPI.useUpdateTaxMutation;
84
- exports.useBatchUpsertProductsMutation = ProductsAPI.useBatchUpsertProductsMutation;
85
- exports.useCreateProductMutation = ProductsAPI.useCreateProductMutation;
86
- exports.useDeleteProductMutation = ProductsAPI.useDeleteProductMutation;
87
- exports.useGetProductByIdQuery = ProductsAPI.useGetProductByIdQuery;
88
- exports.useListProductsInfiniteQuery = ProductsAPI.useListProductsInfiniteQuery;
89
- exports.useUpdateProductMutation = ProductsAPI.useUpdateProductMutation;
90
- exports.useCreateProductVariantMutation = ProductVariantsAPI.useCreateProductVariantMutation;
91
- exports.useDeleteProductVariantMutation = ProductVariantsAPI.useDeleteProductVariantMutation;
92
- exports.useGetProductVariantByIdQuery = ProductVariantsAPI.useGetProductVariantByIdQuery;
93
- exports.useListProductVariantsInfiniteQuery = ProductVariantsAPI.useListProductVariantsInfiniteQuery;
94
- exports.useUpdateProductVariantMutation = ProductVariantsAPI.useUpdateProductVariantMutation;
95
- exports.useCreateProductModifierMutation = ModifiersAPI.useCreateProductModifierMutation;
96
- exports.useDeleteProductModifierMutation = ModifiersAPI.useDeleteProductModifierMutation;
97
- exports.useGetProductModifierByIdQuery = ModifiersAPI.useGetProductModifierByIdQuery;
98
- exports.useListProductModifiersInfiniteQuery = ModifiersAPI.useListProductModifiersInfiniteQuery;
99
- exports.useUpdateProductModifierMutation = ModifiersAPI.useUpdateProductModifierMutation;
100
- exports.useCreateProductOptionMutation = ProductOptionsAPI.useCreateProductOptionMutation;
101
- exports.useDeleteProductOptionMutation = ProductOptionsAPI.useDeleteProductOptionMutation;
102
- exports.useGetProductOptionByIdQuery = ProductOptionsAPI.useGetProductOptionByIdQuery;
103
- exports.useListProductOptionsInfiniteQuery = ProductOptionsAPI.useListProductOptionsInfiniteQuery;
104
- exports.useUpdateProductOptionMutation = ProductOptionsAPI.useUpdateProductOptionMutation;
105
- exports.useCreateProductImageMutation = ProductImagesAPI.useCreateProductImageMutation;
106
- exports.useDeleteProductImageMutation = ProductImagesAPI.useDeleteProductImageMutation;
107
- exports.useGetProductImageByIdQuery = ProductImagesAPI.useGetProductImageByIdQuery;
108
- exports.useListProductImagesInfiniteQuery = ProductImagesAPI.useListProductImagesInfiniteQuery;
109
- exports.useListProductImagesQuery = ProductImagesAPI.useListProductImagesQuery;
110
- exports.useUpdateProductImageMutation = ProductImagesAPI.useUpdateProductImageMutation;
111
- exports.useCreateReviewMutation = ReviewsAPI.useCreateReviewMutation;
112
- exports.useDeleteReviewMutation = ReviewsAPI.useDeleteReviewMutation;
113
- exports.useGetReviewByIdQuery = ReviewsAPI.useGetReviewByIdQuery;
114
- exports.useListReviewsInfiniteQuery = ReviewsAPI.useListReviewsInfiniteQuery;
115
- exports.useUpdateReviewMutation = ReviewsAPI.useUpdateReviewMutation;
116
- exports.useCreateLocationMutation = LocationsAPI.useCreateLocationMutation;
117
- exports.useDeleteLocationMutation = LocationsAPI.useDeleteLocationMutation;
118
- exports.useGetLocationByIdQuery = LocationsAPI.useGetLocationByIdQuery;
119
- exports.useListLocationsInfiniteQuery = LocationsAPI.useListLocationsInfiniteQuery;
120
- exports.useUpdateLocationMutation = LocationsAPI.useUpdateLocationMutation;
121
- exports.useCreatePromoCodeMutation = PromoCodesAPI.useCreatePromoCodeMutation;
122
- exports.useDeletePromoCodeMutation = PromoCodesAPI.useDeletePromoCodeMutation;
123
- exports.useGetPromoCodeById = PromoCodesAPI.useGetPromoCodeById;
124
- exports.useListPromoCodes = PromoCodesAPI.useListPromoCodes;
125
- exports.useUpdatePromoCodeMutation = PromoCodesAPI.useUpdatePromoCodeMutation;
126
- exports.useCreateFeeMutation = FeesAPI.useCreateFeeMutation;
127
- exports.useDeleteFeeMutation = FeesAPI.useDeleteFeeMutation;
128
- exports.useGetFeeByIdQuery = FeesAPI.useGetFeeByIdQuery;
129
- exports.useListFeesInfiniteQuery = FeesAPI.useListFeesInfiniteQuery;
130
- exports.useUpdateFeeMutation = FeesAPI.useUpdateFeeMutation;
131
- exports.useConnectBusinessVendorMutation = VendorsAPI.useConnectBusinessVendorMutation;
132
- exports.useCreateBusinessVendorMutation = VendorsAPI.useCreateBusinessVendorMutation;
133
- exports.useDeleteBusinessVendorMutation = VendorsAPI.useDeleteBusinessVendorMutation;
134
- exports.useGetBusinessVendorByIdQuery = VendorsAPI.useGetBusinessVendorByIdQuery;
135
- exports.useGetBusinessVendorLinkTokenMutation = VendorsAPI.useGetBusinessVendorLinkTokenMutation;
136
- exports.useListBusinessVendorsInfiniteQuery = VendorsAPI.useListBusinessVendorsInfiniteQuery;
137
- exports.useRefreshBusinessVendorMutation = VendorsAPI.useRefreshBusinessVendorMutation;
138
- exports.useUpdateBusinessVendorMutation = VendorsAPI.useUpdateBusinessVendorMutation;
139
- exports.useAcceptTeamMemberInvitationMutation = TeamMemberInvitationsAPI.useAcceptTeamMemberInvitationMutation;
140
- exports.useCancelTeamMemberInvitation = TeamMemberInvitationsAPI.useCancelTeamMemberInvitation;
141
- exports.useCreateTeamMemberInvitationMutation = TeamMemberInvitationsAPI.useCreateTeamMemberInvitationMutation;
142
- exports.useGetTeamMemberInvitationById = TeamMemberInvitationsAPI.useGetTeamMemberInvitationById;
143
- exports.useInviteMemberToBusinessMutation = TeamMemberInvitationsAPI.useInviteMemberToBusinessMutation;
144
- exports.useListTeamMemberInvitationsInfiniteQuery = TeamMemberInvitationsAPI.useListTeamMemberInvitationsInfiniteQuery;
145
- exports.useRefuseTeamMemberInvitationMutation = TeamMemberInvitationsAPI.useRefuseTeamMemberInvitationMutation;
146
- exports.useChangeTeamMemberRoleMutation = TeamMembersAPI.useChangeTeamMemberRoleMutation;
147
- exports.useDeleteTeamMemberMutation = TeamMembersAPI.useDeleteTeamMemberMutation;
148
- exports.useGetTeamMemberByIdQuery = TeamMembersAPI.useGetTeamMemberByIdQuery;
149
- exports.useListTeamMembersInfiniteQuery = TeamMembersAPI.useListTeamMembersInfiniteQuery;
150
- exports.useBatchInviteMemberMutation = BusinessAPI.useBatchInviteMemberMutation;
151
- exports.useCreateBusinessMutation = BusinessAPI.useCreateBusinessMutation;
152
- exports.useDeleteBusinessMutation = BusinessAPI.useDeleteBusinessMutation;
153
- exports.useGetBusinessByIdQuery = BusinessAPI.useGetBusinessByIdQuery;
154
- exports.useListBusinessInfiniteQuery = BusinessAPI.useListBusinessInfiniteQuery;
155
- exports.useUpdateBusinessMutation = BusinessAPI.useUpdateBusinessMutation;
156
- exports.useCreateDepartmentMutation = DepartmentApi.useCreateDepartmentMutation;
157
- exports.useDeleteDepartmentMutation = DepartmentApi.useDeleteDepartmentMutation;
158
- exports.useGetDepartmentByIdQuery = DepartmentApi.useGetDepartmentByIdQuery;
159
- exports.useListDepartmentsInfiniteQuery = DepartmentApi.useListDepartmentsInfiniteQuery;
160
- exports.useListDepartmentsQuery = DepartmentApi.useListDepartmentsQuery;
161
- exports.useUpdateDepartmentMutation = DepartmentApi.useUpdateDepartmentMutation;
162
- exports.useAddEmployeeToDepartmentMutation = DepartmentEmployeesAPI.useAddEmployeeToDepartmentMutation;
163
- exports.useListDepartmentEmployeesInfiniteQuery = DepartmentEmployeesAPI.useListDepartmentEmployeesInfiniteQuery;
164
- exports.useListDepartmentEmployeesQuery = DepartmentEmployeesAPI.useListDepartmentEmployeesQuery;
165
- exports.useRemoveEmployeeFromDepartmentMutation = DepartmentEmployeesAPI.useRemoveEmployeeFromDepartmentMutation;
166
- exports.useCreateTableMutation = TablesAPI.useCreateTableMutation;
167
- exports.useTableByIdQuery = TablesAPI.useTableByIdQuery;
168
- exports.useTablesQuery = TablesAPI.useTablesQuery;
169
- exports.useUpdateTableMutation = TablesAPI.useUpdateTableMutation;
170
- exports.useCreateInvoiceMutation = InvoicesAPI.useCreateInvoiceMutation;
171
- exports.useDeleteInvoiceMutation = InvoicesAPI.useDeleteInvoiceMutation;
172
- exports.useGetInvoiceByIdQuery = InvoicesAPI.useGetInvoiceByIdQuery;
173
- exports.useListInvoicesInfiniteQuery = InvoicesAPI.useListInvoicesInfiniteQuery;
174
- exports.useListInvoicesQuery = InvoicesAPI.useListInvoicesQuery;
175
- exports.useUpdateInvoiceMutation = InvoicesAPI.useUpdateInvoiceMutation;
176
- exports.useGetNotificationByIdQuery = NotificationAPI.useGetNotificationByIdQuery;
177
- exports.useListNotificationsInfiniteQuery = NotificationAPI.useListNotificationsInfiniteQuery;
178
- exports.useMarkAllNotificationsReadMutation = NotificationAPI.useMarkAllNotificationsReadMutation;
179
- exports.useMarkNotificationsReadMutation = NotificationAPI.useMarkNotificationsReadMutation;
180
- exports.useCreatePaymentMethodFromSetupIntentMutation = PaymentMethodsAPI.useCreatePaymentMethodFromSetupIntentMutation;
181
- exports.useCreatePaymentMethodMutation = PaymentMethodsAPI.useCreatePaymentMethodMutation;
182
- exports.useDeletePaymentMethodMutation = PaymentMethodsAPI.useDeletePaymentMethodMutation;
183
- exports.useGetPaymentMethodById = PaymentMethodsAPI.useGetPaymentMethodById;
184
- exports.useGetPaymentMethods = PaymentMethodsAPI.useGetPaymentMethods;
185
- exports.useListPaymentMethodsInfiniteQuery = PaymentMethodsAPI.useListPaymentMethodsInfiniteQuery;
186
- exports.useSetupPaymentMethod = PaymentMethodsAPI.useSetupPaymentMethod;
187
- exports.useCreateReceiptMutation = ReceiptAPI.useCreateReceiptMutation;
188
- exports.useCreateUpdateMutation = ReceiptAPI.useCreateUpdateMutation;
189
- exports.useDeleteReceiptMutation = ReceiptAPI.useDeleteReceiptMutation;
190
- exports.useGetReceiptByIdQuery = ReceiptAPI.useGetReceiptByIdQuery;
191
- exports.useListReceiptsInfiniteQuery = ReceiptAPI.useListReceiptsInfiniteQuery;
192
- exports.useConnectVendorMutation = VendorsAPI$1.useConnectVendorMutation;
193
- exports.useCreateVendorMutation = VendorsAPI$1.useCreateVendorMutation;
194
- exports.useDeleteVendorMutation = VendorsAPI$1.useDeleteVendorMutation;
195
- exports.useGetVendorByIdQuery = VendorsAPI$1.useGetVendorByIdQuery;
196
- exports.useGetVendorLinkTokenMutation = VendorsAPI$1.useGetVendorLinkTokenMutation;
197
- exports.useListVendorsInfiniteQuery = VendorsAPI$1.useListVendorsInfiniteQuery;
198
- exports.useRefreshVendorMutation = VendorsAPI$1.useRefreshVendorMutation;
199
- exports.useUpdateVendorMutation = VendorsAPI$1.useUpdateVendorMutation;
200
- exports.useGetCurrentUser = UserAPI.useGetCurrentUser;
201
- exports.useGetUserProfile = UserAPI.useGetUserProfile;
202
- exports.useSearchQuery = UserAPI.useSearchQuery;
203
- exports.useSearchUsersInfiniteQuery = UserAPI.useSearchUsersInfiniteQuery;
204
- exports.useUpdateUserProfileMutation = UserAPI.useUpdateUserProfileMutation;
205
- exports.useUploadUserAvatarMutation = UserAPI.useUploadUserAvatarMutation;
206
- exports.useInstallIntegrationMutation = IntegrationsAPI.useInstallIntegrationMutation;
207
- exports.useListIntegrationsInfiniteQuery = IntegrationsAPI.useListIntegrationsInfiniteQuery;
208
- exports.useListJobInfiniteQuery = ExpensesAPI.useListJobInfiniteQuery;
209
- exports.useUploadMutation = ExpensesAPI.useUploadMutation;
210
- exports.useValidateExpenseFilesMutation = ExpensesAPI.useValidateExpenseFilesMutation;
211
- Object.defineProperty(exports, "SBApiKeys", {
212
- enumerable: true,
213
- get: function () { return SBApiKeys.SBApiKeys; }
214
- });
215
- exports.SmartbillsSDKProvider = ApiContext.SmartbillsSDKProvider;
216
- exports.useApiClient = ApiContext.useApiClient;
217
- exports.useApiContext = ApiContext.useApiContext;
218
- exports.useBusinessId = ApiContext.useBusinessId;
219
- exports.useSetBusinessId = ApiContext.useSetBusinessId;
220
- exports.useSetCredentials = ApiContext.useSetCredentials;
221
- exports.useSmartbillsSDKContext = ApiContext.useSmartbillsSDKContext;
1
+ "use strict";var e=require("react/jsx-runtime"),s=require("@tanstack/react-query"),n=require("react"),t=require("@smartbills/sdk");const i=n.createContext(null),u=new s.QueryClient({defaultOptions:{queries:{staleTime:12e4,retry:1,refetchOnWindowFocus:!1}}});function r(){const e=n.useContext(i);if(!e)throw new Error("useSmartbills must be used within a SmartbillsProvider");return e}const o={users:{all:()=>["users"],profile:()=>[...o.users.all(),"profile"],invitations:()=>[...o.users.all(),"invitations"],memberships:()=>[...o.users.all(),"memberships"]},businesses:{all:()=>["businesses"],list:e=>[...o.businesses.all(),"list",e],id:e=>[...o.businesses.all(),e],count:()=>[...o.businesses.all(),"count"],plan:e=>[...o.businesses.id(e),"plan"]},businessUsers:{all:e=>["businessUsers",e],list:(e,s)=>[...o.businessUsers.all(e),"list",s],id:(e,s)=>[...o.businessUsers.all(e),s]},invitations:{all:e=>["invitations",e],list:(e,s)=>[...o.invitations.all(e),"list",s],id:(e,s)=>[...o.invitations.all(e),s]},memberships:{all:()=>["memberships"],list:e=>[...o.memberships.all(),"list",e],id:e=>[...o.memberships.all(),e]},receipts:{all:()=>["receipts"],list:e=>[...o.receipts.all(),"list",e],id:e=>[...o.receipts.all(),e]},bills:{all:e=>["bills",e],list:(e,s)=>[...o.bills.all(e),"list",s],id:(e,s)=>[...o.bills.all(e),s],statusSummary:e=>[...o.bills.all(e),"status-summary"],history:(e,s)=>[...o.bills.id(e,s),"history"],allowedTransitions:(e,s)=>[...o.bills.id(e,s),"transitions"]},transactions:{all:()=>["transactions"],list:e=>[...o.transactions.all(),"list",e],id:e=>[...o.transactions.all(),e]},expenses:{all:e=>["expenses",e],list:(e,s)=>[...o.expenses.all(e),"list",s],id:(e,s)=>[...o.expenses.all(e),s],employee:(e,s)=>[...o.expenses.all(e),"employee",s],my:()=>["expenses","my"],myList:e=>[...o.expenses.my(),"list",e]},expenseReports:{all:e=>["expenseReports",e],list:(e,s)=>[...o.expenseReports.all(e),"list",s],id:(e,s)=>[...o.expenseReports.all(e),s],mine:e=>[...o.expenseReports.all(e),"mine"],timeline:(e,s)=>[...o.expenseReports.id(e,s),"timeline"],auditLog:(e,s)=>[...o.expenseReports.id(e,s),"audit-log"],summary:e=>[...o.expenseReports.all(e),"summary"],pendingApprovals:e=>[...o.expenseReports.all(e),"pending-approvals"]},expenseJobs:{all:e=>["expenseJobs",e],list:(e,s)=>[...o.expenseJobs.all(e),"list",s],id:e=>["expenseJobs",e],personal:()=>["expenseJobs","personal"],employee:(e,s)=>[...o.expenseJobs.all(e),"employee",s]},approbations:{all:e=>["approbations",e],pending:(e,s)=>[...o.approbations.all(e),"pending",s],approved:(e,s)=>[...o.approbations.all(e),"approved",s],rejected:(e,s)=>[...o.approbations.all(e),"rejected",s],reimbursed:(e,s)=>[...o.approbations.all(e),"reimbursed",s],requiresChanges:(e,s)=>[...o.approbations.all(e),"requires-changes",s],pendingReimbursement:(e,s)=>[...o.approbations.all(e),"pending-reimbursement",s],id:(e,s)=>[...o.approbations.all(e),s],timeline:(e,s)=>[...o.approbations.id(e,s),"timeline"],summary:e=>[...o.approbations.all(e),"summary"]},vendors:{all:()=>["vendors"],list:e=>[...o.vendors.all(),"list",e],id:e=>[...o.vendors.all(),e],businesses:e=>["vendors","businesses",e],businessList:(e,s)=>[...o.vendors.businesses(e),"list",s],businessId:(e,s)=>[...o.vendors.businesses(e),s]},vendorConnections:{all:(e,s)=>["vendorConnections",e,s],list:(e,s)=>[...o.vendorConnections.all(e,s),"list"],id:(e,s,n)=>[...o.vendorConnections.all(e,s),n]},notifications:{all:e=>["notifications",e],list:(e,s)=>[...o.notifications.all(e),"list",s],personal:()=>["notifications","personal"],personalList:e=>[...o.notifications.personal(),"list",e]},paymentMethods:{all:()=>["paymentMethods"],list:e=>[...o.paymentMethods.all(),"list",e]},integrations:{all:e=>["integrations",e],list:(e,s)=>[...o.integrations.all(e),"list",s],id:(e,s)=>[...o.integrations.all(e),s],marketplace:()=>["integrations","marketplace"],marketplaceApp:e=>[...o.integrations.marketplace(),e]},appInstallations:{all:e=>["appInstallations",e],list:e=>[...o.appInstallations.all(e),"list"],id:(e,s)=>[...o.appInstallations.all(e),s]},emailAccounts:{all:e=>["emailAccounts",e],list:(e,s)=>[...o.emailAccounts.all(e),"list",s],id:(e,s)=>[...o.emailAccounts.all(e),s],mailboxes:(e,s)=>[...o.emailAccounts.id(e,s),"mailboxes"]},reporting:{all:e=>["reporting",e],monthly:(e,s)=>[...o.reporting.all(e),"monthly",s],byCategory:(e,s)=>[...o.reporting.all(e),"by-category",s],byVendor:(e,s)=>[...o.reporting.all(e),"by-vendor",s],daily:(e,s)=>[...o.reporting.all(e),"daily",s],taxSummary:(e,s)=>[...o.reporting.all(e),"tax-summary",s],taxByType:(e,s)=>[...o.reporting.all(e),"tax-by-type",s],taxByVendor:(e,s)=>[...o.reporting.all(e),"tax-by-vendor",s],taxByCategory:(e,s)=>[...o.reporting.all(e),"tax-by-category",s],byEmployee:(e,s)=>[...o.reporting.all(e),"by-employee",s],employeeCategoryBreakdown:(e,s)=>[...o.reporting.all(e),"employee-category",s],overTime:(e,s)=>[...o.reporting.all(e),"over-time",s]},checkout:{all:e=>["checkout",e],payments:(e,s)=>[...o.checkout.all(e),"payments",s],payment:(e,s)=>[...o.checkout.all(e),"payment",s],transaction:e=>["checkout","transaction",e],ledger:e=>[...o.checkout.all(e),"ledger"]},connect:{all:e=>["connect",e],account:e=>[...o.connect.all(e),"account"]},locations:{all:e=>["locations",e],list:(e,s)=>[...o.locations.all(e),"list",s],id:(e,s)=>[...o.locations.all(e),s]},tables:{all:e=>["tables",e],list:(e,s)=>[...o.tables.all(e),"list",s],id:(e,s)=>[...o.tables.all(e),s]},workflows:{all:e=>["workflows",e],list:(e,s)=>[...o.workflows.all(e),"list",s],id:(e,s)=>[...o.workflows.all(e),s]}};function a(e){return e.pagination.currentPage<e.pagination.pageCount?e.pagination.currentPage+1:void 0}function l(){const{businessId:e}=r(),n=s.useQueryClient();return s=>{e&&(n.invalidateQueries({queryKey:o.bills.all(e)}),s&&n.invalidateQueries({queryKey:o.bills.id(e,s)}))}}function c(){const{businessId:e}=r(),n=s.useQueryClient();return()=>{e&&n.invalidateQueries({queryKey:o.expenses.all(e)}),n.invalidateQueries({queryKey:o.expenses.my()})}}function p(){const{businessId:e}=r(),n=s.useQueryClient();return s=>{e&&(n.invalidateQueries({queryKey:o.expenseReports.all(e)}),n.invalidateQueries({queryKey:o.approbations.all(e)}),s&&n.invalidateQueries({queryKey:o.expenseReports.id(e,s)}))}}function y(e){const{businessId:n}=r(),t=s.useQueryClient();return()=>{n&&(t.invalidateQueries({queryKey:o.expenseReports.id(n,e)}),t.invalidateQueries({queryKey:o.expenses.all(n)}))}}function d(e){const{businessId:n}=r(),t=s.useQueryClient();return()=>{n&&(t.invalidateQueries({queryKey:o.expenseReports.id(n,e)}),t.invalidateQueries({queryKey:o.expenseReports.all(n)}),t.invalidateQueries({queryKey:o.approbations.all(n)}))}}function m(){const{businessId:e}=r(),n=s.useQueryClient();return s=>{e&&(n.invalidateQueries({queryKey:o.approbations.all(e)}),n.invalidateQueries({queryKey:o.expenseReports.all(e)}),s&&n.invalidateQueries({queryKey:o.approbations.id(e,s)}))}}function b(){const{businessId:e}=r(),n=s.useQueryClient();return s=>{e&&(n.invalidateQueries({queryKey:o.emailAccounts.all(e)}),s&&n.invalidateQueries({queryKey:o.emailAccounts.id(e,s)}))}}exports.SmartbillsProvider=function({client:t,businessId:r,queryClient:o,onError:a,children:l}){const c=o??u;n.useMemo((()=>{void 0!==r&&t.setBusinessId(r)}),[t,r]),n.useMemo((()=>{a&&c.setDefaultOptions({mutations:{onError:e=>a(e)}})}),[c,a]);const p=n.useMemo((()=>({client:t,businessId:r})),[t,r]);return e.jsx(i.Provider,{value:p,children:e.jsx(s.QueryClientProvider,{client:c,children:l})})},exports.getNextPageParam=a,exports.queryKeys=o,exports.useAcceptInvitation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.invitations.accept(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.invitations.all(t)}),i.invalidateQueries({queryKey:o.users.invitations()}),i.invalidateQueries({queryKey:o.users.memberships()}),e?.onSuccess?.(s,...n)},...e})},exports.useAddBusinessUser=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.businessUsers.add(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.businessUsers.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useAddExpenseReportComment=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.expenseReports.addComment(e,s),onSuccess:(s,n,...u)=>{t&&i.invalidateQueries({queryKey:o.expenseReports.timeline(t,n.reportId)}),e?.onSuccess?.(s,n,...u)},...e})},exports.useAddExpenseToReport=function(e,n){const{client:t}=r(),i=y(e);return s.useMutation({mutationFn:s=>t.expenseReportExpenses.add(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useAppInstallation=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.appInstallations.id(i,e),queryFn:({signal:s})=>t.appInstallations.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useAppInstallations=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.appInstallations.list(t),queryFn:({signal:e})=>n.appInstallations.list({signal:e}),enabled:!!t,...e})},exports.useApprobationSummary=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.approbations.summary(t),queryFn:({signal:e})=>n.approbations.getSummary({signal:e}),enabled:!!t,...e})},exports.useApproveApprobation=function(e){const{client:n}=r(),t=m();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.approbations.approve(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useApproveBill=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.approve(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useApproveExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:({reportId:e,comment:s})=>n.expenseReports.approve(e,{comment:s}),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useApprovedApprobations=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.approbations.approved(i,e),queryFn:({pageParam:s,signal:n})=>t.approbations.listApproved({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useAuthorizeEmailAccount=function(e){const{client:n}=r();return s.useMutation({mutationFn:e=>n.emailAccounts.authorize(e),...e})},exports.useBatchAddExpensesToReport=function(e,n){const{client:t}=r(),i=y(e);return s.useMutation({mutationFn:s=>t.expenseReportExpenses.addBatch(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useBill=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.bills.id(i,e),queryFn:({signal:s})=>t.bills.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useBillHistory=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.bills.history(i,e),queryFn:({signal:s})=>t.bills.getHistory(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useBillStatusSummary=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.bills.statusSummary(t),queryFn:({signal:e})=>n.bills.getStatusSummary({signal:e}),enabled:!!t,...e})},exports.useBills=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.bills.list(i,e),queryFn:({pageParam:s,signal:n})=>t.bills.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useBulkApproveBills=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.bulkApprove(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkAssignCategory=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.bulkAssignCategory(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkAssignExpenseReport=function(e){const{client:n,businessId:t}=r(),i=c(),u=s.useQueryClient();return s.useMutation({mutationFn:e=>n.expenses.bulkAssignReport(e),onSuccess:(s,...n)=>{i(),t&&u.invalidateQueries({queryKey:o.expenseReports.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useBulkAssignVendor=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.bulkAssignVendor(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkDeleteBills=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.bulkDelete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkDeleteExpenses=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.bulkDelete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkDeleteVendors=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.vendors.bulkDelete(e),onSuccess:(s,...n)=>{i.invalidateQueries({queryKey:o.vendors.all()}),t&&i.invalidateQueries({queryKey:o.vendors.businesses(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useBulkMarkBillsPaid=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.bulkMarkPaid(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBulkRemoveReportExpenses=function(e,n){const{client:t}=r(),i=y(e);return s.useMutation({mutationFn:s=>t.expenseReportExpenses.bulkRemove(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useBulkScheduleBillsPayment=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.bulkSchedulePayment(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useBusiness=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.businesses.id(e),queryFn:({signal:s})=>t.businesses.getById(e,{signal:s}),enabled:!!e,...n})},exports.useBusinessCount=function(e){const{client:n}=r();return s.useQuery({queryKey:o.businesses.count(),queryFn:({signal:e})=>n.businesses.count({signal:e}),...e})},exports.useBusinessUser=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.businessUsers.id(i,e),queryFn:({signal:s})=>t.businessUsers.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useBusinessUsers=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.businessUsers.list(i,e),queryFn:({pageParam:s,signal:n})=>t.businessUsers.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useBusinessVendors=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.vendors.businessList(i,e),queryFn:({pageParam:s,signal:n})=>t.vendors.listBusiness({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useBusinesses=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.businesses.list(e),queryFn:({pageParam:s,signal:n})=>t.businesses.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.useCancelBill=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.cancel(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useCheckoutPayment=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.checkout.payment(i,e),queryFn:({signal:s})=>t.checkout.getPayment(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useCheckoutPayments=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.checkout.payments(i,e),queryFn:({pageParam:s,signal:n})=>t.checkout.listPayments({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useCheckoutTransaction=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.checkout.transaction(e),queryFn:({signal:s})=>t.checkout.getTransaction(e,{signal:s}),enabled:!!e,...n})},exports.useConnectAccount=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.connect.account(t),queryFn:({signal:e})=>n.connect.getAccount({signal:e}),enabled:!!t,...e})},exports.useConnectDashboardLink=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:[...o.connect.all(t),"dashboard-link"],queryFn:({signal:e})=>n.connect.getDashboardLink({signal:e}),enabled:!1,...e})},exports.useConnectOnboard=function(e){const{client:n}=r();return s.useMutation({mutationFn:e=>n.connect.onboard(e),...e})},exports.useConnectVendor=function(e,n){const{client:t,businessId:i}=r(),u=s.useQueryClient();return s.useMutation({mutationFn:s=>t.vendorConnections.connect(e,s),onSuccess:(s,...t)=>{i&&u.invalidateQueries({queryKey:o.vendorConnections.all(i,e)}),n?.onSuccess?.(s,...t)},...n})},exports.useCreateBill=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.create(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useCreateBusiness=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.businesses.create(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.businesses.all()}),t.invalidateQueries({queryKey:o.users.memberships()}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateBusinessVendor=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.vendors.createBusiness(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.vendors.businesses(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateCheckoutPaymentIntent=function(e){const{client:n}=r();return s.useMutation({mutationFn:e=>n.checkout.createPaymentIntent(e),...e})},exports.useCreateExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:e=>n.expenseReports.create(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useCreateImapEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:e=>n.emailAccounts.createImap(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useCreateLocation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.locations.create(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.locations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useCreatePaymentMethod=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.paymentMethods.create(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.paymentMethods.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useCreatePaymentMethodSetupIntent=function(e){const{client:n}=r();return s.useMutation({mutationFn:()=>n.paymentMethods.createSetupIntent(),...e})},exports.useCreateReceipt=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.receipts.create(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.receipts.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateReceiptFromOCR=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.receipts.createFromOCR(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.receipts.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateTable=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.tables.create(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.tables.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateVendor=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.vendors.create(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.vendors.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useCreateWorkflow=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.workflows.create(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.workflows.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteAccount=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:()=>n.users.delete(),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.users.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteAppInstallation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.appInstallations.delete(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.appInstallations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteBill=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:e=>n.bills.delete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteBusiness=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.businesses.delete(e),onSuccess:(s,n,...i)=>{t.removeQueries({queryKey:o.businesses.id(n)}),t.invalidateQueries({queryKey:o.businesses.all()}),t.invalidateQueries({queryKey:o.users.memberships()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useDeleteEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:e=>n.emailAccounts.delete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteExpense=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.delete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:e=>n.expenseReports.delete(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteIntegration=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.integrations.delete(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.integrations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteInvitation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.invitations.delete(e),onSuccess:(s,n,...u)=>{t&&(i.removeQueries({queryKey:o.invitations.id(t,n)}),i.invalidateQueries({queryKey:o.invitations.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useDeleteLocation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.locations.delete(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.locations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDeletePaymentMethod=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.paymentMethods.delete(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.paymentMethods.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteReceipt=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.receipts.delete(e),onSuccess:(s,n,...i)=>{t.removeQueries({queryKey:o.receipts.id(n)}),t.invalidateQueries({queryKey:o.receipts.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useDeleteTable=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.tables.delete(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.tables.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDeleteTransaction=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.transactions.delete(e),onSuccess:(s,n,...i)=>{t.removeQueries({queryKey:o.transactions.id(n)}),t.invalidateQueries({queryKey:o.transactions.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useDeleteVendor=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.vendors.delete(e),onSuccess:(s,n,...i)=>{t.removeQueries({queryKey:o.vendors.id(n)}),t.invalidateQueries({queryKey:o.vendors.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useDeleteWorkflow=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.workflows.delete(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.workflows.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useDisableEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:e=>n.emailAccounts.disable(e),onSuccess:(s,n,...i)=>{t(n),e?.onSuccess?.(s,n,...i)},...e})},exports.useDisconnectVendor=function(e,n){const{client:t,businessId:i}=r(),u=s.useQueryClient();return s.useMutation({mutationFn:s=>t.vendorConnections.disconnect(e,s),onSuccess:(s,...t)=>{i&&u.invalidateQueries({queryKey:o.vendorConnections.all(i,e)}),n?.onSuccess?.(s,...t)},...n})},exports.useEditExpenseInReport=function(e,n){const{client:t}=r(),i=y(e);return s.useMutation({mutationFn:({expenseId:s,data:n})=>t.expenseReportExpenses.edit(e,s,n),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useEmailAccount=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.emailAccounts.id(i,e),queryFn:({signal:s})=>t.emailAccounts.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useEmailAccountMailboxes=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.emailAccounts.mailboxes(i,e),queryFn:({signal:s})=>t.emailAccounts.getMailboxes(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useEmailAccounts=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.emailAccounts.list(i,e),queryFn:({pageParam:s,signal:n})=>t.emailAccounts.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useEmployeeExpenses=function(e,n,t){const{client:i,businessId:u}=r();return s.useInfiniteQuery({queryKey:o.expenses.employee(u,e),queryFn:({pageParam:s,signal:t})=>i.expenses.listEmployee(e,{...n,page:s},{signal:t}),initialPageParam:1,getNextPageParam:a,enabled:!!u&&!!e,...t})},exports.useEnableEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:e=>n.emailAccounts.enable(e),onSuccess:(s,n,...i)=>{t(n),e?.onSuccess?.(s,n,...i)},...e})},exports.useExpenseByCategory=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.byCategory(i,e),queryFn:({signal:s})=>t.reports.byCategory(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseByEmployee=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.byEmployee(i,e),queryFn:({signal:s})=>t.reports.byEmployee(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseByVendor=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.byVendor(i,e),queryFn:({signal:s})=>t.reports.byVendor(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseDaily=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.daily(i,e),queryFn:({signal:s})=>t.reports.daily(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseJob=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.expenseJobs.id(e),queryFn:({signal:s})=>t.expenseJobs.getById(e,{signal:s}),enabled:!!e,...n})},exports.useExpenseJobs=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.expenseJobs.list(i,e),queryFn:({pageParam:s,signal:n})=>t.expenseJobs.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useExpenseMonthlySummary=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.monthly(i,e),queryFn:({signal:s})=>t.reports.monthlySummary(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseOverTime=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.overTime(i,e),queryFn:({signal:s})=>t.reports.overTime(e,{signal:s}),enabled:!!i,...n})},exports.useExpenseReport=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.expenseReports.id(i,e),queryFn:({signal:s})=>t.expenseReports.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useExpenseReportAuditLog=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.expenseReports.auditLog(i,e),queryFn:({signal:s})=>t.expenseReports.getAuditLog(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useExpenseReportSummary=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.expenseReports.summary(t),queryFn:({signal:e})=>n.expenseReports.getSummary({signal:e}),enabled:!!t,...e})},exports.useExpenseReportTimeline=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.expenseReports.timeline(i,e),queryFn:({signal:s})=>t.expenseReports.getTimeline(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useExpenseReports=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.expenseReports.list(i,e),queryFn:({pageParam:s,signal:n})=>t.expenseReports.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useExpenses=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.expenses.list(i,e),queryFn:({pageParam:s,signal:n})=>t.expenses.listBusiness({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useExportExpenses=function(e){const{client:n}=r();return s.useMutation({mutationFn:e=>n.expenses.export(e),...e})},exports.useIntegration=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.integrations.id(i,e),queryFn:({signal:s})=>t.integrations.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useIntegrationCallback=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({slug:e,data:s})=>n.integrations.callback(e,s),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.integrations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useIntegrations=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.integrations.list(i,e),queryFn:({pageParam:s,signal:n})=>t.integrations.listInstalled({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useInvitation=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.invitations.id(i,e),queryFn:({signal:s})=>t.invitations.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useInvitations=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.invitations.list(i,e),queryFn:({pageParam:s,signal:n})=>t.invitations.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useLeaveMembership=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.memberships.leave(e),onSuccess:(s,n,...i)=>{t.removeQueries({queryKey:o.memberships.id(n)}),t.invalidateQueries({queryKey:o.memberships.all()}),t.invalidateQueries({queryKey:o.users.memberships()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useLocation=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.locations.id(i,e),queryFn:({signal:s})=>t.locations.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useLocations=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.locations.list(i,e),queryFn:({pageParam:s,signal:n})=>t.locations.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useMarkAllNotificationsRead=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:()=>n.notifications.markAllRead(),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.notifications.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useMarkBillPaid=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.markPaid(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useMarkNotificationRead=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.notifications.markRead(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.notifications.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useMarketplaceApp=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.integrations.marketplaceApp(e),queryFn:({signal:s})=>t.integrations.getMarketplaceApp(e,{signal:s}),enabled:!!e,...n})},exports.useMarketplaceApps=function(e){const{client:n}=r();return s.useQuery({queryKey:o.integrations.marketplace(),queryFn:({signal:e})=>n.integrations.listMarketplaceApps({signal:e}),...e})},exports.useMembership=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.memberships.id(e),queryFn:({signal:s})=>t.memberships.getById(e,{signal:s}),enabled:!!e,...n})},exports.useMemberships=function(e){const{client:n}=r();return s.useQuery({queryKey:o.memberships.list(),queryFn:({signal:e})=>n.memberships.list({signal:e}),...e})},exports.useMerchantLedger=function(e){const{client:n,businessId:t}=r();return s.useQuery({queryKey:o.checkout.ledger(t),queryFn:({signal:e})=>n.checkout.getLedger({signal:e}),enabled:!!t,...e})},exports.useMergeVendors=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.vendors.merge(e),onSuccess:(s,...n)=>{i.invalidateQueries({queryKey:o.vendors.all()}),t&&i.invalidateQueries({queryKey:o.vendors.businesses(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useMyExpenses=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.expenses.myList(e),queryFn:({pageParam:s,signal:n})=>t.expenses.listMy({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.useNotifications=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.notifications.list(i,e),queryFn:({pageParam:s,signal:n})=>t.notifications.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.usePartialReimburseReport=function(e,n){const{client:t}=r(),i=d(e);return s.useMutation({mutationFn:s=>t.expenseReportPayments.partialReimburse(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.usePaymentMethods=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.paymentMethods.list(e),queryFn:({pageParam:s,signal:n})=>t.paymentMethods.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.usePendingApprobations=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.approbations.pending(i,e),queryFn:({pageParam:s,signal:n})=>t.approbations.listPending({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.usePlanReimbursement=function(e,n){const{client:t}=r(),i=d(e);return s.useMutation({mutationFn:s=>t.expenseReportPayments.planReimbursement(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useRecallExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:e=>n.expenseReports.recall(e),onSuccess:(s,n,...i)=>{t(n),e?.onSuccess?.(s,n,...i)},...e})},exports.useReceipt=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.receipts.id(e),queryFn:({signal:s})=>t.receipts.getById(e,{signal:s}),enabled:!!e,...n})},exports.useReceipts=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.receipts.list(e),queryFn:({pageParam:s,signal:n})=>t.receipts.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.useRefundCheckoutPayment=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({paymentId:e,data:s})=>n.checkout.refund(e,s),onSuccess:(s,n,...u)=>{t&&(i.invalidateQueries({queryKey:o.checkout.payment(t,n.paymentId)}),i.invalidateQueries({queryKey:o.checkout.payments(t)}),i.invalidateQueries({queryKey:o.checkout.ledger(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useRefuseInvitation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.invitations.refuse(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.invitations.all(t)}),i.invalidateQueries({queryKey:o.users.invitations()}),e?.onSuccess?.(s,...n)},...e})},exports.useReimburseApprobation=function(e){const{client:n}=r(),t=m();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.approbations.reimburse(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useReimburseExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.expenseReports.reimburse(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useReimburseReport=function(e,n){const{client:t}=r(),i=d(e);return s.useMutation({mutationFn:s=>t.expenseReportPayments.reimburse(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useRejectApprobation=function(e){const{client:n}=r(),t=m();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.approbations.reject(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useRejectExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:({reportId:e,...s})=>n.expenseReports.reject(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useRemoveBusinessUser=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.businessUsers.remove(e),onSuccess:(s,n,...u)=>{t&&(i.removeQueries({queryKey:o.businessUsers.id(t,n)}),i.invalidateQueries({queryKey:o.businessUsers.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useRemoveExpenseFromReport=function(e,n){const{client:t}=r(),i=y(e);return s.useMutation({mutationFn:s=>t.expenseReportExpenses.remove(e,s),onSuccess:(e,...s)=>{i(),n?.onSuccess?.(e,...s)},...n})},exports.useRequestApprobationChanges=function(e){const{client:n}=r(),t=m();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.approbations.requestChanges(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useRescheduleBillPayment=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.reschedulePayment(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useScheduleBillPayment=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.schedulePayment(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useSendInvitation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:e=>n.invitations.send(e),onSuccess:(s,...n)=>{t&&i.invalidateQueries({queryKey:o.invitations.all(t)}),e?.onSuccess?.(s,...n)},...e})},exports.useSmartbills=r,exports.useSmartbillsError=function(e){return n.useMemo((()=>{const s=t.isSmartbillsError(e)?e:null,n=t.isValidationError(e)?e:null;return{error:s,isSmartbillsError:t.isSmartbillsError(e),isValidationError:t.isValidationError(e),isRateLimitError:t.isRateLimitError(e),isNotFoundError:t.isNotFoundError(e),isAuthenticationError:t.isAuthenticationError(e),isPermissionError:t.isPermissionError(e),isConflictError:t.isConflictError(e),isQuotaError:t.isQuotaError(e),isNetworkError:t.isNetworkError(e),validationError:n,getFieldError:e=>n?.getFieldError(e),hasFieldError:e=>n?.hasFieldError(e)??!1}}),[e])},exports.useSubmitBillForApproval=function(e){const{client:n}=r(),t=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.submitForApproval(e,s),onSuccess:(s,n,...i)=>{t(n.billId),e?.onSuccess?.(s,n,...i)},...e})},exports.useSubmitExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:e=>n.expenseReports.submit(e),onSuccess:(s,n,...i)=>{t(n),e?.onSuccess?.(s,n,...i)},...e})},exports.useSyncEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:e=>n.emailAccounts.sync(e),onSuccess:(s,n,...i)=>{t(n),e?.onSuccess?.(s,n,...i)},...e})},exports.useTable=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.tables.id(i,e),queryFn:({signal:s})=>t.tables.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useTables=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.tables.list(i,e),queryFn:({pageParam:s,signal:n})=>t.tables.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})},exports.useTaxByCategory=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.taxByCategory(i,e),queryFn:({signal:s})=>t.reports.taxByCategory(e,{signal:s}),enabled:!!i,...n})},exports.useTaxByType=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.taxByType(i,e),queryFn:({signal:s})=>t.reports.taxByType(e,{signal:s}),enabled:!!i,...n})},exports.useTaxByVendor=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.taxByVendor(i,e),queryFn:({signal:s})=>t.reports.taxByVendor(e,{signal:s}),enabled:!!i,...n})},exports.useTaxSummary=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.reporting.taxSummary(i,e),queryFn:({signal:s})=>t.reports.taxSummary(e,{signal:s}),enabled:!!i,...n})},exports.useTestWorkflow=function(e){const{client:n}=r();return s.useMutation({mutationFn:({workflowId:e,data:s})=>n.workflows.test(e,s),...e})},exports.useTransaction=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.transactions.id(e),queryFn:({signal:s})=>t.transactions.getById(e,{signal:s}),enabled:!!e,...n})},exports.useTransactions=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.transactions.list(e),queryFn:({pageParam:s,signal:n})=>t.transactions.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.useUpdateBill=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient(),u=l();return s.useMutation({mutationFn:({billId:e,data:s})=>n.bills.update(e,s),onSuccess:(s,n,...r)=>{t&&i.setQueryData(o.bills.id(t,n.billId),s),u(n.billId),e?.onSuccess?.(s,n,...r)},...e})},exports.useUpdateBusiness=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:({id:e,data:s})=>n.businesses.update(e,s),onSuccess:(s,n,...i)=>{t.setQueryData(o.businesses.id(n.id),s),t.invalidateQueries({queryKey:o.businesses.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateBusinessUserRole=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({memberId:e,data:s})=>n.businessUsers.updateRole(e,s),onSuccess:(s,n,...u)=>{t&&(i.setQueryData(o.businessUsers.id(t,n.memberId),s),i.invalidateQueries({queryKey:o.businessUsers.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useUpdateEmailAccount=function(e){const{client:n}=r(),t=b();return s.useMutation({mutationFn:({accountId:e,data:s})=>n.emailAccounts.update(e,s),onSuccess:(s,n,...i)=>{t(n.accountId),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateExpense=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:({expenseId:e,data:s})=>n.expenses.update(e,s),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useUpdateExpenseReport=function(e){const{client:n}=r(),t=p();return s.useMutation({mutationFn:({reportId:e,data:s})=>n.expenseReports.update(e,s),onSuccess:(s,n,...i)=>{t(n.reportId),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateLocation=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({locationId:e,data:s})=>n.locations.update(e,s),onSuccess:(s,n,...u)=>{t&&(i.setQueryData(o.locations.id(t,n.locationId),s),i.invalidateQueries({queryKey:o.locations.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useUpdateReceipt=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:({id:e,data:s})=>n.receipts.update(e,s),onSuccess:(s,n,...i)=>{t.setQueryData(o.receipts.id(n.id),s),t.invalidateQueries({queryKey:o.receipts.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateTable=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({tableId:e,data:s})=>n.tables.update(e,s),onSuccess:(s,n,...u)=>{t&&(i.setQueryData(o.tables.id(t,n.tableId),s),i.invalidateQueries({queryKey:o.tables.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useUpdateTransaction=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:({id:e,data:s})=>n.transactions.update(e,s),onSuccess:(s,n,...i)=>{t.setQueryData(o.transactions.id(n.id),s),t.invalidateQueries({queryKey:o.transactions.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateUserProfile=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.users.update(e),onSuccess:(s,...n)=>{t.setQueryData(o.users.profile(),s),t.invalidateQueries({queryKey:o.users.profile()}),e?.onSuccess?.(s,...n)},...e})},exports.useUpdateVendor=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:({id:e,data:s})=>n.vendors.update(e,s),onSuccess:(s,n,...i)=>{t.setQueryData(o.vendors.id(n.id),s),t.invalidateQueries({queryKey:o.vendors.all()}),e?.onSuccess?.(s,n,...i)},...e})},exports.useUpdateWorkflow=function(e){const{client:n,businessId:t}=r(),i=s.useQueryClient();return s.useMutation({mutationFn:({workflowId:e,data:s})=>n.workflows.update(e,s),onSuccess:(s,n,...u)=>{t&&(i.setQueryData(o.workflows.id(t,n.workflowId),s),i.invalidateQueries({queryKey:o.workflows.all(t)})),e?.onSuccess?.(s,n,...u)},...e})},exports.useUploadAvatar=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.users.getAvatar(),onSuccess:(s,...n)=>{t.setQueryData(o.users.profile(),s),e?.onSuccess?.(s,...n)},...e})},exports.useUploadExpenses=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.uploadBusiness(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useUploadMyExpenses=function(e){const{client:n}=r(),t=c();return s.useMutation({mutationFn:e=>n.expenses.uploadMy(e),onSuccess:(s,...n)=>{t(),e?.onSuccess?.(s,...n)},...e})},exports.useUploadTransactions=function(e){const{client:n}=r(),t=s.useQueryClient();return s.useMutation({mutationFn:e=>n.transactions.upload(e),onSuccess:(s,...n)=>{t.invalidateQueries({queryKey:o.transactions.all()}),e?.onSuccess?.(s,...n)},...e})},exports.useUserInvitations=function(e){const{client:n}=r();return s.useQuery({queryKey:o.users.invitations(),queryFn:({signal:e})=>n.users.getInvitations({signal:e}),...e})},exports.useUserMemberships=function(e){const{client:n}=r();return s.useQuery({queryKey:o.users.memberships(),queryFn:({signal:e})=>n.users.getMemberships({signal:e}),...e})},exports.useUserProfile=function(e){const{client:n}=r();return s.useQuery({queryKey:o.users.profile(),queryFn:({signal:e})=>n.users.me({signal:e}),...e})},exports.useValidateBusinessEmail=function(e,n){const{client:t}=r();return s.useQuery({queryKey:["businessUsers","validate",e],queryFn:({signal:s})=>t.businessUsers.validateEmail(e,{signal:s}),enabled:!!e&&e.length>3,...n})},exports.useVendor=function(e,n){const{client:t}=r();return s.useQuery({queryKey:o.vendors.id(e),queryFn:({signal:s})=>t.vendors.getById(e,{signal:s}),enabled:!!e,...n})},exports.useVendorConnectionLinkToken=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:[...o.vendorConnections.all(i,e),"link-token"],queryFn:({signal:s})=>t.vendorConnections.getLinkToken(e,{signal:s}),enabled:!1,...n})},exports.useVendorConnections=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.vendorConnections.list(i,e),queryFn:({signal:s})=>t.vendorConnections.list(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useVendors=function(e,n){const{client:t}=r();return s.useInfiniteQuery({queryKey:o.vendors.list(e),queryFn:({pageParam:s,signal:n})=>t.vendors.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,...n})},exports.useWorkflow=function(e,n){const{client:t,businessId:i}=r();return s.useQuery({queryKey:o.workflows.id(i,e),queryFn:({signal:s})=>t.workflows.getById(e,{signal:s}),enabled:!!i&&!!e,...n})},exports.useWorkflows=function(e,n){const{client:t,businessId:i}=r();return s.useInfiniteQuery({queryKey:o.workflows.list(i,e),queryFn:({pageParam:s,signal:n})=>t.workflows.list({...e,page:s},{signal:n}),initialPageParam:1,getNextPageParam:a,enabled:!!i,...n})};
222
2
  //# sourceMappingURL=index.cjs.map