@sentecacommerce-theme/lib 0.12.71 → 0.12.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/myOrdersApi/index.js +4 -2
- package/dist/cjs/api/myOrdersApi/index.js.map +1 -1
- package/dist/cjs/checkout/api/keys.js +7 -1
- package/dist/cjs/checkout/api/keys.js.map +1 -1
- package/dist/cjs/checkout/api/queries/index.js +8 -0
- package/dist/cjs/checkout/api/queries/index.js.map +1 -1
- package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js +40 -0
- package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
- package/dist/cjs/checkout/contexts/UniCreditResponseContext.js +29 -0
- package/dist/cjs/checkout/contexts/UniCreditResponseContext.js.map +1 -0
- package/dist/cjs/checkout/contexts/index.js +8 -0
- package/dist/cjs/checkout/contexts/index.js.map +1 -1
- package/dist/cjs/checkout/hooks/index.js +8 -0
- package/dist/cjs/checkout/hooks/index.js.map +1 -1
- package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +1 -0
- package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
- package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js +82 -0
- package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
- package/dist/cjs/checkout/ssr/captureUniCreditOrder.js +36 -0
- package/dist/cjs/checkout/ssr/captureUniCreditOrder.js.map +1 -0
- package/dist/cjs/checkout/ssr/index.js +8 -0
- package/dist/cjs/checkout/ssr/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +71 -0
- package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
- package/dist/cjs/contexts/CheckoutForm/Components/index.js +8 -0
- package/dist/cjs/contexts/CheckoutForm/Components/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +4 -2
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/index.js +61 -16
- package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useOrder/index.js +1 -5
- package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
- package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
- package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
- package/dist/cjs/hooks/useCheckoutSubmit/index.js +37 -16
- package/dist/cjs/hooks/useCheckoutSubmit/index.js.map +1 -1
- package/dist/cjs/listing/api/queries/useLabelsQuery.js +2 -1
- package/dist/cjs/listing/api/queries/useLabelsQuery.js.map +1 -1
- package/dist/cjs/listing/hooks/useListingFilters.js +3 -1
- package/dist/cjs/listing/hooks/useListingFilters.js.map +1 -1
- package/dist/cjs/product/api/keys.js +7 -1
- package/dist/cjs/product/api/keys.js.map +1 -1
- package/dist/cjs/product/api/queries/index.js +8 -0
- package/dist/cjs/product/api/queries/index.js.map +1 -1
- package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js +45 -0
- package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
- package/dist/cjs/product/hooks/index.js +8 -0
- package/dist/cjs/product/hooks/index.js.map +1 -1
- package/dist/cjs/product/hooks/useUniCreditOffers.js +72 -0
- package/dist/cjs/product/hooks/useUniCreditOffers.js.map +1 -0
- package/dist/esm/api/myOrdersApi/index.js +2 -1
- package/dist/esm/api/myOrdersApi/index.js.map +1 -1
- package/dist/esm/checkout/api/keys.js +3 -0
- package/dist/esm/checkout/api/keys.js.map +1 -1
- package/dist/esm/checkout/api/queries/index.js +1 -0
- package/dist/esm/checkout/api/queries/index.js.map +1 -1
- package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js +10 -0
- package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
- package/dist/esm/checkout/contexts/UniCreditResponseContext.js +17 -0
- package/dist/esm/checkout/contexts/UniCreditResponseContext.js.map +1 -0
- package/dist/esm/checkout/contexts/index.js +1 -0
- package/dist/esm/checkout/contexts/index.js.map +1 -1
- package/dist/esm/checkout/hooks/index.js +1 -0
- package/dist/esm/checkout/hooks/index.js.map +1 -1
- package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +1 -0
- package/dist/esm/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
- package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js +66 -0
- package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
- package/dist/esm/checkout/ssr/captureUniCreditOrder.js +12 -0
- package/dist/esm/checkout/ssr/captureUniCreditOrder.js.map +1 -0
- package/dist/esm/checkout/ssr/index.js +1 -0
- package/dist/esm/checkout/ssr/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +63 -0
- package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
- package/dist/esm/contexts/CheckoutForm/Components/index.js +1 -0
- package/dist/esm/contexts/CheckoutForm/Components/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +6 -2
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/index.js +28 -2
- package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useOrder/index.js +1 -5
- package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
- package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
- package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
- package/dist/esm/hooks/useCheckoutSubmit/index.js +10 -3
- package/dist/esm/hooks/useCheckoutSubmit/index.js.map +1 -1
- package/dist/esm/listing/api/queries/useLabelsQuery.js +2 -1
- package/dist/esm/listing/api/queries/useLabelsQuery.js.map +1 -1
- package/dist/esm/listing/hooks/useListingFilters.js +3 -1
- package/dist/esm/listing/hooks/useListingFilters.js.map +1 -1
- package/dist/esm/product/api/keys.js +3 -0
- package/dist/esm/product/api/keys.js.map +1 -1
- package/dist/esm/product/api/queries/index.js +1 -0
- package/dist/esm/product/api/queries/index.js.map +1 -1
- package/dist/esm/product/api/queries/useUniCreditOffersQuery.js +16 -0
- package/dist/esm/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
- package/dist/esm/product/hooks/index.js +1 -0
- package/dist/esm/product/hooks/index.js.map +1 -1
- package/dist/esm/product/hooks/useUniCreditOffers.js +57 -0
- package/dist/esm/product/hooks/useUniCreditOffers.js.map +1 -0
- package/dist/types/checkout/api/keys.d.ts +1 -0
- package/dist/types/checkout/api/queries/index.d.ts +1 -0
- package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +1 -1
- package/dist/types/checkout/api/queries/useUniCreditCalculateForCartQuery.d.ts +3 -0
- package/dist/types/checkout/contexts/UniCreditResponseContext.d.ts +6 -0
- package/dist/types/checkout/contexts/index.d.ts +1 -0
- package/dist/types/checkout/hooks/index.d.ts +1 -0
- package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +5 -3
- package/dist/types/checkout/hooks/useUniCreditCalculateForCart.d.ts +53 -0
- package/dist/types/checkout/ssr/captureUniCreditOrder.d.ts +2 -0
- package/dist/types/checkout/ssr/index.d.ts +1 -0
- package/dist/types/contexts/CheckoutForm/Components/UniCreditRedirect/index.d.ts +5 -0
- package/dist/types/contexts/CheckoutForm/Components/index.d.ts +1 -0
- package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -2
- package/dist/types/contexts/CheckoutForm/index.d.ts +1 -0
- package/dist/types/hooks/order-hooks/useOrderPaymentMethods/index.d.ts +4 -4
- package/dist/types/hooks/useCheckoutSubmit/index.d.ts +3 -2
- package/dist/types/product/api/keys.d.ts +1 -0
- package/dist/types/product/api/queries/index.d.ts +1 -0
- package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +1 -1
- package/dist/types/product/api/queries/useUniCreditOffersQuery.d.ts +4 -0
- package/dist/types/product/hooks/index.d.ts +1 -0
- package/dist/types/product/hooks/useBnpOffers.d.ts +2 -2
- package/dist/types/product/hooks/useUniCreditOffers.d.ts +36 -0
- package/package.json +4 -4
@@ -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"}
|
@@ -16,6 +16,8 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
16
16
|
|
17
17
|
var _react = _interopRequireWildcard(require("react"));
|
18
18
|
|
19
|
+
var _sdk = require("@sentecacommerce/sdk");
|
20
|
+
|
19
21
|
var _myCartApi = require("../../api/myCartApi");
|
20
22
|
|
21
23
|
var _hooks = require("./hooks");
|
@@ -84,19 +86,23 @@ function CheckoutFormContextProvider(_ref) {
|
|
84
86
|
boricaData = _useState[0],
|
85
87
|
setBoricaData = _useState[1];
|
86
88
|
|
87
|
-
var _useState2 = (0, _react.useState)(
|
88
|
-
|
89
|
-
|
89
|
+
var _useState2 = (0, _react.useState)(null),
|
90
|
+
uniCreditData = _useState2[0],
|
91
|
+
setUniCreditData = _useState2[1];
|
92
|
+
|
93
|
+
var _useState3 = (0, _react.useState)(defaultStep),
|
94
|
+
step = _useState3[0],
|
95
|
+
setStep = _useState3[1];
|
90
96
|
|
91
|
-
var
|
92
|
-
isRedirecting =
|
93
|
-
setIsRedirecting =
|
97
|
+
var _useState4 = (0, _react.useState)(false),
|
98
|
+
isRedirecting = _useState4[0],
|
99
|
+
setIsRedirecting = _useState4[1];
|
94
100
|
|
95
101
|
var fieldsWithError = [];
|
96
102
|
|
97
|
-
var
|
98
|
-
serverErrors =
|
99
|
-
setServerErrors =
|
103
|
+
var _useState5 = (0, _react.useState)(null),
|
104
|
+
serverErrors = _useState5[0],
|
105
|
+
setServerErrors = _useState5[1];
|
100
106
|
|
101
107
|
var collectFieldsWithError = function collectFieldsWithError(error) {
|
102
108
|
fieldsWithError.push(error);
|
@@ -200,9 +206,19 @@ function CheckoutFormContextProvider(_ref) {
|
|
200
206
|
}, redirectTimeout);
|
201
207
|
};
|
202
208
|
|
209
|
+
var onBeforeUniCreditRedirect = function onBeforeUniCreditRedirect(data) {
|
210
|
+
if (disablePaymentRedirects) return;
|
211
|
+
onBeforeRedirect == null ? void 0 : onBeforeRedirect();
|
212
|
+
setIsRedirecting(true);
|
213
|
+
setTimeout(function () {
|
214
|
+
setUniCreditData(data);
|
215
|
+
}, redirectTimeout);
|
216
|
+
};
|
217
|
+
|
203
218
|
var _useCheckoutSubmit = (0, _useCheckoutSubmit2.useCheckoutSubmit)({
|
204
219
|
onBeforeBoricaRedirect: onBeforeBoricaRedirect,
|
205
220
|
onBeforePaypalRedirect: onBeforePaypalRedirect,
|
221
|
+
onBeforeUniCreditRedirect: onBeforeUniCreditRedirect,
|
206
222
|
onSuccess: onSuccess,
|
207
223
|
onError: function onError(errors) {
|
208
224
|
updateServerErrors(errors);
|
@@ -230,13 +246,13 @@ function CheckoutFormContextProvider(_ref) {
|
|
230
246
|
};
|
231
247
|
|
232
248
|
var handleSubmit = /*#__PURE__*/function () {
|
233
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
234
|
-
return _regenerator["default"].wrap(function
|
249
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(e) {
|
250
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
235
251
|
while (1) {
|
236
|
-
switch (
|
252
|
+
switch (_context2.prev = _context2.next) {
|
237
253
|
case 0:
|
238
254
|
e.preventDefault();
|
239
|
-
|
255
|
+
_context2.next = 3;
|
240
256
|
return Promise.all([shippingState.persistShippingAddress(), billingState.persistBillingAddress()])["catch"](function () {});
|
241
257
|
|
242
258
|
case 3:
|
@@ -254,15 +270,41 @@ function CheckoutFormContextProvider(_ref) {
|
|
254
270
|
updateServerErrors: updateServerErrors,
|
255
271
|
scrollToFirstError: scrollToFirstError,
|
256
272
|
shippingState: shippingState,
|
257
|
-
shippingAddress: shippingState.data
|
273
|
+
shippingAddress: shippingState.data,
|
274
|
+
setLoanInfo: function () {
|
275
|
+
var _setLoanInfo = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(loanInfo) {
|
276
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
277
|
+
while (1) {
|
278
|
+
switch (_context.prev = _context.next) {
|
279
|
+
case 0:
|
280
|
+
_context.next = 2;
|
281
|
+
return (0, _sdk.MyCartSetLoanInfo)(loanInfo);
|
282
|
+
|
283
|
+
case 2:
|
284
|
+
return _context.abrupt("return", _context.sent);
|
285
|
+
|
286
|
+
case 3:
|
287
|
+
case "end":
|
288
|
+
return _context.stop();
|
289
|
+
}
|
290
|
+
}
|
291
|
+
}, _callee);
|
292
|
+
}));
|
293
|
+
|
294
|
+
function setLoanInfo(_x2) {
|
295
|
+
return _setLoanInfo.apply(this, arguments);
|
296
|
+
}
|
297
|
+
|
298
|
+
return setLoanInfo;
|
299
|
+
}()
|
258
300
|
});
|
259
301
|
|
260
302
|
case 4:
|
261
303
|
case "end":
|
262
|
-
return
|
304
|
+
return _context2.stop();
|
263
305
|
}
|
264
306
|
}
|
265
|
-
},
|
307
|
+
}, _callee2);
|
266
308
|
}));
|
267
309
|
|
268
310
|
return function handleSubmit(_x) {
|
@@ -293,6 +335,9 @@ function CheckoutFormContextProvider(_ref) {
|
|
293
335
|
}, children), !!boricaData && /*#__PURE__*/_react["default"].createElement(_Components.BoricaRedirect, {
|
294
336
|
isInDevMode: isBoricaInDevMode,
|
295
337
|
formData: boricaData
|
338
|
+
}), !!uniCreditData && /*#__PURE__*/_react["default"].createElement(_Components.UniCreditRedirect, {
|
339
|
+
isInDevMode: isBoricaInDevMode,
|
340
|
+
formData: uniCreditData
|
296
341
|
}))));
|
297
342
|
}
|
298
343
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/contexts/CheckoutForm/index.tsx"],"names":["CheckoutFormContext","CheckoutFormContextProvider","children","defaultStep","errorLabels","enableSavedAddressList","withPersistBeforePageLeave","shippingValidations","defaultShippingValidations","validateBillingAddress","genericBillingAddressValidation","enableSaveBillingAddress","enableSavedBillingAddressList","countryCode","enableSaveAddress","autofillShippingPersonalData","onSubmit","paymentEnabledOnStep","getPaymentMethodsWhenShippingMethodIsSelected","shippingEnabledOnStep","billingEnabledOnStep","customState","initialCustomState","redirectTimeout","onBeforeRedirect","onSuccess","onError","isBoricaInDevMode","withPixelMeta","requiredFieldsOnShippingStep","requiredFieldsOnBillingAddressStep","enableNoShippingMethodMode","disablePaymentRedirects","orderQuery","myCartApi","useGet","boricaData","setBoricaData","step","setStep","isRedirecting","setIsRedirecting","fieldsWithError","serverErrors","setServerErrors","collectFieldsWithError","error","push","handleStepChange","newStep","window","scrollTo","updateServerErrors","errors","formattedErrors","reduce","data","code","response","internalError","isAuthenticated","isShippingEnabled","userQuery","usersApi","enabled","shippingState","Boolean","validations","requiredFields","mod","getIsPaymentMethodsEnabled","moduleKey","moduleData","methodKey","paymentState","billingState","withSavedBillingAddressList","requiredFieldsOnShipping","onBeforeBoricaRedirect","setTimeout","onBeforePaypalRedirect","location","replace","redirectUrl","withMeta","handleCheckoutSubmit","scrollToFirstError","interval","setInterval","errorElement","top","clearInterval","handleSubmit","e","preventDefault","Promise","all","persistShippingAddress","persistBillingAddress","isShippingValid","isValid","setIsShippingSubmitting","updateIsSubmitting","isBillingValid","setIsBillingSubmitting","isPaymentValid","setIsPaymentSubmitting","loanInfo","updateStep","saveOrder","shippingAddress","state","errorRef","errorFields","CheckoutFormStepsEnum","useCheckoutFormStep","context","Error","currentStep","useCheckoutFormOrder","useCheckoutFormErrorLabels","useCheckoutFormServerErrors","useCheckoutFormBillingState","useCheckoutFormShippingState","useCheckoutErrorFields","useCheckoutFormPaymentState"],"mappings":"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","sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n AddressDTO,\n PaypalGeneratePaymentUrlResponseDTO,\n OrderLoanInfoDTO,\n} from '@sentecacommerce/sdk'\nimport { MutateFunction, QueryResult } from 'react-query'\nimport { myCartApi } from '../../api/myCartApi'\nimport {\n useBilling,\n UseBillingResultType,\n usePayment,\n UsePaymentResultType,\n useShipping,\n UseShippingResultType,\n} from './hooks'\nimport { useIsAuthenticated } from '../../user/hooks'\nimport { useCheckoutSubmit } from '../../hooks/useCheckoutSubmit'\n\nimport {\n ShippingValidationsType,\n defaultShippingValidations,\n genericBillingAddressValidation,\n BillingAddressValidationType,\n} from './utils'\nimport { usersApi } from '../../api/usersApi'\nimport { useCheckoutShippingModule } from '../../hooks/useCheckoutShippingModule'\nimport { CheckoutFormCustomStateProvider, BoricaRedirect } from './Components'\nimport { useScrollTo } from '../../hooks/ui-hooks'\nimport { getElementOffset } from '../../utils/getElementOffset'\n\nexport const CheckoutFormContext = createContext<CheckoutFormContextType>(\n {} as any\n)\n\nexport type CheckoutCustomState = {}\n\nexport function CheckoutFormContextProvider({\n children,\n defaultStep,\n errorLabels,\n enableSavedAddressList,\n withPersistBeforePageLeave,\n shippingValidations = defaultShippingValidations,\n validateBillingAddress = genericBillingAddressValidation,\n enableSaveBillingAddress,\n enableSavedBillingAddressList,\n countryCode,\n enableSaveAddress,\n autofillShippingPersonalData,\n onSubmit,\n\n paymentEnabledOnStep,\n getPaymentMethodsWhenShippingMethodIsSelected,\n shippingEnabledOnStep,\n billingEnabledOnStep,\n\n customState: initialCustomState = {},\n redirectTimeout = 420,\n onBeforeRedirect,\n onSuccess,\n onError,\n isBoricaInDevMode,\n withPixelMeta = false,\n requiredFieldsOnShippingStep = [\n 'firstName',\n 'lastName',\n 'email',\n 'phoneNumber',\n ],\n requiredFieldsOnBillingAddressStep = [\n 'vatId',\n 'companyId',\n 'companyPerson',\n 'companyName',\n ],\n enableNoShippingMethodMode = false,\n disablePaymentRedirects = false,\n}: Props) {\n const orderQuery = myCartApi.useGet()\n const [\n boricaData,\n setBoricaData,\n ] = useState<BoricaGeneratePaymentDataResponse | null>(null)\n const [step, setStep] = useState<CheckoutFormStepsEnum>(defaultStep)\n const [isRedirecting, setIsRedirecting] = useState(false)\n\n const fieldsWithError: HTMLElement[] = []\n\n const [serverErrors, setServerErrors] = useState<ServerErrors>(null)\n\n const collectFieldsWithError = (error: HTMLElement) => {\n fieldsWithError.push(error)\n }\n\n const handleStepChange = useCallback((newStep: CheckoutFormStepsEnum) => {\n window.scrollTo(0, 0)\n\n setStep(newStep)\n }, [])\n\n const updateServerErrors = useCallback((errors: any[]) => {\n // Example Error\n // [{\n // code: \"OutOfStock\"\n // message: \"Some of the ordered line items are out of stock at the time of placing the order.\"\n // responses: {\n // availableQuantity: 1\n // sku: \"200000095849\"\n // status: \"unavailable\"\n // }\n // }]\n const formattedErrors = errors?.reduce?.(\n (data: ServerErrors, error: any) => {\n return {\n ...data,\n [error?.code || 'internal']: error?.response,\n }\n },\n {}\n )\n setServerErrors(formattedErrors || { internalError: errors })\n }, [])\n\n const { isAuthenticated } = useIsAuthenticated()\n\n const isShippingEnabled = shippingEnabledOnStep === step\n\n const userQuery = usersApi.useGet(\n {},\n { enabled: isShippingEnabled && autofillShippingPersonalData }\n )\n\n const shippingState = useShipping({\n errorLabels,\n orderQuery,\n enableSavedAddressList: Boolean(isAuthenticated && enableSavedAddressList),\n enableSaveAddress: Boolean(isAuthenticated && enableSaveAddress),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n validations: shippingValidations,\n autofillShippingPersonalData: Boolean(\n isAuthenticated && autofillShippingPersonalData\n ),\n userQuery,\n enabled: isShippingEnabled,\n countryCode,\n requiredFields: requiredFieldsOnShippingStep,\n enableNoShippingMethodMode,\n })\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const getIsPaymentMethodsEnabled = () => {\n if (paymentEnabledOnStep) {\n return paymentEnabledOnStep === step\n }\n\n if (\n !enableNoShippingMethodMode &&\n getPaymentMethodsWhenShippingMethodIsSelected\n ) {\n return Boolean(mod?.moduleKey && mod?.moduleData.methodKey)\n }\n\n return false\n }\n\n const paymentState = usePayment({\n errorLabels,\n orderQuery,\n enabled: getIsPaymentMethodsEnabled(),\n })\n\n const billingState = useBilling({\n errorLabels,\n orderQuery,\n validateBillingAddress,\n enableSaveBillingAddress: Boolean(\n isAuthenticated && enableSaveBillingAddress\n ),\n withSavedBillingAddressList: Boolean(\n isAuthenticated && enableSavedBillingAddressList\n ),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n countryCode,\n enabled: billingEnabledOnStep === step,\n requiredFields: requiredFieldsOnBillingAddressStep,\n requiredFieldsOnShipping: requiredFieldsOnShippingStep,\n })\n\n const onBeforeBoricaRedirect = (data: BoricaGeneratePaymentDataResponse) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setBoricaData(data)\n }, redirectTimeout)\n }\n\n const onBeforePaypalRedirect = (\n data: PaypalGeneratePaymentUrlResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n window.location.replace(data.redirectUrl)\n }, redirectTimeout)\n }\n const { handleCheckoutSubmit } = useCheckoutSubmit({\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onSuccess,\n onError: (errors: any) => {\n updateServerErrors(errors)\n onError(errors)\n },\n withMeta: withPixelMeta,\n disablePaymentRedirects,\n })\n\n const { scrollTo } = useScrollTo(fieldsWithError[0], 0)\n\n const scrollToFirstError = () => {\n const interval = setInterval(() => {\n const errorElement = fieldsWithError[0]\n if (!errorElement) return\n\n scrollTo(getElementOffset(errorElement).top - 100)\n clearInterval(interval)\n }, 50)\n\n setTimeout(() => {\n clearInterval(interval)\n }, 1000)\n }\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n\n await Promise.all([\n shippingState.persistShippingAddress(),\n billingState.persistBillingAddress(),\n ]).catch(() => {})\n\n onSubmit({\n isShippingValid: shippingState.isValid,\n setIsShippingSubmitting: shippingState.updateIsSubmitting,\n isBillingValid: billingState.isValid,\n setIsBillingSubmitting: billingState.updateIsSubmitting,\n isPaymentValid: paymentState.isValid,\n setIsPaymentSubmitting: paymentState.updateIsSubmitting,\n loanInfo: paymentState.loanInfo,\n step,\n updateStep: setStep,\n saveOrder: handleCheckoutSubmit,\n updateServerErrors,\n scrollToFirstError,\n shippingState,\n shippingAddress: shippingState.data,\n })\n }\n\n const state = {\n setStep: handleStepChange,\n step,\n orderQuery,\n serverErrors,\n updateServerErrors,\n errorLabels,\n shippingState,\n paymentState,\n billingState,\n errorRef: collectFieldsWithError,\n errorFields: fieldsWithError,\n }\n\n return (\n <CheckoutFormContext.Provider value={state}>\n <CheckoutFormCustomStateProvider initialCustomState={initialCustomState}>\n <>\n <form noValidate onSubmit={handleSubmit}>\n {children}\n </form>\n {!!boricaData && (\n <BoricaRedirect\n isInDevMode={isBoricaInDevMode}\n formData={boricaData}\n />\n )}\n </>\n </CheckoutFormCustomStateProvider>\n </CheckoutFormContext.Provider>\n )\n}\n\nexport type CheckoutFormOnSubmitData = {\n isShippingValid: boolean\n setIsShippingSubmitting: (value: boolean) => void\n isBillingValid: boolean\n setIsBillingSubmitting: (value: boolean) => void\n isPaymentValid: boolean\n setIsPaymentSubmitting: (value: boolean) => void\n step: CheckoutFormStepsEnum\n updateStep: (step: CheckoutFormStepsEnum) => void\n saveOrder: MutateFunction<OrderDTO, unknown, any, unknown>\n\n updateServerErrors: (errors: any) => void\n scrollToFirstError: () => void\n shippingState: UseShippingResultType\n shippingAddress?: AddressDTO\n loanInfo?: OrderLoanInfoDTO\n}\n\ntype Props = {\n children: any\n defaultStep: CheckoutFormStepsEnum\n errorLabels: CheckoutFormErrorLabelsType\n withPersistBeforePageLeave: boolean\n countryCode?: string\n onSubmit: (data: CheckoutFormOnSubmitData) => void\n onError: (error: any) => void\n onSuccess: (order: OrderDTO) => void\n\n redirectTimeout?: number\n onBeforeRedirect?: () => void\n\n customState?: CheckoutCustomState\n\n enableSavedAddressList: boolean\n shippingValidations?: ShippingValidationsType\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n autoSelectDefaultShippingAddress: boolean\n\n enableSaveBillingAddress: boolean\n validateBillingAddress?: BillingAddressValidationType\n enableSavedBillingAddressList: boolean\n autoSelectDefaultBillingAddress: boolean\n\n paymentEnabledOnStep?: CheckoutFormStepsEnum\n getPaymentMethodsWhenShippingMethodIsSelected?: boolean\n\n shippingEnabledOnStep: CheckoutFormStepsEnum\n\n billingEnabledOnStep: CheckoutFormStepsEnum\n\n isBoricaInDevMode?: boolean\n\n withPixelMeta?: boolean\n requiredFieldsOnShippingStep?: string[]\n requiredFieldsOnBillingAddressStep?: string[]\n enableNoShippingMethodMode?: boolean\n disablePaymentRedirects?: boolean\n}\n\ntype ServerErrors = { [key: string]: any } | null\n\nexport enum CheckoutFormStepsEnum {\n Basket = 'Basket',\n Shipping = 'Shipping',\n BillingAddress = 'BillingAddress',\n Payment = 'Payment',\n Preview = 'Preview',\n All = 'All',\n}\n\nexport type CheckoutFormErrorsResultType =\n | {\n [key: string]: string\n }\n | null\n | undefined\n\nexport type ShippingFormErrorLabels = {\n fieldIsRequired: string\n fillStreetNumberBuildingEntranceOrApartment: string\n streetIsRequired: string\n invalidPhoneNumber?: string\n quarterIsRequired: string\n cantFindStreetOrQuarterMessage: string\n cityIsRequired: string\n emailIsRequired: string\n officeIsRequired: string\n selectCourier: string\n noStoreSelected: string\n}\n\nexport type CheckoutFormErrorLabelsType = ShippingFormErrorLabels & {\n selectPaymentMethod: string\n}\n\nexport type CheckoutFormContextType = {\n setStep: (step: CheckoutFormStepsEnum) => void\n step: CheckoutFormStepsEnum\n serverErrors: ServerErrors\n updateServerErrors: (errors: any) => void\n errorRef: (error: HTMLElement) => void\n errorFields: HTMLElement[]\n errorLabels: CheckoutFormErrorLabelsType\n orderQuery: QueryResult<OrderDTO, unknown>\n shippingState: UseShippingResultType\n paymentState: UsePaymentResultType\n billingState: UseBillingResultType\n}\n\nexport const useCheckoutFormStep = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormStep must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n currentStep: context.step,\n updateStep: context.setStep,\n }\n }, [context])\n}\n\nexport const useCheckoutFormOrder = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormOrder must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.orderQuery\n}\n\nexport const useCheckoutFormErrorLabels = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormErrorLabels must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.errorLabels\n}\n\nexport const useCheckoutFormServerErrors = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormServerErrors must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n serverErrors: context.serverErrors,\n updateServerErrors: context.updateServerErrors,\n }\n }, [context])\n}\n\nexport const useCheckoutFormBillingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormBillingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.billingState\n}\n\nexport const useCheckoutFormShippingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormShippingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.shippingState\n}\n\nexport const useCheckoutErrorFields = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutErrorFields must be used within a CheckoutFormContextProvider'\n )\n }\n\n return {\n errorFields: context.errorFields,\n errorRef: context.errorRef,\n }\n}\n\nexport const useCheckoutFormPaymentState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormPaymentState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.paymentState\n}\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/contexts/CheckoutForm/index.tsx"],"names":["CheckoutFormContext","CheckoutFormContextProvider","children","defaultStep","errorLabels","enableSavedAddressList","withPersistBeforePageLeave","shippingValidations","defaultShippingValidations","validateBillingAddress","genericBillingAddressValidation","enableSaveBillingAddress","enableSavedBillingAddressList","countryCode","enableSaveAddress","autofillShippingPersonalData","onSubmit","paymentEnabledOnStep","getPaymentMethodsWhenShippingMethodIsSelected","shippingEnabledOnStep","billingEnabledOnStep","customState","initialCustomState","redirectTimeout","onBeforeRedirect","onSuccess","onError","isBoricaInDevMode","withPixelMeta","requiredFieldsOnShippingStep","requiredFieldsOnBillingAddressStep","enableNoShippingMethodMode","disablePaymentRedirects","orderQuery","myCartApi","useGet","boricaData","setBoricaData","uniCreditData","setUniCreditData","step","setStep","isRedirecting","setIsRedirecting","fieldsWithError","serverErrors","setServerErrors","collectFieldsWithError","error","push","handleStepChange","newStep","window","scrollTo","updateServerErrors","errors","formattedErrors","reduce","data","code","response","internalError","isAuthenticated","isShippingEnabled","userQuery","usersApi","enabled","shippingState","Boolean","validations","requiredFields","mod","getIsPaymentMethodsEnabled","moduleKey","moduleData","methodKey","paymentState","billingState","withSavedBillingAddressList","requiredFieldsOnShipping","onBeforeBoricaRedirect","setTimeout","onBeforePaypalRedirect","location","replace","redirectUrl","onBeforeUniCreditRedirect","withMeta","handleCheckoutSubmit","scrollToFirstError","interval","setInterval","errorElement","top","clearInterval","handleSubmit","e","preventDefault","Promise","all","persistShippingAddress","persistBillingAddress","isShippingValid","isValid","setIsShippingSubmitting","updateIsSubmitting","isBillingValid","setIsBillingSubmitting","isPaymentValid","setIsPaymentSubmitting","loanInfo","updateStep","saveOrder","shippingAddress","setLoanInfo","state","errorRef","errorFields","CheckoutFormStepsEnum","useCheckoutFormStep","context","Error","currentStep","useCheckoutFormOrder","useCheckoutFormErrorLabels","useCheckoutFormServerErrors","useCheckoutFormBillingState","useCheckoutFormShippingState","useCheckoutErrorFields","useCheckoutFormPaymentState"],"mappings":"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","sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n AddressDTO,\n PaypalGeneratePaymentUrlResponseDTO,\n OrderLoanInfoDTO,\n MyCartSetLoanInfo,\n UniCreditSessionStartResponseDTO,\n} from '@sentecacommerce/sdk'\nimport { MutateFunction, QueryResult } from 'react-query'\nimport { myCartApi } from '../../api/myCartApi'\nimport {\n useBilling,\n UseBillingResultType,\n usePayment,\n UsePaymentResultType,\n useShipping,\n UseShippingResultType,\n} from './hooks'\nimport { useIsAuthenticated } from '../../user/hooks'\nimport { useCheckoutSubmit } from '../../hooks/useCheckoutSubmit'\n\nimport {\n ShippingValidationsType,\n defaultShippingValidations,\n genericBillingAddressValidation,\n BillingAddressValidationType,\n} from './utils'\nimport { usersApi } from '../../api/usersApi'\nimport { useCheckoutShippingModule } from '../../hooks/useCheckoutShippingModule'\nimport {\n CheckoutFormCustomStateProvider,\n BoricaRedirect,\n UniCreditRedirect,\n} from './Components'\nimport { useScrollTo } from '../../hooks/ui-hooks'\nimport { getElementOffset } from '../../utils/getElementOffset'\n\nexport const CheckoutFormContext = createContext<CheckoutFormContextType>(\n {} as any\n)\n\nexport type CheckoutCustomState = {}\n\nexport function CheckoutFormContextProvider({\n children,\n defaultStep,\n errorLabels,\n enableSavedAddressList,\n withPersistBeforePageLeave,\n shippingValidations = defaultShippingValidations,\n validateBillingAddress = genericBillingAddressValidation,\n enableSaveBillingAddress,\n enableSavedBillingAddressList,\n countryCode,\n enableSaveAddress,\n autofillShippingPersonalData,\n onSubmit,\n\n paymentEnabledOnStep,\n getPaymentMethodsWhenShippingMethodIsSelected,\n shippingEnabledOnStep,\n billingEnabledOnStep,\n\n customState: initialCustomState = {},\n redirectTimeout = 420,\n onBeforeRedirect,\n onSuccess,\n onError,\n isBoricaInDevMode,\n withPixelMeta = false,\n requiredFieldsOnShippingStep = [\n 'firstName',\n 'lastName',\n 'email',\n 'phoneNumber',\n ],\n requiredFieldsOnBillingAddressStep = [\n 'vatId',\n 'companyId',\n 'companyPerson',\n 'companyName',\n ],\n enableNoShippingMethodMode = false,\n disablePaymentRedirects = false,\n}: Props) {\n const orderQuery = myCartApi.useGet()\n const [\n boricaData,\n setBoricaData,\n ] = useState<BoricaGeneratePaymentDataResponse | null>(null)\n const [\n uniCreditData,\n setUniCreditData,\n ] = useState<UniCreditSessionStartResponseDTO | null>(null)\n const [step, setStep] = useState<CheckoutFormStepsEnum>(defaultStep)\n const [isRedirecting, setIsRedirecting] = useState(false)\n\n const fieldsWithError: HTMLElement[] = []\n\n const [serverErrors, setServerErrors] = useState<ServerErrors>(null)\n\n const collectFieldsWithError = (error: HTMLElement) => {\n fieldsWithError.push(error)\n }\n\n const handleStepChange = useCallback((newStep: CheckoutFormStepsEnum) => {\n window.scrollTo(0, 0)\n\n setStep(newStep)\n }, [])\n\n const updateServerErrors = useCallback((errors: any[]) => {\n // Example Error\n // [{\n // code: \"OutOfStock\"\n // message: \"Some of the ordered line items are out of stock at the time of placing the order.\"\n // responses: {\n // availableQuantity: 1\n // sku: \"200000095849\"\n // status: \"unavailable\"\n // }\n // }]\n const formattedErrors = errors?.reduce?.(\n (data: ServerErrors, error: any) => {\n return {\n ...data,\n [error?.code || 'internal']: error?.response,\n }\n },\n {}\n )\n setServerErrors(formattedErrors || { internalError: errors })\n }, [])\n\n const { isAuthenticated } = useIsAuthenticated()\n\n const isShippingEnabled = shippingEnabledOnStep === step\n\n const userQuery = usersApi.useGet(\n {},\n { enabled: isShippingEnabled && autofillShippingPersonalData }\n )\n\n const shippingState = useShipping({\n errorLabels,\n orderQuery,\n enableSavedAddressList: Boolean(isAuthenticated && enableSavedAddressList),\n enableSaveAddress: Boolean(isAuthenticated && enableSaveAddress),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n validations: shippingValidations,\n autofillShippingPersonalData: Boolean(\n isAuthenticated && autofillShippingPersonalData\n ),\n userQuery,\n enabled: isShippingEnabled,\n countryCode,\n requiredFields: requiredFieldsOnShippingStep,\n enableNoShippingMethodMode,\n })\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const getIsPaymentMethodsEnabled = () => {\n if (paymentEnabledOnStep) {\n return paymentEnabledOnStep === step\n }\n\n if (\n !enableNoShippingMethodMode &&\n getPaymentMethodsWhenShippingMethodIsSelected\n ) {\n return Boolean(mod?.moduleKey && mod?.moduleData.methodKey)\n }\n\n return false\n }\n\n const paymentState = usePayment({\n errorLabels,\n orderQuery,\n enabled: getIsPaymentMethodsEnabled(),\n })\n\n const billingState = useBilling({\n errorLabels,\n orderQuery,\n validateBillingAddress,\n enableSaveBillingAddress: Boolean(\n isAuthenticated && enableSaveBillingAddress\n ),\n withSavedBillingAddressList: Boolean(\n isAuthenticated && enableSavedBillingAddressList\n ),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n countryCode,\n enabled: billingEnabledOnStep === step,\n requiredFields: requiredFieldsOnBillingAddressStep,\n requiredFieldsOnShipping: requiredFieldsOnShippingStep,\n })\n\n const onBeforeBoricaRedirect = (data: BoricaGeneratePaymentDataResponse) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setBoricaData(data)\n }, redirectTimeout)\n }\n\n const onBeforePaypalRedirect = (\n data: PaypalGeneratePaymentUrlResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n window.location.replace(data.redirectUrl)\n }, redirectTimeout)\n }\n const onBeforeUniCreditRedirect = (\n data: UniCreditSessionStartResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setUniCreditData(data)\n }, redirectTimeout)\n }\n\n const { handleCheckoutSubmit } = useCheckoutSubmit({\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onBeforeUniCreditRedirect,\n onSuccess,\n onError: (errors: any) => {\n updateServerErrors(errors)\n onError(errors)\n },\n withMeta: withPixelMeta,\n disablePaymentRedirects,\n })\n\n const { scrollTo } = useScrollTo(fieldsWithError[0], 0)\n\n const scrollToFirstError = () => {\n const interval = setInterval(() => {\n const errorElement = fieldsWithError[0]\n if (!errorElement) return\n\n scrollTo(getElementOffset(errorElement).top - 100)\n clearInterval(interval)\n }, 50)\n\n setTimeout(() => {\n clearInterval(interval)\n }, 1000)\n }\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n\n await Promise.all([\n shippingState.persistShippingAddress(),\n billingState.persistBillingAddress(),\n ]).catch(() => {})\n\n onSubmit({\n isShippingValid: shippingState.isValid,\n setIsShippingSubmitting: shippingState.updateIsSubmitting,\n isBillingValid: billingState.isValid,\n setIsBillingSubmitting: billingState.updateIsSubmitting,\n isPaymentValid: paymentState.isValid,\n setIsPaymentSubmitting: paymentState.updateIsSubmitting,\n loanInfo: paymentState.loanInfo,\n step,\n updateStep: setStep,\n saveOrder: handleCheckoutSubmit,\n updateServerErrors,\n scrollToFirstError,\n shippingState,\n shippingAddress: shippingState.data,\n setLoanInfo: async (loanInfo: OrderLoanInfoDTO) =>\n await MyCartSetLoanInfo(loanInfo),\n })\n }\n\n const state = {\n setStep: handleStepChange,\n step,\n orderQuery,\n serverErrors,\n updateServerErrors,\n errorLabels,\n shippingState,\n paymentState,\n billingState,\n errorRef: collectFieldsWithError,\n errorFields: fieldsWithError,\n }\n\n return (\n <CheckoutFormContext.Provider value={state}>\n <CheckoutFormCustomStateProvider initialCustomState={initialCustomState}>\n <>\n <form noValidate onSubmit={handleSubmit}>\n {children}\n </form>\n {!!boricaData && (\n <BoricaRedirect\n isInDevMode={isBoricaInDevMode}\n formData={boricaData}\n />\n )}\n {!!uniCreditData && (\n <UniCreditRedirect\n isInDevMode={isBoricaInDevMode}\n formData={uniCreditData}\n />\n )}\n </>\n </CheckoutFormCustomStateProvider>\n </CheckoutFormContext.Provider>\n )\n}\n\nexport type CheckoutFormOnSubmitData = {\n isShippingValid: boolean\n setIsShippingSubmitting: (value: boolean) => void\n isBillingValid: boolean\n setIsBillingSubmitting: (value: boolean) => void\n isPaymentValid: boolean\n setIsPaymentSubmitting: (value: boolean) => void\n step: CheckoutFormStepsEnum\n updateStep: (step: CheckoutFormStepsEnum) => void\n saveOrder: MutateFunction<OrderDTO, unknown, any, unknown>\n\n updateServerErrors: (errors: any) => void\n scrollToFirstError: () => void\n shippingState: UseShippingResultType\n shippingAddress?: AddressDTO\n loanInfo?: OrderLoanInfoDTO\n setLoanInfo?: (loanInfo: OrderLoanInfoDTO) => Promise<OrderDTO>\n}\n\ntype Props = {\n children: any\n defaultStep: CheckoutFormStepsEnum\n errorLabels: CheckoutFormErrorLabelsType\n withPersistBeforePageLeave: boolean\n countryCode?: string\n onSubmit: (data: CheckoutFormOnSubmitData) => void\n onError: (error: any) => void\n onSuccess: (order: OrderDTO) => void\n\n redirectTimeout?: number\n onBeforeRedirect?: () => void\n\n customState?: CheckoutCustomState\n\n enableSavedAddressList: boolean\n shippingValidations?: ShippingValidationsType\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n autoSelectDefaultShippingAddress: boolean\n\n enableSaveBillingAddress: boolean\n validateBillingAddress?: BillingAddressValidationType\n enableSavedBillingAddressList: boolean\n autoSelectDefaultBillingAddress: boolean\n\n paymentEnabledOnStep?: CheckoutFormStepsEnum\n getPaymentMethodsWhenShippingMethodIsSelected?: boolean\n\n shippingEnabledOnStep: CheckoutFormStepsEnum\n\n billingEnabledOnStep: CheckoutFormStepsEnum\n\n isBoricaInDevMode?: boolean\n\n withPixelMeta?: boolean\n requiredFieldsOnShippingStep?: string[]\n requiredFieldsOnBillingAddressStep?: string[]\n enableNoShippingMethodMode?: boolean\n disablePaymentRedirects?: boolean\n}\n\ntype ServerErrors = { [key: string]: any } | null\n\nexport enum CheckoutFormStepsEnum {\n Basket = 'Basket',\n Shipping = 'Shipping',\n BillingAddress = 'BillingAddress',\n Payment = 'Payment',\n Preview = 'Preview',\n All = 'All',\n}\n\nexport type CheckoutFormErrorsResultType =\n | {\n [key: string]: string\n }\n | null\n | undefined\n\nexport type ShippingFormErrorLabels = {\n fieldIsRequired: string\n fillStreetNumberBuildingEntranceOrApartment: string\n streetIsRequired: string\n invalidPhoneNumber?: string\n quarterIsRequired: string\n cantFindStreetOrQuarterMessage: string\n cityIsRequired: string\n emailIsRequired: string\n officeIsRequired: string\n selectCourier: string\n noStoreSelected: string\n}\n\nexport type CheckoutFormErrorLabelsType = ShippingFormErrorLabels & {\n selectPaymentMethod: string\n}\n\nexport type CheckoutFormContextType = {\n setStep: (step: CheckoutFormStepsEnum) => void\n step: CheckoutFormStepsEnum\n serverErrors: ServerErrors\n updateServerErrors: (errors: any) => void\n errorRef: (error: HTMLElement) => void\n errorFields: HTMLElement[]\n errorLabels: CheckoutFormErrorLabelsType\n orderQuery: QueryResult<OrderDTO, unknown>\n shippingState: UseShippingResultType\n paymentState: UsePaymentResultType\n billingState: UseBillingResultType\n}\n\nexport const useCheckoutFormStep = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormStep must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n currentStep: context.step,\n updateStep: context.setStep,\n }\n }, [context])\n}\n\nexport const useCheckoutFormOrder = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormOrder must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.orderQuery\n}\n\nexport const useCheckoutFormErrorLabels = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormErrorLabels must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.errorLabels\n}\n\nexport const useCheckoutFormServerErrors = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormServerErrors must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n serverErrors: context.serverErrors,\n updateServerErrors: context.updateServerErrors,\n }\n }, [context])\n}\n\nexport const useCheckoutFormBillingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormBillingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.billingState\n}\n\nexport const useCheckoutFormShippingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormShippingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.shippingState\n}\n\nexport const useCheckoutErrorFields = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutErrorFields must be used within a CheckoutFormContextProvider'\n )\n }\n\n return {\n errorFields: context.errorFields,\n errorRef: context.errorRef,\n }\n}\n\nexport const useCheckoutFormPaymentState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormPaymentState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.paymentState\n}\n"],"file":"index.js"}
|
@@ -49,11 +49,7 @@ var useOrder = function useOrder(_ref) {
|
|
49
49
|
platformPaymentMethod: {
|
50
50
|
id: platform == null ? void 0 : platform._id,
|
51
51
|
key: platform == null ? void 0 : platform.moduleKey,
|
52
|
-
type: platform == null ? void 0 : platform.type
|
53
|
-
name: (0, _index.getTranslatableField)(platform == null ? void 0 : platform.name),
|
54
|
-
description: (0, _index.getTranslatableField)(platform == null ? void 0 : platform.description),
|
55
|
-
currencyCode: platform == null ? void 0 : platform.currencyCode,
|
56
|
-
countryCode: platform == null ? void 0 : platform.countryCode
|
52
|
+
type: platform == null ? void 0 : platform.type
|
57
53
|
},
|
58
54
|
shippingMethod: {
|
59
55
|
isOffice: isShippingMethodOffice,
|
@@ -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","
|
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","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 PaymentDTOTypeEnum,\n PaymentMethodDTOTypeEnum,\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 unknown) as PaymentStatusUpdateDTOStatusEnum,\n platformPaymentMethod: {\n id: platform?._id as string,\n key: platform?.moduleKey as string,\n type: platform?.type as any,\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
|
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 +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;;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 as any,\n key: paymentDto.moduleKey as string,\n },\n })\n },\n {\n onSuccess,\n onError,\n }\n )\n}\n"],"file":"index.js"}
|
@@ -57,7 +57,7 @@ var useAllSubscriptions = function useAllSubscriptions(_ref) {
|
|
57
57
|
}
|
58
58
|
}, [isAllFetching, allSubs]);
|
59
59
|
var mySubscriptions = (0, _react.useMemo)(function () {
|
60
|
-
if (!isFetching) {
|
60
|
+
if (!isFetching && Boolean(userSubs == null ? void 0 : userSubs.length)) {
|
61
61
|
return userSubs == null ? void 0 : userSubs.reduce(function (res, curr) {
|
62
62
|
var _extends3;
|
63
63
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/subscriptions-hooks/useAllSubscriptions/index.ts"],"names":["useAllSubscriptions","onSubscribeCallback","onUnsubscribeCallback","tag","allSubs","data","isAllFetching","isFetching","userSubs","onSuccess","subscribe","subscribeError","error","subscribeLoading","isLoading","unsubscribe","unsubscribeError","unsubscribeLoading","allSubscriptions","reduce","res","curr","key","label","description","isRequired","id","_id","mySubscriptions","consentKey","checkedSubs","Object","keys","checkedSubsState","setCheckedSubsState","clickSub","sub","requiredSubs","filter","checkRequiredSubs","some","checkSubscription","handleClick","acc","acceptChecked","email","consentKeys","el"],"mappings":";;;;;;;;;AAAA;;AACA;;AAOA;;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAQ7B;AAAA,MAPJC,mBAOI,QAPJA,mBAOI;AAAA,MANJC,qBAMI,QANJA,qBAMI;AAAA,MALJC,GAKI,QALJA,GAKI;;AAAA,8BACiD,kCACnDA,GADmD,CADjD;AAAA,MACUC,OADV,yBACIC,IADJ;AAAA,MAC+BC,aAD/B,yBACmBC,UADnB;;AAAA,yBAImC,6BAJnC;AAAA,MAIUC,QAJV,oBAIIH,IAJJ;AAAA,MAIoBE,UAJpB,oBAIoBA,UAJpB;;AAAA,sBAQA,yBAAa;AACfE,IAAAA,SAAS,EAAER;AADI,GAAb,CARA;AAAA,MAMFS,SANE;AAAA;AAAA,MAOOC,cAPP,kBAOAC,KAPA;AAAA,MAOkCC,gBAPlC,kBAOuBC,SAPvB;;AAAA,wBAcA,2BAAe;AACjBL,IAAAA,SAAS,EAAEP;AADM,GAAf,CAdA;AAAA,MAYFa,WAZE;AAAA;AAAA,MAaOC,gBAbP,oBAaAJ,KAbA;AAAA,MAaoCK,kBAbpC,oBAayBH,SAbzB;;AAkBJ,MAAMI,gBAAgB,GAAG,oBAAQ,YAAM;AACrC,QAAI,CAACZ,aAAL,EAAoB;AAClB,aAAOF,OAAP,oBAAOA,OAAO,CAAEe,MAAT,CACL,UAACC,GAAD,EAAMC,IAAN;AAAA;;AAAA,6CACKD,GADL,6BAEGC,IAAI,CAACC,GAFR,IAEc;AACVC,UAAAA,KAAK,EAAE,iCAAqBF,IAAI,CAACE,KAA1B,CADG;AAEVC,UAAAA,WAAW,EAAE,iCAAqBH,IAAI,CAACG,WAA1B,CAFH;AAGVC,UAAAA,UAAU,EAAEJ,IAAI,CAACI,UAHP;AAIVC,UAAAA,EAAE,EAAEL,IAAI,CAACM;AAJC,SAFd;AAAA,OADK,EAUL,EAVK,CAAP;AAYD;AACF,GAfwB,EAetB,CAACrB,aAAD,EAAgBF,OAAhB,CAfsB,CAAzB;AAiBA,MAAMwB,eAAe,GAAG,oBAAQ,YAAM;AACpC,QAAI,CAACrB,
|
1
|
+
{"version":3,"sources":["../../../../../src/hooks/subscriptions-hooks/useAllSubscriptions/index.ts"],"names":["useAllSubscriptions","onSubscribeCallback","onUnsubscribeCallback","tag","allSubs","data","isAllFetching","isFetching","userSubs","onSuccess","subscribe","subscribeError","error","subscribeLoading","isLoading","unsubscribe","unsubscribeError","unsubscribeLoading","allSubscriptions","reduce","res","curr","key","label","description","isRequired","id","_id","mySubscriptions","Boolean","length","consentKey","checkedSubs","Object","keys","checkedSubsState","setCheckedSubsState","clickSub","sub","requiredSubs","filter","checkRequiredSubs","some","checkSubscription","handleClick","acc","acceptChecked","email","consentKeys","el"],"mappings":"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","sourcesContent":["import { useMemo, useState, useCallback } from 'react'\nimport {\n useSubscriptionsByTag,\n useSubscription,\n useSubscribe,\n useUnsubscribe,\n useBulkSubscribe,\n} from '../index'\nimport { getTranslatableField } from '../../../utils'\n\nexport const useAllSubscriptions = ({\n onSubscribeCallback,\n onUnsubscribeCallback,\n tag,\n}: {\n onSubscribeCallback?: () => void\n onUnsubscribeCallback?: () => void\n tag: string\n}) => {\n const { data: allSubs, isFetching: isAllFetching } = useSubscriptionsByTag(\n tag\n )\n const { data: userSubs, isFetching } = useSubscription()\n const [\n subscribe,\n { error: subscribeError, isLoading: subscribeLoading },\n ] = useSubscribe({\n onSuccess: onSubscribeCallback,\n })\n const [\n unsubscribe,\n { error: unsubscribeError, isLoading: unsubscribeLoading },\n ] = useUnsubscribe({\n onSuccess: onUnsubscribeCallback,\n })\n\n const allSubscriptions = useMemo(() => {\n if (!isAllFetching) {\n return allSubs?.reduce(\n (res, curr) => ({\n ...res,\n [curr.key]: {\n label: getTranslatableField(curr.label),\n description: getTranslatableField(curr.description),\n isRequired: curr.isRequired,\n id: curr._id,\n },\n }),\n {}\n )\n }\n }, [isAllFetching, allSubs])\n\n const mySubscriptions = useMemo(() => {\n if (!isFetching && Boolean(userSubs?.length)) {\n return userSubs?.reduce(\n (res, curr) => ({\n ...res,\n [curr.consentKey]: curr.consentKey,\n }),\n {}\n )\n }\n }, [userSubs, isFetching])\n\n const checkedSubs = useMemo(() => {\n if (!isAllFetching && allSubscriptions) {\n return Object.keys(allSubscriptions).reduce(\n (res, curr) => ({\n ...res,\n [curr]: false,\n }),\n {}\n )\n }\n }, [allSubscriptions, isAllFetching])\n\n const [checkedSubsState, setCheckedSubsState] = useState(checkedSubs)\n\n const clickSub = useCallback(\n (sub: string) => {\n if (checkedSubs) {\n checkedSubs[sub] = !checkedSubs[sub]\n setCheckedSubsState(\n Object.keys(checkedSubs).reduce(\n (res, curr) => ({\n ...res,\n [curr]: checkedSubs[curr],\n }),\n {}\n )\n )\n }\n },\n [checkedSubs]\n )\n\n const requiredSubs = useMemo(() => {\n return Object.keys(allSubscriptions || {}).filter(\n (sub) => allSubscriptions?.[sub].isRequired\n )\n }, [allSubscriptions])\n\n const checkRequiredSubs = useCallback(() => {\n return !requiredSubs.some((sub) => !checkedSubs?.[sub])\n }, [checkedSubs, requiredSubs])\n\n const checkSubscription = useCallback(\n (key: string): boolean => {\n return key === mySubscriptions?.[key]\n },\n [mySubscriptions]\n )\n\n const handleClick = useCallback(\n (key: string) => {\n if (checkSubscription(key)) {\n return unsubscribe({ consentKey: key })\n }\n subscribe({ consentKey: key })\n },\n [checkSubscription, subscribe, unsubscribe]\n )\n\n const [acc] = useBulkSubscribe({})\n\n const acceptChecked = useCallback(\n (email: string) => {\n acc({\n email: email,\n consentKeys: Object.keys(checkedSubs || {}).filter(\n (el) => checkedSubs?.[el] === true\n ),\n })\n },\n [acc, checkedSubs]\n )\n\n return {\n isAllFetching,\n allSubscriptions,\n checkSubscription,\n handleClick,\n subscribeError,\n unsubscribeError,\n checkedSubs,\n clickSub,\n checkRequiredSubs,\n requiredSubs,\n isLoading: subscribeLoading || unsubscribeLoading,\n acceptChecked,\n }\n}\n"],"file":"index.js"}
|