@simpleapps-com/augur-hooks 0.2.17 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-XPZVNYPR.js → chunk-LCWJOWAC.js} +64 -2
- package/dist/chunk-LCWJOWAC.js.map +1 -0
- package/dist/{chunk-IYEN7NGC.cjs → chunk-QXDTBGFO.cjs} +64 -2
- package/dist/chunk-QXDTBGFO.cjs.map +1 -0
- package/dist/index.cjs +118 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +33 -8
- package/dist/index.d.ts +33 -8
- package/dist/index.js +90 -23
- package/dist/index.js.map +1 -1
- package/dist/{joomla-content-list-DGPtwJ99.d.cts → joomla-menu-doc-C0Dcq1eO.d.cts} +32 -9
- package/dist/{joomla-content-list-DGPtwJ99.d.ts → joomla-menu-doc-C0Dcq1eO.d.ts} +32 -9
- package/dist/server.cjs +10 -2
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +9 -1
- package/package.json +2 -2
- package/dist/chunk-IYEN7NGC.cjs.map +0 -1
- package/dist/chunk-XPZVNYPR.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as GetItemCategoryApiOptions, P as PageData, S as SearchSuggestionsResponse, a as SearchSuggestion, I as InfiniteScrollPage, A as AugurCallbacks, C as CacheConfig, b as AugurApiClient, c as AugurAuthContext, d as PersistenceConfig } from './joomla-
|
|
2
|
-
export { e as AugurHooksProvider, f as CacheProvider, g as CacheTierConfig, h as getCartPricingQueryOptions, i as getCategoryItemsInfiniteKey, j as getCategoryItemsInfiniteOptions, k as getInvMastDocKey, l as getInvMastDocOptions, m as getInvMastKey, n as getInvMastOptions, o as getInvMastStockKey, p as getInvMastStockOptions, q as getItemAttributesKey, r as getItemAttributesOptions, s as getItemCategoryKey, t as getItemCategoryOptions, u as getItemDetailsKey, v as getItemDetailsOptions, w as getItemPriceKey, x as getItemPriceOptions, y as getItemSearchInfiniteKey, z as getItemSearchInfiniteOptions, B as getJoomlaContentKey, D as getJoomlaContentListKey, E as getJoomlaContentListOptions, F as getJoomlaContentOptions, H as
|
|
1
|
+
import { G as GetItemCategoryApiOptions, P as PageData, S as SearchSuggestionsResponse, a as SearchSuggestion, I as InfiniteScrollPage, A as AugurCallbacks, C as CacheConfig, b as AugurApiClient, c as AugurAuthContext, d as PersistenceConfig } from './joomla-menu-doc-C0Dcq1eO.js';
|
|
2
|
+
export { e as AugurHooksProvider, f as CacheProvider, g as CacheTierConfig, h as getCartPricingQueryOptions, i as getCategoryItemsInfiniteKey, j as getCategoryItemsInfiniteOptions, k as getInvMastDocKey, l as getInvMastDocOptions, m as getInvMastKey, n as getInvMastOptions, o as getInvMastStockKey, p as getInvMastStockOptions, q as getItemAttributesKey, r as getItemAttributesOptions, s as getItemCategoryKey, t as getItemCategoryOptions, u as getItemDetailsKey, v as getItemDetailsOptions, w as getItemPriceKey, x as getItemPriceOptions, y as getItemSearchInfiniteKey, z as getItemSearchInfiniteOptions, B as getJoomlaContentKey, D as getJoomlaContentListKey, E as getJoomlaContentListOptions, F as getJoomlaContentOptions, H as getJoomlaMenuDocKey, J as getJoomlaMenuDocOptions, K as getJoomlaMenuKey, L as getJoomlaMenuOptions, M as getProductCategoryKey, N as getProductCategoryOptions, O as getProductSearchKey, Q as getProductSearchOptions, R as getSearchSuggestionsKey, T as getSearchSuggestionsOptions, U as useAugurApi, V as useAugurApiOptional, W as useAugurAuth, X as useAugurCache } from './joomla-menu-doc-C0Dcq1eO.js';
|
|
3
3
|
import * as zustand from 'zustand';
|
|
4
|
-
import { TCartLine, TItemsFilters, TPriceData, TInvMastDoc, TCategory, TItemDetails, TAttribute, TJoomlaContent, TJoomlaContentFilters } from '@simpleapps-com/augur-utils';
|
|
4
|
+
import { TCartLine, TItemsFilters, TPriceData, TInvMastDoc, TCategory, TItemDetails, TAttribute, TJoomlaContent, TJoomlaContentFilters, MenuItem, TMenuFilters } from '@simpleapps-com/augur-utils';
|
|
5
5
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
6
6
|
import { QueryKey } from '@tanstack/react-query';
|
|
7
7
|
import { ReactNode, createElement } from 'react';
|
|
@@ -11,7 +11,8 @@ import 'react/jsx-runtime';
|
|
|
11
11
|
interface CartState {
|
|
12
12
|
cartHdrUid: number | string | undefined;
|
|
13
13
|
cartLines: TCartLine[];
|
|
14
|
-
|
|
14
|
+
cartQuantityTotal: number;
|
|
15
|
+
cartLineCount: number;
|
|
15
16
|
setCartHdrUid: (cartHdrUid: number | string | undefined) => void;
|
|
16
17
|
setCartLines: (cartLines: TCartLine[]) => void;
|
|
17
18
|
clearCart: () => void;
|
|
@@ -35,7 +36,8 @@ declare const useCartStore: zustand.UseBoundStore<Omit<zustand.StoreApi<CartStat
|
|
|
35
36
|
}>;
|
|
36
37
|
declare const useCartHdrUid: () => string | number | undefined;
|
|
37
38
|
declare const useCartLines: () => TCartLine[];
|
|
38
|
-
declare const
|
|
39
|
+
declare const useCartQuantityTotal: () => number;
|
|
40
|
+
declare const useCartLineCount: () => number;
|
|
39
41
|
declare const useSetCartHdrUid: () => (cartHdrUid: number | string | undefined) => void;
|
|
40
42
|
declare const useSetCartLines: () => (cartLines: TCartLine[]) => void;
|
|
41
43
|
declare const useClearCart: () => () => void;
|
|
@@ -456,6 +458,27 @@ declare function useJoomlaContentList(categoryId: number | string | undefined, o
|
|
|
456
458
|
error: Error | null;
|
|
457
459
|
};
|
|
458
460
|
|
|
461
|
+
interface UseJoomlaMenuOptions {
|
|
462
|
+
enabled?: boolean;
|
|
463
|
+
queryFn?: () => Promise<MenuItem[]>;
|
|
464
|
+
filters?: Partial<TMenuFilters>;
|
|
465
|
+
}
|
|
466
|
+
declare function useJoomlaMenu(options?: UseJoomlaMenuOptions): {
|
|
467
|
+
menuItems: MenuItem[];
|
|
468
|
+
isLoading: boolean;
|
|
469
|
+
error: Error | null;
|
|
470
|
+
};
|
|
471
|
+
|
|
472
|
+
interface UseJoomlaMenuDocOptions {
|
|
473
|
+
enabled?: boolean;
|
|
474
|
+
queryFn?: () => Promise<MenuItem>;
|
|
475
|
+
}
|
|
476
|
+
declare function useJoomlaMenuDoc(menuId: number | string | undefined, options?: UseJoomlaMenuDocOptions): {
|
|
477
|
+
menuItem: MenuItem | null;
|
|
478
|
+
isLoading: boolean;
|
|
479
|
+
error: Error | null;
|
|
480
|
+
};
|
|
481
|
+
|
|
459
482
|
/**
|
|
460
483
|
* Factory function that creates a pre-configured provider + hook bundle,
|
|
461
484
|
* eliminating per-hook wrapper boilerplate in consumer sites.
|
|
@@ -490,8 +513,8 @@ interface CreateSiteHooksConfig {
|
|
|
490
513
|
cache?: CacheConfig;
|
|
491
514
|
}
|
|
492
515
|
interface SiteHooksProviderProps {
|
|
493
|
-
/**
|
|
494
|
-
api
|
|
516
|
+
/** SDK client instance. Optional when all data fetching is routed through callbacks. */
|
|
517
|
+
api?: AugurApiClient;
|
|
495
518
|
/** Auth context (partial -- missing fields are filled from config defaults). */
|
|
496
519
|
auth?: Partial<AugurAuthContext>;
|
|
497
520
|
children: ReactNode;
|
|
@@ -516,6 +539,8 @@ interface SiteHooks {
|
|
|
516
539
|
useItemSearchInfinite: typeof useItemSearchInfinite;
|
|
517
540
|
useJoomlaContent: typeof useJoomlaContent;
|
|
518
541
|
useJoomlaContentList: typeof useJoomlaContentList;
|
|
542
|
+
useJoomlaMenu: typeof useJoomlaMenu;
|
|
543
|
+
useJoomlaMenuDoc: typeof useJoomlaMenuDoc;
|
|
519
544
|
useDebounce: typeof useDebounce;
|
|
520
545
|
useFormatPrice: typeof useFormatPrice;
|
|
521
546
|
}
|
|
@@ -578,4 +603,4 @@ declare function useAugurPersistence(config: PersistenceConfig): {
|
|
|
578
603
|
};
|
|
579
604
|
};
|
|
580
605
|
|
|
581
|
-
export { AugurApiClient, AugurAuthContext, AugurCallbacks, CacheConfig, type CartActionCallbacks, type CartInitCallbacks, type CartPriceData, type CartPricingResult, type CartSessionInfo, type CreateSiteHooksConfig, GetItemCategoryApiOptions, InfiniteScrollPage, PageData, PersistenceConfig, SearchSuggestion, SearchSuggestionsResponse, createSiteHooks, useAugurPersistence, useCartActions, useCartHdrUid, useCartInitialization,
|
|
606
|
+
export { AugurApiClient, AugurAuthContext, AugurCallbacks, CacheConfig, type CartActionCallbacks, type CartInitCallbacks, type CartPriceData, type CartPricingResult, type CartSessionInfo, type CreateSiteHooksConfig, GetItemCategoryApiOptions, InfiniteScrollPage, PageData, PersistenceConfig, SearchSuggestion, SearchSuggestionsResponse, createSiteHooks, useAugurPersistence, useCartActions, useCartHdrUid, useCartInitialization, useCartLineCount, useCartLines, useCartPricing, useCartQuantityTotal, useCartStore, useCategoryItemsInfinite, useClearCart, useDebounce, useFormatPrice, useInvMast, useInvMastDoc, useInvMastStock, useItemAttributes, useItemCategory, useItemDetails, useItemFiltersStore, useItemPrice, useItemSearchInfinite, useJoomlaContent, useJoomlaContentList, useJoomlaMenu, useJoomlaMenuDoc, usePaginationPrefetch, useProductCategory, useProductSearch, useSearchSuggestions, useSetCartHdrUid, useSetCartLines };
|
package/dist/index.js
CHANGED
|
@@ -22,13 +22,17 @@ import {
|
|
|
22
22
|
getJoomlaContentListKey,
|
|
23
23
|
getJoomlaContentListOptions,
|
|
24
24
|
getJoomlaContentOptions,
|
|
25
|
+
getJoomlaMenuDocKey,
|
|
26
|
+
getJoomlaMenuDocOptions,
|
|
27
|
+
getJoomlaMenuKey,
|
|
28
|
+
getJoomlaMenuOptions,
|
|
25
29
|
getProductCategoryKey,
|
|
26
30
|
getProductCategoryOptions,
|
|
27
31
|
getProductSearchKey,
|
|
28
32
|
getProductSearchOptions,
|
|
29
33
|
getSearchSuggestionsKey,
|
|
30
34
|
getSearchSuggestionsOptions
|
|
31
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-LCWJOWAC.js";
|
|
32
36
|
|
|
33
37
|
// src/provider.tsx
|
|
34
38
|
import { createContext, useContext } from "react";
|
|
@@ -48,7 +52,15 @@ function AugurHooksProvider({
|
|
|
48
52
|
cache,
|
|
49
53
|
children
|
|
50
54
|
}) {
|
|
51
|
-
|
|
55
|
+
if (process.env.NODE_ENV === "development" && !api && !callbacks) {
|
|
56
|
+
console.warn(
|
|
57
|
+
"AugurHooksProvider: neither `api` nor `callbacks` provided. Hooks will fail at runtime unless every hook receives a queryFn override."
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
return /* @__PURE__ */ jsx(AugurApiContext.Provider, { value: api ?? null, children: /* @__PURE__ */ jsx(AugurCallbacksContext.Provider, { value: callbacks, children: /* @__PURE__ */ jsx(AugurAuthReactContext.Provider, { value: auth, children: /* @__PURE__ */ jsx(AugurCacheContext.Provider, { value: cache, children }) }) }) });
|
|
61
|
+
}
|
|
62
|
+
function useAugurApiOptional() {
|
|
63
|
+
return useContext(AugurApiContext);
|
|
52
64
|
}
|
|
53
65
|
function useAugurApi() {
|
|
54
66
|
const api = useContext(AugurApiContext);
|
|
@@ -77,17 +89,19 @@ var useCartStore = create()(
|
|
|
77
89
|
(set) => ({
|
|
78
90
|
cartHdrUid: void 0,
|
|
79
91
|
cartLines: [],
|
|
80
|
-
|
|
92
|
+
cartQuantityTotal: 0,
|
|
93
|
+
cartLineCount: 0,
|
|
81
94
|
setCartHdrUid: (cartHdrUid) => set({ cartHdrUid }, false, "setCartHdrUid"),
|
|
82
95
|
setCartLines: (cartLines) => {
|
|
83
|
-
const
|
|
96
|
+
const cartQuantityTotal = cartLines.reduce(
|
|
84
97
|
(sum, line) => sum + (line.quantity || 0),
|
|
85
98
|
0
|
|
86
99
|
);
|
|
87
|
-
|
|
100
|
+
const cartLineCount = cartLines.length;
|
|
101
|
+
set({ cartLines, cartQuantityTotal, cartLineCount }, false, "setCartLines");
|
|
88
102
|
},
|
|
89
103
|
clearCart: () => set(
|
|
90
|
-
{ cartHdrUid: void 0, cartLines: [],
|
|
104
|
+
{ cartHdrUid: void 0, cartLines: [], cartQuantityTotal: 0, cartLineCount: 0 },
|
|
91
105
|
false,
|
|
92
106
|
"clearCart"
|
|
93
107
|
)
|
|
@@ -97,7 +111,8 @@ var useCartStore = create()(
|
|
|
97
111
|
);
|
|
98
112
|
var useCartHdrUid = () => useCartStore((s) => s.cartHdrUid);
|
|
99
113
|
var useCartLines = () => useCartStore((s) => s.cartLines);
|
|
100
|
-
var
|
|
114
|
+
var useCartQuantityTotal = () => useCartStore((s) => s.cartQuantityTotal);
|
|
115
|
+
var useCartLineCount = () => useCartStore((s) => s.cartLineCount);
|
|
101
116
|
var useSetCartHdrUid = () => useCartStore((s) => s.setCartHdrUid);
|
|
102
117
|
var useSetCartLines = () => useCartStore((s) => s.setCartLines);
|
|
103
118
|
var useClearCart = () => useCartStore((s) => s.clearCart);
|
|
@@ -157,7 +172,7 @@ function useFormatPrice(locale = "en-US", currency = "USD") {
|
|
|
157
172
|
// src/hooks/use-item-price.ts
|
|
158
173
|
import { useQuery } from "@tanstack/react-query";
|
|
159
174
|
function useItemPrice(itemId, customerId, quantity = 1, options = {}) {
|
|
160
|
-
const api =
|
|
175
|
+
const api = useAugurApiOptional();
|
|
161
176
|
const callbacks = useAugurCallbacks();
|
|
162
177
|
const auth = useAugurAuth();
|
|
163
178
|
const cache = useAugurCache();
|
|
@@ -175,7 +190,7 @@ function useItemPrice(itemId, customerId, quantity = 1, options = {}) {
|
|
|
175
190
|
// src/hooks/use-inv-mast-doc.ts
|
|
176
191
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
177
192
|
function useInvMastDoc(invMastUid, itemId, options = {}) {
|
|
178
|
-
const api =
|
|
193
|
+
const api = useAugurApiOptional();
|
|
179
194
|
const callbacks = useAugurCallbacks();
|
|
180
195
|
const cache = useAugurCache();
|
|
181
196
|
const queryOpts = getInvMastDocOptions(
|
|
@@ -197,7 +212,7 @@ function useInvMastDoc(invMastUid, itemId, options = {}) {
|
|
|
197
212
|
// src/hooks/use-item-category.ts
|
|
198
213
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
199
214
|
function useItemCategory(itemCategoryUid, options = {}) {
|
|
200
|
-
const api =
|
|
215
|
+
const api = useAugurApiOptional();
|
|
201
216
|
const callbacks = useAugurCallbacks();
|
|
202
217
|
const cache = useAugurCache();
|
|
203
218
|
const queryOpts = getItemCategoryOptions(
|
|
@@ -217,7 +232,7 @@ function useItemCategory(itemCategoryUid, options = {}) {
|
|
|
217
232
|
// src/hooks/use-inv-mast.ts
|
|
218
233
|
import { useQuery as useQuery4 } from "@tanstack/react-query";
|
|
219
234
|
function useInvMast(invMastUid, itemId, options = {}) {
|
|
220
|
-
const api =
|
|
235
|
+
const api = useAugurApiOptional();
|
|
221
236
|
const callbacks = useAugurCallbacks();
|
|
222
237
|
const cache = useAugurCache();
|
|
223
238
|
const queryOpts = getInvMastOptions(api, invMastUid, itemId, cache);
|
|
@@ -232,7 +247,7 @@ function useInvMast(invMastUid, itemId, options = {}) {
|
|
|
232
247
|
// src/hooks/use-inv-mast-stock.ts
|
|
233
248
|
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
234
249
|
function useInvMastStock(invMastUid, options = {}) {
|
|
235
|
-
const api =
|
|
250
|
+
const api = useAugurApiOptional();
|
|
236
251
|
const callbacks = useAugurCallbacks();
|
|
237
252
|
const cache = useAugurCache();
|
|
238
253
|
const queryOpts = getInvMastStockOptions(api, invMastUid, cache);
|
|
@@ -263,7 +278,7 @@ function resolveData(data) {
|
|
|
263
278
|
};
|
|
264
279
|
}
|
|
265
280
|
function useProductCategory(itemCategoryUid, options = {}) {
|
|
266
|
-
const api =
|
|
281
|
+
const api = useAugurApiOptional();
|
|
267
282
|
const callbacks = useAugurCallbacks();
|
|
268
283
|
const cache = useAugurCache();
|
|
269
284
|
const baseOptions = itemCategoryUid ? getProductCategoryOptions(api, itemCategoryUid, cache) : {
|
|
@@ -291,7 +306,7 @@ function useProductCategory(itemCategoryUid, options = {}) {
|
|
|
291
306
|
// src/hooks/use-item-details.ts
|
|
292
307
|
import { useQuery as useQuery7 } from "@tanstack/react-query";
|
|
293
308
|
function useItemDetails(itemId, options = {}) {
|
|
294
|
-
const api =
|
|
309
|
+
const api = useAugurApiOptional();
|
|
295
310
|
const callbacks = useAugurCallbacks();
|
|
296
311
|
const cache = useAugurCache();
|
|
297
312
|
const { data, isLoading, error } = useQuery7({
|
|
@@ -319,7 +334,7 @@ function useItemDetails(itemId, options = {}) {
|
|
|
319
334
|
// src/hooks/use-item-attributes.ts
|
|
320
335
|
import { useQuery as useQuery8 } from "@tanstack/react-query";
|
|
321
336
|
function useItemAttributes(itemCategoryUid, options = {}) {
|
|
322
|
-
const api =
|
|
337
|
+
const api = useAugurApiOptional();
|
|
323
338
|
const callbacks = useAugurCallbacks();
|
|
324
339
|
const cache = useAugurCache();
|
|
325
340
|
const { data, isLoading, error } = useQuery8({
|
|
@@ -345,7 +360,7 @@ function useItemAttributes(itemCategoryUid, options = {}) {
|
|
|
345
360
|
// src/hooks/use-product-search.ts
|
|
346
361
|
import { useQuery as useQuery9 } from "@tanstack/react-query";
|
|
347
362
|
function useProductSearch(pageData, options = {}) {
|
|
348
|
-
const api =
|
|
363
|
+
const api = useAugurApiOptional();
|
|
349
364
|
const callbacks = useAugurCallbacks();
|
|
350
365
|
const cache = useAugurCache();
|
|
351
366
|
const defaultOptions = getProductSearchOptions(api, pageData, cache);
|
|
@@ -368,7 +383,7 @@ function useProductSearch(pageData, options = {}) {
|
|
|
368
383
|
// src/hooks/use-search-suggestions.ts
|
|
369
384
|
import { useQuery as useQuery10 } from "@tanstack/react-query";
|
|
370
385
|
function useSearchSuggestions(query, options = {}) {
|
|
371
|
-
const api =
|
|
386
|
+
const api = useAugurApiOptional();
|
|
372
387
|
const callbacks = useAugurCallbacks();
|
|
373
388
|
const cache = useAugurCache();
|
|
374
389
|
const limit = options.limit ?? 10;
|
|
@@ -675,7 +690,7 @@ function useCartInitialization(session, callbacks) {
|
|
|
675
690
|
import { useMemo as useMemo2 } from "react";
|
|
676
691
|
import { useQueries } from "@tanstack/react-query";
|
|
677
692
|
function useCartPricing(options = {}) {
|
|
678
|
-
const api =
|
|
693
|
+
const api = useAugurApiOptional();
|
|
679
694
|
const callbacks = useAugurCallbacks();
|
|
680
695
|
const auth = useAugurAuth();
|
|
681
696
|
const cache = useAugurCache();
|
|
@@ -786,7 +801,7 @@ var usePaginationPrefetch = ({
|
|
|
786
801
|
// src/hooks/use-category-items-infinite.ts
|
|
787
802
|
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
788
803
|
function useCategoryItemsInfinite(itemCategoryUid, itemsFilters, options = {}) {
|
|
789
|
-
const api =
|
|
804
|
+
const api = useAugurApiOptional();
|
|
790
805
|
const callbacks = useAugurCallbacks();
|
|
791
806
|
const cache = useAugurCache();
|
|
792
807
|
const { enabled = true } = options;
|
|
@@ -813,7 +828,7 @@ function useCategoryItemsInfinite(itemCategoryUid, itemsFilters, options = {}) {
|
|
|
813
828
|
// src/hooks/use-item-search-infinite.ts
|
|
814
829
|
import { useInfiniteQuery as useInfiniteQuery2 } from "@tanstack/react-query";
|
|
815
830
|
function useItemSearchInfinite(itemsFilters, itemCategoryUid, options = {}) {
|
|
816
|
-
const api =
|
|
831
|
+
const api = useAugurApiOptional();
|
|
817
832
|
const callbacks = useAugurCallbacks();
|
|
818
833
|
const cache = useAugurCache();
|
|
819
834
|
const { enabled = true } = options;
|
|
@@ -840,7 +855,7 @@ function useItemSearchInfinite(itemsFilters, itemCategoryUid, options = {}) {
|
|
|
840
855
|
// src/hooks/use-joomla-content.ts
|
|
841
856
|
import { useQuery as useQuery12 } from "@tanstack/react-query";
|
|
842
857
|
function useJoomlaContent(articleId, options = {}) {
|
|
843
|
-
const api =
|
|
858
|
+
const api = useAugurApiOptional();
|
|
844
859
|
const callbacks = useAugurCallbacks();
|
|
845
860
|
const cache = useAugurCache();
|
|
846
861
|
const { data, isLoading, error } = useQuery12({
|
|
@@ -862,7 +877,7 @@ function useJoomlaContent(articleId, options = {}) {
|
|
|
862
877
|
// src/hooks/use-joomla-content-list.ts
|
|
863
878
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
864
879
|
function useJoomlaContentList(categoryId, options = {}) {
|
|
865
|
-
const api =
|
|
880
|
+
const api = useAugurApiOptional();
|
|
866
881
|
const callbacks = useAugurCallbacks();
|
|
867
882
|
const cache = useAugurCache();
|
|
868
883
|
const { data, isLoading, error } = useQuery13({
|
|
@@ -883,6 +898,48 @@ function useJoomlaContentList(categoryId, options = {}) {
|
|
|
883
898
|
};
|
|
884
899
|
}
|
|
885
900
|
|
|
901
|
+
// src/hooks/use-joomla-menu.ts
|
|
902
|
+
import { useQuery as useQuery14 } from "@tanstack/react-query";
|
|
903
|
+
function useJoomlaMenu(options = {}) {
|
|
904
|
+
const api = useAugurApiOptional();
|
|
905
|
+
const callbacks = useAugurCallbacks();
|
|
906
|
+
const cache = useAugurCache();
|
|
907
|
+
const { data, isLoading, error } = useQuery14({
|
|
908
|
+
...getJoomlaMenuOptions(api, options.filters, cache),
|
|
909
|
+
...options.queryFn ?? callbacks?.getJoomlaMenu ? {
|
|
910
|
+
queryFn: options.queryFn ?? (() => callbacks.getJoomlaMenu(options.filters))
|
|
911
|
+
} : {},
|
|
912
|
+
enabled: options.enabled ?? true
|
|
913
|
+
});
|
|
914
|
+
return {
|
|
915
|
+
menuItems: data ?? [],
|
|
916
|
+
isLoading,
|
|
917
|
+
error
|
|
918
|
+
};
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
// src/hooks/use-joomla-menu-doc.ts
|
|
922
|
+
import { useQuery as useQuery15 } from "@tanstack/react-query";
|
|
923
|
+
function useJoomlaMenuDoc(menuId, options = {}) {
|
|
924
|
+
const api = useAugurApiOptional();
|
|
925
|
+
const callbacks = useAugurCallbacks();
|
|
926
|
+
const cache = useAugurCache();
|
|
927
|
+
const { data, isLoading, error } = useQuery15({
|
|
928
|
+
...menuId ? getJoomlaMenuDocOptions(api, menuId, cache) : {
|
|
929
|
+
queryKey: getJoomlaMenuDocKey(""),
|
|
930
|
+
/* v8 ignore next */
|
|
931
|
+
queryFn: () => Promise.reject()
|
|
932
|
+
},
|
|
933
|
+
...options.queryFn ?? callbacks?.getJoomlaMenuDoc ? { queryFn: options.queryFn ?? (() => callbacks.getJoomlaMenuDoc(menuId)) } : {},
|
|
934
|
+
enabled: (options.enabled ?? true) && !!menuId
|
|
935
|
+
});
|
|
936
|
+
return {
|
|
937
|
+
menuItem: data ?? null,
|
|
938
|
+
isLoading,
|
|
939
|
+
error
|
|
940
|
+
};
|
|
941
|
+
}
|
|
942
|
+
|
|
886
943
|
// src/create-site-hooks.ts
|
|
887
944
|
import { createElement } from "react";
|
|
888
945
|
function createSiteHooks(config = {}) {
|
|
@@ -930,6 +987,8 @@ function createSiteHooks(config = {}) {
|
|
|
930
987
|
// Hooks -- Joomla
|
|
931
988
|
useJoomlaContent,
|
|
932
989
|
useJoomlaContentList,
|
|
990
|
+
useJoomlaMenu,
|
|
991
|
+
useJoomlaMenuDoc,
|
|
933
992
|
// Hooks -- utilities
|
|
934
993
|
useDebounce,
|
|
935
994
|
useFormatPrice
|
|
@@ -1123,6 +1182,10 @@ export {
|
|
|
1123
1182
|
getJoomlaContentListKey,
|
|
1124
1183
|
getJoomlaContentListOptions,
|
|
1125
1184
|
getJoomlaContentOptions,
|
|
1185
|
+
getJoomlaMenuDocKey,
|
|
1186
|
+
getJoomlaMenuDocOptions,
|
|
1187
|
+
getJoomlaMenuKey,
|
|
1188
|
+
getJoomlaMenuOptions,
|
|
1126
1189
|
getProductCategoryKey,
|
|
1127
1190
|
getProductCategoryOptions,
|
|
1128
1191
|
getProductSearchKey,
|
|
@@ -1130,15 +1193,17 @@ export {
|
|
|
1130
1193
|
getSearchSuggestionsKey,
|
|
1131
1194
|
getSearchSuggestionsOptions,
|
|
1132
1195
|
useAugurApi,
|
|
1196
|
+
useAugurApiOptional,
|
|
1133
1197
|
useAugurAuth,
|
|
1134
1198
|
useAugurCache,
|
|
1135
1199
|
useAugurPersistence,
|
|
1136
1200
|
useCartActions,
|
|
1137
1201
|
useCartHdrUid,
|
|
1138
1202
|
useCartInitialization,
|
|
1139
|
-
|
|
1203
|
+
useCartLineCount,
|
|
1140
1204
|
useCartLines,
|
|
1141
1205
|
useCartPricing,
|
|
1206
|
+
useCartQuantityTotal,
|
|
1142
1207
|
useCartStore,
|
|
1143
1208
|
useCategoryItemsInfinite,
|
|
1144
1209
|
useClearCart,
|
|
@@ -1155,6 +1220,8 @@ export {
|
|
|
1155
1220
|
useItemSearchInfinite,
|
|
1156
1221
|
useJoomlaContent,
|
|
1157
1222
|
useJoomlaContentList,
|
|
1223
|
+
useJoomlaMenu,
|
|
1224
|
+
useJoomlaMenuDoc,
|
|
1158
1225
|
usePaginationPrefetch,
|
|
1159
1226
|
useProductCategory,
|
|
1160
1227
|
useProductSearch,
|