@sentecacommerce-theme/lib 0.12.69 → 0.12.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/basket/api/mutations/index.js +8 -0
  2. package/dist/cjs/basket/api/mutations/index.js.map +1 -1
  3. package/dist/cjs/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.js +44 -0
  4. package/dist/cjs/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.js.map +1 -0
  5. package/dist/cjs/basket/hooks/index.js +8 -0
  6. package/dist/cjs/basket/hooks/index.js.map +1 -1
  7. package/dist/cjs/basket/hooks/useChangeSelectableGiftLineItemVariant.js +8 -0
  8. package/dist/cjs/basket/hooks/useChangeSelectableGiftLineItemVariant.js.map +1 -0
  9. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +4 -2
  10. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  11. package/dist/cjs/hooks/basket-hooks/useBasketLineItem/index.js +4 -0
  12. package/dist/cjs/hooks/basket-hooks/useBasketLineItem/index.js.map +1 -1
  13. package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
  14. package/dist/cjs/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  15. package/dist/cjs/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  16. package/dist/cjs/hooks/useCheckoutSubmit/index.js.map +1 -1
  17. package/dist/cjs/hooks/useContactForm/index.js +9 -4
  18. package/dist/cjs/hooks/useContactForm/index.js.map +1 -1
  19. package/dist/cjs/ssr/emptyBasketGuard.js +2 -2
  20. package/dist/cjs/ssr/emptyBasketGuard.js.map +1 -1
  21. package/dist/esm/basket/api/mutations/index.js +1 -0
  22. package/dist/esm/basket/api/mutations/index.js.map +1 -1
  23. package/dist/esm/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.js +15 -0
  24. package/dist/esm/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.js.map +1 -0
  25. package/dist/esm/basket/hooks/index.js +1 -0
  26. package/dist/esm/basket/hooks/index.js.map +1 -1
  27. package/dist/esm/basket/hooks/useChangeSelectableGiftLineItemVariant.js +3 -0
  28. package/dist/esm/basket/hooks/useChangeSelectableGiftLineItemVariant.js.map +1 -0
  29. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +6 -2
  30. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  31. package/dist/esm/hooks/basket-hooks/useBasketLineItem/index.js +2 -0
  32. package/dist/esm/hooks/basket-hooks/useBasketLineItem/index.js.map +1 -1
  33. package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
  34. package/dist/esm/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  35. package/dist/esm/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  36. package/dist/esm/hooks/useCheckoutSubmit/index.js.map +1 -1
  37. package/dist/esm/hooks/useContactForm/index.js +9 -4
  38. package/dist/esm/hooks/useContactForm/index.js.map +1 -1
  39. package/dist/esm/ssr/emptyBasketGuard.js +2 -2
  40. package/dist/esm/ssr/emptyBasketGuard.js.map +1 -1
  41. package/dist/types/basket/api/mutations/index.d.ts +1 -0
  42. package/dist/types/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.d.ts +2 -0
  43. package/dist/types/basket/hooks/index.d.ts +1 -0
  44. package/dist/types/basket/hooks/useChangeSelectableGiftLineItemVariant.d.ts +2 -0
  45. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +1 -1
  46. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +3 -3
  47. package/dist/types/hooks/basket-hooks/useBasketLineItem/index.d.ts +2 -2
  48. package/dist/types/hooks/useContactForm/index.d.ts +2 -1
  49. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +1 -1
  50. package/dist/types/product/hooks/useBnpOffers.d.ts +2 -2
  51. package/package.json +4 -4
@@ -9,4 +9,12 @@ Object.keys(_useReplaceBasketMutation).forEach(function (key) {
9
9
  if (key in exports && exports[key] === _useReplaceBasketMutation[key]) return;
10
10
  exports[key] = _useReplaceBasketMutation[key];
11
11
  });
12
+
13
+ var _useChangeSelectableGiftLineItemVariantMutation = require("./useChangeSelectableGiftLineItemVariantMutation");
14
+
15
+ Object.keys(_useChangeSelectableGiftLineItemVariantMutation).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _useChangeSelectableGiftLineItemVariantMutation[key]) return;
18
+ exports[key] = _useChangeSelectableGiftLineItemVariantMutation[key];
19
+ });
12
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/basket/api/mutations/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useReplaceBasketMutation'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/basket/api/mutations/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useReplaceBasketMutation'\nexport * from './useChangeSelectableGiftLineItemVariantMutation'\n"],"file":"index.js"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useChangeSelectableGiftLineItemVariantMutation = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _reactQuery = require("react-query");
13
+
14
+ var _sdk = require("@sentecacommerce/sdk");
15
+
16
+ var useChangeSelectableGiftLineItemVariantMutation = function useChangeSelectableGiftLineItemVariantMutation() {
17
+ return (0, _reactQuery.useMutation)( /*#__PURE__*/function () {
18
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(props) {
19
+ return _regenerator["default"].wrap(function _callee$(_context) {
20
+ while (1) {
21
+ switch (_context.prev = _context.next) {
22
+ case 0:
23
+ _context.next = 2;
24
+ return (0, _sdk.MyCartChangeSelectableGiftLineItemVariant)(props);
25
+
26
+ case 2:
27
+ return _context.abrupt("return", _context.sent);
28
+
29
+ case 3:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }
34
+ }, _callee);
35
+ }));
36
+
37
+ return function (_x) {
38
+ return _ref.apply(this, arguments);
39
+ };
40
+ }());
41
+ };
42
+
43
+ exports.useChangeSelectableGiftLineItemVariantMutation = useChangeSelectableGiftLineItemVariantMutation;
44
+ //# sourceMappingURL=useChangeSelectableGiftLineItemVariantMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.ts"],"names":["useChangeSelectableGiftLineItemVariantMutation","props"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAKO,IAAMA,8CAA8C,GAAG,SAAjDA,8CAAiD,GAAM;AAClE,SAAO;AAAA,6FACL,iBAAOC,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACQ,oDAA0CA,KAA1C,CADR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADK;;AAAA;AAAA;AAAA;AAAA,MAAP;AAID,CALM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n MyCartChangeSelectableGiftLineItemVariant,\n OrderSelectableGiftVariantUpdateDTO,\n} from '@sentecacommerce/sdk'\n\nexport const useChangeSelectableGiftLineItemVariantMutation = () => {\n return useMutation(\n async (props: OrderSelectableGiftVariantUpdateDTO) =>\n await MyCartChangeSelectableGiftLineItemVariant(props)\n )\n}\n"],"file":"useChangeSelectableGiftLineItemVariantMutation.js"}
@@ -17,4 +17,12 @@ Object.keys(_useBasketCrossSaleItems).forEach(function (key) {
17
17
  if (key in exports && exports[key] === _useBasketCrossSaleItems[key]) return;
18
18
  exports[key] = _useBasketCrossSaleItems[key];
19
19
  });
20
+
21
+ var _useChangeSelectableGiftLineItemVariant = require("./useChangeSelectableGiftLineItemVariant");
22
+
23
+ Object.keys(_useChangeSelectableGiftLineItemVariant).forEach(function (key) {
24
+ if (key === "default" || key === "__esModule") return;
25
+ if (key in exports && exports[key] === _useChangeSelectableGiftLineItemVariant[key]) return;
26
+ exports[key] = _useChangeSelectableGiftLineItemVariant[key];
27
+ });
20
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/basket/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useReplaceBasket'\nexport * from './useBasketCrossSaleItems'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/basket/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useReplaceBasket'\nexport * from './useBasketCrossSaleItems'\nexport * from './useChangeSelectableGiftLineItemVariant'\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _mutations = require("../api/mutations");
6
+
7
+ exports.useChangeSelectableGiftLineItemVariant = _mutations.useChangeSelectableGiftLineItemVariantMutation;
8
+ //# sourceMappingURL=useChangeSelectableGiftLineItemVariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/basket/hooks/useChangeSelectableGiftLineItemVariant.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useChangeSelectableGiftLineItemVariantMutation } from '../api/mutations'\nexport { useChangeSelectableGiftLineItemVariantMutation as useChangeSelectableGiftLineItemVariant }\n"],"file":"useChangeSelectableGiftLineItemVariant.js"}
@@ -109,13 +109,15 @@ var useShipping = function useShipping(_ref) {
109
109
  if (!enableSaveAddress) return;
110
110
  setIsShippingSubmitting(true);
111
111
  if (addressErrors) return;
112
- saveAddress((0, _extends2["default"])({}, shippingAddressWithModule, {
112
+ var baseAddress = (0, _extends2["default"])({}, shippingAddressWithModule, {
113
113
  _id: undefined,
114
- countryCode: countryCode,
115
114
  custom: shippingAddressWithModule == null ? void 0 : (_shippingAddressWithM = shippingAddressWithModule.custom) == null ? void 0 : _shippingAddressWithM.filter(function (_ref2) {
116
115
  var field = _ref2.field;
117
116
  return field !== IS_NEW && field !== SELECTED_ADDRESS_ID;
118
117
  })
118
+ });
119
+ saveAddress(enableNoShippingMethodMode ? baseAddress : (0, _extends2["default"])({}, baseAddress, {
120
+ countryCode: countryCode
119
121
  }), {
120
122
  onSuccess: function onSuccess(address) {
121
123
  var data = (0, _extends2["default"])({}, address, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","addressesApi","useAdd","saveAddress","handleShippingAddressChange","savedShippingAddress","currentShippingAddress","shippingAddress","setShippingAddress","mod","noShippingMethod","selectedShippingAddress","savedAddressList","hasAvailableSavedAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n saveAddress(\n {\n ...shippingAddressWithModule,\n _id: undefined,\n countryCode,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","addressesApi","useAdd","saveAddress","handleShippingAddressChange","savedShippingAddress","currentShippingAddress","shippingAddress","setShippingAddress","mod","noShippingMethod","selectedShippingAddress","savedAddressList","hasAvailableSavedAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","baseAddress","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n const baseAddress = {\n ...shippingAddressWithModule,\n _id: undefined,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n }\n\n saveAddress(\n enableNoShippingMethodMode\n ? baseAddress\n : { ...baseAddress, countryCode },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
@@ -9,6 +9,10 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _ = require("../../../");
11
11
 
12
+ var _sdk = require("@sentecacommerce/sdk");
13
+
14
+ exports.LineItemDTOLineItemModeEnum = _sdk.LineItemDTOLineItemModeEnum;
15
+
12
16
  var _utils = require("./utils");
13
17
 
14
18
  var _utils2 = require("../../useProduct/utils");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["useBasketLineItem","props","React","useState","isExpired","setIsExpired","myCartApi","useSync","syncBasket","item","productSlug","onMouseDown","onMouseEnter","onMouseLeave","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","maxQuantity","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\ninterface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n maxQuantity: item?.variant?.offer?.maxQuantity,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["useBasketLineItem","props","React","useState","isExpired","setIsExpired","myCartApi","useSync","syncBasket","item","productSlug","onMouseDown","onMouseEnter","onMouseLeave","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","maxQuantity","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\nexport { LineItemDTOLineItemModeEnum }\n\nexport interface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n maxQuantity: item?.variant?.offer?.maxQuantity,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrder/index.ts"],"names":["useOrder","data","id","orderQuery","myOrdersApi","useGetById","order","result","React","useMemo","shipping","shippings","parcels","deliveries","isShippingMethodOffice","Boolean","shippingAddress","moduleData","address","office","platform","payments","orderData","lineItems","lineItemsCount","status","orderRefNumber","createdAt","discountCodes","mapDiscountCodes","customLineItems","map","customLineItem","name","paymentStatus","platformPaymentMethod","_id","key","moduleKey","type","description","currencyCode","countryCode","shippingMethod","isOffice","isAddress","billingAddress","trackingData","mapTrackingData","parcel","courierName","provider","trackingId","trackingUrl","providerMeta","trackUrl","codes","codeNames","filter","code","discountCode","resource","value"],"mappings":";;;;;;;;;AAAA;;AACA;;;;AAWA;;AAIA;;AAiCO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAMH;AAAA,MALnBC,IAKmB,QALnBA,IAKmB;AAAA,MAJnBC,EAImB,QAJnBA,EAImB;;AACnB,MAAMC,UAAU,GAAGC,yBAAYC,UAAZ,CAAuBH,EAAvB,CAAnB;;AAEA,MAAMI,KAAK,GAAGL,IAAI,IAAIE,UAAU,CAACF,IAAjC;;AAEA,MAAMM,MAAM,GAAGC,kBAAMC,OAAN,CAAc,YAAM;AAAA;;AACjC,QAAMC,QAAQ,GAAGJ,KAAH,wCAAGA,KAAK,CAAEK,SAAV,qBAAG,iBAAmB,CAAnB,CAAjB;AACA,QAAMC,OAAO,GAAGF,QAAH,4CAAGA,QAAQ,CAAEG,UAAb,8CAAG,qBAAuB,CAAvB,CAAH,qBAAG,sBAA2BD,OAA3C;AAEA,QAAME,sBAAsB,GAAGC,OAAO,CACpCT,KADoC,6CACpCA,KAAK,CAAEU,eAD6B,+CACpC,sBAAwBC,UADY,+CACpC,uBAAqC,CAArC,CADoC,+CACpC,uBAAyCA,UADL,+CACpC,uBAAqDC,OADjB,+CACpC,uBAA8DC,MAD1B,qBACpC,uBACID,OAFgC,CAAtC;AAKA,QAAME,QAAQ,GAAGd,KAAH,uCAAGA,KAAK,CAAEe,QAAV,qBAAG,gBAAkB,CAAlB,CAAjB;AAEA,QAAMC,SAAwB,GAAG;AAC/BC,MAAAA,SAAS,EAAEjB,KAAF,oBAAEA,KAAK,CAAEiB,SADa;AAE/BC,MAAAA,cAAc,2BAAElB,KAAF,oBAAEA,KAAK,CAAEkB,cAAT,oCAA2B,CAFV;AAG/BC,MAAAA,MAAM,EAAEnB,KAAF,oBAAEA,KAAK,CAAEmB,MAHgB;AAI/BC,MAAAA,cAAc,EAAEpB,KAAF,oBAAEA,KAAK,CAAEoB,cAJQ;AAK/BC,MAAAA,SAAS,EAAErB,KAAF,oBAAEA,KAAK,CAAEqB,SALa;AAM/BC,MAAAA,aAAa,EAAEC,gBAAgB,CAACvB,KAAD,oBAACA,KAAK,CAAEsB,aAAR,CANA;AAO/BE,MAAAA,eAAe,EAAExB,KAAF,6CAAEA,KAAK,CAAEwB,eAAT,qBAAE,sBAAwBC,GAAxB,CAA4B,UAACC,cAAD,EAAoB;AAC/D,6CACKA,cADL;AAEEC,UAAAA,IAAI,EAAE,iCAAqBD,cAAc,CAACC,IAApC;AAFR;AAID,OALgB,CAPc;AAa/BjB,MAAAA,eAAe,EAAEV,KAAF,oBAAEA,KAAK,CAAEU,eAbO;AAc/BkB,MAAAA,aAAa,EAAEd,QAAF,oBAAEA,QAAQ,CAAEK,MAdM;AAe/BU,MAAAA,qBAAqB,EAAE;AACrBjC,QAAAA,EAAE,EAAEkB,QAAF,oBAAEA,QAAQ,CAAEgB,GADO;AAErBC,QAAAA,GAAG,EAAEjB,QAAF,oBAAEA,QAAQ,CAAEkB,SAFM;AAGrBC,QAAAA,IAAI,EAAEnB,QAAF,oBAAEA,QAAQ,CAAEmB,IAHK;AAIrBN,QAAAA,IAAI,EAAE,iCAAqBb,QAArB,oBAAqBA,QAAQ,CAAEa,IAA/B,CAJe;AAKrBO,QAAAA,WAAW,EAAE,iCAAqBpB,QAArB,oBAAqBA,QAAQ,CAAEoB,WAA/B,CALQ;AAMrBC,QAAAA,YAAY,EAAErB,QAAF,oBAAEA,QAAQ,CAAEqB,YANH;AAOrBC,QAAAA,WAAW,EAAEtB,QAAF,oBAAEA,QAAQ,CAAEsB;AAPF,OAfQ;AAwB/BC,MAAAA,cAAc,EAAE;AACdC,QAAAA,QAAQ,EAAE9B,sBADI;AAEd+B,QAAAA,SAAS,EAAE/B,sBAAsB,GAAG,KAAH,GAAW;AAF9B,OAxBe;AA4B/BgC,MAAAA,cAAc,EAAExC,KAAF,oBAAEA,KAAK,CAAEwC,cA5BQ;AA8B/BC,MAAAA,YAAY,EAAEC,eAAe,CAACpC,OAAD;AA9BE,KAAjC;AAgCA,WAAOU,SAAP;AACD,GA5Cc,EA4CZ,CAAChB,KAAD,CA5CY,CAAf;;AA8CA,SAAOC,MAAP;AACD,CA1DM;;;;AA4DP,SAASyC,eAAT,CAAyBpC,OAAzB,EAAgE;AAC9D,SACE,CAAAA,OAAO,QAAP,YAAAA,OAAO,CAAEmB,GAAT,CAAa,UAACkB,MAAD,EAAY;AAAA;;AACvB,WAAO;AACLC,MAAAA,WAAW,EAAED,MAAF,0CAAEA,MAAM,CAAEhC,UAAV,8CAAE,mBAAoB8B,YAAtB,qBAAE,sBAAkCI,QAD1C;AAELC,MAAAA,UAAU,EAAEH,MAAF,2CAAEA,MAAM,CAAEhC,UAAV,8CAAE,oBAAoB8B,YAAtB,qBAAE,sBAAkCK,UAFzC;AAGLC,MAAAA,WAAW,EAAEJ,MAAF,2CAAEA,MAAM,CAAEhC,UAAV,8CAAE,oBAAoBqC,YAAtB,qBAAE,sBAAkCC;AAH1C,KAAP;AAKD,GAND,MAMM,EAPR;AASD;;AAED,SAAS1B,gBAAT,CAA0B2B,KAA1B,EAAyD;AACvD,MAAMC,SAAS,GAAGD,KAAH,oBAAGA,KAAK,CAAEE,MAAP,CAAc,UAACC,IAAD;AAAA,WAAUA,IAAI,CAAClC,MAAL,KAAgB,UAA1B;AAAA,GAAd,CAAlB;AAEA,SAAOgC,SAAP,oBAAOA,SAAS,CAAE1B,GAAX,CAAe,UAAC4B,IAAD,EAAU;AAC9B,WAAOA,IAAI,CAACC,YAAL,CAAkBC,QAAlB,CAA2B5B,IAA3B,CAAgC,CAAhC,EAAmC6B,KAA1C;AACD,GAFM,CAAP;AAGD","sourcesContent":["import React from 'react'\nimport {\n DiscountCodeInfoDTO,\n LineItemDTO,\n OrderDTO,\n OrderDTOStatusEnum,\n ShippingDeliveryParcelDTO,\n CustomLineItemDTO,\n AddressDTO,\n PaymentStatusUpdateDTOStatusEnum,\n} from '@sentecacommerce/sdk'\n\nimport {\n getTranslatableField,\n MappedPlatformPaymentMethodDTO,\n} from '../../../index'\nimport { myOrdersApi } from '../../../api/myOrdersApi'\n\nexport { PaymentStatusUpdateDTOStatusEnum }\n\ntype TrackingProp = {\n provider?: string\n trackingId?: string\n trackingUrl?: string\n}\n\nexport type MappedCustomLineItemDTO = CustomLineItemDTO & {\n name: string\n}\n\ntype UseOrderProps = {\n lineItems?: LineItemDTO[]\n lineItemsCount: number\n createdAt?: number\n orderRefNumber?: string\n status?: OrderDTOStatusEnum\n discountCodes?: string[]\n shippingMethod: {\n isOffice: boolean\n isAddress: boolean\n }\n paymentStatus: PaymentStatusUpdateDTOStatusEnum\n trackingData: TrackingProp[]\n customLineItems?: MappedCustomLineItemDTO[]\n shippingAddress: AddressDTO\n billingAddress?: AddressDTO\n platformPaymentMethod: MappedPlatformPaymentMethodDTO\n}\n\nexport const useOrder = ({\n data,\n id,\n}: {\n data?: OrderDTO\n id?: string\n}): UseOrderProps => {\n const orderQuery = myOrdersApi.useGetById(id)\n\n const order = data || orderQuery.data\n\n const result = React.useMemo(() => {\n const shipping = order?.shippings?.[0]\n const parcels = shipping?.deliveries?.[0]?.parcels\n\n const isShippingMethodOffice = Boolean(\n order?.shippingAddress?.moduleData?.[0]?.moduleData?.address?.office\n ?.address\n )\n\n const platform = order?.payments?.[0]\n\n const orderData: UseOrderProps = {\n lineItems: order?.lineItems,\n lineItemsCount: order?.lineItemsCount ?? 0,\n status: order?.status,\n orderRefNumber: order?.orderRefNumber,\n createdAt: order?.createdAt,\n discountCodes: mapDiscountCodes(order?.discountCodes),\n customLineItems: order?.customLineItems?.map((customLineItem) => {\n return {\n ...customLineItem,\n name: getTranslatableField(customLineItem.name),\n } as MappedCustomLineItemDTO\n }),\n shippingAddress: order?.shippingAddress as AddressDTO,\n paymentStatus: platform?.status as PaymentStatusUpdateDTOStatusEnum,\n platformPaymentMethod: {\n id: platform?._id,\n key: platform?.moduleKey,\n type: platform?.type,\n name: getTranslatableField(platform?.name),\n description: getTranslatableField(platform?.description),\n currencyCode: platform?.currencyCode,\n countryCode: platform?.countryCode,\n },\n shippingMethod: {\n isOffice: isShippingMethodOffice,\n isAddress: isShippingMethodOffice ? false : true,\n },\n billingAddress: order?.billingAddress,\n\n trackingData: mapTrackingData(parcels),\n }\n return orderData\n }, [order])\n\n return result\n}\n\nfunction mapTrackingData(parcels?: ShippingDeliveryParcelDTO[]) {\n return (\n parcels?.map((parcel) => {\n return {\n courierName: parcel?.moduleData?.trackingData?.provider,\n trackingId: parcel?.moduleData?.trackingData?.trackingId,\n trackingUrl: parcel?.moduleData?.providerMeta?.trackUrl,\n }\n }) || []\n )\n}\n\nfunction mapDiscountCodes(codes?: DiscountCodeInfoDTO[]) {\n const codeNames = codes?.filter((code) => code.status !== 'NotValid')\n\n return codeNames?.map((code) => {\n return code.discountCode.resource.name[0].value\n })\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrder/index.ts"],"names":["useOrder","data","id","orderQuery","myOrdersApi","useGetById","order","result","React","useMemo","shipping","shippings","parcels","deliveries","isShippingMethodOffice","Boolean","shippingAddress","moduleData","address","office","platform","payments","orderData","lineItems","lineItemsCount","status","orderRefNumber","createdAt","discountCodes","mapDiscountCodes","customLineItems","map","customLineItem","name","paymentStatus","platformPaymentMethod","_id","key","moduleKey","type","description","currencyCode","countryCode","shippingMethod","isOffice","isAddress","billingAddress","trackingData","mapTrackingData","parcel","courierName","provider","trackingId","trackingUrl","providerMeta","trackUrl","codes","codeNames","filter","code","discountCode","resource","value"],"mappings":"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","sourcesContent":["import React from 'react'\nimport {\n DiscountCodeInfoDTO,\n LineItemDTO,\n OrderDTO,\n OrderDTOStatusEnum,\n ShippingDeliveryParcelDTO,\n CustomLineItemDTO,\n AddressDTO,\n PaymentStatusUpdateDTOStatusEnum,\n} from '@sentecacommerce/sdk'\n\nimport {\n getTranslatableField,\n MappedPlatformPaymentMethodDTO,\n} from '../../../index'\nimport { myOrdersApi } from '../../../api/myOrdersApi'\n\nexport { PaymentStatusUpdateDTOStatusEnum }\n\ntype TrackingProp = {\n provider?: string\n trackingId?: string\n trackingUrl?: string\n}\n\nexport type MappedCustomLineItemDTO = CustomLineItemDTO & {\n name: string\n}\n\ntype UseOrderProps = {\n lineItems?: LineItemDTO[]\n lineItemsCount: number\n createdAt?: number\n orderRefNumber?: string\n status?: OrderDTOStatusEnum\n discountCodes?: string[]\n shippingMethod: {\n isOffice: boolean\n isAddress: boolean\n }\n paymentStatus: PaymentStatusUpdateDTOStatusEnum\n trackingData: TrackingProp[]\n customLineItems?: MappedCustomLineItemDTO[]\n shippingAddress: AddressDTO\n billingAddress?: AddressDTO\n platformPaymentMethod: MappedPlatformPaymentMethodDTO\n}\n\nexport const useOrder = ({\n data,\n id,\n}: {\n data?: OrderDTO\n id?: string\n}): UseOrderProps => {\n const orderQuery = myOrdersApi.useGetById(id)\n\n const order = data || orderQuery.data\n\n const result = React.useMemo(() => {\n const shipping = order?.shippings?.[0]\n const parcels = shipping?.deliveries?.[0]?.parcels\n\n const isShippingMethodOffice = Boolean(\n order?.shippingAddress?.moduleData?.[0]?.moduleData?.address?.office\n ?.address\n )\n\n const platform = order?.payments?.[0] as any\n\n const orderData: UseOrderProps = {\n lineItems: order?.lineItems,\n lineItemsCount: order?.lineItemsCount ?? 0,\n status: order?.status,\n orderRefNumber: order?.orderRefNumber,\n createdAt: order?.createdAt,\n discountCodes: mapDiscountCodes(order?.discountCodes),\n customLineItems: order?.customLineItems?.map((customLineItem) => {\n return {\n ...customLineItem,\n name: getTranslatableField(customLineItem.name),\n } as MappedCustomLineItemDTO\n }),\n shippingAddress: order?.shippingAddress as AddressDTO,\n paymentStatus: platform?.status as PaymentStatusUpdateDTOStatusEnum,\n platformPaymentMethod: {\n id: platform?._id,\n key: platform?.moduleKey,\n type: platform?.type,\n name: getTranslatableField(platform?.name),\n description: getTranslatableField(platform?.description),\n currencyCode: platform?.currencyCode,\n countryCode: platform?.countryCode,\n },\n shippingMethod: {\n isOffice: isShippingMethodOffice,\n isAddress: isShippingMethodOffice ? false : true,\n },\n billingAddress: order?.billingAddress,\n\n trackingData: mapTrackingData(parcels),\n }\n return orderData\n }, [order])\n\n return result\n}\n\nfunction mapTrackingData(parcels?: ShippingDeliveryParcelDTO[]) {\n return (\n parcels?.map((parcel) => {\n return {\n courierName: parcel?.moduleData?.trackingData?.provider,\n trackingId: parcel?.moduleData?.trackingData?.trackingId,\n trackingUrl: parcel?.moduleData?.providerMeta?.trackUrl,\n }\n }) || []\n )\n}\n\nfunction mapDiscountCodes(codes?: DiscountCodeInfoDTO[]) {\n const codeNames = codes?.filter((code) => code.status !== 'NotValid')\n\n return codeNames?.map((code) => {\n return code.discountCode.resource.name[0].value\n })\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrderPaymentMethods/index.tsx"],"names":["useOrderPaymentMethods","orderId","queryKey","queryData","data","platform","platformPaymentMethods","map","id","_id","key","type","moduleKey","name","description","currencyCode","countryCode","merchant","merchantsPaymentMethods","methods","flat","merchantPaymentMethods"],"mappings":";;;;;;;;;;;;;AACA;;AAIA;;AACA;;AAgBO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAsC;AAAA,MAAnCC,OAAmC,QAAnCA,OAAmC;AAC1E,MAAMC,QAAQ,GAAG,wBAAiB,qBAAjB,EAAwCD,OAAxC,CAAjB;AAEA,MAAME,SAAS,GAAG,0BAChBD,QADgB,6FAEhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,oCAA0BD,OAA1B,CAAlB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFgB,GAAlB;AAKA,MAAMG,IAAI,GAAGD,SAAS,CAACC,IAAvB;AAEA,MAAMC,QAEO,GAAGD,IAAH,oBAAGA,IAAI,CAAEE,sBAAN,CAA6BC,GAA7B,CAAiC,UAACF,QAAD;AAAA,WAAe;AAC9DG,MAAAA,EAAE,EAAEH,QAAQ,CAACI,GADiD;AAE9DC,MAAAA,GAAG,EAAEL,QAAQ,CAACK,GAFgD;AAG9DC,MAAAA,IAAI,EAAEN,QAAQ,CAACM,IAH+C;AAI9DC,MAAAA,SAAS,EAAEP,QAAF,oBAAEA,QAAQ,CAAEO,SAJyC;AAK9DC,MAAAA,IAAI,EAAE,4BAAqBR,QAAQ,CAACQ,IAA9B,CALwD;AAM9DC,MAAAA,WAAW,EAAE,4BAAqBT,QAAQ,CAACS,WAA9B,CANiD;AAO9DC,MAAAA,YAAY,EAAEV,QAAQ,CAACU,YAPuC;AAQ9DC,MAAAA,WAAW,EAAEX,QAAQ,CAACW;AARwC,KAAf;AAAA,GAAjC,CAFhB;AAaA,MAAMC,QAEO,GAAGb,IAAH,oBAAGA,IAAI,CAAEc,uBAAN,CACbX,GADa,CACT;AAAA,QAAGY,OAAH,SAAGA,OAAH;AAAA,WACHA,OAAO,CACJZ,GADH,CACO,UAACU,QAAD;AAAA,aAAe;AAClBT,QAAAA,EAAE,EAAES,QAAQ,CAACR,GADK;AAElBC,QAAAA,GAAG,EAAEO,QAAQ,CAACP,GAFI;AAGlBC,QAAAA,IAAI,EAAEM,QAAQ,CAACN,IAHG;AAIlBC,QAAAA,SAAS,EAAEK,QAAF,oBAAEA,QAAQ,CAAEL,SAJH;AAKlBC,QAAAA,IAAI,EAAE,4BAAqBI,QAAQ,CAACJ,IAA9B,CALY;AAMlBC,QAAAA,WAAW,EAAE,4BAAqBG,QAAQ,CAACH,WAA9B,CANK;AAOlBE,QAAAA,WAAW,EAAEC,QAAQ,CAACD,WAPJ;AAQlBD,QAAAA,YAAY,EAAEE,QAAQ,CAACF;AARL,OAAf;AAAA,KADP,EAWGK,IAXH,EADG;AAAA,GADS,EAebA,IAfa,EAFhB;AAmBA,uCACKjB,SADL;AAEEC,IAAAA,IAAI,EAAE;AACJE,MAAAA,sBAAsB,EAAED,QADpB;AAEJgB,MAAAA,sBAAsB,EAAEJ;AAFpB;AAFR;AAOD,CAjDM","sourcesContent":["import React from 'react'\nimport {\n MyOrdersGetPaymentMethods,\n PaymentMethodDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { generateQueryKey, getTranslatableField } from '../../../'\n\nexport interface MappedPlatformPaymentMethodDTO {\n id: string\n key: string\n type: PaymentMethodDTOTypeEnum\n moduleKey?: string\n name: string\n description: string\n currencyCode: string\n countryCode: string\n}\n\nexport interface MappedMerchantPaymentMethodDTO\n extends MappedPlatformPaymentMethodDTO {}\n\nexport const useOrderPaymentMethods = ({ orderId }: { orderId: string }) => {\n const queryKey = generateQueryKey('orderPaymentMethods', orderId)\n\n const queryData = useQuery(\n queryKey,\n async () => await MyOrdersGetPaymentMethods(orderId)\n )\n\n const data = queryData.data\n\n const platform:\n | MappedPlatformPaymentMethodDTO[]\n | undefined = data?.platformPaymentMethods.map((platform) => ({\n id: platform._id,\n key: platform.key,\n type: platform.type,\n moduleKey: platform?.moduleKey,\n name: getTranslatableField(platform.name),\n description: getTranslatableField(platform.description),\n currencyCode: platform.currencyCode,\n countryCode: platform.countryCode,\n }))\n\n const merchant:\n | MappedMerchantPaymentMethodDTO[]\n | undefined = data?.merchantsPaymentMethods\n .map(({ methods }) =>\n methods\n .map((merchant) => ({\n id: merchant._id,\n key: merchant.key,\n type: merchant.type,\n moduleKey: merchant?.moduleKey,\n name: getTranslatableField(merchant.name),\n description: getTranslatableField(merchant.description),\n countryCode: merchant.countryCode,\n currencyCode: merchant.currencyCode,\n }))\n .flat()\n )\n .flat() as MappedMerchantPaymentMethodDTO[]\n\n return {\n ...queryData,\n data: {\n platformPaymentMethods: platform,\n merchantPaymentMethods: merchant,\n },\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrderPaymentMethods/index.tsx"],"names":["useOrderPaymentMethods","orderId","queryKey","queryData","data","platform","platformPaymentMethods","map","id","_id","key","type","moduleKey","name","description","currencyCode","countryCode","merchant","merchantsPaymentMethods","methods","flat","merchantPaymentMethods"],"mappings":";;;;;;;;;;;;;AACA;;AAKA;;AACA;;AAgBO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAsC;AAAA,MAAnCC,OAAmC,QAAnCA,OAAmC;AAC1E,MAAMC,QAAQ,GAAG,wBAAiB,qBAAjB,EAAwCD,OAAxC,CAAjB;AAEA,MAAME,SAAS,GAAG,0BAChBD,QADgB,6FAEhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,oCAA0BD,OAA1B,CAAlB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFgB,GAAlB;AAKA,MAAMG,IAAI,GAAGD,SAAS,CAACC,IAAvB;AAEA,MAAMC,QAEO,GAAGD,IAAH,oBAAGA,IAAI,CAAEE,sBAAN,CAA6BC,GAA7B,CAAiC,UAACF,QAAD;AAAA,WAAe;AAC9DG,MAAAA,EAAE,EAAEH,QAAQ,CAACI,GADiD;AAE9DC,MAAAA,GAAG,EAAEL,QAAQ,CAACK,GAFgD;AAG9DC,MAAAA,IAAI,EAAEN,QAAQ,CAACM,IAH+C;AAI9DC,MAAAA,SAAS,EAAEP,QAAF,oBAAEA,QAAQ,CAAEO,SAJyC;AAK9DC,MAAAA,IAAI,EAAE,4BAAqBR,QAAQ,CAACQ,IAA9B,CALwD;AAM9DC,MAAAA,WAAW,EAAE,4BAAqBT,QAAQ,CAACS,WAA9B,CANiD;AAO9DC,MAAAA,YAAY,EAAEV,QAAQ,CAACU,YAPuC;AAQ9DC,MAAAA,WAAW,EAAEX,QAAQ,CAACW;AARwC,KAAf;AAAA,GAAjC,CAFhB;AAaA,MAAMC,QAEO,GAAGb,IAAH,oBAAGA,IAAI,CAAEc,uBAAN,CACbX,GADa,CACT;AAAA,QAAGY,OAAH,SAAGA,OAAH;AAAA,WACHA,OAAO,CACJZ,GADH,CACO,UAACU,QAAD;AAAA,aAAe;AAClBT,QAAAA,EAAE,EAAES,QAAQ,CAACR,GADK;AAElBC,QAAAA,GAAG,EAAEO,QAAQ,CAACP,GAFI;AAGlBC,QAAAA,IAAI,EAAEM,QAAQ,CAACN,IAHG;AAIlBC,QAAAA,SAAS,EAAEK,QAAF,oBAAEA,QAAQ,CAAEL,SAJH;AAKlBC,QAAAA,IAAI,EAAE,4BAAqBI,QAAQ,CAACJ,IAA9B,CALY;AAMlBC,QAAAA,WAAW,EAAE,4BAAqBG,QAAQ,CAACH,WAA9B,CANK;AAOlBE,QAAAA,WAAW,EAAEC,QAAQ,CAACD,WAPJ;AAQlBD,QAAAA,YAAY,EAAEE,QAAQ,CAACF;AARL,OAAf;AAAA,KADP,EAWGK,IAXH,EADG;AAAA,GADS,EAebA,IAfa,EAFhB;AAmBA,uCACKjB,SADL;AAEEC,IAAAA,IAAI,EAAE;AACJE,MAAAA,sBAAsB,EAAED,QADpB;AAEJgB,MAAAA,sBAAsB,EAAEJ;AAFpB;AAFR;AAOD,CAjDM","sourcesContent":["import React from 'react'\nimport {\n MyOrdersGetPaymentMethods,\n PaymentMethodDTOTypeEnum,\n PaymentDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { generateQueryKey, getTranslatableField } from '../../../'\n\nexport interface MappedPlatformPaymentMethodDTO {\n id: string\n key: string\n type: PaymentMethodDTOTypeEnum\n moduleKey?: string\n name: string\n description: string\n currencyCode: string\n countryCode: string\n}\n\nexport interface MappedMerchantPaymentMethodDTO\n extends MappedPlatformPaymentMethodDTO {}\n\nexport const useOrderPaymentMethods = ({ orderId }: { orderId: string }) => {\n const queryKey = generateQueryKey('orderPaymentMethods', orderId)\n\n const queryData = useQuery(\n queryKey,\n async () => await MyOrdersGetPaymentMethods(orderId)\n )\n\n const data = queryData.data\n\n const platform:\n | MappedPlatformPaymentMethodDTO[]\n | undefined = data?.platformPaymentMethods.map((platform) => ({\n id: platform._id,\n key: platform.key,\n type: platform.type,\n moduleKey: platform?.moduleKey,\n name: getTranslatableField(platform.name),\n description: getTranslatableField(platform.description),\n currencyCode: platform.currencyCode,\n countryCode: platform.countryCode,\n }))\n\n const merchant:\n | MappedMerchantPaymentMethodDTO[]\n | undefined = data?.merchantsPaymentMethods\n .map(({ methods }) =>\n methods\n .map((merchant) => ({\n id: merchant._id,\n key: merchant.key,\n type: merchant.type,\n moduleKey: merchant?.moduleKey,\n name: getTranslatableField(merchant.name),\n description: getTranslatableField(merchant.description),\n countryCode: merchant.countryCode,\n currencyCode: merchant.currencyCode,\n }))\n .flat()\n )\n .flat() as MappedMerchantPaymentMethodDTO[]\n\n return {\n ...queryData,\n data: {\n platformPaymentMethods: platform,\n merchantPaymentMethods: merchant,\n },\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useUpdateOrderPaymentMethod/index.ts"],"names":["useUpdateOrderPaymentMethod","orderId","method","onSuccess","onError","payMyOrder","resourceId","id","resourceType","IdReferenceDTOResourceTypeEnum","Payment","orderData","paymentDto","payments","_id","payment","type","key","moduleKey"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAIA;;AAMO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,OAUrC;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,MAQI,QARJA,MAQI;AAAA,4BAPJC,SAOI;AAAA,MAPJA,SAOI,+BAPQ,YAAM,CAAE,CAOhB;AAAA,0BANJC,OAMI;AAAA,MANJA,OAMI,6BANM,YAAM,CAAE,CAMd;;AAAA,qBACiB,oBADjB;AAAA,MACGC,UADH;;AAGJ,SAAO,yHACL;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAC0B,2CAAiCJ,OAAjC,EAA0C;AAChEC,cAAAA,MAAM,EAAE;AACNI,gBAAAA,UAAU,EAAEJ,MAAM,CAACK,EADb;AAENC,gBAAAA,YAAY,EAAEC,oCAA+BC;AAFvC;AADwD,aAA1C,CAD1B;;AAAA;AACQC,YAAAA,SADR;AAQQC,YAAAA,UARR,0BAQqBD,SAAS,CAACE,QAR/B,qBAQqB,oBAAqB,CAArB,CARrB;AAAA,6CAUSR,UAAU,CAAC;AAChBJ,cAAAA,OAAO,EAAEU,SAAS,CAACG,GADH;AAEhBC,cAAAA,OAAO,EAAE;AACPR,gBAAAA,EAAE,EAAEK,UAAU,CAACE,GADR;AAEPE,gBAAAA,IAAI,EAAEJ,UAAU,CAACI,IAFV;AAGPC,gBAAAA,GAAG,EAAEL,UAAU,CAACM;AAHT;AAFO,aAAD,CAVnB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GADK,IAoBL;AACEf,IAAAA,SAAS,EAATA,SADF;AAEEC,IAAAA,OAAO,EAAPA;AAFF,GApBK,CAAP;AAyBD,CAtCM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n IdReferenceDTOResourceTypeEnum,\n MyOrdersSetPlatformPaymentMethod,\n} from '@sentecacommerce/sdk'\nimport {\n MappedPlatformPaymentMethodDTO,\n MappedMerchantPaymentMethodDTO,\n usePayOrder,\n} from '../../../'\n\nexport const useUpdateOrderPaymentMethod = ({\n orderId,\n method,\n onSuccess = () => {},\n onError = () => {},\n}: {\n orderId: string\n method: MappedPlatformPaymentMethodDTO | MappedMerchantPaymentMethodDTO\n onSuccess?: (data?: unknown) => void\n onError?: (error?: unknown) => void\n}) => {\n const [payMyOrder] = usePayOrder()\n\n return useMutation(\n async () => {\n const orderData = await MyOrdersSetPlatformPaymentMethod(orderId, {\n method: {\n resourceId: method.id,\n resourceType: IdReferenceDTOResourceTypeEnum.Payment,\n },\n })\n\n const paymentDto = orderData.payments?.[0]\n\n return payMyOrder({\n orderId: orderData._id,\n payment: {\n id: paymentDto._id,\n type: paymentDto.type,\n key: paymentDto.moduleKey,\n },\n })\n },\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useUpdateOrderPaymentMethod/index.ts"],"names":["useUpdateOrderPaymentMethod","orderId","method","onSuccess","onError","payMyOrder","resourceId","id","resourceType","IdReferenceDTOResourceTypeEnum","Payment","orderData","paymentDto","payments","_id","payment","type","key","moduleKey"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAMA;;AAMO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,OAUrC;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,MAQI,QARJA,MAQI;AAAA,4BAPJC,SAOI;AAAA,MAPJA,SAOI,+BAPQ,YAAM,CAAE,CAOhB;AAAA,0BANJC,OAMI;AAAA,MANJA,OAMI,6BANM,YAAM,CAAE,CAMd;;AAAA,qBACiB,oBADjB;AAAA,MACGC,UADH;;AAGJ,SAAO,yHACL;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAC0B,2CAAiCJ,OAAjC,EAA0C;AAChEC,cAAAA,MAAM,EAAE;AACNI,gBAAAA,UAAU,EAAEJ,MAAM,CAACK,EADb;AAENC,gBAAAA,YAAY,EAAEC,oCAA+BC;AAFvC;AADwD,aAA1C,CAD1B;;AAAA;AACQC,YAAAA,SADR;AAQQC,YAAAA,UARR,0BAQqBD,SAAS,CAACE,QAR/B,qBAQqB,oBAAqB,CAArB,CARrB;AAAA,6CAUSR,UAAU,CAAC;AAChBJ,cAAAA,OAAO,EAAEU,SAAS,CAACG,GADH;AAEhBC,cAAAA,OAAO,EAAE;AACPR,gBAAAA,EAAE,EAAEK,UAAU,CAACE,GADR;AAEPE,gBAAAA,IAAI,EAAEJ,UAAU,CAACI,IAFV;AAGPC,gBAAAA,GAAG,EAAEL,UAAU,CAACM;AAHT;AAFO,aAAD,CAVnB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GADK,IAoBL;AACEf,IAAAA,SAAS,EAATA,SADF;AAEEC,IAAAA,OAAO,EAAPA;AAFF,GApBK,CAAP;AAyBD,CAtCM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n IdReferenceDTOResourceTypeEnum,\n MyOrdersSetPlatformPaymentMethod,\n PaymentMethodDTOTypeEnum,\n PaymentDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n MappedPlatformPaymentMethodDTO,\n MappedMerchantPaymentMethodDTO,\n usePayOrder,\n} from '../../../'\n\nexport const useUpdateOrderPaymentMethod = ({\n orderId,\n method,\n onSuccess = () => {},\n onError = () => {},\n}: {\n orderId: string\n method: MappedPlatformPaymentMethodDTO | MappedMerchantPaymentMethodDTO\n onSuccess?: (data?: unknown) => void\n onError?: (error?: unknown) => void\n}) => {\n const [payMyOrder] = usePayOrder()\n\n return useMutation(\n async () => {\n const orderData = await MyOrdersSetPlatformPaymentMethod(orderId, {\n method: {\n resourceId: method.id,\n resourceType: IdReferenceDTOResourceTypeEnum.Payment,\n },\n })\n\n const paymentDto = orderData.payments?.[0] as any\n\n return payMyOrder({\n orderId: orderData._id,\n payment: {\n id: paymentDto._id,\n type: paymentDto.type,\n key: paymentDto.moduleKey,\n },\n })\n },\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","myOrdersApi","useCreate","result","paypalPayment","payments","find","payment","type","PaymentMethodDTOTypeEnum","PaymentServiceProvider","moduleKey","boricaPayment","myPaymentsBoricaApi","pay","orderId","_id","paymentId","boricaResult","paypalResponse","handleCheckoutSubmit"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAc3B;AAAA,MAbJC,SAaI,QAbJA,SAaI;AAAA,MAZJC,sBAYI,QAZJA,sBAYI;AAAA,MAXJC,sBAWI,QAXJA,sBAWI;AAAA,MAVJC,OAUI,QAVJA,OAUI;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,uBAQI,QARJA,uBAQI;AACJ,MAAMC,MAAM,GAAG,gCAAf;AAEA,MAAMC,YAAY,GAAG,wBAArB;;AAHI,8BAK2BC,cAAYC,SAAZ,CAC7BL,QAAQ,GAAGG,YAAH,GAAkB,EADG;AAAA,8FAE7B,iBAAOG,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACE;AACA,sCAASA,MAAT,EAAiBJ,MAAjB;AAEMK,cAAAA,aAJR,GAIwBD,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACEA,OAAO,CAACC,IAAR,KAAiBC,8BAAyBC,sBAA1C,IACAH,OAAO,CAACI,SAAR,KAAsB,QAFxB;AAAA,eADoB,CAJxB;AAUQC,cAAAA,aAVR,GAUwBT,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACEA,OAAO,CAACC,IAAR,KAAiBC,8BAAyBC,sBAA1C,IACAH,OAAO,CAACI,SAAR,KAAsB,QAFxB;AAAA,eADoB,CAVxB;;AAAA,mBAgBMb,uBAhBN;AAAA;AAAA;AAAA;;AAAA,+CAgBsCL,SAhBtC,oBAgBsCA,SAAS,CAAGU,MAAH,CAhB/C;;AAAA;AAAA,mBAkBMS,aAlBN;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAmB+BC,sBAAoBC,GAApB,CAAwB;AACjDC,gBAAAA,OAAO,EAAEZ,MAAM,CAACa,GADiC;AAEjDC,gBAAAA,SAAS,EAAEL,aAAa,CAACI;AAFwB,eAAxB,CAnB/B;;AAAA;AAmBUE,cAAAA,YAnBV;AAuBIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,YAAH,CAAtB;AAvBJ;AAAA;;AAAA;AAAA,mBAwBad,aAxBb;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAyBiC,qCAC3BD,MAAM,CAACa,GADoB,EAE3BZ,aAAa,CAACY,GAFa,CAzBjC;;AAAA;AAyBUG,cAAAA,cAzBV;AA8BIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,cAAH,CAAtB;AA9BJ;AAAA;;AAAA;AAgCI1B,cAAAA,SAAS,QAAT,YAAAA,SAAS,CAAGU,MAAH,CAAT;;AAhCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAF6B;;AAAA;AAAA;AAAA;AAAA,OAqC7BP,OArC6B,CAL3B;AAAA,MAKGwB,oBALH;;AA6CJ,SAAO;AACLA,IAAAA,oBAAoB,EAApBA;AADK,GAAP;AAGD,CA9DM","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n PaymentMethodDTOTypeEnum,\n MyPaymentsPaypalPayMyOrder,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","myOrdersApi","useCreate","result","paypalPayment","payments","find","payment","type","PaymentMethodDTOTypeEnum","PaymentServiceProvider","moduleKey","boricaPayment","myPaymentsBoricaApi","pay","orderId","_id","paymentId","boricaResult","paypalResponse","handleCheckoutSubmit"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAc3B;AAAA,MAbJC,SAaI,QAbJA,SAaI;AAAA,MAZJC,sBAYI,QAZJA,sBAYI;AAAA,MAXJC,sBAWI,QAXJA,sBAWI;AAAA,MAVJC,OAUI,QAVJA,OAUI;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,uBAQI,QARJA,uBAQI;AACJ,MAAMC,MAAM,GAAG,gCAAf;AAEA,MAAMC,YAAY,GAAG,wBAArB;;AAHI,8BAK2BC,cAAYC,SAAZ,CAC7BL,QAAQ,GAAGG,YAAH,GAAkB,EADG;AAAA,8FAE7B,iBAAOG,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACE;AACA,sCAASA,MAAT,EAAiBJ,MAAjB;AAEMK,cAAAA,aAJR,GAIwBD,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACGA,OAAO,CAACC,IAAT,KACEC,8BAAyBC,sBAD3B,IAEAH,OAAO,CAACI,SAAR,KAAsB,QAHxB;AAAA,eADoB,CAJxB;AAWQC,cAAAA,aAXR,GAWwBT,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACGA,OAAO,CAACC,IAAT,KACEC,8BAAyBC,sBAD3B,IAEAH,OAAO,CAACI,SAAR,KAAsB,QAHxB;AAAA,eADoB,CAXxB;;AAAA,mBAkBMb,uBAlBN;AAAA;AAAA;AAAA;;AAAA,+CAkBsCL,SAlBtC,oBAkBsCA,SAAS,CAAGU,MAAH,CAlB/C;;AAAA;AAAA,mBAoBMS,aApBN;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAqB+BC,sBAAoBC,GAApB,CAAwB;AACjDC,gBAAAA,OAAO,EAAEZ,MAAM,CAACa,GADiC;AAEjDC,gBAAAA,SAAS,EAAEL,aAAa,CAACI;AAFwB,eAAxB,CArB/B;;AAAA;AAqBUE,cAAAA,YArBV;AAyBIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,YAAH,CAAtB;AAzBJ;AAAA;;AAAA;AAAA,mBA0Bad,aA1Bb;AAAA;AAAA;AAAA;;AAAA;AAAA,qBA2BiC,qCAC3BD,MAAM,CAACa,GADoB,EAE3BZ,aAAa,CAACY,GAFa,CA3BjC;;AAAA;AA2BUG,cAAAA,cA3BV;AAgCIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,cAAH,CAAtB;AAhCJ;AAAA;;AAAA;AAkCI1B,cAAAA,SAAS,QAAT,YAAAA,SAAS,CAAGU,MAAH,CAAT;;AAlCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAF6B;;AAAA;AAAA;AAAA;AAAA,OAuC7BP,OAvC6B,CAL3B;AAAA,MAKGwB,oBALH;;AA+CJ,SAAO;AACLA,IAAAA,oBAAoB,EAApBA;AADK,GAAP;AAGD,CAhEM","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n PaymentMethodDTOTypeEnum,\n MyPaymentsPaypalPayMyOrder,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n (payment.type as any) ===\n PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n (payment.type as any) ===\n PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
@@ -10,13 +10,18 @@ var useContactForm = function useContactForm(_ref) {
10
10
  onError = _ref.onError,
11
11
  _ref$endpoint = _ref.endpoint,
12
12
  endpoint = _ref$endpoint === void 0 ? 'email/contact' : _ref$endpoint,
13
- integrationDomain = _ref.integrationDomain;
13
+ integrationDomain = _ref.integrationDomain,
14
+ interfaceKey = _ref.interfaceKey;
15
+ var headers = interfaceKey ? {
16
+ InterfaceKey: interfaceKey,
17
+ 'Content-Type': 'application/json'
18
+ } : {
19
+ 'Content-Type': 'application/json'
20
+ };
14
21
  return (0, _reactQuery.useMutation)(function (body) {
15
22
  return fetch(integrationDomain + "/" + endpoint, {
16
23
  method: 'POST',
17
- headers: {
18
- 'Content-Type': 'application/json'
19
- },
24
+ headers: headers,
20
25
  body: JSON.stringify(body)
21
26
  }).then(function (res) {
22
27
  return res.json();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useContactForm/index.tsx"],"names":["useContactForm","onSuccess","onError","endpoint","integrationDomain","body","fetch","method","headers","JSON","stringify","then","res","json"],"mappings":";;;;;AAAA;;AAUO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAUxB;AAAA,MATJC,SASI,QATJA,SASI;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,2BAPJC,QAOI;AAAA,MAPJA,QAOI,8BAPO,eAOP;AAAA,MANJC,iBAMI,QANJA,iBAMI;AACJ,SAAO,6BACL,UAACC,IAAD;AAAA,WACEC,KAAK,CAAIF,iBAAJ,SAAyBD,QAAzB,EAAqC;AACxCI,MAAAA,MAAM,EAAE,MADgC;AAExCC,MAAAA,OAAO,EAAE;AACP,wBAAgB;AADT,OAF+B;AAKxCH,MAAAA,IAAI,EAAEI,IAAI,CAACC,SAAL,CAAeL,IAAf;AALkC,KAArC,CAAL,CAMGM,IANH,CAMQ,UAACC,GAAD;AAAA,aAASA,GAAG,CAACC,IAAJ,EAAT;AAAA,KANR,CADF;AAAA,GADK,EASL;AACEZ,IAAAA,SAAS,EAATA,SADF;AAEEC,IAAAA,OAAO,EAAPA;AAFF,GATK,CAAP;AAcD,CAzBM","sourcesContent":["import { useMutation } from 'react-query'\n\ntype EmailBodyType = {\n name: string\n email: string\n phone: string\n subject: string\n message: string\n}\n\nexport const useContactForm = ({\n onSuccess,\n onError,\n endpoint = 'email/contact',\n integrationDomain,\n}: {\n onSuccess: (data: any) => void\n onError: (error: any) => void\n endpoint?: string\n integrationDomain: string\n}) => {\n return useMutation(\n (body: EmailBodyType) =>\n fetch(`${integrationDomain}/${endpoint}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n }).then((res) => res.json()),\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useContactForm/index.tsx"],"names":["useContactForm","onSuccess","onError","endpoint","integrationDomain","interfaceKey","headers","InterfaceKey","body","fetch","method","JSON","stringify","then","res","json"],"mappings":";;;;;AAAA;;AAUO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAYxB;AAAA,MAXJC,SAWI,QAXJA,SAWI;AAAA,MAVJC,OAUI,QAVJA,OAUI;AAAA,2BATJC,QASI;AAAA,MATJA,QASI,8BATO,eASP;AAAA,MARJC,iBAQI,QARJA,iBAQI;AAAA,MAPJC,YAOI,QAPJA,YAOI;AACJ,MAAMC,OAAgC,GAAGD,YAAY,GACjD;AACEE,IAAAA,YAAY,EAAEF,YADhB;AAEE,oBAAgB;AAFlB,GADiD,GAKjD;AACE,oBAAgB;AADlB,GALJ;AASA,SAAO,6BACL,UAACG,IAAD;AAAA,WACEC,KAAK,CAAIL,iBAAJ,SAAyBD,QAAzB,EAAqC;AACxCO,MAAAA,MAAM,EAAE,MADgC;AAExCJ,MAAAA,OAAO,EAAPA,OAFwC;AAGxCE,MAAAA,IAAI,EAAEG,IAAI,CAACC,SAAL,CAAeJ,IAAf;AAHkC,KAArC,CAAL,CAIGK,IAJH,CAIQ,UAACC,GAAD;AAAA,aAASA,GAAG,CAACC,IAAJ,EAAT;AAAA,KAJR,CADF;AAAA,GADK,EAOL;AACEd,IAAAA,SAAS,EAATA,SADF;AAEEC,IAAAA,OAAO,EAAPA;AAFF,GAPK,CAAP;AAYD,CAlCM","sourcesContent":["import { useMutation } from 'react-query'\n\ntype EmailBodyType = {\n name: string\n email: string\n phone: string\n subject: string\n message: string\n}\n\nexport const useContactForm = ({\n onSuccess,\n onError,\n endpoint = 'email/contact',\n integrationDomain,\n interfaceKey,\n}: {\n onSuccess: (data: any) => void\n onError: (error: any) => void\n endpoint?: string\n integrationDomain: string\n interfaceKey?: string\n}) => {\n const headers: HeadersInit | undefined = interfaceKey\n ? {\n InterfaceKey: interfaceKey,\n 'Content-Type': 'application/json',\n }\n : {\n 'Content-Type': 'application/json',\n }\n\n return useMutation(\n (body: EmailBodyType) =>\n fetch(`${integrationDomain}/${endpoint}`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body),\n }).then((res) => res.json()),\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
@@ -4,9 +4,9 @@ exports.__esModule = true;
4
4
  exports.emptyBasketGuard = emptyBasketGuard;
5
5
 
6
6
  function emptyBasketGuard(context, order) {
7
- var _order$lineItems;
7
+ var _order$lineItems, _order$customLineItem;
8
8
 
9
- if (!(order != null && (_order$lineItems = order.lineItems) != null && _order$lineItems.length) && !context.res.headersSent) {
9
+ if (!Boolean((order == null ? void 0 : (_order$lineItems = order.lineItems) == null ? void 0 : _order$lineItems.length) || (order == null ? void 0 : (_order$customLineItem = order.customLineItems) == null ? void 0 : _order$customLineItem.length)) && !context.res.headersSent) {
10
10
  return true;
11
11
  }
12
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","lineItems","length","res","headersSent"],"mappings":";;;;;AAGO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MAAI,EAACA,KAAD,gCAACA,KAAK,CAAEC,SAAR,aAAC,iBAAkBC,MAAnB,KAA6B,CAACH,OAAO,CAACI,GAAR,CAAYC,WAA9C,EAA2D;AACzD,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (!order?.lineItems?.length && !context.res.headersSent) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
1
+ {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","Boolean","lineItems","length","customLineItems","res","headersSent"],"mappings":";;;;;AAGO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MACE,CAACC,OAAO,CAAC,CAAAD,KAAK,QAAL,gCAAAA,KAAK,CAAEE,SAAP,sCAAkBC,MAAlB,MAA4BH,KAA5B,6CAA4BA,KAAK,CAAEI,eAAnC,qBAA4B,sBAAwBD,MAApD,CAAD,CAAR,IACA,CAACJ,OAAO,CAACM,GAAR,CAAYC,WAFf,EAGE;AACA,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (\n !Boolean(order?.lineItems?.length || order?.customLineItems?.length) &&\n !context.res.headersSent\n ) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
@@ -1,2 +1,3 @@
1
1
  export * from './useReplaceBasketMutation';
2
+ export * from './useChangeSelectableGiftLineItemVariantMutation';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/basket/api/mutations/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAAd","sourcesContent":["export * from './useReplaceBasketMutation'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/basket/api/mutations/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAAd;AACA,cAAc,kDAAd","sourcesContent":["export * from './useReplaceBasketMutation'\nexport * from './useChangeSelectableGiftLineItemVariantMutation'\n"],"file":"index.js"}
@@ -0,0 +1,15 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useMutation } from 'react-query';
3
+ import { MyCartChangeSelectableGiftLineItemVariant } from '@sentecacommerce/sdk';
4
+ export var useChangeSelectableGiftLineItemVariantMutation = () => {
5
+ return useMutation( /*#__PURE__*/function () {
6
+ var _ref = _asyncToGenerator(function* (props) {
7
+ return yield MyCartChangeSelectableGiftLineItemVariant(props);
8
+ });
9
+
10
+ return function (_x) {
11
+ return _ref.apply(this, arguments);
12
+ };
13
+ }());
14
+ };
15
+ //# sourceMappingURL=useChangeSelectableGiftLineItemVariantMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/basket/api/mutations/useChangeSelectableGiftLineItemVariantMutation.ts"],"names":["useMutation","MyCartChangeSelectableGiftLineItemVariant","useChangeSelectableGiftLineItemVariantMutation","props"],"mappings":";AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SACEC,yCADF,QAGO,sBAHP;AAKA,OAAO,IAAMC,8CAA8C,GAAG,MAAM;AAClE,SAAOF,WAAW;AAAA,iCAChB,WAAOG,KAAP;AAAA,mBACQF,yCAAyC,CAACE,KAAD,CADjD;AAAA,KADgB;;AAAA;AAAA;AAAA;AAAA,MAAlB;AAID,CALM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n MyCartChangeSelectableGiftLineItemVariant,\n OrderSelectableGiftVariantUpdateDTO,\n} from '@sentecacommerce/sdk'\n\nexport const useChangeSelectableGiftLineItemVariantMutation = () => {\n return useMutation(\n async (props: OrderSelectableGiftVariantUpdateDTO) =>\n await MyCartChangeSelectableGiftLineItemVariant(props)\n )\n}\n"],"file":"useChangeSelectableGiftLineItemVariantMutation.js"}
@@ -1,3 +1,4 @@
1
1
  export * from './useReplaceBasket';
2
2
  export * from './useBasketCrossSaleItems';
3
+ export * from './useChangeSelectableGiftLineItemVariant';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/basket/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './useReplaceBasket'\nexport * from './useBasketCrossSaleItems'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/basket/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAd;AACA,cAAc,2BAAd;AACA,cAAc,0CAAd","sourcesContent":["export * from './useReplaceBasket'\nexport * from './useBasketCrossSaleItems'\nexport * from './useChangeSelectableGiftLineItemVariant'\n"],"file":"index.js"}
@@ -0,0 +1,3 @@
1
+ import { useChangeSelectableGiftLineItemVariantMutation } from '../api/mutations';
2
+ export { useChangeSelectableGiftLineItemVariantMutation as useChangeSelectableGiftLineItemVariant };
3
+ //# sourceMappingURL=useChangeSelectableGiftLineItemVariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/basket/hooks/useChangeSelectableGiftLineItemVariant.ts"],"names":["useChangeSelectableGiftLineItemVariantMutation","useChangeSelectableGiftLineItemVariant"],"mappings":"AACA,SAASA,8CAAT,QAA+D,kBAA/D;AACA,SAASA,8CAA8C,IAAIC,sCAA3D","sourcesContent":["import React from 'react'\nimport { useChangeSelectableGiftLineItemVariantMutation } from '../api/mutations'\nexport { useChangeSelectableGiftLineItemVariantMutation as useChangeSelectableGiftLineItemVariant }\n"],"file":"useChangeSelectableGiftLineItemVariant.js"}
@@ -80,15 +80,19 @@ export var useShipping = (_ref) => {
80
80
  if (!enableSaveAddress) return;
81
81
  setIsShippingSubmitting(true);
82
82
  if (addressErrors) return;
83
- saveAddress(_extends({}, shippingAddressWithModule, {
83
+
84
+ var baseAddress = _extends({}, shippingAddressWithModule, {
84
85
  _id: undefined,
85
- countryCode,
86
86
  custom: shippingAddressWithModule == null ? void 0 : (_shippingAddressWithM = shippingAddressWithModule.custom) == null ? void 0 : _shippingAddressWithM.filter((_ref2) => {
87
87
  var {
88
88
  field
89
89
  } = _ref2;
90
90
  return field !== IS_NEW && field !== SELECTED_ADDRESS_ID;
91
91
  })
92
+ });
93
+
94
+ saveAddress(enableNoShippingMethodMode ? baseAddress : _extends({}, baseAddress, {
95
+ countryCode
92
96
  }), {
93
97
  onSuccess: address => {
94
98
  var data = _extends({}, address, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["useCallback","useMemo","useState","addressesApi","useCheckoutShippingModule","useCheckoutShippingAddress","validateShipping","updateObjProp","usePersistOnBeforeUnload","useSavedShippingList","useShippingInitialData","IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","saveAddress","useAdd","handleShippingAddressChange","currentShippingAddress","savedShippingAddress","shippingAddress","setShippingAddress","mod","savedAddressList","hasAvailableSavedAddress","noShippingMethod","selectedShippingAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n saveAddress(\n {\n ...shippingAddressWithModule,\n _id: undefined,\n countryCode,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["useCallback","useMemo","useState","addressesApi","useCheckoutShippingModule","useCheckoutShippingAddress","validateShipping","updateObjProp","usePersistOnBeforeUnload","useSavedShippingList","useShippingInitialData","IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","saveAddress","useAdd","handleShippingAddressChange","currentShippingAddress","savedShippingAddress","shippingAddress","setShippingAddress","mod","savedAddressList","hasAvailableSavedAddress","noShippingMethod","selectedShippingAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","baseAddress","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n const baseAddress = {\n ...shippingAddressWithModule,\n _id: undefined,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n }\n\n saveAddress(\n enableNoShippingMethodMode\n ? baseAddress\n : { ...baseAddress, countryCode },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  import { myCartApi } from '../../../';
3
3
  import { usePrefetchProduct } from '../../../';
4
+ import { LineItemDTOLineItemModeEnum } from '@sentecacommerce/sdk';
4
5
  import { getTranslatableField } from '../../../';
5
6
  import { createMappedAttributes, getTimeStamp, calculateTotalPrice } from './utils';
6
7
  import { createSelectedOption } from '../../useProduct/utils';
7
8
  import { assetsFieldsToMap } from '../../../utils/assetsToMap';
8
9
  import { customFieldsToMap } from '../../../utils';
10
+ export { LineItemDTOLineItemModeEnum };
9
11
  export var useBasketLineItem = props => {
10
12
  var _props$item;
11
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["React","myCartApi","usePrefetchProduct","getTranslatableField","createMappedAttributes","getTimeStamp","calculateTotalPrice","createSelectedOption","assetsFieldsToMap","customFieldsToMap","useBasketLineItem","props","isExpired","setIsExpired","useState","syncBasket","useSync","onMouseDown","onMouseEnter","onMouseLeave","item","productSlug","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","maxQuantity","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\ninterface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n maxQuantity: item?.variant?.offer?.maxQuantity,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["React","myCartApi","usePrefetchProduct","LineItemDTOLineItemModeEnum","getTranslatableField","createMappedAttributes","getTimeStamp","calculateTotalPrice","createSelectedOption","assetsFieldsToMap","customFieldsToMap","useBasketLineItem","props","isExpired","setIsExpired","useState","syncBasket","useSync","onMouseDown","onMouseEnter","onMouseLeave","item","productSlug","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","maxQuantity","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\nexport { LineItemDTOLineItemModeEnum }\n\nexport interface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n maxQuantity: item?.variant?.offer?.maxQuantity,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrder/index.ts"],"names":["React","PaymentStatusUpdateDTOStatusEnum","getTranslatableField","myOrdersApi","useOrder","data","id","orderQuery","useGetById","order","result","useMemo","shipping","shippings","parcels","deliveries","isShippingMethodOffice","Boolean","shippingAddress","moduleData","address","office","platform","payments","orderData","lineItems","lineItemsCount","status","orderRefNumber","createdAt","discountCodes","mapDiscountCodes","customLineItems","map","customLineItem","name","paymentStatus","platformPaymentMethod","_id","key","moduleKey","type","description","currencyCode","countryCode","shippingMethod","isOffice","isAddress","billingAddress","trackingData","mapTrackingData","parcel","courierName","provider","trackingId","trackingUrl","providerMeta","trackUrl","codes","codeNames","filter","code","discountCode","resource","value"],"mappings":"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","sourcesContent":["import React from 'react'\nimport {\n DiscountCodeInfoDTO,\n LineItemDTO,\n OrderDTO,\n OrderDTOStatusEnum,\n ShippingDeliveryParcelDTO,\n CustomLineItemDTO,\n AddressDTO,\n PaymentStatusUpdateDTOStatusEnum,\n} from '@sentecacommerce/sdk'\n\nimport {\n getTranslatableField,\n MappedPlatformPaymentMethodDTO,\n} from '../../../index'\nimport { myOrdersApi } from '../../../api/myOrdersApi'\n\nexport { PaymentStatusUpdateDTOStatusEnum }\n\ntype TrackingProp = {\n provider?: string\n trackingId?: string\n trackingUrl?: string\n}\n\nexport type MappedCustomLineItemDTO = CustomLineItemDTO & {\n name: string\n}\n\ntype UseOrderProps = {\n lineItems?: LineItemDTO[]\n lineItemsCount: number\n createdAt?: number\n orderRefNumber?: string\n status?: OrderDTOStatusEnum\n discountCodes?: string[]\n shippingMethod: {\n isOffice: boolean\n isAddress: boolean\n }\n paymentStatus: PaymentStatusUpdateDTOStatusEnum\n trackingData: TrackingProp[]\n customLineItems?: MappedCustomLineItemDTO[]\n shippingAddress: AddressDTO\n billingAddress?: AddressDTO\n platformPaymentMethod: MappedPlatformPaymentMethodDTO\n}\n\nexport const useOrder = ({\n data,\n id,\n}: {\n data?: OrderDTO\n id?: string\n}): UseOrderProps => {\n const orderQuery = myOrdersApi.useGetById(id)\n\n const order = data || orderQuery.data\n\n const result = React.useMemo(() => {\n const shipping = order?.shippings?.[0]\n const parcels = shipping?.deliveries?.[0]?.parcels\n\n const isShippingMethodOffice = Boolean(\n order?.shippingAddress?.moduleData?.[0]?.moduleData?.address?.office\n ?.address\n )\n\n const platform = order?.payments?.[0]\n\n const orderData: UseOrderProps = {\n lineItems: order?.lineItems,\n lineItemsCount: order?.lineItemsCount ?? 0,\n status: order?.status,\n orderRefNumber: order?.orderRefNumber,\n createdAt: order?.createdAt,\n discountCodes: mapDiscountCodes(order?.discountCodes),\n customLineItems: order?.customLineItems?.map((customLineItem) => {\n return {\n ...customLineItem,\n name: getTranslatableField(customLineItem.name),\n } as MappedCustomLineItemDTO\n }),\n shippingAddress: order?.shippingAddress as AddressDTO,\n paymentStatus: platform?.status as PaymentStatusUpdateDTOStatusEnum,\n platformPaymentMethod: {\n id: platform?._id,\n key: platform?.moduleKey,\n type: platform?.type,\n name: getTranslatableField(platform?.name),\n description: getTranslatableField(platform?.description),\n currencyCode: platform?.currencyCode,\n countryCode: platform?.countryCode,\n },\n shippingMethod: {\n isOffice: isShippingMethodOffice,\n isAddress: isShippingMethodOffice ? false : true,\n },\n billingAddress: order?.billingAddress,\n\n trackingData: mapTrackingData(parcels),\n }\n return orderData\n }, [order])\n\n return result\n}\n\nfunction mapTrackingData(parcels?: ShippingDeliveryParcelDTO[]) {\n return (\n parcels?.map((parcel) => {\n return {\n courierName: parcel?.moduleData?.trackingData?.provider,\n trackingId: parcel?.moduleData?.trackingData?.trackingId,\n trackingUrl: parcel?.moduleData?.providerMeta?.trackUrl,\n }\n }) || []\n )\n}\n\nfunction mapDiscountCodes(codes?: DiscountCodeInfoDTO[]) {\n const codeNames = codes?.filter((code) => code.status !== 'NotValid')\n\n return codeNames?.map((code) => {\n return code.discountCode.resource.name[0].value\n })\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrder/index.ts"],"names":["React","PaymentStatusUpdateDTOStatusEnum","getTranslatableField","myOrdersApi","useOrder","data","id","orderQuery","useGetById","order","result","useMemo","shipping","shippings","parcels","deliveries","isShippingMethodOffice","Boolean","shippingAddress","moduleData","address","office","platform","payments","orderData","lineItems","lineItemsCount","status","orderRefNumber","createdAt","discountCodes","mapDiscountCodes","customLineItems","map","customLineItem","name","paymentStatus","platformPaymentMethod","_id","key","moduleKey","type","description","currencyCode","countryCode","shippingMethod","isOffice","isAddress","billingAddress","trackingData","mapTrackingData","parcel","courierName","provider","trackingId","trackingUrl","providerMeta","trackUrl","codes","codeNames","filter","code","discountCode","resource","value"],"mappings":"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","sourcesContent":["import React from 'react'\nimport {\n DiscountCodeInfoDTO,\n LineItemDTO,\n OrderDTO,\n OrderDTOStatusEnum,\n ShippingDeliveryParcelDTO,\n CustomLineItemDTO,\n AddressDTO,\n PaymentStatusUpdateDTOStatusEnum,\n} from '@sentecacommerce/sdk'\n\nimport {\n getTranslatableField,\n MappedPlatformPaymentMethodDTO,\n} from '../../../index'\nimport { myOrdersApi } from '../../../api/myOrdersApi'\n\nexport { PaymentStatusUpdateDTOStatusEnum }\n\ntype TrackingProp = {\n provider?: string\n trackingId?: string\n trackingUrl?: string\n}\n\nexport type MappedCustomLineItemDTO = CustomLineItemDTO & {\n name: string\n}\n\ntype UseOrderProps = {\n lineItems?: LineItemDTO[]\n lineItemsCount: number\n createdAt?: number\n orderRefNumber?: string\n status?: OrderDTOStatusEnum\n discountCodes?: string[]\n shippingMethod: {\n isOffice: boolean\n isAddress: boolean\n }\n paymentStatus: PaymentStatusUpdateDTOStatusEnum\n trackingData: TrackingProp[]\n customLineItems?: MappedCustomLineItemDTO[]\n shippingAddress: AddressDTO\n billingAddress?: AddressDTO\n platformPaymentMethod: MappedPlatformPaymentMethodDTO\n}\n\nexport const useOrder = ({\n data,\n id,\n}: {\n data?: OrderDTO\n id?: string\n}): UseOrderProps => {\n const orderQuery = myOrdersApi.useGetById(id)\n\n const order = data || orderQuery.data\n\n const result = React.useMemo(() => {\n const shipping = order?.shippings?.[0]\n const parcels = shipping?.deliveries?.[0]?.parcels\n\n const isShippingMethodOffice = Boolean(\n order?.shippingAddress?.moduleData?.[0]?.moduleData?.address?.office\n ?.address\n )\n\n const platform = order?.payments?.[0] as any\n\n const orderData: UseOrderProps = {\n lineItems: order?.lineItems,\n lineItemsCount: order?.lineItemsCount ?? 0,\n status: order?.status,\n orderRefNumber: order?.orderRefNumber,\n createdAt: order?.createdAt,\n discountCodes: mapDiscountCodes(order?.discountCodes),\n customLineItems: order?.customLineItems?.map((customLineItem) => {\n return {\n ...customLineItem,\n name: getTranslatableField(customLineItem.name),\n } as MappedCustomLineItemDTO\n }),\n shippingAddress: order?.shippingAddress as AddressDTO,\n paymentStatus: platform?.status as PaymentStatusUpdateDTOStatusEnum,\n platformPaymentMethod: {\n id: platform?._id,\n key: platform?.moduleKey,\n type: platform?.type,\n name: getTranslatableField(platform?.name),\n description: getTranslatableField(platform?.description),\n currencyCode: platform?.currencyCode,\n countryCode: platform?.countryCode,\n },\n shippingMethod: {\n isOffice: isShippingMethodOffice,\n isAddress: isShippingMethodOffice ? false : true,\n },\n billingAddress: order?.billingAddress,\n\n trackingData: mapTrackingData(parcels),\n }\n return orderData\n }, [order])\n\n return result\n}\n\nfunction mapTrackingData(parcels?: ShippingDeliveryParcelDTO[]) {\n return (\n parcels?.map((parcel) => {\n return {\n courierName: parcel?.moduleData?.trackingData?.provider,\n trackingId: parcel?.moduleData?.trackingData?.trackingId,\n trackingUrl: parcel?.moduleData?.providerMeta?.trackUrl,\n }\n }) || []\n )\n}\n\nfunction mapDiscountCodes(codes?: DiscountCodeInfoDTO[]) {\n const codeNames = codes?.filter((code) => code.status !== 'NotValid')\n\n return codeNames?.map((code) => {\n return code.discountCode.resource.name[0].value\n })\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrderPaymentMethods/index.tsx"],"names":["MyOrdersGetPaymentMethods","useQuery","generateQueryKey","getTranslatableField","useOrderPaymentMethods","orderId","queryKey","queryData","data","platform","platformPaymentMethods","map","id","_id","key","type","moduleKey","name","description","currencyCode","countryCode","merchant","merchantsPaymentMethods","methods","flat","merchantPaymentMethods"],"mappings":";;AACA,SACEA,yBADF,QAGO,sBAHP;AAIA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,gBAAT,EAA2BC,oBAA3B,QAAuD,WAAvD;AAgBA,OAAO,IAAMC,sBAAsB,GAAG,UAAsC;AAAA,MAArC;AAAEC,IAAAA;AAAF,GAAqC;AAC1E,MAAMC,QAAQ,GAAGJ,gBAAgB,CAAC,qBAAD,EAAwBG,OAAxB,CAAjC;AAEA,MAAME,SAAS,GAAGN,QAAQ,CACxBK,QADwB,iCAExB;AAAA,iBAAkBN,yBAAyB,CAACK,OAAD,CAA3C;AAAA,GAFwB,EAA1B;AAKA,MAAMG,IAAI,GAAGD,SAAS,CAACC,IAAvB;AAEA,MAAMC,QAEO,GAAGD,IAAH,oBAAGA,IAAI,CAAEE,sBAAN,CAA6BC,GAA7B,CAAkCF,QAAD,KAAe;AAC9DG,IAAAA,EAAE,EAAEH,QAAQ,CAACI,GADiD;AAE9DC,IAAAA,GAAG,EAAEL,QAAQ,CAACK,GAFgD;AAG9DC,IAAAA,IAAI,EAAEN,QAAQ,CAACM,IAH+C;AAI9DC,IAAAA,SAAS,EAAEP,QAAF,oBAAEA,QAAQ,CAAEO,SAJyC;AAK9DC,IAAAA,IAAI,EAAEd,oBAAoB,CAACM,QAAQ,CAACQ,IAAV,CALoC;AAM9DC,IAAAA,WAAW,EAAEf,oBAAoB,CAACM,QAAQ,CAACS,WAAV,CAN6B;AAO9DC,IAAAA,YAAY,EAAEV,QAAQ,CAACU,YAPuC;AAQ9DC,IAAAA,WAAW,EAAEX,QAAQ,CAACW;AARwC,GAAf,CAAjC,CAFhB;AAaA,MAAMC,QAEO,GAAGb,IAAH,oBAAGA,IAAI,CAAEc,uBAAN,CACbX,GADa,CACT;AAAA,QAAC;AAAEY,MAAAA;AAAF,KAAD;AAAA,WACHA,OAAO,CACJZ,GADH,CACQU,QAAD,KAAe;AAClBT,MAAAA,EAAE,EAAES,QAAQ,CAACR,GADK;AAElBC,MAAAA,GAAG,EAAEO,QAAQ,CAACP,GAFI;AAGlBC,MAAAA,IAAI,EAAEM,QAAQ,CAACN,IAHG;AAIlBC,MAAAA,SAAS,EAAEK,QAAF,oBAAEA,QAAQ,CAAEL,SAJH;AAKlBC,MAAAA,IAAI,EAAEd,oBAAoB,CAACkB,QAAQ,CAACJ,IAAV,CALR;AAMlBC,MAAAA,WAAW,EAAEf,oBAAoB,CAACkB,QAAQ,CAACH,WAAV,CANf;AAOlBE,MAAAA,WAAW,EAAEC,QAAQ,CAACD,WAPJ;AAQlBD,MAAAA,YAAY,EAAEE,QAAQ,CAACF;AARL,KAAf,CADP,EAWGK,IAXH,EADG;AAAA,GADS,EAebA,IAfa,EAFhB;AAmBA,sBACKjB,SADL;AAEEC,IAAAA,IAAI,EAAE;AACJE,MAAAA,sBAAsB,EAAED,QADpB;AAEJgB,MAAAA,sBAAsB,EAAEJ;AAFpB;AAFR;AAOD,CAjDM","sourcesContent":["import React from 'react'\nimport {\n MyOrdersGetPaymentMethods,\n PaymentMethodDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { generateQueryKey, getTranslatableField } from '../../../'\n\nexport interface MappedPlatformPaymentMethodDTO {\n id: string\n key: string\n type: PaymentMethodDTOTypeEnum\n moduleKey?: string\n name: string\n description: string\n currencyCode: string\n countryCode: string\n}\n\nexport interface MappedMerchantPaymentMethodDTO\n extends MappedPlatformPaymentMethodDTO {}\n\nexport const useOrderPaymentMethods = ({ orderId }: { orderId: string }) => {\n const queryKey = generateQueryKey('orderPaymentMethods', orderId)\n\n const queryData = useQuery(\n queryKey,\n async () => await MyOrdersGetPaymentMethods(orderId)\n )\n\n const data = queryData.data\n\n const platform:\n | MappedPlatformPaymentMethodDTO[]\n | undefined = data?.platformPaymentMethods.map((platform) => ({\n id: platform._id,\n key: platform.key,\n type: platform.type,\n moduleKey: platform?.moduleKey,\n name: getTranslatableField(platform.name),\n description: getTranslatableField(platform.description),\n currencyCode: platform.currencyCode,\n countryCode: platform.countryCode,\n }))\n\n const merchant:\n | MappedMerchantPaymentMethodDTO[]\n | undefined = data?.merchantsPaymentMethods\n .map(({ methods }) =>\n methods\n .map((merchant) => ({\n id: merchant._id,\n key: merchant.key,\n type: merchant.type,\n moduleKey: merchant?.moduleKey,\n name: getTranslatableField(merchant.name),\n description: getTranslatableField(merchant.description),\n countryCode: merchant.countryCode,\n currencyCode: merchant.currencyCode,\n }))\n .flat()\n )\n .flat() as MappedMerchantPaymentMethodDTO[]\n\n return {\n ...queryData,\n data: {\n platformPaymentMethods: platform,\n merchantPaymentMethods: merchant,\n },\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useOrderPaymentMethods/index.tsx"],"names":["MyOrdersGetPaymentMethods","useQuery","generateQueryKey","getTranslatableField","useOrderPaymentMethods","orderId","queryKey","queryData","data","platform","platformPaymentMethods","map","id","_id","key","type","moduleKey","name","description","currencyCode","countryCode","merchant","merchantsPaymentMethods","methods","flat","merchantPaymentMethods"],"mappings":";;AACA,SACEA,yBADF,QAIO,sBAJP;AAKA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,gBAAT,EAA2BC,oBAA3B,QAAuD,WAAvD;AAgBA,OAAO,IAAMC,sBAAsB,GAAG,UAAsC;AAAA,MAArC;AAAEC,IAAAA;AAAF,GAAqC;AAC1E,MAAMC,QAAQ,GAAGJ,gBAAgB,CAAC,qBAAD,EAAwBG,OAAxB,CAAjC;AAEA,MAAME,SAAS,GAAGN,QAAQ,CACxBK,QADwB,iCAExB;AAAA,iBAAkBN,yBAAyB,CAACK,OAAD,CAA3C;AAAA,GAFwB,EAA1B;AAKA,MAAMG,IAAI,GAAGD,SAAS,CAACC,IAAvB;AAEA,MAAMC,QAEO,GAAGD,IAAH,oBAAGA,IAAI,CAAEE,sBAAN,CAA6BC,GAA7B,CAAkCF,QAAD,KAAe;AAC9DG,IAAAA,EAAE,EAAEH,QAAQ,CAACI,GADiD;AAE9DC,IAAAA,GAAG,EAAEL,QAAQ,CAACK,GAFgD;AAG9DC,IAAAA,IAAI,EAAEN,QAAQ,CAACM,IAH+C;AAI9DC,IAAAA,SAAS,EAAEP,QAAF,oBAAEA,QAAQ,CAAEO,SAJyC;AAK9DC,IAAAA,IAAI,EAAEd,oBAAoB,CAACM,QAAQ,CAACQ,IAAV,CALoC;AAM9DC,IAAAA,WAAW,EAAEf,oBAAoB,CAACM,QAAQ,CAACS,WAAV,CAN6B;AAO9DC,IAAAA,YAAY,EAAEV,QAAQ,CAACU,YAPuC;AAQ9DC,IAAAA,WAAW,EAAEX,QAAQ,CAACW;AARwC,GAAf,CAAjC,CAFhB;AAaA,MAAMC,QAEO,GAAGb,IAAH,oBAAGA,IAAI,CAAEc,uBAAN,CACbX,GADa,CACT;AAAA,QAAC;AAAEY,MAAAA;AAAF,KAAD;AAAA,WACHA,OAAO,CACJZ,GADH,CACQU,QAAD,KAAe;AAClBT,MAAAA,EAAE,EAAES,QAAQ,CAACR,GADK;AAElBC,MAAAA,GAAG,EAAEO,QAAQ,CAACP,GAFI;AAGlBC,MAAAA,IAAI,EAAEM,QAAQ,CAACN,IAHG;AAIlBC,MAAAA,SAAS,EAAEK,QAAF,oBAAEA,QAAQ,CAAEL,SAJH;AAKlBC,MAAAA,IAAI,EAAEd,oBAAoB,CAACkB,QAAQ,CAACJ,IAAV,CALR;AAMlBC,MAAAA,WAAW,EAAEf,oBAAoB,CAACkB,QAAQ,CAACH,WAAV,CANf;AAOlBE,MAAAA,WAAW,EAAEC,QAAQ,CAACD,WAPJ;AAQlBD,MAAAA,YAAY,EAAEE,QAAQ,CAACF;AARL,KAAf,CADP,EAWGK,IAXH,EADG;AAAA,GADS,EAebA,IAfa,EAFhB;AAmBA,sBACKjB,SADL;AAEEC,IAAAA,IAAI,EAAE;AACJE,MAAAA,sBAAsB,EAAED,QADpB;AAEJgB,MAAAA,sBAAsB,EAAEJ;AAFpB;AAFR;AAOD,CAjDM","sourcesContent":["import React from 'react'\nimport {\n MyOrdersGetPaymentMethods,\n PaymentMethodDTOTypeEnum,\n PaymentDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { generateQueryKey, getTranslatableField } from '../../../'\n\nexport interface MappedPlatformPaymentMethodDTO {\n id: string\n key: string\n type: PaymentMethodDTOTypeEnum\n moduleKey?: string\n name: string\n description: string\n currencyCode: string\n countryCode: string\n}\n\nexport interface MappedMerchantPaymentMethodDTO\n extends MappedPlatformPaymentMethodDTO {}\n\nexport const useOrderPaymentMethods = ({ orderId }: { orderId: string }) => {\n const queryKey = generateQueryKey('orderPaymentMethods', orderId)\n\n const queryData = useQuery(\n queryKey,\n async () => await MyOrdersGetPaymentMethods(orderId)\n )\n\n const data = queryData.data\n\n const platform:\n | MappedPlatformPaymentMethodDTO[]\n | undefined = data?.platformPaymentMethods.map((platform) => ({\n id: platform._id,\n key: platform.key,\n type: platform.type,\n moduleKey: platform?.moduleKey,\n name: getTranslatableField(platform.name),\n description: getTranslatableField(platform.description),\n currencyCode: platform.currencyCode,\n countryCode: platform.countryCode,\n }))\n\n const merchant:\n | MappedMerchantPaymentMethodDTO[]\n | undefined = data?.merchantsPaymentMethods\n .map(({ methods }) =>\n methods\n .map((merchant) => ({\n id: merchant._id,\n key: merchant.key,\n type: merchant.type,\n moduleKey: merchant?.moduleKey,\n name: getTranslatableField(merchant.name),\n description: getTranslatableField(merchant.description),\n countryCode: merchant.countryCode,\n currencyCode: merchant.currencyCode,\n }))\n .flat()\n )\n .flat() as MappedMerchantPaymentMethodDTO[]\n\n return {\n ...queryData,\n data: {\n platformPaymentMethods: platform,\n merchantPaymentMethods: merchant,\n },\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/order-hooks/useUpdateOrderPaymentMethod/index.ts"],"names":["useMutation","IdReferenceDTOResourceTypeEnum","MyOrdersSetPlatformPaymentMethod","usePayOrder","useUpdateOrderPaymentMethod","orderId","method","onSuccess","onError","payMyOrder","orderData","resourceId","id","resourceType","Payment","paymentDto","payments","_id","payment","type","key","moduleKey"],"mappings":";AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SACEC,8BADF,EAEEC,gCAFF,QAGO,sBAHP;AAIA,SAGEC,WAHF,QAIO,WAJP;AAMA,OAAO,IAAMC,2BAA2B,GAAG,UAUrC;AAAA,MAVsC;AAC1CC,IAAAA,OAD0C;AAE1CC,IAAAA,MAF0C;AAG1CC,IAAAA,SAAS,GAAG,MAAM,CAAE,CAHsB;AAI1CC,IAAAA,OAAO,GAAG,MAAM,CAAE;AAJwB,GAUtC;AACJ,MAAM,CAACC,UAAD,IAAeN,WAAW,EAAhC;AAEA,SAAOH,WAAW,iCAChB,aAAY;AAAA;;AACV,QAAMU,SAAS,SAASR,gCAAgC,CAACG,OAAD,EAAU;AAChEC,MAAAA,MAAM,EAAE;AACNK,QAAAA,UAAU,EAAEL,MAAM,CAACM,EADb;AAENC,QAAAA,YAAY,EAAEZ,8BAA8B,CAACa;AAFvC;AADwD,KAAV,CAAxD;AAOA,QAAMC,UAAU,0BAAGL,SAAS,CAACM,QAAb,qBAAG,oBAAqB,CAArB,CAAnB;AAEA,WAAOP,UAAU,CAAC;AAChBJ,MAAAA,OAAO,EAAEK,SAAS,CAACO,GADH;AAEhBC,MAAAA,OAAO,EAAE;AACPN,QAAAA,EAAE,EAAEG,UAAU,CAACE,GADR;AAEPE,QAAAA,IAAI,EAAEJ,UAAU,CAACI,IAFV;AAGPC,QAAAA,GAAG,EAAEL,UAAU,CAACM;AAHT;AAFO,KAAD,CAAjB;AAQD,GAnBe,GAoBhB;AACEd,IAAAA,SADF;AAEEC,IAAAA;AAFF,GApBgB,CAAlB;AAyBD,CAtCM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n IdReferenceDTOResourceTypeEnum,\n MyOrdersSetPlatformPaymentMethod,\n} from '@sentecacommerce/sdk'\nimport {\n MappedPlatformPaymentMethodDTO,\n MappedMerchantPaymentMethodDTO,\n usePayOrder,\n} from '../../../'\n\nexport const useUpdateOrderPaymentMethod = ({\n orderId,\n method,\n onSuccess = () => {},\n onError = () => {},\n}: {\n orderId: string\n method: MappedPlatformPaymentMethodDTO | MappedMerchantPaymentMethodDTO\n onSuccess?: (data?: unknown) => void\n onError?: (error?: unknown) => void\n}) => {\n const [payMyOrder] = usePayOrder()\n\n return useMutation(\n async () => {\n const orderData = await MyOrdersSetPlatformPaymentMethod(orderId, {\n method: {\n resourceId: method.id,\n resourceType: IdReferenceDTOResourceTypeEnum.Payment,\n },\n })\n\n const paymentDto = orderData.payments?.[0]\n\n return payMyOrder({\n orderId: orderData._id,\n payment: {\n id: paymentDto._id,\n type: paymentDto.type,\n key: paymentDto.moduleKey,\n },\n })\n },\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/order-hooks/useUpdateOrderPaymentMethod/index.ts"],"names":["useMutation","IdReferenceDTOResourceTypeEnum","MyOrdersSetPlatformPaymentMethod","usePayOrder","useUpdateOrderPaymentMethod","orderId","method","onSuccess","onError","payMyOrder","orderData","resourceId","id","resourceType","Payment","paymentDto","payments","_id","payment","type","key","moduleKey"],"mappings":";AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SACEC,8BADF,EAEEC,gCAFF,QAKO,sBALP;AAMA,SAGEC,WAHF,QAIO,WAJP;AAMA,OAAO,IAAMC,2BAA2B,GAAG,UAUrC;AAAA,MAVsC;AAC1CC,IAAAA,OAD0C;AAE1CC,IAAAA,MAF0C;AAG1CC,IAAAA,SAAS,GAAG,MAAM,CAAE,CAHsB;AAI1CC,IAAAA,OAAO,GAAG,MAAM,CAAE;AAJwB,GAUtC;AACJ,MAAM,CAACC,UAAD,IAAeN,WAAW,EAAhC;AAEA,SAAOH,WAAW,iCAChB,aAAY;AAAA;;AACV,QAAMU,SAAS,SAASR,gCAAgC,CAACG,OAAD,EAAU;AAChEC,MAAAA,MAAM,EAAE;AACNK,QAAAA,UAAU,EAAEL,MAAM,CAACM,EADb;AAENC,QAAAA,YAAY,EAAEZ,8BAA8B,CAACa;AAFvC;AADwD,KAAV,CAAxD;AAOA,QAAMC,UAAU,0BAAGL,SAAS,CAACM,QAAb,qBAAG,oBAAqB,CAArB,CAAnB;AAEA,WAAOP,UAAU,CAAC;AAChBJ,MAAAA,OAAO,EAAEK,SAAS,CAACO,GADH;AAEhBC,MAAAA,OAAO,EAAE;AACPN,QAAAA,EAAE,EAAEG,UAAU,CAACE,GADR;AAEPE,QAAAA,IAAI,EAAEJ,UAAU,CAACI,IAFV;AAGPC,QAAAA,GAAG,EAAEL,UAAU,CAACM;AAHT;AAFO,KAAD,CAAjB;AAQD,GAnBe,GAoBhB;AACEd,IAAAA,SADF;AAEEC,IAAAA;AAFF,GApBgB,CAAlB;AAyBD,CAtCM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n IdReferenceDTOResourceTypeEnum,\n MyOrdersSetPlatformPaymentMethod,\n PaymentMethodDTOTypeEnum,\n PaymentDTOTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n MappedPlatformPaymentMethodDTO,\n MappedMerchantPaymentMethodDTO,\n usePayOrder,\n} from '../../../'\n\nexport const useUpdateOrderPaymentMethod = ({\n orderId,\n method,\n onSuccess = () => {},\n onError = () => {},\n}: {\n orderId: string\n method: MappedPlatformPaymentMethodDTO | MappedMerchantPaymentMethodDTO\n onSuccess?: (data?: unknown) => void\n onError?: (error?: unknown) => void\n}) => {\n const [payMyOrder] = usePayOrder()\n\n return useMutation(\n async () => {\n const orderData = await MyOrdersSetPlatformPaymentMethod(orderId, {\n method: {\n resourceId: method.id,\n resourceType: IdReferenceDTOResourceTypeEnum.Payment,\n },\n })\n\n const paymentDto = orderData.payments?.[0] as any\n\n return payMyOrder({\n orderId: orderData._id,\n payment: {\n id: paymentDto._id,\n type: paymentDto.type,\n key: paymentDto.moduleKey,\n },\n })\n },\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["myOrdersApi","myPaymentsBoricaApi","useDistrictMeta","PaymentMethodDTOTypeEnum","MyPaymentsPaypalPayMyOrder","useConfigState","purchase","useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","handleCheckoutSubmit","useCreate","result","paypalPayment","payments","find","payment","type","PaymentServiceProvider","moduleKey","boricaPayment","boricaResult","pay","orderId","_id","paymentId","paypalResponse"],"mappings":";AAAA,SAASA,WAAT,EAAsBC,mBAAtB,EAA2CC,eAA3C,QAAkE,QAAlE;AACA,SAGEC,wBAHF,EAIEC,0BAJF,QAKO,sBALP;AAMA,SAASC,cAAT,QAA+B,cAA/B;AACA,SAASC,QAAT,QAAyB,0BAAzB;AAEA,OAAO,IAAMC,iBAAiB,GAAG,UAc3B;AAAA,MAd4B;AAChCC,IAAAA,SADgC;AAEhCC,IAAAA,sBAFgC;AAGhCC,IAAAA,sBAHgC;AAIhCC,IAAAA,OAJgC;AAKhCC,IAAAA,QALgC;AAMhCC,IAAAA;AANgC,GAc5B;AACJ,MAAMC,MAAM,GAAGT,cAAc,EAA7B;AAEA,MAAMU,YAAY,GAAGb,eAAe,EAApC;AAEA,MAAM,CAACc,oBAAD,IAAyBhB,WAAW,CAACiB,SAAZ,CAC7BL,QAAQ,GAAGG,YAAH,GAAkB,EADG;AAAA,kCAE7B,WAAOG,MAAP,EAA4B;AAC1B;AACAZ,MAAAA,QAAQ,CAACY,MAAD,EAASJ,MAAT,CAAR;AAEA,UAAMK,aAAa,GAAGD,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACnBC,OAAD,IACEA,OAAO,CAACC,IAAR,KAAiBpB,wBAAwB,CAACqB,sBAA1C,IACAF,OAAO,CAACG,SAAR,KAAsB,QAHJ,CAAtB;AAMA,UAAMC,aAAa,GAAGR,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACnBC,OAAD,IACEA,OAAO,CAACC,IAAR,KAAiBpB,wBAAwB,CAACqB,sBAA1C,IACAF,OAAO,CAACG,SAAR,KAAsB,QAHJ,CAAtB;AAMA,UAAIZ,uBAAJ,EAA6B,OAAOL,SAAP,oBAAOA,SAAS,CAAGU,MAAH,CAAhB;;AAE7B,UAAIQ,aAAJ,EAAmB;AACjB,YAAMC,YAAY,SAAS1B,mBAAmB,CAAC2B,GAApB,CAAwB;AACjDC,UAAAA,OAAO,EAAEX,MAAM,CAACY,GADiC;AAEjDC,UAAAA,SAAS,EAAEL,aAAa,CAACI;AAFwB,SAAxB,CAA3B;AAIArB,QAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGkB,YAAH,CAAtB;AACD,OAND,MAMO,IAAIR,aAAJ,EAAmB;AACxB,YAAMa,cAAc,SAAS5B,0BAA0B,CACrDc,MAAM,CAACY,GAD8C,EAErDX,aAAa,CAACW,GAFuC,CAAvD;AAKApB,QAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGsB,cAAH,CAAtB;AACD,OAPM,MAOA;AACLxB,QAAAA,SAAS,QAAT,YAAAA,SAAS,CAAGU,MAAH,CAAT;AACD;AACF,KApC4B;;AAAA;AAAA;AAAA;AAAA,OAqC7BP,OArC6B,CAA/B;AAwCA,SAAO;AACLK,IAAAA;AADK,GAAP;AAGD,CA9DM","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n PaymentMethodDTOTypeEnum,\n MyPaymentsPaypalPayMyOrder,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["myOrdersApi","myPaymentsBoricaApi","useDistrictMeta","PaymentMethodDTOTypeEnum","MyPaymentsPaypalPayMyOrder","useConfigState","purchase","useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","handleCheckoutSubmit","useCreate","result","paypalPayment","payments","find","payment","type","PaymentServiceProvider","moduleKey","boricaPayment","boricaResult","pay","orderId","_id","paymentId","paypalResponse"],"mappings":";AAAA,SAASA,WAAT,EAAsBC,mBAAtB,EAA2CC,eAA3C,QAAkE,QAAlE;AACA,SAGEC,wBAHF,EAIEC,0BAJF,QAKO,sBALP;AAMA,SAASC,cAAT,QAA+B,cAA/B;AACA,SAASC,QAAT,QAAyB,0BAAzB;AAEA,OAAO,IAAMC,iBAAiB,GAAG,UAc3B;AAAA,MAd4B;AAChCC,IAAAA,SADgC;AAEhCC,IAAAA,sBAFgC;AAGhCC,IAAAA,sBAHgC;AAIhCC,IAAAA,OAJgC;AAKhCC,IAAAA,QALgC;AAMhCC,IAAAA;AANgC,GAc5B;AACJ,MAAMC,MAAM,GAAGT,cAAc,EAA7B;AAEA,MAAMU,YAAY,GAAGb,eAAe,EAApC;AAEA,MAAM,CAACc,oBAAD,IAAyBhB,WAAW,CAACiB,SAAZ,CAC7BL,QAAQ,GAAGG,YAAH,GAAkB,EADG;AAAA,kCAE7B,WAAOG,MAAP,EAA4B;AAC1B;AACAZ,MAAAA,QAAQ,CAACY,MAAD,EAASJ,MAAT,CAAR;AAEA,UAAMK,aAAa,GAAGD,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACnBC,OAAD,IACGA,OAAO,CAACC,IAAT,KACEpB,wBAAwB,CAACqB,sBAD3B,IAEAF,OAAO,CAACG,SAAR,KAAsB,QAJJ,CAAtB;AAOA,UAAMC,aAAa,GAAGR,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACnBC,OAAD,IACGA,OAAO,CAACC,IAAT,KACEpB,wBAAwB,CAACqB,sBAD3B,IAEAF,OAAO,CAACG,SAAR,KAAsB,QAJJ,CAAtB;AAOA,UAAIZ,uBAAJ,EAA6B,OAAOL,SAAP,oBAAOA,SAAS,CAAGU,MAAH,CAAhB;;AAE7B,UAAIQ,aAAJ,EAAmB;AACjB,YAAMC,YAAY,SAAS1B,mBAAmB,CAAC2B,GAApB,CAAwB;AACjDC,UAAAA,OAAO,EAAEX,MAAM,CAACY,GADiC;AAEjDC,UAAAA,SAAS,EAAEL,aAAa,CAACI;AAFwB,SAAxB,CAA3B;AAIArB,QAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGkB,YAAH,CAAtB;AACD,OAND,MAMO,IAAIR,aAAJ,EAAmB;AACxB,YAAMa,cAAc,SAAS5B,0BAA0B,CACrDc,MAAM,CAACY,GAD8C,EAErDX,aAAa,CAACW,GAFuC,CAAvD;AAKApB,QAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGsB,cAAH,CAAtB;AACD,OAPM,MAOA;AACLxB,QAAAA,SAAS,QAAT,YAAAA,SAAS,CAAGU,MAAH,CAAT;AACD;AACF,KAtC4B;;AAAA;AAAA;AAAA;AAAA,OAuC7BP,OAvC6B,CAA/B;AA0CA,SAAO;AACLK,IAAAA;AADK,GAAP;AAGD,CAhEM","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n PaymentMethodDTOTypeEnum,\n MyPaymentsPaypalPayMyOrder,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n (payment.type as any) ===\n PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n (payment.type as any) ===\n PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
@@ -4,13 +4,18 @@ export var useContactForm = (_ref) => {
4
4
  onSuccess,
5
5
  onError,
6
6
  endpoint = 'email/contact',
7
- integrationDomain
7
+ integrationDomain,
8
+ interfaceKey
8
9
  } = _ref;
10
+ var headers = interfaceKey ? {
11
+ InterfaceKey: interfaceKey,
12
+ 'Content-Type': 'application/json'
13
+ } : {
14
+ 'Content-Type': 'application/json'
15
+ };
9
16
  return useMutation(body => fetch(integrationDomain + "/" + endpoint, {
10
17
  method: 'POST',
11
- headers: {
12
- 'Content-Type': 'application/json'
13
- },
18
+ headers,
14
19
  body: JSON.stringify(body)
15
20
  }).then(res => res.json()), {
16
21
  onSuccess,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useContactForm/index.tsx"],"names":["useMutation","useContactForm","onSuccess","onError","endpoint","integrationDomain","body","fetch","method","headers","JSON","stringify","then","res","json"],"mappings":"AAAA,SAASA,WAAT,QAA4B,aAA5B;AAUA,OAAO,IAAMC,cAAc,GAAG,UAUxB;AAAA,MAVyB;AAC7BC,IAAAA,SAD6B;AAE7BC,IAAAA,OAF6B;AAG7BC,IAAAA,QAAQ,GAAG,eAHkB;AAI7BC,IAAAA;AAJ6B,GAUzB;AACJ,SAAOL,WAAW,CACfM,IAAD,IACEC,KAAK,CAAIF,iBAAJ,SAAyBD,QAAzB,EAAqC;AACxCI,IAAAA,MAAM,EAAE,MADgC;AAExCC,IAAAA,OAAO,EAAE;AACP,sBAAgB;AADT,KAF+B;AAKxCH,IAAAA,IAAI,EAAEI,IAAI,CAACC,SAAL,CAAeL,IAAf;AALkC,GAArC,CAAL,CAMGM,IANH,CAMSC,GAAD,IAASA,GAAG,CAACC,IAAJ,EANjB,CAFc,EAShB;AACEZ,IAAAA,SADF;AAEEC,IAAAA;AAFF,GATgB,CAAlB;AAcD,CAzBM","sourcesContent":["import { useMutation } from 'react-query'\n\ntype EmailBodyType = {\n name: string\n email: string\n phone: string\n subject: string\n message: string\n}\n\nexport const useContactForm = ({\n onSuccess,\n onError,\n endpoint = 'email/contact',\n integrationDomain,\n}: {\n onSuccess: (data: any) => void\n onError: (error: any) => void\n endpoint?: string\n integrationDomain: string\n}) => {\n return useMutation(\n (body: EmailBodyType) =>\n fetch(`${integrationDomain}/${endpoint}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n }).then((res) => res.json()),\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useContactForm/index.tsx"],"names":["useMutation","useContactForm","onSuccess","onError","endpoint","integrationDomain","interfaceKey","headers","InterfaceKey","body","fetch","method","JSON","stringify","then","res","json"],"mappings":"AAAA,SAASA,WAAT,QAA4B,aAA5B;AAUA,OAAO,IAAMC,cAAc,GAAG,UAYxB;AAAA,MAZyB;AAC7BC,IAAAA,SAD6B;AAE7BC,IAAAA,OAF6B;AAG7BC,IAAAA,QAAQ,GAAG,eAHkB;AAI7BC,IAAAA,iBAJ6B;AAK7BC,IAAAA;AAL6B,GAYzB;AACJ,MAAMC,OAAgC,GAAGD,YAAY,GACjD;AACEE,IAAAA,YAAY,EAAEF,YADhB;AAEE,oBAAgB;AAFlB,GADiD,GAKjD;AACE,oBAAgB;AADlB,GALJ;AASA,SAAON,WAAW,CACfS,IAAD,IACEC,KAAK,CAAIL,iBAAJ,SAAyBD,QAAzB,EAAqC;AACxCO,IAAAA,MAAM,EAAE,MADgC;AAExCJ,IAAAA,OAFwC;AAGxCE,IAAAA,IAAI,EAAEG,IAAI,CAACC,SAAL,CAAeJ,IAAf;AAHkC,GAArC,CAAL,CAIGK,IAJH,CAISC,GAAD,IAASA,GAAG,CAACC,IAAJ,EAJjB,CAFc,EAOhB;AACEd,IAAAA,SADF;AAEEC,IAAAA;AAFF,GAPgB,CAAlB;AAYD,CAlCM","sourcesContent":["import { useMutation } from 'react-query'\n\ntype EmailBodyType = {\n name: string\n email: string\n phone: string\n subject: string\n message: string\n}\n\nexport const useContactForm = ({\n onSuccess,\n onError,\n endpoint = 'email/contact',\n integrationDomain,\n interfaceKey,\n}: {\n onSuccess: (data: any) => void\n onError: (error: any) => void\n endpoint?: string\n integrationDomain: string\n interfaceKey?: string\n}) => {\n const headers: HeadersInit | undefined = interfaceKey\n ? {\n InterfaceKey: interfaceKey,\n 'Content-Type': 'application/json',\n }\n : {\n 'Content-Type': 'application/json',\n }\n\n return useMutation(\n (body: EmailBodyType) =>\n fetch(`${integrationDomain}/${endpoint}`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body),\n }).then((res) => res.json()),\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  export function emptyBasketGuard(context, order) {
2
- var _order$lineItems;
2
+ var _order$lineItems, _order$customLineItem;
3
3
 
4
- if (!(order != null && (_order$lineItems = order.lineItems) != null && _order$lineItems.length) && !context.res.headersSent) {
4
+ if (!Boolean((order == null ? void 0 : (_order$lineItems = order.lineItems) == null ? void 0 : _order$lineItems.length) || (order == null ? void 0 : (_order$customLineItem = order.customLineItems) == null ? void 0 : _order$customLineItem.length)) && !context.res.headersSent) {
5
5
  return true;
6
6
  }
7
7
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","lineItems","length","res","headersSent"],"mappings":"AAGA,OAAO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MAAI,EAACA,KAAD,gCAACA,KAAK,CAAEC,SAAR,aAAC,iBAAkBC,MAAnB,KAA6B,CAACH,OAAO,CAACI,GAAR,CAAYC,WAA9C,EAA2D;AACzD,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (!order?.lineItems?.length && !context.res.headersSent) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
1
+ {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","Boolean","lineItems","length","customLineItems","res","headersSent"],"mappings":"AAGA,OAAO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MACE,CAACC,OAAO,CAAC,CAAAD,KAAK,QAAL,gCAAAA,KAAK,CAAEE,SAAP,sCAAkBC,MAAlB,MAA4BH,KAA5B,6CAA4BA,KAAK,CAAEI,eAAnC,qBAA4B,sBAAwBD,MAApD,CAAD,CAAR,IACA,CAACJ,OAAO,CAACM,GAAR,CAAYC,WAFf,EAGE;AACA,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (\n !Boolean(order?.lineItems?.length || order?.customLineItems?.length) &&\n !context.res.headersSent\n ) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
@@ -1 +1,2 @@
1
1
  export * from './useReplaceBasketMutation';
2
+ export * from './useChangeSelectableGiftLineItemVariantMutation';
@@ -0,0 +1,2 @@
1
+ import { OrderSelectableGiftVariantUpdateDTO } from '@sentecacommerce/sdk';
2
+ export declare const useChangeSelectableGiftLineItemVariantMutation: () => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, OrderSelectableGiftVariantUpdateDTO, unknown>;
@@ -1,2 +1,3 @@
1
1
  export * from './useReplaceBasket';
2
2
  export * from './useBasketCrossSaleItems';
3
+ export * from './useChangeSelectableGiftLineItemVariant';
@@ -0,0 +1,2 @@
1
+ import { useChangeSelectableGiftLineItemVariantMutation } from '../api/mutations';
2
+ export { useChangeSelectableGiftLineItemVariantMutation as useChangeSelectableGiftLineItemVariant };
@@ -1,4 +1,4 @@
1
1
  export declare const useBnpCalculateForCartQuery: (props: {
2
2
  preferredInstallmentCentAmount: number;
3
3
  downPaymentCentAmount: number;
4
- }) => import("react-query").QueryResult<import("@sentecacommerce/sdk").BNPLoanOfferDTO[], unknown>;
4
+ }) => import("react-query").QueryResult<import("@sentecacommerce/sdk").LoanOfferDTO[], unknown>;
@@ -24,13 +24,13 @@ export declare const useBnpCalculateForCart: (props?: {
24
24
  nir: string;
25
25
  variantId: string;
26
26
  }[] | undefined;
27
- scheme: import("@sentecacommerce/sdk").BNPPricingSchemesDTO;
27
+ scheme: import("@sentecacommerce/sdk").PricingSchemesDTO;
28
28
  };
29
29
  canFetchMore: boolean | undefined;
30
30
  clear: () => void;
31
31
  error: unknown;
32
32
  failureCount: number;
33
- fetchMore: (fetchMoreVariable?: unknown, options?: import("react-query/types/core/query").FetchMoreOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
33
+ fetchMore: (fetchMoreVariable?: unknown, options?: import("react-query/types/core/query").FetchMoreOptions | undefined) => Promise<import("@sentecacommerce/sdk").LoanOfferDTO[] | undefined>;
34
34
  isError: boolean;
35
35
  isFetched: boolean;
36
36
  isFetchedAfterMount: boolean;
@@ -43,7 +43,7 @@ export declare const useBnpCalculateForCart: (props?: {
43
43
  isPlaceholderData: boolean;
44
44
  isStale: boolean;
45
45
  isSuccess: boolean;
46
- refetch: (options?: import("react-query/types/core/query").RefetchOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
46
+ refetch: (options?: import("react-query/types/core/query").RefetchOptions | undefined) => Promise<import("@sentecacommerce/sdk").LoanOfferDTO[] | undefined>;
47
47
  remove: () => void;
48
48
  status: import("react-query").QueryStatus;
49
49
  updatedAt: number;
@@ -2,7 +2,8 @@ import { LineItemDTO, LineItemDTOLineItemModeEnum, LineItemDTOStatusEnum, MoneyD
2
2
  import { BaseProductType } from '../../useLineItem';
3
3
  import { SelectedOptionType } from '../../useProduct/utils';
4
4
  import { AssetsMap } from '../../../utils/assetsToMap';
5
- interface BasketLineItemProps extends BaseProductType {
5
+ export { LineItemDTOLineItemModeEnum };
6
+ export interface BasketLineItemProps extends BaseProductType {
6
7
  productId: string;
7
8
  lineItemId: string;
8
9
  quantityInBasket: number;
@@ -36,4 +37,3 @@ export declare const useBasketLineItem: (props: {
36
37
  item: LineItemDTO;
37
38
  expiry?: number;
38
39
  }) => BasketLineItemProps;
39
- export {};
@@ -5,10 +5,11 @@ declare type EmailBodyType = {
5
5
  subject: string;
6
6
  message: string;
7
7
  };
8
- export declare const useContactForm: ({ onSuccess, onError, endpoint, integrationDomain, }: {
8
+ export declare const useContactForm: ({ onSuccess, onError, endpoint, integrationDomain, interfaceKey, }: {
9
9
  onSuccess: (data: any) => void;
10
10
  onError: (error: any) => void;
11
11
  endpoint?: string | undefined;
12
12
  integrationDomain: string;
13
+ interfaceKey?: string | undefined;
13
14
  }) => import("react-query").MutationResultPair<any, any, EmailBodyType, unknown>;
14
15
  export {};
@@ -2,4 +2,4 @@ export declare const useBnpOffersQuery: ({ sku, preferredInstallmentCentAmount,
2
2
  sku: string;
3
3
  preferredInstallmentCentAmount?: number | undefined;
4
4
  downPaymentCentAmount?: number | undefined;
5
- }) => import("react-query").QueryResult<import("@sentecacommerce/sdk").BNPLoanOfferDTO[], unknown>;
5
+ }) => import("react-query").QueryResult<import("@sentecacommerce/sdk").LoanOfferDTO[], unknown>;
@@ -17,7 +17,7 @@ export declare const useBnpOffers: (props: {
17
17
  clear: () => void;
18
18
  error: unknown;
19
19
  failureCount: number;
20
- fetchMore: (fetchMoreVariable?: unknown, options?: import("react-query/types/core/query").FetchMoreOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
20
+ fetchMore: (fetchMoreVariable?: unknown, options?: import("react-query/types/core/query").FetchMoreOptions | undefined) => Promise<import("@sentecacommerce/sdk").LoanOfferDTO[] | undefined>;
21
21
  isError: boolean;
22
22
  isFetched: boolean;
23
23
  isFetchedAfterMount: boolean;
@@ -30,7 +30,7 @@ export declare const useBnpOffers: (props: {
30
30
  isPlaceholderData: boolean;
31
31
  isStale: boolean;
32
32
  isSuccess: boolean;
33
- refetch: (options?: import("react-query/types/core/query").RefetchOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
33
+ refetch: (options?: import("react-query/types/core/query").RefetchOptions | undefined) => Promise<import("@sentecacommerce/sdk").LoanOfferDTO[] | undefined>;
34
34
  remove: () => void;
35
35
  status: import("react-query").QueryStatus;
36
36
  updatedAt: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.12.69",
4
+ "version": "0.12.73",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -28,10 +28,10 @@
28
28
  "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
29
29
  "dev": "yarn build:esm --watch"
30
30
  },
31
- "gitHead": "d958478182e7cbc358b92389d55dc27019f21a71",
31
+ "gitHead": "37c71b4bd8638ccc1a2145149ffb74db06daf006",
32
32
  "dependencies": {
33
- "@sentecacommerce-theme/base": "^0.12.69",
34
- "@sentecacommerce/sdk": "2.0.142",
33
+ "@sentecacommerce-theme/base": "^0.12.73",
34
+ "@sentecacommerce/sdk": "2.0.152",
35
35
  "body-scroll-lock": "^3.1.5",
36
36
  "copy-to-clipboard": "^3.3.1",
37
37
  "embla-carousel": "^4.5.1",