@viu/emporix-sdk-react 2.5.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hooks.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- export { A as AddressMutationsApi, C as CartMutationsApi, a as CheckoutApi, b as CompanySwitcherApi, c as CouponActionVars, d as CustomerSessionApi, P as PasswordResetApi, U as UseAvailabilitiesOptions, e as UseAvailabilityOptions, f as UseCancelOrderVars, g as UseMyOrdersInfiniteOptions, h as UseMyOrdersOptions, i as UseOrderOptions, j as UseOrderTransitionVars, k as UseReorderResult, l as UseReorderVars, m as UseUpdateSalesOrderVars, n as UseVariantChildrenOptions, u as useActiveCart, o as useAddToShoppingList, p as useAddressMutations, q as useAssignContact, r as useAvailabilities, s as useAvailability, t as useCancelOrder, v as useCart, w as useCartMutations, x as useCategories, y as useCategoriesInfinite, z as useCategory, B as useCategoryTree, D as useChangePassword, E as useCheckout, F as useCompany, G as useCompanyContacts, H as useCompanyGroups, I as useCompanyLocations, J as useCompanySwitcher, K as useCreateCart, L as useCreateCompany, M as useCreateLocation, N as useCreateReturn, O as useCreateShoppingList, Q as useCustomerAddresses, R as useCustomerSession, S as useDefaultSite, T as useDeleteCompany, V as useDeleteLocation, W as useDeleteShoppingList, X as useMatchPrices, Y as useMatchPricesChunked, Z as useMyCompanies, _ as useMyOrders, $ as useMyOrdersInfinite, a0 as useMyReturns, a1 as useMyRewardPoints, a2 as useMyRewardPointsSummary, a3 as useMySegmentCategories, a4 as useMySegmentCategoriesInfinite, a5 as useMySegmentCategoryTree, a6 as useMySegmentItems, a7 as useMySegmentProducts, a8 as useMySegmentProductsInfinite, a9 as useMySegments, aa as useOrder, ab as useOrderTransition, ac as usePasswordReset, ad as usePaymentModes, ae as useProduct, af as useProductByCode, ag as useProductMedia, ah as useProductSearch, ai as useProducts, aj as useProductsByCodes, ak as useProductsInCategory, al as useProductsInCategoryInfinite, am as useProductsInfinite, an as useRedeemCoupon, ao as useRedeemOptions, ap as useRedeemRewardPoints, aq as useRemoveFromShoppingList, ar as useReorder, as as useReturn, at as useSalesOrder, au as useSetShoppingListItemQuantity, av as useShoppingLists, aw as useSiteContext, ax as useSites, ay as useUnassignContact, az as useUpdateCompany, aA as useUpdateContactAssignment, aB as useUpdateCustomer, aC as useUpdateLocation, aD as useUpdateSalesOrder, aE as useValidateCoupon, aF as useVariantChildren } from './use-returns-C1juSNfc.cjs';
1
+ export { A as AddressMutationsApi, C as CartMutationsApi, a as CheckoutApi, b as CompanySwitcherApi, c as CouponActionVars, d as CustomerSessionApi, P as PasswordResetApi, U as UseAvailabilitiesOptions, e as UseAvailabilityOptions, f as UseCancelOrderVars, g as UseMyOrdersInfiniteOptions, h as UseMyOrdersOptions, i as UseOrderOptions, j as UseOrderTransitionVars, k as UseReorderResult, l as UseReorderVars, m as UseUpdateSalesOrderVars, n as UseVariantChildrenOptions, u as useActiveCart, o as useAddToShoppingList, p as useAddressMutations, q as useAssignContact, r as useAvailabilities, s as useAvailability, t as useCancelOrder, v as useCart, w as useCartMutations, x as useCategories, y as useCategoriesInfinite, z as useCategory, B as useCategoryTree, D as useChangePassword, E as useCheckout, F as useCompany, G as useCompanyContacts, H as useCompanyGroups, I as useCompanyLocations, J as useCompanySwitcher, K as useCreateCart, L as useCreateCompany, M as useCreateLocation, N as useCreateReturn, O as useCreateShoppingList, Q as useCustomerAddresses, R as useCustomerSession, S as useDefaultSite, T as useDeleteCompany, V as useDeleteLocation, W as useDeleteShoppingList, X as useMatchPrices, Y as useMatchPricesChunked, Z as useMyCompanies, _ as useMyOrders, $ as useMyOrdersInfinite, a0 as useMyReturns, a1 as useMyRewardPoints, a2 as useMyRewardPointsSummary, a3 as useMySegmentCategories, a4 as useMySegmentCategoriesInfinite, a5 as useMySegmentCategoryTree, a6 as useMySegmentItems, a7 as useMySegmentProducts, a8 as useMySegmentProductsInfinite, a9 as useMySegments, aa as useOrder, ab as useOrderTransition, ac as usePasswordReset, ad as usePaymentModes, ae as useProduct, af as useProductByCode, ag as useProductMedia, ah as useProductSearch, ai as useProducts, aj as useProductsByCodes, ak as useProductsInCategory, al as useProductsInCategoryInfinite, am as useProductsInfinite, an as useRedeemCoupon, ao as useRedeemOptions, ap as useRedeemRewardPoints, aq as useRemoveFromShoppingList, ar as useReorder, as as useReturn, at as useSalesOrder, au as useSetShoppingListItemQuantity, av as useShoppingLists, aw as useSiteContext, ax as useSites, ay as useSubcategories, az as useUnassignContact, aA as useUpdateCompany, aB as useUpdateContactAssignment, aC as useUpdateCustomer, aD as useUpdateLocation, aE as useUpdateSalesOrder, aF as useValidateCoupon, aG as useVariantChildren } from './use-returns-BMcuyi9J.cjs';
2
2
  import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
3
3
  import { ApprovalPatch, Approval, ApprovalList, ApprovalCreated, ApprovalInput } from '@viu/emporix-sdk';
4
- import './provider-BhvQWnnh.cjs';
4
+ import './provider-WHISqTG2.cjs';
5
5
  import 'react';
6
6
  import './storage.cjs';
7
7
 
package/dist/hooks.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { A as AddressMutationsApi, C as CartMutationsApi, a as CheckoutApi, b as CompanySwitcherApi, c as CouponActionVars, d as CustomerSessionApi, P as PasswordResetApi, U as UseAvailabilitiesOptions, e as UseAvailabilityOptions, f as UseCancelOrderVars, g as UseMyOrdersInfiniteOptions, h as UseMyOrdersOptions, i as UseOrderOptions, j as UseOrderTransitionVars, k as UseReorderResult, l as UseReorderVars, m as UseUpdateSalesOrderVars, n as UseVariantChildrenOptions, u as useActiveCart, o as useAddToShoppingList, p as useAddressMutations, q as useAssignContact, r as useAvailabilities, s as useAvailability, t as useCancelOrder, v as useCart, w as useCartMutations, x as useCategories, y as useCategoriesInfinite, z as useCategory, B as useCategoryTree, D as useChangePassword, E as useCheckout, F as useCompany, G as useCompanyContacts, H as useCompanyGroups, I as useCompanyLocations, J as useCompanySwitcher, K as useCreateCart, L as useCreateCompany, M as useCreateLocation, N as useCreateReturn, O as useCreateShoppingList, Q as useCustomerAddresses, R as useCustomerSession, S as useDefaultSite, T as useDeleteCompany, V as useDeleteLocation, W as useDeleteShoppingList, X as useMatchPrices, Y as useMatchPricesChunked, Z as useMyCompanies, _ as useMyOrders, $ as useMyOrdersInfinite, a0 as useMyReturns, a1 as useMyRewardPoints, a2 as useMyRewardPointsSummary, a3 as useMySegmentCategories, a4 as useMySegmentCategoriesInfinite, a5 as useMySegmentCategoryTree, a6 as useMySegmentItems, a7 as useMySegmentProducts, a8 as useMySegmentProductsInfinite, a9 as useMySegments, aa as useOrder, ab as useOrderTransition, ac as usePasswordReset, ad as usePaymentModes, ae as useProduct, af as useProductByCode, ag as useProductMedia, ah as useProductSearch, ai as useProducts, aj as useProductsByCodes, ak as useProductsInCategory, al as useProductsInCategoryInfinite, am as useProductsInfinite, an as useRedeemCoupon, ao as useRedeemOptions, ap as useRedeemRewardPoints, aq as useRemoveFromShoppingList, ar as useReorder, as as useReturn, at as useSalesOrder, au as useSetShoppingListItemQuantity, av as useShoppingLists, aw as useSiteContext, ax as useSites, ay as useUnassignContact, az as useUpdateCompany, aA as useUpdateContactAssignment, aB as useUpdateCustomer, aC as useUpdateLocation, aD as useUpdateSalesOrder, aE as useValidateCoupon, aF as useVariantChildren } from './use-returns-Dspo-4xb.js';
1
+ export { A as AddressMutationsApi, C as CartMutationsApi, a as CheckoutApi, b as CompanySwitcherApi, c as CouponActionVars, d as CustomerSessionApi, P as PasswordResetApi, U as UseAvailabilitiesOptions, e as UseAvailabilityOptions, f as UseCancelOrderVars, g as UseMyOrdersInfiniteOptions, h as UseMyOrdersOptions, i as UseOrderOptions, j as UseOrderTransitionVars, k as UseReorderResult, l as UseReorderVars, m as UseUpdateSalesOrderVars, n as UseVariantChildrenOptions, u as useActiveCart, o as useAddToShoppingList, p as useAddressMutations, q as useAssignContact, r as useAvailabilities, s as useAvailability, t as useCancelOrder, v as useCart, w as useCartMutations, x as useCategories, y as useCategoriesInfinite, z as useCategory, B as useCategoryTree, D as useChangePassword, E as useCheckout, F as useCompany, G as useCompanyContacts, H as useCompanyGroups, I as useCompanyLocations, J as useCompanySwitcher, K as useCreateCart, L as useCreateCompany, M as useCreateLocation, N as useCreateReturn, O as useCreateShoppingList, Q as useCustomerAddresses, R as useCustomerSession, S as useDefaultSite, T as useDeleteCompany, V as useDeleteLocation, W as useDeleteShoppingList, X as useMatchPrices, Y as useMatchPricesChunked, Z as useMyCompanies, _ as useMyOrders, $ as useMyOrdersInfinite, a0 as useMyReturns, a1 as useMyRewardPoints, a2 as useMyRewardPointsSummary, a3 as useMySegmentCategories, a4 as useMySegmentCategoriesInfinite, a5 as useMySegmentCategoryTree, a6 as useMySegmentItems, a7 as useMySegmentProducts, a8 as useMySegmentProductsInfinite, a9 as useMySegments, aa as useOrder, ab as useOrderTransition, ac as usePasswordReset, ad as usePaymentModes, ae as useProduct, af as useProductByCode, ag as useProductMedia, ah as useProductSearch, ai as useProducts, aj as useProductsByCodes, ak as useProductsInCategory, al as useProductsInCategoryInfinite, am as useProductsInfinite, an as useRedeemCoupon, ao as useRedeemOptions, ap as useRedeemRewardPoints, aq as useRemoveFromShoppingList, ar as useReorder, as as useReturn, at as useSalesOrder, au as useSetShoppingListItemQuantity, av as useShoppingLists, aw as useSiteContext, ax as useSites, ay as useSubcategories, az as useUnassignContact, aA as useUpdateCompany, aB as useUpdateContactAssignment, aC as useUpdateCustomer, aD as useUpdateLocation, aE as useUpdateSalesOrder, aF as useValidateCoupon, aG as useVariantChildren } from './use-returns-FGAfGMpY.js';
2
2
  import { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
3
3
  import { ApprovalPatch, Approval, ApprovalList, ApprovalCreated, ApprovalInput } from '@viu/emporix-sdk';
4
- import './provider-fvcYdqqX.js';
4
+ import './provider-CLNEKOuu.js';
5
5
  import 'react';
6
6
  import './storage.js';
7
7
 
package/dist/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
- export { useActiveCart, useAddToShoppingList, useAddressMutations, useApproval, useApprovals, useAssignContact, useAvailabilities, useAvailability, useCancelOrder, useCart, useCartMutations, useCategories, useCategoriesInfinite, useCategory, useCategoryTree, useChangePassword, useCheckout, useCompany, useCompanyContacts, useCompanyGroups, useCompanyLocations, useCompanySwitcher, useCreateApproval, useCreateCart, useCreateCompany, useCreateLocation, useCreateReturn, useCreateShoppingList, useCustomerAddresses, useCustomerSession, useDefaultSite, useDeleteCompany, useDeleteLocation, useDeleteShoppingList, useMatchPrices, useMatchPricesChunked, useMyCompanies, useMyOrders, useMyOrdersInfinite, useMyReturns, useMyRewardPoints, useMyRewardPointsSummary, useMySegmentCategories, useMySegmentCategoriesInfinite, useMySegmentCategoryTree, useMySegmentItems, useMySegmentProducts, useMySegmentProductsInfinite, useMySegments, useOrder, useOrderTransition, usePasswordReset, usePaymentModes, useProduct, useProductByCode, useProductMedia, useProductSearch, useProducts, useProductsByCodes, useProductsInCategory, useProductsInCategoryInfinite, useProductsInfinite, useRedeemCoupon, useRedeemOptions, useRedeemRewardPoints, useRemoveFromShoppingList, useReorder, useReturn, useSalesOrder, useSetShoppingListItemQuantity, useShoppingLists, useSiteContext, useSites, useUnassignContact, useUpdateApproval, useUpdateCompany, useUpdateContactAssignment, useUpdateCustomer, useUpdateLocation, useUpdateSalesOrder, useValidateCoupon, useVariantChildren } from './chunk-QMBRDYLW.js';
2
- import './chunk-D43CSHK3.js';
1
+ export { useActiveCart, useAddToShoppingList, useAddressMutations, useApproval, useApprovals, useAssignContact, useAvailabilities, useAvailability, useCancelOrder, useCart, useCartMutations, useCategories, useCategoriesInfinite, useCategory, useCategoryTree, useChangePassword, useCheckout, useCompany, useCompanyContacts, useCompanyGroups, useCompanyLocations, useCompanySwitcher, useCreateApproval, useCreateCart, useCreateCompany, useCreateLocation, useCreateReturn, useCreateShoppingList, useCustomerAddresses, useCustomerSession, useDefaultSite, useDeleteCompany, useDeleteLocation, useDeleteShoppingList, useMatchPrices, useMatchPricesChunked, useMyCompanies, useMyOrders, useMyOrdersInfinite, useMyReturns, useMyRewardPoints, useMyRewardPointsSummary, useMySegmentCategories, useMySegmentCategoriesInfinite, useMySegmentCategoryTree, useMySegmentItems, useMySegmentProducts, useMySegmentProductsInfinite, useMySegments, useOrder, useOrderTransition, usePasswordReset, usePaymentModes, useProduct, useProductByCode, useProductMedia, useProductSearch, useProducts, useProductsByCodes, useProductsInCategory, useProductsInCategoryInfinite, useProductsInfinite, useRedeemCoupon, useRedeemOptions, useRedeemRewardPoints, useRemoveFromShoppingList, useReorder, useReturn, useSalesOrder, useSetShoppingListItemQuantity, useShoppingLists, useSiteContext, useSites, useSubcategories, useUnassignContact, useUpdateApproval, useUpdateCompany, useUpdateContactAssignment, useUpdateCustomer, useUpdateLocation, useUpdateSalesOrder, useValidateCoupon, useVariantChildren } from './chunk-TJXNTSXN.js';
2
+ import './chunk-SDRV73LG.js';
3
3
  import './chunk-FBQY2N7S.js';
4
4
  //# sourceMappingURL=hooks.js.map
5
5
  //# sourceMappingURL=hooks.js.map
package/dist/index.cjs CHANGED
@@ -379,6 +379,8 @@ function EmporixProvider({
379
379
  initialSiteCode,
380
380
  initialActiveLegalEntityId,
381
381
  onTelemetry,
382
+ autoRefreshCustomerToken,
383
+ onCustomerSessionExpired,
382
384
  children
383
385
  }) {
384
386
  const value = react.useMemo(() => {
@@ -492,6 +494,36 @@ function EmporixProvider({
492
494
  unsubStorage?.();
493
495
  };
494
496
  }, [qc, onTelemetry, client, value.storage, safeEmit]);
497
+ react.useEffect(() => {
498
+ if (!autoRefreshCustomerToken) return;
499
+ const storage2 = value.storage;
500
+ client.setCustomerTokenRefresher({
501
+ refresh: async () => {
502
+ const refreshToken = storage2.getRefreshToken();
503
+ if (!refreshToken) {
504
+ safeEmit({ type: "auth.refresh", kind: "customer", success: false, tenant: client.tenant });
505
+ onCustomerSessionExpired?.();
506
+ return null;
507
+ }
508
+ try {
509
+ const legalEntityId = storage2.getActiveLegalEntityId() ?? void 0;
510
+ const s = await client.customers.refresh({
511
+ refreshToken,
512
+ ...legalEntityId ? { legalEntityId } : {}
513
+ });
514
+ storage2.setCustomerToken(s.customerToken);
515
+ if (s.refreshToken) storage2.setRefreshToken(s.refreshToken);
516
+ safeEmit({ type: "auth.refresh", kind: "customer", success: true, tenant: client.tenant });
517
+ return s.customerToken;
518
+ } catch {
519
+ safeEmit({ type: "auth.refresh", kind: "customer", success: false, tenant: client.tenant });
520
+ onCustomerSessionExpired?.();
521
+ return null;
522
+ }
523
+ }
524
+ });
525
+ return () => client.setCustomerTokenRefresher(null);
526
+ }, [autoRefreshCustomerToken, client, value.storage, safeEmit, onCustomerSessionExpired]);
495
527
  return /* @__PURE__ */ jsxRuntime.jsx(EmporixContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(EmporixTelemetryContext.Provider, { value: telemetryValue, children: /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: qc, children: /* @__PURE__ */ jsxRuntime.jsx(
496
528
  SiteContextProvider,
497
529
  {
@@ -1038,6 +1070,17 @@ function useCategory(categoryId, options = {}) {
1038
1070
  staleTime: CATEGORIES_STALE_TIME
1039
1071
  });
1040
1072
  }
1073
+ function useSubcategories(categoryId, params = {}, options = {}) {
1074
+ const { client } = useEmporix();
1075
+ const { ctx } = useReadAuth(options.auth);
1076
+ const { siteCode } = useReadSite();
1077
+ return reactQuery.useQuery({
1078
+ queryKey: emporixKey("subcategories", [categoryId ?? null, params], { tenant: client.tenant, authKind: ctx.kind, siteCode }),
1079
+ enabled: typeof categoryId === "string" && categoryId !== "",
1080
+ queryFn: () => client.categories.subcategories(categoryId, params, ctx),
1081
+ staleTime: CATEGORIES_STALE_TIME
1082
+ });
1083
+ }
1041
1084
  function useCategories(params = {}, options = {}) {
1042
1085
  const { client } = useEmporix();
1043
1086
  const { ctx } = useReadAuth(options.auth);
@@ -1061,13 +1104,13 @@ function useCategoriesInfinite(params = {}, options = {}) {
1061
1104
  staleTime: CATEGORIES_STALE_TIME
1062
1105
  });
1063
1106
  }
1064
- function useCategoryTree(rootId, options = {}) {
1107
+ function useCategoryTree(options = {}) {
1065
1108
  const { client } = useEmporix();
1066
1109
  const { ctx } = useReadAuth(options.auth);
1067
1110
  const { siteCode } = useReadSite();
1068
1111
  return reactQuery.useQuery({
1069
- queryKey: emporixKey("category-tree", [rootId ?? null], { tenant: client.tenant, authKind: ctx.kind, siteCode }),
1070
- queryFn: () => client.categories.tree(rootId, ctx),
1112
+ queryKey: emporixKey("category-tree", [], { tenant: client.tenant, authKind: ctx.kind, siteCode }),
1113
+ queryFn: () => client.categories.tree(ctx),
1071
1114
  staleTime: CATEGORIES_STALE_TIME
1072
1115
  });
1073
1116
  }
@@ -2114,6 +2157,7 @@ exports.useSetShoppingListItemQuantity = useSetShoppingListItemQuantity;
2114
2157
  exports.useShoppingLists = useShoppingLists;
2115
2158
  exports.useSiteContext = useSiteContext;
2116
2159
  exports.useSites = useSites;
2160
+ exports.useSubcategories = useSubcategories;
2117
2161
  exports.useUnassignContact = useUnassignContact;
2118
2162
  exports.useUpdateCompany = useUpdateCompany;
2119
2163
  exports.useUpdateContactAssignment = useUpdateContactAssignment;