{"version":3,"sources":["webpack:///./app/javascript/checkout_application_v3/components/Error/Error.tsx","webpack:///./app/javascript/checkout_application_v3/util/mixpanel.ts","webpack:///./app/javascript/checkout_application_v3/components/common/ScrollToTop/ScrollToTop.ts","webpack:///./app/javascript/checkout_application_v3/util/importWithRetry.ts","webpack:///./app/javascript/checkout_application_v3/router/routes/routes.ts","webpack:///./app/javascript/checkout_application_v3/router/Router.tsx","webpack:///./app/javascript/checkout_application_v3/App.tsx","webpack:///./app/javascript/checkout_application_v3/components/common/AppProviders/AppProviders.tsx","webpack:///./app/javascript/checkout_application_v3/index.js","webpack:///./app/javascript/packs/checkout_application_v3.js","webpack:///./app/javascript/checkout_application_v3/common/i18n/index.ts","webpack:///./app/javascript/checkout_application_v3/util/nodeEnv.ts","webpack:///./app/javascript/checkout_application_v3/util/transformArrayToCommaSeparatedString.ts","webpack:///./app/javascript/checkout_application_v3/util/api.ts","webpack:///./app/javascript/checkout_application_v3/util/getXCSRFToken.ts","webpack:///./app/javascript/checkout_application_v3/api/index.ts","webpack:///./app/javascript/checkout_application_v3/util/isNotNil.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useMerchantSettings/useMerchantSettings.util.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useMerchantSettings/useMerchantSettings.ts","webpack:///./app/javascript/checkout_application_v3/util/emptyCallback.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useCreateShipment/useCreateShipment.selectors.ts","webpack:///./app/javascript/checkout_application_v3/common/types/merchant.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useSessionStorage/useSessionStorage.ts","webpack:///./app/javascript/checkout_application_v3/util/getCountryLabel.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useLanguage/useLanguage.ts","webpack:///./app/javascript/checkout_application_v3/context/LanguageContext/LanguageContext.tsx","webpack:///./app/javascript/checkout_application_v3/components/common/ReactQueryClientProvider/ReactQueryClientProvider.tsx","webpack:///./app/javascript/checkout_application_v3/util/format.ts","webpack:///./app/javascript/checkout_application_v3/common/types/return.ts","webpack:///./app/javascript/checkout_application_v3/common/types/common.ts","webpack:///./app/javascript/polyfills.js","webpack:///./app/javascript/importRetry.js","webpack:///./app/javascript/checkout_application_v3/router/routes/path.ts","webpack:///./app/javascript/checkout_application_v3/context/FormatContext/FormatContext.tsx","webpack:///./app/javascript/checkout_application_v3/context/MerchantSettingsContext/MerchantSettingsContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useReturnState/useReturnState.tsx","webpack:///./app/javascript/checkout_application_v3/context/ReturnContext/ReturnContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useReturnState/useReturnState.util.ts","webpack:///./app/javascript/checkout_application_v3/components/Login/hooks/useLoginState/useLoginState.ts","webpack:///./app/javascript/checkout_application_v3/context/LoginStateContext/LoginStateContext.tsx","webpack:///./app/javascript/checkout_application_v3/util/isNotEmpty.ts","webpack:///./app/javascript/checkout_application_v3/context/ThemeContext/ThemeContext.tsx","webpack:///./app/javascript/checkout_application_v3/util/transformCommaSeparatedStringToArray.ts","webpack:///./app/javascript/checkout_application_v3/hooks/useReturnMethods/useReturnMethods.ts","webpack:///./app/javascript/checkout_application_v3/context/ReturnMethodsContext/ReturnMethodsContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useReturnMethods/useReturnMethods.util.ts","webpack:///./app/javascript/checkout_application_v3/components/ReturnOverview/index.util.ts","webpack:///./app/javascript/checkout_application_v3/context/CollectionsNavigationVisibilityContext/CollectionsNavigationVisibilityContext.tsx","webpack:///./app/javascript/checkout_application_v3/context/CartVisibilityContext/CartVisibilityContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useUpdateCustomerData/useUpdateCustomerData.tsx","webpack:///./app/javascript/checkout_application_v3/context/CustomerDataContext/CustomerDataContext.tsx","webpack:///./app/javascript/checkout_application_v3/context/ConfirmReturnContext/ConfirmReturnContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useConfirmReturn/useConfirmReturn.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useConfirmReturn/useConfirmReturn.util.ts","webpack:///./app/javascript/checkout_application_v3/context/ShipmentContext/ShipmentContext.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useCreateShipment/useCreateShipment.tsx","webpack:///./app/javascript/checkout_application_v3/hooks/useCreateShipment/useCreateShipment.util.ts","webpack:///./app/javascript/checkout_application_v3/ui-kit/components/FallbackSpinner/FallbackSpinner.tsx","webpack:///./app/javascript/checkout_application_v3/components/common/PayPalProvider/PayPalProvider.tsx","webpack:///./app/javascript/checkout_application_v3/components/common/PayPalProvider/PayPalProvider.util.ts"],"names":["Error","React","createElement","mixpanel","init","debug","mixpanelTrackUser","_ref","merchantName","customerEmail","orderId","identify","mixpanelIdentifyUser","people","set","$email","append","mixpanelStoreUserProfile","trackRefundTypeSelectedEvent","refundType","_textByRefundTypeMap","textByRefundTypeMap","_defineProperty","RefundType","OriginalPaymentMethod","StoreCredit","ShopExchange","track","trackRefundTooltipTriggeredEvent","tooltipTitle","interaction","Title","Interaction","trackShopNowRefundSelectedEvent","trackProductAddedToCartEvent","product","selectedVariant","globalId","id","trackProductRemovedFromCartEvent","trackCollectionSeeAllClickedEvent","trackBrowseAllClickedEvent","trackCollectionClickedEvent","trackProductClickedEvent","productId","productGlobalId","source","searchQuery","searchQueryPayload","payload","_objectSpread","trackCartCheckoutClickedEvent","cartItems","map","_ref2","selectedQuantity","trackPaginationNextButtonClickedEvent","trackPaginationPreviousButtonClickedEvent","trackConfirmReturnButtonClickedEvent","returnItems","cartItemsEventContext","length","_ref3","eventContext","_ref4","variantId","returnQuantity","trackProductSearch","ScrollToTop","pathname","useLocation","useEffect","window","scrollTo","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","importWithRetry","_x","_importWithRetry","apply","arguments","_callee","importFn","retries","interval","_args","_context","t0","wait","clearCache","location","href","args","sessionStorage","clear","queryCache","ms","setTimeout","authRoutes","path","Path","Login","Component","lazy","exact","authenticatedRoutes","SelectItems","ReturnType","ExchangeVariant","CustomReturn","SelectQuantity","ReturnReason","ReturnMethod","MoreDetails","ReturnOverview","ReturnConfirmation","Payment","CollectionsList","CollectionDetails","ProductDetailsShop","errorRoute","appRoutes","concat","Router","MemoryRouter","Switch","Route","render","props","Suspense","fallback","FallbackSpinner","component","App","AppProviders","children","_useMerchantSettings$","useMerchantSettings","data","viewSettings","currency","merchant","locales","theme","primaryColor","secondaryColor","logoUrl","ThemeContextProvider","MerchantSettingsContextProvider","LanguageContextProvider","merchantLanguages","FormatContextProvider","merchantCurrency","LoginStateContextProvider","ReturnContextProvider","ReturnMethodsContextProvider","CustomerDataContextProvider","ShipmentContextProvider","ConfirmReturnContextProvider","PayPalProvider","CartVisibilityContextProvider","CollectionsNavigationVisibilityContextProvider","Root","ReactQueryClientProvider","ToastContainer","newestOnTop","className","document","addEventListener","ReactDOM","getElementById","includes","process","importRetry","i18next","use","Backend","BrowserLanguageDetector","initReactI18next","backend","loadPath","detection","order","ns","defaultNS","fallbackLng","load","interpolation","escapeValue","react","useSuspense","supportedLngs","translationsMap","en","translationEN","de","translationDE","fr","translationFR","loadStaticTranslations","supportedLanguages","language","loadStaticTranslationsByLocaleCode","locale","translation","addResourceBundle","transformArrayToCommaSeparatedString","join","generateQueryString","items","parentKey","item","_ref8","childKey1","childKey2","childKey3","_ref7","generateQueryParamKeyName","encodeURIComponent","generateQueryParams","getCreateShipmentRequestPayload","_ref9","_customerAddress$stre","_customerAddress$stre2","_getInitiatedReturnIt","_ref9$initiatedReturn","initiatedReturnItems","_ref9$order","orderItems","ruleToken","returnAddress","_ref9$customerAddress","customerAddress","customerName","returnMethod","shipment","from","first_name","firstName","last_name","lastName","street","trim","street_no","streetNumber","city","zip_code","zip","province_code","provinceCode","country_iso2","countryCode","phone_number","phone","to","company","name2","toString","customs_document","displayed_currency","getInitiatedReturnItemOriginalOrderItem","displayedCurrency","initiatedReturnItem","returnType","TradeIn","tradeInItem","quantity","unit_weight_in_grams","unit_price","inventory_item_id","orderItem","Math","round","weightInKg","displayedPrice","inventoryItemId","reference_number","getShipmentReferenceNumber","shop_order_id","notification_email","package_weight","getShipmentPackageWeight","merchant_return_method_id","pickup_date","rule_token","shopBackend","ShopBackend","Shopify","noteAttributesValue","getNoteAttributeValue","noteAttributes","returnAddressNoteAttributeName","removeHashFromOrderName","orderName","orderNumber","_sum","sum","noteAttributeName","_noteAttribute$","_noteAttribute$$value","filter","_ref10","getCustomerPayload","_ref11","_shippingAddress$stre","_shippingAddress$stre2","_shippingAddress$stre3","customerFirstName","customerLastName","tags","shippingFirstName","shippingLastName","shippingAddress","email","address","street_number","street_2","street2","country","getCountryLabel","province","getConfirmReturnRequestPayload","_ref12","_order$shippingMethod","shipments","_ref12$customerAddres","payment","storeCreditOption","_ref12$cartItems","_order$senderCustomer","senderCustomer","tradeInItemsPayload","orderInitiatedReturnItems","paymentPayload","getConfirmReturnPaymentPayload","refund","getItemsPayload","trade_in_items","compact","exchange_items","_ref13","price","product_id","variant_id","displayed_price","customer","return_address","order_name","vendor_order_number","invoice_number","invoiceNumber","order_id","order_shipping_cost","shippingCost","order_date","orderDate","order_shipping_method","shippingMethod","JSON","stringify","note_attributes","no_of_items","noOfItems","payment_methods","paymentMethods","shipping_company","returnMethodCarrier","shipping_method","returnMethodName","tracking_number","carrierTrackingNo","refund_type","getConfirmReturnRefundType","getInitiatedReturnItemReasonImagesUrls","initiatedReturn","_initiatedReturn$retu","_initiatedReturn$retu2","images","returnReasonMoreDetails","_ref14","uploadId","_objectWithoutProperties","_excluded","_initiatedReturn$exch","_initiatedReturn$retu3","_initiatedReturn$retu4","_initiatedReturn$retu5","_initiatedReturn$retu6","_getInitiatedReturnIt2","additionalComments","sku","ean","discount","categories","imageUrl","originalQuantity","exchangeVariant","title","additional_comments","category","original_quantity","amount","image_url","weight_in_kg","return_reason_id","returnReasonId","refund_reason_text","text","return_reason_picture","return_type","variant_title","exchange_variant_id","isNil","authorizationId","authorization_id","getXCSRFToken","querySelector","content","_asyncToGenerator","fetchMerchantSettings","fetch","response","json","fetchCookiesSettings","fetchOrder","params","currentPage","queryParamItems","queryString","fetchOrderRegisteredItems","_ref5","fetchReturnMethods","_ref6","customerCountry","orderAmount","numberOfItemsToReturn","returnReasonIds","customerTags","orderTags","refundTotalValue","_ref6$returnTags","returnTags","_ref6$returnItemsCust","returnItemsCustomData","noOfRegisteredReturns","uniqueReturnTags","requestPayload","uniq","rule","order_country","order_value","number_of_items","return_reason_ids","customer_tags","order_tags","payment_method","refund_total_value","customer_email","order_registered_returns","return_item_product_tags","tag","product_custom_data","headers","body","createShipment","_data$error","status","confirmReturn","_callee2","checksum","_context2","sha256","hmac","_x2","fetchReturnMethodsNotes","_callee3","_context3","customerReturnId","merchantReturnMethodId","_x3","fetchProductDetails","exchangedOrderItemId","useShopProductEndpoint","_ref17","isNotNil","getFetchProductDetailsQueryString","fetchDHLDownStatus","fetchTradeInItems","createPayPalOrder","_ref15","_order$shippingMethod2","_ref15$customerAddres","clientPaymentAmount","originalOrderShippingCost","_ref15$isShopNowPayme","isShopNowPaymentFlow","_ref15$cartItems","_order$senderCustomer2","customerPayload","shop_now_items","_ref16","productTitle","validation","client_payment_amount","payment_flow","authorizePayPalOrder","purchaseUnit","_authorizePaymentOrde","authorizePaymentOrderResponse","purchase_units","authorization","_purchaseUnit$payment","_purchaseUnit$payment2","payments","authorizations","fetchCollections","fetchCollection","collectionId","nextPage","prevPage","queryParam","fetchSearchProducts","paginationQueryParam","negate","shopBackendMap","shopify_integration","shopware_integration","Shopware","refundShippingCostPolicyMap","RefundShippingCostPolicy","Refund","no_refund","NoRefund","if_all_items_returned","IfAllItemsReturned","_useQuery","useQuery","restProps","useMemo","responseData","settings","_settings$checkout_vi","_settings$merchant","_settings$return_poli","_settings$return_reas","_settings$merchant2","_settings$return_poli2","checkout_view_setting","primary_color","secondary_color","shop_url","custom_script","_ref2$currency","climate_compensation","return_address1_note_attribute_name","shop_backend","show_exchange","show_store_credit","show_instant_store_credit","show_trade_in_items","merchant_languages","shop_now_exchange_enabled","active_paypal_checkout","return_policy","policy_url","expected_refund","refund_shipping_cost","custom_return_name","exchange_without_track_quantity","store_credit_added_percentage","custom_missing_optional_translations","returnReasons","return_reasons","shopUrl","customScript","lang_code","climateCompensation","showExchange","showCustomReturn","show_custom_return","showStoreCredit","showInstantStoreCredit","showTradeInItems","shopNowEnabled","shopNowPaymentEnabled","langCode","langName","lang_name","returnPolicy","policyUrl","showExpectedRefund","refundShippingCost","customReturnName","exchangeWithoutTrackQuantity","storeCreditAddedPercentage","inAppShoppingAddedPercentage","customMissingOptionalTranslations","external_text_by_locale","additional_text_required","additional_text","image_upload","image_upload_required","text_title_by_locale","show_for_refund","show_for_exchange_reasons","show_for_custom_reasons","_ref6$applicable_cate","applicable_categories","externalText","isAdditionalTextSupported","isAdditionalTextRequired","isImageSupported","isImageRequired","textTitle","visible","exchange","custom","applicableCategories","transformCommaSeparatedStringToArray","transformMerchantSettingsResponse","emptyCallback","_orderItems$find","find","orderItemId","useSessionStorage","storageKey","fallbackState","_JSON$parse","_useState2","_slicedToArray","useState","parse","getItem","setValue","setItem","countryList","getLabel","LanguageContext","createContext","changeLanguage","_useLanguage","LocaleCode","setLanguage","changeI18nextLanguage","updatedLanguage","_i18next$languages","isEmpty","i18nextLanguage","languages","changeDropdownLanguage","setFormattingLocale","useCallback","alignI18nextAndDropdownLanguage","_i18next$languages2","i18nextOnInitialized","on","off","useLanguage","Provider","useLanguageContext","useContext","QueryCache","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","retry","cacheTime","staleTime","sessionStoragePersistor","createWebStoragePersistor","storage","persistQueryClient","persistor","QueryClientProvider","client","NumberFormat","numberFormatterMap","Currency","Intl","style","minimumFractionDigits","maximumFractionDigits","format","formatNumberCurried","curry","getNumberFormatter","formatCurrency","newLocale","formatDate","formatting","month","day","year","DateTimeFormat","Date","formatTime","timestamp","toLocaleString","hour","minute","StoreCreditType","ShopExchangeRefundType","_toConsumableArray","split","replace","entries","Function","WeakMap","Array","globalThis","_importRetry","pathResolvers","ColletionsList","FormatContext","formatInMerchantCurrency","identity","useFormatContext","MerchantSettingsContext","useMerchantSettingsContext","ReturnContext","selectedItemId","setSelectedItemId","selectedReturnQuantity","setSelectedReturnQuantity","selectedReturnMethodId","setSelectedReturnMethodId","addInitiatedReturnItem","removeInitiatedReturnItem","selectedReturnReasonId","setSelectedReturnReasonId","returnReasonImages","setReturnReasonImages","returnReasonText","setReturnReasonText","resetReturnState","resetCurrentItemReturnState","selectedReturnType","setSelectedReturnType","selectedExchangeVariant","setSelectedExchangeVariant","selectedRefundType","setSelectedRefundType","selectedShopExchangeRefundType","setSelectedShopExchangeRefundType","selectedTradeInItemId","setSelectedTradeInItemId","selectedStoreCreditOption","setSelectedStoreCreditOption","selectedCollectionId","setSelectedCollectionId","selectedShoppingProductId","setSelectedShoppingProductId","addItemToCart","removeItemFromCart","changeItemQuantityInCart","cartItemsTotalCost","resetInAppShoppingState","resetSelectedReturnMethod","_useState4","_useState6","_useState8","_useState10","_useState12","_useState14","_useSessionStorage2","setInitiatedReturnItems","_useState16","_useState18","_useState20","_useState22","_useState24","_useState26","_useState28","_useState30","cart","setCart","selectedProductVariant","image","isDefaultVariant","prevCart","prevCartItem","updatedCartItem","omit","increment","reduce","total","calculateCartItemsCost","existingItems","idToRemove","_ref$tradeInItem","tradeInItemId","useReturnContext","LoginStateContext","setOrderId","setCustomerEmail","resetLoginState","isDisableCTA","_useSessionStorage4","useLoginStateContext","isNotEmpty","ThemeContext","useThemeContext","str","useReturnMethods","_useMutation","useMutation","mutate","transformReturnMethodsResponse","ReturnMethodsContext","isError","isLoading","useReturnMethodsContext","_responseData$setting","_responseData$setting2","_responseData$setting3","_responseData$setting4","_responseData$setting5","returnMethods","merchant_return_methods","cost","return_method_carrier","return_method_name","name_map","description_map","cost_message_map","parseFloat","nameMap","descriptionMap","costMessageMap","getFetchReturnMethodsVariables","shippingDate","returnItem","getReturnTypes","getRefundTotalValue","getReturnTags","getReturnItemsCustomData","amounts","getRefundInitiatedReturnItems","_orderItem$price","_ref4$returnQuantity","_orderItems$find2","flatten","_orderItems$find3","productCustomData","valueOf","getIsIncludeOriginalShippingCostInRefund","refundShippingCostPolicy","orderItemsQuantity","registeredItemsQuantity","initiatedItems","some","Exchange","acc","curr","CollectionsNavigationVisibilityContext","setIsVisible","isVisible","useCollectionsNavigationVisibilityContext","CartVisibilityContext","setIsCartVisible","isCartVisible","useCartVisibilityContext","CustomerDataContext","setCustomerName","setCustomerAddress","useCustomerDataContext","ConfirmReturnContext","_responseData$refund","customer_return_id","_responseData$refund$","created_at","dhl_pickup_confirmation_number","label_url","labelUrl","createdAt","updatedAt","updated_at","DHLPickupConfirmationNumber","shippingCompany","trackingNumber","transformConfirmReturnResponse","useConfirmReturnContext","ShipmentContext","_responseData$json$ma","_responseData$json","carrier_tracking_no","QRCodeUrl","qrcode_url","useShipmentContext","getPayPalScriptProviderOptions","clientId","intent","components","PAYPAL_CLIENT_ID","getPayPalClientIdFromRootDocument","Fragment","options","PayPalScriptProvider","root","dataset"],"mappings":"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","file":"js/checkout_application_v3-c4c2c09c022bb8238757.chunk.js","sourcesContent":["import React, { FC } from \"react\";\n\nconst Error: FC = () => {\n return
Error
;\n};\n\nexport default Error;\n","import mixpanel from \"mixpanel-browser\";\n\nimport { RefundType } from \"~/common/types/return\";\nimport { Product, ProductVariant } from \"~/common/types/product\";\nimport {\n CartItem,\n InitiatedReturnItem,\n} from \"~/hooks/useReturnState/useReturnState.types\";\nimport { OrderItem } from \"~/common/types/order\";\n\nimport { isProductionEnvironment } from \"./isProductionEnvironment\";\n\n// Note: These project tokens are not a secret, rather a project identifier\n// Therefore it can be safely stored in the client\nconst MIXPANEL_PROD_TOKEN = \"15e1ede12f79c0aa7b83e95e7578e34a\";\nconst MIXPANEL_TEST_TOKEN = \"47ff8cd048e0ca1dd843b0b521c56b02\";\n\nconst isProduction = isProductionEnvironment();\n\nconst getMixpanelProjectToken = () => {\n return isProduction ? MIXPANEL_PROD_TOKEN : MIXPANEL_TEST_TOKEN;\n};\n\nmixpanel.init(getMixpanelProjectToken(), { debug: !isProduction });\n\nconst mixpanelStoreUserProfile = (\n merchantName: string,\n customerEmail: string,\n orderId: string\n) => {\n mixpanel.people.set({ \"Merchant Name\": merchantName });\n mixpanel.people.set({ $email: customerEmail });\n mixpanel.people.append({ \"Order IDs\": orderId });\n};\n\nconst mixpanelIdentifyUser = (customerEmail: string) =>\n mixpanel.identify(customerEmail);\n\nexport const mixpanelTrackUser = ({\n merchantName,\n customerEmail,\n orderId,\n}: {\n merchantName: string;\n customerEmail: string;\n orderId: string;\n}) => {\n mixpanelIdentifyUser(customerEmail);\n mixpanelStoreUserProfile(merchantName, customerEmail, orderId);\n};\n\nexport const trackRefundTypeSelectedEvent = (refundType: RefundType) => {\n const textByRefundTypeMap = {\n [RefundType.OriginalPaymentMethod]: \"Original Payment Method\",\n [RefundType.StoreCredit]: \"Store Credit\",\n [RefundType.ShopExchange]: \"Shop Now\",\n };\n mixpanel.track(\"Refund selected\", {\n \"Refund Type\": textByRefundTypeMap[refundType],\n });\n};\n\nexport const trackRefundTooltipTriggeredEvent = (\n tooltipTitle: string,\n interaction: \"click\" | \"hover\"\n) => {\n mixpanel.track(\"Refund tooltip triggered\", {\n Title: tooltipTitle,\n Interaction: interaction,\n });\n};\n\nexport const trackShopNowRefundSelectedEvent = () => {\n mixpanel.track(\"Shop Now refund type selected\");\n};\n\nexport const trackProductAddedToCartEvent = (\n product: DeepPartial,\n selectedVariant: DeepPartial\n) => {\n mixpanel.track(\"Product added to cart\", {\n \"Product ID\": product.globalId,\n \"Variant ID\": selectedVariant.id,\n });\n};\n\nexport const trackProductRemovedFromCartEvent = () => {\n mixpanel.track(\"Product removed from cart\");\n};\n\nexport const trackCollectionSeeAllClickedEvent = () => {\n mixpanel.track(`Collection \"See All\" clicked`);\n};\n\nexport const trackBrowseAllClickedEvent = () => {\n mixpanel.track(\"Browse All clicked\");\n};\n\nexport const trackCollectionClickedEvent = () => {\n mixpanel.track(\"Collection page opened\");\n};\n\nexport const trackProductClickedEvent = (\n productId: string,\n productGlobalId: string,\n source: \"Search\" | \"Collection\" | \"Home Page\",\n searchQuery?: string\n) => {\n const searchQueryPayload =\n searchQuery !== \"\"\n ? {\n \"Search Query\": searchQuery,\n }\n : {};\n const payload = {\n source,\n \"Product ID\": productGlobalId,\n \"Product Slug\": productId,\n };\n mixpanel.track(\"Product page opened\", {\n ...payload,\n ...searchQueryPayload,\n });\n};\n\nexport const trackCartCheckoutClickedEvent = (cartItems: CartItem[]) => {\n mixpanel.track(\"Checkout button clicked\", {\n \"Cart Items\": cartItems.map(({ productId, id, selectedQuantity }) => ({\n \"Product ID\": productId,\n \"Variant ID\": id,\n \"Selected Quantity\": selectedQuantity,\n })),\n });\n};\n\nexport const trackPaginationNextButtonClickedEvent = () => {\n mixpanel.track(\"Pagination next button clicked\");\n};\n\nexport const trackPaginationPreviousButtonClickedEvent = () => {\n mixpanel.track(\"Pagination previous button clicked\");\n};\n\nexport const trackConfirmReturnButtonClickedEvent = (\n returnItems: (InitiatedReturnItem & DeepPartial)[],\n cartItems?: CartItem[]\n) => {\n const hasCartItems = cartItems && cartItems.length;\n const cartItemsEventContext = hasCartItems\n ? {\n \"Cart Items\": cartItems.map(({ productId, id, selectedQuantity }) => ({\n \"Product ID\": productId,\n \"Variant ID\": id,\n \"Selected Quantity\": selectedQuantity,\n })),\n }\n : {};\n const eventContext = {\n \"Returned Items\": returnItems.map(\n ({ productId, variantId, returnQuantity }) => ({\n \"Product ID\": productId,\n \"Variant ID\": variantId,\n \"Selected Quantity\": returnQuantity,\n })\n ),\n ...cartItemsEventContext,\n };\n mixpanel.track(\"Confirm return button clicked\", eventContext);\n};\n\nexport const trackProductSearch = (searchQuery: string) => {\n if (searchQuery !== \"\") {\n mixpanel.track(\"Product search\", {\n \"Search Query\": searchQuery,\n });\n }\n};\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation();\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n return null;\n};\n","import { queryCache } from \"~/components/common/ReactQueryClientProvider/ReactQueryClientProvider\";\n\nexport async function importWithRetry(\n importFn: () => Promise,\n retries = 5,\n interval = 1000\n) {\n try {\n return await importFn();\n } catch (error) {\n if (retries) {\n await wait(interval);\n return importWithRetry(importFn, retries - 1, interval);\n } else {\n clearCache();\n window.location.href = \"/\";\n }\n }\n}\n\nfunction clearCache() {\n sessionStorage.clear();\n queryCache.clear();\n}\n\nfunction wait(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","import { lazy } from \"react\";\n\nimport { RouteType } from \"~/common/types/common\";\nimport { importWithRetry } from \"~/util/importWithRetry\";\n\n/* To disable code splitting / lazy loading of components\n Just replace the dynamic lazy imports with the static imports (commented out)\n*/\n// import Login from \"~/components/Login/index\";\n// import SelectItems from \"~/components/SelectItems/index\";\n// import ReturnType from \"~/components/ReturnType/index\";\n// import ExchangeVariant from \"~/components/ExchangeVariant/index\";\n// import CustomReturn from \"~/components/CustomReturn/index\";\n// import SelectQuantity from \"~/components/SelectQuantity/index\";\n// import ReturnReasons from \"~/components/ReturnReasons/index\";\n// import ReturnMethods from \"~/components/ReturnMethods/index\";\n// import MoreDetails from \"~/components/MoreDetails/index\";\n// import ReturnOverview from \"~/components/ReturnOverview/index\";\n// import RefundInfo from \"~/components/RefundInfo/index\";\n// import RefundType from \"~/components/RefundType/index\";\n// import ReturnConfirmation from \"~/components/ReturnConfirmation/index\";\n// import Error from \"~/components/Error/Error\";\n// import Payment from \"~/components/Payment/Payment\";\n// import CollectionsList from \"~/components/CollectionsList/index\";\n// import CollectionDetails from \"~/components/CollectionDetails/index\";\n// import ProductDetails from \"~/components/ProductDetails/index\";\nimport { Path } from \"./path\";\n\nconst authRoutes: RouteType[] = [\n {\n path: Path.Login,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/Login/index\"))\n ),\n // Component: Login,\n exact: true,\n },\n];\n\nconst authenticatedRoutes: RouteType[] = [\n {\n path: Path.SelectItems,\n // Component: lazy(() =>\n // importWithRetry(() => import(\"../../components/CollectionsList/index\"))\n // ),\n // Component: lazy(() =>\n // importWithRetry(() => import(\"../../components/CollectionDetails/index\"))\n // ),\n // Component: lazy(() =>\n // importWithRetry(() => import(\"../../components/ProductDetails/index\"))\n // ),\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/SelectItems/index\"))\n ),\n // Component: SelectItems,\n exact: true,\n },\n {\n path: Path.ReturnType,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ReturnType/index\"))\n ),\n // Component: ReturnType,\n exact: true,\n },\n {\n path: Path.ExchangeVariant,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ExchangeVariant/index\"))\n ),\n // Component: ExchangeVariant,\n exact: true,\n },\n {\n path: Path.CustomReturn,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/CustomReturn/index\"))\n ),\n // Component: CustomReturn,\n exact: true,\n },\n {\n path: Path.SelectQuantity,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/SelectQuantity/index\"))\n ),\n // Component: SelectQuantity,\n exact: true,\n },\n {\n path: Path.ReturnReason,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ReturnReasons/index\"))\n ),\n // Component: ReturnReasons,\n exact: true,\n },\n {\n path: Path.ReturnMethod,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ReturnMethods/index\"))\n ),\n // Component: ReturnMethods,\n exact: true,\n },\n {\n path: Path.MoreDetails,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/MoreDetails/index\"))\n ),\n // Component: MoreDetails,\n exact: true,\n },\n {\n path: Path.ReturnOverview,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ReturnOverview/index\"))\n ),\n // Component: ReturnOverview,\n exact: true,\n },\n // {\n // path: Path.RefundInfo,\n // Component: lazy(() =>\n // importWithRetry(() => import(\"../../components/RefundInfo/index\"))\n // ),\n // // Component: RefundInfo,\n // exact: true,\n // },\n {\n path: Path.RefundType,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/RefundType/index\"))\n ),\n // Component: RefundType,\n exact: true,\n },\n {\n path: Path.ReturnConfirmation,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ReturnConfirmation/index\"))\n ),\n // Component: ReturnConfirmation,\n exact: true,\n },\n {\n path: Path.Payment,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/Payment/index\"))\n ),\n // Component: Payment,\n exact: true,\n },\n {\n path: Path.CollectionsList,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/CollectionsList/index\"))\n ),\n // Component: CollectionsList,\n exact: true,\n },\n {\n path: Path.CollectionDetails,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/CollectionDetails/index\"))\n ),\n // Component: CollectionDetails,\n exact: true,\n },\n {\n path: Path.ProductDetailsShop,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/ProductDetailsShop/index\"))\n ),\n // Component: ProductDetails,\n exact: true,\n },\n];\n\nconst errorRoute: RouteType[] = [\n {\n path: Path.Error,\n Component: lazy(() =>\n importWithRetry(() => import(\"../../components/Error/Error\"))\n ),\n // Component: Error,\n exact: true,\n },\n];\n\nconst publicRoutes: RouteType[] = [];\n\nexport const appRoutes: RouteType[] = [\n ...publicRoutes,\n ...authRoutes,\n ...authenticatedRoutes,\n ...errorRoute,\n];\n","import React, { Suspense, FC } from \"react\";\nimport { MemoryRouter, Switch, Route } from \"react-router-dom\";\n\nimport Error from \"../components/Error/Error\";\nimport { ScrollToTop } from \"../components/common/ScrollToTop/ScrollToTop\";\n// import { isUserLoggedIn } from \"../util/isUserLoggedIn\";\n// import { getUserData } from \"../util/getUserData\";\nimport { FallbackSpinner } from \"~/ui-kit/components/FallbackSpinner/FallbackSpinner\";\n\nimport { appRoutes } from \"./routes/routes\";\n\nexport const Router: FC = () => {\n // Note: Using MemoryRouter to avoid having to deal with the complexity\n // Of handling state changes when the user uses default browser navigation\n // To use BrowserRouter, just use \n return (\n \n \n {appRoutes.map(({ Component, path, exact }, i) => {\n return (\n {\n return (\n }>\n \n \n \n );\n }}\n />\n );\n })}\n \n \n \n );\n};\n","import React from \"react\";\n\nimport { Router } from \"./router/Router\";\n\nexport const App = () => ;\n","import React, { FC } from \"react\";\n\nimport { ConfirmReturnContextProvider } from \"~/context/ConfirmReturnContext/ConfirmReturnContext\";\nimport { CustomerDataContextProvider } from \"~/context/CustomerDataContext/CustomerDataContext\";\nimport { FormatContextProvider } from \"~/context/FormatContext/FormatContext\";\nimport { LanguageContextProvider } from \"~/context/LanguageContext/LanguageContext\";\nimport { LoginStateContextProvider } from \"~/context/LoginStateContext/LoginStateContext\";\nimport { MerchantSettingsContextProvider } from \"~/context/MerchantSettingsContext/MerchantSettingsContext\";\nimport { ReturnContextProvider } from \"~/context/ReturnContext/ReturnContext\";\nimport { ReturnMethodsContextProvider } from \"~/context/ReturnMethodsContext/ReturnMethodsContext\";\nimport { ShipmentContextProvider } from \"~/context/ShipmentContext/ShipmentContext\";\nimport { ThemeContextProvider } from \"~/context/ThemeContext/ThemeContext\";\nimport { useMerchantSettings } from \"~/hooks/useMerchantSettings/useMerchantSettings\";\nimport { PayPalProvider } from \"../PayPalProvider/PayPalProvider\";\nimport { CartVisibilityContextProvider } from \"~/context/CartVisibilityContext/CartVisibilityContext\";\nimport { CollectionsNavigationVisibilityContextProvider } from \"~/context/CollectionsNavigationVisibilityContext/CollectionsNavigationVisibilityContext\";\n\nexport const AppProviders: FC = ({ children }) => {\n const {\n data: {\n viewSettings,\n merchant: { currency },\n locales,\n },\n } = useMerchantSettings();\n const { primaryColor, secondaryColor, logoUrl } = viewSettings;\n const theme = {\n primaryColor,\n secondaryColor,\n logoUrl,\n };\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* TODO: Convert this file to TS file if possible */\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ToastContainer } from \"react-toastify\";\n\nimport { App } from \"./App\";\nimport { ReactQueryClientProvider } from \"./components/common/ReactQueryClientProvider/ReactQueryClientProvider\";\nimport { AppProviders } from \"./components/common/AppProviders/AppProviders\";\n\nimport \"./common/i18n/index\";\n\nimport \"./styles/index.scss\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport \"~/util/mixpanel\";\n\nconst Root = () => {\n return (\n \n \n \n \n \n \n );\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n ReactDOM.render(, document.getElementById(\"root\"));\n});\n","// polyfills help supporting older browsers like IE, iOS<9 etc\nimport \"../polyfills\";\n\nimport importRetry from \"../importRetry\";\n\n// Rollbar\n[\"production\", \"staging\"].includes(process.env.RAILS_ENV) &&\n importRetry(() => import(\"../vendor/rollbar\"));\n\n// Microsoft Clarity\n[\"production\", \"staging\"].includes(process.env.RAILS_ENV) &&\n importRetry(() => import(\"../vendor/clarity\"));\n\n// Google Analytics\nprocess.env.RAILS_ENV === \"production\" &&\n importRetry(() => import(\"../vendor/google/analytics/checkout\"));\n\n// Google Fonts\n[\"production\", \"staging\"].includes(process.env.RAILS_ENV) &&\n importRetry(() => import(\"../vendor/google/fonts/inter\"));\n\n[\"production\", \"staging\"].includes(process.env.RAILS_ENV) &&\n importRetry(() => import(\"../vendor/google/fonts/source_sans_pro\"));\n\n// Cookie consent\n[\"production\", \"staging\"].includes(process.env.RAILS_ENV) &&\n importRetry(() => import(\"../vendor/cookieconsent\"));\n\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\n// require(\"@rails/ujs\").start()\n// require(\"channels\")\n\n// Bootstrap (V5)\nimport \"../checkout_application_v3/styles/custom.scss\";\n\nimport \"../checkout_application_v3\";\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\n// css styles\n// import '../checkout_application/css/application'\n","import i18next from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport Backend from \"i18next-http-backend\";\nimport BrowserLanguageDetector from \"i18next-browser-languagedetector\";\n\nimport translationEN from \"~/locales/EN.json\";\nimport translationDE from \"~/locales/DE.json\";\nimport translationFR from \"~/locales/FR.json\";\nimport { LocaleCodes } from \"~/common/types/common\";\nimport { isDevelopmentEnvironment } from \"~/util/nodeEnv\";\n\n// const supportedLanguages: LocaleCodes[] = [\"en\", \"de\", \"fr\"];\n\ni18next\n .use(Backend)\n .use(BrowserLanguageDetector)\n .use(initReactI18next)\n .init({\n backend: {\n loadPath: \"/{{lng}}/text_block\",\n },\n detection: {\n order: [\"navigator\"],\n },\n ns: [\"static\", \"backend\"],\n defaultNS: \"static\",\n fallbackLng: \"en\",\n load: \"languageOnly\",\n debug: isDevelopmentEnvironment,\n interpolation: {\n escapeValue: false,\n },\n react: {\n useSuspense: true,\n },\n supportedLngs: false,\n // supportedLngs: supportedLanguages,\n });\n\nconst translationsMap = {\n en: translationEN,\n de: translationDE,\n fr: translationFR,\n};\n\nexport const loadStaticTranslations = (supportedLanguages: LocaleCodes[]) =>\n supportedLanguages.forEach((language) =>\n loadStaticTranslationsByLocaleCode(language)\n );\n\nexport const loadStaticTranslationsByLocaleCode = (locale: LocaleCodes) => {\n const translation = translationsMap[locale];\n if (!translation) return;\n\n i18next.addResourceBundle(locale, \"static\", translation);\n};\n\nexport default i18next;\n","export const isDevelopmentEnvironment = process.env.NODE_ENV === \"development\";\n","export const transformArrayToCommaSeparatedString = (arr: string[] = []) =>\n arr.join(\",\");\n","import { compact, isNil, round, sum, uniq } from \"lodash\";\n\nimport {\n ConfirmReturnPayload,\n ConfirmReturnPaymentVariables,\n ConfirmReturnVariables,\n CreatePayPalOrderPayload,\n CreatePayPalOrderVariables,\n CreateShipmentPayload,\n CreateShipmentVariables,\n FetchOrderRegisteredItemsVariables,\n FetchOrderVariables,\n FetchProductDetailsVariables,\n FetchReturnMethodsNotesVariables,\n FetchReturnMethodsVariables,\n QueryParamItem,\n QueryParamParentKey,\n} from \"~/common/types/api\";\nimport { MerchantSettings, ShopBackend } from \"~/common/types/merchant\";\nimport {\n ConfirmReturnOrderItemRaw,\n NoteAttribute,\n Order,\n OrderItem,\n} from \"~/common/types/order\";\nimport { AuthorizePayPalOrderResponse } from \"~/common/types/paypal\";\nimport { RefundType, ReturnType, StoreCreditType } from \"~/common/types/return\";\nimport { getInitiatedReturnItemOriginalOrderItem } from \"~/hooks/useCreateShipment/useCreateShipment.selectors\";\nimport { InitiatedReturnItem } from \"~/hooks/useReturnState/useReturnState.types\";\n\nimport { getCountryLabel } from \"./getCountryLabel\";\nimport { transformArrayToCommaSeparatedString } from \"./transformArrayToCommaSeparatedString\";\nimport { isNotNil } from \"./isNotNil\";\n\nexport const getFetchOrderQueryString = ({\n orderId,\n customerEmail,\n currentPage,\n}: FetchOrderVariables) => {\n const queryParamItems: QueryParamItem[] = [\n {\n childKey1: \"invoice_number\",\n value: orderId.trim(),\n },\n {\n childKey1: \"customer\",\n childKey2: \"email\",\n value: customerEmail.trim(),\n },\n ];\n if (currentPage)\n queryParamItems.push({\n childKey1: \"current_page\",\n value: currentPage,\n });\n return generateQueryString(queryParamItems, \"filter\");\n};\n\nexport const getFetchReturnMethodsNotesQueryString = ({\n customerReturnId,\n shipments,\n}: FetchReturnMethodsNotesVariables) => {\n const queryParamItems = [\n {\n childKey1: \"shipment_ids\",\n value: shipments.map(({ id }) => id),\n },\n {\n childKey1: \"customer_return_id\",\n value: customerReturnId,\n },\n ];\n\n return queryParamItems\n .map(({ childKey1, value }) => childKey1 + \"=\" + value)\n .join(\"&\");\n};\n\nexport const getFetchOrderRegisteredItemsQueryString = ({\n orderNumber,\n currentPage,\n}: FetchOrderRegisteredItemsVariables) => {\n const queryParamItems: QueryParamItem[] = [\n {\n childKey1: \"order_number\",\n value: orderNumber,\n },\n ];\n if (currentPage)\n queryParamItems.push({\n childKey1: \"current_page\",\n value: currentPage,\n });\n return generateQueryString(queryParamItems, \"filter\");\n};\n\nexport const getFetchReturnMethodsRequestPayload = ({\n customerCountry,\n orderAmount,\n numberOfItemsToReturn,\n returnReasonIds,\n returnType,\n customerTags,\n orderTags,\n paymentMethods,\n refundTotalValue,\n customerEmail,\n orderDate,\n returnTags = [],\n returnItemsCustomData = [],\n noOfRegisteredReturns,\n orderId,\n}: FetchReturnMethodsVariables) => {\n const uniqueReturnTags = uniq(returnTags).join(\",\");\n return {\n rule: {\n order_country: customerCountry,\n order_value: orderAmount,\n number_of_items: numberOfItemsToReturn,\n return_reason_ids: returnReasonIds.join(\",\"),\n return_type: returnType,\n customer_tags: customerTags,\n order_tags: orderTags,\n payment_method: paymentMethods,\n refund_total_value: refundTotalValue,\n customer_email: customerEmail,\n order_date: orderDate,\n order_registered_returns: noOfRegisteredReturns,\n return_item_product_tags: [\n {\n tag: uniqueReturnTags,\n },\n ],\n product_custom_data: returnItemsCustomData,\n order_id: orderId,\n },\n };\n};\n\nexport const generateQueryParamKeyName = (\n parentKey: QueryParamParentKey,\n { childKey1, childKey2, childKey3 }: Partial\n) => {\n if (childKey3) {\n return `${parentKey}[${childKey1}][${childKey2}][${childKey3}]`;\n }\n if (childKey2) {\n return `${parentKey}[${childKey1}][${childKey2}]`;\n }\n return `${parentKey}[${childKey1}]`;\n};\n\nexport const generateQueryParams = (\n { value, childKey1, childKey2, childKey3 }: QueryParamItem,\n parentKey: QueryParamParentKey\n) => {\n return `${generateQueryParamKeyName(parentKey, {\n childKey1,\n childKey2,\n childKey3,\n })}=${encodeURIComponent(value)}`;\n};\n\nexport const generateQueryString = (\n items: QueryParamItem[],\n parentKey: QueryParamParentKey\n) => {\n return items.map((item) => generateQueryParams(item, parentKey)).join(\"&\");\n};\n\nexport const getCreateShipmentRequestPayload = ({\n initiatedReturnItems = [],\n order = {},\n orderItems,\n ruleToken,\n returnAddress,\n customerAddress = {},\n customerName,\n returnMethod,\n merchant,\n customerEmail,\n}: CreateShipmentVariables): CreateShipmentPayload => {\n return {\n shipment: {\n from: {\n first_name: customerName.firstName,\n last_name: customerName.lastName,\n street: customerAddress.street?.trim(),\n street_no: customerAddress.streetNumber?.trim(),\n city: customerAddress.city,\n zip_code: customerAddress.zip,\n province_code: customerAddress.provinceCode,\n country_iso2: customerAddress.countryCode,\n phone_number: customerAddress.phone,\n },\n to: {\n company: returnAddress.name2,\n last_name: returnAddress.name,\n street: returnAddress.street,\n street_no: returnAddress.streetNumber,\n city: returnAddress.city,\n zip_code: returnAddress.zip.toString(),\n province_code: returnAddress.state,\n country_iso2: returnAddress.countryCode,\n },\n customs_document: {\n displayed_currency:\n getInitiatedReturnItemOriginalOrderItem(\n initiatedReturnItems[0],\n orderItems\n ).displayedCurrency ?? merchant.currency,\n items: initiatedReturnItems.map((initiatedReturnItem) => {\n if (initiatedReturnItem.returnType === ReturnType.TradeIn) {\n const { name } = initiatedReturnItem.tradeInItem;\n return {\n name,\n quantity: initiatedReturnItem.returnQuantity,\n unit_weight_in_grams: 0,\n unit_price: 0.0,\n inventory_item_id: \"\",\n };\n }\n\n const orderItem = getInitiatedReturnItemOriginalOrderItem(\n initiatedReturnItem,\n orderItems\n );\n return {\n name: orderItem.name,\n quantity: initiatedReturnItem.returnQuantity,\n unit_weight_in_grams: Math.round(orderItem.weightInKg * 1000),\n unit_price: orderItem.displayedPrice,\n inventory_item_id: orderItem.inventoryItemId,\n };\n }),\n },\n reference_number: getShipmentReferenceNumber(merchant, order),\n shop_order_id: order.id,\n notification_email: customerEmail,\n package_weight: getShipmentPackageWeight(\n initiatedReturnItems,\n orderItems\n ),\n merchant_return_method_id: returnMethod.id,\n pickup_date: null,\n rule_token: ruleToken,\n },\n };\n};\n\nexport const getShipmentReferenceNumber = (\n merchant: MerchantSettings,\n order: DeepPartial\n) => {\n if (merchant.shopBackend === ShopBackend.Shopify) {\n const noteAttributesValue = getNoteAttributeValue(\n order.noteAttributes,\n merchant.returnAddressNoteAttributeName\n );\n if (noteAttributesValue?.length <= 30) {\n return noteAttributesValue;\n }\n return removeHashFromOrderName(order.orderName);\n }\n return order.orderNumber;\n};\n\nexport const getShipmentPackageWeight = (\n initiatedReturnItems: InitiatedReturnItem[],\n orderItems: OrderItem[]\n): number => {\n return (\n sum(\n initiatedReturnItems.map((initiatedReturnItem) => {\n const orderItem = getInitiatedReturnItemOriginalOrderItem(\n initiatedReturnItem,\n orderItems\n );\n // For tradeInItems We don't get weightInKg from the back-end\n // that's why we use 0 as a fallback\n return initiatedReturnItem.returnQuantity * (orderItem.weightInKg || 0);\n })\n ) ?? 0\n );\n};\n\nexport const getNoteAttributeValue = (\n noteAttributes: Partial[],\n noteAttributeName: string\n): string => {\n const noteAttribute = noteAttributes.filter(\n ({ name }) => name === noteAttributeName\n );\n return noteAttribute[0]?.value?.toString();\n};\n\nexport const removeHashFromOrderName = (orderName: string): string => {\n if (orderName.charAt(0) === \"#\") {\n return orderName.slice(1);\n }\n return orderName;\n};\n\nconst getCustomerPayload = ({\n customerFirstName,\n customerLastName,\n customerEmail,\n tags,\n shippingFirstName,\n shippingLastName,\n shippingAddress,\n}): ConfirmReturnPayload[\"refund\"][\"customer\"] => {\n return {\n email: customerEmail,\n name: `${customerFirstName} ${customerLastName}`,\n first_name: customerFirstName,\n last_name: customerLastName,\n tags,\n address: {\n first_name: shippingFirstName,\n last_name: shippingLastName,\n street: shippingAddress.street?.trim(),\n street_number: shippingAddress.streetNumber?.trim(),\n street_2: shippingAddress.street2?.trim(),\n zip: shippingAddress.zip,\n city: shippingAddress.city,\n country: getCountryLabel(shippingAddress.countryCode),\n phone: shippingAddress.phone,\n province: shippingAddress.province,\n province_code: shippingAddress.provinceCode,\n company: shippingAddress.company,\n },\n };\n};\n\nexport const getConfirmReturnRequestPayload = ({\n order,\n orderItems,\n shipments,\n returnAddress,\n customerAddress = {},\n customerEmail,\n customerName,\n ruleToken,\n language,\n returnMethod,\n initiatedReturnItems,\n refundType,\n payment,\n storeCreditOption,\n cartItems = [],\n}: ConfirmReturnVariables): ConfirmReturnPayload => {\n const { senderCustomer = {} } = order;\n\n const tradeInItemsPayload = initiatedReturnItems.map((item) => {\n if (item.returnType === ReturnType.TradeIn) {\n const {\n tradeInItem: { id },\n returnQuantity: quantity,\n } = item;\n\n return { id, quantity };\n }\n });\n\n const orderInitiatedReturnItems = initiatedReturnItems.filter(\n (item) => item.returnType !== ReturnType.TradeIn\n );\n\n const paymentPayload = getConfirmReturnPaymentPayload(payment);\n\n return {\n refund: {\n items: getItemsPayload(orderInitiatedReturnItems, orderItems),\n trade_in_items: compact(tradeInItemsPayload),\n exchange_items: cartItems.map(\n ({ price, id, selectedQuantity, productId }) => ({\n product_id: productId,\n variant_id: id,\n quantity: selectedQuantity,\n displayed_price: price,\n })\n ),\n customer: getCustomerPayload({\n customerFirstName: senderCustomer.firstName,\n customerLastName: senderCustomer.lastName,\n customerEmail,\n tags: order.customer.tags,\n shippingFirstName: customerName.firstName,\n shippingLastName: customerName.lastName,\n shippingAddress: customerAddress,\n }),\n return_address: {\n company: returnAddress.name2,\n last_name: returnAddress.name,\n street: returnAddress.street,\n street_no: returnAddress.streetNumber,\n city: returnAddress.city,\n state: returnAddress.state,\n zip_code: returnAddress.zip.toString(),\n country_iso2: returnAddress.countryCode,\n },\n order_name: removeHashFromOrderName(order.orderName),\n rule_token: ruleToken,\n vendor_order_number: order.orderNumber,\n invoice_number: order.invoiceNumber,\n merchant_return_method_id: returnMethod.id,\n order_id: order.id,\n language,\n order_shipping_cost: order.shippingCost,\n order_date: order.orderDate,\n order_shipping_method:\n order.shippingMethod ?? JSON.stringify(order.shippingMethod),\n note_attributes: JSON.stringify(order.noteAttributes),\n no_of_items: order.noOfItems,\n payment_methods: order.paymentMethods,\n shipments: shipments.map((shipment) => ({\n id: shipment.id,\n shipping_company: returnMethod?.returnMethodCarrier,\n shipping_method:\n returnMethod?.returnMethodName || returnMethod?.returnMethodCarrier,\n tracking_number: shipment.carrierTrackingNo,\n price: shipment.price,\n })),\n ...paymentPayload,\n refund_type: getConfirmReturnRefundType(refundType, storeCreditOption),\n },\n };\n};\n\nconst getInitiatedReturnItemReasonImagesUrls = (\n initiatedReturn: InitiatedReturnItem\n): string => {\n const images =\n initiatedReturn.returnReasonMoreDetails?.images.map(\n ({ uploadId, ...rest }) => ({\n ...rest,\n id: uploadId,\n })\n ) ?? [];\n return JSON.stringify(images);\n};\n\nconst getItemsPayload = (\n orderInitiatedReturnItems,\n orderItems\n): ConfirmReturnOrderItemRaw[] =>\n orderInitiatedReturnItems.map((initiatedReturn) => {\n const {\n id,\n name,\n additionalComments,\n sku,\n ean,\n discount,\n price,\n displayedPrice,\n displayedCurrency,\n categories,\n imageUrl,\n weightInKg,\n variantId,\n inventoryItemId,\n productId,\n originalQuantity,\n } = getInitiatedReturnItemOriginalOrderItem(initiatedReturn, orderItems);\n\n const exchangeVariant = initiatedReturn.exchangeVariant ?? {\n title: \"\",\n id: \"\",\n };\n\n return {\n id,\n name,\n additional_comments: additionalComments,\n sku,\n ean,\n category: transformArrayToCommaSeparatedString(categories),\n discount,\n price,\n original_quantity: originalQuantity,\n quantity: initiatedReturn.returnQuantity,\n displayed_price: displayedPrice,\n displayed_currency: displayedCurrency,\n amount: initiatedReturn.returnQuantity * price,\n image_url: imageUrl,\n weight_in_kg: weightInKg,\n return_reason_id: initiatedReturn.returnReasonId?.toString() ?? \"\",\n refund_reason_text: initiatedReturn.returnReasonMoreDetails?.text ?? \"\",\n return_reason_picture:\n getInitiatedReturnItemReasonImagesUrls(initiatedReturn),\n inventory_item_id: inventoryItemId,\n variant_id: variantId,\n product_id: productId,\n return_type: initiatedReturn.returnType,\n // Note: this is the title of the *exchange* variant (not the variant itself)\n variant_title: exchangeVariant.title,\n exchange_variant_id: exchangeVariant.id,\n };\n });\n\nexport const getCreatePayPalOrderRequestPayload = ({\n order,\n orderItems,\n returnAddress,\n customerAddress = {},\n customerEmail,\n customerName,\n returnMethod,\n initiatedReturnItems,\n clientPaymentAmount,\n originalOrderShippingCost,\n isShopNowPaymentFlow = false,\n cartItems = [],\n}: CreatePayPalOrderVariables): CreatePayPalOrderPayload => {\n const { senderCustomer = {} } = order;\n\n const orderInitiatedReturnItems = initiatedReturnItems.filter(\n (item) => item.returnType !== ReturnType.TradeIn\n );\n\n const customerPayload = getCustomerPayload({\n customerFirstName: senderCustomer.firstName,\n customerLastName: senderCustomer.lastName,\n customerEmail,\n tags: order.customer.tags,\n shippingFirstName: customerName.firstName,\n shippingLastName: customerName.lastName,\n shippingAddress: customerAddress,\n });\n\n return {\n order: {\n items: getItemsPayload(orderInitiatedReturnItems, orderItems),\n shop_now_items: cartItems.map(\n ({ selectedQuantity, price, productTitle, sku }) => ({\n sku,\n name: productTitle,\n amount: selectedQuantity * price,\n quantity: selectedQuantity,\n price,\n return_type: \"shop_exchange\",\n })\n ),\n customer: {\n ...customerPayload,\n address: {\n ...customerPayload.address,\n country_iso2: customerAddress.countryCode,\n },\n },\n return_address: {\n company: returnAddress.name2,\n last_name: returnAddress.name,\n street: returnAddress.street,\n street_no: returnAddress.streetNumber,\n city: returnAddress.city,\n state: returnAddress.state,\n zip_code: returnAddress.zip.toString(),\n country_iso2: returnAddress.countryCode,\n },\n merchant_return_method_id: returnMethod.id,\n order_id: order.id,\n order_shipping_cost: originalOrderShippingCost,\n order_date: order.orderDate,\n order_shipping_method:\n order.shippingMethod ?? JSON.stringify(order.shippingMethod),\n },\n\n validation: {\n // Note: This is the value of payment amount as calculated on the front-end client\n client_payment_amount: round(clientPaymentAmount, 2),\n },\n\n // Note: this is hard-coded for now\n // PayPal integration is only available for Instant Store Credit feature\n payment_flow: isShopNowPaymentFlow ? \"shop_now\" : \"instant_store_credit\",\n };\n};\n\nexport const getConfirmReturnPaymentPayload = (\n payment?: ConfirmReturnPaymentVariables\n): Pick => {\n if (isNil(payment)) {\n return {};\n }\n const { authorizationId, orderId } = payment;\n return {\n payment: {\n order_id: orderId,\n authorization_id: authorizationId,\n },\n };\n};\n\nexport const getConfirmReturnPaymentVariablesFromPaymentAuthorizationResponse =\n (\n authorizePaymentOrderResponse: AuthorizePayPalOrderResponse\n ): ConfirmReturnPaymentVariables => {\n const purchaseUnits = authorizePaymentOrderResponse?.purchase_units ?? [];\n const purchaseUnit = purchaseUnits[0];\n const authorizations = purchaseUnit?.payments?.authorizations ?? [];\n const authorization = authorizations[0];\n return {\n orderId: authorizePaymentOrderResponse?.id,\n authorizationId: authorization?.id,\n };\n };\n\nexport const getConfirmReturnRefundType = (\n refundType: RefundType,\n storeCreditOption: StoreCreditType\n): ConfirmReturnPayload[\"refund\"][\"refund_type\"] => {\n switch (refundType) {\n case RefundType.OriginalPaymentMethod:\n return RefundType.OriginalPaymentMethod;\n case RefundType.StoreCredit:\n return storeCreditOption;\n case RefundType.ShopExchange:\n return RefundType.ShopExchange;\n default:\n return null;\n }\n};\n\nexport const getFetchProductDetailsQueryString = ({\n orderId,\n exchangedOrderItemId,\n}: Pick) => {\n if (isNotNil(orderId) && isNotNil(exchangedOrderItemId)) {\n return `?order_id=${orderId}&order_item_id=${exchangedOrderItemId}`;\n }\n return \"\";\n};\n","export const getXCSRFToken = () =>\n document.querySelector('meta[name=\"csrf-token\"]').content;\n","import { sha256 } from \"js-sha256\";\n\nimport {\n ConfirmReturnVariables,\n CreateShipmentVariables,\n FetchOrderRegisteredItemsVariables,\n FetchReturnMethodsNotesVariables,\n FetchOrderVariables,\n FetchProductDetailsVariables,\n FetchReturnMethodsVariables,\n CreatePayPalOrderVariables,\n ConfirmReturnPaymentVariables,\n} from \"~/common/types/api\";\nimport {\n AuthorizePayPalOrderResponse,\n CreatePayPalOrderResponse,\n} from \"~/common/types/paypal\";\nimport { ProductRaw } from \"~/common/types/product\";\nimport {\n CollectionDetailsRaw,\n CollectionRaw,\n ProductSearchResponseRaw,\n} from \"~/common/types/collection\";\nimport { ConfirmReturnResponseRaw } from \"~/hooks/useConfirmReturn/useConfirmReturn.types\";\nimport { CookiesSettingsRaw } from \"~/hooks/useCookiesSettings/useCookiesSettings.types\";\nimport { CreateShipmentResponseRaw } from \"~/hooks/useCreateShipment/useCreateShipment.types\";\nimport { DHLDownStatusResponseRaw } from \"~/hooks/useDHLDownStatus/useDHLDownStatus.types\";\nimport { MerchantSettingsResponseRaw } from \"~/hooks/useMerchantSettings/useMerchantSettings.types\";\nimport { OrderDetailsResponseRaw } from \"~/hooks/useOrderDetails/useOrderDetails.types\";\nimport { OrderRegisteredItemsResponseRaw } from \"~/hooks/useOrderRegisteredItems/useOrderRegisteredItems.types\";\nimport { ReturnMethodsResponseRaw } from \"~/hooks/useReturnMethods/useReturnMethods.types\";\nimport { ReturnMethodsNotesResponseRaw } from \"~/hooks/useReturnMethodsNotes/useReturnMethodsNotes.types\";\nimport { TradeInItemsResponseRaw } from \"~/hooks/useTradeInItems/useTradeInItems.types\";\nimport {\n getConfirmReturnPaymentVariablesFromPaymentAuthorizationResponse,\n getConfirmReturnRequestPayload,\n getCreatePayPalOrderRequestPayload,\n getCreateShipmentRequestPayload,\n getFetchOrderQueryString,\n getFetchOrderRegisteredItemsQueryString,\n getFetchProductDetailsQueryString,\n getFetchReturnMethodsNotesQueryString,\n getFetchReturnMethodsRequestPayload,\n} from \"~/util/api\";\nimport { getXCSRFToken } from \"~/util/getXCSRFToken\";\n\nexport const fetchMerchantSettings = () => {\n return fetch(\"/settings\").then((response) =>\n response.json()\n );\n};\n\nexport const fetchCookiesSettings = () => {\n return fetch(\"/settings/cookie_enabled\").then(\n (response) => {\n return response.json();\n }\n );\n};\n\nexport const fetchOrder = (params: FetchOrderVariables) => {\n const queryString = getFetchOrderQueryString(params);\n return fetch(`/orders.json?${queryString}`)\n .then((response) => response.json())\n .then((response) => {\n if (response.error) {\n throw new Error(response.error);\n }\n return response;\n });\n};\n\nexport const fetchOrderRegisteredItems = (\n params: FetchOrderRegisteredItemsVariables\n) => {\n const queryString = getFetchOrderRegisteredItemsQueryString(params);\n return fetch(\n `/orders/registered_items.json?${queryString}`\n ).then((response) => response.json());\n};\n\nexport const fetchReturnMethods = (params: FetchReturnMethodsVariables) => {\n const requestPayload = getFetchReturnMethodsRequestPayload(params);\n return fetch(`/rules`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getXCSRFToken(),\n },\n body: JSON.stringify(requestPayload),\n }).then((response) => response.json());\n};\n\nexport const createShipment = async (params: CreateShipmentVariables) => {\n const requestPayload = getCreateShipmentRequestPayload(params);\n const response = await fetch(\"/shipments\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getXCSRFToken(),\n },\n body: JSON.stringify(requestPayload),\n });\n if (response.status === 500) {\n throw new Error(\n \"Failed to create return label. Please recheck your address and try again or contact customer support\"\n );\n }\n const data: CreateShipmentResponseRaw = await response.json();\n if (data.error?.length) {\n throw new Error(data.error[0]);\n }\n return data;\n};\n\nexport const confirmReturn = async (params: ConfirmReturnVariables) => {\n const requestPayload = getConfirmReturnRequestPayload(params);\n\n const checksum = sha256.hmac(getXCSRFToken(), JSON.stringify(requestPayload));\n const response = await fetch(\"/refunds\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getXCSRFToken(),\n \"X-Checksum\": checksum,\n },\n body: JSON.stringify(requestPayload),\n });\n if (response.status >= 500) {\n throw new Error(\n \"Failed to confirm return. Please try again or contact customer support\"\n );\n }\n const data: ConfirmReturnResponseRaw = await response.json();\n if (data.error) {\n throw new Error(data.error);\n }\n return data;\n};\n\nexport const fetchReturnMethodsNotes = async (\n params: FetchReturnMethodsNotesVariables\n) => {\n const queryString = getFetchReturnMethodsNotesQueryString(params);\n const response = await fetch(\n `/merchant_return_methods/${params.merchantReturnMethodId}/notes?${queryString}`\n );\n const result: ReturnMethodsNotesResponseRaw = await response.json();\n return result;\n};\n\nexport const fetchProductDetails = ({\n productId,\n orderId,\n exchangedOrderItemId,\n useShopProductEndpoint,\n}: FetchProductDetailsVariables) => {\n if (useShopProductEndpoint) {\n return fetch(`/shop_now/products/${productId}.json`).then(\n (response) => response.json()\n );\n }\n const queryString = getFetchProductDetailsQueryString({\n orderId,\n exchangedOrderItemId,\n });\n return fetch(`/products/${productId}${queryString}`).then(\n (response) => response.json()\n );\n};\n\nexport const fetchDHLDownStatus = () =>\n fetch(\"/settings/dhl_not_working\").then(\n (response) => response.json()\n );\n\nexport const fetchTradeInItems = (orderId: string) =>\n fetch(`/trade_in_items?order_id=${orderId}`).then(\n (response) => response.json()\n );\n\nexport const createPayPalOrder = (params: CreatePayPalOrderVariables) => {\n const requestPayload = getCreatePayPalOrderRequestPayload(params);\n return fetch(\"/payment/orders\", {\n method: \"POST\",\n body: JSON.stringify(requestPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getXCSRFToken(),\n },\n })\n .then((response) => response.json())\n .then((order) => order.id);\n};\n\nexport const authorizePayPalOrder = (orderId: string) =>\n fetch(`/payment/orders/${orderId}/authorize`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getXCSRFToken(),\n },\n })\n .then((response) => response.json())\n .then((data) =>\n getConfirmReturnPaymentVariablesFromPaymentAuthorizationResponse(data)\n );\n\nexport const fetchCollections = () => {\n return fetch(`/shop_now/collections?product_limit=4`).then(\n (response) => response.json()\n );\n};\n\nexport const fetchCollection = (\n collectionId: string,\n nextPage?: string,\n prevPage?: string\n) => {\n let queryParam = \"\";\n if (nextPage) {\n queryParam = `next_page=${nextPage}`;\n }\n if (prevPage) {\n queryParam = `prev_page=${prevPage}`;\n }\n return fetch(\n `/shop_now/collections/${collectionId}?${queryParam}&product_limit=12`\n ).then((response) => response.json());\n};\n\nexport const fetchSearchProducts = (\n searchQuery: string,\n nextPage?: string,\n prevPage?: string\n) => {\n let paginationQueryParam = \"\";\n if (nextPage) {\n paginationQueryParam = `next_page=${nextPage}`;\n }\n if (prevPage) {\n paginationQueryParam = `prev_page=${prevPage}`;\n }\n return fetch(\n `shop_now/search_products?query=${searchQuery}&product_limit=12&${paginationQueryParam}`\n ).then((response) => response.json());\n};\n","import { isNil, negate } from \"lodash\";\n\nexport const isNotNil = negate(isNil);\n","import { ShopBackend, ShopBackendRaw } from \"~/common/types/merchant\";\nimport {\n RefundShippingCostPolicy,\n RefundShippingCostPolicyRaw,\n} from \"~/common/types/return\";\nimport { transformCommaSeparatedStringToArray } from \"~/util/transformCommaSeparatedStringToArray\";\nimport { LocaleCodes } from \"~/common/types/common\";\n\nimport {\n MerchantSettingsResponse,\n MerchantSettingsResponseRaw,\n} from \"./useMerchantSettings.types\";\n\nexport const transformMerchantSettingsResponse = (\n responseData: MerchantSettingsResponseRaw\n): MerchantSettingsResponse => {\n const settings = responseData?.settings;\n if (settings) {\n const {\n image_url,\n primary_color,\n secondary_color,\n shop_url,\n custom_script,\n } = settings.checkout_view_setting ?? {};\n const {\n name,\n currency = \"EUR\",\n climate_compensation,\n return_address1_note_attribute_name,\n shop_backend,\n show_exchange,\n show_store_credit,\n show_instant_store_credit,\n show_trade_in_items,\n merchant_languages,\n shop_now_exchange_enabled,\n active_paypal_checkout,\n } = settings.merchant ?? {};\n const {\n policy_url,\n expected_refund,\n refund_shipping_cost,\n custom_return_name,\n exchange_without_track_quantity,\n store_credit_added_percentage,\n custom_missing_optional_translations,\n } = settings.return_policy ?? {};\n const returnReasons = settings.return_reasons ?? [];\n const merchantLanguages = merchant_languages ?? [];\n return {\n viewSettings: {\n primaryColor: primary_color,\n secondaryColor: secondary_color,\n logoUrl: image_url,\n shopUrl: shop_url,\n customScript: custom_script,\n },\n locales: merchantLanguages.map(\n ({ lang_code }) => lang_code as LocaleCodes\n ),\n merchant: {\n name,\n currency,\n climateCompensation: climate_compensation,\n returnAddressNoteAttributeName: return_address1_note_attribute_name,\n shopBackend: shopBackendMap[shop_backend],\n showExchange: show_exchange,\n // Note: return_policy.show_custom_return is set by the merchant\n // merchant.show_custom_return is set by 8returns admins (to overwrite if needed, i.e. paywall)\n showCustomReturn:\n settings.merchant?.show_custom_return &&\n settings.return_policy?.show_custom_return,\n showStoreCredit: show_store_credit,\n showInstantStoreCredit: show_instant_store_credit,\n showTradeInItems: show_trade_in_items,\n shopNowEnabled: shop_now_exchange_enabled,\n shopNowPaymentEnabled: active_paypal_checkout,\n merchantLanguages: merchantLanguages.map(\n ({ lang_code, lang_name }) => ({\n langCode: lang_code,\n langName: lang_name,\n })\n ),\n },\n returnPolicy: {\n policyUrl: policy_url,\n showExpectedRefund: expected_refund,\n refundShippingCost: refundShippingCostPolicyMap[refund_shipping_cost],\n customReturnName: custom_return_name,\n exchangeWithoutTrackQuantity: exchange_without_track_quantity,\n storeCreditAddedPercentage: store_credit_added_percentage || 0,\n // Note: For the first iteration, the additional bonus for in-app shopping is set to 0\n // In next iteration, this value should be returned from the backend\n inAppShoppingAddedPercentage: 0,\n customMissingOptionalTranslations: custom_missing_optional_translations,\n },\n returnReasons: returnReasons.map(\n ({\n id,\n external_text_by_locale,\n additional_text_required,\n additional_text,\n image_upload,\n image_upload_required,\n text_title_by_locale,\n show_for_refund,\n show_for_exchange_reasons,\n show_for_custom_reasons,\n applicable_categories = \"\",\n }) => ({\n id,\n externalText: external_text_by_locale,\n isAdditionalTextSupported: additional_text,\n isAdditionalTextRequired: additional_text_required,\n isImageSupported: image_upload,\n isImageRequired: image_upload_required,\n textTitle: text_title_by_locale,\n visible: {\n refund: show_for_refund,\n exchange: show_for_exchange_reasons,\n custom: show_for_custom_reasons,\n },\n applicableCategories: transformCommaSeparatedStringToArray(\n applicable_categories\n ),\n })\n ),\n };\n }\n return {\n viewSettings: {},\n locales: [],\n merchant: {\n currency: \"EUR\",\n merchantLanguages: [],\n },\n returnPolicy: {},\n returnReasons: [],\n };\n};\n\nexport const shopBackendMap: Record = {\n shopify_integration: ShopBackend.Shopify,\n shopware_integration: ShopBackend.Shopware,\n};\n\nexport const refundShippingCostPolicyMap: Record<\n RefundShippingCostPolicyRaw,\n RefundShippingCostPolicy\n> = {\n refund: RefundShippingCostPolicy.Refund,\n no_refund: RefundShippingCostPolicy.NoRefund,\n if_all_items_returned: RefundShippingCostPolicy.IfAllItemsReturned,\n};\n","import { useMemo } from \"react\";\nimport { useQuery } from \"react-query\";\n\nimport { fetchMerchantSettings } from \"~/api\";\n\nimport { transformMerchantSettingsResponse } from \"./useMerchantSettings.util\";\n\nexport const useMerchantSettings = () => {\n const { data: response, ...restProps } = useQuery(\n \"merchantSettingsQuery\",\n fetchMerchantSettings\n );\n const data = useMemo(\n () => transformMerchantSettingsResponse(response),\n [response]\n );\n return {\n data,\n ...restProps,\n };\n};\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const emptyCallback = () => {};\n","import { OrderItem } from \"~/common/types/order\";\nimport { InitiatedReturnItem } from \"../useReturnState/useReturnState.types\";\n\nexport const getInitiatedReturnItemOriginalOrderItem = (\n initiatedReturnItem: InitiatedReturnItem,\n orderItems: OrderItem[] = []\n): OrderItem =>\n orderItems.find(({ id }) => id === initiatedReturnItem.orderItemId) ?? {};\n","export type CheckoutViewSettingsRaw = DeepPartial<{\n de_language: boolean;\n fr_language: boolean;\n image_url: string;\n instructions: any;\n primary_color: string;\n secondary_color: string;\n shop_url: string;\n custom_script: string;\n}>;\n\nexport type MerchantLanguageRaw = DeepPartial<{\n lang_name: string;\n lang_code: string;\n}>;\n\nexport type MerchantLanguage = DeepPartial<{\n langName: string;\n langCode: string;\n}>;\n\nexport type MerchantSettingsRaw = DeepPartial<{\n climate_compensation: boolean;\n currency: string;\n name: string;\n return_address1_note_attribute_name: string;\n shop_backend: ShopBackendRaw;\n show_custom_return: boolean;\n show_exchange: boolean;\n show_store_credit: boolean;\n show_instant_store_credit: boolean;\n show_trade_in_items: boolean;\n merchant_languages: MerchantLanguageRaw[];\n shop_now_exchange_enabled: boolean;\n active_paypal_checkout: boolean;\n}>;\n\nexport type CheckoutViewSettings = DeepPartial<{\n logoUrl: string;\n shopUrl: string;\n primaryColor: string;\n secondaryColor: string;\n customScript: string;\n}>;\n\nexport type ShopBackendRaw = `${ShopBackend}`;\n\nexport enum ShopBackend {\n Shopify = \"shopify_integration\",\n Shopware = \"shopware_integration\",\n}\n\nexport type MerchantSettings = DeepPartial<{\n climateCompensation: boolean;\n currency: string;\n name: string;\n shopBackend: ShopBackend;\n showCustomReturn: boolean;\n showExchange: boolean;\n showStoreCredit: boolean;\n showInstantStoreCredit: boolean;\n returnAddressNoteAttributeName: string;\n showTradeInItems: boolean;\n shopNowEnabled: boolean;\n shopNowPaymentEnabled: boolean;\n merchantLanguages: MerchantLanguage[];\n}>;\n","import { useState, useEffect } from \"react\";\n\n// Adapted from https://www.robinwieruch.de/react-uselocalstorage-hook/\nexport const useSessionStorage = (storageKey: string, fallbackState: T) => {\n const [value, setValue] = useState(\n JSON.parse(sessionStorage.getItem(storageKey)) ?? fallbackState\n );\n\n useEffect(() => {\n sessionStorage.setItem(storageKey, JSON.stringify(value));\n }, [value, storageKey]);\n\n return [value, setValue] as const;\n};\n","import countryList from \"react-select-country-list\";\n\nexport const getCountryLabel = (countryCode: string) =>\n countryCode ? countryList().getLabel(countryCode) : \"\";\n","import { useCallback, useEffect, useState } from \"react\";\nimport { isEmpty } from \"lodash\";\n\nimport i18next, { loadStaticTranslations } from \"~/common/i18n\";\nimport { LocaleCode, LocaleCodes } from \"~/common/types/common\";\nimport { setFormattingLocale } from \"~/util/format\";\n\nexport type UseLanguageProps = {\n merchantLanguages: LocaleCodes[];\n};\n\nexport const useLanguage = ({ merchantLanguages }: UseLanguageProps) => {\n const [language, setLanguage] = useState(LocaleCode.en);\n\n const changeI18nextLanguage = (updatedLanguage: LocaleCodes) => {\n i18next.changeLanguage(updatedLanguage);\n };\n\n useEffect(() => {\n if (isEmpty(merchantLanguages)) return;\n\n loadStaticTranslations(merchantLanguages);\n\n const i18nextLanguage = i18next.languages?.[0] as LocaleCodes;\n if (i18nextLanguage) {\n if (merchantLanguages.includes(i18nextLanguage)) {\n changeLanguage(i18nextLanguage);\n } else {\n changeI18nextLanguage(LocaleCode.en as LocaleCodes);\n }\n }\n }, [merchantLanguages]);\n\n const changeDropdownLanguage = (updatedLanguage: LocaleCodes) => {\n setLanguage(updatedLanguage);\n setFormattingLocale(updatedLanguage);\n };\n\n const changeLanguage = useCallback((updatedLanguage: LocaleCodes) => {\n changeI18nextLanguage(updatedLanguage);\n changeDropdownLanguage(updatedLanguage);\n }, []);\n\n const alignI18nextAndDropdownLanguage = useCallback(\n (i18nextLanguage: LocaleCodes) => {\n if (merchantLanguages.includes(i18nextLanguage)) {\n changeDropdownLanguage(i18nextLanguage);\n } else {\n changeI18nextLanguage(LocaleCode.en as LocaleCodes);\n }\n },\n [merchantLanguages]\n );\n\n useEffect(() => {\n const i18nextLanguage = i18next.languages?.[0] as LocaleCodes;\n if (!i18nextLanguage) return;\n alignI18nextAndDropdownLanguage(i18nextLanguage);\n }, [merchantLanguages]);\n\n const i18nextOnInitialized = useCallback(() => {\n if (isEmpty(merchantLanguages)) return;\n const i18nextLanguage = i18next.languages[0] as LocaleCodes;\n alignI18nextAndDropdownLanguage(i18nextLanguage);\n }, [merchantLanguages]);\n\n useEffect(() => {\n i18next.on(\"initialized\", i18nextOnInitialized);\n return () => i18next.off(\"initialized\", i18nextOnInitialized);\n }, [i18nextOnInitialized]);\n\n return {\n language,\n changeLanguage,\n };\n};\n","import React, { createContext, FC, useContext, useMemo } from \"react\";\n\nimport { LocaleCodes } from \"~/common/types/common\";\nimport { useLanguage } from \"~/hooks/useLanguage/useLanguage\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type LanguageContextType = {\n language: LocaleCodes;\n changeLanguage: (language: string) => void;\n};\n\nexport const LanguageContext = createContext({\n language: \"en\" as LocaleCodes,\n changeLanguage: emptyCallback,\n});\n\nexport type LanguageContextProviderProps = {\n merchantLanguages: LocaleCodes[];\n};\n\nexport const LanguageContextProvider: FC = ({\n children,\n merchantLanguages,\n}) => {\n const { language, changeLanguage } = useLanguage({ merchantLanguages });\n\n const value = useMemo(\n () => ({\n language,\n changeLanguage,\n }),\n [language, changeLanguage]\n );\n return (\n \n {children}\n \n );\n};\n\nexport const useLanguageContext = () => useContext(LanguageContext);\n","import React, { FC } from \"react\";\nimport { QueryCache, QueryClient, QueryClientProvider } from \"react-query\";\nimport { persistQueryClient } from \"react-query/persistQueryClient-experimental\";\nimport { createWebStoragePersistor } from \"react-query/createWebStoragePersistor-experimental\";\n\nexport const queryCache = new QueryCache();\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n retry: false,\n cacheTime: 1000 * 60 * 60 * 24, // 24 hours,\n staleTime: 1000 * 60 * 60 * 24,\n },\n },\n queryCache,\n});\n\nconst sessionStoragePersistor = createWebStoragePersistor({\n storage: window.sessionStorage,\n});\n\npersistQueryClient({\n queryClient,\n persistor: sessionStoragePersistor,\n});\n\nexport const ReactQueryClientProvider: FC = ({ children }) => {\n return (\n {children}\n );\n};\n","import { curry } from \"lodash\";\n\nimport { LocaleCodes } from \"~/common/types/common\";\n\nlet locale: LocaleCodes = \"en\";\n\nexport enum NumberFormat {\n Currency = \"currency\",\n}\n\nconst numberFormatterMap = {\n [NumberFormat.Currency]: (currency: string) =>\n new Intl.NumberFormat(locale, {\n style: \"currency\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n currency,\n }).format,\n};\n\nconst getNumberFormatter = (format: NumberFormat) => numberFormatterMap[format];\n\nconst formatNumber = (\n format: NumberFormat,\n currency: string,\n value: number | bigint\n): string => getNumberFormatter(format)(currency)(value);\n\nconst formatNumberCurried = curry(formatNumber);\n\nexport const formatCurrency = formatNumberCurried(NumberFormat.Currency);\n\nexport function setFormattingLocale(newLocale: LocaleCodes) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n locale = newLocale;\n}\n\nexport const formatDate = (\n value: string | number | Date,\n formatting: {\n month: \"numeric\" | \"short\";\n day: \"numeric\" | \"2-digit\";\n year: \"numeric\" | \"2-digit\";\n } = {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n }\n) => {\n if (!value) return value;\n return new Intl.DateTimeFormat(\"en-US\", formatting).format(new Date(value));\n};\n\nexport const formatTime = (\n timestamp: string | number | Date,\n locale: LocaleCodes = \"en\"\n) => {\n return new Date(timestamp).toLocaleString(locale, {\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n};\n","import { LocaleCode } from \"./common\";\n\nexport type ReturnPolicyRaw = DeepPartial<{\n custom_return_name: string;\n exchange_without_track_quantity: boolean;\n expected_refund: boolean;\n inventory_threshold: number;\n policy_url: string;\n refund_shipping_cost: RefundShippingCostPolicyRaw;\n returns_window: number;\n show_custom_return: boolean;\n store_credit_added_percentage: number;\n custom_missing_optional_translations: boolean;\n}>;\n\nexport type ReturnReasonRaw = DeepPartial<{\n additional_text: boolean;\n additional_text_required: boolean;\n applicable_categories: string;\n id: number;\n image_upload: boolean;\n image_upload_required: boolean;\n show_for_custom_reasons: boolean;\n show_for_exchange_reasons: boolean;\n show_for_refund: boolean;\n text_title_by_locale: any;\n external_text_by_locale: any;\n}>;\n\nexport type ReturnAddressRaw = DeepPartial<{\n city: string;\n state: string;\n country_iso2: string;\n name: string;\n name2: string;\n street: string;\n street_number: string;\n zip: string;\n}>;\n\nexport type ReturnAddressShipmentRaw = {\n company: string;\n last_name: string;\n street: string;\n street_no: string;\n city: string;\n zip_code: string;\n province_code: string;\n country_iso2: string;\n};\n\nexport type ReturnLabelAddressRaw = {\n return_address_city: string;\n return_address_state: string;\n return_address_company: string;\n return_address_country_iso2: string;\n return_address_last_name: string;\n return_address_street: string;\n return_address_street_no: string;\n return_address_zip_code: string;\n};\n\nexport type ReturnPolicy = DeepPartial<{\n customReturnName: string;\n exchangeWithoutTrackQuantity: boolean;\n showExpectedRefund: boolean;\n inventoryThreshold: number;\n policyUrl: string;\n refundShippingCost: RefundShippingCostPolicy;\n returnsWindow: number;\n storeCreditAddedPercentage: number;\n inAppShoppingAddedPercentage: number;\n customMissingOptionalTranslations: boolean;\n}>;\n\nexport type ReturnReason = DeepPartial<{\n id: number;\n externalText: Record;\n isImageSupported: boolean;\n isImageRequired: boolean;\n isAdditionalTextRequired: boolean;\n isAdditionalTextSupported: boolean;\n textTitle: Record;\n visible: Record;\n applicableCategories: string[];\n}>;\n\nexport type Address = {\n name: string;\n name2?: string;\n countryCode: string;\n city: string;\n street: string;\n streetNumber: string;\n zip: string;\n street2?: string;\n province?: string;\n provinceCode?: string;\n state?: string; // TODO: remove later\n company?: string;\n phone?: string;\n};\n\nexport type ReturnLabelAddress = {\n companyName: string;\n city: string;\n state: string;\n countryCode: string;\n street: string;\n streetNumber: string;\n zip: string;\n name: string;\n};\n\nexport type ReturnTypeRaw = `${ReturnType}`;\n\nexport enum ReturnType {\n Refund = \"refund\",\n Exchange = \"exchange\",\n Custom = \"custom\",\n TradeIn = \"trade_in\",\n shop_now = \"shop_exchange\",\n}\n\nexport type RefundShippingCostPolicyRaw = `${RefundShippingCostPolicy}`;\n\nexport enum RefundShippingCostPolicy {\n Refund = \"refund\",\n NoRefund = \"no_refund\",\n IfAllItemsReturned = \"if_all_items_returned\",\n}\n\nexport enum RefundType {\n OriginalPaymentMethod = \"original_payment_method\",\n StoreCredit = \"store_credit\",\n ShopExchange = \"shop_exchange\",\n}\n\nexport enum StoreCreditType {\n StoreCreditLater = \"store_credit\",\n StoreCreditInstant = \"instant_store_credit\",\n}\n\nexport enum ShopExchangeRefundType {\n OriginalPaymentMethod = \"original_payment_method\",\n StoreCredit = \"store_credit\",\n}\n","import { FC } from \"react\";\n\nimport { Path } from \"~/router/routes/path\";\n\nexport type SVGIconComponentProps = {\n color?: string;\n className?: string;\n size?: string;\n strokeWidth?: number;\n};\n\nexport enum LocaleCode {}\n\nconst locales =\n \"aa, ab, af, ak, sq, am, ar, an, hy, as, av, ae, ay, az, ba, bm, eu, be, bn, bh, bi, bs, br, bg, my, ca, ch, ce, zh, cu, cv, kw, co, cr, cs, da, dv, nl, dz, eo, et, ee, fo, fj, fi, fy, ff, ka, gd, ga, gl, gv, el, gn, gu, ht, ha, he, hz, hi, ho, hr, hu, ig, is, io, ii, iu, ie, ia, id, ik, it, jv, ja, kl, kn, ks, kr, kk, km, ki, rw, ky, kv, kg, ko, kj, ku, lo, la, lv, li, ln, lt, lb, lu, lg, mk, mh, ml, mi, mr, ms, mg, mt, mn, na, nv, nr, nd, ng, ne, nn, nb, no, ny, oc, oj, or, om, os, pa, fa, pi, pl, pt, ps, qu, rm, ro, rn, ru, sg, sa, si, sk, sl, se, sm, sn, sd, so, st, es, sc, sr, ss, su, sw, sv, ty, ta, tt, te, tg, tl, th, bo, ti, to, tn, ts, tk, tr, tw, ug, uk, ur, uz, ve, vi, vo, cy, wa, wo, xh, yi, yo, za, zu\";\n\nconst initialLocales = \"en, de, fr\";\n\nconst localeArray = [\n ...initialLocales.split(\",\").map((locale) => locale.trim()),\n ...locales.replace(/\\s/g, \"\").split(\",\"),\n];\n\nlocaleArray.forEach((locale) => {\n LocaleCode[locale] = locale;\n});\n\nexport type LocaleCodes = keyof typeof LocaleCode;\n\nexport type RouteType = {\n path: Path;\n Component: FC;\n exact: boolean;\n};\n","import importRetry from './importRetry'\n\n// https://github.com/facebook/create-react-app/tree/master/packages/react-app-polyfill\n// importing IE9 would also include IE10/11 support\nimport 'react-app-polyfill/ie9';\n\n// https://babeljs.io/docs/en/babel-plugin-syntax-dynamic-import#working-with-webpack-and-babelpreset-env\nimport 'core-js/stable/array/iterator'\nimport 'core-js/stable/promise'\n\n// Object.entries()\ntypeof Object.entries !== typeof Function && importRetry(() => import('core-js/stable/object/entries'))\n\n// WeakMap\ntypeof WeakMap === 'undefined' && importRetry(() => import('core-js/stable/weak-map'))\n\n// Array.prototype.includes()\ntypeof Array.prototype.includes !== typeof Function && importRetry(() => import('core-js/stable/array/includes'))\n\n// globalThis\ntypeof globalThis === 'undefined' && importRetry(() => import('core-js/stable/global-this'))\n","export default async function importRetry(importFn, retries = 5, interval = 1000) {\n try {\n return await importFn()\n } catch (error) {\n if (retries) {\n await wait(interval)\n return importRetry(importFn, retries - 1, interval)\n } else {\n window.location = '/'\n }\n }\n}\n\nfunction wait(ms) {\n return new Promise(resolve => setTimeout(resolve, ms))\n}\n","export enum Path {\n Login = \"/\",\n SelectItems = \"/items\",\n ReturnType = \"/return-type\",\n ExchangeVariant = \"/exchange-variant\",\n CustomReturn = \"/custom-type\",\n SelectQuantity = \"/quantity\",\n ReturnReason = \"/reason\",\n ReturnMethod = \"/method\",\n MoreDetails = \"/more-details\",\n ReturnOverview = \"/overview\",\n // RefundInfo = \"/refund-info\",\n RefundType = \"/refund-type\",\n ReturnConfirmation = \"/confirmation\",\n Payment = \"/payment\",\n Error = \"/error\",\n CollectionsList = \"/collections\",\n CollectionDetails = \"/collection\",\n ProductDetailsShop = \"/product\",\n}\n\n// Note: If the order ID has a hash prefix, it gets removed\n// As it currently causes issues with React Memory Router\n// We can potentially remove orderId and orderItemId from URL in future versions\n// If the plan is to continue using memory based routing\nexport const pathResolvers = {\n Login: \"/\",\n SelectItems: `/items`,\n ReturnType: `/return-type`,\n ExchangeVariant: `/exchange-variant`,\n CustomReturn: `/custom-type`,\n SelectQuantity: `/quantity`,\n ReturnReason: `/reason`,\n ReturnMethod: `/method`,\n MoreDetails: `/more-details`,\n ReturnOverview: `/overview`,\n // RefundInfo: `/refund-info`,\n RefundType: `/refund-type`,\n ReturnConfirmation: `/confirmation`,\n Payment: \"/payment\",\n ColletionsList: \"/collections\",\n CollectionDetails: \"/collection\",\n ProductDetailsShop: \"/product\",\n};\n","import { identity } from \"lodash\";\nimport React, { createContext, FC, useContext, useMemo } from \"react\";\n\nimport { formatCurrency } from \"~/util/format\";\n\nexport type FormatContextType = {\n formatInMerchantCurrency: (value: number | bigint) => string;\n};\n\nexport type FormatContextProviderProps = {\n merchantCurrency: string;\n};\n\nexport const FormatContext = createContext({\n formatInMerchantCurrency: identity,\n});\n\nexport const FormatContextProvider: FC = ({\n children,\n merchantCurrency,\n}) => {\n const formatInMerchantCurrency = formatCurrency(merchantCurrency);\n const value = useMemo(\n () => ({\n formatInMerchantCurrency,\n }),\n [formatInMerchantCurrency]\n );\n return (\n {children}\n );\n};\n\nexport const useFormatContext = () => useContext(FormatContext);\n","import React, { createContext, FC, useContext } from \"react\";\nimport { UseQueryResult } from \"react-query\";\n\nimport { useMerchantSettings } from \"~/hooks/useMerchantSettings/useMerchantSettings\";\nimport { MerchantSettingsResponse } from \"~/hooks/useMerchantSettings/useMerchantSettings.types\";\n\nexport type MerchantSettingsContextType = DeepPartial<\n Omit\n> & {\n data?: MerchantSettingsResponse;\n};\n\nexport const MerchantSettingsContext =\n createContext({});\n\nexport const MerchantSettingsContextProvider: FC = ({ children }) => {\n const value = useMerchantSettings();\n return (\n \n {children}\n \n );\n};\n\nexport const useMerchantSettingsContext = () =>\n useContext(MerchantSettingsContext);\n","import { useCallback, useMemo, useState } from \"react\";\nimport { omit } from \"lodash\";\n\nimport { Product, ProductVariant } from \"~/common/types/product\";\nimport {\n RefundType,\n ReturnType,\n ShopExchangeRefundType,\n StoreCreditType,\n} from \"~/common/types/return\";\nimport { useSessionStorage } from \"../useSessionStorage/useSessionStorage\";\nimport { isNotNil } from \"~/util/isNotNil\";\n\nimport {\n Cart,\n InitiatedReturnItem,\n ReturnReasonImageData,\n} from \"./useReturnState.types\";\nimport { calculateCartItemsCost } from \"./useReturnState.util\";\n\nexport const useReturnState = () => {\n const [selectedItemId, setSelectedItemId] = useState(\"\");\n const [selectedTradeInItemId, setSelectedTradeInItemId] = useState(-1);\n const [selectedReturnQuantity, setSelectedReturnQuantity] = useState(1);\n const [selectedReturnReasonId, setSelectedReturnReasonId] = useState(-1);\n const [returnReasonImages, setReturnReasonImages] = useState<\n ReturnReasonImageData[]\n >([]);\n const [returnReasonText, setReturnReasonText] = useState(\"\");\n const [selectedReturnMethodId, setSelectedReturnMethodId] = useState(-1);\n const [initiatedReturnItems, setInitiatedReturnItems] = useSessionStorage<\n InitiatedReturnItem[]\n >(\"initiatedReturnItems\", []);\n\n const [selectedReturnType, setSelectedReturnType] =\n useState(null);\n\n const [selectedExchangeVariant, setSelectedExchangeVariant] =\n useState>();\n\n const [selectedRefundType, setSelectedRefundType] = useState(\n RefundType.OriginalPaymentMethod\n );\n\n const [selectedShopExchangeRefundType, setSelectedShopExchangeRefundType] =\n useState(\n ShopExchangeRefundType.OriginalPaymentMethod\n );\n\n const [selectedStoreCreditOption, setSelectedStoreCreditOption] =\n useState(null);\n\n const [selectedCollectionId, setSelectedCollectionId] =\n useState(null);\n\n const [selectedShoppingProductId, setSelectedShoppingProductId] =\n useState(null);\n\n const [cart, setCart] = useState({});\n\n const addItemToCart = useCallback(\n (\n product: DeepPartial,\n selectedProductVariant: DeepPartial\n ) => {\n const { id, title, price, image, isDefaultVariant, sku } =\n selectedProductVariant;\n\n setCart((prevCart) => {\n const isItemAlreadyExists = isNotNil(prevCart[id]);\n if (isItemAlreadyExists) {\n const prevCartItem = prevCart[id];\n const updatedCartItem = {\n ...prevCartItem,\n selectedQuantity: prevCartItem.selectedQuantity + 1,\n };\n return { ...prevCart, [id]: updatedCartItem };\n }\n return {\n ...prevCart,\n [id]: {\n productId: product.globalId,\n productTitle: product.title,\n selectedQuantity: 1,\n id,\n title,\n price,\n image,\n isDefaultVariant,\n sku,\n },\n };\n });\n },\n []\n );\n\n const removeItemFromCart = useCallback(\n (selectedProductVariant: DeepPartial) => {\n const { id } = selectedProductVariant;\n setCart((prevCart) => omit(prevCart, [id]));\n },\n []\n );\n\n const changeItemQuantityInCart = useCallback(\n (\n selectedProductVariant: DeepPartial,\n increment: 1 | -1\n ) => {\n const { id } = selectedProductVariant;\n setCart((prevCart) => {\n const prevCartItem = prevCart[id];\n const updatedCartItem = {\n ...prevCartItem,\n selectedQuantity: prevCartItem.selectedQuantity + increment,\n };\n return { ...prevCart, [id]: updatedCartItem };\n });\n },\n []\n );\n\n const resetSelectedReturnMethod = useCallback(() => {\n setSelectedReturnMethodId(-1);\n }, []);\n\n const resetInAppShoppingState = useCallback(() => {\n setCart({});\n setSelectedShoppingProductId(null);\n setSelectedCollectionId(null);\n }, []);\n\n const cartItems = useMemo(() => Object.values(cart), [cart]);\n\n const cartItemsTotalCost = useMemo(\n () => calculateCartItemsCost(cartItems),\n [cartItems]\n );\n\n const addInitiatedReturnItem = useCallback(\n (initiatedReturnItem: InitiatedReturnItem) => {\n setInitiatedReturnItems((existingItems) => [\n ...existingItems,\n initiatedReturnItem,\n ]);\n },\n []\n );\n\n const removeInitiatedReturnItem = useCallback(\n (idToRemove: string | number) => {\n setInitiatedReturnItems((existingItems) =>\n existingItems.filter(\n ({ orderItemId, tradeInItem: { id: tradeInItemId } = {} }) => {\n if (orderItemId) {\n return orderItemId !== idToRemove;\n } else if (tradeInItemId) {\n return tradeInItemId !== idToRemove;\n }\n\n return false;\n }\n )\n );\n },\n []\n );\n\n const resetCurrentItemReturnState = useCallback(() => {\n setSelectedItemId(\"\");\n setSelectedReturnQuantity(1);\n setSelectedReturnReasonId(-1);\n setReturnReasonText(\"\");\n setReturnReasonImages([]);\n setSelectedReturnMethodId(-1);\n setSelectedReturnType(null);\n setSelectedExchangeVariant(null);\n setSelectedStoreCreditOption(null);\n }, []);\n\n const resetReturnState = useCallback(() => {\n resetCurrentItemReturnState();\n setInitiatedReturnItems([]);\n setSelectedRefundType(RefundType.OriginalPaymentMethod);\n setSelectedShopExchangeRefundType(\n ShopExchangeRefundType.OriginalPaymentMethod\n );\n }, []);\n\n return {\n selectedItemId,\n setSelectedItemId,\n selectedTradeInItemId,\n setSelectedTradeInItemId,\n selectedReturnQuantity,\n setSelectedReturnQuantity,\n selectedReturnMethodId,\n setSelectedReturnMethodId,\n initiatedReturnItems,\n addInitiatedReturnItem,\n removeInitiatedReturnItem,\n selectedReturnReasonId,\n setSelectedReturnReasonId,\n returnReasonImages,\n setReturnReasonImages,\n returnReasonText,\n setReturnReasonText,\n selectedReturnType,\n setSelectedReturnType,\n selectedExchangeVariant,\n setSelectedExchangeVariant,\n selectedRefundType,\n setSelectedRefundType,\n selectedShopExchangeRefundType,\n setSelectedShopExchangeRefundType,\n resetReturnState,\n resetCurrentItemReturnState,\n selectedStoreCreditOption,\n setSelectedStoreCreditOption,\n selectedCollectionId,\n setSelectedCollectionId,\n selectedShoppingProductId,\n setSelectedShoppingProductId,\n cartItems,\n cartItemsTotalCost,\n addItemToCart,\n removeItemFromCart,\n changeItemQuantityInCart,\n resetInAppShoppingState,\n resetSelectedReturnMethod,\n };\n};\n","import React, {\n createContext,\n Dispatch,\n FC,\n SetStateAction,\n useContext,\n} from \"react\";\n\nimport { Product, ProductVariant } from \"~/common/types/product\";\nimport {\n RefundType,\n ReturnType,\n ShopExchangeRefundType,\n StoreCreditType,\n} from \"~/common/types/return\";\nimport { useReturnState } from \"~/hooks/useReturnState/useReturnState\";\nimport {\n CartItem,\n InitiatedReturnItem,\n ReturnReasonImageData,\n} from \"~/hooks/useReturnState/useReturnState.types\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type ReturnContextType = {\n selectedItemId: string;\n setSelectedItemId: (selectedItemId: string) => void;\n selectedReturnQuantity: number;\n setSelectedReturnQuantity: (quantity: number) => void;\n selectedReturnMethodId: number;\n setSelectedReturnMethodId: (returnMethodId: number) => void;\n initiatedReturnItems: InitiatedReturnItem[];\n addInitiatedReturnItem: (initiatedReturnItem: InitiatedReturnItem) => void;\n removeInitiatedReturnItem: (orderItemId: string | number) => void;\n selectedReturnReasonId: number;\n setSelectedReturnReasonId: (reasonId: number) => void;\n returnReasonImages: ReturnReasonImageData[];\n setReturnReasonImages: Dispatch>;\n returnReasonText: string;\n setReturnReasonText: (returnReasonText: string) => void;\n resetReturnState: () => void;\n resetCurrentItemReturnState: () => void;\n selectedReturnType: ReturnType;\n setSelectedReturnType: (returnType: ReturnType) => void;\n selectedExchangeVariant: DeepPartial;\n setSelectedExchangeVariant: (\n selectedExchangeVariant: DeepPartial\n ) => void;\n selectedRefundType: RefundType;\n setSelectedRefundType: (refundType: RefundType) => void;\n selectedShopExchangeRefundType: ShopExchangeRefundType;\n setSelectedShopExchangeRefundType: (\n shopExchangeRefundType: ShopExchangeRefundType\n ) => void;\n selectedTradeInItemId: number;\n setSelectedTradeInItemId: (selectedTradeInItemId: number) => void;\n selectedStoreCreditOption: StoreCreditType;\n setSelectedStoreCreditOption: (storeCreditOption: StoreCreditType) => void;\n selectedCollectionId: string;\n setSelectedCollectionId: (selectedCollectionId: string) => void;\n selectedShoppingProductId: string;\n setSelectedShoppingProductId: (selectedShoppingProductId: string) => void;\n cartItems: CartItem[];\n removeItemFromCart: (\n selectedProductVariant: DeepPartial\n ) => void;\n addItemToCart: (\n product: DeepPartial,\n selectedProductVariant: DeepPartial\n ) => void;\n changeItemQuantityInCart: (\n selectedProductVariant: DeepPartial,\n increment: 1 | -1\n ) => void;\n cartItemsTotalCost: number;\n resetInAppShoppingState: () => void;\n resetSelectedReturnMethod: () => void;\n};\n\nexport const ReturnContext = createContext({\n selectedItemId: \"\",\n setSelectedItemId: emptyCallback,\n selectedReturnQuantity: 1,\n setSelectedReturnQuantity: emptyCallback,\n selectedReturnMethodId: -1,\n setSelectedReturnMethodId: emptyCallback,\n initiatedReturnItems: [],\n addInitiatedReturnItem: emptyCallback,\n removeInitiatedReturnItem: emptyCallback,\n selectedReturnReasonId: -1,\n setSelectedReturnReasonId: emptyCallback,\n returnReasonImages: [],\n setReturnReasonImages: emptyCallback,\n returnReasonText: \"\",\n setReturnReasonText: emptyCallback,\n resetReturnState: emptyCallback,\n resetCurrentItemReturnState: emptyCallback,\n selectedReturnType: null,\n setSelectedReturnType: emptyCallback,\n selectedExchangeVariant: null,\n setSelectedExchangeVariant: emptyCallback,\n selectedRefundType: null,\n setSelectedRefundType: emptyCallback,\n selectedShopExchangeRefundType: null,\n setSelectedShopExchangeRefundType: emptyCallback,\n selectedTradeInItemId: -1,\n setSelectedTradeInItemId: emptyCallback,\n selectedStoreCreditOption: null,\n setSelectedStoreCreditOption: emptyCallback,\n selectedCollectionId: null,\n setSelectedCollectionId: emptyCallback,\n selectedShoppingProductId: null,\n setSelectedShoppingProductId: emptyCallback,\n addItemToCart: emptyCallback,\n removeItemFromCart: emptyCallback,\n cartItems: [],\n changeItemQuantityInCart: emptyCallback,\n cartItemsTotalCost: 0,\n resetInAppShoppingState: emptyCallback,\n resetSelectedReturnMethod: emptyCallback,\n});\n\nexport const ReturnContextProvider: FC = ({ children }) => {\n const value = useReturnState();\n return (\n {children}\n );\n};\n\nexport const useReturnContext = () => useContext(ReturnContext);\n","import { CartItem } from \"./useReturnState.types\";\n\nexport const calculateCartItemsCost = (cartItems: CartItem[]) => {\n return cartItems.reduce((total, item) => {\n return total + item.price * item.selectedQuantity;\n }, 0);\n};\n","import { useSessionStorage } from \"~/hooks/useSessionStorage/useSessionStorage\";\n\nexport const useLoginState = () => {\n const [orderId, setOrderId] = useSessionStorage(\"orderId\", \"\");\n const [customerEmail, setCustomerEmail] = useSessionStorage(\n \"customerEmail\",\n \"\"\n );\n const isDisableCTA = orderId === \"\" || customerEmail === \"\";\n const resetLoginState = () => {\n setOrderId(\"\");\n setCustomerEmail(\"\");\n };\n return {\n orderId,\n customerEmail,\n setOrderId,\n setCustomerEmail,\n isDisableCTA,\n resetLoginState,\n };\n};\n","import React, { createContext, FC, useContext } from \"react\";\n\nimport { useLoginState } from \"~/components/Login/hooks/useLoginState/useLoginState\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type LoginStateContextType = {\n orderId: string;\n setOrderId: (orderId: string) => void;\n customerEmail: string;\n setCustomerEmail: (customerEmail: string) => void;\n resetLoginState: () => void;\n isDisableCTA: boolean;\n};\n\nexport const LoginStateContext = createContext({\n orderId: \"\",\n setOrderId: emptyCallback,\n customerEmail: \"\",\n setCustomerEmail: emptyCallback,\n resetLoginState: emptyCallback,\n isDisableCTA: false,\n});\n\nexport const LoginStateContextProvider: FC = ({ children }) => {\n const value = useLoginState();\n return (\n \n {children}\n \n );\n};\n\nexport const useLoginStateContext = () => useContext(LoginStateContext);\n","import { isEmpty, negate } from \"lodash\";\n\nexport const isNotEmpty = negate(isEmpty);\n","import React, { useContext, createContext, FC } from \"react\";\n\nexport type ThemeContextType = {\n logoUrl?: string;\n primaryColor?: string;\n secondaryColor?: string;\n};\n\nexport const ThemeContext = createContext({});\n\nexport type ThemeContextProviderProps = {\n theme: ThemeContextType;\n};\n\nexport const ThemeContextProvider: FC = ({\n theme,\n children,\n}) => {\n return (\n {children}\n );\n};\n\nexport const useThemeContext = () => useContext(ThemeContext);\n","import { isNotEmpty } from \"./isNotEmpty\";\n\nexport const transformCommaSeparatedStringToArray = (str: string) =>\n str\n .split(\",\")\n .filter(isNotEmpty)\n .map((item) => item.trim());\n","import { useMemo } from \"react\";\nimport { useMutation } from \"react-query\";\n\nimport { fetchReturnMethods } from \"~/api\";\nimport { FetchReturnMethodsVariables } from \"~/common/types/api\";\n\nimport { ReturnMethodsResponseRaw } from \"./useReturnMethods.types\";\nimport { transformReturnMethodsResponse } from \"./useReturnMethods.util\";\n\nexport type UseReturnMethodsProps = {\n variables: FetchReturnMethodsVariables;\n};\n\nexport const useReturnMethods = () => {\n const {\n data: response,\n mutate,\n ...restProps\n } = useMutation(\n \"returnMethodsMutation\",\n fetchReturnMethods\n );\n const data = useMemo(\n () => transformReturnMethodsResponse(response),\n [response]\n );\n return {\n data,\n fetchReturnMethods: mutate,\n ...restProps,\n };\n};\n","import React, { createContext, FC, useContext } from \"react\";\nimport { UseMutateFunction } from \"react-query\";\n\nimport { FetchReturnMethodsVariables } from \"~/common/types/api\";\nimport { useReturnMethods } from \"~/hooks/useReturnMethods/useReturnMethods\";\nimport {\n ReturnMethodsResponse,\n ReturnMethodsResponseRaw,\n} from \"~/hooks/useReturnMethods/useReturnMethods.types\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type ReturnMethodsContextType = {\n fetchReturnMethods: UseMutateFunction<\n ReturnMethodsResponseRaw,\n Error,\n FetchReturnMethodsVariables\n >;\n isError: boolean;\n isLoading: boolean;\n data: ReturnMethodsResponse;\n};\n\nexport const ReturnMethodsContext = createContext({\n fetchReturnMethods: emptyCallback,\n isError: false,\n isLoading: false,\n data: null,\n});\n\nexport const ReturnMethodsContextProvider: FC = ({ children }) => {\n const value = useReturnMethods();\n return (\n \n {children}\n \n );\n};\n\nexport const useReturnMethodsContext = () => useContext(ReturnMethodsContext);\n","import { flatten, sum, uniq } from \"lodash\";\n\nimport { FetchReturnMethodsVariables } from \"~/common/types/api\";\nimport { Order, OrderItem } from \"~/common/types/order\";\nimport { getRefundInitiatedReturnItems } from \"~/components/ReturnOverview/index.util\";\nimport { getCountryLabel } from \"~/util/getCountryLabel\";\nimport { isNotNil } from \"~/util/isNotNil\";\nimport { InitiatedReturnItem } from \"../useReturnState/useReturnState.types\";\nimport { RefundType, ReturnType, StoreCreditType } from \"~/common/types/return\";\n\nimport {\n ReturnMethodsResponse,\n ReturnMethodsResponseRaw,\n} from \"./useReturnMethods.types\";\n\nexport const transformReturnMethodsResponse = (\n responseData: ReturnMethodsResponseRaw\n): ReturnMethodsResponse => {\n if (responseData) {\n const returnMethods = responseData.settings?.merchant_return_methods ?? [];\n const ruleToken = responseData.settings?.rule_token;\n const {\n name2,\n name,\n street,\n street_number,\n zip,\n city,\n state,\n country_iso2,\n } = responseData.settings?.return_address ?? {};\n return {\n returnMethods: returnMethods.map(\n ({\n id,\n cost,\n image_url,\n return_method_carrier,\n return_method_name,\n name_map,\n description_map,\n cost_message_map,\n }) => ({\n id,\n cost: parseFloat(cost),\n imageUrl: image_url,\n returnMethodCarrier: return_method_carrier,\n returnMethodName: return_method_name,\n nameMap: name_map,\n descriptionMap: description_map,\n costMessageMap: cost_message_map,\n })\n ),\n ruleToken,\n returnAddress: {\n name,\n name2,\n city,\n state,\n zip: zip,\n countryCode: country_iso2,\n street,\n streetNumber: street_number,\n },\n };\n }\n return {\n returnMethods: [],\n ruleToken: null,\n returnAddress: {},\n };\n};\n\nexport const getFetchReturnMethodsVariables = (\n order: Order,\n orderItems: OrderItem[],\n returnItems: InitiatedReturnItem[],\n selectedRefundType: RefundType,\n selectedStoreCreditOption: StoreCreditType\n): FetchReturnMethodsVariables => {\n return {\n customerCountry:\n getCountryLabel(order.customer.address.countryCode) ||\n order.customer.address.countryCode,\n customerTags: order.customer.tags,\n customerEmail: order.customer.email,\n orderAmount: order.amount,\n orderTags: order.orderTags,\n orderDate: order.shippingDate || order.orderDate,\n paymentMethods: order.paymentMethods,\n numberOfItemsToReturn: returnItems.reduce(\n (sum, returnItem) => sum + returnItem.returnQuantity,\n 0\n ),\n returnReasonIds: returnItems.map(({ returnReasonId }) => returnReasonId),\n returnType: getReturnTypes(\n returnItems,\n selectedRefundType,\n selectedStoreCreditOption\n ),\n refundTotalValue: getRefundTotalValue(orderItems, returnItems),\n returnTags: getReturnTags(orderItems, returnItems),\n returnItemsCustomData: getReturnItemsCustomData(orderItems, returnItems),\n noOfRegisteredReturns: order.noOfRegisteredReturns,\n orderId: order.id,\n };\n};\n\n// Note: Currently when calculating the return amount, we only consider items of return type Refund\n// For exchange items, currently what happens: neither the customer nor the merchant has to pay price difference\n// This logic will change later with the introduction of store credit & payments feature\nexport const getRefundTotalValue = (\n orderItems: OrderItem[] = [],\n returnItems: InitiatedReturnItem[]\n) => {\n const amounts = getRefundInitiatedReturnItems(returnItems).map(\n ({ orderItemId, returnQuantity = 1 }) => {\n const orderItem = orderItems.find(({ id }) => id === orderItemId) ?? {};\n return (orderItem.price ?? 0) * returnQuantity;\n }\n );\n return sum(amounts);\n};\n\nexport const getReturnTags = (\n orderItems: OrderItem[] = [],\n returnItems: InitiatedReturnItem[]\n): string[] => {\n const tags = returnItems.map(({ orderItemId }) => {\n const orderItem = orderItems.find(({ id }) => id === orderItemId) ?? {};\n return orderItem.categories;\n });\n // TODO: Should we also filter duplicate items?\n return flatten(tags).filter(isNotNil);\n};\n\nexport const getReturnItemsCustomData = (\n orderItems: OrderItem[],\n returnItems: InitiatedReturnItem[]\n): string[] => {\n return returnItems.map(({ orderItemId }) => {\n const orderItem = orderItems.find(({ id }) => id === orderItemId) ?? {};\n return orderItem.productCustomData;\n });\n};\n\nexport const getReturnTypes = (\n returnItems: InitiatedReturnItem[],\n selectedRefundType: RefundType,\n selectedStoreCreditOption: StoreCreditType\n): string => {\n return uniq(\n returnItems\n .map(({ returnType }) => returnType)\n .filter(uniq)\n .map((returnType) => {\n if (returnType.valueOf() === ReturnType.Refund) {\n if (selectedRefundType === RefundType.StoreCredit) {\n return selectedStoreCreditOption;\n } else if (selectedRefundType === RefundType.ShopExchange) {\n return selectedRefundType.valueOf();\n }\n }\n return returnType.valueOf();\n })\n ).join(\",\");\n};\n","import { RefundShippingCostPolicy, RefundType, ReturnType } from \"~/common/types/return\";\nimport { InitiatedReturnItem } from \"~/hooks/useReturnState/useReturnState.types\";\n\nexport const getIsIncludeOriginalShippingCostInRefund = (\n refundShippingCostPolicy: RefundShippingCostPolicy,\n orderItemsQuantity: number,\n registeredItemsQuantity: number,\n initiatedItems: InitiatedReturnItem[],\n refundType: RefundType\n): boolean => {\n if (refundShippingCostPolicy === RefundShippingCostPolicy.Refund) {\n return true;\n }\n if (refundShippingCostPolicy === RefundShippingCostPolicy.NoRefund) {\n return false;\n }\n\n // Check if any ineligible items exist\n const hasIneligibleItems = initiatedItems.some(item =>\n [ReturnType.Refund, ReturnType.Exchange].includes(item.returnType) && refundType === RefundType.ShopExchange\n );\n\n // If ineligible items exist, no refund on shipping\n if (hasIneligibleItems) {\n return false;\n }\n const initiatedItemsQuantity = initiatedItems.reduce(\n (acc, curr) => acc + curr.returnQuantity,\n 0\n );\n return (\n initiatedItemsQuantity + registeredItemsQuantity === orderItemsQuantity\n );\n};\n\nexport const getRefundInitiatedReturnItems = (\n initiatedItems: InitiatedReturnItem[]\n) =>\n initiatedItems.filter(({ returnType }) => returnType === ReturnType.Refund);\n","import React, { createContext, FC, useContext, useState } from \"react\";\n\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type CollectionsNavigationVisibilityContextType = {\n setIsVisible: React.Dispatch>;\n isVisible: boolean;\n};\n\nexport const CollectionsNavigationVisibilityContext =\n createContext({\n setIsVisible: emptyCallback,\n isVisible: false,\n });\n\nexport const CollectionsNavigationVisibilityContextProvider: FC = ({\n children,\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n return (\n \n {children}\n \n );\n};\n\nexport const useCollectionsNavigationVisibilityContext = () =>\n useContext(CollectionsNavigationVisibilityContext);\n","import React, { createContext, FC, useContext, useState } from \"react\";\n\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type CartVisibilityContextType = {\n setIsCartVisible: React.Dispatch>;\n isCartVisible: boolean;\n};\n\nexport const CartVisibilityContext = createContext({\n setIsCartVisible: emptyCallback,\n isCartVisible: false,\n});\n\nexport const CartVisibilityContextProvider: FC = ({ children }) => {\n const [isCartVisible, setIsCartVisible] = useState(false);\n return (\n \n {children}\n \n );\n};\n\nexport const useCartVisibilityContext = () => useContext(CartVisibilityContext);\n","import { useState } from \"react\";\n\nimport { CustomerName } from \"~/common/types/customer\";\nimport { Address } from \"~/common/types/return\";\n\nexport const useUpdateCustomerData = () => {\n const [customerAddress, setCustomerAddress] = useState>({});\n const [customerName, setCustomerName] = useState({\n firstName: \"\",\n lastName: \"\",\n });\n const [customerEmail, setCustomerEmail] = useState(\"\");\n return {\n customerEmail,\n setCustomerEmail,\n customerName,\n setCustomerName,\n customerAddress,\n setCustomerAddress,\n };\n};\n","import React, { createContext, FC, useContext } from \"react\";\n\nimport { CustomerName } from \"~/common/types/customer\";\nimport { Address } from \"~/common/types/return\";\nimport { useUpdateCustomerData } from \"~/hooks/useUpdateCustomerData/useUpdateCustomerData\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type CustomerDataContextType = {\n customerEmail: string;\n setCustomerEmail: (customerEmail: string) => void;\n customerName: CustomerName;\n setCustomerName: (customerName: CustomerName) => void;\n customerAddress: Partial
;\n setCustomerAddress: (customerAddress: Partial
) => void;\n};\n\nexport const CustomerDataContext = createContext({\n customerEmail: \"\",\n setCustomerEmail: emptyCallback,\n customerName: {\n firstName: \"\",\n lastName: \"\",\n },\n setCustomerName: emptyCallback,\n customerAddress: {},\n setCustomerAddress: emptyCallback,\n});\n\nexport const CustomerDataContextProvider: FC = ({ children }) => {\n const value = useUpdateCustomerData();\n return (\n \n {children}\n \n );\n};\n\nexport const useCustomerDataContext = () => useContext(CustomerDataContext);\n","import React, { createContext, FC, useContext } from \"react\";\nimport { UseMutateFunction } from \"react-query\";\n\nimport { ConfirmReturnVariables } from \"~/common/types/api\";\nimport { useConfirmReturn } from \"~/hooks/useConfirmReturn/useConfirmReturn\";\nimport {\n ConfirmReturnResponse,\n ConfirmReturnResponseRaw,\n} from \"~/hooks/useConfirmReturn/useConfirmReturn.types\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type ConfirmReturnContextType = {\n confirmReturn: UseMutateFunction<\n ConfirmReturnResponseRaw,\n Error,\n ConfirmReturnVariables,\n unknown\n >;\n data: DeepPartial;\n isError: boolean;\n isLoading: boolean;\n};\n\nexport const ConfirmReturnContext = createContext({\n confirmReturn: emptyCallback,\n data: {},\n isError: false,\n isLoading: false,\n});\n\nexport const ConfirmReturnContextProvider: FC = ({ children }) => {\n const value = useConfirmReturn();\n return (\n \n {children}\n \n );\n};\n\nexport const useConfirmReturnContext = () => useContext(ConfirmReturnContext);\n","import { useMemo } from \"react\";\nimport { useMutation } from \"react-query\";\n\nimport { confirmReturn } from \"~/api\";\n\nimport { transformConfirmReturnResponse } from \"./useConfirmReturn.util\";\n\nexport const useConfirmReturn = () => {\n const {\n mutate,\n data: response,\n isError,\n isLoading,\n } = useMutation(\"confirmReturnMutation\", confirmReturn);\n const data = useMemo(\n () => transformConfirmReturnResponse(response),\n [response]\n );\n return {\n confirmReturn: mutate,\n data,\n isError,\n isLoading,\n };\n};\n","import {\n ConfirmReturnResponse,\n ConfirmReturnResponseRaw,\n} from \"./useConfirmReturn.types\";\n\nexport const transformConfirmReturnResponse = (\n responseData: ConfirmReturnResponseRaw\n): ConfirmReturnResponse => {\n if (responseData?.refund) {\n const {\n refund: { customer_return_id, shipment: shipments = [] },\n } = responseData;\n\n return {\n customerReturnId: customer_return_id,\n shipments: shipments.map(\n ({\n created_at,\n dhl_pickup_confirmation_number,\n id,\n label_url,\n price,\n shipping_company,\n shipping_method,\n status,\n tracking_number,\n updated_at,\n }) => ({\n id,\n price,\n status,\n labelUrl: label_url,\n createdAt: created_at,\n updatedAt: updated_at,\n DHLPickupConfirmationNumber: dhl_pickup_confirmation_number,\n shippingCompany: shipping_company,\n shippingMethod: shipping_method,\n trackingNumber: tracking_number,\n })\n ),\n };\n }\n return {\n customerReturnId: 0,\n shipments: [],\n };\n};\n","import React, { createContext, FC, useContext } from \"react\";\nimport { UseMutateFunction } from \"react-query\";\n\nimport { CreateShipmentVariables } from \"~/common/types/api\";\nimport { useCreateShipment } from \"~/hooks/useCreateShipment/useCreateShipment\";\nimport {\n CreateShipmentResponse,\n CreateShipmentResponseRaw,\n} from \"~/hooks/useCreateShipment/useCreateShipment.types\";\nimport { emptyCallback } from \"~/util/emptyCallback\";\n\nexport type ShipmentContextType = {\n createShipment: UseMutateFunction<\n CreateShipmentResponseRaw,\n Error,\n CreateShipmentVariables\n >;\n isError: boolean;\n isLoading: boolean;\n data: CreateShipmentResponse;\n};\n\nexport const ShipmentContext = createContext({\n createShipment: emptyCallback,\n isError: false,\n isLoading: false,\n data: null,\n});\n\nexport const ShipmentContextProvider: FC = ({ children }) => {\n const value = useCreateShipment();\n return (\n \n {children}\n \n );\n};\n\nexport const useShipmentContext = () => useContext(ShipmentContext);\n","import { useMemo } from \"react\";\nimport { useMutation } from \"react-query\";\n\nimport { createShipment } from \"~/api\";\n\nimport { transformCreateShipmentResponse } from \"./useCreateShipment.util\";\n\nexport const useCreateShipment = () => {\n const {\n mutate,\n data: response,\n isError,\n isLoading,\n } = useMutation(\"createShipmentMutation\", createShipment);\n const data = useMemo(\n () => transformCreateShipmentResponse(response),\n [response]\n );\n return {\n createShipment: mutate,\n data,\n isError,\n isLoading,\n };\n};\n","import {\n CreateShipmentResponse,\n CreateShipmentResponseRaw,\n} from \"./useCreateShipment.types\";\n\nexport const transformCreateShipmentResponse = (\n responseData: CreateShipmentResponseRaw\n): CreateShipmentResponse => {\n return {\n shipments: responseData?.json?.map(({\n carrier_tracking_no,\n dhl_pickup_confirmation_number,\n id,\n label_url,\n price,\n qrcode_url,\n }) => ({\n id,\n labelUrl: label_url,\n carrierTrackingNo: carrier_tracking_no,\n price,\n QRCodeUrl: qrcode_url,\n DHLPickupConfirmationNumber: dhl_pickup_confirmation_number,\n })) ?? [],\n };\n};\n","import React from \"react\";\n\nimport \"./FallbackSpinner.scss\";\n\nexport const FallbackSpinner = () => {\n return (\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC } from \"react\";\nimport {\n PayPalScriptProvider,\n ScriptProviderProps,\n} from \"@paypal/react-paypal-js\";\nimport { isNil } from \"lodash\";\n\nimport { useMerchantSettings } from \"~/hooks/useMerchantSettings/useMerchantSettings\";\nimport { useLanguageContext } from \"~/context/LanguageContext/LanguageContext\";\nimport { LocaleCodes } from \"~/common/types/common\";\n\nimport { getPayPalClientIdFromRootDocument } from \"./PayPalProvider.util\";\n\nexport const getPayPalScriptProviderOptions = (\n language: LocaleCodes,\n clientId: string,\n merchantCurrency: string\n): ScriptProviderProps[\"options\"] => {\n const localeMap = {\n en: \"en_US\",\n de: \"de_DE\",\n fr: \"fr_FR\",\n };\n\n const locale = localeMap[language];\n\n return {\n \"client-id\": clientId,\n currency: merchantCurrency,\n locale,\n intent: \"authorize\",\n components: \"buttons\",\n };\n};\n\nexport const PayPalProvider: FC = ({ children }) => {\n const { language } = useLanguageContext();\n\n const PAYPAL_CLIENT_ID = getPayPalClientIdFromRootDocument();\n\n const {\n data: {\n merchant: { currency },\n },\n } = useMerchantSettings();\n\n // Only attempt to render the PayPalScriptProvider\n // If the PayPal client ID exists (which means this merchant has set-up PayPal integration)\n if (isNil(PAYPAL_CLIENT_ID)) {\n return <>{children};\n }\n\n const options = getPayPalScriptProviderOptions(\n language,\n PAYPAL_CLIENT_ID,\n currency\n );\n\n return (\n {children}\n );\n};\n","export const getPayPalClientIdFromRootDocument = () => {\n const root = document.getElementById(\"root\");\n return root?.dataset[\"paypalClientId\"];\n};\n"],"sourceRoot":""}