@dropins/storefront-order 4.0.0-beta.0 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["/@dropins/storefront-order/src/api/graphql/RequestReturnOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/CustomerAddressFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/OrderItemsFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/OrderSummaryFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/ReturnsFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/GiftFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/GuestOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/CustomerOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/PlaceOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/PlaceNegotiableQuoteOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/cancelOrder/graphql/cancelOrderMutation.ts","/@dropins/storefront-order/src/lib/fetch-error.ts","/@dropins/storefront-order/src/data/transforms/transform-acdl.ts","/@dropins/storefront-order/src/lib/convertCase.ts","/@dropins/storefront-order/src/data/transforms/transform-attributes-form.ts","/@dropins/storefront-order/src/data/transforms/transform-customer.ts","/@dropins/storefront-order/src/data/transforms/transform-customer-address-input.ts","/@dropins/storefront-order/src/data/transforms/transform-order-details.ts","/@dropins/storefront-order/src/data/transforms/transform-customer-orders-returns.ts","/@dropins/storefront-order/src/data/transforms/transform-guest-order.ts","/@dropins/storefront-order/src/data/transforms/transform-place-order.ts","/@dropins/storefront-order/src/data/transforms/transform-place-negotiable-quote-order.ts","/@dropins/storefront-order/src/data/transforms/transform-store-config.ts","/@dropins/storefront-order/src/data/transforms/transform-request-return.ts","/@dropins/storefront-order/src/api/cancelOrder/cancelOrder.ts","/@dropins/storefront-order/src/api/fetch-graphql/fetch-graphql.ts","/@dropins/storefront-order/src/api/getAttributesForm/graphql/getAttributesForm.graphql.ts","/@dropins/storefront-order/src/lib/network-error.ts","/@dropins/storefront-order/src/api/getAttributesForm/getAttributesForm.ts","/@dropins/storefront-order/src/api/getAttributesList/graphql/getAttributesList.graphql.ts","/@dropins/storefront-order/src/api/getAttributesList/getAttributesList.ts","/@dropins/storefront-order/src/api/getCustomer/graphql/getCustomer.graphql.ts","/@dropins/storefront-order/src/api/getCustomer/getCustomer.ts","/@dropins/storefront-order/src/api/getCustomerOrdersReturn/graphql/getCustomerOrdersReturn.graphql.ts","/@dropins/storefront-order/src/api/getCustomerOrdersReturn/getCustomerOrdersReturn.ts","/@dropins/storefront-order/src/api/getGuestOrder/graphql/getGuestOrder.graphql.ts","/@dropins/storefront-order/src/api/getGuestOrder/getGuestOrder.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/graphql/orderByNumber.graphql.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/getOrderDetailsById.ts","/@dropins/storefront-order/src/api/getStoreConfig/graphql/StoreConfigQuery.ts","/@dropins/storefront-order/src/api/getStoreConfig/getStoreConfig.ts","/@dropins/storefront-order/src/api/guestOrderByToken/graphql/guestOrderByToken.graphql.ts","/@dropins/storefront-order/src/api/guestOrderByToken/guestOrderByToken.ts","/@dropins/storefront-order/src/api/helpers/initializeOrderDetails.ts","/@dropins/storefront-order/src/lib/redirectTo.ts","/@dropins/storefront-order/src/api/initialize/initialize.ts","/@dropins/storefront-order/src/lib/acdl.ts","/@dropins/storefront-order/src/lib/place-order-error.ts","/@dropins/storefront-order/src/api/placeOrder/graphql/placeOrderMutation.ts","/@dropins/storefront-order/src/lib/setReCaptchaToken.ts","/@dropins/storefront-order/src/api/placeOrder/placeOrder.ts","/@dropins/storefront-order/src/api/reorderItems/graphql/reorderItems.graphql.ts","/@dropins/storefront-order/src/api/reorderItems/reorderItems.ts","/@dropins/storefront-order/src/api/requestGuestOrderCancel/graphql/requestGuestOrderCancelMutation.ts","/@dropins/storefront-order/src/api/requestGuestOrderCancel/requestGuestOrderCancel.ts","/@dropins/storefront-order/src/api/requestReturn/graphql/requestReturn.graphql.ts","/@dropins/storefront-order/src/api/requestReturn/requestReturn.ts","/@dropins/storefront-order/src/api/requestGuestReturn/graphql/requestGuestReturn.graphql.ts","/@dropins/storefront-order/src/api/requestGuestReturn/requestGuestReturn.ts","/@dropins/storefront-order/src/api/confirmGuestReturn/graphql/confirmGuestReturn.graphql.ts","/@dropins/storefront-order/src/api/confirmGuestReturn/confirmGuestReturn.ts","/@dropins/storefront-order/src/api/confirmCancelOrder/graphql/ConfirmCancelOrder.ts","/@dropins/storefront-order/src/api/confirmCancelOrder/confirmCancelOrder.ts","/@dropins/storefront-order/src/api/setPaymentMethodAndPlaceOrder/graphql/setPaymentMethodAndPlaceOrderMutation.ts","/@dropins/storefront-order/src/api/setPaymentMethodAndPlaceOrder/setPaymentMethodAndPlaceOrder.ts","/@dropins/storefront-order/src/api/placeNegotiableQuoteOrder/graphql/placeNegotiableQuoteOrderMutation.graphql.ts","/@dropins/storefront-order/src/api/placeNegotiableQuoteOrder/placeNegotiableQuoteOrder.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const REQUEST_RETURN_ORDER_FRAGMENT = /* GraphQL */ `\n fragment REQUEST_RETURN_ORDER_FRAGMENT on Return {\n __typename\n uid\n status\n number\n created_at\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ADDRESS_FRAGMENT = /* GraphQL */ `\n fragment ADDRESS_FRAGMENT on OrderAddress {\n city\n company\n country_code\n fax\n firstname\n lastname\n middlename\n postcode\n prefix\n region\n region_id\n street\n suffix\n telephone\n vat_id\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const PRODUCT_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment PRODUCT_DETAILS_FRAGMENT on ProductInterface {\n __typename\n canonical_url\n url_key\n uid\n name\n sku\n only_x_left_in_stock\n gift_wrapping_available\n gift_wrapping_price {\n currency\n value\n }\n stock_status\n thumbnail {\n label\n url\n }\n price_range {\n maximum_price {\n regular_price {\n currency\n value\n }\n }\n }\n }\n`;\n\nexport const PRICE_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment PRICE_DETAILS_FRAGMENT on OrderItemInterface {\n prices {\n price_including_tax {\n value\n currency\n }\n original_price {\n value\n currency\n }\n original_price_including_tax {\n value\n currency\n }\n price {\n value\n currency\n }\n }\n }\n`;\n\nexport const GIFT_CARD_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment GIFT_CARD_DETAILS_FRAGMENT on GiftCardOrderItem {\n ...PRICE_DETAILS_FRAGMENT\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n gift_card {\n recipient_name\n recipient_email\n sender_name\n sender_email\n message\n }\n }\n`;\n\nexport const ORDER_ITEM_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment ORDER_ITEM_DETAILS_FRAGMENT on OrderItemInterface {\n gift_wrapping {\n ...GIFT_WRAPPING_FRAGMENT\n }\n __typename\n status\n product_sku\n eligible_for_return\n product_name\n product_url_key\n id\n quantity_ordered\n quantity_shipped\n quantity_canceled\n quantity_invoiced\n quantity_refunded\n quantity_return_requested\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n product_sale_price {\n value\n currency\n }\n selected_options {\n label\n value\n }\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n ...PRICE_DETAILS_FRAGMENT\n }\n`;\n\nexport const BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT on BundleOrderItem {\n ...PRICE_DETAILS_FRAGMENT\n bundle_options {\n uid\n label\n values {\n uid\n product_name\n }\n }\n }\n`;\n\nexport const DOWNLOADABLE_ORDER_ITEMS_FRAGMENT = /* GraphQL */ `\n fragment DOWNLOADABLE_ORDER_ITEMS_FRAGMENT on DownloadableOrderItem {\n product_name\n downloadable_links {\n sort_order\n title\n }\n }\n`;\n\nexport const ORDER_ITEM_FRAGMENT = /* GraphQL */ `\n fragment ORDER_ITEM_FRAGMENT on OrderItemInterface {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on BundleOrderItem {\n ...BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT\n }\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n ...DOWNLOADABLE_ORDER_ITEMS_FRAGMENT\n }\n\n ${DOWNLOADABLE_ORDER_ITEMS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ORDER_SUMMARY_FRAGMENT = /* GraphQL */ `\n fragment ORDER_SUMMARY_FRAGMENT on OrderTotal {\n gift_options {\n gift_wrapping_for_items {\n currency\n value\n }\n gift_wrapping_for_items_incl_tax {\n currency\n value\n }\n gift_wrapping_for_order {\n currency\n value\n }\n gift_wrapping_for_order_incl_tax {\n currency\n value\n }\n printed_card {\n currency\n value\n }\n printed_card_incl_tax {\n currency\n value\n }\n }\n grand_total {\n value\n currency\n }\n grand_total_excl_tax {\n value\n currency\n }\n total_giftcard {\n currency\n value\n }\n subtotal_excl_tax {\n currency\n value\n }\n subtotal_incl_tax {\n currency\n value\n }\n taxes {\n amount {\n currency\n value\n }\n rate\n title\n }\n total_tax {\n currency\n value\n }\n total_shipping {\n currency\n value\n }\n discounts {\n amount {\n currency\n value\n }\n label\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const RETURNS_FRAGMENT = /* GraphQL */ `\n fragment RETURNS_FRAGMENT on Returns {\n __typename\n items {\n number\n status\n created_at\n shipping {\n tracking {\n status {\n text\n type\n }\n carrier {\n uid\n label\n }\n tracking_number\n }\n }\n order {\n number\n token\n }\n items {\n uid\n quantity\n status\n request_quantity\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n }\n`;\n","export const APPLIED_GIFT_CARDS_FRAGMENT = /* GraphQL */ `\n fragment APPLIED_GIFT_CARDS_FRAGMENT on ApplyGiftCardToOrder {\n __typename\n code\n applied_balance {\n value\n currency\n }\n }\n`;\n\nexport const GIFT_MESSAGE_FRAGMENT = /* GraphQL */ `\n fragment GIFT_MESSAGE_FRAGMENT on GiftMessage {\n __typename\n from\n to\n message\n }\n`;\n\nexport const GIFT_WRAPPING_FRAGMENT = /* GraphQL */ `\n fragment GIFT_WRAPPING_FRAGMENT on GiftWrapping {\n __typename\n uid\n design\n image {\n url\n }\n price {\n value\n currency\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n ADDRESS_FRAGMENT,\n BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,\n GIFT_CARD_DETAILS_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n ORDER_ITEM_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n APPLIED_GIFT_CARDS_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const GUEST_ORDER_FRAGMENT = /* GraphQL */ `\n fragment GUEST_ORDER_FRAGMENT on CustomerOrder {\n printed_card_included\n gift_receipt_included\n gift_wrapping {\n ...GIFT_WRAPPING_FRAGMENT\n }\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n applied_gift_cards {\n ...APPLIED_GIFT_CARDS_FRAGMENT\n }\n items_eligible_for_return {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n }\n email\n id\n number\n order_date\n order_status_change_date\n status\n token\n carrier\n shipping_method\n available_actions\n is_virtual\n admin_assisted_order\n comments {\n message\n timestamp\n }\n payment_methods {\n name\n type\n }\n applied_coupons {\n code\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n comments {\n message\n timestamp\n }\n items {\n __typename\n id\n product_sku\n product_name\n quantity_shipped\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n items {\n ...ORDER_ITEM_FRAGMENT\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n ${ADDRESS_FRAGMENT}\n ${APPLIED_GIFT_CARDS_FRAGMENT}\n ${BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${ORDER_ITEM_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${PRODUCT_DETAILS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n ADDRESS_FRAGMENT,\n BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,\n GIFT_CARD_DETAILS_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n ORDER_ITEM_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n APPLIED_GIFT_CARDS_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const CUSTOMER_ORDER_FRAGMENT = /* GraphQL */ `\n fragment CUSTOMER_ORDER_FRAGMENT on CustomerOrder {\n printed_card_included\n gift_receipt_included\n gift_wrapping {\n ...GIFT_WRAPPING_FRAGMENT\n }\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n applied_gift_cards {\n ...APPLIED_GIFT_CARDS_FRAGMENT\n }\n items_eligible_for_return {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n }\n email\n id\n number\n order_date\n order_status_change_date\n status\n carrier\n shipping_method\n available_actions\n is_virtual\n admin_assisted_order\n comments {\n message\n timestamp\n }\n payment_methods {\n name\n type\n }\n applied_coupons {\n code\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n comments {\n message\n timestamp\n }\n items {\n __typename\n id\n product_sku\n product_name\n quantity_shipped\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n items {\n ...ORDER_ITEM_FRAGMENT\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n ${ADDRESS_FRAGMENT}\n ${APPLIED_GIFT_CARDS_FRAGMENT}\n ${BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${ORDER_ITEM_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${PRODUCT_DETAILS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/graphql/GuestOrderFragment.graphql';\n\nexport const PLACE_ORDER_FRAGMENT = /* GraphQL */ `\n fragment PLACE_ORDER_FRAGMENT on PlaceOrderOutput {\n errors {\n code\n message\n }\n orderV2 {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/graphql/GuestOrderFragment.graphql';\n\nexport const PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT = /* GraphQL */ `\n fragment PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT on PlaceNegotiableQuoteOrderOutputV2 {\n errors {\n code\n message\n }\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n ADDRESS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n GIFT_CARD_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,\n ORDER_ITEM_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const CANCEL_ORDER_MUTATION = /* GraphQL */ `\n mutation CANCEL_ORDER_MUTATION($orderId: ID!, $reason: String!) {\n cancelOrder(input: { order_id: $orderId, reason: $reason }) {\n error\n order {\n email\n available_actions\n status\n number\n id\n order_date\n carrier\n shipping_method\n is_virtual\n applied_coupons {\n code\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n comments {\n message\n timestamp\n }\n items {\n id\n product_sku\n product_name\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n items {\n ...ORDER_ITEM_FRAGMENT\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n }\n }\n ${PRODUCT_DETAILS_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n ${ADDRESS_FRAGMENT}\n ${ORDER_ITEM_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n OrderContext,\n OrderDataModel,\n ShoppingCartContext,\n} from '@/order/data/models';\n\nconst sumDiscounts = (accum: number, discount: any): number => {\n return accum + discount.amount.value;\n};\n\nexport const transformShoppingCartContext = (\n cartId: string,\n data: OrderDataModel\n): ShoppingCartContext => {\n return {\n id: cartId,\n totalQuantity: data.totalQuantity,\n possibleOnepageCheckout: true,\n // @ts-ignore\n items: data.items.map((orderItem) => ({\n // we don't know if the checkout drop-in can apply Manufacturer’s Suggested Retail Price\n canApplyMsrp: true,\n formattedPrice: '',\n id: orderItem.id,\n quantity: orderItem.totalQuantity,\n product: {\n canonicalUrl: orderItem.product?.canonicalUrl,\n mainImageUrl: orderItem.product?.image ?? '',\n name: orderItem.product?.name ?? '',\n productId: 0, // productId not exposed by core GraphQL as number (uid is string)\n productType: orderItem.product?.productType,\n sku: orderItem.product?.sku ?? '',\n topLevelSku: orderItem.product?.sku,\n },\n prices: {\n price: {\n value: orderItem.price.value,\n currency: orderItem.price.currency,\n regularPrice: orderItem.regularPrice?.value ?? orderItem.price.value,\n },\n },\n configurableOptions:\n orderItem.selectedOptions?.map((selectedOption) => ({\n optionLabel: selectedOption.label,\n valueLabel: selectedOption.value,\n })) || [],\n discountAmount:\n (orderItem.itemPrices?.discounts ?? orderItem.prices?.discounts)\n ?.reduce(sumDiscounts, 0) ?? 0,\n })),\n prices: {\n subtotalExcludingTax: {\n value: data.subtotalExclTax.value,\n currency: data.subtotalExclTax.currency,\n },\n subtotalIncludingTax: {\n value: data.subtotalInclTax.value,\n currency: data.subtotalInclTax.currency,\n },\n },\n discountAmount: data.discounts.reduce(sumDiscounts, 0),\n };\n};\n\nexport const transformOrderContext = (data: OrderDataModel): OrderContext => {\n const firstCoupon = data.coupons[0];\n // for now, we only support one payment per order\n const orderPayment = data.payments?.[0];\n\n return {\n appliedCouponCode: firstCoupon?.code ?? '',\n email: data.email,\n grandTotal: data.grandTotal.value,\n orderId: data.number,\n orderType: 'checkout',\n otherTax: 0,\n salesTax: data.totalTax.value,\n shipping: {\n shippingMethod: data.shipping?.code ?? '',\n shippingAmount: data.shipping?.amount ?? 0,\n },\n subtotalExcludingTax: data.subtotalExclTax.value,\n subtotalIncludingTax: data.subtotalInclTax.value,\n payments: orderPayment\n ? [\n {\n paymentMethodCode: orderPayment?.code || '',\n paymentMethodName: orderPayment?.name || '',\n total: data.grandTotal.value,\n orderId: data.number,\n },\n ]\n : [],\n discountAmount: data.discounts.reduce(sumDiscounts, 0),\n taxAmount: data.totalTax.value,\n paymentAmount: data.grandTotal.value,\n priceTotal: data.grandTotal.value,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const convertToCamelCase = (key: string): string => {\n return key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n};\n\nexport const convertToSnakeCase = (key: string): string => {\n return key.replace(/([A-Z])/g, (letter) => `_${letter.toLowerCase()}`);\n};\n\nexport const convertKeysCase = (\n data: any,\n type: 'snakeCase' | 'camelCase',\n dictionary?: Record<string, string>\n): any => {\n const typeList = ['string', 'boolean', 'number'];\n const callback =\n type === 'camelCase' ? convertToCamelCase : convertToSnakeCase;\n\n if (Array.isArray(data)) {\n return data.map((element) => {\n if (typeList.includes(typeof element) || element === null) return element;\n\n if (typeof element === 'object') {\n return convertKeysCase(element, type, dictionary);\n }\n return element;\n });\n }\n\n if (data !== null && typeof data === 'object') {\n return Object.entries(data).reduce((acc, [key, value]) => {\n const newKey =\n dictionary && dictionary[key] ? dictionary[key] : callback(key);\n acc[newKey] =\n typeList.includes(typeof value) || value === null\n ? value\n : convertKeysCase(value, type, dictionary);\n return acc;\n }, {} as Record<string, unknown>);\n }\n\n return data;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n AttributesListItems,\n ResponseAttributesFormItemsProps,\n} from '@/order/types';\nimport { AttributesFormModel } from '../models';\nimport { convertKeysCase, convertToCamelCase } from '@/order/lib/convertCase';\n\nexport const cloneArrayIfExists = (\n fields: ResponseAttributesFormItemsProps[]\n) => {\n let multilineItems: any = [];\n\n for (const element of fields) {\n if (element.frontend_input !== 'MULTILINE' || element.multiline_count < 2) {\n continue;\n }\n\n for (let i = 2; i <= element.multiline_count; i++) {\n const newItem = {\n ...element,\n name: `${element.code}_${i}`,\n code: `${element.code}_${i}`,\n id: `${element.code}_${i}`,\n };\n\n multilineItems.push(newItem);\n }\n }\n\n return multilineItems;\n};\n\nexport const transformAttributesForm = (\n items: ResponseAttributesFormItemsProps[] | AttributesListItems[] | [] = []\n): AttributesFormModel[] => {\n if (!items?.length) return [];\n\n const fields = items\n .filter((el) => !el.frontend_input?.includes('HIDDEN'))\n ?.map(({ code, ...other }) => {\n const isDefaultCode = code !== 'country_id' ? code : 'country_code';\n\n return {\n ...other,\n name: isDefaultCode,\n id: isDefaultCode,\n code: isDefaultCode,\n };\n });\n\n const multilineItems = cloneArrayIfExists(fields as any);\n\n const attributesConfig = [...fields, ...multilineItems]\n .map((item) => {\n const customUpperCode = convertToCamelCase(item.code);\n\n return convertKeysCase({ ...item, customUpperCode }, 'camelCase', {\n frontend_input: 'fieldType',\n frontend_class: 'className',\n is_required: 'required',\n sort_order: 'orderNumber',\n });\n })\n .sort(\n (a: AttributesFormModel, b: AttributesFormModel) =>\n a.orderNumber - b.orderNumber\n );\n\n return attributesConfig;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { getCustomerShortResponse } from '@/order/types';\nimport { CustomerDataModelShort } from '../models';\n\nexport const transformCustomer = (\n response: getCustomerShortResponse\n): CustomerDataModelShort => {\n return {\n email: response?.data?.customer?.email || '',\n firstname: response?.data?.customer?.firstname || '',\n lastname: response?.data?.customer?.lastname || '',\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderAddressModel } from '@/order/data/models';\n\nexport function transformCustomerAddressInput(address: OrderAddressModel) {\n return {\n region: {\n region_id: address?.regionId ? Number(address?.regionId) : null,\n region: address?.region,\n },\n city: address?.city,\n company: address?.company,\n country_code: address?.countryCode,\n firstname: address?.firstName,\n lastname: address?.lastName,\n middlename: address?.middleName,\n postcode: address?.postCode,\n street: address?.street,\n telephone: address?.telephone,\n custom_attributesV2:\n address?.customAttributes?.map((attr) => ({\n attribute_code: attr.code,\n value: attr.value,\n })) || [],\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { config } from '@/order/api';\nimport {\n OrderItemProps,\n OrderProps,\n ProductProps,\n QueryType,\n ResponseData,\n} from '@/order/types';\nimport { merge } from '@adobe-commerce/elsie/lib';\nimport {\n OrderDataModel,\n OrderItemModel,\n OrderItemProductModel,\n TransformedData,\n} from '../models';\nimport { transformCustomerOrdersReturns } from './transform-customer-orders-returns';\n\nconst parseNumber = (value: number | undefined | null) => {\n return value || 0;\n};\n\nconst transformProduct = (product: ProductProps): OrderItemProductModel => {\n return {\n __typename: product?.__typename || '',\n uid: product?.uid || '',\n onlyXLeftInStock: product?.only_x_left_in_stock ?? 0,\n stockStatus: product?.stock_status ?? '',\n priceRange: {\n maximumPrice: {\n regularPrice: {\n currency:\n product?.price_range?.maximum_price?.regular_price?.currency ?? '',\n value: product?.price_range?.maximum_price?.regular_price?.value ?? 0,\n },\n },\n },\n canonicalUrl: product?.canonical_url ?? '',\n urlKey: product?.url_key || '',\n id: product?.uid ?? '',\n name: product?.name || '',\n sku: product?.sku || '',\n image: product?.image?.url || '',\n productType: product?.__typename || '',\n thumbnail: {\n label: product?.thumbnail?.label || '',\n url: product?.thumbnail?.url || '',\n },\n };\n};\n\nexport const transformConfigurableOptions = (item: OrderItemProps) => {\n if (!item) return;\n\n if (!('selected_options' in item)) return;\n\n const configurableOptions: Record<string, string> = {};\n\n for (const option of item.selected_options!) {\n configurableOptions[option!.label] = option!.value;\n }\n\n return configurableOptions;\n};\n\nexport const transformBundleOptions = (data: any) => {\n const bundle = data?.map((option: any) => ({\n uid: option.uid,\n label: option.label,\n values: option.values.map((value: any) => value.product_name).join(', '),\n }));\n\n const bundleOptions: { [key: string]: any } = {};\n\n bundle?.forEach((option: any) => {\n bundleOptions[option.label] = option.values;\n });\n\n return Object.keys(bundleOptions).length > 0 ? bundleOptions : null;\n};\n\nexport const transformLinks = (links: { title: string }[]) => {\n return links?.length > 0\n ? {\n count: links.length,\n result: links.map((link: any) => link.title).join(', '),\n }\n : null;\n};\n\nconst getQuantities = (orderItem: OrderItemProps) => {\n return {\n quantityCanceled: orderItem?.quantity_canceled ?? 0,\n quantityInvoiced: orderItem?.quantity_invoiced ?? 0,\n quantityOrdered: orderItem?.quantity_ordered ?? 0,\n quantityRefunded: orderItem?.quantity_refunded ?? 0,\n quantityReturned: orderItem?.quantity_returned ?? 0,\n quantityShipped: orderItem?.quantity_shipped ?? 0,\n quantityReturnRequested: orderItem?.quantity_return_requested ?? 0,\n };\n};\n\nconst transformUserInformation = (user: any) => {\n return {\n firstName: user?.firstname ?? '',\n lastName: user?.lastname ?? '',\n middleName: user?.middlename ?? '',\n };\n};\n\nconst transformAddress = (address: any) => {\n const { firstName, lastName, middleName } = transformUserInformation(address);\n\n return {\n firstName,\n lastName,\n middleName,\n city: address?.city ?? '',\n company: address?.company ?? '',\n country: address?.country ?? '',\n countryCode: address?.country_code ?? '',\n fax: address?.fax ?? '',\n postCode: address?.postcode ?? '',\n prefix: address?.prefix ?? '',\n region: address?.region ?? '',\n regionId: address?.region_id ?? '',\n street: address?.street ?? [],\n suffix: address?.suffix ?? '',\n telephone: address?.telephone ?? '',\n vatId: address?.vat_id ?? '',\n customAttributes: address?.custom_attributes ?? [],\n };\n};\n\nconst transformTotal = (total: any) => {\n const defaultPriceData = {\n value: 0,\n currency: 'USD',\n };\n\n return {\n grandTotal: total?.grand_total ?? defaultPriceData,\n grandTotalExclTax: total?.grand_total_excl_tax ?? defaultPriceData,\n totalGiftCard: total?.total_giftcard ?? defaultPriceData,\n subtotalExclTax: total?.subtotal_excl_tax ?? defaultPriceData,\n subtotalInclTax: total?.subtotal_incl_tax ?? defaultPriceData,\n taxes: total?.taxes ?? [],\n totalTax: total?.total_tax ?? defaultPriceData,\n totalShipping: total?.total_shipping ?? defaultPriceData,\n discounts: total?.discounts ?? [],\n };\n};\n\nconst transformPrice = (orderItem: any) => {\n const initialData = {\n value: 0,\n currency: 'USD',\n };\n const prices = orderItem?.prices ?? {};\n\n return {\n price: prices?.price ?? initialData,\n priceIncludingTax: prices?.price_including_tax ?? initialData,\n originalPrice: prices?.original_price ?? initialData,\n originalPriceIncludingTax:\n prices?.original_price_including_tax ?? initialData,\n discounts: prices?.discounts ?? [],\n };\n};\n\nconst transformTaxCalculations = (\n itemPrices: any,\n productPrice: { value: number; currency: string },\n discounted: boolean\n) => {\n const price = itemPrices?.price;\n const priceIncludingTax = itemPrices?.priceIncludingTax;\n const originalPrice = itemPrices?.originalPrice;\n\n const baseOriginalPriceValue = discounted\n ? originalPrice?.value\n : priceIncludingTax?.value;\n\n const includeAndExcludeTax = {\n originalPrice,\n baseOriginalPrice: {\n value: baseOriginalPriceValue,\n currency: originalPrice?.currency,\n },\n baseDiscountedPrice: {\n value: priceIncludingTax?.value,\n currency: priceIncludingTax?.currency,\n },\n baseExcludingTax: {\n value: price?.value,\n currency: price?.currency,\n },\n };\n const excludeTax = {\n originalPrice,\n baseOriginalPrice: {\n value: originalPrice?.value,\n currency: priceIncludingTax?.currency,\n },\n baseDiscountedPrice: {\n value: productPrice?.value,\n currency: price?.currency,\n },\n baseExcludingTax: {\n value: price?.value,\n currency: price?.currency,\n },\n };\n const includeTax = {\n singleItemPrice: {\n value: discounted ? originalPrice.value : priceIncludingTax.value,\n currency: priceIncludingTax.currency,\n },\n baseOriginalPrice: {\n value: baseOriginalPriceValue,\n currency: priceIncludingTax.currency,\n },\n baseDiscountedPrice: {\n value: priceIncludingTax.value,\n currency: priceIncludingTax.currency,\n },\n };\n\n return {\n includeAndExcludeTax,\n excludeTax,\n includeTax,\n };\n};\n\nconst transformGiftCard = (orderItem: any) => {\n return {\n senderName: orderItem.gift_card?.sender_name || '',\n senderEmail: orderItem.gift_card?.sender_email || '',\n recipientEmail: orderItem.gift_card?.recipient_email || '',\n recipientName: orderItem.gift_card?.recipient_name || '',\n message: orderItem.gift_card?.message || '',\n };\n};\n\nconst transformThumbnail = (orderItem: any) => {\n return {\n label: orderItem?.product?.thumbnail?.label || '',\n url: orderItem?.product?.thumbnail?.url || '',\n };\n};\n\nfunction transformWrappingPrice(data: any) {\n return {\n currency: data?.currency ?? 'USD',\n value: data?.value ?? 0,\n };\n}\n\nfunction transformGiftMessage(data: any) {\n return {\n senderName: data?.gift_message?.from ?? '',\n recipientName: data?.gift_message?.to ?? '',\n message: data?.gift_message?.message ?? '',\n };\n}\n\nfunction transformGiftWrapping(data: any) {\n return {\n design: data?.gift_wrapping?.design ?? '',\n uid: data?.gift_wrapping?.uid,\n selected: Boolean(data?.gift_wrapping?.uid),\n image: {\n url: data?.gift_wrapping?.image?.url ?? '',\n label: data?.gift_wrapping?.image?.label ?? '',\n },\n price: {\n currency: data?.gift_wrapping?.price?.currency ?? 'USD',\n value: data?.gift_wrapping?.price?.value ?? 0,\n },\n };\n}\n\nconst transformOrderItem = (orderItem: any): OrderItemModel => {\n const {\n quantityCanceled,\n quantityInvoiced,\n quantityOrdered,\n quantityRefunded,\n quantityReturned,\n quantityShipped,\n quantityReturnRequested,\n } = getQuantities(orderItem);\n\n const itemPrices = transformPrice(orderItem);\n const discounted =\n orderItem?.prices?.original_price.value * orderItem?.quantity_ordered >\n orderItem?.prices?.price.value * orderItem?.quantity_ordered;\n const totalQuantity = parseNumber(orderItem?.quantity_ordered);\n const price = {\n value: orderItem?.product_sale_price?.value || 0,\n currency: orderItem?.product_sale_price?.currency,\n };\n\n return {\n giftMessage: transformGiftMessage(orderItem),\n giftWrappingAvailable: orderItem?.product?.gift_wrapping_available ?? false,\n giftWrappingPrice: transformWrappingPrice(\n orderItem?.product?.gift_wrapping_price\n ),\n productGiftWrapping: [transformGiftWrapping(orderItem)],\n selectedOptions: orderItem?.selected_options ?? [],\n productSalePrice: orderItem?.product_sale_price,\n status: orderItem?.status ?? '',\n type: orderItem?.__typename!,\n eligibleForReturn: orderItem?.eligible_for_return ?? false,\n productSku: orderItem?.product_sku ?? '',\n productName: orderItem?.product_name ?? '',\n productUrlKey: orderItem?.product_url_key ?? '',\n quantityCanceled,\n quantityInvoiced,\n quantityOrdered,\n quantityRefunded,\n quantityReturned,\n quantityShipped,\n quantityReturnRequested,\n id: orderItem?.id!,\n discounted,\n total: {\n value:\n orderItem?.product_sale_price?.value * orderItem?.quantity_ordered || 0,\n currency: orderItem?.product_sale_price?.currency || '',\n },\n totalInclTax: {\n value:\n orderItem?.product_sale_price?.value * orderItem?.quantity_ordered || 0,\n currency: orderItem?.product_sale_price?.currency,\n },\n price,\n prices: transformPrice(orderItem),\n itemPrices,\n taxCalculations: transformTaxCalculations(itemPrices, price, discounted),\n priceInclTax: {\n value: orderItem?.product_sale_price?.value ?? 0,\n currency: orderItem?.product_sale_price?.currency,\n },\n totalQuantity,\n regularPrice: {\n value:\n orderItem?.product?.price_range?.maximum_price?.regular_price?.value,\n currency:\n orderItem?.product?.price_range?.maximum_price?.regular_price?.currency,\n },\n product: transformProduct(orderItem?.product),\n thumbnail: transformThumbnail(orderItem),\n giftCard:\n orderItem?.__typename === 'GiftCardOrderItem'\n ? transformGiftCard(orderItem)\n : undefined,\n configurableOptions: transformConfigurableOptions(orderItem),\n bundleOptions:\n orderItem.__typename === 'BundleOrderItem'\n ? transformBundleOptions(orderItem.bundle_options)\n : null,\n downloadableLinks:\n orderItem.__typename === 'DownloadableOrderItem'\n ? transformLinks(orderItem?.downloadable_links)\n : null,\n };\n};\n\nexport const transformOrderItems = (\n items: OrderItemProps[]\n): OrderItemModel[] => {\n return items\n ?.filter((el) => el.__typename)\n .map((orderItem) => {\n return transformOrderItem(orderItem);\n });\n};\n\nconst transformBasicOptions = (orderData: OrderProps) => {\n return {\n token: orderData?.token ?? '',\n email: orderData?.email ?? '',\n status: orderData?.status ?? '',\n number: orderData?.number ?? '',\n id: orderData?.id ?? '',\n carrier: orderData.carrier ?? '',\n coupons: orderData?.applied_coupons ?? [],\n orderDate: orderData?.order_date ?? '',\n isVirtual: orderData?.is_virtual ?? false,\n availableActions: orderData?.available_actions ?? [],\n orderStatusChangeDate: orderData?.order_status_change_date ?? '',\n shippingMethod: orderData?.shipping_method ?? '',\n adminAssistedOrder: orderData?.admin_assisted_order != null,\n giftWrappingOrder: {\n price: {\n value: orderData?.gift_wrapping?.price?.value ?? 0,\n currency: orderData?.gift_wrapping?.price?.currency ?? 'USD',\n },\n uid: orderData?.gift_wrapping?.uid ?? '',\n },\n };\n};\n\nconst transformGiftOptions = (orderData: OrderProps) => {\n const giftOptions = orderData?.total?.gift_options;\n\n return {\n giftWrappingForItems: {\n value: giftOptions?.gift_wrapping_for_items?.value ?? 0,\n currency: giftOptions?.gift_wrapping_for_items?.currency ?? 'USD',\n },\n giftWrappingForItemsInclTax: {\n value: giftOptions?.gift_wrapping_for_items_incl_tax?.value ?? 0,\n currency:\n giftOptions?.gift_wrapping_for_items_incl_tax?.currency ?? 'USD',\n },\n giftWrappingForOrder: {\n value: giftOptions?.gift_wrapping_for_order?.value ?? 0,\n currency: giftOptions?.gift_wrapping_for_order?.currency ?? 'USD',\n },\n giftWrappingForOrderInclTax: {\n value: giftOptions?.gift_wrapping_for_order_incl_tax?.value ?? 0,\n currency:\n giftOptions?.gift_wrapping_for_order_incl_tax?.currency ?? 'USD',\n },\n printedCard: {\n value: giftOptions?.printed_card?.value ?? 0,\n currency: giftOptions?.printed_card?.currency ?? 'USD',\n },\n printedCardInclTax: {\n value: giftOptions?.printed_card_incl_tax?.value ?? 0,\n currency: giftOptions?.printed_card_incl_tax?.currency ?? 'USD',\n },\n };\n};\n\nexport const transformAppliedGiftCards = (appliedGiftCards: any[] = []) => {\n if (!appliedGiftCards) return [];\n\n return appliedGiftCards?.map((giftCard: any) => ({\n code: giftCard?.code ?? '',\n appliedBalance: {\n value: giftCard.applied_balance?.value ?? 0,\n currency: giftCard.applied_balance?.currency ?? 'USD',\n },\n }));\n};\n\nexport const transformOrderData = (\n orderData: OrderProps,\n returnRef?: string\n): OrderDataModel => {\n const initialData = transformBasicOptions(orderData);\n const billingAddress = transformAddress(orderData?.billing_address);\n const shippingAddress = transformAddress(orderData?.shipping_address);\n const shipments = orderData.shipments?.map((item) => {\n return {\n ...item,\n items: item.items.map((el) => ({\n id: el.id,\n productName: el.product_name,\n productSku: el.product_sku,\n quantityShipped: el.quantity_shipped,\n orderItem: transformOrderItem(el.order_item),\n })),\n };\n });\n\n const appliedGiftCards = transformAppliedGiftCards(\n orderData?.applied_gift_cards\n );\n const items = transformOrderItems(orderData.items);\n const comments = orderData?.comments?.map((c) => ({\n message: c?.message ?? '',\n timestamp: c?.timestamp ?? '',\n })) ?? [];\n const modifyReturns =\n transformCustomerOrdersReturns(orderData?.returns)?.ordersReturn ?? [];\n const returns = returnRef\n ? modifyReturns.filter((el) => el.returnNumber === returnRef)\n : modifyReturns;\n const itemsEligibleForReturn = transformOrderItems(\n orderData.items_eligible_for_return\n );\n const total = transformTotal(orderData?.total);\n const selectedPaymentMethod = orderData?.payment_methods?.[0];\n const shippingMethod = orderData?.shipping_method;\n const totalQuantity = items?.reduce(\n (accum: number, item: OrderItemModel) => accum + item?.totalQuantity,\n 0\n );\n const shipping = {\n amount: total?.totalShipping?.value ?? 0,\n currency: total?.totalShipping?.currency || '',\n code: initialData?.shippingMethod ?? '',\n };\n const payments = [\n {\n code: selectedPaymentMethod?.type ?? '',\n name: selectedPaymentMethod?.name ?? '',\n },\n ];\n const subtotalExclTax = total?.subtotalExclTax;\n const subtotalInclTax = total?.subtotalInclTax;\n const totalGiftOptions = transformGiftOptions(orderData);\n const giftMessage = transformGiftMessage(orderData);\n const cartGiftWrapping = [transformGiftWrapping(orderData)];\n const printedCardIncluded = orderData?.printed_card_included ?? false;\n const giftReceiptIncluded = orderData?.gift_receipt_included ?? false;\n\n const model = {\n ...initialData,\n ...total,\n giftMessage,\n cartGiftWrapping,\n printedCardIncluded,\n giftReceiptIncluded,\n appliedGiftCards,\n totalGiftOptions,\n subtotalExclTax,\n subtotalInclTax,\n billingAddress,\n shippingAddress,\n shipments,\n items,\n comments,\n returns,\n itemsEligibleForReturn,\n totalQuantity,\n shippingMethod,\n shipping,\n payments,\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.OrderDataModel?.transformer?.(orderData) // custom transformer\n );\n};\n\nexport const transformOrderDetails = <T extends QueryType>(\n queryType: QueryType,\n response: ResponseData<T>,\n returnRef?: string\n): TransformedData<T> => {\n if (\n response?.data?.customer?.orders?.items?.length &&\n queryType === 'orderData'\n ) {\n const item = response?.data?.customer?.orders?.items[0];\n\n return transformOrderData(item, returnRef) as TransformedData<T>;\n }\n\n return null as TransformedData<T>;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrdersReturnResponseProps } from '@/order/types';\nimport {\n CustomerOrdersReturnModel,\n OrdersReturnPropsModel,\n} from '../models/customer-orders-return';\nimport { transformOrderItems } from './transform-order-details';\nimport { config } from '@/order/api';\nimport { merge } from '@adobe-commerce/elsie/lib';\n\nexport const transformCustomerOrdersReturns = (\n returns: OrdersReturnResponseProps\n): CustomerOrdersReturnModel | null => {\n if (!returns?.items?.length) return null;\n\n const ordersList = returns?.items;\n const pageInfo = returns?.page_info;\n\n const ordersReturn = [...ordersList]\n .sort((a, b) => +b.number - +a.number)\n .map((element) => {\n const { order, status, number, created_at } = element;\n const tracking =\n element?.shipping?.tracking?.map((el) => {\n const { status, carrier, tracking_number } = el;\n\n return { status, carrier, trackingNumber: tracking_number };\n }) ?? [];\n\n const items = element.items.map((item) => {\n const quantity = item?.quantity;\n const status = item?.status;\n const request_quantity = item?.request_quantity;\n const uid = item?.uid;\n const order_item = item?.order_item;\n\n const orderItem =\n transformOrderItems([order_item])?.reduce((_, item) => item, {}) ??\n {};\n\n return {\n uid,\n quantity,\n status,\n requestQuantity: request_quantity,\n ...orderItem,\n };\n });\n\n return {\n createdReturnAt: created_at,\n returnStatus: status,\n token: order?.token,\n orderNumber: order?.number,\n returnNumber: number,\n items,\n tracking,\n };\n });\n\n const model = {\n ordersReturn: ordersReturn as OrdersReturnPropsModel[],\n ...(pageInfo\n ? {\n pageInfo: {\n pageSize: pageInfo.page_size,\n totalPages: pageInfo.total_pages,\n currentPage: pageInfo.current_page,\n },\n }\n : {}),\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.CustomerOrdersReturnModel?.transformer?.({\n ...ordersList,\n ...pageInfo,\n }) // custom transformer\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GuestOrderByTokenResponse, GuestOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformGuestOrder = (\n response: GuestOrderResponse,\n returnRef?: string\n): OrderDataModel | null => {\n if (!response?.data?.guestOrder) return null;\n\n const guestOrder = response?.data?.guestOrder;\n\n return transformOrderData(guestOrder, returnRef);\n};\n\nexport const transformGuestOrderByToken = (\n response: GuestOrderByTokenResponse,\n returnRef?: string\n): OrderDataModel | null => {\n if (!response?.data?.guestOrderByToken) return null;\n\n const guestOrderByToken = response?.data?.guestOrderByToken;\n\n return transformOrderData(guestOrderByToken, returnRef);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PlaceOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformPlaceOrder = (\n response: PlaceOrderResponse\n): OrderDataModel | null => {\n const orderData = response?.data?.placeOrder?.orderV2;\n if (!orderData) return null;\n return transformOrderData(orderData);\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { PlaceNegotiableQuoteOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformPlaceNegotiableQuoteOrder = (\n response: PlaceNegotiableQuoteOrderResponse\n): OrderDataModel | null => {\n const orderData = response?.data?.placeNegotiableQuoteOrderV2?.order;\n if (!orderData) return null;\n return transformOrderData(orderData);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { StoreConfigModel } from '@/order/data/models';\n\nexport function transformStoreConfig(data: any): StoreConfigModel | null {\n if (!data) return null;\n\n return {\n baseMediaUrl: data.base_media_url,\n orderCancellationEnabled: data.order_cancellation_enabled,\n orderCancellationReasons: data.order_cancellation_reasons,\n shoppingOrderDisplayPrice: data.orders_invoices_credit_memos_display_price,\n shoppingOrdersDisplaySubtotal:\n data.orders_invoices_credit_memos_display_subtotal,\n shoppingOrdersDisplayShipping:\n data.orders_invoices_credit_memos_display_shipping_amount,\n shoppingOrdersDisplayGrandTotal:\n data.orders_invoices_credit_memos_display_grandtotal,\n shoppingOrdersDisplayFullSummary:\n data.orders_invoices_credit_memos_display_full_summary,\n shoppingOrdersDisplayZeroTax:\n data.orders_invoices_credit_memos_display_zero_tax,\n salesPrintedCard: +data.sales_printed_card,\n salesGiftWrapping: +data.sales_gift_wrapping,\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { RequestReturnResponse } from '@/order/types';\nimport { RequestReturnModel } from '@/order/data/models';\nimport { merge } from '@adobe-commerce/elsie/lib';\nimport { config } from '@/order/api';\n\nexport const transformRequestReturn = (\n response: RequestReturnResponse\n): RequestReturnModel | {} => {\n if (!response?.data?.requestReturn?.return) return {};\n\n const { created_at, ...props } = response.data.requestReturn.return;\n\n const model = { ...props, createdAt: created_at };\n\n return merge(\n model, // default transformer\n config\n .getConfig()\n ?.models?.RequestReturnModel?.transformer?.(\n response.data.requestReturn.return\n ) // custom transformer\n );\n};\n","import { fetchGraphQl } from '@/order/api';\nimport { CANCEL_ORDER_MUTATION } from './graphql/cancelOrderMutation';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const cancelOrder = async (\n orderId: string,\n reason: string,\n onSuccess: Function,\n onError: Function\n): Promise<void | null | undefined> => {\n if (!orderId) throw new Error('No order ID found');\n if (!reason) throw new Error('No reason found');\n\n return fetchGraphQl(CANCEL_ORDER_MUTATION, {\n variables: {\n orderId,\n reason,\n },\n })\n .then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n if (data.cancelOrder.error != null) {\n onError();\n return;\n }\n const orderData = transformOrderData(data.cancelOrder.order);\n onSuccess(orderData);\n })\n .catch(() => onError());\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_ATTRIBUTES_FORM = /* GraphQL */ `\n query GET_ATTRIBUTES_FORM($formCode: String!) {\n attributesForm(formCode: $formCode) {\n items {\n code\n default_value\n entity_type\n frontend_class\n frontend_input\n is_required\n is_unique\n label\n options {\n is_default\n label\n value\n }\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n validate_rules {\n name\n value\n }\n }\n }\n errors {\n type\n message\n }\n }\n }\n`;\n\nexport const GET_ATTRIBUTES_FORM_SHORT = /* GraphQL */ `\n query GET_ATTRIBUTES_FORM_SHORT {\n attributesForm(formCode: \"customer_register_address\") {\n items {\n frontend_input\n label\n code\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('order/error', {\n source: 'auth',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '../fetch-graphql';\nimport {\n GET_ATTRIBUTES_FORM,\n GET_ATTRIBUTES_FORM_SHORT,\n} from './graphql/getAttributesForm.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformAttributesForm } from '@/order/data/transforms';\nimport { AttributesFormModel } from '@/order/data/models';\nimport { GetAttributesFormResponse } from '@/order/types';\n\nexport const getAttributesForm = async (\n formCode: string\n): Promise<AttributesFormModel[]> => {\n return await fetchGraphQl(\n formCode !== 'shortRequest'\n ? GET_ATTRIBUTES_FORM\n : GET_ATTRIBUTES_FORM_SHORT,\n {\n method: 'GET',\n cache: 'force-cache',\n variables: { formCode },\n }\n )\n .then((response: GetAttributesFormResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformAttributesForm(response?.data?.attributesForm?.items);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_ATTRIBUTES_LIST = /* GraphQL */ `\n query GET_ATTRIBUTES_LIST($entityType: AttributeEntityTypeEnum!) {\n attributesList(entityType: $entityType) {\n items {\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n validate_rules {\n name\n value\n }\n }\n ... on ReturnItemAttributeMetadata {\n sort_order\n }\n code\n label\n default_value\n frontend_input\n is_unique\n is_required\n options {\n is_default\n label\n value\n }\n }\n errors {\n type\n message\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '../fetch-graphql';\nimport { GET_ATTRIBUTES_LIST } from './graphql/getAttributesList.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformAttributesForm } from '@/order/data/transforms';\nimport { AttributesFormModel } from '@/order/data/models';\nimport { GetAttributesListResponse } from '@/order/types';\n\nexport const getAttributesList = async (\n entityType: string\n): Promise<AttributesFormModel[] | []> => {\n return await fetchGraphQl(GET_ATTRIBUTES_LIST, {\n method: 'GET',\n cache: 'force-cache',\n variables: { entityType },\n })\n .then((response: GetAttributesListResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformAttributesForm(response?.data?.attributesList?.items);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_CUSTOMER = /* GraphQL */ `\n query GET_CUSTOMER {\n customer {\n firstname\n lastname\n email\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { GET_CUSTOMER } from './graphql/getCustomer.graphql';\nimport { transformCustomer } from '@/order/data/transforms';\nimport { CustomerDataModelShort } from '@/order/data/models';\nimport { getCustomerShortResponse } from '@/order/types';\n\nexport const getCustomer = async (): Promise<CustomerDataModelShort> => {\n return await fetchGraphQl(GET_CUSTOMER, {\n method: 'GET',\n cache: 'force-cache',\n })\n .then((response: getCustomerShortResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformCustomer(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GIFT_CARD_DETAILS_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n RETURNS_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT\n} from '@/order/api/fragments';\n\nexport const GET_CUSTOMER_ORDERS_RETURN = /* GraphQL */ `\n query GET_CUSTOMER_ORDERS_RETURN($currentPage: Int, $pageSize: Int) {\n customer {\n returns(currentPage: $currentPage, pageSize: $pageSize) {\n page_info {\n page_size\n total_pages\n current_page\n }\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${RETURNS_FRAGMENT}\n ${PRODUCT_DETAILS_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { GET_CUSTOMER_ORDERS_RETURN } from './graphql/getCustomerOrdersReturn.graphql';\nimport { transformCustomerOrdersReturns } from '@/order/data/transforms';\nimport { CustomerOrdersReturnModel } from '@/order/data/models';\nimport { GetCustomerOrdersReturnResponse } from '@/order/types';\n\nexport const getCustomerOrdersReturn = async (\n pageSize = 10,\n currentPage = 1\n): Promise<CustomerOrdersReturnModel | null> => {\n return await fetchGraphQl(GET_CUSTOMER_ORDERS_RETURN, {\n method: 'GET',\n cache: 'force-cache',\n variables: { pageSize, currentPage },\n })\n .then((response: GetCustomerOrdersReturnResponse) => {\n return transformCustomerOrdersReturns(response?.data?.customer.returns);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT, RETURNS_FRAGMENT } from '@/order/api/fragments';\n\nexport const GET_GUEST_ORDER = /* GraphQL */ `\n query GET_GUEST_ORDER($input: GuestOrderInformationInput!) {\n guestOrder(input: $input) {\n ...GUEST_ORDER_FRAGMENT\n returns {\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { GET_GUEST_ORDER } from './graphql/getGuestOrder.graphql';\nimport { GuestOrderResponse } from '@/order/types';\nimport { transformGuestOrder } from '@/order/data/transforms';\nimport { OrderDataModel } from '@/order/data/models';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nexport const getGuestOrder = async (form: {\n number: string;\n email: string;\n lastname: string;\n}): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(GET_GUEST_ORDER, {\n method: 'GET',\n cache: 'no-cache',\n variables: {\n input: form,\n },\n })\n .then((response: GuestOrderResponse) => {\n if (\n response.errors?.length &&\n response.errors[0].message === 'Please login to view the order.'\n ) {\n return handleFetchError(response.errors);\n }\n\n return transformGuestOrder(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CUSTOMER_ORDER_FRAGMENT } from '@/order/api/graphql/CustomerOrderFragment.graphql';\nimport { RETURNS_FRAGMENT } from '@/order/api/fragments';\n\nexport const ORDER_BY_NUMBER = /* GraphQL */ `\n query ORDER_BY_NUMBER($orderNumber: String!, $pageSize: Int) {\n customer {\n orders(filter: { number: { eq: $orderNumber } }) {\n items {\n ...CUSTOMER_ORDER_FRAGMENT\n returns(pageSize: $pageSize) {\n ...RETURNS_FRAGMENT\n }\n items_eligible_for_return {\n ...ORDER_ITEM_FRAGMENT\n }\n }\n }\n }\n }\n ${CUSTOMER_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { ORDER_BY_NUMBER } from './graphql/orderByNumber.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport {\n QueryType,\n ResponseData,\n GetOrderDetailsByIdProps,\n} from '@/order/types';\nimport { transformOrderDetails } from '@/order/data/transforms';\nimport { TransformedData } from '@/order/data/models';\n\nexport const getOrderDetailsById = async <T extends QueryType>({\n orderId,\n returnRef,\n queryType,\n returnsPageSize = 50,\n}: GetOrderDetailsByIdProps): Promise<TransformedData<T>> => {\n return await fetchGraphQl(ORDER_BY_NUMBER, {\n method: 'GET',\n cache: 'force-cache',\n variables: { orderNumber: orderId, pageSize: returnsPageSize },\n })\n .then((response) => {\n return transformOrderDetails(\n queryType ?? 'orderData',\n response as ResponseData<T>,\n returnRef\n );\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const STORE_CONFIG_QUERY = /* GraphQL */ `\n query STORE_CONFIG_QUERY {\n storeConfig {\n order_cancellation_enabled\n order_cancellation_reasons {\n description\n }\n base_media_url\n orders_invoices_credit_memos_display_price\n orders_invoices_credit_memos_display_shipping_amount\n orders_invoices_credit_memos_display_subtotal\n orders_invoices_credit_memos_display_grandtotal\n orders_invoices_credit_memos_display_full_summary\n orders_invoices_credit_memos_display_zero_tax\n sales_printed_card\n sales_gift_wrapping\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { StoreConfigModel } from '@/order/data/models';\nimport { transformStoreConfig } from '@/order/data/transforms';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nimport { STORE_CONFIG_QUERY } from './graphql/StoreConfigQuery';\n\nexport const getStoreConfig = async (): Promise<StoreConfigModel | null> => {\n return fetchGraphQl(STORE_CONFIG_QUERY, {\n method: 'GET',\n cache: 'force-cache',\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformStoreConfig(data.storeConfig);\n });\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GUEST_ORDER_FRAGMENT,\n RETURNS_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const ORDER_BY_TOKEN = /* GraphQL */ `\n query ORDER_BY_TOKEN($token: String!) {\n guestOrderByToken(input: { token: $token }) {\n ...GUEST_ORDER_FRAGMENT\n returns(pageSize: 50) {\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { ORDER_BY_TOKEN } from './graphql/guestOrderByToken.graphql';\nimport { transformGuestOrderByToken } from '@/order/data/transforms';\nimport { OrderDataModel } from '@/order/data/models';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nexport const guestOrderByToken = async (\n token?: string,\n returnRef?: string\n): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(ORDER_BY_TOKEN, {\n method: 'GET',\n cache: 'no-cache',\n variables: { token },\n })\n .then((response) => {\n if (\n response.errors?.length &&\n response.errors[0].message === 'Please login to view the order.'\n ) {\n return handleFetchError(response.errors);\n }\n\n return transformGuestOrderByToken(response, returnRef);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\nimport { getOrderDetailsById } from '../getOrderDetailsById';\nimport { guestOrderByToken } from '../guestOrderByToken';\nimport { OrderDataModel } from '@/order/data/models';\nimport { ConfigProps } from '../initialize';\n\nconst QUERY_TYPE = 'orderData';\n\nexport const initializeOrderDetails = async (config: ConfigProps) => {\n const orderRef = typeof config?.orderRef === 'string' ? config?.orderRef : '';\n const returnRef =\n typeof config?.returnRef === 'string' ? config?.returnRef : '';\n\n const isToken =\n orderRef &&\n typeof config?.orderRef === 'string' &&\n config?.orderRef?.length > 20;\n\n const orderData = (config?.orderData as unknown) ?? null;\n\n if (orderData) {\n events.emit('order/data', {\n ...orderData,\n returnNumber: returnRef,\n } as OrderDataModel);\n\n return;\n }\n\n if (!orderRef) {\n return;\n }\n\n const responseOrderData = isToken\n ? await guestOrderByToken(orderRef, returnRef)\n : await getOrderDetailsById({\n orderId: orderRef,\n returnRef,\n queryType: QUERY_TYPE,\n });\n\n if (!responseOrderData) {\n events.emit('order/error', {\n source: 'order',\n type: 'network',\n error: 'The data was not received.',\n });\n } else {\n events.emit('order/data', {\n ...responseOrderData,\n returnNumber: returnRef,\n } as OrderDataModel);\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport type QueryParams = Record<string, string | number | boolean>;\n\nexport const navigation = {\n setHref: (url: string) => {\n window.location.href = url;\n },\n};\n\nexport const redirectTo = (\n getUrl?: (params?: any) => string,\n queryParams?: QueryParams,\n functionParams?: any\n) => {\n if (typeof getUrl !== 'function') return;\n\n const url = getUrl(functionParams);\n\n if (!queryParams || Object.keys(queryParams).length === 0) {\n navigation.setHref(url);\n return;\n }\n\n const searchParams = new URLSearchParams();\n\n Object.entries(queryParams).forEach(([key, value]) => {\n searchParams.append(key, String(value));\n });\n\n const separator = url.includes('?') ? '&' : '?';\n navigation.setHref(`${url}${separator}${searchParams.toString()}`);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Initializer, Model } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { initializeOrderDetails } from '../helpers/initializeOrderDetails';\nimport {\n CustomerOrdersReturnModel,\n OrderDataModel,\n RequestReturnModel,\n} from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\n\nexport type ConfigProps = {\n langDefinitions?: Lang;\n models?: {\n OrderDataModel?: Model<OrderDataModel>;\n CustomerOrdersReturnModel?: Model<CustomerOrdersReturnModel>;\n RequestReturnModel?: Model<RequestReturnModel>;\n };\n orderRef?: string;\n returnRef?: string;\n orderData?: OrderDataModel | null;\n routeOrdersList?: () => string;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n initializeOrderDetails(config as ConfigProps).catch((error) =>\n console.error(error)\n );\n },\n\n listeners: () => [\n events.on('companyContext/changed', async () => {\n const config = initialize.config.getConfig();\n const {\n orderRef,\n returnRef,\n routeOrdersList = () => '/customer/orders',\n } = config;\n\n // Only refetch if we have an orderRef\n if (!orderRef) {\n return;\n }\n\n // Create temporary listeners to detect success or error\n let orderDataListener: any;\n let orderErrorListener: any;\n\n const cleanup = () => {\n orderDataListener?.off();\n orderErrorListener?.off();\n };\n\n // Listener to detect when the order is successfully reloaded\n orderDataListener = events.on('order/data', () => {\n // Order reloaded successfully, components will update automatically\n cleanup();\n });\n\n // Listener to detect error in refetch\n orderErrorListener = events.on('order/error', (error: any) => {\n // Only act if it's a network error (not a user error)\n if (error?.type === 'network') {\n redirectTo(routeOrdersList);\n }\n cleanup();\n });\n\n // Refetch order details (this will emit order/data or order/error)\n await initializeOrderDetails({\n orderRef,\n returnRef,\n orderData: null, // Force refetch instead of using cached data\n });\n }),\n ],\n});\n\nexport const config = initialize.config;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport {\n transformOrderContext,\n transformShoppingCartContext,\n} from '@/order/data/transforms';\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/contexts.ts\n */\nexport const contexts = {\n SHOPPING_CART_CONTEXT: 'shoppingCartContext',\n ORDER_CONTEXT: 'orderContext',\n CHANNEL_CONTEXT: 'channelContext',\n PERSONAL_EMAIL_CONTEXT: 'personalEmail',\n};\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/events.ts\n */\nexport const events = {\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/place-order.md\n PLACE_ORDER: 'place-order',\n};\n\nexport function getAdobeDataLayer() {\n // @ts-ignore\n window.adobeDataLayer = window.adobeDataLayer || [];\n // @ts-ignore\n return window.adobeDataLayer;\n}\n\n/**\n * Sets a context in the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/Base.ts#L6\n */\nfunction setContext(name: string, data: any) {\n const adobeDataLayer = getAdobeDataLayer();\n\n // Clear existing context\n adobeDataLayer.push({\n [name]: null,\n });\n\n // Set new context\n adobeDataLayer.push({\n [name]: data,\n });\n}\n\n/**\n * Pushes an event to the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/Base.ts#L35\n */\nfunction pushEvent(event: string) {\n const adobeDataLayer = getAdobeDataLayer();\n\n adobeDataLayer.push((acdl: any) => {\n const state = acdl.getState ? acdl.getState() : {};\n\n acdl.push({\n event,\n eventInfo: {\n ...state,\n },\n });\n });\n}\n\nfunction getChannelContext() {\n return {\n _id: \"https://ns.adobe.com/xdm/channels/web\",\n _type: \"https://ns.adobe.com/xdm/channel-types/web\",\n };\n}\n\nexport function setChannelContext() {\n setContext(contexts.CHANNEL_CONTEXT, getChannelContext());\n}\n\n// Triggered when an order is placed\nexport function publishPlaceOrderEvent(cartId: string, data: OrderDataModel) {\n const orderContext = transformOrderContext(data);\n const shoppingCartContext = transformShoppingCartContext(cartId, data);\n\n // Set context and push open cart event\n setContext(contexts.ORDER_CONTEXT, {\n ...orderContext,\n });\n\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n setContext(contexts.PERSONAL_EMAIL_CONTEXT, {\n address: data.email,\n });\n\n setChannelContext();\n\n pushEvent(events.PLACE_ORDER);\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PlaceOrderResponse } from '@/order/types';\n\nexport class PlaceOrderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PlaceOrderError';\n }\n}\n\nexport const handlePlaceOrderError = (\n errors: NonNullable<PlaceOrderResponse['errors']>\n) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n throw new PlaceOrderError(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PLACE_ORDER_FRAGMENT } from \"@/order/api/graphql/PlaceOrderFragment.graphql\";\n\nexport const PLACE_ORDER_MUTATION = /* GraphQL */ `\n mutation PLACE_ORDER_MUTATION($cartId: String!) {\n placeOrder(input: { cart_id: $cartId }) {\n ...PLACE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { verifyReCaptcha } from '@adobe-commerce/recaptcha';\nimport { setFetchGraphQlHeader } from '../api';\n\nexport const setReCaptchaToken = async () => {\n const token = await verifyReCaptcha();\n\n if (token) {\n setFetchGraphQlHeader('X-ReCaptcha', token);\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { PlaceOrderResponse } from '@/order/types/index';\nimport { events } from '@adobe-commerce/event-bus';\nimport { PLACE_ORDER_MUTATION } from './graphql/placeOrderMutation';\nimport { setReCaptchaToken } from '@/order/lib/setReCaptchaToken';\n\nexport const placeOrder = async (\n cartId: string\n): Promise<OrderDataModel | null | undefined> => {\n if (!cartId) throw new Error('No cart ID found');\n await setReCaptchaToken();\n\n return fetchGraphQl(PLACE_ORDER_MUTATION, {\n method: 'POST',\n variables: { cartId },\n })\n .then((response: PlaceOrderResponse) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (response.data?.placeOrder?.errors?.length) {\n handlePlaceOrderError(response.data.placeOrder?.errors);\n }\n\n const payload = transformPlaceOrder(response);\n\n if (payload) {\n events.emit('order/placed', payload);\n events.emit('cart/reset', undefined);\n publishPlaceOrderEvent(cartId, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const REORDER_ITEMS_MUTATION = /* GraphQL */ `\n mutation REORDER_ITEMS_MUTATION($orderNumber: String!) {\n reorderItems(orderNumber: $orderNumber) {\n cart {\n itemsV2 {\n items {\n uid\n }\n }\n }\n userInputErrors {\n code\n message\n path\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { REORDER_ITEMS_MUTATION } from './graphql/reorderItems.graphql';\nimport {\n ReorderItemsProps,\n ReorderItemsResponse,\n} from '@/order/types/api/reorderItems.types';\n\nexport const reorderItems = async (\n orderNumber: string\n): Promise<ReorderItemsProps> => {\n return await fetchGraphQl(REORDER_ITEMS_MUTATION, {\n method: 'POST',\n variables: { orderNumber },\n })\n .then((response: ReorderItemsResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n const success =\n !!response?.data?.reorderItems?.cart?.itemsV2.items.length;\n const userInputErrors =\n response?.data?.reorderItems?.userInputErrors ?? [];\n\n return { success, userInputErrors };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_GUEST_ORDER_CANCEL_MUTATION = /* GraphQL */ `\n mutation REQUEST_GUEST_ORDER_CANCEL_MUTATION(\n $token: String!\n $reason: String!\n ) {\n requestGuestOrderCancel(input: { token: $token, reason: $reason }) {\n error\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { REQUEST_GUEST_ORDER_CANCEL_MUTATION } from './graphql/requestGuestOrderCancelMutation';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const requestGuestOrderCancel = async (\n token: string,\n reason: string,\n onSuccess: Function,\n onError: Function\n): Promise<void> => {\n if (!token) throw new Error('No order token found');\n if (!reason) throw new Error('No reason found');\n\n return fetchGraphQl(REQUEST_GUEST_ORDER_CANCEL_MUTATION, {\n variables: {\n token,\n reason,\n },\n })\n .then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n if (data.requestGuestOrderCancel.error != null) {\n onError();\n }\n const orderData = transformOrderData(data.requestGuestOrderCancel.order);\n onSuccess(orderData);\n })\n .catch(() => onError());\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { REQUEST_RETURN_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_RETURN_ORDER = /* GraphQL */ `\n mutation REQUEST_RETURN_ORDER($input: RequestReturnInput!) {\n requestReturn(input: $input) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { REQUEST_RETURN_ORDER } from './graphql/requestReturn.graphql';\nimport { convertKeysCase } from '@/order/lib/convertCase';\nimport { RequestReturnProps, RequestReturnResponse } from '@/order/types';\nimport { RequestReturnModel } from '@/order/data/models';\nimport { transformRequestReturn } from '@/order/data/transforms';\n\nexport const requestReturn = async (\n form: RequestReturnProps\n): Promise<RequestReturnModel | {}> => {\n const input = convertKeysCase(form, 'snakeCase', {});\n\n return await fetchGraphQl(REQUEST_RETURN_ORDER, {\n method: 'POST',\n variables: { input },\n })\n .then((response: RequestReturnResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformRequestReturn(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { REQUEST_RETURN_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_RETURN_GUEST_ORDER = /* GraphQL */ `\n mutation REQUEST_RETURN_GUEST_ORDER($input: RequestGuestReturnInput!) {\n requestGuestReturn(input: $input) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { REQUEST_RETURN_GUEST_ORDER } from './graphql/requestGuestReturn.graphql';\nimport { convertKeysCase } from '@/order/lib/convertCase';\nimport {\n RequestGuestReturnProps,\n RequestGuestReturnResponse,\n} from '@/order/types';\n\nexport const requestGuestReturn = async (\n form: RequestGuestReturnProps\n): Promise<{\n uid: string;\n number: string;\n status: string;\n createdAt: string;\n}> => {\n const input = convertKeysCase(form, 'snakeCase', {});\n\n return await fetchGraphQl(REQUEST_RETURN_GUEST_ORDER, {\n method: 'POST',\n variables: { input },\n })\n .then((response: RequestGuestReturnResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n const { created_at, ...props } = response.data.requestGuestReturn.return;\n\n return { ...props, createdAt: created_at };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GUEST_ORDER_FRAGMENT,\n REQUEST_RETURN_ORDER_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const CONFIRM_RETURN_GUEST_ORDER = /* GraphQL */ `\n mutation CONFIRM_RETURN_GUEST_ORDER(\n $orderId: ID!\n $confirmationKey: String!\n ) {\n confirmReturn(\n input: { order_id: $orderId, confirmation_key: $confirmationKey }\n ) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { CONFIRM_RETURN_GUEST_ORDER } from './graphql/confirmGuestReturn.graphql';\nimport { GuestConfirmReturnResponse } from '@/order/types';\nimport { transformOrderData } from '@/order/data/transforms';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\n\nexport const confirmGuestReturn = async (\n orderId: string,\n confirmationKey: string\n): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(CONFIRM_RETURN_GUEST_ORDER, {\n method: 'POST',\n variables: {\n orderId,\n confirmationKey,\n },\n })\n .then((response: GuestConfirmReturnResponse) => {\n if (response.errors?.length) {\n return handleFetchError(response.errors);\n }\n\n if (response?.data?.confirmReturn?.return?.order) {\n const transformOrder = transformOrderData(\n // @ts-ignore\n response?.data?.confirmReturn?.return?.order\n );\n events.emit('order/data', transformOrder);\n\n return transformOrder;\n }\n\n return null;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const CONFIRM_CANCEL_ORDER_MUTATION = /* GraphQL */ `\n mutation CONFIRM_CANCEL_ORDER_MUTATION(\n $orderId: ID!\n $confirmationKey: String!\n ) {\n confirmCancelOrder(\n input: { order_id: $orderId, confirmation_key: $confirmationKey }\n ) {\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n errorV2 {\n message\n code\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CONFIRM_CANCEL_ORDER_MUTATION } from '@/order/api/confirmCancelOrder/graphql/ConfirmCancelOrder';\nimport { events } from '@adobe-commerce/event-bus';\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const confirmCancelOrder = async (\n orderId: string,\n confirmationKey: string\n) => {\n return fetchGraphQl(CONFIRM_CANCEL_ORDER_MUTATION, {\n variables: {\n orderId,\n confirmationKey,\n },\n }).then(async ({ errors, data }) => {\n const _errors = [\n ...(data?.confirmCancelOrder?.errorV2\n ? [data?.confirmCancelOrder?.errorV2]\n : []),\n ...(errors ?? []),\n ];\n\n let payload: OrderDataModel | null = null;\n\n if (data?.confirmCancelOrder?.order) {\n payload = transformOrderData(data?.confirmCancelOrder?.order);\n events.emit('order/data', payload as OrderDataModel);\n }\n\n if (_errors.length > 0) {\n return handleFetchError(_errors);\n }\n\n return payload;\n });\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PLACE_ORDER_FRAGMENT } from '@/order/api/graphql/PlaceOrderFragment.graphql';\n\nexport const SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION = /* GraphQL */ `\n mutation setPaymentMethodAndPlaceOrder($cartId: String!, $paymentMethod: PaymentMethodInput!) {\n setPaymentMethodOnCart(\n input: {\n cart_id: $cartId\n payment_method: $paymentMethod\n }\n ) {\n cart {\n selected_payment_method {\n code\n title\n }\n }\n }\n placeOrder(input: { cart_id: $cartId }) {\n ...PLACE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_ORDER_FRAGMENT}\n`;","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { events } from '@adobe-commerce/event-bus';\nimport { SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION } from './graphql/setPaymentMethodAndPlaceOrderMutation';\n\nexport const setPaymentMethodAndPlaceOrder = async (\n cartId: string,\n paymentMethod: any\n): Promise<OrderDataModel | null | undefined> => {\n if (!cartId) throw new Error('No cart ID found');\n if (!paymentMethod) throw new Error('No payment method found');\n\n return fetchGraphQl(SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION, {\n variables: { cartId, paymentMethod },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n // Check for errors in placeOrder part of the response\n if (response.data?.placeOrder?.errors?.length) {\n handlePlaceOrderError(response.data.placeOrder?.errors);\n }\n\n // Use the same transformation as placeOrder\n const payload = transformPlaceOrder({ data: { placeOrder: response.data?.placeOrder } });\n\n if (payload) {\n events.emit('order/placed', payload);\n events.emit('cart/reset', undefined);\n publishPlaceOrderEvent(cartId, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT } from '@/order/api/graphql/PlaceNegotiableQuoteOrderFragment.graphql';\n\nexport const PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION = /* GraphQL */ `\n mutation PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION($quoteUid: ID!) {\n placeNegotiableQuoteOrderV2(input: { quote_uid: $quoteUid }) {\n ...PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceNegotiableQuoteOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\n import { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { PlaceNegotiableQuoteOrderResponse } from '@/order/types/index';\nimport { events } from '@adobe-commerce/event-bus';\nimport { PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION } from './graphql/placeNegotiableQuoteOrderMutation.graphql';\nimport { setReCaptchaToken } from '@/order/lib/setReCaptchaToken';\n\nexport const placeNegotiableQuoteOrder = async (\n quoteUid: string\n): Promise<OrderDataModel | null | undefined> => {\n if (!quoteUid) throw new Error('No quote UID found');\n await setReCaptchaToken();\n\n return fetchGraphQl(PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION, {\n method: 'POST',\n variables: { quoteUid },\n })\n .then((response: PlaceNegotiableQuoteOrderResponse) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (response.data?.placeNegotiableQuoteOrderV2?.errors?.length) {\n handlePlaceOrderError(response.data.placeNegotiableQuoteOrderV2?.errors);\n }\n\n const payload = transformPlaceNegotiableQuoteOrder(response);\n\n if (payload) {\n events.emit('order/placed', payload);\n publishPlaceOrderEvent(quoteUid, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n"],"names":["REQUEST_RETURN_ORDER_FRAGMENT","ADDRESS_FRAGMENT","PRODUCT_DETAILS_FRAGMENT","PRICE_DETAILS_FRAGMENT","GIFT_CARD_DETAILS_FRAGMENT","ORDER_ITEM_DETAILS_FRAGMENT","BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT","DOWNLOADABLE_ORDER_ITEMS_FRAGMENT","ORDER_ITEM_FRAGMENT","ORDER_SUMMARY_FRAGMENT","RETURNS_FRAGMENT","APPLIED_GIFT_CARDS_FRAGMENT","GIFT_MESSAGE_FRAGMENT","GIFT_WRAPPING_FRAGMENT","GUEST_ORDER_FRAGMENT","CUSTOMER_ORDER_FRAGMENT","PLACE_ORDER_FRAGMENT","PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT","CANCEL_ORDER_MUTATION","handleFetchError","errors","errorMessage","e","sumDiscounts","accum","discount","transformShoppingCartContext","cartId","data","orderItem","_a","_b","_c","_d","_e","_f","_g","_h","selectedOption","_k","_i","_j","transformOrderContext","firstCoupon","orderPayment","convertToCamelCase","key","_","letter","convertToSnakeCase","convertKeysCase","type","dictionary","typeList","callback","element","acc","value","newKey","cloneArrayIfExists","fields","multilineItems","newItem","transformAttributesForm","items","el","code","other","isDefaultCode","item","customUpperCode","a","b","transformCustomer","response","transformCustomerAddressInput","address","attr","parseNumber","transformProduct","product","transformConfigurableOptions","configurableOptions","option","transformBundleOptions","bundle","bundleOptions","transformLinks","links","link","getQuantities","transformUserInformation","user","transformAddress","firstName","lastName","middleName","transformTotal","total","defaultPriceData","transformPrice","initialData","prices","transformTaxCalculations","itemPrices","productPrice","discounted","price","priceIncludingTax","originalPrice","baseOriginalPriceValue","includeAndExcludeTax","excludeTax","includeTax","transformGiftCard","transformThumbnail","transformWrappingPrice","transformGiftMessage","transformGiftWrapping","transformOrderItem","quantityCanceled","quantityInvoiced","quantityOrdered","quantityRefunded","quantityReturned","quantityShipped","quantityReturnRequested","totalQuantity","_l","_p","_o","_n","_m","_t","_s","_r","_q","transformOrderItems","transformBasicOptions","orderData","transformGiftOptions","giftOptions","transformAppliedGiftCards","appliedGiftCards","giftCard","transformOrderData","returnRef","billingAddress","shippingAddress","shipments","comments","c","modifyReturns","transformCustomerOrdersReturns","returns","itemsEligibleForReturn","selectedPaymentMethod","shippingMethod","shipping","payments","subtotalExclTax","subtotalInclTax","totalGiftOptions","giftMessage","cartGiftWrapping","printedCardIncluded","giftReceiptIncluded","model","merge","config","transformOrderDetails","queryType","ordersList","pageInfo","order","status","number","created_at","tracking","carrier","tracking_number","quantity","request_quantity","uid","order_item","transformGuestOrder","guestOrder","transformGuestOrderByToken","guestOrderByToken","transformPlaceOrder","transformPlaceNegotiableQuoteOrder","transformStoreConfig","transformRequestReturn","props","cancelOrder","orderId","reason","onSuccess","onError","fetchGraphQl","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","getConfig","FetchGraphQL","GET_ATTRIBUTES_FORM","GET_ATTRIBUTES_FORM_SHORT","handleNetworkError","error","isAbortError","isPlaceOrderError","events","getAttributesForm","formCode","GET_ATTRIBUTES_LIST","getAttributesList","entityType","GET_CUSTOMER","getCustomer","GET_CUSTOMER_ORDERS_RETURN","getCustomerOrdersReturn","pageSize","currentPage","GET_GUEST_ORDER","getGuestOrder","form","ORDER_BY_NUMBER","getOrderDetailsById","returnsPageSize","STORE_CONFIG_QUERY","getStoreConfig","ORDER_BY_TOKEN","token","QUERY_TYPE","initializeOrderDetails","orderRef","isToken","responseOrderData","navigation","url","redirectTo","getUrl","queryParams","functionParams","searchParams","separator","initialize","Initializer","defaultConfig","routeOrdersList","orderDataListener","orderErrorListener","cleanup","contexts","getAdobeDataLayer","setContext","name","adobeDataLayer","pushEvent","event","acdl","state","getChannelContext","setChannelContext","publishPlaceOrderEvent","orderContext","shoppingCartContext","PlaceOrderError","message","handlePlaceOrderError","PLACE_ORDER_MUTATION","setReCaptchaToken","verifyReCaptcha","placeOrder","payload","REORDER_ITEMS_MUTATION","reorderItems","orderNumber","success","userInputErrors","REQUEST_GUEST_ORDER_CANCEL_MUTATION","requestGuestOrderCancel","REQUEST_RETURN_ORDER","requestReturn","input","REQUEST_RETURN_GUEST_ORDER","requestGuestReturn","CONFIRM_RETURN_GUEST_ORDER","confirmGuestReturn","confirmationKey","transformOrder","CONFIRM_CANCEL_ORDER_MUTATION","confirmCancelOrder","_errors","SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION","setPaymentMethodAndPlaceOrder","paymentMethod","PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION","placeNegotiableQuoteOrder","quoteUid"],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sources":["/@dropins/storefront-order/src/api/cancelOrder/graphql/cancelOrderMutation.ts","/@dropins/storefront-order/src/lib/fetch-error.ts","/@dropins/storefront-order/src/data/transforms/transform-acdl.ts","/@dropins/storefront-order/src/lib/convertCase.ts","/@dropins/storefront-order/src/data/transforms/transform-attributes-form.ts","/@dropins/storefront-order/src/data/transforms/transform-customer.ts","/@dropins/storefront-order/src/data/transforms/transform-customer-address-input.ts","/@dropins/storefront-order/src/data/transforms/transform-order-details.ts","/@dropins/storefront-order/src/data/transforms/transform-customer-orders-returns.ts","/@dropins/storefront-order/src/data/transforms/transform-guest-order.ts","/@dropins/storefront-order/src/data/transforms/transform-place-order.ts","/@dropins/storefront-order/src/data/transforms/transform-place-negotiable-quote-order.ts","/@dropins/storefront-order/src/data/transforms/transform-store-config.ts","/@dropins/storefront-order/src/data/transforms/transform-request-return.ts","/@dropins/storefront-order/src/api/cancelOrder/cancelOrder.ts","/@dropins/storefront-order/src/api/fetch-graphql/fetch-graphql.ts","/@dropins/storefront-order/src/api/getAttributesForm/graphql/getAttributesForm.graphql.ts","/@dropins/storefront-order/src/lib/network-error.ts","/@dropins/storefront-order/src/api/getAttributesForm/getAttributesForm.ts","/@dropins/storefront-order/src/api/getAttributesList/graphql/getAttributesList.graphql.ts","/@dropins/storefront-order/src/api/getAttributesList/getAttributesList.ts","/@dropins/storefront-order/src/api/getCustomer/graphql/getCustomer.graphql.ts","/@dropins/storefront-order/src/api/getCustomer/getCustomer.ts","/@dropins/storefront-order/src/api/getCustomerOrdersReturn/graphql/getCustomerOrdersReturn.graphql.ts","/@dropins/storefront-order/src/api/getCustomerOrdersReturn/getCustomerOrdersReturn.ts","/@dropins/storefront-order/src/api/getGuestOrder/graphql/getGuestOrder.graphql.ts","/@dropins/storefront-order/src/api/getGuestOrder/getGuestOrder.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/graphql/orderByNumber.graphql.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/getOrderDetailsById.ts","/@dropins/storefront-order/src/api/getStoreConfig/graphql/StoreConfigQuery.ts","/@dropins/storefront-order/src/api/getStoreConfig/getStoreConfig.ts","/@dropins/storefront-order/src/api/guestOrderByToken/graphql/guestOrderByToken.graphql.ts","/@dropins/storefront-order/src/api/guestOrderByToken/guestOrderByToken.ts","/@dropins/storefront-order/src/api/helpers/initializeOrderDetails.ts","/@dropins/storefront-order/src/lib/redirectTo.ts","/@dropins/storefront-order/src/api/initialize/initialize.ts","/@dropins/storefront-order/src/lib/acdl.ts","/@dropins/storefront-order/src/lib/place-order-error.ts","/@dropins/storefront-order/src/api/placeOrder/graphql/placeOrderMutation.ts","/@dropins/storefront-order/src/lib/setReCaptchaToken.ts","/@dropins/storefront-order/src/api/placeOrder/placeOrder.ts","/@dropins/storefront-order/src/api/reorderItems/graphql/reorderItems.graphql.ts","/@dropins/storefront-order/src/api/reorderItems/reorderItems.ts","/@dropins/storefront-order/src/api/requestGuestOrderCancel/graphql/requestGuestOrderCancelMutation.ts","/@dropins/storefront-order/src/api/requestGuestOrderCancel/requestGuestOrderCancel.ts","/@dropins/storefront-order/src/api/requestReturn/graphql/requestReturn.graphql.ts","/@dropins/storefront-order/src/api/requestReturn/requestReturn.ts","/@dropins/storefront-order/src/api/requestGuestReturn/graphql/requestGuestReturn.graphql.ts","/@dropins/storefront-order/src/api/requestGuestReturn/requestGuestReturn.ts","/@dropins/storefront-order/src/api/confirmGuestReturn/graphql/confirmGuestReturn.graphql.ts","/@dropins/storefront-order/src/api/confirmGuestReturn/confirmGuestReturn.ts","/@dropins/storefront-order/src/api/confirmCancelOrder/graphql/ConfirmCancelOrder.ts","/@dropins/storefront-order/src/api/confirmCancelOrder/confirmCancelOrder.ts","/@dropins/storefront-order/src/api/setPaymentMethodAndPlaceOrder/graphql/setPaymentMethodAndPlaceOrderMutation.ts","/@dropins/storefront-order/src/api/setPaymentMethodAndPlaceOrder/setPaymentMethodAndPlaceOrder.ts","/@dropins/storefront-order/src/api/placeNegotiableQuoteOrder/graphql/placeNegotiableQuoteOrderMutation.graphql.ts","/@dropins/storefront-order/src/api/placeNegotiableQuoteOrder/placeNegotiableQuoteOrder.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n ADDRESS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n GIFT_CARD_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,\n ORDER_ITEM_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const CANCEL_ORDER_MUTATION = /* GraphQL */ `\n mutation CANCEL_ORDER_MUTATION($orderId: ID!, $reason: String!) {\n cancelOrder(input: { order_id: $orderId, reason: $reason }) {\n error\n order {\n email\n available_actions\n status\n number\n id\n order_date\n carrier\n shipping_method\n is_virtual\n applied_coupons {\n code\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n comments {\n message\n timestamp\n }\n items {\n id\n product_sku\n product_name\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n items {\n ...ORDER_ITEM_FRAGMENT\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n }\n }\n ${PRODUCT_DETAILS_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n ${ADDRESS_FRAGMENT}\n ${ORDER_ITEM_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n OrderContext,\n OrderDataModel,\n ShoppingCartContext,\n} from '@/order/data/models';\n\nconst sumDiscounts = (accum: number, discount: any): number => {\n return accum + discount.amount.value;\n};\n\nexport const transformShoppingCartContext = (\n cartId: string,\n data: OrderDataModel\n): ShoppingCartContext => {\n return {\n id: cartId,\n totalQuantity: data.totalQuantity,\n possibleOnepageCheckout: true,\n // @ts-ignore\n items: data.items.map((orderItem) => ({\n // we don't know if the checkout drop-in can apply Manufacturer’s Suggested Retail Price\n canApplyMsrp: true,\n formattedPrice: '',\n id: orderItem.id,\n quantity: orderItem.totalQuantity,\n product: {\n canonicalUrl: orderItem.product?.canonicalUrl,\n mainImageUrl: orderItem.product?.image ?? '',\n name: orderItem.product?.name ?? '',\n productId: 0, // productId not exposed by core GraphQL as number (uid is string)\n productType: orderItem.product?.productType,\n sku: orderItem.product?.sku ?? '',\n topLevelSku: orderItem.product?.sku,\n },\n prices: {\n price: {\n value: orderItem.price.value,\n currency: orderItem.price.currency,\n regularPrice: orderItem.regularPrice?.value ?? orderItem.price.value,\n },\n },\n configurableOptions:\n orderItem.selectedOptions?.map((selectedOption) => ({\n optionLabel: selectedOption.label,\n valueLabel: selectedOption.value,\n })) || [],\n discountAmount:\n (orderItem.itemPrices?.discounts ?? orderItem.prices?.discounts)\n ?.reduce(sumDiscounts, 0) ?? 0,\n })),\n prices: {\n subtotalExcludingTax: {\n value: data.subtotalExclTax.value,\n currency: data.subtotalExclTax.currency,\n },\n subtotalIncludingTax: {\n value: data.subtotalInclTax.value,\n currency: data.subtotalInclTax.currency,\n },\n },\n discountAmount: data.discounts.reduce(sumDiscounts, 0),\n };\n};\n\nexport const transformOrderContext = (data: OrderDataModel): OrderContext => {\n const firstCoupon = data.coupons[0];\n // for now, we only support one payment per order\n const orderPayment = data.payments?.[0];\n\n return {\n appliedCouponCode: firstCoupon?.code ?? '',\n email: data.email,\n grandTotal: data.grandTotal.value,\n orderId: data.number,\n orderType: 'checkout',\n otherTax: 0,\n salesTax: data.totalTax.value,\n shipping: {\n shippingMethod: data.shipping?.code ?? '',\n shippingAmount: data.shipping?.amount ?? 0,\n },\n subtotalExcludingTax: data.subtotalExclTax.value,\n subtotalIncludingTax: data.subtotalInclTax.value,\n payments: orderPayment\n ? [\n {\n paymentMethodCode: orderPayment?.code || '',\n paymentMethodName: orderPayment?.name || '',\n total: data.grandTotal.value,\n orderId: data.number,\n },\n ]\n : [],\n discountAmount: data.discounts.reduce(sumDiscounts, 0),\n taxAmount: data.totalTax.value,\n paymentAmount: data.grandTotal.value,\n priceTotal: data.grandTotal.value,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const convertToCamelCase = (key: string): string => {\n return key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n};\n\nexport const convertToSnakeCase = (key: string): string => {\n return key.replace(/([A-Z])/g, (letter) => `_${letter.toLowerCase()}`);\n};\n\nexport const convertKeysCase = (\n data: any,\n type: 'snakeCase' | 'camelCase',\n dictionary?: Record<string, string>\n): any => {\n const typeList = ['string', 'boolean', 'number'];\n const callback =\n type === 'camelCase' ? convertToCamelCase : convertToSnakeCase;\n\n if (Array.isArray(data)) {\n return data.map((element) => {\n if (typeList.includes(typeof element) || element === null) return element;\n\n if (typeof element === 'object') {\n return convertKeysCase(element, type, dictionary);\n }\n return element;\n });\n }\n\n if (data !== null && typeof data === 'object') {\n return Object.entries(data).reduce((acc, [key, value]) => {\n const newKey =\n dictionary && dictionary[key] ? dictionary[key] : callback(key);\n acc[newKey] =\n typeList.includes(typeof value) || value === null\n ? value\n : convertKeysCase(value, type, dictionary);\n return acc;\n }, {} as Record<string, unknown>);\n }\n\n return data;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n AttributesListItems,\n ResponseAttributesFormItemsProps,\n} from '@/order/types';\nimport { AttributesFormModel } from '../models';\nimport { convertKeysCase, convertToCamelCase } from '@/order/lib/convertCase';\n\nexport const cloneArrayIfExists = (\n fields: ResponseAttributesFormItemsProps[]\n) => {\n let multilineItems: any = [];\n\n for (const element of fields) {\n if (element.frontend_input !== 'MULTILINE' || element.multiline_count < 2) {\n continue;\n }\n\n for (let i = 2; i <= element.multiline_count; i++) {\n const newItem = {\n ...element,\n name: `${element.code}_${i}`,\n code: `${element.code}_${i}`,\n id: `${element.code}_${i}`,\n };\n\n multilineItems.push(newItem);\n }\n }\n\n return multilineItems;\n};\n\nexport const transformAttributesForm = (\n items: ResponseAttributesFormItemsProps[] | AttributesListItems[] | [] = []\n): AttributesFormModel[] => {\n if (!items?.length) return [];\n\n const fields = items\n .filter((el) => !el.frontend_input?.includes('HIDDEN'))\n ?.map(({ code, ...other }) => {\n const isDefaultCode = code !== 'country_id' ? code : 'country_code';\n\n return {\n ...other,\n name: isDefaultCode,\n id: isDefaultCode,\n code: isDefaultCode,\n };\n });\n\n const multilineItems = cloneArrayIfExists(fields as any);\n\n const attributesConfig = [...fields, ...multilineItems]\n .map((item) => {\n const customUpperCode = convertToCamelCase(item.code);\n\n return convertKeysCase({ ...item, customUpperCode }, 'camelCase', {\n frontend_input: 'fieldType',\n frontend_class: 'className',\n is_required: 'required',\n sort_order: 'orderNumber',\n });\n })\n .sort(\n (a: AttributesFormModel, b: AttributesFormModel) =>\n a.orderNumber - b.orderNumber\n );\n\n return attributesConfig;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { getCustomerShortResponse } from '@/order/types';\nimport { CustomerDataModelShort } from '../models';\n\nexport const transformCustomer = (\n response: getCustomerShortResponse\n): CustomerDataModelShort => {\n return {\n email: response?.data?.customer?.email || '',\n firstname: response?.data?.customer?.firstname || '',\n lastname: response?.data?.customer?.lastname || '',\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderAddressModel } from '@/order/data/models';\n\nexport function transformCustomerAddressInput(address: OrderAddressModel) {\n return {\n region: {\n region_id: address?.regionId ? Number(address?.regionId) : null,\n region: address?.region,\n },\n city: address?.city,\n company: address?.company,\n country_code: address?.countryCode,\n firstname: address?.firstName,\n lastname: address?.lastName,\n middlename: address?.middleName,\n postcode: address?.postCode,\n street: address?.street,\n telephone: address?.telephone,\n custom_attributesV2:\n address?.customAttributes?.map((attr) => ({\n attribute_code: attr.code,\n value: attr.value,\n })) || [],\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { config } from '@/order/api';\nimport {\n OrderItemProps,\n OrderProps,\n ProductProps,\n QueryType,\n ResponseData,\n} from '@/order/types';\nimport { merge } from '@adobe-commerce/elsie/lib';\nimport {\n OrderDataModel,\n OrderItemModel,\n OrderItemProductModel,\n TransformedData,\n} from '../models';\nimport { transformCustomerOrdersReturns } from './transform-customer-orders-returns';\n\nconst parseNumber = (value: number | undefined | null) => {\n return value || 0;\n};\n\nconst transformProduct = (product: ProductProps): OrderItemProductModel => {\n return {\n __typename: product?.__typename || '',\n uid: product?.uid || '',\n onlyXLeftInStock: product?.only_x_left_in_stock ?? 0,\n stockStatus: product?.stock_status ?? '',\n priceRange: {\n maximumPrice: {\n regularPrice: {\n currency:\n product?.price_range?.maximum_price?.regular_price?.currency ?? '',\n value: product?.price_range?.maximum_price?.regular_price?.value ?? 0,\n },\n },\n },\n canonicalUrl: product?.canonical_url ?? '',\n urlKey: product?.url_key || '',\n id: product?.uid ?? '',\n name: product?.name || '',\n sku: product?.sku || '',\n image: product?.image?.url || '',\n productType: product?.__typename || '',\n thumbnail: {\n label: product?.thumbnail?.label || '',\n url: product?.thumbnail?.url || '',\n },\n };\n};\n\nexport const transformConfigurableOptions = (item: OrderItemProps) => {\n if (!item) return;\n\n if (!('selected_options' in item)) return;\n\n const configurableOptions: Record<string, string> = {};\n\n for (const option of item.selected_options!) {\n configurableOptions[option!.label] = option!.value;\n }\n\n return configurableOptions;\n};\n\nexport const transformBundleOptions = (data: any) => {\n const bundle = data?.map((option: any) => ({\n uid: option.uid,\n label: option.label,\n values: option.values.map((value: any) => value.product_name).join(', '),\n }));\n\n const bundleOptions: { [key: string]: any } = {};\n\n bundle?.forEach((option: any) => {\n bundleOptions[option.label] = option.values;\n });\n\n return Object.keys(bundleOptions).length > 0 ? bundleOptions : null;\n};\n\nexport const transformLinks = (links: { title: string }[]) => {\n return links?.length > 0\n ? {\n count: links.length,\n result: links.map((link: any) => link.title).join(', '),\n }\n : null;\n};\n\nconst getQuantities = (orderItem: OrderItemProps) => {\n return {\n quantityCanceled: orderItem?.quantity_canceled ?? 0,\n quantityInvoiced: orderItem?.quantity_invoiced ?? 0,\n quantityOrdered: orderItem?.quantity_ordered ?? 0,\n quantityRefunded: orderItem?.quantity_refunded ?? 0,\n quantityReturned: orderItem?.quantity_returned ?? 0,\n quantityShipped: orderItem?.quantity_shipped ?? 0,\n quantityReturnRequested: orderItem?.quantity_return_requested ?? 0,\n };\n};\n\nconst transformUserInformation = (user: any) => {\n return {\n firstName: user?.firstname ?? '',\n lastName: user?.lastname ?? '',\n middleName: user?.middlename ?? '',\n };\n};\n\nconst transformAddress = (address: any) => {\n const { firstName, lastName, middleName } = transformUserInformation(address);\n\n return {\n firstName,\n lastName,\n middleName,\n city: address?.city ?? '',\n company: address?.company ?? '',\n country: address?.country ?? '',\n countryCode: address?.country_code ?? '',\n fax: address?.fax ?? '',\n postCode: address?.postcode ?? '',\n prefix: address?.prefix ?? '',\n region: address?.region ?? '',\n regionId: address?.region_id ?? '',\n street: address?.street ?? [],\n suffix: address?.suffix ?? '',\n telephone: address?.telephone ?? '',\n vatId: address?.vat_id ?? '',\n customAttributes: address?.custom_attributes ?? [],\n };\n};\n\nconst transformTotal = (total: any) => {\n const defaultPriceData = {\n value: 0,\n currency: 'USD',\n };\n\n return {\n grandTotal: total?.grand_total ?? defaultPriceData,\n grandTotalExclTax: total?.grand_total_excl_tax ?? defaultPriceData,\n totalGiftCard: total?.total_giftcard ?? defaultPriceData,\n subtotalExclTax: total?.subtotal_excl_tax ?? defaultPriceData,\n subtotalInclTax: total?.subtotal_incl_tax ?? defaultPriceData,\n taxes: total?.taxes ?? [],\n totalTax: total?.total_tax ?? defaultPriceData,\n totalShipping: total?.total_shipping ?? defaultPriceData,\n discounts: total?.discounts ?? [],\n };\n};\n\nconst transformPrice = (orderItem: any) => {\n const initialData = {\n value: 0,\n currency: 'USD',\n };\n const prices = orderItem?.prices ?? {};\n\n return {\n price: prices?.price ?? initialData,\n priceIncludingTax: prices?.price_including_tax ?? initialData,\n originalPrice: prices?.original_price ?? initialData,\n originalPriceIncludingTax:\n prices?.original_price_including_tax ?? initialData,\n discounts: prices?.discounts ?? [],\n };\n};\n\nconst transformTaxCalculations = (\n itemPrices: any,\n productPrice: { value: number; currency: string },\n discounted: boolean\n) => {\n const price = itemPrices?.price;\n const priceIncludingTax = itemPrices?.priceIncludingTax;\n const originalPrice = itemPrices?.originalPrice;\n\n const baseOriginalPriceValue = discounted\n ? originalPrice?.value\n : priceIncludingTax?.value;\n\n const includeAndExcludeTax = {\n originalPrice,\n baseOriginalPrice: {\n value: baseOriginalPriceValue,\n currency: originalPrice?.currency,\n },\n baseDiscountedPrice: {\n value: priceIncludingTax?.value,\n currency: priceIncludingTax?.currency,\n },\n baseExcludingTax: {\n value: price?.value,\n currency: price?.currency,\n },\n };\n const excludeTax = {\n originalPrice,\n baseOriginalPrice: {\n value: originalPrice?.value,\n currency: priceIncludingTax?.currency,\n },\n baseDiscountedPrice: {\n value: productPrice?.value,\n currency: price?.currency,\n },\n baseExcludingTax: {\n value: price?.value,\n currency: price?.currency,\n },\n };\n const includeTax = {\n singleItemPrice: {\n value: discounted ? originalPrice.value : priceIncludingTax.value,\n currency: priceIncludingTax.currency,\n },\n baseOriginalPrice: {\n value: baseOriginalPriceValue,\n currency: priceIncludingTax.currency,\n },\n baseDiscountedPrice: {\n value: priceIncludingTax.value,\n currency: priceIncludingTax.currency,\n },\n };\n\n return {\n includeAndExcludeTax,\n excludeTax,\n includeTax,\n };\n};\n\nconst transformGiftCard = (orderItem: any) => {\n return {\n senderName: orderItem.gift_card?.sender_name || '',\n senderEmail: orderItem.gift_card?.sender_email || '',\n recipientEmail: orderItem.gift_card?.recipient_email || '',\n recipientName: orderItem.gift_card?.recipient_name || '',\n message: orderItem.gift_card?.message || '',\n };\n};\n\nconst transformThumbnail = (orderItem: any) => {\n return {\n label: orderItem?.product?.thumbnail?.label || '',\n url: orderItem?.product?.thumbnail?.url || '',\n };\n};\n\nfunction transformWrappingPrice(data: any) {\n return {\n currency: data?.currency ?? 'USD',\n value: data?.value ?? 0,\n };\n}\n\nfunction transformGiftMessage(data: any) {\n return {\n senderName: data?.gift_message?.from ?? '',\n recipientName: data?.gift_message?.to ?? '',\n message: data?.gift_message?.message ?? '',\n };\n}\n\nfunction transformGiftWrapping(data: any) {\n return {\n design: data?.gift_wrapping?.design ?? '',\n uid: data?.gift_wrapping?.uid,\n selected: Boolean(data?.gift_wrapping?.uid),\n image: {\n url: data?.gift_wrapping?.image?.url ?? '',\n label: data?.gift_wrapping?.image?.label ?? '',\n },\n price: {\n currency: data?.gift_wrapping?.price?.currency ?? 'USD',\n value: data?.gift_wrapping?.price?.value ?? 0,\n },\n };\n}\n\nconst transformOrderItem = (orderItem: any): OrderItemModel => {\n const {\n quantityCanceled,\n quantityInvoiced,\n quantityOrdered,\n quantityRefunded,\n quantityReturned,\n quantityShipped,\n quantityReturnRequested,\n } = getQuantities(orderItem);\n\n const itemPrices = transformPrice(orderItem);\n const discounted =\n orderItem?.prices?.original_price.value * orderItem?.quantity_ordered >\n orderItem?.prices?.price.value * orderItem?.quantity_ordered;\n const totalQuantity = parseNumber(orderItem?.quantity_ordered);\n const price = {\n value: orderItem?.product_sale_price?.value || 0,\n currency: orderItem?.product_sale_price?.currency,\n };\n\n return {\n giftMessage: transformGiftMessage(orderItem),\n giftWrappingAvailable: orderItem?.product?.gift_wrapping_available ?? false,\n giftWrappingPrice: transformWrappingPrice(\n orderItem?.product?.gift_wrapping_price\n ),\n productGiftWrapping: [transformGiftWrapping(orderItem)],\n selectedOptions: orderItem?.selected_options ?? [],\n productSalePrice: orderItem?.product_sale_price,\n status: orderItem?.status ?? '',\n type: orderItem?.__typename!,\n eligibleForReturn: orderItem?.eligible_for_return ?? false,\n productSku: orderItem?.product_sku ?? '',\n productName: orderItem?.product_name ?? '',\n productUrlKey: orderItem?.product_url_key ?? '',\n quantityCanceled,\n quantityInvoiced,\n quantityOrdered,\n quantityRefunded,\n quantityReturned,\n quantityShipped,\n quantityReturnRequested,\n id: orderItem?.id!,\n discounted,\n total: {\n value:\n orderItem?.product_sale_price?.value * orderItem?.quantity_ordered || 0,\n currency: orderItem?.product_sale_price?.currency || '',\n },\n totalInclTax: {\n value:\n orderItem?.product_sale_price?.value * orderItem?.quantity_ordered || 0,\n currency: orderItem?.product_sale_price?.currency,\n },\n price,\n prices: transformPrice(orderItem),\n itemPrices,\n taxCalculations: transformTaxCalculations(itemPrices, price, discounted),\n priceInclTax: {\n value: orderItem?.product_sale_price?.value ?? 0,\n currency: orderItem?.product_sale_price?.currency,\n },\n totalQuantity,\n regularPrice: {\n value:\n orderItem?.product?.price_range?.maximum_price?.regular_price?.value,\n currency:\n orderItem?.product?.price_range?.maximum_price?.regular_price?.currency,\n },\n product: transformProduct(orderItem?.product),\n thumbnail: transformThumbnail(orderItem),\n giftCard:\n orderItem?.__typename === 'GiftCardOrderItem'\n ? transformGiftCard(orderItem)\n : undefined,\n configurableOptions: transformConfigurableOptions(orderItem),\n bundleOptions:\n orderItem.__typename === 'BundleOrderItem'\n ? transformBundleOptions(orderItem.bundle_options)\n : null,\n downloadableLinks:\n orderItem.__typename === 'DownloadableOrderItem'\n ? transformLinks(orderItem?.downloadable_links)\n : null,\n };\n};\n\nexport const transformOrderItems = (\n items: OrderItemProps[]\n): OrderItemModel[] => {\n return items\n ?.filter((el) => el.__typename)\n .map((orderItem) => {\n return transformOrderItem(orderItem);\n });\n};\n\nconst transformBasicOptions = (orderData: OrderProps) => {\n return {\n token: orderData?.token ?? '',\n email: orderData?.email ?? '',\n status: orderData?.status ?? '',\n number: orderData?.number ?? '',\n id: orderData?.id ?? '',\n carrier: orderData.carrier ?? '',\n coupons: orderData?.applied_coupons ?? [],\n orderDate: orderData?.order_date ?? '',\n isVirtual: orderData?.is_virtual ?? false,\n availableActions: orderData?.available_actions ?? [],\n orderStatusChangeDate: orderData?.order_status_change_date ?? '',\n shippingMethod: orderData?.shipping_method ?? '',\n adminAssistedOrder: orderData?.admin_assisted_order != null,\n giftWrappingOrder: {\n price: {\n value: orderData?.gift_wrapping?.price?.value ?? 0,\n currency: orderData?.gift_wrapping?.price?.currency ?? 'USD',\n },\n uid: orderData?.gift_wrapping?.uid ?? '',\n },\n };\n};\n\nconst transformGiftOptions = (orderData: OrderProps) => {\n const giftOptions = orderData?.total?.gift_options;\n\n return {\n giftWrappingForItems: {\n value: giftOptions?.gift_wrapping_for_items?.value ?? 0,\n currency: giftOptions?.gift_wrapping_for_items?.currency ?? 'USD',\n },\n giftWrappingForItemsInclTax: {\n value: giftOptions?.gift_wrapping_for_items_incl_tax?.value ?? 0,\n currency:\n giftOptions?.gift_wrapping_for_items_incl_tax?.currency ?? 'USD',\n },\n giftWrappingForOrder: {\n value: giftOptions?.gift_wrapping_for_order?.value ?? 0,\n currency: giftOptions?.gift_wrapping_for_order?.currency ?? 'USD',\n },\n giftWrappingForOrderInclTax: {\n value: giftOptions?.gift_wrapping_for_order_incl_tax?.value ?? 0,\n currency:\n giftOptions?.gift_wrapping_for_order_incl_tax?.currency ?? 'USD',\n },\n printedCard: {\n value: giftOptions?.printed_card?.value ?? 0,\n currency: giftOptions?.printed_card?.currency ?? 'USD',\n },\n printedCardInclTax: {\n value: giftOptions?.printed_card_incl_tax?.value ?? 0,\n currency: giftOptions?.printed_card_incl_tax?.currency ?? 'USD',\n },\n };\n};\n\nexport const transformAppliedGiftCards = (appliedGiftCards: any[] = []) => {\n if (!appliedGiftCards) return [];\n\n return appliedGiftCards?.map((giftCard: any) => ({\n code: giftCard?.code ?? '',\n appliedBalance: {\n value: giftCard.applied_balance?.value ?? 0,\n currency: giftCard.applied_balance?.currency ?? 'USD',\n },\n }));\n};\n\nexport const transformOrderData = (\n orderData: OrderProps,\n returnRef?: string\n): OrderDataModel => {\n const initialData = transformBasicOptions(orderData);\n const billingAddress = transformAddress(orderData?.billing_address);\n const shippingAddress = transformAddress(orderData?.shipping_address);\n const shipments = orderData.shipments?.map((item) => {\n return {\n ...item,\n items: item.items.map((el) => ({\n id: el.id,\n productName: el.product_name,\n productSku: el.product_sku,\n quantityShipped: el.quantity_shipped,\n orderItem: transformOrderItem(el.order_item),\n })),\n };\n });\n\n const appliedGiftCards = transformAppliedGiftCards(\n orderData?.applied_gift_cards\n );\n const items = transformOrderItems(orderData.items);\n const comments = orderData?.comments?.map((c) => ({\n message: c?.message ?? '',\n timestamp: c?.timestamp ?? '',\n })) ?? [];\n const modifyReturns =\n transformCustomerOrdersReturns(orderData?.returns)?.ordersReturn ?? [];\n const returns = returnRef\n ? modifyReturns.filter((el) => el.returnNumber === returnRef)\n : modifyReturns;\n const itemsEligibleForReturn = transformOrderItems(\n orderData.items_eligible_for_return\n );\n const total = transformTotal(orderData?.total);\n const selectedPaymentMethod = orderData?.payment_methods?.[0];\n const shippingMethod = orderData?.shipping_method;\n const totalQuantity = items?.reduce(\n (accum: number, item: OrderItemModel) => accum + item?.totalQuantity,\n 0\n );\n const shipping = {\n amount: total?.totalShipping?.value ?? 0,\n currency: total?.totalShipping?.currency || '',\n code: initialData?.shippingMethod ?? '',\n };\n const payments = [\n {\n code: selectedPaymentMethod?.type ?? '',\n name: selectedPaymentMethod?.name ?? '',\n },\n ];\n const subtotalExclTax = total?.subtotalExclTax;\n const subtotalInclTax = total?.subtotalInclTax;\n const totalGiftOptions = transformGiftOptions(orderData);\n const giftMessage = transformGiftMessage(orderData);\n const cartGiftWrapping = [transformGiftWrapping(orderData)];\n const printedCardIncluded = orderData?.printed_card_included ?? false;\n const giftReceiptIncluded = orderData?.gift_receipt_included ?? false;\n\n const model = {\n ...initialData,\n ...total,\n giftMessage,\n cartGiftWrapping,\n printedCardIncluded,\n giftReceiptIncluded,\n appliedGiftCards,\n totalGiftOptions,\n subtotalExclTax,\n subtotalInclTax,\n billingAddress,\n shippingAddress,\n shipments,\n items,\n comments,\n returns,\n itemsEligibleForReturn,\n totalQuantity,\n shippingMethod,\n shipping,\n payments,\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.OrderDataModel?.transformer?.(orderData) // custom transformer\n );\n};\n\nexport const transformOrderDetails = <T extends QueryType>(\n queryType: QueryType,\n response: ResponseData<T>,\n returnRef?: string\n): TransformedData<T> => {\n if (\n response?.data?.customer?.orders?.items?.length &&\n queryType === 'orderData'\n ) {\n const item = response?.data?.customer?.orders?.items[0];\n\n return transformOrderData(item, returnRef) as TransformedData<T>;\n }\n\n return null as TransformedData<T>;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrdersReturnResponseProps } from '@/order/types';\nimport {\n CustomerOrdersReturnModel,\n OrdersReturnPropsModel,\n} from '../models/customer-orders-return';\nimport { transformOrderItems } from './transform-order-details';\nimport { config } from '@/order/api';\nimport { merge } from '@adobe-commerce/elsie/lib';\n\nexport const transformCustomerOrdersReturns = (\n returns: OrdersReturnResponseProps\n): CustomerOrdersReturnModel | null => {\n if (!returns?.items?.length) return null;\n\n const ordersList = returns?.items;\n const pageInfo = returns?.page_info;\n\n const ordersReturn = [...ordersList]\n .sort((a, b) => +b.number - +a.number)\n .map((element) => {\n const { order, status, number, created_at } = element;\n const tracking =\n element?.shipping?.tracking?.map((el) => {\n const { status, carrier, tracking_number } = el;\n\n return { status, carrier, trackingNumber: tracking_number };\n }) ?? [];\n\n const items = element.items.map((item) => {\n const quantity = item?.quantity;\n const status = item?.status;\n const request_quantity = item?.request_quantity;\n const uid = item?.uid;\n const order_item = item?.order_item;\n\n const orderItem =\n transformOrderItems([order_item])?.reduce((_, item) => item, {}) ??\n {};\n\n return {\n uid,\n quantity,\n status,\n requestQuantity: request_quantity,\n ...orderItem,\n };\n });\n\n return {\n createdReturnAt: created_at,\n returnStatus: status,\n token: order?.token,\n orderNumber: order?.number,\n returnNumber: number,\n items,\n tracking,\n };\n });\n\n const model = {\n ordersReturn: ordersReturn as OrdersReturnPropsModel[],\n ...(pageInfo\n ? {\n pageInfo: {\n pageSize: pageInfo.page_size,\n totalPages: pageInfo.total_pages,\n currentPage: pageInfo.current_page,\n },\n }\n : {}),\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.CustomerOrdersReturnModel?.transformer?.({\n ...ordersList,\n ...pageInfo,\n }) // custom transformer\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GuestOrderByTokenResponse, GuestOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformGuestOrder = (\n response: GuestOrderResponse,\n returnRef?: string\n): OrderDataModel | null => {\n if (!response?.data?.guestOrder) return null;\n\n const guestOrder = response?.data?.guestOrder;\n\n return transformOrderData(guestOrder, returnRef);\n};\n\nexport const transformGuestOrderByToken = (\n response: GuestOrderByTokenResponse,\n returnRef?: string\n): OrderDataModel | null => {\n if (!response?.data?.guestOrderByToken) return null;\n\n const guestOrderByToken = response?.data?.guestOrderByToken;\n\n return transformOrderData(guestOrderByToken, returnRef);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PlaceOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformPlaceOrder = (\n response: PlaceOrderResponse\n): OrderDataModel | null => {\n const orderData = response?.data?.placeOrder?.orderV2;\n if (!orderData) return null;\n return transformOrderData(orderData);\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { PlaceNegotiableQuoteOrderResponse } from '@/order/types';\nimport { OrderDataModel } from '../models';\nimport { transformOrderData } from './transform-order-details';\n\nexport const transformPlaceNegotiableQuoteOrder = (\n response: PlaceNegotiableQuoteOrderResponse\n): OrderDataModel | null => {\n const orderData = response?.data?.placeNegotiableQuoteOrderV2?.order;\n if (!orderData) return null;\n return transformOrderData(orderData);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { StoreConfigModel } from '@/order/data/models';\n\nexport function transformStoreConfig(data: any): StoreConfigModel | null {\n if (!data) return null;\n\n return {\n baseMediaUrl: data.base_media_url,\n orderCancellationEnabled: data.order_cancellation_enabled,\n orderCancellationReasons: data.order_cancellation_reasons,\n shoppingOrderDisplayPrice: data.orders_invoices_credit_memos_display_price,\n shoppingOrdersDisplaySubtotal:\n data.orders_invoices_credit_memos_display_subtotal,\n shoppingOrdersDisplayShipping:\n data.orders_invoices_credit_memos_display_shipping_amount,\n shoppingOrdersDisplayGrandTotal:\n data.orders_invoices_credit_memos_display_grandtotal,\n shoppingOrdersDisplayFullSummary:\n data.orders_invoices_credit_memos_display_full_summary,\n shoppingOrdersDisplayZeroTax:\n data.orders_invoices_credit_memos_display_zero_tax,\n salesPrintedCard: +data.sales_printed_card,\n salesGiftWrapping: +data.sales_gift_wrapping,\n };\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { RequestReturnResponse } from '@/order/types';\nimport { RequestReturnModel } from '@/order/data/models';\nimport { merge } from '@adobe-commerce/elsie/lib';\nimport { config } from '@/order/api';\n\nexport const transformRequestReturn = (\n response: RequestReturnResponse\n): RequestReturnModel | {} => {\n if (!response?.data?.requestReturn?.return) return {};\n\n const { created_at, ...props } = response.data.requestReturn.return;\n\n const model = { ...props, createdAt: created_at };\n\n return merge(\n model, // default transformer\n config\n .getConfig()\n ?.models?.RequestReturnModel?.transformer?.(\n response.data.requestReturn.return\n ) // custom transformer\n );\n};\n","import { fetchGraphQl } from '@/order/api';\nimport { CANCEL_ORDER_MUTATION } from './graphql/cancelOrderMutation';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const cancelOrder = async (\n orderId: string,\n reason: string,\n onSuccess: Function,\n onError: Function\n): Promise<void | null | undefined> => {\n if (!orderId) throw new Error('No order ID found');\n if (!reason) throw new Error('No reason found');\n\n return fetchGraphQl(CANCEL_ORDER_MUTATION, {\n variables: {\n orderId,\n reason,\n },\n })\n .then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n if (data.cancelOrder.error != null) {\n onError();\n return;\n }\n const orderData = transformOrderData(data.cancelOrder.order);\n onSuccess(orderData);\n })\n .catch(() => onError());\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_ATTRIBUTES_FORM = /* GraphQL */ `\n query GET_ATTRIBUTES_FORM($formCode: String!) {\n attributesForm(formCode: $formCode) {\n items {\n code\n default_value\n entity_type\n frontend_class\n frontend_input\n is_required\n is_unique\n label\n options {\n is_default\n label\n value\n }\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n validate_rules {\n name\n value\n }\n }\n }\n errors {\n type\n message\n }\n }\n }\n`;\n\nexport const GET_ATTRIBUTES_FORM_SHORT = /* GraphQL */ `\n query GET_ATTRIBUTES_FORM_SHORT {\n attributesForm(formCode: \"customer_register_address\") {\n items {\n frontend_input\n label\n code\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('order/error', {\n source: 'auth',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '../fetch-graphql';\nimport {\n GET_ATTRIBUTES_FORM,\n GET_ATTRIBUTES_FORM_SHORT,\n} from './graphql/getAttributesForm.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformAttributesForm } from '@/order/data/transforms';\nimport { AttributesFormModel } from '@/order/data/models';\nimport { GetAttributesFormResponse } from '@/order/types';\n\nexport const getAttributesForm = async (\n formCode: string\n): Promise<AttributesFormModel[]> => {\n return await fetchGraphQl(\n formCode !== 'shortRequest'\n ? GET_ATTRIBUTES_FORM\n : GET_ATTRIBUTES_FORM_SHORT,\n {\n method: 'GET',\n cache: 'force-cache',\n variables: { formCode },\n }\n )\n .then((response: GetAttributesFormResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformAttributesForm(response?.data?.attributesForm?.items);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_ATTRIBUTES_LIST = /* GraphQL */ `\n query GET_ATTRIBUTES_LIST($entityType: AttributeEntityTypeEnum!) {\n attributesList(entityType: $entityType) {\n items {\n ... on CustomerAttributeMetadata {\n multiline_count\n sort_order\n validate_rules {\n name\n value\n }\n }\n ... on ReturnItemAttributeMetadata {\n sort_order\n }\n code\n label\n default_value\n frontend_input\n is_unique\n is_required\n options {\n is_default\n label\n value\n }\n }\n errors {\n type\n message\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '../fetch-graphql';\nimport { GET_ATTRIBUTES_LIST } from './graphql/getAttributesList.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformAttributesForm } from '@/order/data/transforms';\nimport { AttributesFormModel } from '@/order/data/models';\nimport { GetAttributesListResponse } from '@/order/types';\n\nexport const getAttributesList = async (\n entityType: string\n): Promise<AttributesFormModel[] | []> => {\n return await fetchGraphQl(GET_ATTRIBUTES_LIST, {\n method: 'GET',\n cache: 'force-cache',\n variables: { entityType },\n })\n .then((response: GetAttributesListResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformAttributesForm(response?.data?.attributesList?.items);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_CUSTOMER = /* GraphQL */ `\n query GET_CUSTOMER {\n customer {\n firstname\n lastname\n email\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { GET_CUSTOMER } from './graphql/getCustomer.graphql';\nimport { transformCustomer } from '@/order/data/transforms';\nimport { CustomerDataModelShort } from '@/order/data/models';\nimport { getCustomerShortResponse } from '@/order/types';\n\nexport const getCustomer = async (): Promise<CustomerDataModelShort> => {\n return await fetchGraphQl(GET_CUSTOMER, {\n method: 'GET',\n cache: 'force-cache',\n })\n .then((response: getCustomerShortResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformCustomer(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GIFT_CARD_DETAILS_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n RETURNS_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT\n} from '@/order/api/fragments';\n\nexport const GET_CUSTOMER_ORDERS_RETURN = /* GraphQL */ `\n query GET_CUSTOMER_ORDERS_RETURN($currentPage: Int, $pageSize: Int) {\n customer {\n returns(currentPage: $currentPage, pageSize: $pageSize) {\n page_info {\n page_size\n total_pages\n current_page\n }\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${RETURNS_FRAGMENT}\n ${PRODUCT_DETAILS_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { GET_CUSTOMER_ORDERS_RETURN } from './graphql/getCustomerOrdersReturn.graphql';\nimport { transformCustomerOrdersReturns } from '@/order/data/transforms';\nimport { CustomerOrdersReturnModel } from '@/order/data/models';\nimport { GetCustomerOrdersReturnResponse } from '@/order/types';\n\nexport const getCustomerOrdersReturn = async (\n pageSize = 10,\n currentPage = 1\n): Promise<CustomerOrdersReturnModel | null> => {\n return await fetchGraphQl(GET_CUSTOMER_ORDERS_RETURN, {\n method: 'GET',\n cache: 'force-cache',\n variables: { pageSize, currentPage },\n })\n .then((response: GetCustomerOrdersReturnResponse) => {\n return transformCustomerOrdersReturns(response?.data?.customer.returns);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT, RETURNS_FRAGMENT } from '@/order/api/fragments';\n\nexport const GET_GUEST_ORDER = /* GraphQL */ `\n query GET_GUEST_ORDER($input: GuestOrderInformationInput!) {\n guestOrder(input: $input) {\n ...GUEST_ORDER_FRAGMENT\n returns {\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { GET_GUEST_ORDER } from './graphql/getGuestOrder.graphql';\nimport { GuestOrderResponse } from '@/order/types';\nimport { transformGuestOrder } from '@/order/data/transforms';\nimport { OrderDataModel } from '@/order/data/models';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nexport const getGuestOrder = async (form: {\n number: string;\n email: string;\n lastname: string;\n}): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(GET_GUEST_ORDER, {\n method: 'GET',\n cache: 'no-cache',\n variables: {\n input: form,\n },\n })\n .then((response: GuestOrderResponse) => {\n if (\n response.errors?.length &&\n response.errors[0].message === 'Please login to view the order.'\n ) {\n return handleFetchError(response.errors);\n }\n\n return transformGuestOrder(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CUSTOMER_ORDER_FRAGMENT } from '@/order/api/graphql/CustomerOrderFragment.graphql';\nimport { RETURNS_FRAGMENT } from '@/order/api/fragments';\n\nexport const ORDER_BY_NUMBER = /* GraphQL */ `\n query ORDER_BY_NUMBER($orderNumber: String!, $pageSize: Int) {\n customer {\n orders(filter: { number: { eq: $orderNumber } }) {\n items {\n ...CUSTOMER_ORDER_FRAGMENT\n returns(pageSize: $pageSize) {\n ...RETURNS_FRAGMENT\n }\n items_eligible_for_return {\n ...ORDER_ITEM_FRAGMENT\n }\n }\n }\n }\n }\n ${CUSTOMER_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { ORDER_BY_NUMBER } from './graphql/orderByNumber.graphql';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport {\n QueryType,\n ResponseData,\n GetOrderDetailsByIdProps,\n} from '@/order/types';\nimport { transformOrderDetails } from '@/order/data/transforms';\nimport { TransformedData } from '@/order/data/models';\n\nexport const getOrderDetailsById = async <T extends QueryType>({\n orderId,\n returnRef,\n queryType,\n returnsPageSize = 50,\n}: GetOrderDetailsByIdProps): Promise<TransformedData<T>> => {\n return await fetchGraphQl(ORDER_BY_NUMBER, {\n method: 'GET',\n cache: 'force-cache',\n variables: { orderNumber: orderId, pageSize: returnsPageSize },\n })\n .then((response) => {\n return transformOrderDetails(\n queryType ?? 'orderData',\n response as ResponseData<T>,\n returnRef\n );\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const STORE_CONFIG_QUERY = /* GraphQL */ `\n query STORE_CONFIG_QUERY {\n storeConfig {\n order_cancellation_enabled\n order_cancellation_reasons {\n description\n }\n base_media_url\n orders_invoices_credit_memos_display_price\n orders_invoices_credit_memos_display_shipping_amount\n orders_invoices_credit_memos_display_subtotal\n orders_invoices_credit_memos_display_grandtotal\n orders_invoices_credit_memos_display_full_summary\n orders_invoices_credit_memos_display_zero_tax\n sales_printed_card\n sales_gift_wrapping\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { StoreConfigModel } from '@/order/data/models';\nimport { transformStoreConfig } from '@/order/data/transforms';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nimport { STORE_CONFIG_QUERY } from './graphql/StoreConfigQuery';\n\nexport const getStoreConfig = async (): Promise<StoreConfigModel | null> => {\n return fetchGraphQl(STORE_CONFIG_QUERY, {\n method: 'GET',\n cache: 'force-cache',\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformStoreConfig(data.storeConfig);\n });\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GUEST_ORDER_FRAGMENT,\n RETURNS_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const ORDER_BY_TOKEN = /* GraphQL */ `\n query ORDER_BY_TOKEN($token: String!) {\n guestOrderByToken(input: { token: $token }) {\n ...GUEST_ORDER_FRAGMENT\n returns(pageSize: 50) {\n ...RETURNS_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n ${RETURNS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { ORDER_BY_TOKEN } from './graphql/guestOrderByToken.graphql';\nimport { transformGuestOrderByToken } from '@/order/data/transforms';\nimport { OrderDataModel } from '@/order/data/models';\nimport { handleFetchError } from '@/order/lib/fetch-error';\n\nexport const guestOrderByToken = async (\n token?: string,\n returnRef?: string\n): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(ORDER_BY_TOKEN, {\n method: 'GET',\n cache: 'no-cache',\n variables: { token },\n })\n .then((response) => {\n if (\n response.errors?.length &&\n response.errors[0].message === 'Please login to view the order.'\n ) {\n return handleFetchError(response.errors);\n }\n\n return transformGuestOrderByToken(response, returnRef);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\nimport { getOrderDetailsById } from '../getOrderDetailsById';\nimport { guestOrderByToken } from '../guestOrderByToken';\nimport { OrderDataModel } from '@/order/data/models';\nimport { ConfigProps } from '../initialize';\n\nconst QUERY_TYPE = 'orderData';\n\nexport const initializeOrderDetails = async (config: ConfigProps) => {\n const orderRef = typeof config?.orderRef === 'string' ? config?.orderRef : '';\n const returnRef =\n typeof config?.returnRef === 'string' ? config?.returnRef : '';\n\n const isToken =\n orderRef &&\n typeof config?.orderRef === 'string' &&\n config?.orderRef?.length > 20;\n\n const orderData = (config?.orderData as unknown) ?? null;\n\n if (orderData) {\n events.emit('order/data', {\n ...orderData,\n returnNumber: returnRef,\n } as OrderDataModel);\n\n return;\n }\n\n if (!orderRef) {\n return;\n }\n\n const responseOrderData = isToken\n ? await guestOrderByToken(orderRef, returnRef)\n : await getOrderDetailsById({\n orderId: orderRef,\n returnRef,\n queryType: QUERY_TYPE,\n });\n\n if (!responseOrderData) {\n events.emit('order/error', {\n source: 'order',\n type: 'network',\n error: 'The data was not received.',\n });\n } else {\n events.emit('order/data', {\n ...responseOrderData,\n returnNumber: returnRef,\n } as OrderDataModel);\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport type QueryParams = Record<string, string | number | boolean>;\n\nexport const navigation = {\n setHref: (url: string) => {\n window.location.href = url;\n },\n};\n\nexport const redirectTo = (\n getUrl?: (params?: any) => string,\n queryParams?: QueryParams,\n functionParams?: any\n) => {\n if (typeof getUrl !== 'function') return;\n\n const url = getUrl(functionParams);\n\n if (!queryParams || Object.keys(queryParams).length === 0) {\n navigation.setHref(url);\n return;\n }\n\n const searchParams = new URLSearchParams();\n\n Object.entries(queryParams).forEach(([key, value]) => {\n searchParams.append(key, String(value));\n });\n\n const separator = url.includes('?') ? '&' : '?';\n navigation.setHref(`${url}${separator}${searchParams.toString()}`);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Initializer, Model } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { initializeOrderDetails } from '../helpers/initializeOrderDetails';\nimport {\n CustomerOrdersReturnModel,\n OrderDataModel,\n RequestReturnModel,\n} from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\n\nexport type ConfigProps = {\n langDefinitions?: Lang;\n models?: {\n OrderDataModel?: Model<OrderDataModel>;\n CustomerOrdersReturnModel?: Model<CustomerOrdersReturnModel>;\n RequestReturnModel?: Model<RequestReturnModel>;\n };\n orderRef?: string;\n returnRef?: string;\n orderData?: OrderDataModel | null;\n routeOrdersList?: () => string;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n initializeOrderDetails(config as ConfigProps).catch((error) =>\n console.error(error)\n );\n },\n\n listeners: () => [\n events.on('companyContext/changed', async () => {\n const config = initialize.config.getConfig();\n const {\n orderRef,\n returnRef,\n routeOrdersList = () => '/customer/orders',\n } = config;\n\n // Only refetch if we have an orderRef\n if (!orderRef) {\n return;\n }\n\n // Create temporary listeners to detect success or error\n let orderDataListener: any;\n let orderErrorListener: any;\n\n const cleanup = () => {\n orderDataListener?.off();\n orderErrorListener?.off();\n };\n\n // Listener to detect when the order is successfully reloaded\n orderDataListener = events.on('order/data', () => {\n // Order reloaded successfully, components will update automatically\n cleanup();\n });\n\n // Listener to detect error in refetch\n orderErrorListener = events.on('order/error', (error: any) => {\n // Only act if it's a network error (not a user error)\n if (error?.type === 'network') {\n redirectTo(routeOrdersList);\n }\n cleanup();\n });\n\n // Refetch order details (this will emit order/data or order/error)\n await initializeOrderDetails({\n orderRef,\n returnRef,\n orderData: null, // Force refetch instead of using cached data\n });\n }),\n ],\n});\n\nexport const config = initialize.config;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport {\n transformOrderContext,\n transformShoppingCartContext,\n} from '@/order/data/transforms';\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/contexts.ts\n */\nexport const contexts = {\n SHOPPING_CART_CONTEXT: 'shoppingCartContext',\n ORDER_CONTEXT: 'orderContext',\n CHANNEL_CONTEXT: 'channelContext',\n PERSONAL_EMAIL_CONTEXT: 'personalEmail',\n};\n\n/**\n * See: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/events.ts\n */\nexport const events = {\n // See: https://github.com/adobe/commerce-events/blob/main/examples/events/place-order.md\n PLACE_ORDER: 'place-order',\n};\n\nexport function getAdobeDataLayer() {\n // @ts-ignore\n window.adobeDataLayer = window.adobeDataLayer || [];\n // @ts-ignore\n return window.adobeDataLayer;\n}\n\n/**\n * Sets a context in the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/Base.ts#L6\n */\nfunction setContext(name: string, data: any) {\n const adobeDataLayer = getAdobeDataLayer();\n\n // Clear existing context\n adobeDataLayer.push({\n [name]: null,\n });\n\n // Set new context\n adobeDataLayer.push({\n [name]: data,\n });\n}\n\n/**\n * Pushes an event to the Adobe Client Data Layer (ACDL)\n * Logic based on: https://github.com/adobe/commerce-events/blob/main/packages/storefront-events-sdk/src/Base.ts#L35\n */\nfunction pushEvent(event: string) {\n const adobeDataLayer = getAdobeDataLayer();\n\n adobeDataLayer.push((acdl: any) => {\n const state = acdl.getState ? acdl.getState() : {};\n\n acdl.push({\n event,\n eventInfo: {\n ...state,\n },\n });\n });\n}\n\nfunction getChannelContext() {\n return {\n _id: \"https://ns.adobe.com/xdm/channels/web\",\n _type: \"https://ns.adobe.com/xdm/channel-types/web\",\n };\n}\n\nexport function setChannelContext() {\n setContext(contexts.CHANNEL_CONTEXT, getChannelContext());\n}\n\n// Triggered when an order is placed\nexport function publishPlaceOrderEvent(cartId: string, data: OrderDataModel) {\n const orderContext = transformOrderContext(data);\n const shoppingCartContext = transformShoppingCartContext(cartId, data);\n\n // Set context and push open cart event\n setContext(contexts.ORDER_CONTEXT, {\n ...orderContext,\n });\n\n setContext(contexts.SHOPPING_CART_CONTEXT, {\n ...shoppingCartContext,\n });\n\n setContext(contexts.PERSONAL_EMAIL_CONTEXT, {\n address: data.email,\n });\n\n setChannelContext();\n\n pushEvent(events.PLACE_ORDER);\n}\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PlaceOrderResponse } from '@/order/types';\n\nexport class PlaceOrderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PlaceOrderError';\n }\n}\n\nexport const handlePlaceOrderError = (\n errors: NonNullable<PlaceOrderResponse['errors']>\n) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n throw new PlaceOrderError(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PLACE_ORDER_FRAGMENT } from \"@/order/api/graphql/PlaceOrderFragment.graphql\";\n\nexport const PLACE_ORDER_MUTATION = /* GraphQL */ `\n mutation PLACE_ORDER_MUTATION($cartId: String!) {\n placeOrder(input: { cart_id: $cartId }) {\n ...PLACE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { verifyReCaptcha } from '@adobe-commerce/recaptcha';\nimport { setFetchGraphQlHeader } from '../api';\n\nexport const setReCaptchaToken = async () => {\n const token = await verifyReCaptcha();\n\n if (token) {\n setFetchGraphQlHeader('X-ReCaptcha', token);\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { PlaceOrderResponse } from '@/order/types/index';\nimport { events } from '@adobe-commerce/event-bus';\nimport { PLACE_ORDER_MUTATION } from './graphql/placeOrderMutation';\nimport { setReCaptchaToken } from '@/order/lib/setReCaptchaToken';\n\nexport const placeOrder = async (\n cartId: string\n): Promise<OrderDataModel | null | undefined> => {\n if (!cartId) throw new Error('No cart ID found');\n await setReCaptchaToken();\n\n return fetchGraphQl(PLACE_ORDER_MUTATION, {\n method: 'POST',\n variables: { cartId },\n })\n .then((response: PlaceOrderResponse) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (response.data?.placeOrder?.errors?.length) {\n handlePlaceOrderError(response.data.placeOrder?.errors);\n }\n\n const payload = transformPlaceOrder(response);\n\n if (payload) {\n events.emit('order/placed', payload);\n events.emit('cart/reset', undefined);\n publishPlaceOrderEvent(cartId, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const REORDER_ITEMS_MUTATION = /* GraphQL */ `\n mutation REORDER_ITEMS_MUTATION($orderNumber: String!) {\n reorderItems(orderNumber: $orderNumber) {\n cart {\n itemsV2 {\n items {\n uid\n }\n }\n }\n userInputErrors {\n code\n message\n path\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { fetchGraphQl } from '@/order/api/fetch-graphql';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { REORDER_ITEMS_MUTATION } from './graphql/reorderItems.graphql';\nimport {\n ReorderItemsProps,\n ReorderItemsResponse,\n} from '@/order/types/api/reorderItems.types';\n\nexport const reorderItems = async (\n orderNumber: string\n): Promise<ReorderItemsProps> => {\n return await fetchGraphQl(REORDER_ITEMS_MUTATION, {\n method: 'POST',\n variables: { orderNumber },\n })\n .then((response: ReorderItemsResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n const success =\n !!response?.data?.reorderItems?.cart?.itemsV2.items.length;\n const userInputErrors =\n response?.data?.reorderItems?.userInputErrors ?? [];\n\n return { success, userInputErrors };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_GUEST_ORDER_CANCEL_MUTATION = /* GraphQL */ `\n mutation REQUEST_GUEST_ORDER_CANCEL_MUTATION(\n $token: String!\n $reason: String!\n ) {\n requestGuestOrderCancel(input: { token: $token, reason: $reason }) {\n error\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { REQUEST_GUEST_ORDER_CANCEL_MUTATION } from './graphql/requestGuestOrderCancelMutation';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const requestGuestOrderCancel = async (\n token: string,\n reason: string,\n onSuccess: Function,\n onError: Function\n): Promise<void> => {\n if (!token) throw new Error('No order token found');\n if (!reason) throw new Error('No reason found');\n\n return fetchGraphQl(REQUEST_GUEST_ORDER_CANCEL_MUTATION, {\n variables: {\n token,\n reason,\n },\n })\n .then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n if (data.requestGuestOrderCancel.error != null) {\n onError();\n }\n const orderData = transformOrderData(data.requestGuestOrderCancel.order);\n onSuccess(orderData);\n })\n .catch(() => onError());\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { REQUEST_RETURN_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_RETURN_ORDER = /* GraphQL */ `\n mutation REQUEST_RETURN_ORDER($input: RequestReturnInput!) {\n requestReturn(input: $input) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { REQUEST_RETURN_ORDER } from './graphql/requestReturn.graphql';\nimport { convertKeysCase } from '@/order/lib/convertCase';\nimport { RequestReturnProps, RequestReturnResponse } from '@/order/types';\nimport { RequestReturnModel } from '@/order/data/models';\nimport { transformRequestReturn } from '@/order/data/transforms';\n\nexport const requestReturn = async (\n form: RequestReturnProps\n): Promise<RequestReturnModel | {}> => {\n const input = convertKeysCase(form, 'snakeCase', {});\n\n return await fetchGraphQl(REQUEST_RETURN_ORDER, {\n method: 'POST',\n variables: { input },\n })\n .then((response: RequestReturnResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n return transformRequestReturn(response);\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { REQUEST_RETURN_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const REQUEST_RETURN_GUEST_ORDER = /* GraphQL */ `\n mutation REQUEST_RETURN_GUEST_ORDER($input: RequestGuestReturnInput!) {\n requestGuestReturn(input: $input) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { REQUEST_RETURN_GUEST_ORDER } from './graphql/requestGuestReturn.graphql';\nimport { convertKeysCase } from '@/order/lib/convertCase';\nimport {\n RequestGuestReturnProps,\n RequestGuestReturnResponse,\n} from '@/order/types';\n\nexport const requestGuestReturn = async (\n form: RequestGuestReturnProps\n): Promise<{\n uid: string;\n number: string;\n status: string;\n createdAt: string;\n}> => {\n const input = convertKeysCase(form, 'snakeCase', {});\n\n return await fetchGraphQl(REQUEST_RETURN_GUEST_ORDER, {\n method: 'POST',\n variables: { input },\n })\n .then((response: RequestGuestReturnResponse) => {\n if (response.errors?.length) return handleFetchError(response.errors);\n\n const { created_at, ...props } = response.data.requestGuestReturn.return;\n\n return { ...props, createdAt: created_at };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n GUEST_ORDER_FRAGMENT,\n REQUEST_RETURN_ORDER_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const CONFIRM_RETURN_GUEST_ORDER = /* GraphQL */ `\n mutation CONFIRM_RETURN_GUEST_ORDER(\n $orderId: ID!\n $confirmationKey: String!\n ) {\n confirmReturn(\n input: { order_id: $orderId, confirmation_key: $confirmationKey }\n ) {\n return {\n ...REQUEST_RETURN_ORDER_FRAGMENT\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n }\n }\n }\n ${REQUEST_RETURN_ORDER_FRAGMENT}\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { CONFIRM_RETURN_GUEST_ORDER } from './graphql/confirmGuestReturn.graphql';\nimport { GuestConfirmReturnResponse } from '@/order/types';\nimport { transformOrderData } from '@/order/data/transforms';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\n\nexport const confirmGuestReturn = async (\n orderId: string,\n confirmationKey: string\n): Promise<OrderDataModel | null> => {\n return await fetchGraphQl(CONFIRM_RETURN_GUEST_ORDER, {\n method: 'POST',\n variables: {\n orderId,\n confirmationKey,\n },\n })\n .then((response: GuestConfirmReturnResponse) => {\n if (response.errors?.length) {\n return handleFetchError(response.errors);\n }\n\n if (response?.data?.confirmReturn?.return?.order) {\n const transformOrder = transformOrderData(\n // @ts-ignore\n response?.data?.confirmReturn?.return?.order\n );\n events.emit('order/data', transformOrder);\n\n return transformOrder;\n }\n\n return null;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { GUEST_ORDER_FRAGMENT } from '@/order/api/fragments';\n\nexport const CONFIRM_CANCEL_ORDER_MUTATION = /* GraphQL */ `\n mutation CONFIRM_CANCEL_ORDER_MUTATION(\n $orderId: ID!\n $confirmationKey: String!\n ) {\n confirmCancelOrder(\n input: { order_id: $orderId, confirmation_key: $confirmationKey }\n ) {\n order {\n ...GUEST_ORDER_FRAGMENT\n }\n errorV2 {\n message\n code\n }\n }\n }\n ${GUEST_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CONFIRM_CANCEL_ORDER_MUTATION } from '@/order/api/confirmCancelOrder/graphql/ConfirmCancelOrder';\nimport { events } from '@adobe-commerce/event-bus';\nimport { fetchGraphQl } from '@/order/api';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformOrderData } from '@/order/data/transforms';\n\nexport const confirmCancelOrder = async (\n orderId: string,\n confirmationKey: string\n) => {\n return fetchGraphQl(CONFIRM_CANCEL_ORDER_MUTATION, {\n variables: {\n orderId,\n confirmationKey,\n },\n }).then(async ({ errors, data }) => {\n const _errors = [\n ...(data?.confirmCancelOrder?.errorV2\n ? [data?.confirmCancelOrder?.errorV2]\n : []),\n ...(errors ?? []),\n ];\n\n let payload: OrderDataModel | null = null;\n\n if (data?.confirmCancelOrder?.order) {\n payload = transformOrderData(data?.confirmCancelOrder?.order);\n events.emit('order/data', payload as OrderDataModel);\n }\n\n if (_errors.length > 0) {\n return handleFetchError(_errors);\n }\n\n return payload;\n });\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PLACE_ORDER_FRAGMENT } from '@/order/api/graphql/PlaceOrderFragment.graphql';\n\nexport const SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION = /* GraphQL */ `\n mutation setPaymentMethodAndPlaceOrder($cartId: String!, $paymentMethod: PaymentMethodInput!) {\n setPaymentMethodOnCart(\n input: {\n cart_id: $cartId\n payment_method: $paymentMethod\n }\n ) {\n cart {\n selected_payment_method {\n code\n title\n }\n }\n }\n placeOrder(input: { cart_id: $cartId }) {\n ...PLACE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_ORDER_FRAGMENT}\n`;","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\nimport { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { events } from '@adobe-commerce/event-bus';\nimport { SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION } from './graphql/setPaymentMethodAndPlaceOrderMutation';\n\nexport const setPaymentMethodAndPlaceOrder = async (\n cartId: string,\n paymentMethod: any\n): Promise<OrderDataModel | null | undefined> => {\n if (!cartId) throw new Error('No cart ID found');\n if (!paymentMethod) throw new Error('No payment method found');\n\n return fetchGraphQl(SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION, {\n variables: { cartId, paymentMethod },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n // Check for errors in placeOrder part of the response\n if (response.data?.placeOrder?.errors?.length) {\n handlePlaceOrderError(response.data.placeOrder?.errors);\n }\n\n // Use the same transformation as placeOrder\n const payload = transformPlaceOrder({ data: { placeOrder: response.data?.placeOrder } });\n\n if (payload) {\n events.emit('order/placed', payload);\n events.emit('cart/reset', undefined);\n publishPlaceOrderEvent(cartId, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT } from '@/order/api/graphql/PlaceNegotiableQuoteOrderFragment.graphql';\n\nexport const PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION = /* GraphQL */ `\n mutation PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION($quoteUid: ID!) {\n placeNegotiableQuoteOrderV2(input: { quote_uid: $quoteUid }) {\n ...PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT\n }\n }\n\n ${PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT}\n`;\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/order/api';\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformPlaceNegotiableQuoteOrder } from '@/order/data/transforms';\nimport { publishPlaceOrderEvent } from '@/order/lib/acdl';\nimport { handleFetchError } from '@/order/lib/fetch-error';\nimport { handleNetworkError } from '@/order/lib/network-error';\n import { handlePlaceOrderError } from '@/order/lib/place-order-error';\nimport { PlaceNegotiableQuoteOrderResponse } from '@/order/types/index';\nimport { events } from '@adobe-commerce/event-bus';\nimport { PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION } from './graphql/placeNegotiableQuoteOrderMutation.graphql';\nimport { setReCaptchaToken } from '@/order/lib/setReCaptchaToken';\n\nexport const placeNegotiableQuoteOrder = async (\n quoteUid: string\n): Promise<OrderDataModel | null | undefined> => {\n if (!quoteUid) throw new Error('No quote UID found');\n await setReCaptchaToken();\n\n return fetchGraphQl(PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION, {\n method: 'POST',\n variables: { quoteUid },\n })\n .then((response: PlaceNegotiableQuoteOrderResponse) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (response.data?.placeNegotiableQuoteOrderV2?.errors?.length) {\n handlePlaceOrderError(response.data.placeNegotiableQuoteOrderV2?.errors);\n }\n\n const payload = transformPlaceNegotiableQuoteOrder(response);\n\n if (payload) {\n events.emit('order/placed', payload);\n publishPlaceOrderEvent(quoteUid, payload);\n }\n\n return payload;\n })\n .catch(handleNetworkError);\n};\n"],"names":["CANCEL_ORDER_MUTATION","PRODUCT_DETAILS_FRAGMENT","PRICE_DETAILS_FRAGMENT","GIFT_CARD_DETAILS_FRAGMENT","ORDER_ITEM_DETAILS_FRAGMENT","BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT","ORDER_SUMMARY_FRAGMENT","ADDRESS_FRAGMENT","ORDER_ITEM_FRAGMENT","GIFT_WRAPPING_FRAGMENT","GIFT_MESSAGE_FRAGMENT","handleFetchError","errors","errorMessage","sumDiscounts","accum","discount","transformShoppingCartContext","cartId","data","orderItem","_a","_b","_c","_d","_e","_f","_g","_h","selectedOption","_k","_i","_j","transformOrderContext","firstCoupon","orderPayment","convertToCamelCase","key","_","letter","convertToSnakeCase","convertKeysCase","type","dictionary","typeList","callback","element","acc","value","newKey","cloneArrayIfExists","fields","multilineItems","newItem","transformAttributesForm","items","el","code","other","isDefaultCode","item","customUpperCode","a","b","transformCustomer","response","transformCustomerAddressInput","address","attr","parseNumber","transformProduct","product","transformConfigurableOptions","configurableOptions","option","transformBundleOptions","bundle","bundleOptions","transformLinks","links","link","getQuantities","transformUserInformation","user","transformAddress","firstName","lastName","middleName","transformTotal","total","defaultPriceData","transformPrice","initialData","prices","transformTaxCalculations","itemPrices","productPrice","discounted","price","priceIncludingTax","originalPrice","baseOriginalPriceValue","includeAndExcludeTax","excludeTax","includeTax","transformGiftCard","transformThumbnail","transformWrappingPrice","transformGiftMessage","transformGiftWrapping","transformOrderItem","quantityCanceled","quantityInvoiced","quantityOrdered","quantityRefunded","quantityReturned","quantityShipped","quantityReturnRequested","totalQuantity","_l","_p","_o","_n","_m","_t","_s","_r","_q","transformOrderItems","transformBasicOptions","orderData","transformGiftOptions","giftOptions","transformAppliedGiftCards","appliedGiftCards","giftCard","transformOrderData","returnRef","billingAddress","shippingAddress","shipments","comments","c","modifyReturns","transformCustomerOrdersReturns","returns","itemsEligibleForReturn","selectedPaymentMethod","shippingMethod","shipping","payments","subtotalExclTax","subtotalInclTax","totalGiftOptions","giftMessage","cartGiftWrapping","printedCardIncluded","giftReceiptIncluded","model","merge","config","transformOrderDetails","queryType","ordersList","pageInfo","order","status","number","created_at","tracking","carrier","tracking_number","quantity","request_quantity","uid","order_item","transformGuestOrder","guestOrder","transformGuestOrderByToken","guestOrderByToken","transformPlaceOrder","transformPlaceNegotiableQuoteOrder","transformStoreConfig","transformRequestReturn","props","cancelOrder","orderId","reason","onSuccess","onError","fetchGraphQl","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","getConfig","FetchGraphQL","GET_ATTRIBUTES_FORM","GET_ATTRIBUTES_FORM_SHORT","handleNetworkError","error","isAbortError","isPlaceOrderError","events","getAttributesForm","formCode","GET_ATTRIBUTES_LIST","getAttributesList","entityType","GET_CUSTOMER","getCustomer","GET_CUSTOMER_ORDERS_RETURN","RETURNS_FRAGMENT","getCustomerOrdersReturn","pageSize","currentPage","GET_GUEST_ORDER","GUEST_ORDER_FRAGMENT","getGuestOrder","form","ORDER_BY_NUMBER","CUSTOMER_ORDER_FRAGMENT","getOrderDetailsById","returnsPageSize","STORE_CONFIG_QUERY","getStoreConfig","ORDER_BY_TOKEN","token","QUERY_TYPE","initializeOrderDetails","orderRef","isToken","responseOrderData","navigation","url","redirectTo","getUrl","queryParams","functionParams","searchParams","separator","initialize","Initializer","defaultConfig","routeOrdersList","orderDataListener","orderErrorListener","cleanup","contexts","getAdobeDataLayer","setContext","name","adobeDataLayer","pushEvent","event","acdl","state","getChannelContext","setChannelContext","publishPlaceOrderEvent","orderContext","shoppingCartContext","PlaceOrderError","message","handlePlaceOrderError","PLACE_ORDER_MUTATION","PLACE_ORDER_FRAGMENT","setReCaptchaToken","verifyReCaptcha","placeOrder","payload","REORDER_ITEMS_MUTATION","reorderItems","orderNumber","success","userInputErrors","REQUEST_GUEST_ORDER_CANCEL_MUTATION","requestGuestOrderCancel","REQUEST_RETURN_ORDER","REQUEST_RETURN_ORDER_FRAGMENT","requestReturn","input","REQUEST_RETURN_GUEST_ORDER","requestGuestReturn","CONFIRM_RETURN_GUEST_ORDER","confirmGuestReturn","confirmationKey","transformOrder","CONFIRM_CANCEL_ORDER_MUTATION","confirmCancelOrder","_errors","SET_PAYMENT_METHOD_AND_PLACE_ORDER_MUTATION","setPaymentMethodAndPlaceOrder","paymentMethod","PLACE_NEGOTIABLE_QUOTE_ORDER_MUTATION","PLACE_NEGOTIABLE_QUOTE_ORDER_FRAGMENT","placeNegotiableQuoteOrder","quoteUid"],"mappings":"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"}