@viu/emporix-sdk-react 2.9.0 → 2.10.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 useAddGroupMember, p as useAddToShoppingList, q as useAddressMutations, r as useAssignContact, s as useAvailabilities, t as useAvailability, v as useCancelOrder, w as useCart, x as useCartMutations, y as useCategories, z as useCategoriesInfinite, B as useCategory, D as useCategoryTree, E as useChangePassword, F as useCheckout, G as useCompany, H as useCompanyContacts, I as useCompanyGroups, J as useCompanyLocations, K as useCompanySwitcher, L as useCreateCart, M as useCreateCompany, N as useCreateLocation, O as useCreateReturn, Q as useCreateShoppingList, R as useCustomerAddresses, S as useCustomerSession, T as useDefaultSite, V as useDeleteCompany, W as useDeleteLocation, X as useDeleteShoppingList, Y as useMatchPrices, Z as useMatchPricesChunked, _ as useMyCompanies, $ as useMyOrders, a0 as useMyOrdersInfinite, a1 as useMyReturns, a2 as useMyRewardPoints, a3 as useMyRewardPointsSummary, a4 as useMySegmentCategories, a5 as useMySegmentCategoriesInfinite, a6 as useMySegmentCategoryTree, a7 as useMySegmentItems, a8 as useMySegmentProducts, a9 as useMySegmentProductsInfinite, aa as useMySegments, ab as useOrder, ac as useOrderTransition, ad as usePasswordReset, ae as usePaymentModes, af as useProduct, ag as useProductByCode, ah as useProductMedia, ai as useProductNameSearch, aj as useProductSearch, ak as useProducts, al as useProductsByCodes, am as useProductsInCategory, an as useProductsInCategoryInfinite, ao as useProductsInfinite, ap as useRedeemCoupon, aq as useRedeemOptions, ar as useRedeemRewardPoints, as as useRemoveFromShoppingList, at as useRemoveGroupMember, au as useReorder, av as useReturn, aw as useSalesOrder, ax as useSetShoppingListItemQuantity, ay as useShoppingLists, az as useSiteContext, aA as useSites, aB as useSubcategories, aC as useUnassignContact, aD as useUpdateCompany, aE as useUpdateContactAssignment, aF as useUpdateCustomer, aG as useUpdateLocation, aH as useUpdateSalesOrder, aI as useValidateCoupon, aJ as useVariantChildren } from './use-returns-D-P399mP.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 useAddGroupMember, p as useAddToShoppingList, q as useAddressMutations, r as useAssignContact, s as useAvailabilities, t as useAvailability, v as useCancelOrder, w as useCart, x as useCartMutations, y as useCategories, z as useCategoriesInfinite, B as useCategory, D as useCategoryTree, E as useChangePassword, F as useCheckout, G as useCompany, H as useCompanyContacts, I as useCompanyGroups, J as useCompanyLocations, K as useCompanySwitcher, L as useCreateCart, M as useCreateCompany, N as useCreateLocation, O as useCreateReturn, Q as useCreateShoppingList, R as useCustomerAddresses, S as useCustomerSession, T as useDefaultSite, V as useDeleteCompany, W as useDeleteLocation, X as useDeleteShoppingList, Y as useMatchPrices, Z as useMatchPricesChunked, _ as useMyCompanies, $ as useMyOrders, a0 as useMyOrdersInfinite, a1 as useMyReturns, a2 as useMyRewardPoints, a3 as useMyRewardPointsSummary, a4 as useMySegmentCategories, a5 as useMySegmentCategoriesInfinite, a6 as useMySegmentCategoryTree, a7 as useMySegmentItems, a8 as useMySegmentProducts, a9 as useMySegmentProductsInfinite, aa as useMySegments, ab as useOrder, ac as useOrderTransition, ad as usePasswordReset, ae as usePaymentModes, af as useProduct, ag as useProductByCode, ah as useProductMedia, ai as useProductNameSearch, aj as useProductSearch, ak as useProducts, al as useProductsByCodes, am as useProductsInCategory, an as useProductsInCategoryInfinite, ao as useProductsInfinite, ap as useRedeemCoupon, aq as useRedeemOptions, ar as useRedeemRewardPoints, as as useRemoveFromShoppingList, at as useRemoveGroupMember, au as useReorder, av as useReturn, aw as useSalesOrder, ax as useSetShoppingListItemQuantity, ay as useShoppingLists, az as useSiteContext, aA as useSites, aB as useSubcategories, aC as useUnassignContact, aD as useUpdateCompany, aE as useUpdateContactAssignment, aF as useUpdateCustomer, aG as useUpdateLocation, aH as useUpdateSalesOrder, aI as useValidateCoupon, aJ as useVariantChildren } from './use-returns-CnMbbCAM.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-WHISqTG2.cjs';
4
+ import './provider-CfgMAu8B.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 useAddGroupMember, p as useAddToShoppingList, q as useAddressMutations, r as useAssignContact, s as useAvailabilities, t as useAvailability, v as useCancelOrder, w as useCart, x as useCartMutations, y as useCategories, z as useCategoriesInfinite, B as useCategory, D as useCategoryTree, E as useChangePassword, F as useCheckout, G as useCompany, H as useCompanyContacts, I as useCompanyGroups, J as useCompanyLocations, K as useCompanySwitcher, L as useCreateCart, M as useCreateCompany, N as useCreateLocation, O as useCreateReturn, Q as useCreateShoppingList, R as useCustomerAddresses, S as useCustomerSession, T as useDefaultSite, V as useDeleteCompany, W as useDeleteLocation, X as useDeleteShoppingList, Y as useMatchPrices, Z as useMatchPricesChunked, _ as useMyCompanies, $ as useMyOrders, a0 as useMyOrdersInfinite, a1 as useMyReturns, a2 as useMyRewardPoints, a3 as useMyRewardPointsSummary, a4 as useMySegmentCategories, a5 as useMySegmentCategoriesInfinite, a6 as useMySegmentCategoryTree, a7 as useMySegmentItems, a8 as useMySegmentProducts, a9 as useMySegmentProductsInfinite, aa as useMySegments, ab as useOrder, ac as useOrderTransition, ad as usePasswordReset, ae as usePaymentModes, af as useProduct, ag as useProductByCode, ah as useProductMedia, ai as useProductNameSearch, aj as useProductSearch, ak as useProducts, al as useProductsByCodes, am as useProductsInCategory, an as useProductsInCategoryInfinite, ao as useProductsInfinite, ap as useRedeemCoupon, aq as useRedeemOptions, ar as useRedeemRewardPoints, as as useRemoveFromShoppingList, at as useRemoveGroupMember, au as useReorder, av as useReturn, aw as useSalesOrder, ax as useSetShoppingListItemQuantity, ay as useShoppingLists, az as useSiteContext, aA as useSites, aB as useSubcategories, aC as useUnassignContact, aD as useUpdateCompany, aE as useUpdateContactAssignment, aF as useUpdateCustomer, aG as useUpdateLocation, aH as useUpdateSalesOrder, aI as useValidateCoupon, aJ as useVariantChildren } from './use-returns-cBvLR-tm.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 useAddGroupMember, p as useAddToShoppingList, q as useAddressMutations, r as useAssignContact, s as useAvailabilities, t as useAvailability, v as useCancelOrder, w as useCart, x as useCartMutations, y as useCategories, z as useCategoriesInfinite, B as useCategory, D as useCategoryTree, E as useChangePassword, F as useCheckout, G as useCompany, H as useCompanyContacts, I as useCompanyGroups, J as useCompanyLocations, K as useCompanySwitcher, L as useCreateCart, M as useCreateCompany, N as useCreateLocation, O as useCreateReturn, Q as useCreateShoppingList, R as useCustomerAddresses, S as useCustomerSession, T as useDefaultSite, V as useDeleteCompany, W as useDeleteLocation, X as useDeleteShoppingList, Y as useMatchPrices, Z as useMatchPricesChunked, _ as useMyCompanies, $ as useMyOrders, a0 as useMyOrdersInfinite, a1 as useMyReturns, a2 as useMyRewardPoints, a3 as useMyRewardPointsSummary, a4 as useMySegmentCategories, a5 as useMySegmentCategoriesInfinite, a6 as useMySegmentCategoryTree, a7 as useMySegmentItems, a8 as useMySegmentProducts, a9 as useMySegmentProductsInfinite, aa as useMySegments, ab as useOrder, ac as useOrderTransition, ad as usePasswordReset, ae as usePaymentModes, af as useProduct, ag as useProductByCode, ah as useProductMedia, ai as useProductNameSearch, aj as useProductSearch, ak as useProducts, al as useProductsByCodes, am as useProductsInCategory, an as useProductsInCategoryInfinite, ao as useProductsInfinite, ap as useRedeemCoupon, aq as useRedeemOptions, ar as useRedeemRewardPoints, as as useRemoveFromShoppingList, at as useRemoveGroupMember, au as useReorder, av as useReturn, aw as useSalesOrder, ax as useSetShoppingListItemQuantity, ay as useShoppingLists, az as useSiteContext, aA as useSites, aB as useSubcategories, aC as useUnassignContact, aD as useUpdateCompany, aE as useUpdateContactAssignment, aF as useUpdateCustomer, aG as useUpdateLocation, aH as useUpdateSalesOrder, aI as useValidateCoupon, aJ as useVariantChildren } from './use-returns-fFl2Xy7s.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-CLNEKOuu.js';
4
+ import './provider--y2yz3Jj.js';
5
5
  import 'react';
6
6
  import './storage.js';
7
7
 
package/dist/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
- export { useActiveCart, useAddGroupMember, 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, useProductNameSearch, useProductSearch, useProducts, useProductsByCodes, useProductsInCategory, useProductsInCategoryInfinite, useProductsInfinite, useRedeemCoupon, useRedeemOptions, useRedeemRewardPoints, useRemoveFromShoppingList, useRemoveGroupMember, useReorder, useReturn, useSalesOrder, useSetShoppingListItemQuantity, useShoppingLists, useSiteContext, useSites, useSubcategories, useUnassignContact, useUpdateApproval, useUpdateCompany, useUpdateContactAssignment, useUpdateCustomer, useUpdateLocation, useUpdateSalesOrder, useValidateCoupon, useVariantChildren } from './chunk-3W3TIKRV.js';
2
- import './chunk-JZRSYM3W.js';
1
+ export { useActiveCart, useAddGroupMember, 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, useProductNameSearch, useProductSearch, useProducts, useProductsByCodes, useProductsInCategory, useProductsInCategoryInfinite, useProductsInfinite, useRedeemCoupon, useRedeemOptions, useRedeemRewardPoints, useRemoveFromShoppingList, useRemoveGroupMember, useReorder, useReturn, useSalesOrder, useSetShoppingListItemQuantity, useShoppingLists, useSiteContext, useSites, useSubcategories, useUnassignContact, useUpdateApproval, useUpdateCompany, useUpdateContactAssignment, useUpdateCustomer, useUpdateLocation, useUpdateSalesOrder, useValidateCoupon, useVariantChildren } from './chunk-V4AV2OX6.js';
2
+ import './chunk-SMJ5IQZJ.js';
3
3
  import './chunk-FBQY2N7S.js';
4
4
  //# sourceMappingURL=hooks.js.map
5
5
  //# sourceMappingURL=hooks.js.map
package/dist/index.cjs CHANGED
@@ -555,12 +555,14 @@ function SiteContextProvider({
555
555
  if (fromStorage !== null) return fromStorage;
556
556
  return client.config?.credentials?.storefront?.context?.siteCode ?? null;
557
557
  });
558
- const [currency, setCurrency] = react.useState(null);
558
+ const [currency, setCurrencyState] = react.useState(
559
+ () => client.config?.credentials?.storefront?.context?.currency ?? null
560
+ );
559
561
  const [targetLocation, setTargetLocation] = react.useState(null);
560
562
  const [isSwitching, setIsSwitching] = react.useState(false);
561
563
  const [switchError, setSwitchError] = react.useState(null);
562
564
  react.useEffect(() => {
563
- if (!siteCode || currency !== null) return;
565
+ if (!siteCode || currency !== null && targetLocation !== null) return;
564
566
  let cancelled = false;
565
567
  const token = storage.getCustomerToken();
566
568
  const authCtx = token ? emporixSdk.auth.customer(token) : emporixSdk.auth.anonymous();
@@ -575,7 +577,7 @@ function SiteContextProvider({
575
577
  staleTime: 5 * 6e4
576
578
  }).then((site) => {
577
579
  if (cancelled) return;
578
- setCurrency(site.currency);
580
+ if (currency === null) setCurrencyState(site.currency);
579
581
  setTargetLocation(site.homeBase?.address?.country ?? null);
580
582
  }).catch(() => {
581
583
  });
@@ -591,7 +593,7 @@ function SiteContextProvider({
591
593
  setSwitchError(null);
592
594
  void qc.invalidateQueries({ queryKey: ["emporix"] });
593
595
  if (code === null) {
594
- setCurrency(null);
596
+ setCurrencyState(null);
595
597
  setTargetLocation(null);
596
598
  return;
597
599
  }
@@ -611,7 +613,7 @@ function SiteContextProvider({
611
613
  });
612
614
  const nextCurrency = site.currency;
613
615
  const nextTarget = site.homeBase?.address?.country ?? null;
614
- setCurrency(nextCurrency);
616
+ setCurrencyState(nextCurrency);
615
617
  setTargetLocation(nextTarget);
616
618
  await client.sessionContext.patch(
617
619
  {
@@ -629,16 +631,40 @@ function SiteContextProvider({
629
631
  },
630
632
  [client, storage, qc]
631
633
  );
634
+ const setCurrency = react.useCallback(
635
+ async (next) => {
636
+ storage.setCartId(null);
637
+ setCurrencyState(next);
638
+ setSwitchError(null);
639
+ client.setStorefrontContext({ currency: next });
640
+ void qc.invalidateQueries({ queryKey: ["emporix"] });
641
+ setIsSwitching(true);
642
+ try {
643
+ const token = storage.getCustomerToken();
644
+ const authCtx = token ? emporixSdk.auth.customer(token) : emporixSdk.auth.anonymous();
645
+ await client.sessionContext.patch(
646
+ { currency: next, ...siteCode ? { siteCode } : {} },
647
+ authCtx
648
+ );
649
+ } catch (e) {
650
+ setSwitchError(e instanceof Error ? e : new Error(String(e)));
651
+ } finally {
652
+ setIsSwitching(false);
653
+ }
654
+ },
655
+ [client, storage, qc, siteCode]
656
+ );
632
657
  const value = react.useMemo(
633
658
  () => ({
634
659
  siteCode,
635
660
  currency,
636
661
  targetLocation,
637
662
  setSite,
663
+ setCurrency,
638
664
  isSwitching,
639
665
  switchError
640
666
  }),
641
- [siteCode, currency, targetLocation, setSite, isSwitching, switchError]
667
+ [siteCode, currency, targetLocation, setSite, setCurrency, isSwitching, switchError]
642
668
  );
643
669
  return /* @__PURE__ */ jsxRuntime.jsx(EmporixSiteContext.Provider, { value, children });
644
670
  }