@dropins/storefront-order 3.3.0 → 3.4.0-alpha-20260505185151
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/CHANGELOG.md +6 -0
- package/api/confirmCancelOrder/graphql/ConfirmCancelOrder.d.ts +1 -1
- package/api/confirmGuestReturn/graphql/confirmGuestReturn.graphql.d.ts +1 -1
- package/api/getGuestOrder/graphql/getGuestOrder.graphql.d.ts +1 -1
- package/api/getOrderDetailsById/graphql/orderByNumber.graphql.d.ts +1 -1
- package/api/graphql/CustomerOrderFragment.graphql.d.ts +1 -1
- package/api/graphql/GuestOrderFragment.graphql.d.ts +1 -1
- package/api/graphql/PlaceNegotiableQuoteOrderFragment.graphql.d.ts +1 -1
- package/api/graphql/PlaceOrderFragment.graphql.d.ts +1 -1
- package/api/guestOrderByToken/graphql/guestOrderByToken.graphql.d.ts +1 -1
- package/api/placeNegotiableQuoteOrder/graphql/placeNegotiableQuoteOrderMutation.graphql.d.ts +1 -1
- package/api/placeOrder/graphql/placeOrderMutation.d.ts +1 -1
- package/api/requestGuestOrderCancel/graphql/requestGuestOrderCancelMutation.d.ts +1 -1
- package/api/setPaymentMethodAndPlaceOrder/graphql/setPaymentMethodAndPlaceOrderMutation.d.ts +1 -1
- package/chunks/initialize.js +2 -2
- package/chunks/initialize.js.map +1 -1
- package/containers/OrderStatus.js +1 -1
- package/containers/OrderStatus.js.map +1 -1
- package/data/models/order-details.d.ts +1 -0
- package/fragments.js +11 -9
- package/fragments.js.map +1 -1
- package/hooks/containers/useCreateReturn.d.ts +1 -0
- package/i18n/en_US.json.d.ts +1 -0
- package/package.json +1 -1
- package/render.js +2 -2
- package/render.js.map +1 -1
- package/types/api/getOrderDetails.types.d.ts +1 -0
package/chunks/initialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sources":["/@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/api/getOrderDetailsById/graphql/orderByNumber.graphql.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/getOrderDetailsById.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"],"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 { 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 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 { 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\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 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 window.location.href = 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 window.location.href = `${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"],"names":["parseNumber","value","transformProduct","product","_c","_b","_a","_f","_e","_d","_g","_h","_i","transformConfigurableOptions","item","configurableOptions","option","transformBundleOptions","data","bundle","bundleOptions","transformLinks","links","link","getQuantities","orderItem","transformUserInformation","user","transformAddress","address","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","_k","_j","transformOrderItem","quantityCanceled","quantityInvoiced","quantityOrdered","quantityRefunded","quantityReturned","quantityShipped","quantityReturnRequested","totalQuantity","_l","_p","_o","_n","_m","_t","_s","_r","_q","transformOrderItems","items","el","transformBasicOptions","orderData","transformGiftOptions","giftOptions","transformAppliedGiftCards","appliedGiftCards","giftCard","transformOrderData","returnRef","billingAddress","shippingAddress","shipments","comments","c","modifyReturns","transformCustomerOrdersReturns","returns","itemsEligibleForReturn","selectedPaymentMethod","shippingMethod","accum","shipping","payments","subtotalExclTax","subtotalInclTax","totalGiftOptions","giftMessage","cartGiftWrapping","printedCardIncluded","giftReceiptIncluded","model","merge","config","transformOrderDetails","queryType","response","ordersList","pageInfo","a","b","element","order","status","number","created_at","tracking","carrier","tracking_number","quantity","request_quantity","uid","order_item","_","transformGuestOrder","guestOrder","transformGuestOrderByToken","guestOrderByToken","ORDER_BY_NUMBER","CUSTOMER_ORDER_FRAGMENT","RETURNS_FRAGMENT","getOrderDetailsById","orderId","returnsPageSize","fetchGraphQl","handleNetworkError","ORDER_BY_TOKEN","GUEST_ORDER_FRAGMENT","token","handleFetchError","QUERY_TYPE","initializeOrderDetails","orderRef","isToken","events","responseOrderData","redirectTo","getUrl","queryParams","functionParams","url","searchParams","key","separator","initialize","Initializer","defaultConfig","error","routeOrdersList","orderDataListener","orderErrorListener","cleanup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"initialize.js","sources":["/@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/api/getOrderDetailsById/graphql/orderByNumber.graphql.ts","/@dropins/storefront-order/src/api/getOrderDetailsById/getOrderDetailsById.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"],"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 { 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 { 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\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 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 window.location.href = 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 window.location.href = `${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"],"names":["parseNumber","value","transformProduct","product","_c","_b","_a","_f","_e","_d","_g","_h","_i","transformConfigurableOptions","item","configurableOptions","option","transformBundleOptions","data","bundle","bundleOptions","transformLinks","links","link","getQuantities","orderItem","transformUserInformation","user","transformAddress","address","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","_k","_j","transformOrderItem","quantityCanceled","quantityInvoiced","quantityOrdered","quantityRefunded","quantityReturned","quantityShipped","quantityReturnRequested","totalQuantity","_l","_p","_o","_n","_m","_t","_s","_r","_q","transformOrderItems","items","el","transformBasicOptions","orderData","transformGiftOptions","giftOptions","transformAppliedGiftCards","appliedGiftCards","giftCard","transformOrderData","returnRef","billingAddress","shippingAddress","shipments","comments","c","modifyReturns","transformCustomerOrdersReturns","returns","itemsEligibleForReturn","selectedPaymentMethod","shippingMethod","accum","shipping","payments","subtotalExclTax","subtotalInclTax","totalGiftOptions","giftMessage","cartGiftWrapping","printedCardIncluded","giftReceiptIncluded","model","merge","config","transformOrderDetails","queryType","response","ordersList","pageInfo","a","b","element","order","status","number","created_at","tracking","carrier","tracking_number","quantity","request_quantity","uid","order_item","_","transformGuestOrder","guestOrder","transformGuestOrderByToken","guestOrderByToken","ORDER_BY_NUMBER","CUSTOMER_ORDER_FRAGMENT","RETURNS_FRAGMENT","getOrderDetailsById","orderId","returnsPageSize","fetchGraphQl","handleNetworkError","ORDER_BY_TOKEN","GUEST_ORDER_FRAGMENT","token","handleFetchError","QUERY_TYPE","initializeOrderDetails","orderRef","isToken","events","responseOrderData","redirectTo","getUrl","queryParams","functionParams","url","searchParams","key","separator","initialize","Initializer","defaultConfig","error","routeOrdersList","orderDataListener","orderErrorListener","cleanup"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2026 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as s,Fragment as
|
|
3
|
+
import{jsx as s,Fragment as A,jsxs as R}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as V,classes as _}from"@dropins/tools/lib.js";import{Button as x,InLineAlert as K,Modal as Q,Card as J,Header as X}from"@dropins/tools/components.js";import{useState as C,useEffect as G,useCallback as P}from"@dropins/tools/preact-hooks.js";import"../chunks/OrderComments.js";import{useMemo as Y}from"@dropins/tools/preact-compat.js";import{u as I}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import{events as U}from"@dropins/tools/event-bus.js";import{c as Z,a as D,r as ee}from"../chunks/confirmCancelOrder.js";import{useText as O,Text as M}from"@dropins/tools/i18n.js";import{C as te}from"../chunks/OrderLoaders.js";import{f as re}from"../chunks/returnOrdersHelper.js";import{f as N}from"../chunks/formatDateToLocale.js";import{c as H}from"../chunks/capitalizeFirst.js";import{r as q}from"../chunks/initialize.js";import{O as ne}from"../chunks/OrderCancelForm.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/network-error.js";import"../fragments.js";import"../chunks/getFormValues.js";import"../chunks/requestGuestOrderCancel.js";var y=(t=>(t.CANCEL="CANCEL",t.RETURN="RETURN",t.REORDER="REORDER",t))(y||{});const se=({className:t,orderData:e,slots:n,routeCreateReturn:r,routeOnSuccess:l,onError:o})=>{const a=O({cancel:"Order.OrderStatusContent.actions.cancel",createReturn:"Order.OrderStatusContent.actions.createReturn",createAnotherReturn:"Order.OrderStatusContent.actions.createAnotherReturn",reorder:"Order.OrderStatusContent.actions.reorder"}),u=Y(()=>{const c=e==null?void 0:e.availableActions,i=!!(c!=null&&c.length),d=!!(e!=null&&e.returnNumber),m=()=>{q(r,{},e)};return s(A,{children:n!=null&&n.OrderActions?s(V,{"data-testid":"OrderActionsSlot",name:"OrderCanceledActions",slot:n==null?void 0:n.OrderActions,context:e}):s("div",{"data-testid":"availableActionsList",className:_(["order-order-actions__wrapper",["order-order-actions__wrapper--empty",!i]]),children:c==null?void 0:c.map(p=>{switch(p){case y.CANCEL:return s(A,{children:d?null:s(oe,{orderRef:(e==null?void 0:e.token)||(e==null?void 0:e.id)})});case y.RETURN:return s(x,{variant:"secondary",onClick:m,children:d?a.createAnotherReturn:a.createReturn});case y.REORDER:return s(A,{children:d?null:s(ae,{orderData:e,onError:o,routeOnSuccess:l,children:a.reorder})})}})})})},[o,e,l,r,n,a]);return s("div",{className:_(["order-order-actions",t]),children:u})},ce=({orderData:t})=>{const[e,n]=C(t),[r,l]=C(t==null?void 0:t.status);return G(()=>{const o=U.on("order/data",a=>{n(a),l(a.status)},{eager:!0});return()=>{o==null||o.off()}},[]),{orderStatus:r,order:e}},k=t=>{const e=new URL(window.location.href);t.forEach(n=>{e.searchParams.has(n)&&e.searchParams.delete(n)}),window.history.replaceState({},document.title,e.toString())},ie=({enableOrderCancellation:t})=>{const e=O({cancelOrderHeading:"Order.OrderStatusContent.actions.cancel",confirmGuestReturnHeading:"Order.OrderStatusContent.actions.confirmGuestReturn",orderCancelled:"Order.OrderStatusContent.orderCanceled.message",guestRequestReturnMessage:"Order.OrderStatusContent.actions.confirmGuestReturnMessage"}),[n,r]=C(!1),[l,o]=C(!1),[a,u]=C({heading:"",text:"",status:void 0}),c=P(()=>{r(!0),k(["order_id","confirmation_key","action"])},[]),i=P((d,m,p)=>{u({heading:d,text:m,status:p}),k(["action"])},[]);return G(()=>{const d=new URLSearchParams(window.location.search),m=d.get("order_id")??"",p=d.get("confirmation_key")??"",g=d.get("action")??"";l||!m||!p||!g||(t&&g==="cancel"&&(o(!0),Z(m,p).then(()=>{u({heading:e.cancelOrderHeading,text:e.orderCancelled,status:"success"})}).catch(h=>{u({heading:e.cancelOrderHeading,text:h.message,status:"warning"})})),g==="return"&&(o(!0),D(m,p).then(()=>{u({heading:e.confirmGuestReturnHeading,text:e.guestRequestReturnMessage,status:"success"})}).catch(h=>{u({heading:e.confirmGuestReturnHeading,text:h.message,status:"warning"})})))},[t,e,i,l]),{orderActionStatus:a,isDismissed:n,onDismiss:c}},He=({slots:t,orderData:e,className:n,statusTitle:r,status:l,routeCreateReturn:o,onError:a,routeOnSuccess:u})=>{const{orderStatus:c,order:i}=ce({orderData:e}),d=I(),{orderActionStatus:m,isDismissed:p,onDismiss:g}=ie({enableOrderCancellation:d==null?void 0:d.orderCancellationEnabled});return R("div",{className:_(["order-order-status",n]),children:[!p&&(m==null?void 0:m.status)!==void 0?s(K,{style:{marginBottom:"1rem"},heading:m.heading,onDismiss:g,description:m.text,type:m.status}):null,i?s(de,{title:r,status:l||c,slots:t,orderData:i,routeCreateReturn:o,onError:a,routeOnSuccess:u}):s(te,{withCard:!1})]})},oe=({orderRef:t})=>{const[e,n]=C(!1),r=()=>{n(!0)},l=()=>{n(!1)},o=I(),a=(o==null?void 0:o.orderCancellationReasons)??[],u=c=>c.map((i,d)=>({text:i==null?void 0:i.description,value:d.toString()}));return U.on("order/data",c=>{const i=String(c.status).toLocaleLowerCase();(i==="guest order cancellation requested"||i==="canceled")&&l()}),R(A,{children:[s(x,{variant:"secondary",onClick:r,"data-testid":"cancel-button",children:s(M,{id:"Order.OrderStatusContent.actions.cancel"})}),e&&s(Q,{centered:!0,size:"medium",onClose:l,className:"order-order-cancel__modal",title:s("h2",{className:"order-order-cancel__title",children:s(M,{id:"Order.OrderCancelForm.title"})}),"data-testid":"order-cancellation-reasons-modal",children:s(ne,{orderRef:t,cancelReasons:u(a)})})]})},T={pending:"orderPending",shiping:"orderShipped",complete:"orderComplete",processing:"orderProcessing","on hold":"orderOnHold",canceled:"orderCanceled","suspected fraud":"orderSuspectedFraud","payment Review":"orderPaymentReview","order received":"orderReceived","guest order cancellation requested":"guestOrderCancellationRequested","pending payment":"orderPendingPayment",rejected:"orderRejected",authorized:"orderAuthorized","paypal canceled reversal":"orderPaypalCanceledReversal","pending paypal":"orderPendingPaypal","paypal reversed":"orderPaypalReversed",closed:"orderClosed"},de=({slots:t,title:e,status:n,orderData:r,routeCreateReturn:l,onError:o,routeOnSuccess:a})=>{var E,L,b;const u=!!(r!=null&&r.returnNumber),c=String(n).toLocaleLowerCase(),i=(E=r==null?void 0:r.returns)==null?void 0:E[0],d=(i==null?void 0:i.returnStatus)??"",m=(i==null?void 0:i.createdReturnAt)??"",p=O({message:"Order.OrderStatusContent.orderPlaceholder.message",messageWithoutDate:"Order.OrderStatusContent.orderPlaceholder.messageWithoutDate"}),g=O(`Order.OrderStatusContent.${T[c]}.title`),h=O(`Order.OrderStatusContent.${T[c]}.message`),f=O(`Order.OrderStatusContent.${T[c]}.messageWithoutDate`),S=O({title:`Order.OrderStatusContent.returnStatus.${re(d)}`,returnMessage:"Order.OrderStatusContent.returnMessage"}),v=O({adminAssistedLabel:"Order.OrderStatusContent.adminAssistedLabel"});if(!n)return s("div",{});const F=g!=null&&g.title?g:{title:H(c)},w=h!=null&&h.message?h:p,W=f!=null&&f.messageWithoutDate?f:p,j=r!=null&&r.orderStatusChangeDate?w==null?void 0:w.message.replace("{DATE}",N(r==null?void 0:r.orderStatusChangeDate)):W.messageWithoutDate,z=r==null?void 0:r.adminAssistedOrder,$=((b=(L=S==null?void 0:S.returnMessage)==null?void 0:L.replace("{ORDER_CREATE_DATE}",N(r==null?void 0:r.orderDate)))==null?void 0:b.replace("{RETURN_CREATE_DATE}",N(m)))??"",B=u?e??(S.title||H(d)):e??F.title;return R(J,{className:"order-order-status-content",variant:"secondary",children:[s(X,{title:B}),R("div",{className:"order-order-status-content__wrapper",children:[R("div",{className:_(["order-order-status-content__wrapper-description",["order-order-status-content__wrapper-description--actions-slot",!!(t!=null&&t.OrderActions)]]),children:[z&&!u&&s("p",{className:"order-order-status-content__admin-assisted",children:v==null?void 0:v.adminAssistedLabel}),s("p",{children:u?$:j})]}),s(se,{orderData:r,slots:t,routeCreateReturn:l,routeOnSuccess:a,onError:o})]})]})},ae=({onError:t,routeOnSuccess:e,orderData:n,children:r})=>{const[l,o]=C(!1),a=P(()=>{o(!0);const u=n==null?void 0:n.number;ee(u).then(({success:c,userInputErrors:i})=>{c&&q(e,{}),i.length&&(t==null||t(i))}).catch(c=>{t==null||t(c.message)}).finally(()=>{o(!1)})},[n,e,t]);return s(x,{type:"button",disabled:l,variant:"secondary",className:"order-reorder",onClick:a,children:r})};export{He as OrderStatus,He as default};
|
|
4
4
|
//# sourceMappingURL=OrderStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderStatus.js","sources":["/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx"],"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 { OrderCommentItem } from '../orderComments.types';\n\nexport type QueryType = 'orderData';\n\nexport interface UserAddressesProps {\n city?: string;\n company?: string;\n country_code?: string;\n fax?: string;\n firstname?: string;\n lastname?: string;\n middlename?: string;\n postcode?: string;\n prefix?: string;\n region?: string;\n region_id?: number;\n street?: string[];\n suffix?: string;\n telephone?: string;\n vat_id?: string;\n}\n\ninterface ThumbnailImageProps {\n url?: string;\n label?: string;\n}\n\nexport interface ProductProps {\n only_x_left_in_stock?: number;\n stock_status?: string;\n thumbnail?: ThumbnailImageProps;\n image: ThumbnailImageProps;\n canonical_url: string;\n url_key: string;\n id: string;\n uid: string;\n name: string;\n __typename: string;\n sku: string;\n price_range: {\n maximum_price: {\n regular_price: MoneyProps;\n };\n };\n}\n\nexport interface MoneyProps {\n value: number;\n currency: string;\n}\n\ninterface GrandTotalProps extends MoneyProps {}\ninterface GrandTotalExclTaxProps extends MoneyProps {}\ninterface SubtotalProps extends MoneyProps {}\ninterface TotalTaxProps extends MoneyProps {}\ninterface TaxAmountProps extends MoneyProps {}\ninterface TotalShippingProps extends MoneyProps {}\n\ninterface TaxDetailProps {\n amount?: TaxAmountProps;\n rate?: number;\n title?: string;\n}\n\nexport interface DiscountProps {\n amount: MoneyProps;\n label: string;\n}\n\nexport interface TotalGiftOptionsProps {\n gift_wrapping_for_items: MoneyProps;\n gift_wrapping_for_items_incl_tax: MoneyProps;\n gift_wrapping_for_order_incl_tax: MoneyProps;\n gift_wrapping_for_order: MoneyProps;\n printed_card: MoneyProps;\n printed_card_incl_tax: MoneyProps;\n}\n\nexport interface TotalProps {\n total_giftcard?: MoneyProps;\n grand_total?: GrandTotalProps;\n grand_total_excl_tax?: GrandTotalExclTaxProps;\n subtotal?: SubtotalProps;\n taxes?: TaxDetailProps[];\n total_tax?: TotalTaxProps;\n total_shipping?: TotalShippingProps;\n discounts?: DiscountProps[];\n gift_options: TotalGiftOptionsProps;\n}\n\ninterface InvoiceItemInterface {}\n\ninterface InvoiceProps {\n id?: string;\n number?: string;\n total?: TotalProps;\n items?: InvoiceItemInterface[];\n comments?: OrderCommentItem[];\n}\n\nexport interface GiftMessageProps {\n form: string;\n message: string;\n to: string;\n}\nexport interface GiftWrappingProps {\n design: string;\n price: MoneyProps;\n uid: string;\n image: { url: string; label: string };\n}\n\nexport interface giftCardProps {\n sender_name: string;\n sender_email: string;\n recipient_email: string;\n recipient_name: string;\n message: string;\n}\n\nexport interface OrderItemProps {\n __typename: string;\n discounts: DiscountProps[];\n eligible_for_return: boolean;\n entered_options: { label: string; value: string }[];\n gift_message: GiftMessageProps;\n gift_wrapping: GiftWrappingProps;\n id: string;\n product: ProductProps;\n product_name: string;\n product_sale_price: MoneyProps;\n product_sku: string;\n product_type: string;\n product_url_key: string;\n quantity_canceled: number;\n quantity_invoiced: number;\n quantity_ordered: number;\n quantity_refunded: number;\n quantity_returned: number;\n quantity_shipped: number;\n quantity_return_requested: number;\n selected_options: { label: string; value: string }[];\n bundle_options: any;\n status: string;\n gift_card?: giftCardProps;\n downloadable_links: { title: string }[];\n prices: {\n price_including_tax: MoneyProps;\n original_price: MoneyProps;\n original_price_including_tax: MoneyProps;\n price: MoneyProps;\n discounts: [\n {\n label: string;\n amount: {\n value: number;\n };\n }\n ];\n };\n}\n\nexport interface PaymentMethodsProps {\n name: string;\n type: string;\n additional_data: {\n name: string;\n value: string;\n }[];\n}\n\nexport interface ShipmentsProps {\n id: string;\n number: string;\n tracking: { carrier: string; number: string; title: string }[];\n comments: OrderCommentItem[];\n items: {\n id: string;\n product_sku: string;\n product_name: string;\n quantity_shipped: number;\n order_item: OrderItemProps;\n }[];\n}\n\nexport enum AvailableActionsProps {\n CANCEL = 'CANCEL',\n RETURN = 'RETURN',\n REORDER = 'REORDER',\n}\n\nexport interface ReturnsItemsProps {\n number: string;\n status: string;\n created_at: string;\n order: {\n number: string;\n token: string;\n };\n shipping: {\n tracking: {\n status: {\n text: string;\n type: string;\n };\n carrier: {\n uid: string;\n label: string;\n };\n tracking_number: string;\n }[];\n };\n items: {\n quantity: number;\n status: string;\n uid: string;\n request_quantity: number;\n order_item: OrderItemProps;\n }[];\n}\nexport interface OrderProps {\n is_virtual?: boolean;\n order_status_change_date?: string;\n available_actions: AvailableActionsProps[];\n shipping_method: string;\n status: string;\n token: string;\n carrier: string;\n email: string;\n gift_receipt_included: boolean;\n id: string;\n number: string;\n order_date: string;\n printed_card_included: boolean;\n applied_coupons: { code: string }[];\n comments?: OrderCommentItem[];\n returns: {\n __typename: string;\n items: ReturnsItemsProps[];\n };\n shipments: ShipmentsProps[];\n items_eligible_for_return: OrderItemProps[];\n items: OrderItemProps[];\n gift_wrapping: GiftWrappingProps;\n gift_message: GiftMessageProps;\n payment_methods: PaymentMethodsProps[];\n invoices: InvoiceProps[];\n shipping_address: UserAddressesProps;\n billing_address: UserAddressesProps;\n total?: TotalProps;\n applied_gift_cards: {\n code: string;\n applied_balance: MoneyProps;\n }[];\n}\n\nexport interface ErrorProps {\n errors?: {\n message?: string;\n }[];\n}\n\ntype GetOrderDetailsByParams<T extends QueryType> = {\n orderId?: string;\n returnRef?: string;\n queryType: T;\n returnsPageSize?: number;\n};\n\nexport interface GetOrderDetailsByIdProps\n extends GetOrderDetailsByParams<QueryType> {}\n\nexport interface OrdersResponse extends ErrorProps {\n data?: {\n customer?: {\n orders?: {\n items?: OrderProps[];\n };\n };\n };\n}\n\nexport interface OrderByNumberResponse extends OrdersResponse {}\n\nexport type ResponseData<T extends QueryType> = T extends\n | 'orderData'\n | 'orderSummary'\n | 'orderStatus'\n ? OrderByNumberResponse\n : never;\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 { FunctionComponent } from 'preact';\nimport { useMemo } from 'preact/compat';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { AvailableActionsProps, OrderActionsProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport '@/order/components/OrderActions/OrderActions.css';\nimport { OrderCancel, Reorder } from '@/order/components';\n\nexport const OrderActions: FunctionComponent<OrderActionsProps> = ({\n className,\n orderData,\n slots,\n routeCreateReturn,\n routeOnSuccess,\n onError,\n}) => {\n const translationActions = useText({\n cancel: 'Order.OrderStatusContent.actions.cancel',\n createReturn: 'Order.OrderStatusContent.actions.createReturn',\n createAnotherReturn: 'Order.OrderStatusContent.actions.createAnotherReturn',\n reorder: 'Order.OrderStatusContent.actions.reorder',\n });\n\n const renderAvailableActions = useMemo(() => {\n const availableActionsList = orderData?.availableActions;\n const isEmpty = !!availableActionsList?.length;\n const isReturnPage = !!orderData?.returnNumber;\n\n const redirectToCreateReturn = () => {\n redirectTo(routeCreateReturn, {}, orderData);\n };\n\n return (\n <>\n {slots?.OrderActions ? (\n <Slot\n data-testid=\"OrderActionsSlot\"\n name=\"OrderCanceledActions\"\n slot={slots?.OrderActions}\n context={orderData}\n />\n ) : (\n <div\n data-testid=\"availableActionsList\"\n className={classes([\n 'order-order-actions__wrapper',\n ['order-order-actions__wrapper--empty', !isEmpty],\n ])}\n >\n {(availableActionsList as AvailableActionsProps[])?.map(\n (action: string) => {\n switch (action) {\n case AvailableActionsProps.CANCEL:\n // Cancel action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <OrderCancel\n orderRef={orderData?.token! || orderData?.id!}\n />\n ) : null}\n </>\n );\n case AvailableActionsProps.RETURN:\n return (\n <Button\n variant=\"secondary\"\n onClick={redirectToCreateReturn}\n >\n {isReturnPage\n ? translationActions.createAnotherReturn\n : translationActions.createReturn}\n </Button>\n );\n case AvailableActionsProps.REORDER:\n // Reorder action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <Reorder\n orderData={orderData}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n >\n {translationActions.reorder}\n </Reorder>\n ) : null}\n </>\n );\n }\n }\n )}\n </div>\n )}\n </>\n );\n }, [\n onError,\n orderData,\n routeOnSuccess,\n routeCreateReturn,\n slots,\n translationActions,\n ]);\n\n return (\n <div className={classes(['order-order-actions', className])}>\n {renderAvailableActions}\n </div>\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 { OrderDataModel } from '@/order/data/models';\nimport { StatusEnumProps, UseOrderStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderStatus = ({ orderData }: UseOrderStatusProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderStatus, setOrderStatus] = useState<StatusEnumProps>(\n orderData?.status as StatusEnumProps\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderStatus(order.status as StatusEnumProps);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { orderStatus, 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\nexport const removeQueryParams = (params: string[]) => {\n const url = new URL(window.location.href);\n\n params.forEach((param) => {\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n }\n });\n\n window.history.replaceState({}, document.title, url.toString());\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 { useCallback, useEffect, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { UseOrderActionsProps } from '@/order/types';\nimport { confirmGuestReturn, confirmCancelOrder } from '@/order/api';\nimport { removeQueryParams } from '@/order/lib/removeQueryParams';\n\nexport const useOrderActions = ({\n enableOrderCancellation,\n}: UseOrderActionsProps) => {\n const translations = useText({\n cancelOrderHeading: 'Order.OrderStatusContent.actions.cancel',\n confirmGuestReturnHeading:\n 'Order.OrderStatusContent.actions.confirmGuestReturn',\n orderCancelled: 'Order.OrderStatusContent.orderCanceled.message',\n guestRequestReturnMessage:\n 'Order.OrderStatusContent.actions.confirmGuestReturnMessage',\n });\n const [isDismissed, setIsDismissed] = useState<boolean>(false);\n const [isExecuted, setIsExecuted] = useState<boolean>(false);\n const [orderActionStatus, setOrderActionStatus] = useState<{\n heading: string;\n text: string;\n status: 'success' | 'error' | 'warning' | undefined;\n }>({\n heading: '',\n text: '',\n status: undefined,\n });\n\n const onDismiss = useCallback(() => {\n setIsDismissed(true);\n removeQueryParams(['order_id', 'confirmation_key', 'action']);\n }, []);\n\n const triggerAlertOnDismiss = useCallback(\n (\n heading: string,\n text: string,\n status: 'success' | 'error' | 'warning' | undefined\n ) => {\n setOrderActionStatus({\n heading,\n text,\n status,\n });\n\n removeQueryParams(['action']);\n },\n []\n );\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const orderId = params.get('order_id') ?? '';\n const confirmationKey = params.get('confirmation_key') ?? '';\n const actionType = params.get('action') ?? '';\n\n if (isExecuted || !orderId || !confirmationKey || !actionType) return;\n\n if (enableOrderCancellation && actionType === 'cancel') {\n setIsExecuted(true);\n confirmCancelOrder(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: translations.orderCancelled,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n\n if (actionType === 'return') {\n setIsExecuted(true);\n confirmGuestReturn(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: translations.guestRequestReturnMessage,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n }, [\n enableOrderCancellation,\n translations,\n triggerAlertOnDismiss,\n isExecuted,\n ]);\n\n return {\n orderActionStatus,\n isDismissed,\n onDismiss,\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 { CardLoader, OrderStatusContent } from '@/order/components';\nimport { OrderStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n useOrderActions,\n useGetStoreConfig,\n useOrderStatus,\n} from '@/order/hooks';\nimport { InLineAlert } from '@adobe-commerce/elsie/components';\n\nexport const OrderStatus: Container<OrderStatusProps> = ({\n slots,\n orderData,\n className,\n statusTitle,\n status,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const { orderStatus, order } = useOrderStatus({ orderData });\n\n const storeConfig = useGetStoreConfig();\n\n const { orderActionStatus, isDismissed, onDismiss } = useOrderActions({\n enableOrderCancellation: storeConfig?.orderCancellationEnabled,\n });\n\n return (\n <div className={classes(['order-order-status', className])}>\n {!isDismissed && orderActionStatus?.status !== undefined ? (\n <InLineAlert\n style={{ marginBottom: '1rem' }}\n heading={orderActionStatus.heading}\n onDismiss={onDismiss}\n description={orderActionStatus.text}\n type={orderActionStatus.status}\n />\n ) : null}\n {order ? (\n <OrderStatusContent\n title={statusTitle}\n status={status || orderStatus}\n slots={slots}\n orderData={order}\n routeCreateReturn={routeCreateReturn}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\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 { Button, Modal, PickerOption } from '@adobe-commerce/elsie/components';\nimport { OrderCancelProps } from '@/order/types';\nimport { useGetStoreConfig } from '@/order/hooks/api/useGetStoreConfig';\nimport { OrderCancellationReason } from '@/order/data/models';\nimport { OrderCancelForm } from '@/order/containers';\nimport { useState } from 'preact/hooks';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/order/components/OrderCancel/OrderCancel.css';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderCancel: FunctionComponent<OrderCancelProps> = ({\n orderRef,\n}) => {\n const [isCancelReasonsModalVisible, setIsCancelReasonsModalVisible] =\n useState(false);\n\n const handleOpen = () => {\n setIsCancelReasonsModalVisible(true);\n };\n const handleClose = () => {\n setIsCancelReasonsModalVisible(false);\n };\n\n const storeConfig = useGetStoreConfig();\n const orderCancellationReasons = storeConfig?.orderCancellationReasons ?? [];\n\n const transformCancelReasons = (\n reasons: OrderCancellationReason[]\n ): PickerOption[] => {\n return reasons.map((reason, index) => {\n return {\n text: reason?.description,\n value: index.toString(),\n };\n });\n };\n\n events.on('order/data', (orderData) => {\n const status = String(orderData.status).toLocaleLowerCase();\n if (\n status === 'guest order cancellation requested' ||\n status === 'canceled'\n ) {\n handleClose();\n }\n });\n\n return (\n <>\n <Button\n variant=\"secondary\"\n onClick={handleOpen}\n data-testid=\"cancel-button\"\n >\n <Text id={'Order.OrderStatusContent.actions.cancel'} />\n </Button>\n {isCancelReasonsModalVisible && (\n <Modal\n centered={true}\n size=\"medium\"\n onClose={handleClose}\n className={'order-order-cancel__modal'}\n title={\n <h2 className={'order-order-cancel__title'}>\n <Text id={'Order.OrderCancelForm.title'} />\n </h2>\n }\n data-testid=\"order-cancellation-reasons-modal\"\n >\n <OrderCancelForm\n orderRef={orderRef}\n cancelReasons={transformCancelReasons(orderCancellationReasons)}\n />\n </Modal>\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 { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { OrderStatusContentProps, StatusEnumProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderActions } from '@/order/components';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/OrderStatusContent/OrderStatusContent.css';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst statusTransform: Record<string, string> = {\n pending: 'orderPending',\n shiping: 'orderShipped',\n complete: 'orderComplete',\n processing: 'orderProcessing',\n 'on hold': 'orderOnHold',\n canceled: 'orderCanceled',\n 'suspected fraud': 'orderSuspectedFraud',\n 'payment Review': 'orderPaymentReview',\n 'order received': 'orderReceived',\n 'guest order cancellation requested': 'guestOrderCancellationRequested',\n 'pending payment': 'orderPendingPayment',\n rejected: 'orderRejected',\n authorized: 'orderAuthorized',\n 'paypal canceled reversal': 'orderPaypalCanceledReversal',\n 'pending paypal': 'orderPendingPaypal',\n 'paypal reversed': 'orderPaypalReversed',\n closed: 'orderClosed',\n};\n\nexport const OrderStatusContent: FunctionComponent<OrderStatusContentProps> = ({\n slots,\n title,\n status,\n orderData,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const orderStatus = String(status).toLocaleLowerCase();\n const orderReturn = orderData?.returns?.[0];\n const orderReturnStatus = orderReturn?.returnStatus ?? '';\n const createdReturnAt = orderReturn?.createdReturnAt ?? '';\n\n const translationsPlaceholder = useText({\n message: 'Order.OrderStatusContent.orderPlaceholder.message',\n messageWithoutDate:\n 'Order.OrderStatusContent.orderPlaceholder.messageWithoutDate',\n });\n\n const translationsHeader = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.title`\n );\n\n const translationsMessage = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.message`\n );\n\n const translationsMessageWithoutDate = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.messageWithoutDate`\n );\n\n const translationsReturn = useText({\n title: `Order.OrderStatusContent.returnStatus.${formatReturnStatus(\n orderReturnStatus\n )}`,\n returnMessage: 'Order.OrderStatusContent.returnMessage',\n });\n\n if (!status) return <div />;\n\n const translationsHeaderTitle = translationsHeader?.title\n ? translationsHeader\n : { title: capitalizeFirst(orderStatus) };\n const translationsText = translationsMessage?.message\n ? translationsMessage\n : translationsPlaceholder;\n const translationsTextWithoutDate =\n translationsMessageWithoutDate?.messageWithoutDate\n ? translationsMessageWithoutDate\n : translationsPlaceholder;\n\n const orderMessage = orderData?.orderStatusChangeDate\n ? translationsText?.message.replace(\n '{DATE}',\n formatDateToLocale(orderData?.orderStatusChangeDate)\n )\n : translationsTextWithoutDate.messageWithoutDate;\n\n const returnMessage =\n translationsReturn?.returnMessage\n ?.replace(\n '{ORDER_CREATE_DATE}',\n formatDateToLocale(orderData?.orderDate!)\n )\n ?.replace('{RETURN_CREATE_DATE}', formatDateToLocale(createdReturnAt)) ??\n '';\n\n const headerTitle = isReturnPage\n ? title ?? (translationsReturn.title || capitalizeFirst(orderReturnStatus))\n : title ?? translationsHeaderTitle.title;\n\n return (\n <Card className=\"order-order-status-content\" variant=\"secondary\">\n <Header title={headerTitle} />\n <div className=\"order-order-status-content__wrapper\">\n <div\n className={classes([\n 'order-order-status-content__wrapper-description',\n [\n 'order-order-status-content__wrapper-description--actions-slot',\n !!slots?.OrderActions,\n ],\n ])}\n >\n <p>{isReturnPage ? returnMessage : orderMessage}</p>\n </div>\n <OrderActions\n orderData={orderData}\n slots={slots}\n routeCreateReturn={routeCreateReturn}\n routeOnSuccess={routeOnSuccess}\n onError={onError}\n />\n </div>\n </Card>\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 { FunctionComponent } from 'preact';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { reorderItems } from '@/order/api';\nimport { useCallback, useState } from 'preact/hooks';\nimport { ReorderProps } from '@/order/types';\n\nexport const Reorder: FunctionComponent<ReorderProps> = ({\n onError,\n routeOnSuccess,\n orderData,\n children,\n}) => {\n const [loading, setLoading] = useState(false);\n\n const mutationReorderItems = useCallback(() => {\n setLoading(true);\n const orderNumber = orderData?.number!;\n\n reorderItems(orderNumber)\n .then(({ success, userInputErrors }) => {\n if (success) {\n redirectTo(routeOnSuccess, {});\n }\n\n if (userInputErrors.length) {\n onError?.(userInputErrors);\n }\n })\n .catch((error) => {\n onError?.(error.message as string);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [orderData, routeOnSuccess, onError]);\n\n return (\n <Button\n type=\"button\"\n disabled={loading}\n variant=\"secondary\"\n className={'order-reorder'}\n onClick={mutationReorderItems}\n >\n {children}\n </Button>\n );\n};\n"],"names":["AvailableActionsProps","OrderActions","className","orderData","slots","routeCreateReturn","routeOnSuccess","onError","translationActions","useText","renderAvailableActions","useMemo","availableActionsList","isEmpty","isReturnPage","redirectToCreateReturn","redirectTo","jsx","Fragment","Slot","classes","action","OrderCancel","Button","Reorder","useOrderStatus","order","setOrder","useState","orderStatus","setOrderStatus","useEffect","event","events","removeQueryParams","params","url","param","useOrderActions","enableOrderCancellation","translations","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","useCallback","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","error","confirmGuestReturn","OrderStatus","statusTitle","storeConfig","useGetStoreConfig","jsxs","InLineAlert","OrderStatusContent","CardLoader","orderRef","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","index","Text","Modal","OrderCancelForm","statusTransform","title","orderReturn","_a","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","formatReturnStatus","translationsHeaderTitle","capitalizeFirst","translationsText","translationsTextWithoutDate","orderMessage","formatDateToLocale","returnMessage","_c","_b","headerTitle","Card","Header","children","loading","setLoading","mutationReorderItems","orderNumber","reorderItems","success","userInputErrors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrderStatus.js","sources":["/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx"],"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 { OrderCommentItem } from '../orderComments.types';\n\nexport type QueryType = 'orderData';\n\nexport interface UserAddressesProps {\n city?: string;\n company?: string;\n country_code?: string;\n fax?: string;\n firstname?: string;\n lastname?: string;\n middlename?: string;\n postcode?: string;\n prefix?: string;\n region?: string;\n region_id?: number;\n street?: string[];\n suffix?: string;\n telephone?: string;\n vat_id?: string;\n}\n\ninterface ThumbnailImageProps {\n url?: string;\n label?: string;\n}\n\nexport interface ProductProps {\n only_x_left_in_stock?: number;\n stock_status?: string;\n thumbnail?: ThumbnailImageProps;\n image: ThumbnailImageProps;\n canonical_url: string;\n url_key: string;\n id: string;\n uid: string;\n name: string;\n __typename: string;\n sku: string;\n price_range: {\n maximum_price: {\n regular_price: MoneyProps;\n };\n };\n}\n\nexport interface MoneyProps {\n value: number;\n currency: string;\n}\n\ninterface GrandTotalProps extends MoneyProps {}\ninterface GrandTotalExclTaxProps extends MoneyProps {}\ninterface SubtotalProps extends MoneyProps {}\ninterface TotalTaxProps extends MoneyProps {}\ninterface TaxAmountProps extends MoneyProps {}\ninterface TotalShippingProps extends MoneyProps {}\n\ninterface TaxDetailProps {\n amount?: TaxAmountProps;\n rate?: number;\n title?: string;\n}\n\nexport interface DiscountProps {\n amount: MoneyProps;\n label: string;\n}\n\nexport interface TotalGiftOptionsProps {\n gift_wrapping_for_items: MoneyProps;\n gift_wrapping_for_items_incl_tax: MoneyProps;\n gift_wrapping_for_order_incl_tax: MoneyProps;\n gift_wrapping_for_order: MoneyProps;\n printed_card: MoneyProps;\n printed_card_incl_tax: MoneyProps;\n}\n\nexport interface TotalProps {\n total_giftcard?: MoneyProps;\n grand_total?: GrandTotalProps;\n grand_total_excl_tax?: GrandTotalExclTaxProps;\n subtotal?: SubtotalProps;\n taxes?: TaxDetailProps[];\n total_tax?: TotalTaxProps;\n total_shipping?: TotalShippingProps;\n discounts?: DiscountProps[];\n gift_options: TotalGiftOptionsProps;\n}\n\ninterface InvoiceItemInterface {}\n\ninterface InvoiceProps {\n id?: string;\n number?: string;\n total?: TotalProps;\n items?: InvoiceItemInterface[];\n comments?: OrderCommentItem[];\n}\n\nexport interface GiftMessageProps {\n form: string;\n message: string;\n to: string;\n}\nexport interface GiftWrappingProps {\n design: string;\n price: MoneyProps;\n uid: string;\n image: { url: string; label: string };\n}\n\nexport interface giftCardProps {\n sender_name: string;\n sender_email: string;\n recipient_email: string;\n recipient_name: string;\n message: string;\n}\n\nexport interface OrderItemProps {\n __typename: string;\n discounts: DiscountProps[];\n eligible_for_return: boolean;\n entered_options: { label: string; value: string }[];\n gift_message: GiftMessageProps;\n gift_wrapping: GiftWrappingProps;\n id: string;\n product: ProductProps;\n product_name: string;\n product_sale_price: MoneyProps;\n product_sku: string;\n product_type: string;\n product_url_key: string;\n quantity_canceled: number;\n quantity_invoiced: number;\n quantity_ordered: number;\n quantity_refunded: number;\n quantity_returned: number;\n quantity_shipped: number;\n quantity_return_requested: number;\n selected_options: { label: string; value: string }[];\n bundle_options: any;\n status: string;\n gift_card?: giftCardProps;\n downloadable_links: { title: string }[];\n prices: {\n price_including_tax: MoneyProps;\n original_price: MoneyProps;\n original_price_including_tax: MoneyProps;\n price: MoneyProps;\n discounts: [\n {\n label: string;\n amount: {\n value: number;\n };\n }\n ];\n };\n}\n\nexport interface PaymentMethodsProps {\n name: string;\n type: string;\n additional_data: {\n name: string;\n value: string;\n }[];\n}\n\nexport interface ShipmentsProps {\n id: string;\n number: string;\n tracking: { carrier: string; number: string; title: string }[];\n comments: OrderCommentItem[];\n items: {\n id: string;\n product_sku: string;\n product_name: string;\n quantity_shipped: number;\n order_item: OrderItemProps;\n }[];\n}\n\nexport enum AvailableActionsProps {\n CANCEL = 'CANCEL',\n RETURN = 'RETURN',\n REORDER = 'REORDER',\n}\n\nexport interface ReturnsItemsProps {\n number: string;\n status: string;\n created_at: string;\n order: {\n number: string;\n token: string;\n };\n shipping: {\n tracking: {\n status: {\n text: string;\n type: string;\n };\n carrier: {\n uid: string;\n label: string;\n };\n tracking_number: string;\n }[];\n };\n items: {\n quantity: number;\n status: string;\n uid: string;\n request_quantity: number;\n order_item: OrderItemProps;\n }[];\n}\nexport interface OrderProps {\n is_virtual?: boolean;\n order_status_change_date?: string;\n available_actions: AvailableActionsProps[];\n shipping_method: string;\n status: string;\n token: string;\n carrier: string;\n email: string;\n gift_receipt_included: boolean;\n id: string;\n number: string;\n order_date: string;\n printed_card_included: boolean;\n admin_assisted_order?: number;\n applied_coupons: { code: string }[];\n comments?: OrderCommentItem[];\n returns: {\n __typename: string;\n items: ReturnsItemsProps[];\n };\n shipments: ShipmentsProps[];\n items_eligible_for_return: OrderItemProps[];\n items: OrderItemProps[];\n gift_wrapping: GiftWrappingProps;\n gift_message: GiftMessageProps;\n payment_methods: PaymentMethodsProps[];\n invoices: InvoiceProps[];\n shipping_address: UserAddressesProps;\n billing_address: UserAddressesProps;\n total?: TotalProps;\n applied_gift_cards: {\n code: string;\n applied_balance: MoneyProps;\n }[];\n}\n\nexport interface ErrorProps {\n errors?: {\n message?: string;\n }[];\n}\n\ntype GetOrderDetailsByParams<T extends QueryType> = {\n orderId?: string;\n returnRef?: string;\n queryType: T;\n returnsPageSize?: number;\n};\n\nexport interface GetOrderDetailsByIdProps\n extends GetOrderDetailsByParams<QueryType> {}\n\nexport interface OrdersResponse extends ErrorProps {\n data?: {\n customer?: {\n orders?: {\n items?: OrderProps[];\n };\n };\n };\n}\n\nexport interface OrderByNumberResponse extends OrdersResponse {}\n\nexport type ResponseData<T extends QueryType> = T extends\n | 'orderData'\n | 'orderSummary'\n | 'orderStatus'\n ? OrderByNumberResponse\n : never;\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 { FunctionComponent } from 'preact';\nimport { useMemo } from 'preact/compat';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { AvailableActionsProps, OrderActionsProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport '@/order/components/OrderActions/OrderActions.css';\nimport { OrderCancel, Reorder } from '@/order/components';\n\nexport const OrderActions: FunctionComponent<OrderActionsProps> = ({\n className,\n orderData,\n slots,\n routeCreateReturn,\n routeOnSuccess,\n onError,\n}) => {\n const translationActions = useText({\n cancel: 'Order.OrderStatusContent.actions.cancel',\n createReturn: 'Order.OrderStatusContent.actions.createReturn',\n createAnotherReturn: 'Order.OrderStatusContent.actions.createAnotherReturn',\n reorder: 'Order.OrderStatusContent.actions.reorder',\n });\n\n const renderAvailableActions = useMemo(() => {\n const availableActionsList = orderData?.availableActions;\n const isEmpty = !!availableActionsList?.length;\n const isReturnPage = !!orderData?.returnNumber;\n\n const redirectToCreateReturn = () => {\n redirectTo(routeCreateReturn, {}, orderData);\n };\n\n return (\n <>\n {slots?.OrderActions ? (\n <Slot\n data-testid=\"OrderActionsSlot\"\n name=\"OrderCanceledActions\"\n slot={slots?.OrderActions}\n context={orderData}\n />\n ) : (\n <div\n data-testid=\"availableActionsList\"\n className={classes([\n 'order-order-actions__wrapper',\n ['order-order-actions__wrapper--empty', !isEmpty],\n ])}\n >\n {(availableActionsList as AvailableActionsProps[])?.map(\n (action: string) => {\n switch (action) {\n case AvailableActionsProps.CANCEL:\n // Cancel action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <OrderCancel\n orderRef={orderData?.token! || orderData?.id!}\n />\n ) : null}\n </>\n );\n case AvailableActionsProps.RETURN:\n return (\n <Button\n variant=\"secondary\"\n onClick={redirectToCreateReturn}\n >\n {isReturnPage\n ? translationActions.createAnotherReturn\n : translationActions.createReturn}\n </Button>\n );\n case AvailableActionsProps.REORDER:\n // Reorder action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <Reorder\n orderData={orderData}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n >\n {translationActions.reorder}\n </Reorder>\n ) : null}\n </>\n );\n }\n }\n )}\n </div>\n )}\n </>\n );\n }, [\n onError,\n orderData,\n routeOnSuccess,\n routeCreateReturn,\n slots,\n translationActions,\n ]);\n\n return (\n <div className={classes(['order-order-actions', className])}>\n {renderAvailableActions}\n </div>\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 { OrderDataModel } from '@/order/data/models';\nimport { StatusEnumProps, UseOrderStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderStatus = ({ orderData }: UseOrderStatusProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderStatus, setOrderStatus] = useState<StatusEnumProps>(\n orderData?.status as StatusEnumProps\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderStatus(order.status as StatusEnumProps);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { orderStatus, 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\nexport const removeQueryParams = (params: string[]) => {\n const url = new URL(window.location.href);\n\n params.forEach((param) => {\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n }\n });\n\n window.history.replaceState({}, document.title, url.toString());\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 { useCallback, useEffect, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { UseOrderActionsProps } from '@/order/types';\nimport { confirmGuestReturn, confirmCancelOrder } from '@/order/api';\nimport { removeQueryParams } from '@/order/lib/removeQueryParams';\n\nexport const useOrderActions = ({\n enableOrderCancellation,\n}: UseOrderActionsProps) => {\n const translations = useText({\n cancelOrderHeading: 'Order.OrderStatusContent.actions.cancel',\n confirmGuestReturnHeading:\n 'Order.OrderStatusContent.actions.confirmGuestReturn',\n orderCancelled: 'Order.OrderStatusContent.orderCanceled.message',\n guestRequestReturnMessage:\n 'Order.OrderStatusContent.actions.confirmGuestReturnMessage',\n });\n const [isDismissed, setIsDismissed] = useState<boolean>(false);\n const [isExecuted, setIsExecuted] = useState<boolean>(false);\n const [orderActionStatus, setOrderActionStatus] = useState<{\n heading: string;\n text: string;\n status: 'success' | 'error' | 'warning' | undefined;\n }>({\n heading: '',\n text: '',\n status: undefined,\n });\n\n const onDismiss = useCallback(() => {\n setIsDismissed(true);\n removeQueryParams(['order_id', 'confirmation_key', 'action']);\n }, []);\n\n const triggerAlertOnDismiss = useCallback(\n (\n heading: string,\n text: string,\n status: 'success' | 'error' | 'warning' | undefined\n ) => {\n setOrderActionStatus({\n heading,\n text,\n status,\n });\n\n removeQueryParams(['action']);\n },\n []\n );\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const orderId = params.get('order_id') ?? '';\n const confirmationKey = params.get('confirmation_key') ?? '';\n const actionType = params.get('action') ?? '';\n\n if (isExecuted || !orderId || !confirmationKey || !actionType) return;\n\n if (enableOrderCancellation && actionType === 'cancel') {\n setIsExecuted(true);\n confirmCancelOrder(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: translations.orderCancelled,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n\n if (actionType === 'return') {\n setIsExecuted(true);\n confirmGuestReturn(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: translations.guestRequestReturnMessage,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n }, [\n enableOrderCancellation,\n translations,\n triggerAlertOnDismiss,\n isExecuted,\n ]);\n\n return {\n orderActionStatus,\n isDismissed,\n onDismiss,\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 { CardLoader, OrderStatusContent } from '@/order/components';\nimport { OrderStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n useOrderActions,\n useGetStoreConfig,\n useOrderStatus,\n} from '@/order/hooks';\nimport { InLineAlert } from '@adobe-commerce/elsie/components';\n\nexport const OrderStatus: Container<OrderStatusProps> = ({\n slots,\n orderData,\n className,\n statusTitle,\n status,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const { orderStatus, order } = useOrderStatus({ orderData });\n\n const storeConfig = useGetStoreConfig();\n\n const { orderActionStatus, isDismissed, onDismiss } = useOrderActions({\n enableOrderCancellation: storeConfig?.orderCancellationEnabled,\n });\n\n return (\n <div className={classes(['order-order-status', className])}>\n {!isDismissed && orderActionStatus?.status !== undefined ? (\n <InLineAlert\n style={{ marginBottom: '1rem' }}\n heading={orderActionStatus.heading}\n onDismiss={onDismiss}\n description={orderActionStatus.text}\n type={orderActionStatus.status}\n />\n ) : null}\n {order ? (\n <OrderStatusContent\n title={statusTitle}\n status={status || orderStatus}\n slots={slots}\n orderData={order}\n routeCreateReturn={routeCreateReturn}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\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 { Button, Modal, PickerOption } from '@adobe-commerce/elsie/components';\nimport { OrderCancelProps } from '@/order/types';\nimport { useGetStoreConfig } from '@/order/hooks/api/useGetStoreConfig';\nimport { OrderCancellationReason } from '@/order/data/models';\nimport { OrderCancelForm } from '@/order/containers';\nimport { useState } from 'preact/hooks';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/order/components/OrderCancel/OrderCancel.css';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderCancel: FunctionComponent<OrderCancelProps> = ({\n orderRef,\n}) => {\n const [isCancelReasonsModalVisible, setIsCancelReasonsModalVisible] =\n useState(false);\n\n const handleOpen = () => {\n setIsCancelReasonsModalVisible(true);\n };\n const handleClose = () => {\n setIsCancelReasonsModalVisible(false);\n };\n\n const storeConfig = useGetStoreConfig();\n const orderCancellationReasons = storeConfig?.orderCancellationReasons ?? [];\n\n const transformCancelReasons = (\n reasons: OrderCancellationReason[]\n ): PickerOption[] => {\n return reasons.map((reason, index) => {\n return {\n text: reason?.description,\n value: index.toString(),\n };\n });\n };\n\n events.on('order/data', (orderData) => {\n const status = String(orderData.status).toLocaleLowerCase();\n if (\n status === 'guest order cancellation requested' ||\n status === 'canceled'\n ) {\n handleClose();\n }\n });\n\n return (\n <>\n <Button\n variant=\"secondary\"\n onClick={handleOpen}\n data-testid=\"cancel-button\"\n >\n <Text id={'Order.OrderStatusContent.actions.cancel'} />\n </Button>\n {isCancelReasonsModalVisible && (\n <Modal\n centered={true}\n size=\"medium\"\n onClose={handleClose}\n className={'order-order-cancel__modal'}\n title={\n <h2 className={'order-order-cancel__title'}>\n <Text id={'Order.OrderCancelForm.title'} />\n </h2>\n }\n data-testid=\"order-cancellation-reasons-modal\"\n >\n <OrderCancelForm\n orderRef={orderRef}\n cancelReasons={transformCancelReasons(orderCancellationReasons)}\n />\n </Modal>\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 { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { OrderStatusContentProps, StatusEnumProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderActions } from '@/order/components';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/OrderStatusContent/OrderStatusContent.css';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst statusTransform: Record<string, string> = {\n pending: 'orderPending',\n shiping: 'orderShipped',\n complete: 'orderComplete',\n processing: 'orderProcessing',\n 'on hold': 'orderOnHold',\n canceled: 'orderCanceled',\n 'suspected fraud': 'orderSuspectedFraud',\n 'payment Review': 'orderPaymentReview',\n 'order received': 'orderReceived',\n 'guest order cancellation requested': 'guestOrderCancellationRequested',\n 'pending payment': 'orderPendingPayment',\n rejected: 'orderRejected',\n authorized: 'orderAuthorized',\n 'paypal canceled reversal': 'orderPaypalCanceledReversal',\n 'pending paypal': 'orderPendingPaypal',\n 'paypal reversed': 'orderPaypalReversed',\n closed: 'orderClosed',\n};\n\nexport const OrderStatusContent: FunctionComponent<OrderStatusContentProps> = ({\n slots,\n title,\n status,\n orderData,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const orderStatus = String(status).toLocaleLowerCase();\n const orderReturn = orderData?.returns?.[0];\n const orderReturnStatus = orderReturn?.returnStatus ?? '';\n const createdReturnAt = orderReturn?.createdReturnAt ?? '';\n\n const translationsPlaceholder = useText({\n message: 'Order.OrderStatusContent.orderPlaceholder.message',\n messageWithoutDate:\n 'Order.OrderStatusContent.orderPlaceholder.messageWithoutDate',\n });\n\n const translationsHeader = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.title`\n );\n\n const translationsMessage = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.message`\n );\n\n const translationsMessageWithoutDate = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.messageWithoutDate`\n );\n\n const translationsReturn = useText({\n title: `Order.OrderStatusContent.returnStatus.${formatReturnStatus(\n orderReturnStatus\n )}`,\n returnMessage: 'Order.OrderStatusContent.returnMessage',\n });\n\n const translationsOrder = useText({\n adminAssistedLabel: 'Order.OrderStatusContent.adminAssistedLabel',\n });\n\n if (!status) return <div />;\n\n const translationsHeaderTitle = translationsHeader?.title\n ? translationsHeader\n : { title: capitalizeFirst(orderStatus) };\n const translationsText = translationsMessage?.message\n ? translationsMessage\n : translationsPlaceholder;\n const translationsTextWithoutDate =\n translationsMessageWithoutDate?.messageWithoutDate\n ? translationsMessageWithoutDate\n : translationsPlaceholder;\n\n const orderMessage = orderData?.orderStatusChangeDate\n ? translationsText?.message.replace(\n '{DATE}',\n formatDateToLocale(orderData?.orderStatusChangeDate)\n )\n : translationsTextWithoutDate.messageWithoutDate;\n\n const isAdminAssisted = orderData?.adminAssistedOrder;\n\n const returnMessage =\n translationsReturn?.returnMessage\n ?.replace(\n '{ORDER_CREATE_DATE}',\n formatDateToLocale(orderData?.orderDate!)\n )\n ?.replace('{RETURN_CREATE_DATE}', formatDateToLocale(createdReturnAt)) ??\n '';\n\n const headerTitle = isReturnPage\n ? title ?? (translationsReturn.title || capitalizeFirst(orderReturnStatus))\n : title ?? translationsHeaderTitle.title;\n\n return (\n <Card className=\"order-order-status-content\" variant=\"secondary\">\n <Header title={headerTitle} />\n <div className=\"order-order-status-content__wrapper\">\n <div\n className={classes([\n 'order-order-status-content__wrapper-description',\n [\n 'order-order-status-content__wrapper-description--actions-slot',\n !!slots?.OrderActions,\n ],\n ])}\n >\n {isAdminAssisted && !isReturnPage && (\n <p className=\"order-order-status-content__admin-assisted\">\n {translationsOrder?.adminAssistedLabel}\n </p>\n )}\n <p>{isReturnPage ? returnMessage : orderMessage}</p>\n </div>\n <OrderActions\n orderData={orderData}\n slots={slots}\n routeCreateReturn={routeCreateReturn}\n routeOnSuccess={routeOnSuccess}\n onError={onError}\n />\n </div>\n </Card>\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 { FunctionComponent } from 'preact';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { reorderItems } from '@/order/api';\nimport { useCallback, useState } from 'preact/hooks';\nimport { ReorderProps } from '@/order/types';\n\nexport const Reorder: FunctionComponent<ReorderProps> = ({\n onError,\n routeOnSuccess,\n orderData,\n children,\n}) => {\n const [loading, setLoading] = useState(false);\n\n const mutationReorderItems = useCallback(() => {\n setLoading(true);\n const orderNumber = orderData?.number!;\n\n reorderItems(orderNumber)\n .then(({ success, userInputErrors }) => {\n if (success) {\n redirectTo(routeOnSuccess, {});\n }\n\n if (userInputErrors.length) {\n onError?.(userInputErrors);\n }\n })\n .catch((error) => {\n onError?.(error.message as string);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [orderData, routeOnSuccess, onError]);\n\n return (\n <Button\n type=\"button\"\n disabled={loading}\n variant=\"secondary\"\n className={'order-reorder'}\n onClick={mutationReorderItems}\n >\n {children}\n </Button>\n );\n};\n"],"names":["AvailableActionsProps","OrderActions","className","orderData","slots","routeCreateReturn","routeOnSuccess","onError","translationActions","useText","renderAvailableActions","useMemo","availableActionsList","isEmpty","isReturnPage","redirectToCreateReturn","redirectTo","jsx","Fragment","Slot","classes","action","OrderCancel","Button","Reorder","useOrderStatus","order","setOrder","useState","orderStatus","setOrderStatus","useEffect","event","events","removeQueryParams","params","url","param","useOrderActions","enableOrderCancellation","translations","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","useCallback","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","error","confirmGuestReturn","OrderStatus","statusTitle","storeConfig","useGetStoreConfig","jsxs","InLineAlert","OrderStatusContent","CardLoader","orderRef","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","index","Text","Modal","OrderCancelForm","statusTransform","title","orderReturn","_a","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","formatReturnStatus","translationsOrder","translationsHeaderTitle","capitalizeFirst","translationsText","translationsTextWithoutDate","orderMessage","formatDateToLocale","isAdminAssisted","returnMessage","_c","_b","headerTitle","Card","Header","children","loading","setLoading","mutationReorderItems","orderNumber","reorderItems","success","userInputErrors"],"mappings":"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"}
|