@simpleapps-com/augur-hooks 0.1.5 → 0.1.6

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.
@@ -1,37 +1,8 @@
1
1
  import * as _simpleapps_com_augur_utils from '@simpleapps-com/augur-utils';
2
- import { TPriceData, TInvMastDoc, TCategory, TItemDetails, TProductCategory, TProductItem, TItemsFilters } from '@simpleapps-com/augur-utils';
2
+ import { TPriceData, TItemDetails, TInvMastDoc, TCategory, TAttribute, TItemsFilters, TProductItem, TProductCategory } from '@simpleapps-com/augur-utils';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ReactNode } from 'react';
5
5
 
6
- /**
7
- * Minimal type for the augur-api SDK instance.
8
- * Consumers provide their concrete AugurAPI instance; we keep the type
9
- * loose so augur-hooks doesn't need to depend directly on the SDK package.
10
- */
11
- type AugurApiClient = any;
12
- interface AugurHooksProviderProps {
13
- api: AugurApiClient;
14
- children: ReactNode;
15
- }
16
- /**
17
- * Provides the augur-api SDK instance to all hooks in the tree.
18
- *
19
- * ```tsx
20
- * import { AugurAPI } from "@simpleapps-com/augur-api";
21
- * const api = new AugurAPI({ baseUrl: "...", token: "..." });
22
- *
23
- * <AugurHooksProvider api={api}>
24
- * <App />
25
- * </AugurHooksProvider>
26
- * ```
27
- */
28
- declare function AugurHooksProvider({ api, children }: AugurHooksProviderProps): react_jsx_runtime.JSX.Element;
29
- /**
30
- * Returns the augur-api SDK instance from context.
31
- * Throws if called outside of `<AugurHooksProvider>`.
32
- */
33
- declare function useAugurApi(): AugurApiClient;
34
-
35
6
  /**
36
7
  * Hook-specific types that don't belong in augur-utils.
37
8
  * These describe hook parameters and API response shapes.
@@ -86,6 +57,161 @@ interface GetItemCategoryApiOptions {
86
57
  rootItemCategoryId?: string;
87
58
  }
88
59
 
60
+ /**
61
+ * Typed callback registry for provider-level queryFn overrides,
62
+ * and auth context for provider-level session injection.
63
+ *
64
+ * Sites register server actions once at the provider level,
65
+ * eliminating per-hook wrappers for CORS/server action routing.
66
+ */
67
+
68
+ /**
69
+ * Auth context provided at the provider level.
70
+ * Auth-provider-agnostic — works with NextAuth, Clerk, Supabase Auth, etc.
71
+ *
72
+ * @example
73
+ * ```tsx
74
+ * const { data: session, status } = useSession();
75
+ *
76
+ * <AugurHooksProvider
77
+ * api={api}
78
+ * auth={{
79
+ * status,
80
+ * customerId: session?.user?.customerId ?? process.env.NEXT_PUBLIC_DEFAULT_CUSTOMER_ID,
81
+ * userId: session?.user?.id,
82
+ * cartHdrUid: session?.user?.cartHdrUid,
83
+ * }}
84
+ * >
85
+ * ```
86
+ */
87
+ interface AugurAuthContext {
88
+ /** Auth loading state — hooks disable queries while "loading". */
89
+ status: "loading" | "authenticated" | "unauthenticated";
90
+ /** Customer ID for pricing. Falls back to env default if undefined. */
91
+ customerId?: string | number;
92
+ /** User ID for cart ownership. */
93
+ userId?: string | number;
94
+ /** Cart header UID from session (if available). */
95
+ cartHdrUid?: string | number;
96
+ }
97
+ /** Paginated response for infinite scroll hooks. */
98
+ interface InfiniteScrollPage {
99
+ data: TProductItem[];
100
+ total: number;
101
+ nextCursor?: number;
102
+ }
103
+ /**
104
+ * Provider-level callback map. Register server actions here to override
105
+ * the default SDK calls in all hooks. Hook-level `queryFn` takes priority
106
+ * over provider callbacks; provider callbacks take priority over the SDK.
107
+ *
108
+ * @example
109
+ * ```tsx
110
+ * <AugurHooksProvider
111
+ * api={api}
112
+ * callbacks={{
113
+ * getItemPrice: (itemId, customerId, qty) => getItemPriceAction(itemId, customerId, qty),
114
+ * getItemCategory: (uid, opts) => getItemCategoryAction(uid, opts),
115
+ * getCategoryItemsInfinite: (p) => getCategoryItemsAction(p),
116
+ * }}
117
+ * >
118
+ * ```
119
+ */
120
+ interface AugurCallbacks {
121
+ /** Override item price fetching (used by useItemPrice and useCartPricing). */
122
+ getItemPrice?: (itemId: string, customerId: string | number, quantity: number) => Promise<TPriceData>;
123
+ /** Override inventory master fetching. */
124
+ getInvMast?: (invMastUid: number, itemId: string) => Promise<TItemDetails>;
125
+ /** Override inventory master doc fetching. */
126
+ getInvMastDoc?: (invMastUid: number, itemId: string, includePricing: "Y" | "N") => Promise<TInvMastDoc>;
127
+ /** Override inventory stock fetching. */
128
+ getInvMastStock?: (invMastUid: number | string) => Promise<number>;
129
+ /** Override item category fetching. */
130
+ getItemCategory?: (itemCategoryUid: number, apiOptions?: GetItemCategoryApiOptions) => Promise<TCategory>;
131
+ /** Override item details fetching. */
132
+ getItemDetails?: (itemId: number | string) => Promise<TItemDetails>;
133
+ /** Override item attributes fetching. */
134
+ getItemAttributes?: (itemCategoryUid: number | string) => Promise<{
135
+ attributes: TAttribute[];
136
+ }>;
137
+ /** Override product category fetching. */
138
+ getProductCategory?: (itemCategoryUid: number | string) => Promise<{
139
+ itemCategoryDesc: string;
140
+ childrenTotal: number;
141
+ children: unknown[];
142
+ categoryImage: string | null;
143
+ }>;
144
+ /** Override product search. */
145
+ getProductSearch?: (pageData: PageData) => Promise<{
146
+ items: unknown[];
147
+ totalResults: number;
148
+ }>;
149
+ /** Override search suggestions. */
150
+ getSearchSuggestions?: (query: string, limit: number, offset: number) => Promise<SearchSuggestionsResponse>;
151
+ /** Override category items infinite scroll. */
152
+ getCategoryItemsInfinite?: (params: {
153
+ itemCategoryUid: number;
154
+ itemsFilters: TItemsFilters;
155
+ pageParam: number;
156
+ }) => Promise<InfiniteScrollPage>;
157
+ /** Override item search infinite scroll. */
158
+ getItemSearchInfinite?: (params: {
159
+ itemsFilters: TItemsFilters;
160
+ itemCategoryUid?: number | string;
161
+ pageParam: number;
162
+ }) => Promise<InfiniteScrollPage>;
163
+ }
164
+
165
+ /**
166
+ * Minimal type for the augur-api SDK instance.
167
+ * Consumers provide their concrete AugurAPI instance; we keep the type
168
+ * loose so augur-hooks doesn't need to depend directly on the SDK package.
169
+ */
170
+ type AugurApiClient = any;
171
+ interface AugurHooksProviderProps {
172
+ api: AugurApiClient;
173
+ /** Optional callback registry for routing SDK calls through server actions. */
174
+ callbacks?: AugurCallbacks;
175
+ /** Optional auth context — hooks fall back to these values when not passed directly. */
176
+ auth?: AugurAuthContext;
177
+ children: ReactNode;
178
+ }
179
+ /**
180
+ * Provides the augur-api SDK instance and optional callbacks to all hooks.
181
+ *
182
+ * ```tsx
183
+ * import { AugurAPI } from "@simpleapps-com/augur-api";
184
+ * const api = new AugurAPI({ baseUrl: "...", token: "..." });
185
+ *
186
+ * <AugurHooksProvider api={api}>
187
+ * <App />
188
+ * </AugurHooksProvider>
189
+ *
190
+ * // With callbacks and auth (eliminates per-hook wrappers):
191
+ * <AugurHooksProvider
192
+ * api={api}
193
+ * callbacks={{
194
+ * getItemPrice: (id, cust, qty) => getItemPriceAction(id, cust, qty),
195
+ * }}
196
+ * auth={{ status, customerId, userId, cartHdrUid }}
197
+ * >
198
+ * <App />
199
+ * </AugurHooksProvider>
200
+ * ```
201
+ */
202
+ declare function AugurHooksProvider({ api, callbacks, auth, children, }: AugurHooksProviderProps): react_jsx_runtime.JSX.Element;
203
+ /**
204
+ * Returns the augur-api SDK instance from context.
205
+ * Throws if called outside of `<AugurHooksProvider>`.
206
+ */
207
+ declare function useAugurApi(): AugurApiClient;
208
+ /**
209
+ * Returns the provider-level auth context, if any.
210
+ * Used internally by hooks to fall back to provider auth when
211
+ * auth fields are not passed directly as hook parameters.
212
+ */
213
+ declare function useAugurAuth(): AugurAuthContext | undefined;
214
+
89
215
  declare const PRICE_CACHE_OPTIONS: {
90
216
  readonly refetchOnReconnect: true;
91
217
  readonly refetchOnWindowFocus: false;
@@ -269,7 +395,38 @@ declare function getCartPricingQueryOptions(api: AugurApiClient, cartLines: Arra
269
395
  }[];
270
396
 
271
397
  declare const getCategoryItemsInfiniteKey: (itemCategoryUid: number, itemsFilters: TItemsFilters) => readonly ["categoryItemsInfinite", number, string];
398
+ /**
399
+ * Full infinite query options for category items.
400
+ * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.
401
+ */
402
+ declare const getCategoryItemsInfiniteOptions: (api: AugurApiClient, itemCategoryUid: number, itemsFilters: TItemsFilters) => {
403
+ staleTime: number;
404
+ gcTime: number;
405
+ queryKey: readonly ["categoryItemsInfinite", number, string];
406
+ queryFn: ({ pageParam, }: {
407
+ pageParam?: unknown;
408
+ }) => Promise<InfiniteScrollPage>;
409
+ initialPageParam: number;
410
+ getNextPageParam: (lastPage: InfiniteScrollPage) => number | undefined;
411
+ };
272
412
 
273
413
  declare const getItemSearchInfiniteKey: (itemsFilters: TItemsFilters, itemCategoryUid?: number | string) => readonly ["itemSearchInfinite", string, string | number | undefined];
414
+ /**
415
+ * Full infinite query options for item search.
416
+ * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.
417
+ */
418
+ declare const getItemSearchInfiniteOptions: (api: AugurApiClient, itemsFilters: TItemsFilters, itemCategoryUid?: number | string) => {
419
+ meta: {
420
+ persist: boolean;
421
+ };
422
+ staleTime: number;
423
+ gcTime: number;
424
+ queryKey: readonly ["itemSearchInfinite", string, string | number | undefined];
425
+ queryFn: ({ pageParam, }: {
426
+ pageParam?: unknown;
427
+ }) => Promise<InfiniteScrollPage>;
428
+ initialPageParam: number;
429
+ getNextPageParam: (lastPage: InfiniteScrollPage) => number | undefined;
430
+ };
274
431
 
275
- export { type AugurApiClient as A, getSearchSuggestionsKey as B, CATEGORY_CACHE_OPTIONS as C, getSearchSuggestionsOptions as D, useAugurApi as E, type GetItemCategoryApiOptions as G, INV_MAST_CACHE_OPTIONS as I, type PageData as P, type SearchSuggestionsResponse as S, type SearchSuggestion as a, AugurHooksProvider as b, INV_MAST_DOC_CACHE_OPTIONS as c, PRICE_CACHE_OPTIONS as d, SEARCH_SUGGESTIONS_CACHE_OPTIONS as e, getCategoryItemsInfiniteKey as f, getCartPricingQueryOptions as g, getInvMastDocKey as h, getInvMastDocOptions as i, getInvMastKey as j, getInvMastOptions as k, getInvMastStockKey as l, getInvMastStockOptions as m, getItemAttributesKey as n, getItemAttributesOptions as o, getItemCategoryKey as p, getItemCategoryOptions as q, getItemDetailsKey as r, getItemDetailsOptions as s, getItemPriceKey as t, getItemPriceOptions as u, getItemSearchInfiniteKey as v, getProductCategoryKey as w, getProductCategoryOptions as x, getProductSearchKey as y, getProductSearchOptions as z };
432
+ export { type AugurApiClient as A, getItemSearchInfiniteOptions as B, CATEGORY_CACHE_OPTIONS as C, getProductCategoryKey as D, getProductCategoryOptions as E, getProductSearchKey as F, type GetItemCategoryApiOptions as G, getProductSearchOptions as H, type InfiniteScrollPage as I, getSearchSuggestionsKey as J, getSearchSuggestionsOptions as K, useAugurApi as L, useAugurAuth as M, type PageData as P, type SearchSuggestionsResponse as S, type SearchSuggestion as a, type AugurAuthContext as b, type AugurCallbacks as c, AugurHooksProvider as d, INV_MAST_CACHE_OPTIONS as e, INV_MAST_DOC_CACHE_OPTIONS as f, PRICE_CACHE_OPTIONS as g, SEARCH_SUGGESTIONS_CACHE_OPTIONS as h, getCartPricingQueryOptions as i, getCategoryItemsInfiniteKey as j, getCategoryItemsInfiniteOptions as k, getInvMastDocKey as l, getInvMastDocOptions as m, getInvMastKey as n, getInvMastOptions as o, getInvMastStockKey as p, getInvMastStockOptions as q, getItemAttributesKey as r, getItemAttributesOptions as s, getItemCategoryKey as t, getItemCategoryOptions as u, getItemDetailsKey as v, getItemDetailsOptions as w, getItemPriceKey as x, getItemPriceOptions as y, getItemSearchInfiniteKey as z };
package/dist/server.cjs CHANGED
@@ -27,9 +27,9 @@
27
27
 
28
28
 
29
29
 
30
- var _chunkMRQREI4Lcjs = require('./chunk-MRQREI4L.cjs');
31
30
 
32
31
 
32
+ var _chunkYSRBE3YIcjs = require('./chunk-YSRBE3YI.cjs');
33
33
 
34
34
 
35
35
 
@@ -57,5 +57,9 @@ var _chunkMRQREI4Lcjs = require('./chunk-MRQREI4L.cjs');
57
57
 
58
58
 
59
59
 
60
- exports.CATEGORY_CACHE_OPTIONS = _chunkMRQREI4Lcjs.CATEGORY_CACHE_OPTIONS; exports.INV_MAST_CACHE_OPTIONS = _chunkMRQREI4Lcjs.INV_MAST_CACHE_OPTIONS; exports.INV_MAST_DOC_CACHE_OPTIONS = _chunkMRQREI4Lcjs.INV_MAST_DOC_CACHE_OPTIONS; exports.PRICE_CACHE_OPTIONS = _chunkMRQREI4Lcjs.PRICE_CACHE_OPTIONS; exports.SEARCH_SUGGESTIONS_CACHE_OPTIONS = _chunkMRQREI4Lcjs.SEARCH_SUGGESTIONS_CACHE_OPTIONS; exports.getCartPricingQueryOptions = _chunkMRQREI4Lcjs.getCartPricingQueryOptions; exports.getCategoryItemsInfiniteKey = _chunkMRQREI4Lcjs.getCategoryItemsInfiniteKey; exports.getInvMastDocKey = _chunkMRQREI4Lcjs.getInvMastDocKey; exports.getInvMastDocOptions = _chunkMRQREI4Lcjs.getInvMastDocOptions; exports.getInvMastKey = _chunkMRQREI4Lcjs.getInvMastKey; exports.getInvMastOptions = _chunkMRQREI4Lcjs.getInvMastOptions; exports.getInvMastStockKey = _chunkMRQREI4Lcjs.getInvMastStockKey; exports.getInvMastStockOptions = _chunkMRQREI4Lcjs.getInvMastStockOptions; exports.getItemAttributesKey = _chunkMRQREI4Lcjs.getItemAttributesKey; exports.getItemAttributesOptions = _chunkMRQREI4Lcjs.getItemAttributesOptions; exports.getItemCategoryKey = _chunkMRQREI4Lcjs.getItemCategoryKey; exports.getItemCategoryOptions = _chunkMRQREI4Lcjs.getItemCategoryOptions; exports.getItemDetailsKey = _chunkMRQREI4Lcjs.getItemDetailsKey; exports.getItemDetailsOptions = _chunkMRQREI4Lcjs.getItemDetailsOptions; exports.getItemPriceKey = _chunkMRQREI4Lcjs.getItemPriceKey; exports.getItemPriceOptions = _chunkMRQREI4Lcjs.getItemPriceOptions; exports.getItemSearchInfiniteKey = _chunkMRQREI4Lcjs.getItemSearchInfiniteKey; exports.getProductCategoryKey = _chunkMRQREI4Lcjs.getProductCategoryKey; exports.getProductCategoryOptions = _chunkMRQREI4Lcjs.getProductCategoryOptions; exports.getProductSearchKey = _chunkMRQREI4Lcjs.getProductSearchKey; exports.getProductSearchOptions = _chunkMRQREI4Lcjs.getProductSearchOptions; exports.getSearchSuggestionsKey = _chunkMRQREI4Lcjs.getSearchSuggestionsKey; exports.getSearchSuggestionsOptions = _chunkMRQREI4Lcjs.getSearchSuggestionsOptions;
60
+
61
+
62
+
63
+
64
+ exports.CATEGORY_CACHE_OPTIONS = _chunkYSRBE3YIcjs.CATEGORY_CACHE_OPTIONS; exports.INV_MAST_CACHE_OPTIONS = _chunkYSRBE3YIcjs.INV_MAST_CACHE_OPTIONS; exports.INV_MAST_DOC_CACHE_OPTIONS = _chunkYSRBE3YIcjs.INV_MAST_DOC_CACHE_OPTIONS; exports.PRICE_CACHE_OPTIONS = _chunkYSRBE3YIcjs.PRICE_CACHE_OPTIONS; exports.SEARCH_SUGGESTIONS_CACHE_OPTIONS = _chunkYSRBE3YIcjs.SEARCH_SUGGESTIONS_CACHE_OPTIONS; exports.getCartPricingQueryOptions = _chunkYSRBE3YIcjs.getCartPricingQueryOptions; exports.getCategoryItemsInfiniteKey = _chunkYSRBE3YIcjs.getCategoryItemsInfiniteKey; exports.getCategoryItemsInfiniteOptions = _chunkYSRBE3YIcjs.getCategoryItemsInfiniteOptions; exports.getInvMastDocKey = _chunkYSRBE3YIcjs.getInvMastDocKey; exports.getInvMastDocOptions = _chunkYSRBE3YIcjs.getInvMastDocOptions; exports.getInvMastKey = _chunkYSRBE3YIcjs.getInvMastKey; exports.getInvMastOptions = _chunkYSRBE3YIcjs.getInvMastOptions; exports.getInvMastStockKey = _chunkYSRBE3YIcjs.getInvMastStockKey; exports.getInvMastStockOptions = _chunkYSRBE3YIcjs.getInvMastStockOptions; exports.getItemAttributesKey = _chunkYSRBE3YIcjs.getItemAttributesKey; exports.getItemAttributesOptions = _chunkYSRBE3YIcjs.getItemAttributesOptions; exports.getItemCategoryKey = _chunkYSRBE3YIcjs.getItemCategoryKey; exports.getItemCategoryOptions = _chunkYSRBE3YIcjs.getItemCategoryOptions; exports.getItemDetailsKey = _chunkYSRBE3YIcjs.getItemDetailsKey; exports.getItemDetailsOptions = _chunkYSRBE3YIcjs.getItemDetailsOptions; exports.getItemPriceKey = _chunkYSRBE3YIcjs.getItemPriceKey; exports.getItemPriceOptions = _chunkYSRBE3YIcjs.getItemPriceOptions; exports.getItemSearchInfiniteKey = _chunkYSRBE3YIcjs.getItemSearchInfiniteKey; exports.getItemSearchInfiniteOptions = _chunkYSRBE3YIcjs.getItemSearchInfiniteOptions; exports.getProductCategoryKey = _chunkYSRBE3YIcjs.getProductCategoryKey; exports.getProductCategoryOptions = _chunkYSRBE3YIcjs.getProductCategoryOptions; exports.getProductSearchKey = _chunkYSRBE3YIcjs.getProductSearchKey; exports.getProductSearchOptions = _chunkYSRBE3YIcjs.getProductSearchOptions; exports.getSearchSuggestionsKey = _chunkYSRBE3YIcjs.getSearchSuggestionsKey; exports.getSearchSuggestionsOptions = _chunkYSRBE3YIcjs.getSearchSuggestionsOptions;
61
65
  //# sourceMappingURL=server.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/server.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,+gEAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/server.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/server.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,msEAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/server.cjs"}
package/dist/server.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AugurApiClient, C as CATEGORY_CACHE_OPTIONS, I as INV_MAST_CACHE_OPTIONS, c as INV_MAST_DOC_CACHE_OPTIONS, d as PRICE_CACHE_OPTIONS, P as PageData, e as SEARCH_SUGGESTIONS_CACHE_OPTIONS, g as getCartPricingQueryOptions, f as getCategoryItemsInfiniteKey, h as getInvMastDocKey, i as getInvMastDocOptions, j as getInvMastKey, k as getInvMastOptions, l as getInvMastStockKey, m as getInvMastStockOptions, n as getItemAttributesKey, o as getItemAttributesOptions, p as getItemCategoryKey, q as getItemCategoryOptions, r as getItemDetailsKey, s as getItemDetailsOptions, t as getItemPriceKey, u as getItemPriceOptions, v as getItemSearchInfiniteKey, w as getProductCategoryKey, x as getProductCategoryOptions, y as getProductSearchKey, z as getProductSearchOptions, B as getSearchSuggestionsKey, D as getSearchSuggestionsOptions } from './server-ZsiDw2HO.cjs';
1
+ export { A as AugurApiClient, b as AugurAuthContext, c as AugurCallbacks, C as CATEGORY_CACHE_OPTIONS, e as INV_MAST_CACHE_OPTIONS, f as INV_MAST_DOC_CACHE_OPTIONS, I as InfiniteScrollPage, g as PRICE_CACHE_OPTIONS, P as PageData, h as SEARCH_SUGGESTIONS_CACHE_OPTIONS, i as getCartPricingQueryOptions, j as getCategoryItemsInfiniteKey, k as getCategoryItemsInfiniteOptions, l as getInvMastDocKey, m as getInvMastDocOptions, n as getInvMastKey, o as getInvMastOptions, p as getInvMastStockKey, q as getInvMastStockOptions, r as getItemAttributesKey, s as getItemAttributesOptions, t as getItemCategoryKey, u as getItemCategoryOptions, v as getItemDetailsKey, w as getItemDetailsOptions, x as getItemPriceKey, y as getItemPriceOptions, z as getItemSearchInfiniteKey, B as getItemSearchInfiniteOptions, D as getProductCategoryKey, E as getProductCategoryOptions, F as getProductSearchKey, H as getProductSearchOptions, J as getSearchSuggestionsKey, K as getSearchSuggestionsOptions } from './server-CF43MUMf.cjs';
2
2
  import '@simpleapps-com/augur-utils';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
package/dist/server.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AugurApiClient, C as CATEGORY_CACHE_OPTIONS, I as INV_MAST_CACHE_OPTIONS, c as INV_MAST_DOC_CACHE_OPTIONS, d as PRICE_CACHE_OPTIONS, P as PageData, e as SEARCH_SUGGESTIONS_CACHE_OPTIONS, g as getCartPricingQueryOptions, f as getCategoryItemsInfiniteKey, h as getInvMastDocKey, i as getInvMastDocOptions, j as getInvMastKey, k as getInvMastOptions, l as getInvMastStockKey, m as getInvMastStockOptions, n as getItemAttributesKey, o as getItemAttributesOptions, p as getItemCategoryKey, q as getItemCategoryOptions, r as getItemDetailsKey, s as getItemDetailsOptions, t as getItemPriceKey, u as getItemPriceOptions, v as getItemSearchInfiniteKey, w as getProductCategoryKey, x as getProductCategoryOptions, y as getProductSearchKey, z as getProductSearchOptions, B as getSearchSuggestionsKey, D as getSearchSuggestionsOptions } from './server-ZsiDw2HO.js';
1
+ export { A as AugurApiClient, b as AugurAuthContext, c as AugurCallbacks, C as CATEGORY_CACHE_OPTIONS, e as INV_MAST_CACHE_OPTIONS, f as INV_MAST_DOC_CACHE_OPTIONS, I as InfiniteScrollPage, g as PRICE_CACHE_OPTIONS, P as PageData, h as SEARCH_SUGGESTIONS_CACHE_OPTIONS, i as getCartPricingQueryOptions, j as getCategoryItemsInfiniteKey, k as getCategoryItemsInfiniteOptions, l as getInvMastDocKey, m as getInvMastDocOptions, n as getInvMastKey, o as getInvMastOptions, p as getInvMastStockKey, q as getInvMastStockOptions, r as getItemAttributesKey, s as getItemAttributesOptions, t as getItemCategoryKey, u as getItemCategoryOptions, v as getItemDetailsKey, w as getItemDetailsOptions, x as getItemPriceKey, y as getItemPriceOptions, z as getItemSearchInfiniteKey, B as getItemSearchInfiniteOptions, D as getProductCategoryKey, E as getProductCategoryOptions, F as getProductSearchKey, H as getProductSearchOptions, J as getSearchSuggestionsKey, K as getSearchSuggestionsOptions } from './server-CF43MUMf.js';
2
2
  import '@simpleapps-com/augur-utils';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
package/dist/server.js CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  SEARCH_SUGGESTIONS_CACHE_OPTIONS,
7
7
  getCartPricingQueryOptions,
8
8
  getCategoryItemsInfiniteKey,
9
+ getCategoryItemsInfiniteOptions,
9
10
  getInvMastDocKey,
10
11
  getInvMastDocOptions,
11
12
  getInvMastKey,
@@ -21,13 +22,14 @@ import {
21
22
  getItemPriceKey,
22
23
  getItemPriceOptions,
23
24
  getItemSearchInfiniteKey,
25
+ getItemSearchInfiniteOptions,
24
26
  getProductCategoryKey,
25
27
  getProductCategoryOptions,
26
28
  getProductSearchKey,
27
29
  getProductSearchOptions,
28
30
  getSearchSuggestionsKey,
29
31
  getSearchSuggestionsOptions
30
- } from "./chunk-V3RMLU3V.js";
32
+ } from "./chunk-DS2ECDHJ.js";
31
33
  export {
32
34
  CATEGORY_CACHE_OPTIONS,
33
35
  INV_MAST_CACHE_OPTIONS,
@@ -36,6 +38,7 @@ export {
36
38
  SEARCH_SUGGESTIONS_CACHE_OPTIONS,
37
39
  getCartPricingQueryOptions,
38
40
  getCategoryItemsInfiniteKey,
41
+ getCategoryItemsInfiniteOptions,
39
42
  getInvMastDocKey,
40
43
  getInvMastDocOptions,
41
44
  getInvMastKey,
@@ -51,6 +54,7 @@ export {
51
54
  getItemPriceKey,
52
55
  getItemPriceOptions,
53
56
  getItemSearchInfiniteKey,
57
+ getItemSearchInfiniteOptions,
54
58
  getProductCategoryKey,
55
59
  getProductCategoryOptions,
56
60
  getProductSearchKey,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simpleapps-com/augur-hooks",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Cross-platform React Query hooks and Zustand stores for Augur ecommerce sites",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  "dist"
32
32
  ],
33
33
  "dependencies": {
34
- "@simpleapps-com/augur-utils": "0.1.5"
34
+ "@simpleapps-com/augur-utils": "0.1.6"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@simpleapps-com/augur-api": "^0.9.6",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/chunk-MRQREI4L.cjs","../src/queries/item-price.ts","../src/queries/inv-mast-doc.ts","../src/queries/item-category.ts","../src/queries/inv-mast.ts","../src/queries/inv-mast-stock.ts","../src/queries/product-category.ts","../src/queries/item-details.ts","../src/queries/item-attributes.ts","../src/queries/product-search.ts","../src/queries/search-suggestions.ts","../src/queries/cart-pricing.ts","../src/queries/category-items-infinite.ts","../src/queries/item-search-infinite.ts"],"names":["CACHE_CONFIG"],"mappings":"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","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-hooks/dist/chunk-MRQREI4L.cjs","sourcesContent":[null,"import { CACHE_CONFIG, type TPriceData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const PRICE_CACHE_OPTIONS = {\n ...CACHE_CONFIG.SEMI_STATIC,\n refetchOnReconnect: true,\n refetchOnWindowFocus: false,\n meta: { persist: true },\n} as const;\n\n/**\n * Generates a consistent query key for item price queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemPriceKey = (\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => {\n return [\"price\", itemId?.toUpperCase() || \"\", customerId, quantity] as const;\n};\n\n/**\n * Query options for item price. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemPriceOptions = (\n api: AugurApiClient,\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => ({\n queryKey: getItemPriceKey(itemId, customerId, quantity),\n queryFn: async (): Promise<TPriceData> => {\n const response = await api.pricing.priceEngine.get({\n itemId: itemId?.toUpperCase() || \"\",\n customerId: Number(customerId),\n quantity,\n });\n return response.data;\n },\n ...PRICE_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TInvMastDoc } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_DOC_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for inv mast doc queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getInvMastDocKey = (\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => {\n return [\n \"invMastDoc\",\n invMastUid,\n itemId.toUpperCase(),\n includePricing,\n ] as const;\n};\n\n/**\n * Query options for inv mast doc. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getInvMastDocOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => ({\n queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),\n queryFn: async (): Promise<TInvMastDoc> => {\n const response = await api.items.invMast.doc.list(invMastUid, {\n includePricing,\n });\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_DOC_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { GetItemCategoryApiOptions } from \"../types\";\n\nexport const CATEGORY_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\ntype ItemCategoryQueryKey = readonly [\n \"itemCategory\",\n number,\n GetItemCategoryApiOptions | undefined,\n];\n\n/**\n * Generates a consistent query key for item category queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemCategoryKey = (\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n): ItemCategoryQueryKey => {\n return [\"itemCategory\", itemCategoryUid, apiOptions] as const;\n};\n\n/**\n * Query options for item category. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n) => ({\n queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),\n queryFn: async (): Promise<TCategory> => {\n const response = await api.items.itemCategory.get(\n itemCategoryUid,\n apiOptions,\n );\n if (!response.data) throw new Error(\"Item category not found\");\n return response.data;\n },\n ...CATEGORY_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getInvMastKey = (invMastUid: number, itemId: string) => {\n return [\"invMast\", invMastUid, itemId.toUpperCase()] as const;\n};\n\nexport const getInvMastOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n) => ({\n queryKey: getInvMastKey(invMastUid, itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.get(invMastUid);\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TStockData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getInvMastStockKey = (invMastUid: number | string) => {\n return [\"invMastStock\", invMastUid] as const;\n};\n\nexport const getInvMastStockOptions = (\n api: AugurApiClient,\n invMastUid: number | string,\n) => ({\n queryKey: getInvMastStockKey(invMastUid),\n queryFn: async (): Promise<number> => {\n const response = await api.items.invMast.stock.list(Number(invMastUid));\n const stockData: TStockData[] = response.data?.stockData ?? [];\n return stockData.reduce(\n (qty: number, stock: TStockData) => qty + stock.qtyOnHand,\n 0,\n );\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG, type TProductCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\ntype ProductCategoryResponse = {\n itemCategoryDesc: string;\n childrenTotal: number;\n children: TProductCategory[];\n categoryImage: string | null;\n};\n\nexport const getProductCategoryKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"productCategory\", itemCategoryUid] as const;\n};\n\nexport const getProductCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getProductCategoryKey(itemCategoryUid),\n queryFn: async (): Promise<ProductCategoryResponse> => {\n const response = await api.items.itemCategory.get(\n Number(itemCategoryUid),\n );\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemDetailsKey = (itemId: number | string) => {\n return [\"itemDetails\", itemId] as const;\n};\n\nexport const getItemDetailsOptions = (\n api: AugurApiClient,\n itemId: number | string,\n) => ({\n queryKey: getItemDetailsKey(itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.doc.list(Number(itemId));\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemAttributesKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"itemAttributes\", itemCategoryUid] as const;\n};\n\nexport const getItemAttributesOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getItemAttributesKey(itemCategoryUid),\n queryFn: async () => {\n const response = await api.openSearch.itemSearch.attributes.list({\n q: \"\",\n searchType: \"query\",\n classId5List: String(itemCategoryUid),\n });\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TProductItem } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { PageData } from \"../types\";\n\ntype ProductSearchResponse = {\n items: TProductItem[];\n totalResults: number;\n};\n\n/**\n * Generates a consistent query key for product search queries.\n */\nexport const getProductSearchKey = (pageData: PageData) => {\n return [\n \"productSearch\",\n pageData.q,\n pageData.limit,\n pageData.offset,\n pageData.sortBy,\n pageData.itemCategoryUid,\n ] as const;\n};\n\n/**\n * Query options for product search. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getProductSearchOptions = (\n api: AugurApiClient,\n pageData: PageData,\n) => ({\n queryKey: getProductSearchKey(pageData),\n queryFn: async (): Promise<ProductSearchResponse> => {\n const response = await api.openSearch.itemSearch.list({\n q: pageData.q,\n searchType: \"query\",\n size: pageData.limit,\n from: pageData.offset,\n classId5List: pageData.itemCategoryUid\n ? String(pageData.itemCategoryUid)\n : undefined,\n filters: pageData.filters\n ? JSON.stringify(pageData.filters)\n : undefined,\n });\n return response.data;\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { SearchSuggestionsResponse } from \"../types\";\n\nexport const SEARCH_SUGGESTIONS_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for search suggestion queries.\n */\nexport const getSearchSuggestionsKey = (\n query: string,\n limit: number,\n offset: number,\n) => {\n return [\"searchSuggestions\", query, limit, offset] as const;\n};\n\n/**\n * Query options for search suggestions. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getSearchSuggestionsOptions = (\n api: AugurApiClient,\n query: string,\n limit: number = 10,\n offset: number = 0,\n) => ({\n queryKey: getSearchSuggestionsKey(query, limit, offset),\n queryFn: async (): Promise<SearchSuggestionsResponse> => {\n const response = await api.openSearch.suggestions.suggest.list({\n q: query,\n });\n return response.data;\n },\n ...SEARCH_SUGGESTIONS_CACHE_OPTIONS,\n});\n","import type { AugurApiClient } from \"../provider\";\nimport { getItemPriceOptions } from \"./item-price\";\n\n/**\n * Get cart pricing query options for prefetching or parent components.\n */\nexport function getCartPricingQueryOptions(\n api: AugurApiClient,\n cartLines: Array<{ itemId: string; quantity: number }>,\n customerId: string | number | undefined,\n) {\n return cartLines.map((line) => ({\n ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),\n enabled: !!customerId && !!line.itemId,\n }));\n}\n","import type { TItemsFilters } from \"@simpleapps-com/augur-utils\";\n\nexport const getCategoryItemsInfiniteKey = (\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => {\n return [\n \"categoryItemsInfinite\",\n itemCategoryUid,\n JSON.stringify(itemsFilters),\n ] as const;\n};\n","import type { TItemsFilters } from \"@simpleapps-com/augur-utils\";\n\nexport const getItemSearchInfiniteKey = (\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => {\n return [\n \"itemSearchInfinite\",\n JSON.stringify(itemsFilters),\n itemCategoryUid,\n ] as const;\n};\n"]}