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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CreateReturn.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/Card.svg","../../node_modules/@adobe-commerce/elsie/src/icons/CheckWithCircle.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronDown.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronRight.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronUp.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Coupon.svg","../../node_modules/@adobe-commerce/elsie/src/icons/EmptyBox.svg","../../node_modules/@adobe-commerce/elsie/src/icons/GiftCard.svg","../../node_modules/@adobe-commerce/elsie/src/icons/OrderSuccess.svg","../../node_modules/@adobe-commerce/elsie/src/icons/User.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Wallet.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Warning.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningWithCircle.svg","/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/types/form.types.ts","/@dropins/storefront-order/src/types/orderStatus.types.ts","/@dropins/storefront-order/src/lib/getFormValues.ts","/@dropins/storefront-order/src/lib/returnOrdersHelper.ts","/@dropins/storefront-order/src/lib/formatDateToLocale.ts","/@dropins/storefront-order/src/components/CustomerDetailsContent/CustomerDetailsContent.tsx","/@dropins/storefront-order/src/components/EmptyList/EmptyList.tsx","/@dropins/storefront-order/src/hooks/components/useForm.tsx","/@dropins/storefront-order/src/components/Form/FormInputs/FormInputs.tsx","/@dropins/storefront-order/src/components/Form/Form.tsx","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/api/useGetStoreConfig.tsx","/@dropins/storefront-order/src/lib/getQueryParam.ts","/@dropins/storefront-order/src/hooks/containers/useCreateReturn.tsx","/@dropins/storefront-order/src/configs/defaultAttributePreset.config.ts","/@dropins/storefront-order/src/hooks/containers/useCustomerDetails.tsx","/@dropins/storefront-order/src/lib/setTaxStatus.ts","/@dropins/storefront-order/src/hooks/containers/useOrderCostSummary.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderHeader.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderComments.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderProductList.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderSearch.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/hooks/containers/useReturnsList.tsx","/@dropins/storefront-order/src/hooks/containers/useShippingStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/hooks/useInLineAlert.tsx","/@dropins/storefront-order/src/hooks/useIsMobile.tsx","/@dropins/storefront-order/src/containers/CreateReturn/CreateReturn.tsx","/@dropins/storefront-order/src/containers/CustomerDetails/CustomerDetails.tsx","/@dropins/storefront-order/src/containers/OrderCancelForm/OrderCancelForm.tsx","/@dropins/storefront-order/src/containers/OrderCostSummary/OrderCostSummary.tsx","/@dropins/storefront-order/src/containers/OrderHeader/OrderHeader.tsx","/@dropins/storefront-order/src/containers/OrderProductList/OrderProductList.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderReturns.tsx","/@dropins/storefront-order/src/containers/OrderReturns/OrderReturns.tsx","/@dropins/storefront-order/src/containers/OrderSearch/OrderSearch.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/containers/ReturnsList/ReturnsList.tsx","/@dropins/storefront-order/src/containers/OrderComments/OrderComments.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderLoaders/OrderLoaders.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/GiftWrapping.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/PrintedCard.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Subtotal.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Shipping.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Discounts.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Total.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Tax.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/GiftCards.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/OrderCostSummaryContent.tsx","/@dropins/storefront-order/src/components/OrderHeader/OrderHeader.tsx","/@dropins/storefront-order/src/lib/categorizeProducts.ts","/@dropins/storefront-order/src/components/OrderProductListContent/OrderProductListContent.tsx","/@dropins/storefront-order/src/components/OrderProductListContent/CartSummaryItem.tsx","/@dropins/storefront-order/src/components/OrderSearchForm/OrderSearchForm.tsx","/@dropins/storefront-order/src/lib/capitalizeFirst.ts","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx","/@dropins/storefront-order/src/components/ReturnOrderMessage/ReturnOrderMessage.tsx","/@dropins/storefront-order/src/components/ReturnOrderProductList/ReturnOrderProductList.tsx","/@dropins/storefront-order/src/components/ReturnReasonForm/ReturnReasonForm.tsx","/@dropins/storefront-order/src/components/ReturnsListContent/ReturnsListContent.tsx","../../node_modules/@adobe-commerce/elsie/src/components/Button/Button.tsx","/@dropins/storefront-order/src/components/ShippingStatusCard/ShippingStatusReturnCard.tsx","/@dropins/storefront-order/src/components/ShippingStatusCard/ShippingStatusCard.tsx","/@dropins/storefront-order/src/components/OrderComments/OrderComments.tsx","/@dropins/storefront-order/src/containers/ShippingStatus/ShippingStatus.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCard = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M2.00718 5H22.1507C22.7047 5 23.1579 5.45323 23.1579 6.00718V7.51794C23.1579 7.51794 1.01007 7.58844 1 7.55823V6.00718C1 5.45323 1.45323 5 2.00718 5Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M23.1579 9.78409V18.3451C23.1579 18.899 22.7047 19.3523 22.1507 19.3523H2.00718C1.45323 19.3523 1 18.899 1 18.3451V9.78409H23.1579Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M3.01465 15.9682H8.40305\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.6192 17.5897C18.4535 17.5897 19.1299 16.9133 19.1299 16.0789C19.1299 15.2446 18.4535 14.5682 17.6192 14.5682C16.7848 14.5682 16.1084 15.2446 16.1084 16.0789C16.1084 16.9133 16.7848 17.5897 17.6192 17.5897Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19.8848 17.5897C20.7192 17.5897 21.3956 16.9133 21.3956 16.0789C21.3956 15.2446 20.7192 14.5682 19.8848 14.5682C19.0504 14.5682 18.374 15.2446 18.374 16.0789C18.374 16.9133 19.0504 17.5897 19.8848 17.5897Z\", stroke: \"currentColor\", strokeWidth: 1 }));\nexport default SvgCard;\n","import * as React from \"react\";\nconst SvgCheckWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.75 12.762L10.2385 15.75L17.25 9\", stroke: \"currentColor\" }));\nexport default SvgCheckWithCircle;\n","import * as React from \"react\";\nconst SvgChevronDown = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"square\", strokeLinejoin: \"round\" }));\nexport default SvgChevronDown;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { id: \"Icon_Chevron_right_Base\", \"data-name\": \"Icon \\\\u2013 Chevron right \\\\u2013 Base\", xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { id: \"Large\" }, /* @__PURE__ */ React.createElement(\"rect\", { id: \"Placement_area\", \"data-name\": \"Placement area\", width: 24, height: 24, fill: \"#fff\", opacity: 0 }), /* @__PURE__ */ React.createElement(\"g\", { id: \"Chevron_right_icon\", \"data-name\": \"Chevron right icon\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", id: \"chevron\", d: \"M199.75,367.5l4.255,-4.255-4.255,-4.255\", transform: \"translate(-189.25 -351.0)\", fill: \"none\", stroke: \"currentColor\" }))));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgChevronUp = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M7.74512 14.132L12.0001 9.87701L16.2551 14.132\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"square\", strokeLinejoin: \"round\" }));\nexport default SvgChevronUp;\n","import * as React from \"react\";\nconst SvgCoupon = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M22 6.25H22.75C22.75 5.83579 22.4142 5.5 22 5.5V6.25ZM22 9.27L22.2514 9.97663C22.5503 9.87029 22.75 9.58731 22.75 9.27H22ZM20.26 12.92L19.5534 13.1714L19.5539 13.1728L20.26 12.92ZM22 14.66H22.75C22.75 14.3433 22.551 14.0607 22.2528 13.9539L22 14.66ZM22 17.68V18.43C22.4142 18.43 22.75 18.0942 22.75 17.68H22ZM2 17.68H1.25C1.25 18.0942 1.58579 18.43 2 18.43V17.68ZM2 14.66L1.74865 13.9534C1.44969 14.0597 1.25 14.3427 1.25 14.66H2ZM3.74 11.01L4.44663 10.7586L4.44611 10.7572L3.74 11.01ZM2 9.27H1.25C1.25 9.58675 1.44899 9.86934 1.7472 9.97611L2 9.27ZM2 6.25V5.5C1.58579 5.5 1.25 5.83579 1.25 6.25H2ZM21.25 6.25V9.27H22.75V6.25H21.25ZM21.7486 8.56337C19.8706 9.23141 18.8838 11.2889 19.5534 13.1714L20.9666 12.6686C20.5762 11.5711 21.1494 10.3686 22.2514 9.97663L21.7486 8.56337ZM19.5539 13.1728C19.9195 14.1941 20.7259 15.0005 21.7472 15.3661L22.2528 13.9539C21.6541 13.7395 21.1805 13.2659 20.9661 12.6672L19.5539 13.1728ZM21.25 14.66V17.68H22.75V14.66H21.25ZM22 16.93H2V18.43H22V16.93ZM2.75 17.68V14.66H1.25V17.68H2.75ZM2.25135 15.3666C4.12941 14.6986 5.11623 12.6411 4.44663 10.7586L3.03337 11.2614C3.42377 12.3589 2.85059 13.5614 1.74865 13.9534L2.25135 15.3666ZM4.44611 10.7572C4.08045 9.73588 3.27412 8.92955 2.2528 8.56389L1.7472 9.97611C2.34588 10.1905 2.81955 10.6641 3.03389 11.2628L4.44611 10.7572ZM2.75 9.27V6.25H1.25V9.27H2.75ZM2 7H22V5.5H2V7ZM7.31 6.74V18.17H8.81V6.74H7.31ZM17.0997 8.39967L11.0397 14.4597L12.1003 15.5203L18.1603 9.46033L17.0997 8.39967ZM12.57 9.67C12.57 9.87231 12.4159 10 12.27 10V11.5C13.2839 11.5 14.07 10.6606 14.07 9.67H12.57ZM12.27 10C12.1241 10 11.97 9.87231 11.97 9.67H10.47C10.47 10.6606 11.2561 11.5 12.27 11.5V10ZM11.97 9.67C11.97 9.46769 12.1241 9.34 12.27 9.34V7.84C11.2561 7.84 10.47 8.67938 10.47 9.67H11.97ZM12.27 9.34C12.4159 9.34 12.57 9.46769 12.57 9.67H14.07C14.07 8.67938 13.2839 7.84 12.27 7.84V9.34ZM17.22 14.32C17.22 14.5223 17.0659 14.65 16.92 14.65V16.15C17.9339 16.15 18.72 15.3106 18.72 14.32H17.22ZM16.92 14.65C16.7741 14.65 16.62 14.5223 16.62 14.32H15.12C15.12 15.3106 15.9061 16.15 16.92 16.15V14.65ZM16.62 14.32C16.62 14.1177 16.7741 13.99 16.92 13.99V12.49C15.9061 12.49 15.12 13.3294 15.12 14.32H16.62ZM16.92 13.99C17.0659 13.99 17.22 14.1177 17.22 14.32H18.72C18.72 13.3294 17.9339 12.49 16.92 12.49V13.99Z\", fill: \"currentColor\" }));\nexport default SvgCoupon;\n","import * as React from \"react\";\nconst SvgEmptyBox = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12.002 21L11.8275 21.4686C11.981 21.5257 12.1528 21.5041 12.2873 21.4106C12.4218 21.3172 12.502 21.1638 12.502 21H12.002ZM3.89502 17.9823H3.39502C3.39502 18.1912 3.52485 18.378 3.72059 18.4509L3.89502 17.9823ZM3.89502 8.06421L4.07193 7.59655C3.91831 7.53844 3.74595 7.55948 3.61082 7.65284C3.47568 7.74619 3.39502 7.89997 3.39502 8.06421H3.89502ZM12.0007 21H11.5007C11.5007 21.1638 11.5809 21.3172 11.7154 21.4106C11.8499 21.5041 12.0216 21.5257 12.1751 21.4686L12.0007 21ZM20.1076 17.9823L20.282 18.4509C20.4778 18.378 20.6076 18.1912 20.6076 17.9823H20.1076ZM20.1076 8.06421H20.6076C20.6076 7.89997 20.527 7.74619 20.3918 7.65284C20.2567 7.55948 20.0843 7.53844 19.9307 7.59655L20.1076 8.06421ZM12.0007 11.1311L11.8238 10.6634C11.6293 10.737 11.5007 10.9232 11.5007 11.1311H12.0007ZM20.2858 8.53191C20.5441 8.43421 20.6743 8.14562 20.5766 7.88734C20.4789 7.62906 20.1903 7.49889 19.932 7.5966L20.2858 8.53191ZM12.002 4.94826L12.1775 4.48008C12.0605 4.43623 11.9314 4.43775 11.8154 4.48436L12.002 4.94826ZM5.87955 6.87106C5.62334 6.97407 5.49915 7.26528 5.60217 7.52149C5.70518 7.77769 5.99639 7.90188 6.2526 7.79887L5.87955 6.87106ZM18.1932 7.80315C18.4518 7.90008 18.74 7.76904 18.8369 7.51047C18.9338 7.2519 18.8028 6.96371 18.5442 6.86678L18.1932 7.80315ZM12 4.94827L11.5879 5.23148C11.6812 5.36719 11.8353 5.44827 12 5.44827C12.1647 5.44827 12.3188 5.36719 12.4121 5.23148L12 4.94827ZM14.0263 2L14.2028 1.53218C13.9875 1.45097 13.7446 1.52717 13.6143 1.71679L14.0263 2ZM21.8421 4.94827L22.2673 5.2113C22.3459 5.08422 22.3636 4.92863 22.3154 4.78717C22.2673 4.64571 22.1584 4.53319 22.0186 4.48045L21.8421 4.94827ZM9.97368 2L10.3857 1.71679C10.2554 1.52717 10.0125 1.45097 9.79721 1.53218L9.97368 2ZM2.15789 4.94827L1.98142 4.48045C1.84161 4.53319 1.73271 4.64571 1.68456 4.78717C1.63641 4.92863 1.65406 5.08422 1.73267 5.2113L2.15789 4.94827ZM12 11.1256L11.6702 11.5014C11.8589 11.667 12.1411 11.667 12.3298 11.5014L12 11.1256ZM15.0395 8.45812L14.8732 7.98659C14.8131 8.00779 14.7576 8.04028 14.7097 8.08232L15.0395 8.45812ZM23 5.65024L23.3288 6.0269C23.5095 5.86916 23.5527 5.60532 23.4318 5.39817C23.3109 5.19102 23.0599 5.09893 22.8337 5.17871L23 5.65024ZM8.96053 8.45812L9.29034 8.08232C9.24244 8.04028 9.18695 8.00779 9.12685 7.98659L8.96053 8.45812ZM1 5.65024L1.16632 5.17871C0.940115 5.09893 0.689119 5.19102 0.568192 5.39817C0.447264 5.60532 0.49048 5.86916 0.671176 6.0269L1 5.65024ZM12.1764 20.5314L4.06945 17.5137L3.72059 18.4509L11.8275 21.4686L12.1764 20.5314ZM4.39502 17.9823V8.06421H3.39502V17.9823H4.39502ZM3.71811 8.53187L11.8251 11.5987L12.1789 10.6634L4.07193 7.59655L3.71811 8.53187ZM11.502 11.1311V21H12.502V11.1311H11.502ZM12.1751 21.4686L20.282 18.4509L19.9332 17.5137L11.8262 20.5314L12.1751 21.4686ZM20.6076 17.9823V8.06421H19.6076V17.9823H20.6076ZM19.9307 7.59655L11.8238 10.6634L12.1776 11.5987L20.2845 8.53187L19.9307 7.59655ZM11.5007 11.1311V21H12.5007V11.1311H11.5007ZM19.932 7.5966L11.8251 10.6634L12.1789 11.5987L20.2858 8.53191L19.932 7.5966ZM11.8154 4.48436L5.87955 6.87106L6.2526 7.79887L12.1885 5.41217L11.8154 4.48436ZM11.8265 5.41645L18.1932 7.80315L18.5442 6.86678L12.1775 4.48008L11.8265 5.41645ZM11.502 4.94826V11.1311H12.502V4.94826H11.502ZM12.4121 5.23148L14.4384 2.28321L13.6143 1.71679L11.5879 4.66507L12.4121 5.23148ZM13.8498 2.46782L21.6656 5.4161L22.0186 4.48045L14.2028 1.53218L13.8498 2.46782ZM21.4169 4.68525L20.5485 6.08919L21.3989 6.61524L22.2673 5.2113L21.4169 4.68525ZM12.4121 4.66507L10.3857 1.71679L9.56162 2.28321L11.5879 5.23148L12.4121 4.66507ZM9.79721 1.53218L1.98142 4.48045L2.33437 5.4161L10.1502 2.46782L9.79721 1.53218ZM1.73267 5.2113L2.60109 6.61524L3.45154 6.08919L2.58312 4.68525L1.73267 5.2113ZM12.3298 11.5014L15.3693 8.83392L14.7097 8.08232L11.6702 10.7498L12.3298 11.5014ZM15.2058 8.92965L23.1663 6.12177L22.8337 5.17871L14.8732 7.98659L15.2058 8.92965ZM22.6712 5.27358L19.7764 7.80067L20.4341 8.554L23.3288 6.0269L22.6712 5.27358ZM12.3298 10.7498L9.29034 8.08232L8.63072 8.83392L11.6702 11.5014L12.3298 10.7498ZM9.12685 7.98659L1.16632 5.17871L0.83368 6.12177L8.79421 8.92965L9.12685 7.98659ZM0.671176 6.0269L3.56591 8.554L4.22356 7.80067L1.32882 5.27358L0.671176 6.0269Z\", fill: \"currentColor\" }));\nexport default SvgEmptyBox;\n","import * as React from \"react\";\nconst SvgGiftCard = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M22 12.8571V6.75774C22 6.33761 21.5848 6 21.0884 6H2.91155C2.40614 6 2 6.34511 2 6.75774V12.8571M22 12.8571H2M22 12.8571V17.0049C22 17.5468 21.5939 18 21.0884 18H2.91155C2.41516 18 2 17.5567 2 17.0049V12.8571M5.18182 16.0886L8.64545 12.8229M8.64545 12.8229L12.1087 16.0886M8.64545 12.8229C8.64545 12.8229 8.09964 10.4743 7.56328 9.96857C7.02692 9.46286 6.15419 9.46286 5.61783 9.96857C5.08146 10.4743 5.08146 11.2971 5.61783 11.8029C6.15419 12.3086 8.64545 12.8229 8.64545 12.8229ZM8.64545 12.8229C8.64545 12.8229 11.1542 12.2914 11.6905 11.7857C12.2269 11.28 12.2269 10.4571 11.6905 9.95141C11.1542 9.4457 10.2814 9.4457 9.74507 9.95141C9.2087 10.4571 8.64545 12.8229 8.64545 12.8229ZM8.64506 17.2886V6.70286\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\" }));\nexport default SvgGiftCard;\n","import * as React from \"react\";\nconst SvgOrderSuccess = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15077)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.15 20.85L1.5 17.53V6.63L10.15 10V20.85Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.63001L10.15 3.20001L18.8 6.63001L10.15 10L1.5 6.63001Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.17969 4.77002L14.8297 8.15002V11.47\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.7896 12.64V6.63L10.1396 10V20.85L14.8296 19.05\", stroke: \"currentColor\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { className: \"success-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M15.71 17.26C15.71 15.38 17.23 13.86 19.11 13.86C20.99 13.86 22.51 15.38 22.51 17.26C22.51 19.14 20.99 20.66 19.11 20.66C17.23 20.66 15.71 19.14 15.71 17.26Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { className: \"success-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M17.4805 17.49L18.5605 18.41L20.7205 16.33\", stroke: \"currentColor\", strokeLinecap: \"square\", strokeLinejoin: \"round\", strokeWidth: 1 })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15077\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.65, fill: \"white\", transform: \"translate(1 2.70001)\" }))));\nexport default SvgOrderSuccess;\n","import * as React from \"react\";\nconst SvgUser = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.8052 14.4968C10.8552 14.4968 9.9752 14.0268 9.4452 13.2368L9.4152 13.1868L9.3852 13.1268C8.1352 11.2268 7.5352 8.96681 7.6852 6.68681C7.7552 4.42681 9.6052 2.61681 11.8652 2.60681H12.0052C14.2752 2.47681 16.2152 4.21681 16.3452 6.47681C16.3452 6.55681 16.3452 6.62681 16.3452 6.70681C16.4852 8.94681 15.9052 11.1768 14.6852 13.0568L14.6052 13.1768C14.0552 13.9868 13.1352 14.4668 12.1652 14.4768H12.0052C11.9352 14.4768 11.8652 14.4868 11.7952 14.4868L11.8052 14.4968Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M4.3252 21.5469C4.3552 20.4169 4.4752 19.2869 4.6752 18.1769C4.8952 17.1669 6.4752 16.0269 8.9052 15.1569C9.2352 15.0369 9.4852 14.7869 9.5952 14.4569L9.8052 14.0269\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M14.425 14.4069L14.165 14.1569C14.375 14.5969 14.725 14.9569 15.155 15.1869C16.945 15.7969 19.125 16.9569 19.375 18.2069C19.585 19.3069 19.685 20.4269 19.675 21.5369\", stroke: \"currentColor\" }));\nexport default SvgUser;\n","import * as React from \"react\";\nconst SvgWallet = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19.35 11.64H14.04V14.81H19.35V11.64Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.9304 11.64V8.25H15.1504\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\nexport default SvgWallet;\n","import * as React from \"react\";\nconst SvgWarning = (props) => /* @__PURE__ */ React.createElement(\"svg\", { id: \"Icon_Warning_Base\", width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_841_1324)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.9949 2.30237L0.802734 21.6977H23.1977L11.9949 2.30237Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M12.4336 10.5504L12.3373 14.4766H11.6632L11.5669 10.5504V9.51273H12.4336V10.5504ZM11.5883 18.2636V17.2687H12.4229V18.2636H11.5883Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_841_1324\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 24, height: 21, fill: \"white\", transform: \"translate(0 1.5)\", strokeWidth: 1 }))));\nexport default SvgWarning;\n","import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","import * as React from \"react\";\nconst SvgWarningWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z\", stroke: \"currentColor\" }));\nexport default SvgWarningWithCircle;\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 { 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\nexport enum FieldEnumList {\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n DATETIME = 'DATETIME',\n DROPDOWN = 'DROPDOWN',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n HIDDEN = 'HIDDEN',\n IMAGE = 'IMAGE',\n MEDIA_IMAGE = 'MEDIA_IMAGE',\n MULTILINE = 'MULTILINE',\n MULTISELECT = 'MULTISELECT',\n PRICE = 'PRICE',\n SELECT = 'SELECT',\n TEXT = 'TEXT',\n TEXTAREA = 'TEXTAREA',\n UNDEFINED = 'UNDEFINED',\n VISUAL = 'VISUAL',\n WEIGHT = 'WEIGHT',\n EMPTY = '',\n}\n\nexport interface FieldsProps {\n className: string;\n fieldType: FieldEnumList;\n id: string;\n code: string;\n name: string;\n defaultValue: string | boolean | number;\n entityType: string;\n required: boolean;\n isUnique: boolean;\n label: string;\n orderNumber: number;\n options?: { is_default?: boolean; label?: string; value?: string }[];\n}\n\nexport interface FormProps {\n fieldsConfig?: FieldsProps[] | [];\n name?: string;\n className?: string;\n children?: any;\n loading?: boolean;\n onSubmit?: (\n event: SubmitEvent,\n isValid: boolean\n ) => Promise<void | null | undefined>;\n}\n\nexport interface useFormProps\n extends Omit<FormProps, 'children' | 'className' | 'name'> {}\n\nexport type FormValues = Record<string, string | number | boolean | undefined>;\n\nexport interface FormInputsProps {\n className?: string;\n errors?: Record<string, string>;\n values?: FormValues;\n fields?: FieldsProps[];\n loading?: boolean;\n onChange?: (event: Event) => void;\n onBlur?: (event: Event) => void;\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, OrdersReturnPropsModel } from '../data/models';\nimport { SlotProps } from '@adobe-commerce/elsie/lib';\nimport { UserInputErrorProps } from '@/order/types';\n\nexport enum StatusEnumProps {\n PENDING = 'pending',\n SHIPPING = 'shipping',\n COMPLETE = 'complete',\n PROCESSING = 'processing',\n HOLD = 'on hold',\n CANCELED = 'Canceled',\n SUSPECTED_FRAUD = 'suspected fraud',\n PAYMENT_REVIEW = 'payment review',\n}\n\ntype DefaultSlotContext = {\n orderData?: OrderDataModel;\n};\n\nexport interface OrderStatusProps {\n className?: string;\n orderData?: OrderDataModel;\n statusTitle?: string;\n status?: StatusEnumProps;\n slots?: {\n OrderActions: SlotProps<DefaultSlotContext>;\n };\n routeCreateReturn?: (orderReturn: OrdersReturnPropsModel) => string;\n routeOnSuccess?: () => string;\n onError?: (errorInformation: UserInputErrorProps[] | string) => void;\n}\n\nexport interface OrderStatusContentProps\n extends Omit<OrderStatusProps, 'statusTitle' | 'orderData' | 'status'> {\n title?: string;\n status?: StatusEnumProps;\n orderData?: OrderDataModel;\n}\n\nexport interface OrderActionsProps {\n className?: string;\n orderData?: OrderDataModel;\n slots?: {\n OrderActions: SlotProps<DefaultSlotContext>;\n };\n routeCreateReturn?: (orderReturn: OrdersReturnPropsModel) => string;\n routeOnSuccess?: () => string;\n onError?: (errorInformation: UserInputErrorProps[] | string) => void;\n}\n\nexport interface UseOrderStatusProps {\n orderData?: OrderDataModel;\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 getFormValues = (form: HTMLFormElement) => {\n if (!form) return null;\n\n const formData = new FormData(form);\n\n const checkboxes = form.querySelectorAll<HTMLInputElement>(\n 'input[type=\"checkbox\"]'\n );\n checkboxes.forEach((checkbox: HTMLInputElement) => {\n if (!formData.has(checkbox.name)) {\n formData.set(checkbox.name, 'false');\n }\n if (checkbox.checked) {\n formData.set(checkbox.name, 'true');\n }\n });\n\n if (formData && typeof formData.entries === 'function') {\n const entries = formData.entries();\n if (entries && typeof entries[Symbol.iterator] === 'function') {\n return JSON.parse(JSON.stringify(Object.fromEntries(entries))) || {};\n }\n }\n\n return {};\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n// @ts-nocheck\nimport { FieldEnumList } from '@/order/types';\nimport { getFormValues } from './getFormValues';\nconst returnStatus = {\n PENDING: 'pending',\n AUTHORIZED: 'authorized',\n PARTIALLY_AUTHORIZED: 'partiallyAuthorized',\n RECEIVED: 'received',\n PARTIALLY_RECEIVED: 'partiallyReceived',\n APPROVED: 'approved',\n PARTIALLY_APPROVED: 'partiallyApproved',\n REJECTED: 'rejected',\n PARTIALLY_REJECTED: 'partiallyRejected',\n DENIED: 'denied',\n PROCESSED_AND_CLOSED: 'processedAndClosed',\n CLOSED: 'closed',\n} as const;\n\ntype ReturnStatusKey = keyof typeof returnStatus;\ntype ReturnStatusValue = (typeof returnStatus)[ReturnStatusKey];\ntype KeyValueObject = { [key: string]: any };\ntype returnAttributesType = Array<{ attributeCode: string; value: string }>;\ntype normalizeAttributesTypes = {\n selectedCustomAttributes: returnAttributesType;\n enteredCustomAttributes: returnAttributesType;\n};\n\nconst formatTemplate = (el, index) => {\n return {\n id: `${el.id}_${el.fieldType}_${index + 1}`,\n name: `${el.name}_${el.fieldType}_${index + 1}`,\n code: `${el.code}_${el.fieldType}_${index + 1}`,\n customUpperCode: `${el.customUpperCode}_${el.fieldType}_${index + 1}`,\n };\n};\n\nexport const cleanObjectKeys = (obj: KeyValueObject): KeyValueObject => {\n const cleanedObject: KeyValueObject = {};\n\n if (!obj || typeof obj !== 'object' || Object.keys(obj).length === 0) {\n return cleanedObject;\n }\n\n Object.keys(obj).forEach((key) => {\n const match = /_(\\d+)$/.exec(key);\n\n if (match) {\n const newKey = key?.replace(/_\\d+$/, '');\n cleanedObject[newKey] = obj[key];\n } else {\n cleanedObject[key] = obj[key];\n }\n });\n\n return cleanedObject;\n};\n\nexport const modifyFieldsConfig = (fieldsConfig, index: number) =>\n fieldsConfig.map((el) => ({\n ...el,\n ...formatTemplate(el, index),\n }));\n\nexport const replicateEntries = (objects: any[], n: number): any[] =>\n objects?.flatMap((el) =>\n Array.from({ length: n }, (_, index) => ({\n ...el,\n ...formatTemplate(el, index),\n }))\n );\n\nexport const normalizeAttributes = (\n obj: Record<string, string>\n): normalizeAttributesTypes => {\n const selectedCustomAttributes: returnAttributesType = [];\n const enteredCustomAttributes: returnAttributesType = [];\n\n Object.entries(obj).forEach(([key, value]) => {\n const lastUnderscoreIndex = key.lastIndexOf('_');\n const baseKey = key.slice(0, lastUnderscoreIndex);\n const type = key.slice(lastUnderscoreIndex + 1);\n\n type === FieldEnumList.MULTISELECT || type === FieldEnumList.SELECT\n ? selectedCustomAttributes.push({\n attributeCode: baseKey,\n value,\n })\n : enteredCustomAttributes.push({ attributeCode: baseKey, value });\n });\n\n return { selectedCustomAttributes, enteredCustomAttributes };\n};\n\nexport const formatReturnStatus = (str: string): ReturnStatusValue | '' => {\n if (typeof str !== 'string') return '';\n\n return returnStatus[str as ReturnStatusKey] ?? '';\n};\n\nexport const processFormElement = (formsRef) => {\n const items: any[] = [];\n\n if (formsRef?.current.length) {\n for (const { current } of formsRef.current) {\n if (!current) continue;\n\n const orderItemUid = current.name.replace(/_\\d+$/, '');\n const quantity = current?.dataset?.quantity ?? 1;\n const formsData = getFormValues(current as HTMLFormElement);\n const valuesList = cleanObjectKeys(formsData);\n\n items.push({\n orderItemUid,\n quantityToReturn: +quantity,\n ...normalizeAttributes(valuesList),\n });\n }\n }\n\n return items;\n};\n\nexport const sortItemsByCondition = (order) => {\n if (!order?.items?.length) return [];\n\n return [...(order?.items ?? [])].sort((a, b) => {\n const aCondition = a.quantityShipped - a.quantityReturnRequested === 0;\n const bCondition = b.quantityShipped - b.quantityReturnRequested === 0;\n\n if (a.eligibleForReturn && !b.eligibleForReturn) return -1;\n if (!a.eligibleForReturn && b.eligibleForReturn) return 1;\n\n if (aCondition && !bCondition) return 1;\n if (!aCondition && bCondition) return -1;\n return 0;\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\nconst DEFAULT_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n};\n\nconst DATE_TIME_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n};\n\nconst dateTimeFormatterCache = new Map<string, Intl.DateTimeFormat>();\nconst DATE_TIME_CACHE_MAX_SIZE = 16;\n\nfunction getDateTimeFormatter(locale: string): Intl.DateTimeFormat {\n let formatter = dateTimeFormatterCache.get(locale);\n if (!formatter) {\n if (dateTimeFormatterCache.size >= DATE_TIME_CACHE_MAX_SIZE) {\n const firstKey = dateTimeFormatterCache.keys().next().value;\n if (firstKey !== undefined) dateTimeFormatterCache.delete(firstKey);\n }\n formatter = new Intl.DateTimeFormat(locale, DATE_TIME_OPTIONS);\n dateTimeFormatterCache.set(locale, formatter);\n }\n return formatter;\n}\n\n/** Use as third argument to format as date + time (e.g. \"July 28, 2025, 2:26:04 PM\"). */\nexport const FORMAT_DATETIME = 'datetime' as const;\n\nexport type FormatDateToLocaleOptions =\n | Intl.DateTimeFormatOptions\n | typeof FORMAT_DATETIME;\n\n/**\n * Formats a date or date-time string according to locale and options.\n * Returns \"Invalid Date\" if the input is invalid.\n *\n * @param date - The date string (e.g. ISO 8601 or YYYY-MM-DD).\n * @param locale - The locale for formatting. Defaults to 'en-US'.\n * @param options - Format options: an object (date-only by default, merged with defaults), or FORMAT_DATETIME for long date+time (e.g. \"July 28, 2025, 2:26:04 PM\").\n * @returns The formatted string, or \"Invalid Date\" if invalid.\n *\n * @example\n * // Date only (MM/DD/YYYY)\n * formatDateToLocale('2023-08-29');\n * // => \"08/29/2023\"\n *\n * @example\n * // Date and time (long format, cached per locale)\n * formatDateToLocale('2024-10-10T12:00:00.000Z', 'en-US', FORMAT_DATETIME);\n * // => \"October 10, 2024, 12:00:00 PM\"\n *\n * @example\n * // Custom options\n * formatDateToLocale('2023-08-29', 'de-DE', { month: 'long', year: 'numeric' });\n * // => \"29. August 2023\"\n */\nexport const formatDateToLocale = (\n date: string,\n locale: string = 'en-US',\n options: FormatDateToLocaleOptions = {}\n): string => {\n const dateObj = new Date(date);\n if (isNaN(dateObj.getTime())) {\n return 'Invalid Date';\n }\n\n if (options === FORMAT_DATETIME) {\n return getDateTimeFormatter(locale).format(dateObj);\n }\n\n const formatOptions: Intl.DateTimeFormatOptions = {\n ...DEFAULT_DATE_OPTIONS,\n ...options,\n };\n return new Intl.DateTimeFormat(locale, formatOptions).format(dateObj);\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 { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport {\n Card,\n Header,\n Icon,\n IconNode,\n IconType,\n Price,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport {\n CustomerDetailsContentProps,\n NormalizeAddressProps,\n} from '@/order/types';\nimport { DetailsSkeleton } from '@/order/components';\nimport { Card as CreditCard, Wallet } from '@adobe-commerce/elsie/icons';\nimport { useMemo } from 'preact/hooks';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/CustomerDetailsContent/CustomerDetailsContent.css';\n\nconst renderAddressData = (\n normalizeAddress: {\n billingAddress: NormalizeAddressProps[][];\n shippingAddress: NormalizeAddressProps[][];\n },\n type: 'shippingAddress' | 'billingAddress'\n) => {\n const getFieldContent = (field: any) => {\n const value = Array.isArray(field.value)\n ? field.value.join(' ')\n : field?.value;\n return field.label ? `${field.label}: ${value}` : value;\n };\n\n return normalizeAddress[type]?.map((field: any, fieldIndex: number) => {\n return <p key={`${field.value}${fieldIndex}`}>{getFieldContent(field)}</p>;\n });\n};\n\nconst extractPaymentMethodsData = (\n paymentMethods: { code: string; name: string }[]\n) => {\n const hasPaymentMethod = paymentMethods && paymentMethods.length > 0;\n const selectedPaymentMethod = hasPaymentMethod ? paymentMethods[0]?.name : '';\n const selectedPaymentMethodCode = hasPaymentMethod\n ? paymentMethods[0]?.code\n : '';\n const hasToDisplayPaymentMethod =\n hasPaymentMethod && selectedPaymentMethod !== '';\n return {\n selectedPaymentMethod,\n selectedPaymentMethodCode,\n hasToDisplayPaymentMethod,\n };\n};\n\nexport const CustomerDetailsContent: FunctionComponent<\n CustomerDetailsContentProps\n> = ({\n loading,\n order,\n withHeader = true,\n title,\n paymentIconsMap = {},\n normalizeAddress,\n translations,\n slots,\n}) => {\n const isReturnPage = !!order?.returnNumber;\n const isVirtual = !!order?.isVirtual;\n const orderReturn = order?.returns?.[0];\n\n const iconsList: Record<string, IconType | IconNode> = useMemo(\n () => ({\n checkmo: Wallet,\n card: CreditCard,\n ...paymentIconsMap,\n }),\n [paymentIconsMap]\n );\n\n if (!order || loading) return <DetailsSkeleton />;\n\n const emailAddress = order?.email ?? '';\n const shippingMethod = order?.shipping?.code;\n const shippingCost = order?.shipping?.amount;\n const shippingCurrency = order?.shipping?.currency;\n const paymentMethods = order?.payments;\n const {\n selectedPaymentMethod,\n selectedPaymentMethodCode,\n hasToDisplayPaymentMethod,\n } = extractPaymentMethodsData(paymentMethods);\n const paymentMethodIconSource = iconsList[selectedPaymentMethodCode];\n const shippingAddress =\n renderAddressData(normalizeAddress, 'shippingAddress') ?? [];\n const billingAddress =\n renderAddressData(normalizeAddress, 'billingAddress') ?? [];\n\n const contactDetails = (\n <div className=\"order-customer-details-content__container-email\">\n <div className={'order-customer-details-content__container-title'}>\n {translations?.emailTitle}\n </div>\n <p>{emailAddress}</p>\n </div>\n );\n\n const returnDetails = isReturnPage ? (\n <div\n className=\"order-customer-details-content__container-return-information\"\n data-testid=\"returnDetailsBlock\"\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations?.returnInformationTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n <Slot\n data-testid=\"OrderReturnInformation\"\n name=\"OrderReturnInformation\"\n slot={slots?.OrderReturnInformation}\n context={orderReturn}\n >\n <>\n <p>\n {translations.createdReturnAt}\n <span>{formatDateToLocale(orderReturn?.createdReturnAt!)}</span>\n </p>\n <p>\n {translations.returnStatusLabel}\n <Text\n id={`Order.CustomerDetails.returnStatus.${formatReturnStatus(\n orderReturn?.returnStatus!\n )}`}\n />\n </p>\n <p>\n {translations.orderNumberLabel}\n <span>{orderReturn?.orderNumber}</span>\n </p>\n </>\n </Slot>\n </div>\n </div>\n ) : null;\n\n const shippingAddressDetails =\n !isVirtual && shippingAddress.length ? (\n <div className=\"order-customer-details-content__container-shipping_address\">\n <div className={'order-customer-details-content__container-title'}>\n {translations.shippingAddressTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n {shippingAddress}\n </div>\n </div>\n ) : null;\n\n const billingAddressDetails = billingAddress.length ? (\n <div\n className={classes([\n 'order-customer-details-content__container-billing_address',\n [\n 'order-customer-details-content__container-billing_address--fullwidth',\n !shippingAddress.length || isVirtual,\n ],\n ])}\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations.billingAddressTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n {billingAddress}\n </div>\n </div>\n ) : null;\n\n const paymentMethodDetails = hasToDisplayPaymentMethod ? (\n <div\n className={classes([\n 'order-customer-details-content__container-payment_methods',\n [\n 'order-customer-details-content__container-payment_methods--fullwidth',\n !shippingMethod,\n ],\n ])}\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations?.paymentMethodsTitle}\n </div>\n <p\n data-testid=\"payment_methods_description\"\n className={classes([\n [\n 'order-customer-details-content__container-payment_methods--icon',\n !!paymentMethodIconSource,\n ],\n ])}\n >\n <Slot\n data-testid=\"PaymentMethodIcon\"\n name=\"PaymentMethodIcon\"\n slot={slots?.PaymentMethodIcon}\n context={{ selectedPaymentMethodCode }}\n >\n {paymentMethodIconSource ? (\n <Icon source={paymentMethodIconSource} />\n ) : null}\n </Slot>\n {selectedPaymentMethod}\n </p>\n </div>\n ) : null;\n\n const shippingMethodDetails = shippingMethod ? (\n <div className=\"order-customer-details-content__container-shipping_methods\">\n <div className={'order-customer-details-content__container-title'}>\n {translations?.shippingMethodsTitle}\n </div>\n {shippingCost ? (\n <p data-testid=\"shipping_methods_price\">\n <Price amount={shippingCost} currency={shippingCurrency} />{' '}\n {shippingMethod}\n </p>\n ) : (\n <p data-testid=\"shipping_methods_placeholder\">\n {translations?.freeShipping}\n </p>\n )}\n </div>\n ) : null;\n\n const pageSpecificDetails = isReturnPage ? (\n returnDetails\n ) : (\n <>\n {billingAddressDetails}\n {shippingMethodDetails}\n {paymentMethodDetails}\n </>\n );\n\n return (\n <Card\n data-testid=\"order-details\"\n variant={'secondary'}\n className={classes(['order-customer-details-content'])}\n >\n {withHeader ? <Header title={title ?? translations?.headerText} /> : null}\n\n <div\n className={classes([\n 'order-customer-details-content__container',\n [\n 'order-customer-details-content__container--no-margin',\n shippingAddress.length || billingAddress.length,\n ],\n ])}\n >\n {contactDetails}\n {shippingAddressDetails}\n {pageSpecificDetails}\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, VNode } from 'preact';\nimport { HTMLAttributes, useMemo } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { Icon, IllustratedMessage } from '@adobe-commerce/elsie/components';\nimport { EmptyBox } from '@adobe-commerce/elsie/icons';\nimport { EmptyListProps } from '@/order/types';\nimport '@/order/components/EmptyList/EmptyList.css';\n\nexport const EmptyList: FunctionComponent<EmptyListProps> = ({\n typeList,\n isEmpty,\n minifiedView,\n message,\n}) => {\n const config = useMemo(() => {\n switch (typeList) {\n case 'orders':\n return {\n icon: EmptyBox,\n text: <p>{message}</p>,\n className: 'order-empty-list--empty-box',\n };\n default:\n return { icon: '', text: '', className:\"\" };\n }\n }, [typeList, message]);\n\n if (!isEmpty || !typeList || !config.text) return null;\n\n return (\n <IllustratedMessage\n className={classes([\n 'order-empty-list',\n config.className,\n minifiedView ? 'order-empty-list--minified' : '',\n ])}\n message={config.text as VNode<HTMLAttributes<HTMLElement>>}\n icon={<Icon source={config.icon} />}\n data-testid=\"emptyList\"\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 { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { FieldsProps, FormValues, useFormProps } from '@/order/types';\n\nconst initializeFormData = (\n fieldsConfig: Array<{\n code: string;\n required: boolean;\n defaultValue: unknown;\n }>\n): Record<string, unknown> => {\n return fieldsConfig.reduce(\n (obj: Record<string, unknown>, { code, required, defaultValue }) => {\n if (required) obj[code] = defaultValue;\n return obj;\n },\n {}\n );\n};\n\nexport const useForm = ({ fieldsConfig, onSubmit }: useFormProps) => {\n const { requiredFieldError } = useText({\n requiredFieldError: 'Order.Form.notifications.requiredFieldError',\n });\n\n const formRef = useRef<HTMLFormElement>(null);\n const [formData, setFormData] = useState<FormValues>({});\n const [errors, setErrors] = useState<Record<string, string>>({});\n\n useEffect(() => {\n setFormData({});\n if (!fieldsConfig || !fieldsConfig.length) return;\n\n const initialData = initializeFormData(fieldsConfig);\n setFormData(initialData as FormValues);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldsConfig?.length]);\n\n useEffect(() => {\n return () => {\n setFormData({});\n // eslint-disable-next-line\n formRef.current?.reset();\n };\n }, []);\n\n const getRequiredFieldError = useCallback(\n (name: string, value: any) => {\n const error = (fieldsConfig as FieldsProps[]).find(\n (el) => el.code === name\n );\n\n const renderErrorMessage =\n error?.required && !value ? requiredFieldError : '';\n\n return renderErrorMessage;\n },\n [fieldsConfig, requiredFieldError]\n );\n\n const handleChange = useCallback((event: Event) => {\n const { name, value, type, checked } = event?.target as HTMLInputElement;\n const fieldValue = type === 'checkbox' ? checked : value;\n\n setFormData((prev) => ({ ...prev, [name]: fieldValue }));\n }, []);\n\n const handleBlur = useCallback(\n (event: Event) => {\n const { name, value, type, checked } = event?.target as HTMLInputElement;\n const fieldValue = type === 'checkbox' ? checked : value;\n\n setErrors((prevErrors) => ({\n ...prevErrors,\n [name]: getRequiredFieldError(name, fieldValue),\n }));\n },\n [getRequiredFieldError]\n );\n\n const handleSubmit = useCallback(\n (event: SubmitEvent) => {\n event.preventDefault();\n\n let formValid = true;\n let newErrors: Record<string, string> = {};\n let firstErrorField: string | null = null;\n\n for (const [name, value] of Object.entries(formData)) {\n const error = getRequiredFieldError(name, value);\n if (error) {\n newErrors[name] = error;\n formValid = false;\n if (!firstErrorField) {\n firstErrorField = name;\n }\n }\n }\n\n setErrors(newErrors);\n\n if (firstErrorField && formRef.current) {\n const input = formRef.current.elements.namedItem(\n firstErrorField\n ) as HTMLElement;\n input?.focus();\n }\n\n onSubmit?.(event, formValid);\n },\n [formData, getRequiredFieldError, onSubmit]\n );\n\n return {\n formData,\n errors,\n formRef,\n handleChange,\n handleBlur,\n handleSubmit,\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 { classes } from '@adobe-commerce/elsie/lib';\nimport { memo, useCallback } from 'preact/compat';\nimport { User } from '@adobe-commerce/elsie/icons';\nimport {\n Field,\n Input,\n Picker,\n Checkbox,\n InputDate,\n TextArea,\n} from '@adobe-commerce/elsie/components';\nimport { FieldsProps, FormInputsProps } from '@/order/types';\n\nexport const FormInputs: FunctionComponent<FormInputsProps> = memo(\n ({\n loading,\n values,\n fields = [],\n errors,\n className = '',\n onChange,\n onBlur,\n }) => {\n const itemClassName = `${className}__item`;\n\n const selectElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n const pickerOptions = item.options.map((option: any) => {\n return { text: option.label, value: option.value };\n });\n\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Picker\n name={item.id}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n placeholder={item.label!}\n aria-label={item.label!}\n options={pickerOptions}\n onBlur={onBlur}\n handleSelect={onChange}\n value={valueMessage || item.defaultValue}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n const isEmail = item.id === 'email';\n const icon = isEmail ? <User /> : undefined;\n const autoComplete = isEmail ? 'username' : '';\n\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item?.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Input\n aria-label={item.label}\n aria-required={item.required}\n autoComplete={autoComplete}\n icon={icon}\n type=\"text\"\n name={item.id}\n value={valueMessage || item.defaultValue}\n placeholder={item.label}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputDateElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <InputDate\n type=\"text\"\n name={item.id}\n value={valueMessage || item.defaultValue}\n placeholder={item.label}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputCheckBoxElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Checkbox\n name={item.id}\n checked={valueMessage || item.defaultValue}\n placeholder={item.label}\n label={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const textAreaElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <TextArea\n type=\"text\"\n name={item.id}\n value={\n valueMessage === undefined ? item.defaultValue : valueMessage\n }\n label={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n if (!fields.length) return null;\n\n return (\n <>\n {fields.map((item: FieldsProps) => {\n const errorMessage = (errors?.[item.id] as string) ?? '';\n const valueMessage = (values?.[item.id] as string) ?? '';\n\n switch (item.fieldType) {\n case 'TEXT': {\n if (item?.options?.length) {\n return selectElement(item, valueMessage, errorMessage);\n }\n\n return inputElement(item, valueMessage, errorMessage);\n }\n\n case 'MULTILINE': {\n return inputElement(item, valueMessage, errorMessage);\n }\n\n case 'SELECT': {\n return selectElement(item, valueMessage, errorMessage);\n }\n\n case 'DATE': {\n return inputDateElement(item, valueMessage, errorMessage);\n }\n\n case 'BOOLEAN': {\n return inputCheckBoxElement(item, valueMessage, errorMessage);\n }\n\n case 'TEXTAREA': {\n return textAreaElement(item, valueMessage, errorMessage);\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n }\n);\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { useForm } from '@/order/hooks/components/useForm';\nimport { FormProps } from '@/order/types';\nimport FormInputs from './FormInputs';\nimport { memo } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\n\nexport const Form: FunctionComponent<FormProps> = memo(\n ({\n name,\n loading,\n children,\n className = 'defaultForm',\n fieldsConfig,\n onSubmit,\n }) => {\n const {\n formData,\n errors,\n formRef,\n handleChange,\n handleBlur,\n handleSubmit,\n } = useForm({\n fieldsConfig,\n onSubmit,\n });\n\n return (\n <form\n className={classes(['order-form', className])}\n onSubmit={handleSubmit}\n name={name}\n ref={formRef}\n >\n <FormInputs\n className={className}\n loading={loading}\n fields={fieldsConfig}\n onChange={handleChange}\n onBlur={handleBlur}\n errors={errors}\n values={formData}\n />\n {children}\n </form>\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 { 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 { getStoreConfig } from '@/order/api';\nimport { useEffect, useState } from 'preact/hooks';\nimport { StoreConfigModel } from '../../data/models';\n\nexport const useGetStoreConfig = () => {\n const [config, setConfig] = useState<StoreConfigModel | null>(null);\n\n useEffect(() => {\n const storeConfigPromiseKey = 'orderStoreConfigPromise';\n\n const storeConfigString = sessionStorage.getItem('orderStoreConfig');\n\n if (storeConfigString) {\n // If the data is already cached in sessionStorage, use it\n const cachedStoreConfig: StoreConfigModel = JSON.parse(storeConfigString);\n setConfig(cachedStoreConfig);\n } else {\n // This part required to get rid of TS errors\n const windowWithPromise = window as typeof window & {\n [key: string]: Promise<StoreConfigModel | null> | undefined;\n };\n\n // Check if there's already a global promise for fetching store config\n if (!windowWithPromise[storeConfigPromiseKey]) {\n // If not, create one and store it in the global window object\n windowWithPromise[storeConfigPromiseKey] = getStoreConfig().then(\n (response) => {\n if (response) {\n sessionStorage.setItem(\n 'orderStoreConfig',\n JSON.stringify(response)\n );\n }\n return response;\n }\n );\n }\n\n // Use the promise from the global window object\n windowWithPromise[storeConfigPromiseKey]?.then((response) => {\n if (response) {\n setConfig(response);\n }\n });\n }\n }, []);\n\n return config;\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 getQueryParam = (param: string, href?: string): string => {\n try {\n const currentUrl = new URL(href ?? window.location.href);\n const paramValue = currentUrl.searchParams.get(param);\n\n return paramValue ?? '';\n } catch (error) {\n return '';\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n getAttributesList,\n requestGuestReturn,\n requestReturn,\n} from '@/order/api';\nimport {\n AttributesFormModel,\n OrderDataModel,\n OrderItemModel,\n} from '@/order/data/models';\nimport { StepsTypes, UseCreateReturn } from '@/order/types';\nimport { useState, useCallback, useEffect, useRef } from 'preact/hooks';\nimport { createRef, RefObject } from 'preact';\nimport {\n processFormElement,\n sortItemsByCondition,\n} from '@/order/lib/returnOrdersHelper';\nimport { events } from '@adobe-commerce/event-bus';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useCreateReturn = ({\n onSuccess,\n onError,\n handleSetInLineAlert,\n orderData,\n}: UseCreateReturn) => {\n const [isGuestCreateReturn, setIsGuestCreateReturn] = useState(false);\n const [order, setOrder] = useState({ id: '', email: '', ...orderData });\n const [steps, setSteps] = useState<StepsTypes>('products');\n const [loading, setLoading] = useState(true);\n const [selectedProductList, setSelectedProductList] = useState<\n OrderItemModel[] | []\n >([]);\n const [attributesList, setAttributesList] = useState<\n AttributesFormModel[] | []\n >([]);\n const [itemsEligibleForReturn, setItemsEligibleForReturn] = useState<\n OrderItemModel[]\n >([]);\n\n const formsRef = useRef<RefObject<HTMLFormElement>[]>([]);\n\n if (formsRef.current.length !== selectedProductList.length) {\n formsRef.current = selectedProductList.map(\n (_, i) => formsRef.current[i] || createRef<HTMLFormElement>()\n );\n }\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n const sortedReturnItems = sortItemsByCondition(order);\n setItemsEligibleForReturn(sortedReturnItems);\n setIsGuestCreateReturn(getQueryParam('orderRef')?.length > 20);\n setLoading(false);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n getAttributesList('RMA_ITEM').then((response) => {\n if (!response?.length) return;\n\n setAttributesList(response);\n setLoading(false);\n });\n }, []);\n\n const handleSelectedProductList = useCallback((orderItem: OrderItemModel) => {\n setSelectedProductList((currentList) => {\n const index = currentList.findIndex(\n (item) => item?.productSku === orderItem?.productSku\n );\n\n if (index > -1) {\n return currentList.filter(\n (item) => item?.productSku !== orderItem?.productSku\n );\n }\n\n return [...currentList, orderItem];\n });\n }, []);\n\n const handleChangeStep = useCallback(\n (value: StepsTypes) => {\n setSteps(value);\n handleSetInLineAlert();\n if (value === 'products') {\n setSelectedProductList([]);\n }\n },\n [handleSetInLineAlert]\n );\n\n const handleSetQuantity = useCallback(\n (value: number, productSku: string) => {\n const result = selectedProductList.map((el) =>\n el.productSku === productSku\n ? { ...el, currentReturnOrderQuantity: value }\n : el\n );\n setSelectedProductList(result);\n },\n [selectedProductList]\n );\n\n const onSubmit = useCallback(\n async (\n _: SubmitEvent,\n isValid: boolean\n ): Promise<void | null | undefined> => {\n if (!isValid) return;\n\n setLoading(true);\n const orderReturnInfo = {\n orderUid: order.id,\n contactEmail: order.email,\n };\n const items = processFormElement(formsRef);\n\n if (!isGuestCreateReturn) {\n requestReturn({ ...orderReturnInfo, items })\n .then((response) => {\n onSuccess?.(response);\n handleChangeStep('success');\n handleSetInLineAlert();\n })\n .catch((error) => {\n onError?.(error.message);\n handleSetInLineAlert({ type: 'error', heading: error.message });\n });\n } else {\n requestGuestReturn({\n token: getQueryParam('orderRef'),\n contactEmail: orderReturnInfo.contactEmail,\n items,\n commentText: '.',\n })\n .then((response) => {\n onSuccess?.(response);\n handleChangeStep('success');\n handleSetInLineAlert();\n })\n .catch((error) => {\n onError?.(error.message);\n handleSetInLineAlert({ type: 'error', heading: error.message });\n });\n }\n\n setLoading(false);\n },\n [\n handleChangeStep,\n onError,\n onSuccess,\n handleSetInLineAlert,\n order,\n isGuestCreateReturn,\n ]\n );\n\n return {\n order,\n steps,\n loading,\n formsRef,\n attributesList,\n selectedProductList,\n itemsEligibleForReturn,\n handleSelectedProductList,\n handleSetQuantity,\n handleChangeStep,\n onSubmit,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const defaultAttributePreset = [\n 'firstname',\n 'lastname',\n 'city',\n 'company',\n 'country_code',\n 'region',\n 'region_code',\n 'region_id',\n 'telephone',\n 'id',\n 'vat_id',\n 'postcode',\n 'street',\n 'street_2',\n 'default_shipping',\n 'default_billing',\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 { getAttributesForm } from '@/order/api';\nimport { defaultAttributePreset } from '@/order/configs/defaultAttributePreset.config';\nimport { OrderDataModel } from '@/order/data/models';\nimport { convertToCamelCase } from '@/order/lib/convertCase';\nimport {\n KeysSortOrderProps,\n NormalizeAddressProps,\n UseCustomerDetails,\n} from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect, useMemo, useCallback } from 'preact/hooks';\n\nexport const useCustomerDetails = ({ orderData }: UseCustomerDetails) => {\n const [loading, setLoading] = useState<boolean>(true);\n const [order, setOrder] = useState(orderData);\n const [keysSortOrder, setKeysSortOrder] = useState<KeysSortOrderProps[] | []>(\n []\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n getAttributesForm('shortRequest')\n .then((attributesFormResponse) => {\n if (attributesFormResponse) {\n const result: KeysSortOrderProps[] = attributesFormResponse.map(\n ({ name, orderNumber, label }) => ({\n name: convertToCamelCase(name as string),\n orderNumber,\n label: !defaultAttributePreset.includes(name as string)\n ? label\n : null,\n })\n );\n\n setKeysSortOrder(result);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n }, []);\n\n const getNormalizeAddress = useCallback(\n (\n type: 'billingAddress' | 'shippingAddress'\n ): NormalizeAddressProps[] | [] => {\n if (!keysSortOrder.length || !order || !order[type]) return [];\n\n const address: Record<string, unknown> = order[type]\n ? Object.fromEntries(\n Object.entries(order[type] as Record<string, unknown>).map(\n ([key, value]) => [key.toLowerCase(), value]\n )\n )\n : {};\n\n // @ts-ignore\n return keysSortOrder\n .filter(({ name }) => address[name.toLowerCase()])\n .map((item) => {\n return {\n name: item.name,\n orderNumber: item.orderNumber,\n value: address[item.name.toLowerCase()],\n label: item.label,\n };\n });\n },\n [keysSortOrder, order]\n );\n\n const normalizeAddress = useMemo(\n () => ({\n billingAddress: getNormalizeAddress('billingAddress'),\n shippingAddress: getNormalizeAddress('shippingAddress'),\n }),\n [getNormalizeAddress]\n );\n\n return { order, normalizeAddress, loading };\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 { TaxTypes } from '../types';\n\nexport const setTaxStatus = (displayPrice: number): TaxTypes => {\n let taxIncluded = false;\n let taxExcluded = false;\n\n switch (displayPrice) {\n case 1:\n taxExcluded = true;\n break;\n case 2:\n taxIncluded = true;\n break;\n case 3:\n taxIncluded = true;\n taxExcluded = true;\n break;\n default:\n taxIncluded = false;\n taxExcluded = false;\n }\n\n return { taxIncluded, taxExcluded };\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 { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { StoreConfigProps, UseOrderCostSummaryProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useOrderCostSummary = ({\n orderData,\n config,\n}: UseOrderCostSummaryProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n const [storeConfig, setStoreConfig] = useState<StoreConfigProps | null>(null);\n\n useEffect(() => {\n if (config) {\n const {\n shoppingOrderDisplayPrice,\n shoppingOrdersDisplayShipping,\n shoppingOrdersDisplaySubtotal,\n ...props\n } = config;\n\n setStoreConfig((prev) => ({\n ...prev,\n ...props,\n shoppingOrderDisplayPrice: setTaxStatus(shoppingOrderDisplayPrice),\n shoppingOrdersDisplayShipping: setTaxStatus(\n shoppingOrdersDisplayShipping\n ),\n shoppingOrdersDisplaySubtotal: setTaxStatus(\n shoppingOrdersDisplaySubtotal\n ),\n salesPrintedCard: setTaxStatus(config.salesPrintedCard),\n salesGiftWrapping: setTaxStatus(config.salesGiftWrapping),\n }));\n setLoading(false);\n }\n }, [config]);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { loading, storeConfig, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformCustomerAddressInput } from '@/order/data/transforms/transform-customer-address-input';\nimport { SignUpContext, UseOrderHeaderProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderHeader = ({\n orderData,\n handleEmailAvailability,\n handleSignUpClick,\n}: UseOrderHeaderProps) => {\n const [order, setOrder] = useState(orderData);\n const [isAuthenticated, setIsAuthenticated] = useState<boolean | undefined>();\n const [isEmailAvailable, setIsEmailAvailable] = useState<boolean | undefined>(\n handleEmailAvailability ? undefined : true\n );\n\n const customerEmail = order?.email;\n\n const canCreateNewAccount =\n handleSignUpClick &&\n order !== undefined &&\n isAuthenticated === false &&\n isEmailAvailable === true;\n\n const onSignUpClickHandler = canCreateNewAccount\n ? () => {\n const shippingAddress = order.shippingAddress;\n const billingAddress = order.billingAddress;\n\n const inputsDefaultValueSet: SignUpContext['inputsDefaultValueSet'] = [\n { code: 'email', defaultValue: order.email },\n { code: 'firstname', defaultValue: billingAddress?.firstName ?? '' },\n { code: 'lastname', defaultValue: billingAddress?.lastName ?? '' },\n ];\n\n let addressesData: SignUpContext['addressesData'] = [];\n\n if (shippingAddress) {\n const customerShippingAddress = {\n ...transformCustomerAddressInput(shippingAddress),\n default_shipping: true,\n };\n const customerBillingAddress = {\n ...transformCustomerAddressInput(billingAddress),\n default_billing: true,\n };\n addressesData = [customerBillingAddress, customerShippingAddress];\n } else {\n const customerAddress = {\n ...transformCustomerAddressInput(billingAddress),\n default_billing: true,\n default_shipping: true,\n };\n addressesData = [customerAddress];\n }\n\n handleSignUpClick({ inputsDefaultValueSet, addressesData });\n }\n : undefined;\n\n useEffect(() => {\n const event = events.on(\n 'authenticated',\n (authenticated) => {\n setIsAuthenticated(authenticated);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n if (!handleEmailAvailability) return;\n if (isAuthenticated === undefined) return;\n if (isAuthenticated || !customerEmail) return;\n\n handleEmailAvailability(customerEmail)\n .then((result) => setIsEmailAvailable(result))\n .catch(() => setIsEmailAvailable(true));\n }, [isAuthenticated, handleEmailAvailability, customerEmail]);\n\n return { order, onSignUpClickHandler };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2026 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 { UseOrderCommentsProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderComments = ({ orderData }: UseOrderCommentsProps) => {\n const [order, setOrder] = useState<OrderDataModel | null | undefined>(\n orderData ?? null\n );\n const [comments, setComments] = useState(orderData?.comments ?? []);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (orderPayload: OrderDataModel) => {\n setOrder(orderPayload);\n setComments(orderPayload?.comments ?? []);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { comments, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { UseOrderProductListProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderProductList = ({\n orderData,\n}: UseOrderProductListProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setLoading(false);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { loading, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks';\nimport {\n FieldEnumList,\n inLineAlertProps,\n useOrderSearchProps,\n} from '@/order/types';\nimport { getFormValues } from '@/order/lib/getFormValues';\nimport { getCustomer, getGuestOrder } from '@/order/api';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useOrderSearch = ({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n}: useOrderSearchProps) => {\n const [inLineAlert, setInLineAlert] = useState<inLineAlertProps>({\n text: '',\n type: 'success',\n });\n const [loading, setLoading] = useState(false);\n\n const translations = useText({\n invalidSearch: 'Order.Errors.invalidSearch',\n email: 'Order.OrderSearchForm.email',\n lastname: 'Order.OrderSearchForm.lastname',\n number: 'Order.OrderSearchForm.orderNumber',\n });\n\n const orderSearchRedirect = useCallback(\n async (order: OrderDataModel) => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20;\n const dataIsEmpty =\n (!order && !orderRef) || (!order?.number && !order?.token && !orderRef);\n\n if (dataIsEmpty) return null;\n\n if (isAuth) {\n const customer = await getCustomer();\n\n if (customer?.email === order.email) {\n redirectTo(routeCustomerOrder, {\n orderRef: order?.number,\n });\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order.token! });\n }\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order?.token! });\n }\n },\n [isAuth, routeCustomerOrder, routeGuestOrder]\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n orderSearchRedirect(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, [orderSearchRedirect]);\n\n useEffect(() => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20 ? orderRef : null;\n\n if (!orderRef) return;\n\n if (isToken) {\n redirectTo(routeGuestOrder, { orderRef });\n } else if (isAuth) {\n redirectTo(routeCustomerOrder, { orderRef });\n } else {\n renderSignIn?.({ render: true, formValues: { number: orderRef } });\n }\n }, [isAuth, routeCustomerOrder, routeGuestOrder, renderSignIn]);\n\n const normalizeFieldsConfig = useMemo(() => {\n return [\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.email,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 1,\n name: 'email',\n id: 'email',\n code: 'email',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.lastname,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 2,\n name: 'lastname',\n id: 'lastname',\n code: 'lastname',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.number,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 3,\n name: 'number',\n id: 'number',\n code: 'number',\n isUnique: false,\n },\n ];\n }, [translations]);\n\n const onSubmit = useCallback(\n async (event: Event, valid: boolean) => {\n if (!valid) return null;\n\n setLoading(true);\n\n const formValues = getFormValues(event.target as HTMLFormElement);\n\n await getGuestOrder(formValues)\n .then((guestOrder) => {\n if (!guestOrder) {\n setInLineAlert({\n text: translations.invalidSearch,\n type: 'warning',\n });\n }\n\n events.emit('order/data', guestOrder as OrderDataModel);\n })\n .catch(async (error) => {\n let showErrorMessage: boolean | undefined = true;\n\n onError?.({\n error: error.message,\n });\n\n const customer = isAuth ? await getCustomer() : { email: '' };\n\n const isOrderBelongsToCustomer =\n customer?.email === formValues?.email;\n\n if (isOrderBelongsToCustomer) {\n redirectTo(routeCustomerOrder, { orderRef: formValues.number });\n\n return;\n }\n\n showErrorMessage = renderSignIn?.({\n render:\n customer === null ||\n error?.message?.includes('Please login to view the order.'),\n formValues,\n });\n\n if (showErrorMessage) {\n setInLineAlert({\n text: error.message,\n type: 'warning',\n });\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [\n isAuth,\n onError,\n renderSignIn,\n routeCustomerOrder,\n translations.invalidSearch,\n ]\n );\n\n return { onSubmit, inLineAlert, loading, normalizeFieldsConfig };\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\nimport { getCustomerOrdersReturn } from '@/order/api';\nimport { OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseReturnsListProps } from '@/order/types';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\n\nconst DEFAULT_PAGE_INFO = { totalPages: 1, currentPage: 1, pageSize: 1 };\n\nexport const useReturnsList = ({ returnPageSize }: UseReturnsListProps) => {\n const [loading, setLoading] = useState(true);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>(DEFAULT_PAGE_INFO);\n\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n getCustomerOrdersReturn(returnPageSize, selectedPage)\n .then((response) => {\n setOrderReturns(response?.ordersReturn ?? []);\n setPageInfo(response?.pageInfo ?? DEFAULT_PAGE_INFO);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [returnPageSize, selectedPage]);\n\n useEffect(() => {\n const currentScrollY = window?.scrollY ?? 0;\n\n if (currentScrollY > 0) {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }\n }, [selectedPage]);\n\n const handleSetSelectPage = useCallback((value: number) => {\n setSelectedPage(value);\n }, []);\n\n return {\n pageInfo,\n selectedPage,\n loading,\n orderReturns,\n handleSetSelectPage,\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 { UseShippingStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useShippingStatus = ({ orderData }: UseShippingStatusProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n const [isVirtualProduct, setIsVirtualProduct] = useState(false);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setIsVirtualProduct(order?.isVirtual);\n setLoading(false);\n },\n { eager: true }\n );\n\n orderData?.id && setLoading(false);\n return () => {\n event?.off();\n };\n }, [orderData]);\n\n return { loading, order, isVirtualProduct };\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 { useState, useCallback } from 'preact/hooks';\nimport { InLineAlertProps } from '../types';\nimport {\n CheckWithCircle as Success,\n Warning,\n WarningWithCircle as Error,\n} from '@adobe-commerce/elsie/icons';\nimport { Icon } from '@adobe-commerce/elsie/components';\n\nconst iconsList = {\n success: Success,\n warning: Warning,\n error: Error,\n};\n\nexport const useInLineAlert = () => {\n const [inLineAlertProps, setInLineAlertProps] = useState<InLineAlertProps>({\n type: 'success',\n heading: '',\n });\n\n const handleSetInLineAlert = useCallback(\n (notification: InLineAlertProps | undefined) => {\n if (!notification?.type) {\n setInLineAlertProps({ type: 'success', heading: '' });\n return;\n }\n\n const icon = <Icon source={iconsList[notification.type]} />;\n\n setInLineAlertProps({\n ...notification,\n icon,\n });\n },\n []\n );\n\n return { inLineAlertProps, handleSetInLineAlert };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { debounce } from '@adobe-commerce/elsie/lib';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(window.innerWidth < 768);\n\n const handleResize = useCallback(\n debounce(() => {\n setIsMobile(window.innerWidth < 768);\n }, 1000),\n []\n );\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n\n return isMobile;\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 { Container, classes } from '@adobe-commerce/elsie/lib';\nimport { CreateReturnProps } from '@/order/types/createReturn.types';\nimport {\n OrderProductListSkeleton,\n ReturnOrderMessage,\n ReturnOrderProductList,\n ReturnReasonForm,\n} from '@/order/components';\nimport { StepsTypes } from '@/order/types';\nimport {\n useCreateReturn,\n useInLineAlert,\n useGetStoreConfig,\n} from '@/order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Header, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { h } from 'preact';\nimport { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { OrderDataModel } from '@/order/data/models';\n\nexport const CreateReturn: Container<CreateReturnProps> = ({\n className,\n orderData,\n slots,\n onSuccess,\n onError,\n routeReturnSuccess,\n showConfigurableOptions,\n}) => {\n const translations = useText({\n headerText: 'Order.CreateReturn.headerText',\n successTitle: 'Order.CreateReturn.success.title',\n successMessage: 'Order.CreateReturn.success.message',\n sender: 'Order.CreateReturn.giftCard.sender',\n recipient: 'Order.CreateReturn.giftCard.recipient',\n message: 'Order.CreateReturn.giftCard.message',\n outOfStock: 'Order.CreateReturn.stockStatus.outOfStock',\n nextStep: 'Order.CreateReturn.buttons.nextStep',\n backStep: 'Order.CreateReturn.buttons.backStep',\n submit: 'Order.CreateReturn.buttons.submit',\n backStore: 'Order.CreateReturn.buttons.backStore',\n downloadableCount: 'Order.CreateReturn.downloadableCount',\n returnedItems: 'Order.CreateReturn.returnedItems',\n configurationsListQuantity:\n 'Order.CreateReturn.configurationsList.quantity',\n });\n\n const { inLineAlertProps, handleSetInLineAlert } = useInLineAlert();\n const storeConfig = useGetStoreConfig();\n\n const {\n order,\n itemsEligibleForReturn,\n formsRef,\n attributesList,\n steps,\n loading,\n selectedProductList,\n handleSelectedProductList,\n handleSetQuantity,\n handleChangeStep,\n onSubmit,\n } = useCreateReturn({\n orderData,\n onSuccess,\n onError,\n handleSetInLineAlert,\n });\n\n if (loading)\n return (\n <div>\n <OrderProductListSkeleton />\n </div>\n );\n\n if (!loading && !attributesList.length) return <div />;\n\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n const renderList: Record<StepsTypes, h.JSX.Element | null> = {\n products: (\n <ReturnOrderProductList\n itemsEligibleForReturn={itemsEligibleForReturn}\n placeholderImage={placeholderImage}\n taxConfig={setTaxStatus(storeConfig?.shoppingOrderDisplayPrice ?? 0)}\n slots={slots}\n translations={translations}\n loading={loading}\n selectedProductList={selectedProductList}\n handleSelectedProductList={handleSelectedProductList}\n showConfigurableOptions={showConfigurableOptions}\n handleSetQuantity={handleSetQuantity}\n handleChangeStep={handleChangeStep}\n />\n ),\n attributes: (\n <ReturnReasonForm\n placeholderImage={placeholderImage}\n slots={slots}\n formsRef={formsRef}\n loading={loading}\n fieldsConfig={attributesList}\n selectedProductList={selectedProductList}\n handleChangeStep={handleChangeStep}\n translations={translations}\n onSubmit={onSubmit}\n />\n ),\n success: (\n <ReturnOrderMessage\n translations={translations}\n routeReturnSuccess={routeReturnSuccess}\n orderData={order as OrderDataModel}\n />\n ),\n error: null,\n };\n\n return (\n <div className={classes(['order-create-return', className])}>\n <Header title={translations.headerText} />\n {inLineAlertProps.heading ? (\n <InLineAlert\n className=\"order-create-return_notification\"\n variant=\"secondary\"\n data-testid=\"orderCreateReturnNotification\"\n {...inLineAlertProps}\n />\n ) : null}\n {renderList[steps]}\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 { Container, classes } from '@adobe-commerce/elsie/lib';\nimport { useCustomerDetails } from '@/order/hooks';\nimport { CustomerDetailsContent } from '@/order/components';\nimport { CustomerDetailsProps, NormalizeAddressProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const CustomerDetails: Container<CustomerDetailsProps> = ({\n paymentIconsMap,\n orderData,\n title,\n className,\n slots,\n}) => {\n const translations = useText({\n emailTitle: 'Order.CustomerDetails.email.title',\n shippingAddressTitle: 'Order.CustomerDetails.shippingAddress.title',\n shippingMethodsTitle: 'Order.CustomerDetails.shippingMethods.title',\n billingAddressTitle: 'Order.CustomerDetails.billingAddress.title',\n paymentMethodsTitle: 'Order.CustomerDetails.paymentMethods.title',\n returnInformationTitle: 'Order.CustomerDetails.returnInformation.title',\n headerText: 'Order.CustomerDetails.headerText',\n freeShipping: 'Order.CustomerDetails.freeShipping',\n createdReturnAt: 'Order.CustomerDetails.orderReturnLabels.createdReturnAt',\n orderNumberLabel:\n 'Order.CustomerDetails.orderReturnLabels.orderNumberLabel',\n returnStatusLabel:\n 'Order.CustomerDetails.orderReturnLabels.returnStatusLabel',\n });\n\n const { order, normalizeAddress, loading } = useCustomerDetails({\n orderData,\n });\n\n return (\n <div className={classes(['order-customer-details', className])}>\n <CustomerDetailsContent\n slots={slots}\n loading={loading}\n order={order}\n title={title}\n paymentIconsMap={paymentIconsMap}\n normalizeAddress={\n normalizeAddress as {\n billingAddress: [] | NormalizeAddressProps[][];\n shippingAddress: [] | NormalizeAddressProps[][];\n }\n }\n translations={translations}\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, InLineAlert, Picker } from '@adobe-commerce/elsie/components';\nimport '@/order/containers/OrderCancelForm/OrderCancelForm.css';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { Form } from '@/order/components';\nimport { useState } from 'preact/hooks';\nimport { OrderCancelFormProps } from '@/order/types';\nimport { OrderDataModel } from '@/order/data/models';\nimport { events } from '@adobe-commerce/event-bus';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { cancelOrder, requestGuestOrderCancel } from '@/order/api';\n\nexport const OrderCancelForm: Container<OrderCancelFormProps> = ({\n orderRef,\n pickerProps,\n submitButtonProps,\n cancelReasons,\n}) => {\n const translations = useText({\n ErrorHeading: 'Order.OrderCancelForm.errorHeading',\n ErrorDescription: 'Order.OrderCancelForm.errorDescription',\n orderCancellationLabel: 'Order.OrderCancelForm.label',\n });\n\n const [selectedReason, setSelectedReason] = useState<number>(0);\n const [isErrorVisible, setIsErrorVisible] = useState<boolean>(false);\n const [isCustomerAuthenticated, setIsCustomerAuthenticated] = useState(false);\n events.on(\n 'authenticated',\n (authenticated) => {\n if (authenticated) {\n setIsCustomerAuthenticated(true);\n }\n },\n { eager: true } // fetch it on runtime using last state\n );\n\n const handleReasonSelect = (event: Event) => {\n event.preventDefault();\n\n const value = Number((event.target as HTMLSelectElement).value);\n setSelectedReason(value);\n };\n\n const onSubmit = async (\n event: SubmitEvent\n ): Promise<void | null | undefined> => {\n event.preventDefault();\n const cancelOrderMutation =\n orderRef.length > 20 ? requestGuestOrderCancel : cancelOrder;\n return cancelOrderMutation(\n orderRef,\n cancelReasons[selectedReason].text!,\n (data: OrderDataModel) => {\n if (!isCustomerAuthenticated) {\n data.status = 'guest order cancellation requested';\n }\n events.emit('order/data', data);\n },\n () => {\n setIsErrorVisible(true);\n }\n );\n };\n\n return (\n <Form\n onSubmit={onSubmit}\n data-testid=\"order-order-cancel-reasons-form__text\"\n >\n {isErrorVisible && (\n <InLineAlert\n heading={translations.ErrorHeading}\n description={translations.ErrorDescription}\n />\n )}\n <div className=\"order-order-cancel-reasons-form__text\">\n <Text id={'Order.OrderCancelForm.description'} />\n </div>\n <Picker\n name=\"cancellationReasons\"\n floatingLabel={translations.orderCancellationLabel}\n defaultOption={cancelReasons[0]}\n variant=\"primary\"\n options={cancelReasons}\n value={String(selectedReason)}\n handleSelect={handleReasonSelect}\n required={true}\n data-testid=\"order-cancellation-reasons-selector\"\n {...pickerProps}\n />\n <div className=\"order-order-cancel-reasons-form__button-container\">\n <Button\n variant=\"primary\"\n data-testid=\"order-cancel-submit-button\"\n {...submitButtonProps}\n >\n <Text id={'Order.OrderCancelForm.button'} />\n </Button>\n </div>\n </Form>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useGetStoreConfig, useOrderCostSummary } from '@/order/hooks';\nimport { OrderCostSummaryProps } from '@/order/types';\nimport { OrderCostSummaryContent } from '@/order/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const OrderCostSummary: Container<OrderCostSummaryProps> = ({\n withHeader,\n orderData,\n children,\n className,\n ...props\n}) => {\n const config = useGetStoreConfig();\n const { loading, storeConfig, order } = useOrderCostSummary({\n orderData,\n config,\n });\n\n const translations = useText({\n subtotal: 'Order.OrderCostSummary.subtotal.title',\n shipping: 'Order.OrderCostSummary.shipping.title',\n freeShipping: 'Order.OrderCostSummary.shipping.freeShipping',\n tax: 'Order.OrderCostSummary.tax.title',\n incl: 'Order.OrderCostSummary.tax.incl',\n excl: 'Order.OrderCostSummary.tax.excl',\n discount: 'Order.OrderCostSummary.discount.title',\n discountSubtitle: 'Order.OrderCostSummary.discount.subtitle',\n total: 'Order.OrderCostSummary.total.title',\n totalFree: 'Order.OrderCostSummary.totalFree',\n accordionTitle: 'Order.OrderCostSummary.tax.accordionTitle',\n accordionTotalTax: 'Order.OrderCostSummary.tax.accordionTotalTax',\n totalExcludingTaxes: 'Order.OrderCostSummary.tax.totalExcludingTaxes',\n headerText: 'Order.OrderCostSummary.headerText',\n\n printedCardTitle: 'Order.OrderCostSummary.giftOptionsTax.printedCard.title',\n printedCardTitleInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.printedCard.inclTax',\n printedCardTitleExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.printedCard.exclTax',\n\n itemGiftWrappingTitle:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.title',\n itemGiftWrappingInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.inclTax',\n itemGiftWrappingExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.exclTax',\n\n orderGiftWrappingTitle:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.title',\n orderGiftWrappingInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.inclTax',\n orderGiftWrappingExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.exclTax',\n });\n\n return (\n <div {...props} className={classes(['order-cost-summary', className])}>\n <OrderCostSummaryContent\n order={order}\n withHeader={withHeader}\n loading={loading}\n storeConfig={storeConfig}\n translations={translations}\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 {\n OrderHeader as OrderHeaderComponent,\n OrderHeaderSkeleton,\n} from '@/order/components';\nimport { useOrderHeader } from '@/order/hooks/containers/useOrderHeader';\nimport { OrderHeaderProps } from '@/order/types';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderHeader: FunctionComponent<OrderHeaderProps> = (props) => {\n const { order, onSignUpClickHandler } = useOrderHeader(props);\n\n return (\n <div>\n {order ? (\n <OrderHeaderComponent\n customerName={order.billingAddress?.firstName}\n onSignUpClick={onSignUpClickHandler}\n orderNumber={order.number}\n />\n ) : (\n <OrderHeaderSkeleton />\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 { OrderProductListContent } from '@/order/components';\nimport { useGetStoreConfig, useOrderProductList } from '@/order/hooks';\nimport { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { OrderProductListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\n\nexport const OrderProductList: Container<OrderProductListProps> = ({\n slots,\n className,\n orderData,\n withHeader,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { loading, order } = useOrderProductList({\n orderData,\n });\n\n return (\n <div className={classes(['order-order-product-list', className])}>\n <OrderProductListContent\n slots={slots}\n loading={loading}\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n taxConfig={setTaxStatus(storeConfig?.shoppingOrderDisplayPrice ?? 0)}\n order={order}\n withHeader={withHeader}\n showConfigurableOptions={showConfigurableOptions}\n routeProductDetails={routeProductDetails}\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 { OrderDataModel, OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseOrderReturnsProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useOrderReturns = ({ orderData }: UseOrderReturnsProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderReturns(order?.returns);\n },\n { eager: true }\n );\n return () => {\n event?.off();\n };\n }, []);\n\n return { order, orderReturns };\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 { ReturnsListContent } from '@/order/components';\nimport { useOrderReturns } from '@/order/hooks/containers/useOrderReturns';\nimport { OrderReturnsProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { useGetStoreConfig, useIsMobile } from '@/order/hooks';\n\nexport const OrderReturns: Container<OrderReturnsProps> = ({\n slots,\n className,\n orderData,\n withHeader,\n withThumbnails,\n routeReturnDetails,\n routeProductDetails,\n routeTracking,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { orderReturns } = useOrderReturns({ orderData });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = 'fullSizeView';\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n const translations = useText({\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-order-returns', className])}>\n {orderReturns.length ? (\n <ReturnsListContent\n placeholderImage={placeholderImage}\n pageInfo={{\n pageSize: 1,\n totalPages: 1,\n currentPage: 1,\n }}\n minifiedViewKey={minifiedViewKey}\n slots={slots}\n isMobile={isMobile}\n withOrderNumber={false}\n withReturnNumber={true}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n withThumbnails={withThumbnails}\n minifiedView={false}\n routeReturnDetails={routeReturnDetails}\n routeProductDetails={routeProductDetails}\n routeTracking={routeTracking}\n loading={false}\n />\n ) : null}\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrderSearchForm } from '@/order/components';\nimport { useOrderSearch } from '@/order/hooks';\nimport { FieldsProps, OrderSearchProps } from '@/order/types';\n\nexport const OrderSearch: Container<OrderSearchProps> = ({\n className,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n onError,\n}) => {\n const { onSubmit, loading, inLineAlert, normalizeFieldsConfig } =\n useOrderSearch({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n });\n\n return (\n <div className={classes(['order-order-search', className])}>\n <OrderSearchForm\n onSubmit={onSubmit}\n loading={loading}\n inLineAlert={inLineAlert}\n fieldsConfig={normalizeFieldsConfig as FieldsProps[]}\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 { 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 { ReturnsListContent } from '@/order/components';\nimport { useGetStoreConfig, useIsMobile, useReturnsList } from '@/order/hooks';\nimport { ReturnsListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ReturnsList: Container<ReturnsListProps> = ({\n slots,\n withReturnsListButton,\n className,\n minifiedView,\n withHeader,\n withThumbnails,\n returnPageSize,\n returnsInMinifiedView,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { pageInfo, selectedPage, handleSetSelectPage, loading, orderReturns } =\n useReturnsList({ returnPageSize });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Order.Returns.${minifiedViewKey}.returnsList.viewAllOrdersButton`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-returns-list', className])}>\n <ReturnsListContent\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n minifiedViewKey={minifiedViewKey}\n withOrderNumber={true}\n withReturnNumber={true}\n slots={slots}\n selectedPage={selectedPage}\n handleSetSelectPage={handleSetSelectPage}\n pageInfo={pageInfo}\n withReturnsListButton={withReturnsListButton}\n isMobile={isMobile}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n returnsInMinifiedView={returnsInMinifiedView}\n withThumbnails={withThumbnails}\n minifiedView={minifiedView}\n routeReturnDetails={routeReturnDetails}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n routeReturnsList={routeReturnsList}\n routeProductDetails={routeProductDetails}\n loading={loading}\n />\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { CardLoader, OrderComments as OrderCommentsComponent } from '@/order/components';\nimport { OrderCommentsProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useOrderComments } from '@/order/hooks';\n\nexport const OrderComments: Container<OrderCommentsProps> = ({\n orderData,\n className,\n ...props\n}) => {\n const { comments, order } = useOrderComments({ orderData });\n\n if (!order) {\n return (\n <div className={classes(['order-order-comments-container', className])}>\n <CardLoader withCard={false} />\n </div>\n );\n }\n\n return (\n <div\n {...props}\n className={classes(['order-order-comments-container', className])}\n >\n <OrderCommentsComponent comments={comments} />\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 '@/order/components/OrderLoaders/OrderLoaders.css';\nimport {\n Card,\n CartItemSkeleton,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\n\nexport const CardLoader = ({\n testId,\n withCard = true,\n}: {\n testId?: string;\n withCard?: boolean;\n}) => {\n const defaultSkeleton = (\n <Skeleton data-testid={testId ?? 'skeletonLoader'}>\n <SkeletonRow\n variant=\"heading\"\n size=\"xlarge\"\n fullWidth={false}\n lines={1}\n />\n <SkeletonRow variant=\"heading\" size=\"xlarge\" fullWidth={true} lines={1} />\n <SkeletonRow variant=\"heading\" size=\"xlarge\" fullWidth={true} lines={1} />\n </Skeleton>\n );\n\n if (withCard) {\n return defaultSkeleton;\n }\n\n return (\n <Card\n variant=\"secondary\"\n className={classes([\n 'order-order-loaders',\n 'order-order-loaders--card-loader',\n ])}\n >\n {defaultSkeleton}\n </Card>\n );\n};\n\nexport const DetailsSkeleton = (props: any) => {\n return (\n <Card variant={'secondary'} {...props}>\n <Skeleton data-testid=\"order-details-skeleton\">\n <SkeletonRow variant={'heading'} size=\"medium\" fullWidth={true} />\n <SkeletonRow size=\"medium\" />\n <SkeletonRow variant={'empty'} size=\"medium\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n </Skeleton>\n </Card>\n );\n};\n\nexport const OrderProductListSkeleton = () => {\n return (\n <Skeleton\n data-testid=\"order-product-list-skeleton\"\n style={{ gridTemplateColumns: '1fr' }}\n >\n <SkeletonRow variant=\"heading\" fullWidth={true} size=\"medium\" />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n </Skeleton>\n );\n};\n\nexport const OrderSummarySkeleton = () => {\n return (\n <Skeleton\n data-testid=\"order-cost-summary-content-skeleton\"\n className={'order-cost-summary-content'}\n >\n <SkeletonRow variant=\"heading\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"heading\" size=\"small\" fullWidth={true} lines={3} />\n </Skeleton>\n );\n};\n\nexport const OrderHeaderSkeleton = () => {\n return (\n <Skeleton data-testid=\"order-header-skeleton\" className=\"order-header\">\n <SkeletonRow variant=\"empty\" size=\"xlarge\" fullWidth={true} />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow size=\"small\" fullWidth={true} />\n <SkeletonRow variant=\"heading\" size=\"xsmall\" fullWidth={true} />\n </Skeleton>\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 { MoneyProps, TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\nexport const GiftWrapping = ({\n salesGiftWrapping,\n giftWrappingPrice,\n giftWrappingPriceInclTax,\n giftWrappingTitle,\n giftWrappingExclTaxText,\n giftWrappingInclTaxText,\n}: {\n salesGiftWrapping?: TaxTypes;\n giftWrappingPrice: MoneyProps;\n giftWrappingPriceInclTax: MoneyProps;\n giftWrappingTitle: string;\n giftWrappingExclTaxText: string;\n giftWrappingInclTaxText: string;\n}) => {\n const isGiftWrappingTaxIncluded = salesGiftWrapping?.taxIncluded;\n const isGiftWrappingTaxExcluded = salesGiftWrapping?.taxExcluded;\n const isIncludedView =\n isGiftWrappingTaxIncluded && !isGiftWrappingTaxExcluded;\n const isExcludedView =\n isGiftWrappingTaxExcluded && !isGiftWrappingTaxIncluded;\n const isInclExclView = isGiftWrappingTaxExcluded && isGiftWrappingTaxIncluded;\n\n if (giftWrappingPrice.value === 0 || giftWrappingPriceInclTax.value === 0) {\n return null;\n }\n\n const taxIncludedView = isIncludedView ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingInclTaxText}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={giftWrappingPriceInclTax.currency}\n amount={giftWrappingPriceInclTax.value}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{giftWrappingInclTaxText}</span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView = isExcludedView ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingTitle}</span>\n <span>\n <Price\n weight=\"normal\"\n currency={giftWrappingPrice.currency}\n amount={giftWrappingPrice.value}\n />\n </span>\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView = isInclExclView ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={giftWrappingPriceInclTax.currency}\n amount={giftWrappingPriceInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={giftWrappingPrice.currency}\n amount={giftWrappingPrice.value}\n size=\"small\"\n weight=\"bold\"\n />{' '}\n <span>{giftWrappingExclTaxText}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--gift-wrapping\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const PrintedCard = ({\n translations,\n order,\n salesPrintedCard,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n salesPrintedCard?: TaxTypes;\n}) => {\n const totalGiftOptions = order?.totalGiftOptions;\n const { printedCard, printedCardInclTax } = totalGiftOptions!;\n\n const isPrintedCardTaxIncluded = salesPrintedCard?.taxIncluded;\n const isPrintedCardTaxExcluded = salesPrintedCard?.taxExcluded;\n\n if (printedCard.value === 0 || printedCardInclTax.value === 0) {\n return null;\n }\n\n const taxIncludedView =\n isPrintedCardTaxIncluded && !isPrintedCardTaxExcluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={printedCardInclTax.currency}\n amount={printedCardInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>\n <span>{translations.printedCardTitleInclTax}</span>\n </span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView =\n isPrintedCardTaxExcluded && !isPrintedCardTaxIncluded ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n weight=\"normal\"\n currency={printedCard.currency}\n amount={printedCard.value}\n />\n </span>\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView =\n isPrintedCardTaxExcluded && isPrintedCardTaxIncluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={printedCardInclTax.currency}\n amount={printedCardInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={printedCard.currency}\n amount={printedCard.value}\n size=\"small\"\n weight=\"bold\"\n />{' '}\n <span>{translations.printedCardTitleExclTax}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--printed-card\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Subtotal = ({\n translations,\n order,\n subtotalInclTax,\n subtotalExclTax,\n shoppingOrdersDisplaySubtotal,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n subtotalInclTax: number;\n subtotalExclTax: number;\n shoppingOrdersDisplaySubtotal: TaxTypes;\n}) => {\n const isTaxIncluded = shoppingOrdersDisplaySubtotal.taxIncluded;\n const isTaxExcluded = shoppingOrdersDisplaySubtotal.taxExcluded;\n\n const taxIncludedView =\n isTaxIncluded && !isTaxExcluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalInclTax?.currency}\n amount={subtotalInclTax}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{translations.incl}</span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView =\n isTaxExcluded && !isTaxIncluded ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalExclTax?.currency}\n amount={subtotalExclTax}\n />\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView =\n isTaxExcluded && isTaxIncluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalInclTax?.currency}\n amount={subtotalInclTax}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={order?.subtotalExclTax?.currency}\n amount={subtotalExclTax}\n size=\"small\"\n weight={'bold'}\n />{' '}\n <span>{translations.excl}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--subtotal\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Shipping = ({\n translations,\n shoppingOrdersDisplayShipping,\n order,\n totalShipping,\n}: {\n totalShipping: number;\n shoppingOrdersDisplayShipping: TaxTypes;\n order: OrderDataModel;\n translations: translationsTypes;\n}) => {\n if (order?.isVirtual) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--shipping\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.shipping}</span>\n {order?.totalShipping?.value ? (\n <Price\n weight=\"normal\"\n currency={order?.totalShipping?.currency}\n amount={totalShipping}\n />\n ) : (\n <span>{translations.freeShipping}</span>\n )}\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n {shoppingOrdersDisplayShipping.taxIncluded &&\n shoppingOrdersDisplayShipping.taxExcluded ? (\n <>\n <Price\n weight=\"normal\"\n currency={order?.totalShipping?.currency}\n amount={order?.totalShipping?.value}\n size=\"small\"\n />\n <span> {translations.excl}</span>\n </>\n ) : null}\n {shoppingOrdersDisplayShipping.taxIncluded &&\n !shoppingOrdersDisplayShipping.taxExcluded ? (\n <span>{translations.incl}</span>\n ) : null}\n </div>\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 { Icon, Price } from '@adobe-commerce/elsie/components';\nimport { Coupon } from '@adobe-commerce/elsie/icons';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Discounts = ({\n translations,\n order,\n}: {\n order: OrderDataModel;\n translations: translationsTypes;\n}) => {\n const appliedCoupons = order?.coupons;\n const discounts = order?.discounts;\n const discountValue =\n discounts?.reduce((acc, item) => {\n return acc + (item.amount.value ?? 0);\n }, 0) || 0;\n\n if (!order?.discounts?.length && discountValue === 0) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--discount\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.discount}</span>\n <span>\n <Price\n weight=\"normal\"\n sale\n currency={discounts[0]?.amount.currency}\n amount={-discountValue}\n />\n </span>\n </div>\n\n {appliedCoupons.map((el) => {\n return (\n <div\n className=\"order-cost-summary-content__description--subheader\"\n key={el.code}\n >\n <span>\n <Icon\n source={Coupon}\n size=\"16\"\n className=\"order-cost-summary-content__description--coupon-icon\"\n />\n <span>{el.code}</span>\n </span>\n </div>\n );\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 { OrderDataModel } from '@/order/data/models';\nimport { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Total = ({\n translations,\n shoppingOrdersDisplaySubtotal,\n order,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n shoppingOrdersDisplaySubtotal: TaxTypes;\n}) => {\n const isFree = order?.grandTotal?.value === 0;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--total\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.total}</span>\n {!isFree ? (\n <Price\n currency={order?.grandTotal?.currency}\n amount={order?.grandTotal?.value}\n weight=\"bold\"\n size=\"medium\"\n />\n ) : (\n <span className=\"order-cost-summary-content__description--total-free\">\n {translations.totalFree}\n </span>\n )}\n </div>\n {shoppingOrdersDisplaySubtotal.taxExcluded &&\n shoppingOrdersDisplaySubtotal.taxIncluded && !isFree ? (\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{translations.totalExcludingTaxes}</span>\n <Price\n currency={order?.grandTotalExclTax?.currency}\n amount={order?.grandTotalExclTax?.value}\n weight=\"normal\"\n size=\"small\"\n />\n </div>\n ) : null}\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 { Accordion, AccordionSection, Price } from '@adobe-commerce/elsie/components';\nimport { ChevronDown, ChevronUp } from '@adobe-commerce/elsie/icons';\nimport { useState } from 'preact/hooks';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Tax = ({\n translations,\n renderTaxAccordion,\n totalAccordionTaxValue,\n order,\n}: {\n translations: translationsTypes;\n order: OrderDataModel;\n renderTaxAccordion: boolean;\n totalAccordionTaxValue: number;\n}) => {\n const [changeAccordion, setChangeAccordion] = useState(false);\n if (!renderTaxAccordion)\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--tax\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.tax}</span>\n <Price\n currency={order?.totalTax?.currency}\n amount={order?.totalTax.value}\n weight=\"normal\"\n size=\"small\"\n />\n </div>\n </div>\n );\n\n return (\n <Accordion\n data-testid=\"tax-accordionTaxes\"\n className=\"order-cost-summary-content__accordion\"\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n onStateChange={setChangeAccordion}\n title={translations.accordionTitle}\n secondaryText={\n <>\n {!changeAccordion ? (\n <Price\n weight=\"normal\"\n amount={totalAccordionTaxValue}\n currency={order?.totalTax?.currency}\n />\n ) : null}\n </>\n }\n renderContentWhenClosed={false}\n >\n {order?.taxes?.map((el, index) => (\n <div\n key={`${el?.amount?.value}${index}`}\n className={'order-cost-summary-content__accordion-row'}\n >\n <p>{el?.title}</p>\n <p>\n <Price\n weight=\"normal\"\n amount={el?.amount?.value}\n currency={el?.amount?.currency}\n />\n </p>\n </div>\n ))}\n <div\n className={\n 'order-cost-summary-content__accordion-row order-cost-summary-content__accordion-total'\n }\n >\n <p>{translations.accordionTotalTax}</p>\n <p>\n <Price\n weight=\"normal\"\n amount={totalAccordionTaxValue}\n currency={order.totalTax.currency}\n size=\"medium\"\n />\n </p>\n </div>\n </AccordionSection>\n </Accordion>\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 { Icon, Price } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { GiftCard } from '@adobe-commerce/elsie/icons';\n\nexport const GiftCards = ({\n totalGiftCardValue,\n totalGiftCardCurrency,\n order,\n}: {\n order: OrderDataModel;\n totalGiftCardValue: number;\n totalGiftCardCurrency: string;\n}) => {\n const appliedGiftCards = order?.appliedGiftCards;\n\n if (!totalGiftCardValue) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--discount\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>\n <Text\n id=\"Order.OrderCostSummary.appliedGiftCards.label\"\n plural={appliedGiftCards?.length}\n fields={{\n count: appliedGiftCards?.length,\n }}\n />\n </span>\n <span>\n <Price\n weight=\"normal\"\n sale\n currency={totalGiftCardCurrency}\n amount={-totalGiftCardValue}\n />\n </span>\n </div>\n\n {appliedGiftCards.map((el) => {\n return (\n <div\n className=\"order-cost-summary-content__description--subheader\"\n key={el.code}\n >\n <span>\n <Icon\n source={GiftCard}\n size=\"16\"\n className=\"order-cost-summary-content__description--giftcard-icon\"\n />\n <span>{el.code}</span>\n </span>\n </div>\n );\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 { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { OrderCostSummaryContentProps } from '@/order/types';\nimport { OrderSummarySkeleton } from '@/order/components/OrderLoaders';\nimport '@/order/components/OrderCostSummaryContent/OrderCostSummaryContent.css';\nimport {\n Discounts,\n Shipping,\n Subtotal,\n Tax,\n Total,\n GiftWrapping,\n PrintedCard,\n GiftCards,\n} from '@/order/components/OrderCostSummaryContent/Blocks';\n\nexport const OrderCostSummaryContent: FunctionComponent<\n OrderCostSummaryContentProps\n> = ({\n translations,\n loading,\n storeConfig,\n order,\n withHeader = true,\n}: OrderCostSummaryContentProps) => {\n if (loading || !order) return <OrderSummarySkeleton />;\n\n const totalGiftCardValue = order?.totalGiftCard?.value ?? 0;\n const totalGiftCardCurrency = order.totalGiftCard?.currency ?? '';\n const subtotalInclTax = order.subtotalInclTax?.value ?? 0;\n const subtotalExclTax = order.subtotalExclTax?.value ?? 0;\n const totalShipping = order.totalShipping?.value ?? 0;\n const renderTaxAccordion =\n !!order?.taxes?.length && storeConfig?.shoppingOrdersDisplayFullSummary!;\n const totalAccordionTaxValue = renderTaxAccordion\n ? order?.taxes?.reduce((value, acc) => {\n return +acc?.amount?.value + value;\n }, 0)\n : 0;\n\n return (\n <Card\n variant=\"secondary\"\n className={classes(['order-cost-summary-content'])}\n >\n {withHeader ? <Header title={translations.headerText} /> : null}\n\n <div className=\"order-cost-summary-content__wrapper\">\n <Subtotal\n translations={translations}\n order={order}\n subtotalInclTax={subtotalInclTax}\n subtotalExclTax={subtotalExclTax}\n shoppingOrdersDisplaySubtotal={\n storeConfig?.shoppingOrdersDisplaySubtotal!\n }\n />\n <Shipping\n translations={translations}\n order={order}\n totalShipping={totalShipping}\n shoppingOrdersDisplayShipping={\n storeConfig?.shoppingOrdersDisplayShipping!\n }\n />\n <PrintedCard\n order={order}\n translations={translations}\n salesPrintedCard={storeConfig?.salesPrintedCard}\n />\n <GiftWrapping\n salesGiftWrapping={storeConfig?.salesGiftWrapping}\n giftWrappingPrice={order.totalGiftOptions.giftWrappingForItems}\n giftWrappingPriceInclTax={\n order.totalGiftOptions.giftWrappingForItemsInclTax\n }\n giftWrappingTitle={translations.itemGiftWrappingTitle}\n giftWrappingExclTaxText={translations.itemGiftWrappingExclTax}\n giftWrappingInclTaxText={translations.itemGiftWrappingInclTax}\n />\n <GiftWrapping\n salesGiftWrapping={storeConfig?.salesGiftWrapping}\n giftWrappingPrice={order.totalGiftOptions.giftWrappingForOrder}\n giftWrappingPriceInclTax={\n order.totalGiftOptions.giftWrappingForOrderInclTax\n }\n giftWrappingTitle={translations.orderGiftWrappingTitle}\n giftWrappingExclTaxText={translations.orderGiftWrappingExclTax}\n giftWrappingInclTaxText={translations.orderGiftWrappingInclTax}\n />\n <Discounts translations={translations} order={order} />\n <GiftCards\n order={order}\n totalGiftCardValue={totalGiftCardValue}\n totalGiftCardCurrency={totalGiftCardCurrency}\n />\n <Tax\n order={order}\n translations={translations}\n renderTaxAccordion={renderTaxAccordion}\n totalAccordionTaxValue={totalAccordionTaxValue}\n />\n <Total\n translations={translations}\n shoppingOrdersDisplaySubtotal={\n storeConfig?.shoppingOrdersDisplaySubtotal!\n }\n order={order}\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 '@/order/components/OrderHeader/OrderHeader.css';\nimport { Button, Header, Icon } from '@adobe-commerce/elsie/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderSuccess } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\n\nexport interface OrderHeaderProps {\n customerName?: string;\n onSignUpClick?: () => void;\n orderNumber: string;\n}\n\nexport const OrderHeader: FunctionComponent<OrderHeaderProps> = ({\n customerName,\n orderNumber,\n onSignUpClick,\n}) => {\n const translations = useText({\n title: (\n <Text id=\"Order.OrderHeader.title\" fields={{ name: customerName }} />\n ),\n defaultTitle: 'Order.OrderHeader.defaultTitle',\n order: (\n <Text id=\"Order.OrderHeader.order\" fields={{ order: orderNumber }} />\n ),\n createAccountMessage: 'Order.OrderHeader.CreateAccount.message',\n createAccountButton: 'Order.OrderHeader.CreateAccount.button',\n });\n\n return (\n <div data-testid=\"order-header\" className=\"order-header order-header__card\">\n <Icon source={OrderSuccess} size=\"64\" className=\"order-header__icon\" />\n\n <Header\n className=\"order-header__title\"\n title={translations.title}\n size=\"large\"\n divider={false}\n >\n {customerName ? translations.title : translations.defaultTitle}\n </Header>\n\n <p className=\"order-header__order\">{translations.order}</p>\n\n {onSignUpClick && (\n <div className=\"order-header-create-account\">\n <p className=\"order-header-create-account__message\">\n {translations.createAccountMessage}\n </p>\n\n <Button\n data-testid=\"create-account-button\"\n className=\"order-header-create-account__button\"\n size=\"medium\"\n variant=\"secondary\"\n type=\"submit\"\n onClick={onSignUpClick}\n >\n {translations.createAccountButton}\n </Button>\n </div>\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 { OrderDataModel, OrderItemModel } from '../data/models';\n\nexport const categorizeProducts = (order: OrderDataModel) => {\n const itemsList = order?.items ?? [];\n const returnedList = itemsList\n .filter((el) => el?.eligibleForReturn && el?.quantityReturnRequested)\n .map((item) => ({\n ...item,\n totalQuantity: item.quantityReturnRequested,\n }));\n\n const returnedListMap = new Map(returnedList.map((item) => [item.id, item]));\n const modifyOrder = itemsList\n .map((mainItem) => {\n const matchingItem = returnedListMap.get(mainItem?.id);\n\n if (matchingItem) {\n const quantityResult =\n mainItem.totalQuantity - matchingItem.quantityReturnRequested;\n\n if (quantityResult === 0) return null;\n\n return {\n ...mainItem,\n totalQuantity: quantityResult,\n };\n }\n\n return mainItem;\n })\n .filter((item): item is OrderItemModel => item !== null);\n\n return {\n returnedList,\n canceledItems: modifyOrder?.filter((element) => element.quantityCanceled),\n nonCanceledItems: modifyOrder?.filter(\n (element) => !element.quantityCanceled\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, Fragment } from 'preact';\nimport { OrderProductListContentProps } from '@/order/types';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { useMemo } from 'preact/hooks';\nimport { CartSummaryItem, OrderProductListSkeleton } from '@/order/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderItemModel } from '@/order/data/models';\nimport '@/order/components/OrderProductListContent/OrderProductListContent.css';\nimport { categorizeProducts } from '@/order/lib/categorizeProducts';\n\nexport const OrderProductListContent: FunctionComponent<\n OrderProductListContentProps\n> = ({\n slots,\n placeholderImage,\n loading,\n taxConfig,\n order = null,\n withHeader = true,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const isReturnPage = !!order?.returnNumber;\n\n const translations = useText({\n cancelled: 'Order.OrderProductListContent.cancelledTitle',\n allOrders: 'Order.OrderProductListContent.allOrdersTitle',\n returned: 'Order.OrderProductListContent.returnedTitle',\n refunded: 'Order.OrderProductListContent.refundedTitle',\n sender: 'Order.OrderProductListContent.GiftCard.sender',\n recipient: 'Order.OrderProductListContent.GiftCard.recipient',\n message: 'Order.OrderProductListContent.GiftCard.message',\n outOfStock: 'Order.OrderProductListContent.stockStatus.outOfStock',\n downloadableCount: 'Order.OrderProductListContent.downloadableCount',\n });\n\n const itemsList = useMemo(() => {\n if (!order) return [];\n\n if (!isReturnPage) {\n const { returnedList, canceledItems, nonCanceledItems } =\n categorizeProducts(order);\n\n return [\n {\n type: 'returned',\n list: returnedList,\n title: translations.returned,\n },\n {\n type: 'cancelled',\n list: canceledItems,\n title: translations.cancelled,\n },\n {\n type: 'allItems',\n list: nonCanceledItems,\n title: translations.allOrders,\n },\n ].filter((section) => section?.list?.length > 0);\n }\n\n const returnItems =\n order.returns\n .find((returnData) => returnData.returnNumber === order?.returnNumber)\n ?.items?.map((el) => ({ ...el, totalQuantity: el.requestQuantity })) ??\n [];\n\n return [\n {\n type: 'returned',\n list: returnItems,\n title: translations.returned,\n },\n ];\n }, [order, isReturnPage, translations]);\n\n if (!order) return <OrderProductListSkeleton />;\n\n if (itemsList.every((el) => el.list.length === 0)) return null;\n\n return (\n <Card variant=\"secondary\" className={'order-order-product-list-content'}>\n {itemsList.map((item, index) => {\n const headerTotalProductValue = item.list\n .filter((entry): entry is OrderItemModel => entry !== null)\n .reduce(\n (accumulator, { totalQuantity }) => totalQuantity + accumulator,\n 0\n );\n\n return (\n <Fragment key={index}>\n {withHeader ? (\n <Header title={`${item.title} (${headerTotalProductValue})`} />\n ) : null}\n <ul className=\"order-order-product-list-content__items\">\n {item.list\n ?.filter(\n (product): product is OrderItemModel => product !== null\n )\n .map((product) => (\n <li\n data-testid=\"order-product-list-content-item\"\n key={product.id}\n >\n <CartSummaryItem\n slots={slots}\n placeholderImage={placeholderImage}\n loading={loading}\n product={product}\n itemType={item.type}\n taxConfig={taxConfig}\n translations={translations}\n showConfigurableOptions={showConfigurableOptions}\n routeProductDetails={routeProductDetails}\n />\n </li>\n ))}\n </ul>\n </Fragment>\n );\n })}\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 {\n CartItem,\n Image,\n Price,\n Icon,\n Incrementer,\n} from '@adobe-commerce/elsie/components';\nimport { useCallback } from 'preact/hooks';\nimport { WarningWithCircle } from '@adobe-commerce/elsie/icons';\nimport { CartSummaryItemProps } from '@/order/types';\nimport { Slot } from '@adobe-commerce/elsie/lib';\nimport { OrderSummarySkeleton } from '../OrderLoaders';\nimport { OrderItemModel } from '@/order/data/models';\n\nexport const CartSummaryItem: FunctionComponent<CartSummaryItemProps> = ({\n slots,\n placeholderImage = '',\n loading,\n product,\n itemType,\n taxConfig,\n translations,\n disabledIncrementer,\n onQuantity,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const { taxExcluded, taxIncluded } = taxConfig;\n\n const renderDefaultPrice = useCallback(\n (amount: number, currency: string, configs?: any) => {\n return (\n <Price\n amount={amount}\n currency={currency}\n weight=\"normal\"\n {...configs}\n />\n );\n },\n []\n );\n\n const renderImages = useCallback(\n (product: OrderItemModel) => {\n const label = product?.productName ?? '';\n\n const defaultImageProps = {\n title: label,\n src: product?.product?.thumbnail?.url ?? placeholderImage,\n alt: label,\n width: 90,\n height: 120,\n loading: 'lazy',\n } as const;\n\n return (\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n data-testid={`cartSummaryItemImage-${product.id}`}\n name=\"CartSummaryItemImage\"\n slot={slots?.CartSummaryItemImage}\n context={{\n data: product,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n );\n },\n [placeholderImage, slots?.CartSummaryItemImage]\n );\n\n if (!product) return <OrderSummarySkeleton />;\n\n let configPrice = {};\n const isCancelled = itemType === 'cancelled';\n const inStock = product?.product?.stockStatus?.includes('IN_STOCK');\n const giftCard = product?.giftCard;\n const renderQuantity =\n product.totalQuantity > 1 ? { quantity: product.totalQuantity } : {};\n const isDiscounted = product.discounted;\n const { includeAndExcludeTax, includeTax, excludeTax } =\n product.taxCalculations;\n const totalQuantity = product?.totalQuantity;\n const configurations = {\n ...(product?.configurableOptions || {}),\n ...(product?.bundleOptions || {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.senderEmail\n ? { [translations.sender]: giftCard?.senderEmail }\n : {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.recipientEmail\n ? { [translations.recipient]: giftCard?.recipientEmail }\n : {}),\n ...(giftCard?.message ? { [translations.message]: giftCard?.message } : {}),\n ...(product?.downloadableLinks\n ? {\n [`${product?.downloadableLinks?.count} ${translations.downloadableCount}`]:\n product?.downloadableLinks?.result,\n }\n : {}),\n };\n\n // Admin panel configuration - Sales -> Tax -> Order, Invoices, Credit Memos Display Settings\n // GraphQL field - orders_invoices_credit_memos_display_price field converted to taxIncluded & taxExcluded booleans\n if (taxIncluded && taxExcluded) {\n // Including and Excluding Tax option (value \"3\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n includeAndExcludeTax.originalPrice.value,\n includeAndExcludeTax.originalPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n includeAndExcludeTax.baseOriginalPrice.value * totalQuantity,\n includeAndExcludeTax.baseOriginalPrice.currency,\n {\n variant: product.discounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n includeAndExcludeTax.baseDiscountedPrice.value * totalQuantity,\n includeAndExcludeTax.baseDiscountedPrice.currency,\n { sale: true, weight: 'bold' }\n );\n\n const totalExcludingTax = renderDefaultPrice(\n includeAndExcludeTax.baseExcludingTax.value * totalQuantity,\n includeAndExcludeTax.baseExcludingTax.currency,\n { weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: true,\n taxIncluded: undefined,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {product.discounted ? totalDiscountedPrice : null}\n </>\n ),\n totalExcludingTax,\n };\n } else if (!taxIncluded && taxExcluded) {\n // Excluding Tax option (value \"1\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n excludeTax.originalPrice.value,\n excludeTax.originalPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n excludeTax.baseOriginalPrice.value * totalQuantity,\n excludeTax.baseOriginalPrice.currency,\n {\n variant: isDiscounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n excludeTax.baseDiscountedPrice.value * totalQuantity,\n excludeTax.baseDiscountedPrice.currency,\n {\n sale: true,\n weight: 'bold',\n }\n );\n\n const totalExcludingTax = renderDefaultPrice(\n excludeTax.baseExcludingTax.value * totalQuantity,\n excludeTax.baseExcludingTax.currency,\n { weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: undefined,\n taxIncluded: undefined,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {isDiscounted ? totalDiscountedPrice : null}\n </>\n ),\n totalExcludingTax,\n };\n } else if (taxIncluded && !taxExcluded) {\n // Including Tax option (value \"2\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n includeTax.singleItemPrice.value,\n includeTax.singleItemPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n includeTax.baseOriginalPrice.value * totalQuantity,\n includeTax.baseOriginalPrice.currency,\n {\n variant: isDiscounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n includeTax.baseDiscountedPrice.value * totalQuantity,\n includeTax.baseDiscountedPrice.currency,\n { sale: true, weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: undefined,\n taxIncluded: true,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {isDiscounted ? totalDiscountedPrice : null}\n </>\n ),\n };\n }\n\n return (\n <CartItem\n loading={loading}\n alert={\n isCancelled && !inStock ? (\n <span>\n <Icon source={WarningWithCircle} />\n {translations.outOfStock}\n </span>\n ) : (\n <></>\n )\n }\n configurations={\n showConfigurableOptions?.(configurations) ?? configurations\n }\n title={\n routeProductDetails ? (\n <a\n data-testid=\"product-name\"\n className='cart-summary-item__title'\n href={routeProductDetails(product)}\n >\n {product?.productName}\n </a>\n ) : (\n <div\n data-testid=\"product-name\"\n className='cart-summary-item__title'\n >\n {product?.productName}\n </div>\n )\n }\n sku={<div>{product?.product?.sku}</div>}\n {...renderQuantity}\n image={\n routeProductDetails ? (\n <a href={routeProductDetails(product)}>{renderImages(product)}</a>\n ) : (\n renderImages(product)\n )\n }\n {...configPrice}\n footer={\n <>\n {onQuantity && !disabledIncrementer ? (\n <Incrementer\n value={1}\n min={1}\n max={product?.totalQuantity}\n onValue={(value) => onQuantity?.(Number(value))}\n name=\"quantity\"\n data-testid=\"returnIncrementer\"\n readonly\n />\n ) : undefined}\n\n <Slot\n data-testid=\"Footer\"\n name=\"Footer\"\n slot={slots?.Footer}\n context={{ item: product }}\n />\n </>\n }\n />\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Card, Icon, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { WarningFilled } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\nimport { OrderSearchFormProps } from '@/order/types';\nimport { Form } from '@/order/components';\nimport '@/order/components/OrderSearchForm/OrderSearchForm.css';\n\nexport const OrderSearchForm: FunctionComponent<OrderSearchFormProps> = ({\n onSubmit,\n loading,\n inLineAlert,\n fieldsConfig,\n}) => {\n return (\n <Card variant={'secondary'} className={'order-order-search-form'}>\n <h2 className={'order-order-search-form__title'}>\n <Text id={'Order.OrderSearchForm.title'} />\n </h2>\n\n <p>\n <Text id={'Order.OrderSearchForm.description'} />\n </p>\n {inLineAlert.text ? (\n <InLineAlert\n data-testid=\"orderAlert\"\n className={'order-order-search-form__alert'}\n type={inLineAlert.type}\n variant=\"secondary\"\n heading={inLineAlert.text}\n icon={<Icon source={WarningFilled} />}\n />\n ) : null}\n\n <Form\n className={'order-order-search-form__wrapper'}\n name=\"orderSearchForm\"\n loading={loading}\n fieldsConfig={fieldsConfig}\n onSubmit={onSubmit}\n >\n <div className=\"order-order-search-form__button-container\">\n <Button\n className={'order-order-search-form__button'}\n size={'medium'}\n variant={'primary'}\n key={'logIn'}\n type={'submit'}\n disabled={loading}\n >\n <Text id={'Order.OrderSearchForm.button'} />\n </Button>\n </div>\n </Form>\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\nexport const capitalizeFirst = (str: string) => {\n if (!str) return str;\n return str.charAt(0).toLocaleUpperCase() + str.slice(1).toLocaleLowerCase();\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 && (\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","/********************************************************************\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 { ReturnOrderMessageProps } from '@/order/types/createReturn.types';\nimport '@/order/components/ReturnOrderMessage/ReturnOrderMessage.css';\nimport { Button } from '@adobe-commerce/elsie/components';\n\nexport const ReturnOrderMessage: FunctionComponent<ReturnOrderMessageProps> = ({\n routeReturnSuccess,\n translations,\n orderData,\n}) => {\n return (\n <div className={'order-return-order-message'}>\n <p className={'order-return-order-message__title'}>\n {translations.successTitle}\n </p>\n <p className={'order-return-order-message__subtitle'}>\n {translations.successMessage}\n </p>\n <Button href={routeReturnSuccess?.(orderData) ?? '#'}>\n {translations.backStore}\n </Button>\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 { FunctionComponent } from 'preact';\nimport { Button, Checkbox } from '@adobe-commerce/elsie/components';\nimport { ReturnOrderProductListProps } from '@/order/types/createReturn.types';\nimport { CartSummaryItem } from '@/order/components';\nimport { OrderItemModel } from '@/order/data/models';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport '@/order/components/ReturnOrderProductList/ReturnOrderProductList.css';\n\nexport const ReturnOrderProductList: FunctionComponent<\n ReturnOrderProductListProps\n> = ({\n placeholderImage,\n itemsEligibleForReturn,\n slots,\n loading,\n taxConfig,\n translations,\n selectedProductList,\n handleSelectedProductList,\n showConfigurableOptions,\n handleSetQuantity,\n handleChangeStep,\n}) => {\n return (\n <ul className={'order-return-order-product-list'}>\n {itemsEligibleForReturn?.map((item, index) => {\n const { quantityReturnRequested, quantityShipped, eligibleForReturn } =\n item;\n\n const checked = selectedProductList.some(\n (el: OrderItemModel) =>\n el?.productSku === item.productSku && item.eligibleForReturn\n );\n const disabled =\n (quantityShipped === quantityReturnRequested && eligibleForReturn) ||\n !eligibleForReturn;\n\n const totalQuantity =\n quantityShipped - quantityReturnRequested === 0\n ? quantityReturnRequested\n : quantityShipped - quantityReturnRequested;\n\n return (\n <li\n key={item.id}\n className={classes([\n 'order-return-order-product-list__item',\n ['order-return-order-product-list__item--blur', disabled],\n ])}\n >\n <Checkbox\n data-testid={`key_${index}`}\n name={`key_${index}`}\n checked={checked}\n disabled={disabled}\n onChange={() => {\n handleSelectedProductList({\n ...item,\n currentReturnOrderQuantity: 1,\n });\n }}\n />\n <CartSummaryItem\n slots={slots}\n placeholderImage={placeholderImage}\n loading={loading}\n product={{ ...item, totalQuantity: totalQuantity || 1 }}\n itemType={''}\n taxConfig={taxConfig}\n translations={translations}\n showConfigurableOptions={showConfigurableOptions}\n disabledIncrementer={!checked}\n onQuantity={\n totalQuantity > 1\n ? (value) => {\n handleSetQuantity(value, item.productSku!);\n }\n : undefined\n }\n />\n <Slot\n data-testid=\"returnOrderItem\"\n name=\"ReturnOrderItem\"\n slot={slots?.ReturnOrderItem}\n />\n </li>\n );\n })}\n <li className=\"order-return-order-product-list__item\">\n <Button\n type=\"button\"\n onClick={() => handleChangeStep('attributes')}\n disabled={!selectedProductList.length}\n >\n {translations.nextStep}\n </Button>\n </li>\n </ul>\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 { Fragment, FunctionComponent } from 'preact';\nimport { Button, CartItem, Image } from '@adobe-commerce/elsie/components';\nimport { useForm } from '@/order/hooks/components/useForm';\nimport FormInputs from '../Form/FormInputs';\nimport {\n modifyFieldsConfig,\n replicateEntries,\n} from '@/order/lib/returnOrdersHelper';\nimport '@/order/components/ReturnReasonForm/ReturnReasonForm.css';\nimport { Slot } from '@adobe-commerce/elsie/lib';\nimport { ReturnReasonFormProps } from '@/order/types';\n\nexport const ReturnReasonForm: FunctionComponent<ReturnReasonFormProps> = ({\n placeholderImage,\n slots,\n formsRef,\n selectedProductList,\n loading,\n fieldsConfig,\n translations,\n handleChangeStep,\n onSubmit,\n}) => {\n const { formData, errors, formRef, handleChange, handleBlur, handleSubmit } =\n useForm({\n fieldsConfig: replicateEntries(fieldsConfig, selectedProductList?.length),\n onSubmit,\n });\n\n return (\n <form\n className=\"order-return-reason-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n name={'returnReasonForm'}\n >\n {selectedProductList.map((orderItem, index) => {\n const giftCard = orderItem?.giftCard;\n const product = orderItem?.product;\n const fieldsList = modifyFieldsConfig(fieldsConfig, index);\n const formName = `${orderItem?.id}_${index}`;\n const quantity = orderItem?.currentReturnOrderQuantity! ?? 1;\n\n const configurations = {\n ...(orderItem?.currentReturnOrderQuantity\n ? { [translations.configurationsListQuantity]: quantity }\n : {}),\n ...(orderItem.configurableOptions || {}),\n ...(orderItem.bundleOptions || {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.senderEmail\n ? { [translations.sender]: giftCard?.senderEmail }\n : {}),\n ...(giftCard?.recipientName\n ? { [translations.recipient]: giftCard?.recipientName }\n : {}),\n ...(giftCard?.recipientEmail\n ? { [translations.recipient]: giftCard?.recipientEmail }\n : {}),\n ...(giftCard?.message\n ? { [translations.message]: giftCard?.message }\n : {}),\n ...(orderItem?.downloadableLinks\n ? {\n [`${orderItem?.downloadableLinks?.count} ${translations.downloadableCount}`]:\n orderItem?.downloadableLinks?.result,\n }\n : {}),\n };\n\n const productName = orderItem?.product?.name;\n\n const defaultImageProps = {\n title: productName,\n src: product?.thumbnail?.url ?? placeholderImage,\n alt: productName,\n width: 90,\n height: 120,\n loading: 'lazy',\n } as const;\n\n return (\n <Fragment key={orderItem.id}>\n <CartItem\n loading={loading}\n title={<div data-testid=\"product-name\">{productName}</div>}\n sku={<div>{product?.sku}</div>}\n image={\n <Slot\n name=\"ReturnReasonFormImage\"\n slot={slots?.ReturnReasonFormImage}\n context={{\n data: orderItem,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n }\n configurations={configurations}\n />\n <form\n name={formName}\n ref={formsRef?.current[index]}\n data-quantity={quantity}\n >\n <FormInputs\n className={'className'}\n loading={loading}\n fields={fieldsList}\n onChange={handleChange}\n onBlur={handleBlur}\n errors={errors}\n values={formData}\n />\n </form>\n </Fragment>\n );\n })}\n <Slot\n data-testid=\"returnFormActions\"\n name=\"ReturnFormActions\"\n slot={slots?.ReturnFormActions}\n context={{\n handleChangeStep,\n }}\n >\n <div className=\"order-return-reason-form__actions\">\n <Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n handleChangeStep('products');\n }}\n >\n {translations.backStep}\n </Button>\n <Button>{translations.submit}</Button>\n </div>\n </Slot>\n </form>\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 { useMemo } from 'preact/hooks';\nimport { ChevronRight } from '@adobe-commerce/elsie/icons';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { IconConfig, ReturnsListContentProps } from '@/order/types';\nimport {\n Card,\n ContentGrid,\n Header,\n Icon,\n Image,\n Pagination,\n} from '@adobe-commerce/elsie/components';\nimport EmptyList from '../EmptyList';\nimport '@/order/components/ReturnsListContent/ReturnsListContent.css';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { CardLoader } from '@/order/components';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst iconConfig: IconConfig = { size: '32', stroke: '2' };\n\nexport const ReturnsListContent: FunctionComponent<ReturnsListContentProps> = ({\n placeholderImage,\n minifiedViewKey,\n withReturnNumber = false,\n withOrderNumber = false,\n slots,\n pageInfo,\n withReturnsListButton = true,\n isMobile = false,\n returnsInMinifiedView = 1,\n translations = {},\n orderReturns = [],\n minifiedView = false,\n withHeader = true,\n withThumbnails = true,\n selectedPage = 1,\n handleSetSelectPage,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n loading,\n}) => {\n const lastElementNumber = minifiedView\n ? returnsInMinifiedView\n : orderReturns.length;\n\n const ImageTag = routeProductDetails?.() ? 'a' : 'span';\n\n const renderReturnOrders = useMemo(() => {\n return orderReturns.slice(0, lastElementNumber).map((element, i) => {\n const items = element?.items ?? [];\n\n const headerTotalProductValue = items.reduce(\n (accumulator: number, value): number => {\n return (value.requestQuantity ?? 0) + accumulator;\n },\n 0\n );\n\n return (\n <Card\n key={i}\n variant=\"secondary\"\n className=\"order-returns-list-content__cards-list\"\n >\n <div className=\"order-returns-list-content__cards-grid\">\n <div className=\"order-returns-list-content__descriptions\">\n <p className=\"order-returns-list-content__return-status\">\n {formatReturnStatus(element.returnStatus) ? (\n <Text\n id={`Order.Returns.${minifiedViewKey}.returnsList.returnStatus.${formatReturnStatus(\n element.returnStatus\n )}`}\n />\n ) : (\n <span>{capitalizeFirst(element.returnStatus)}</span>\n )}\n </p>\n {withReturnNumber ? (\n <p>\n {translations.returnNumber}{' '}\n <a\n href={\n routeReturnDetails?.({\n returnNumber: element.returnNumber,\n orderNumber: element.orderNumber,\n token: element.token,\n }) ?? '#'\n }\n rel=\"noreferrer\"\n >\n {element.returnNumber}\n </a>\n </p>\n ) : null}\n {withOrderNumber ? (\n <p>\n {translations.orderNumber}{' '}\n <a\n href={\n routeOrderDetails?.({\n orderNumber: element.orderNumber,\n token: element.token,\n }) ?? '#'\n }\n rel=\"noreferrer\"\n >\n {element.orderNumber}\n </a>\n </p>\n ) : null}\n {element?.tracking?.map((track, index) => {\n // No title in return tracking schema for return\n const trackingData = {\n title: '',\n number: track?.trackingNumber ?? '',\n carrier: track?.carrier?.label ?? '',\n };\n\n const trackingRoute = routeTracking?.(trackingData);\n const key = `${trackingData.number}_${index}`;\n\n return (\n <p key={key}>\n {`${translations.carrier} `}\n {`${trackingData.carrier?.toLocaleUpperCase()} | `}\n {trackingRoute ? (\n <a\n href={trackingRoute}\n target=\"_blank\"\n rel=\"noreferrer\"\n data-testid={`${key}_link`}\n >\n {track.trackingNumber}\n </a>\n ) : (\n <span data-testid={`${key}_span`}>\n {track.trackingNumber}\n </span>\n )}\n </p>\n );\n })}\n {slots?.ReturnItemsDetails ? (\n <Slot\n data-testid=\"returnItemsDetails\"\n name=\"ReturnItemsDetails\"\n slot={slots?.ReturnItemsDetails}\n context={{ items: element.items }}\n />\n ) : null}\n\n {!slots?.ReturnItemsDetails && element.items.length ? (\n <p>\n {headerTotalProductValue}{' '}\n <Text\n id={`Order.Returns.${minifiedViewKey}.returnsList.itemText`}\n plural={headerTotalProductValue}\n fields={{ count: headerTotalProductValue }}\n />\n </p>\n ) : null}\n </div>\n\n {withThumbnails ? (\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'order-returns-list-content__images',\n ['order-returns-list-content__images-3', isMobile],\n ])}\n >\n {element?.items?.map((item, index) => {\n const key = `key_${index}_${item.uid}`;\n const label = item?.product?.name ?? '';\n const src = item?.thumbnail?.url ?? placeholderImage ?? '';\n\n const defaultImageProps = {\n title: label,\n src,\n alt: label,\n width: 85,\n height: 114,\n loading: 'eager',\n } as const;\n\n return (\n <ImageTag\n data-testid={key}\n key={key}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ReturnListImage\"\n slot={slots?.ReturnListImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n ) : null}\n {slots?.DetailsActionParams ? (\n <Slot\n className=\"order-returns-list-content__actions\"\n data-testid=\"detailsActionParams\"\n name=\"DetailsActionParams\"\n slot={slots?.DetailsActionParams}\n context={{ returnOrderItem: element }}\n />\n ) : (\n <a\n href={\n routeReturnDetails?.({\n returnNumber: element.returnNumber,\n token: element.token,\n orderNumber: element.orderNumber,\n }) ?? '#'\n }\n className=\"order-returns-list-content__actions\"\n >\n <Icon source={ChevronRight} {...iconConfig} />\n </a>\n )}\n </div>\n </Card>\n );\n });\n }, [\n orderReturns,\n lastElementNumber,\n minifiedViewKey,\n withReturnNumber,\n translations,\n withOrderNumber,\n slots,\n withThumbnails,\n isMobile,\n placeholderImage,\n ImageTag,\n routeTracking,\n routeProductDetails,\n routeReturnDetails,\n routeOrderDetails,\n ]);\n\n const renderMinifiedView = useMemo(\n () => (\n <>\n {withHeader ? (\n <Header\n title={translations.minifiedViewTitle}\n divider={false}\n className={'order-returns__header--minified'}\n />\n ) : null}\n {loading ? (\n <CardLoader withCard={false} />\n ) : (\n <>\n {renderReturnOrders}\n <EmptyList\n minifiedView={minifiedView}\n typeList=\"orders\"\n isEmpty={!orderReturns.length}\n message={translations.emptyOrdersListMessage}\n />\n {withReturnsListButton ? (\n <a\n className=\"order-returns-list-content__actions\"\n href={routeReturnsList?.() ?? '#'}\n >\n <Card\n variant=\"secondary\"\n className=\"order-returns-list-content__card\"\n >\n <div className={'order-returns-list-content__card-wrapper'}>\n <p>{translations.viewAllOrdersButton}</p>\n <Icon source={ChevronRight} {...iconConfig} />\n </div>\n </Card>\n </a>\n ) : null}\n </>\n )}\n </>\n ),\n [\n routeReturnsList,\n withReturnsListButton,\n withHeader,\n translations,\n renderReturnOrders,\n minifiedView,\n orderReturns.length,\n loading,\n ]\n );\n\n const renderFullSizeView = useMemo(\n () => (\n <>\n {withHeader ? (\n <Header\n title={translations.minifiedViewTitle}\n divider={true}\n className={'order-returns__header--full-size'}\n />\n ) : null}\n {loading ? (\n <CardLoader withCard={false} />\n ) : (\n <>\n <EmptyList\n minifiedView={minifiedView}\n typeList=\"orders\"\n isEmpty={!orderReturns.length}\n message={translations.emptyOrdersListMessage}\n />\n {renderReturnOrders}\n {pageInfo?.totalPages > 1 ? (\n <Pagination\n totalPages={pageInfo?.totalPages}\n currentPage={selectedPage}\n onChange={handleSetSelectPage}\n />\n ) : null}\n </>\n )}\n </>\n ),\n [\n renderReturnOrders,\n minifiedView,\n orderReturns,\n translations,\n pageInfo?.totalPages,\n selectedPage,\n handleSetSelectPage,\n loading,\n withHeader,\n ]\n );\n\n return (\n <div className=\"order-returns-list-content\">\n {minifiedView ? renderMinifiedView : renderFullSizeView}\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { ComponentChildren, FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { VComponent, classes } from '@adobe-commerce/elsie/lib';\nimport '@adobe-commerce/elsie/components/Button/Button.css';\n\nexport interface ButtonProps\n extends Omit<\n HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>,\n 'size' | 'icon'\n > {\n variant?: 'primary' | 'secondary' | 'tertiary';\n size?: 'medium' | 'large';\n children?: ComponentChildren;\n icon?: VNode<HTMLAttributes<SVGSVGElement>>;\n disabled?: boolean;\n active?: boolean;\n activeChildren?: ComponentChildren;\n activeIcon?: VNode<HTMLAttributes<SVGSVGElement>>;\n href?: string;\n type?: 'button' | 'submit' | 'reset';\n}\n\nexport const Button: FunctionComponent<ButtonProps> = ({\n value,\n variant = 'primary',\n size = 'medium',\n icon,\n className,\n children,\n disabled = false,\n active = false,\n activeChildren,\n activeIcon,\n href,\n ...props\n}) => {\n let buttonType = 'dropin-button';\n\n if (\n (icon && !children) ||\n (icon && active && !activeChildren) ||\n (!icon && active && activeIcon)\n ) {\n buttonType = 'dropin-iconButton';\n }\n\n if (active && activeChildren) {\n buttonType = 'dropin-button';\n }\n\n className = classes([\n buttonType,\n `${buttonType}--${size}`,\n `${buttonType}--${variant}`,\n [`${buttonType}--${variant}--disabled`, disabled],\n children && icon && `${buttonType}--with-icon`,\n !children && activeChildren && icon && `${buttonType}--with-icon`,\n active && activeIcon && `${buttonType}--with-icon`,\n className,\n ]);\n\n const iconClassName = classes([\n 'dropin-button-icon',\n `dropin-button-icon--${variant}`,\n [`dropin-button-icon--${variant}--disabled`, disabled],\n icon?.props.className,\n ]);\n\n const attributes = href\n ? {\n node: <a />,\n role: 'link',\n href,\n ...props,\n disabled,\n active,\n onKeyDown: (event: KeyboardEvent) => {\n if (disabled) {\n event.preventDefault();\n }\n },\n tabIndex: disabled ? -1 : 0,\n }\n : {\n node: <button />,\n role: 'button',\n ...props,\n value,\n disabled,\n active,\n };\n\n return (\n <VComponent {...attributes} className={className}>\n {icon && !active && <VComponent node={icon} className={iconClassName} />}\n\n {activeIcon && active && (\n <VComponent node={activeIcon} className={iconClassName} />\n )}\n\n {children &&\n !active &&\n (typeof children === 'string' ? <span>{children}</span> : children)}\n\n {active &&\n activeChildren &&\n (typeof activeChildren === 'string' ? (\n <span>{activeChildren}</span>\n ) : (\n activeChildren\n ))}\n </VComponent>\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 { useIsMobile } from '@/order/hooks';\nimport { ShippingStatusReturnCardProps } from '@/order/types';\nimport {\n Accordion,\n AccordionSection,\n Card,\n Header,\n Image,\n ContentGrid,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent } from 'preact';\nimport Button from '@adobe-commerce/elsie/components/Button';\n\nexport const ShippingStatusReturnCard: FunctionComponent<\n ShippingStatusReturnCardProps\n> = ({\n placeholderImage,\n slots,\n collapseThreshold,\n translations,\n returnData,\n routeTracking,\n routeProductDetails,\n}) => {\n const isMobile = useIsMobile();\n\n const ImageTag = routeProductDetails ? 'a' : 'span';\n\n return (\n <Card\n variant=\"secondary\"\n className={classes([\n 'order-shipping-status-card',\n 'order-shipping-status-card--return-order',\n ])}\n >\n <Header title={translations.returnOrderCardTitle} />\n {\n <div>\n {returnData?.tracking?.map((track, index) => {\n // No title in return tracking schema for return\n const trackingData = {\n title: '',\n number: track?.trackingNumber ?? '',\n carrier: track?.carrier?.label ?? '',\n };\n\n const trackingRoute = routeTracking?.(trackingData);\n const handleClick = trackingRoute\n ? () => {\n window.open(trackingRoute, '_blank', 'noreferrer');\n }\n : null;\n\n return (\n <div\n key={`${trackingData.number}_${index}`}\n className={'order-shipping-status-card__header'}\n >\n <div>\n {`${translations.carrier} `}\n {`${trackingData.carrier?.toLocaleUpperCase()} | `}\n {trackingData.number}\n </div>\n {handleClick ? (\n <Button onClick={handleClick}>\n {translations.trackButton}\n </Button>\n ) : null}\n </div>\n );\n })}\n\n {slots?.ReturnItemsDetails ? (\n <Slot\n data-testid=\"returnItemsDetails\"\n name=\"ReturnItemsDetails\"\n slot={slots?.ReturnItemsDetails}\n context={{ items: returnData.items }}\n />\n ) : null}\n <Accordion actionIconPosition=\"right\" data-testid=\"dropinAccordion\">\n <AccordionSection\n defaultOpen={collapseThreshold >= returnData.items.length}\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.itemText\"\n plural={returnData.items.reduce(\n (acc, value) => acc + value.requestQuantity,\n 0\n )}\n fields={{\n count: returnData.items.reduce(\n (acc, value) => acc + value.requestQuantity,\n 0\n ),\n }}\n />\n }\n >\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'order-shipping-status-card__images',\n ['order-shipping-status-card__images-3', isMobile],\n ])}\n >\n {returnData.items.map((item, index) => {\n const defaultImageProps = {\n title: item.thumbnail?.label ?? '',\n src: item.thumbnail?.url ?? placeholderImage,\n alt: item.thumbnail?.label ?? '',\n width: 85,\n height: 114,\n loading: 'lazy',\n } as const;\n\n return (\n <ImageTag\n key={`${index}${item.uid}`}\n href={routeProductDetails?.(item) ?? '#'}\n data-testid={`${index}${item.uid}`}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ShippingStatusCardImage\"\n slot={slots?.ShippingStatusReturnCardImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n </div>\n }\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 { Slot } from '@adobe-commerce/elsie/lib';\nimport {\n Accordion,\n AccordionSection,\n Card,\n Header,\n Image,\n ContentGrid,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { ShippingStatusCardProps, StatusEnumProps } from '@/order/types';\nimport '@/order/components/ShippingStatusCard/ShippingStatusCard.css';\nimport { ShippingStatusReturnCard } from './ShippingStatusReturnCard';\nimport Button from '@adobe-commerce/elsie/components/Button';\nimport { FunctionComponent } from 'preact';\n\nexport const ShippingStatusCard: FunctionComponent<ShippingStatusCardProps> = ({\n placeholderImage,\n translations,\n slots,\n orderData,\n collapseThreshold = 10,\n routeProductDetails,\n routeTracking,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const returnNumber = orderData?.returnNumber;\n const ImageTag = routeProductDetails ? 'a' : 'span';\n const orderStatus = orderData?.status?.toLocaleLowerCase();\n const isSingleShipment = orderData?.shipments?.length === 1;\n const isCompleted =\n isSingleShipment && orderStatus?.includes(StatusEnumProps.COMPLETE);\n const allTrackingIsEmpty = orderData?.shipments?.every(\n (el) => el.tracking.length === 0\n );\n\n const renderNotYetShippedProduct = orderData?.items?.filter(\n (el) =>\n el?.quantityShipped === 0 || el?.quantityShipped < el?.quantityOrdered\n );\n\n const totalNotYetShippedProduct = orderData?.items?.reduce((acc, value) => {\n const difference = value.quantityOrdered - value.quantityShipped;\n return acc + (difference > 0 ? difference : 0);\n }, 0);\n\n // Render shipping status card for return details page\n if (isReturnPage && orderData?.returns.length) {\n const returnData = orderData.returns.find(\n (returnData) => returnData.returnNumber === returnNumber\n );\n\n if (!returnData || returnData.tracking.length === 0) return null;\n\n return (\n <ShippingStatusReturnCard\n placeholderImage={placeholderImage}\n slots={slots}\n collapseThreshold={collapseThreshold}\n translations={translations}\n returnData={returnData}\n routeTracking={routeTracking}\n routeProductDetails={routeProductDetails}\n />\n );\n }\n\n // Hidden if no order data or order is cancelled\n if (!orderData || orderStatus?.includes(StatusEnumProps.CANCELED)) {\n return null;\n }\n\n // Render static informational card if no shipment created yet (order details page)\n if (!orderData?.shipments?.length) {\n return (\n <Card variant=\"secondary\" className=\"order-shipping-status-card\">\n <Header title={translations.shippingInfoTitle} />\n <div className={'order-shipping-status-card__header'}>\n <div className={'order-shipping-status-card__header--content'}>\n {orderData?.carrier ? <p>{orderData?.carrier}</p> : null}\n <p>{translations.noInfoTitle}</p>\n </div>\n </div>\n </Card>\n );\n }\n\n if (\n allTrackingIsEmpty &&\n !renderNotYetShippedProduct?.length &&\n isCompleted\n ) {\n return null;\n }\n\n // Render order shipments details (card per shipment)\n return (\n <>\n {orderData?.shipments?.map(({ tracking, items, id }, index) => {\n const accordionValue = items.reduce((acc, value) => {\n return (\n acc +\n (value?.quantityShipped ?? value.orderItem.quantityShipped ?? 0)\n );\n }, 0);\n\n return (\n <Card\n key={id}\n variant=\"secondary\"\n className=\"order-shipping-status-card\"\n >\n <Header title={translations.shippingCardTitle} />\n {tracking?.map((track) => {\n const trackingRoute = routeTracking?.(track);\n const handleClick = trackingRoute\n ? () => {\n window.open(trackingRoute, '_blank', 'noreferrer');\n }\n : null;\n\n return (\n <div\n className={'order-shipping-status-card__header'}\n key={track.number}\n role={'status'}\n >\n <div\n className={'order-shipping-status-card__header--content'}\n >\n <p>\n {translations.carrier}{' '}\n {track?.carrier?.toLocaleUpperCase()} | {track?.number}\n </p>\n <p>{track?.title}</p>\n </div>\n {slots?.DeliveryTrackActions ? (\n <Slot\n data-testid=\"deliverySlotActions\"\n name=\"DeliveryTrackActions\"\n slot={slots?.DeliveryTrackActions}\n context={{ trackInformation: track }}\n />\n ) : handleClick ? (\n <Button onClick={handleClick}>\n {translations.trackButton}\n </Button>\n ) : null}\n </div>\n );\n })}\n\n {!isCompleted ? (\n <Accordion\n actionIconPosition=\"right\"\n data-testid=\"dropinAccordion\"\n >\n <AccordionSection\n data-position={index + 1}\n defaultOpen={collapseThreshold >= items?.length}\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.notYetShippedImagesTitle\"\n plural={accordionValue}\n fields={{ count: accordionValue }}\n />\n }\n >\n <ContentGrid\n maxColumns={6}\n emptyGridContent={<></>}\n className={'order-shipping-status-card__images'}\n >\n {items?.map((item) => {\n const label =\n item?.orderItem?.product?.thumbnail?.label ?? '';\n\n const defaultImageProps = {\n title: label,\n src:\n item?.orderItem?.product?.thumbnail?.url ??\n placeholderImage,\n alt: label,\n width: 85,\n height: 114,\n loading: 'eager',\n } as const;\n\n return (\n <ImageTag\n key={item.id}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ShippingStatusCardImage\"\n slot={slots?.ShippingStatusCardImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n ) : null}\n\n {slots?.DeliveryTimeLine ? (\n <Slot\n data-testid=\"deliverySlotTimeLine\"\n name=\"DeliveryTimeLine\"\n slot={slots?.DeliveryTimeLine}\n context={{}}\n />\n ) : null}\n </Card>\n );\n })}\n {renderNotYetShippedProduct?.length ? (\n <Card\n variant=\"secondary\"\n className=\"order-shipping-status-card\"\n data-testid=\"dropinAccordionNotYetShipped2\"\n >\n <Header title={translations.notYetShippedTitle} />\n\n <Accordion actionIconPosition=\"right\">\n <AccordionSection\n defaultOpen={\n collapseThreshold >= renderNotYetShippedProduct?.length\n }\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.notYetShippedImagesTitle\"\n plural={totalNotYetShippedProduct}\n fields={{\n count: totalNotYetShippedProduct,\n }}\n />\n }\n >\n <ContentGrid\n maxColumns={6}\n emptyGridContent={<></>}\n className={'order-shipping-status-card__images'}\n >\n {renderNotYetShippedProduct?.map((item) => {\n const defaultImageProps = {\n title: item.thumbnail?.label ?? '',\n src: item.thumbnail?.url ?? '',\n alt: item.thumbnail?.label ?? '',\n width: 85,\n height: 114,\n loading: 'lazy',\n } as const;\n\n return (\n <ImageTag\n key={item.id}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"NotYetShippedProductImage\"\n slot={slots?.NotYetShippedProductImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n </Card>\n ) : null}\n </>\n );\n};\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport {\n formatDateToLocale,\n FORMAT_DATETIME,\n} from '@/order/lib/formatDateToLocale';\nimport { OrderCommentsComponentProps } from '@/order/types';\nimport '@/order/components/OrderComments/OrderComments.css';\n\nexport const OrderComments: FunctionComponent<OrderCommentsComponentProps> = ({\n className,\n comments = [],\n ...props\n}) => {\n const dictionary = useText({\n emptyState: 'Order.OrderComments.emptyState',\n title: 'Order.OrderComments.title',\n });\n\n const listContent =\n !comments || comments.length === 0 ? (\n <ul\n className={classes([\n 'order-order-comments',\n 'order-order-comments--empty',\n ])}\n data-testid=\"order-comments-list\"\n >\n <li\n className=\"order-order-comments__empty-state\"\n data-testid=\"order-comments-empty-state\"\n >\n {dictionary.emptyState}\n </li>\n </ul>\n ) : (\n <ul\n className=\"order-order-comments\"\n data-testid=\"order-comments-list\"\n >\n {comments.map((comment, i) => (\n <li\n key={i}\n className=\"order-order-comments__item\"\n data-testid={`order-comment-${i}`}\n >\n <div className=\"order-order-comments__header\">\n <time\n className=\"order-order-comments__date\"\n dateTime={comment.timestamp}\n data-testid={`order-comment-date-${i}`}\n >\n {formatDateToLocale(comment.timestamp, 'en-US', FORMAT_DATETIME)}\n </time>\n </div>\n <p\n className=\"order-order-comments__text\"\n data-testid={`order-comment-text-${i}`}\n >\n {comment.message}\n </p>\n </li>\n ))}\n </ul>\n );\n\n return (\n <Card\n {...props}\n variant=\"secondary\"\n className={classes(['order-order-comments-card', className])}\n data-testid=\"order-comments-card\"\n >\n <Header title={dictionary.title} />\n <div className=\"order-order-comments-card__container\">\n {listContent}\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 { ShippingStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { CardLoader, ShippingStatusCard } from '@/order/components';\nimport { useGetStoreConfig, useShippingStatus } from '@/order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ShippingStatus: Container<ShippingStatusProps> = ({\n slots,\n className,\n collapseThreshold,\n orderData,\n routeOrderDetails,\n routeTracking,\n routeProductDetails,\n}) => {\n const { loading, order, isVirtualProduct } = useShippingStatus({ orderData });\n const storeConfig = useGetStoreConfig();\n\n const translations = useText({\n carrier: 'Order.ShippingStatusCard.carrier',\n prepositionOf: 'Order.ShippingStatusCard.prepositionOf',\n returnOrderCardTitle: 'Order.ShippingStatusCard.returnOrderCardTitle',\n shippingCardTitle: 'Order.ShippingStatusCard.shippingCardTitle',\n shippingInfoTitle: 'Order.ShippingStatusCard.shippingInfoTitle',\n notYetShippedTitle: 'Order.ShippingStatusCard.notYetShippedTitle',\n noInfoTitle: 'Order.ShippingStatusCard.noInfoTitle',\n returnNumber: 'Order.ShippingStatusCard.returnNumber',\n orderNumber: 'Order.ShippingStatusCard.orderNumber',\n trackButton: 'Order.ShippingStatusCard.trackButton',\n });\n\n if (!loading && isVirtualProduct) return null;\n\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n return (\n <div className={classes(['order-shipping-status', className])}>\n {!loading && order ? (\n <ShippingStatusCard\n placeholderImage={placeholderImage}\n translations={translations}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n slots={slots}\n orderData={order}\n collapseThreshold={collapseThreshold}\n routeProductDetails={routeProductDetails}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\n );\n};\n"],"names":["SvgCard","props","React","SvgCheckWithCircle","SvgChevronDown","SvgChevronRight","SvgChevronUp","SvgCoupon","SvgEmptyBox","SvgGiftCard","SvgOrderSuccess","SvgUser","SvgWallet","SvgWarning","SvgWarningFilled","SvgWarningWithCircle","AvailableActionsProps","FieldEnumList","StatusEnumProps","getFormValues","form","formData","checkbox","entries","returnStatus","formatTemplate","el","index","cleanObjectKeys","obj","cleanedObject","key","newKey","modifyFieldsConfig","fieldsConfig","replicateEntries","objects","n","_","normalizeAttributes","selectedCustomAttributes","enteredCustomAttributes","value","lastUnderscoreIndex","baseKey","type","formatReturnStatus","str","processFormElement","formsRef","items","current","orderItemUid","quantity","_a","formsData","valuesList","sortItemsByCondition","order","a","b","aCondition","bCondition","DEFAULT_DATE_OPTIONS","DATE_TIME_OPTIONS","dateTimeFormatterCache","DATE_TIME_CACHE_MAX_SIZE","getDateTimeFormatter","locale","formatter","firstKey","FORMAT_DATETIME","formatDateToLocale","date","options","dateObj","formatOptions","renderAddressData","normalizeAddress","getFieldContent","field","fieldIndex","jsx","extractPaymentMethodsData","paymentMethods","hasPaymentMethod","selectedPaymentMethod","selectedPaymentMethodCode","_b","CustomerDetailsContent","loading","withHeader","title","paymentIconsMap","translations","slots","isReturnPage","isVirtual","orderReturn","iconsList","useMemo","Wallet","CreditCard","DetailsSkeleton","emailAddress","shippingMethod","shippingCost","_c","shippingCurrency","_d","hasToDisplayPaymentMethod","paymentMethodIconSource","shippingAddress","billingAddress","contactDetails","jsxs","returnDetails","Slot","Fragment","Text","shippingAddressDetails","billingAddressDetails","classes","paymentMethodDetails","Icon","shippingMethodDetails","Price","pageSpecificDetails","Card","Header","EmptyList","typeList","isEmpty","minifiedView","message","config","EmptyBox","IllustratedMessage","initializeFormData","code","required","defaultValue","useForm","onSubmit","requiredFieldError","useText","formRef","useRef","setFormData","useState","errors","setErrors","useEffect","initialData","getRequiredFieldError","useCallback","name","error","handleChange","event","checked","fieldValue","prev","handleBlur","prevErrors","handleSubmit","formValid","newErrors","firstErrorField","input","FormInputs","memo","values","fields","className","onChange","onBlur","itemClassName","selectElement","item","valueMessage","errorMessage","pickerOptions","option","Field","Picker","inputElement","isEmail","icon","User","autoComplete","Input","inputDateElement","InputDate","inputCheckBoxElement","Checkbox","textAreaElement","TextArea","Form","children","OrderActions","orderData","routeCreateReturn","routeOnSuccess","onError","translationActions","renderAvailableActions","availableActionsList","redirectToCreateReturn","redirectTo","action","OrderCancel","Button","Reorder","useGetStoreConfig","setConfig","storeConfigPromiseKey","storeConfigString","cachedStoreConfig","windowWithPromise","getStoreConfig","response","getQueryParam","param","href","useCreateReturn","onSuccess","handleSetInLineAlert","isGuestCreateReturn","setIsGuestCreateReturn","setOrder","steps","setSteps","setLoading","selectedProductList","setSelectedProductList","attributesList","setAttributesList","itemsEligibleForReturn","setItemsEligibleForReturn","i","createRef","events","sortedReturnItems","getAttributesList","handleSelectedProductList","orderItem","currentList","handleChangeStep","handleSetQuantity","productSku","result","isValid","orderReturnInfo","requestGuestReturn","requestReturn","defaultAttributePreset","useCustomerDetails","keysSortOrder","setKeysSortOrder","getAttributesForm","attributesFormResponse","orderNumber","label","convertToCamelCase","getNormalizeAddress","address","setTaxStatus","displayPrice","taxIncluded","taxExcluded","useOrderCostSummary","storeConfig","setStoreConfig","shoppingOrderDisplayPrice","shoppingOrdersDisplayShipping","shoppingOrdersDisplaySubtotal","useOrderHeader","handleEmailAvailability","handleSignUpClick","isAuthenticated","setIsAuthenticated","isEmailAvailable","setIsEmailAvailable","customerEmail","onSignUpClickHandler","inputsDefaultValueSet","addressesData","customerShippingAddress","transformCustomerAddressInput","authenticated","useOrderComments","comments","setComments","orderPayload","useOrderProductList","useOrderSearch","isAuth","renderSignIn","routeCustomerOrder","routeGuestOrder","inLineAlert","setInLineAlert","orderSearchRedirect","orderRef","isToken","customer","getCustomer","normalizeFieldsConfig","valid","formValues","getGuestOrder","guestOrder","showErrorMessage","useOrderStatus","orderStatus","setOrderStatus","DEFAULT_PAGE_INFO","useReturnsList","returnPageSize","orderReturns","setOrderReturns","pageInfo","setPageInfo","selectedPage","setSelectedPage","getCustomerOrdersReturn","handleSetSelectPage","useShippingStatus","isVirtualProduct","setIsVirtualProduct","removeQueryParams","params","url","useOrderActions","enableOrderCancellation","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","confirmGuestReturn","Success","Warning","Error","useInLineAlert","inLineAlertProps","setInLineAlertProps","notification","useIsMobile","isMobile","setIsMobile","handleResize","debounce","CreateReturn","routeReturnSuccess","showConfigurableOptions","OrderProductListSkeleton","placeholderImage","renderList","ReturnOrderProductList","ReturnReasonForm","ReturnOrderMessage","InLineAlert","CustomerDetails","OrderCancelForm","pickerProps","submitButtonProps","cancelReasons","selectedReason","setSelectedReason","isErrorVisible","setIsErrorVisible","isCustomerAuthenticated","setIsCustomerAuthenticated","handleReasonSelect","requestGuestOrderCancel","cancelOrder","data","OrderCostSummary","OrderCostSummaryContent","OrderHeader","OrderHeaderComponent","OrderHeaderSkeleton","OrderProductList","routeProductDetails","OrderProductListContent","useOrderReturns","OrderReturns","withThumbnails","routeReturnDetails","routeTracking","minifiedViewKey","ReturnsListContent","OrderSearch","OrderSearchForm","OrderStatus","statusTitle","OrderStatusContent","CardLoader","ReturnsList","withReturnsListButton","returnsInMinifiedView","routeOrderDetails","routeReturnsList","OrderComments","OrderCommentsComponent","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","Modal","testId","withCard","defaultSkeleton","Skeleton","SkeletonRow","CartItemSkeleton","OrderSummarySkeleton","GiftWrapping","salesGiftWrapping","giftWrappingPrice","giftWrappingPriceInclTax","giftWrappingTitle","giftWrappingExclTaxText","giftWrappingInclTaxText","isGiftWrappingTaxIncluded","isGiftWrappingTaxExcluded","isIncludedView","isExcludedView","isInclExclView","taxIncludedView","taxExcludedView","taxIncludedAndExcludedView","PrintedCard","salesPrintedCard","totalGiftOptions","printedCard","printedCardInclTax","isPrintedCardTaxIncluded","isPrintedCardTaxExcluded","Subtotal","subtotalInclTax","subtotalExclTax","isTaxIncluded","isTaxExcluded","Shipping","totalShipping","Discounts","appliedCoupons","discounts","discountValue","acc","Coupon","Total","isFree","_e","Tax","renderTaxAccordion","totalAccordionTaxValue","changeAccordion","setChangeAccordion","Accordion","ChevronDown","ChevronUp","AccordionSection","GiftCards","totalGiftCardValue","totalGiftCardCurrency","appliedGiftCards","GiftCard","_f","_g","customerName","onSignUpClick","OrderSuccess","categorizeProducts","itemsList","returnedList","returnedListMap","modifyOrder","mainItem","matchingItem","quantityResult","element","taxConfig","canceledItems","nonCanceledItems","section","returnData","headerTotalProductValue","entry","accumulator","totalQuantity","product","CartSummaryItem","itemType","disabledIncrementer","onQuantity","renderDefaultPrice","amount","currency","configs","renderImages","defaultImageProps","Image","configPrice","isCancelled","inStock","giftCard","renderQuantity","isDiscounted","includeAndExcludeTax","includeTax","excludeTax","configurations","singleItemPrice","totalOriginalPrice","totalDiscountedPrice","totalExcludingTax","CartItem","WarningWithCircle","Incrementer","WarningFilled","capitalizeFirst","statusTransform","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","translationsOrder","translationsHeaderTitle","translationsText","translationsTextWithoutDate","orderMessage","isAdminAssisted","returnMessage","headerTitle","mutationReorderItems","reorderItems","success","userInputErrors","quantityReturnRequested","quantityShipped","eligibleForReturn","disabled","fieldsList","formName","productName","iconConfig","withReturnNumber","withOrderNumber","lastElementNumber","ImageTag","renderReturnOrders","track","trackingData","trackingRoute","ContentGrid","src","ChevronRight","renderMinifiedView","renderFullSizeView","Pagination","variant","size","active","activeChildren","activeIcon","buttonType","iconClassName","attributes","VComponent","ShippingStatusReturnCard","collapseThreshold","handleClick","ShippingStatusCard","returnNumber","isCompleted","allTrackingIsEmpty","renderNotYetShippedProduct","totalNotYetShippedProduct","difference","tracking","id","accordionValue","dictionary","listContent","comment","ShippingStatus"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,79]}
1
+ {"version":3,"file":"CreateReturn.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/Card.svg","../../node_modules/@adobe-commerce/elsie/src/icons/CheckWithCircle.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronDown.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronRight.svg","../../node_modules/@adobe-commerce/elsie/src/icons/ChevronUp.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Coupon.svg","../../node_modules/@adobe-commerce/elsie/src/icons/EmptyBox.svg","../../node_modules/@adobe-commerce/elsie/src/icons/GiftCard.svg","../../node_modules/@adobe-commerce/elsie/src/icons/OrderSuccess.svg","../../node_modules/@adobe-commerce/elsie/src/icons/User.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Wallet.svg","../../node_modules/@adobe-commerce/elsie/src/icons/Warning.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningWithCircle.svg","/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/types/form.types.ts","/@dropins/storefront-order/src/types/orderStatus.types.ts","/@dropins/storefront-order/src/lib/getFormValues.ts","/@dropins/storefront-order/src/lib/returnOrdersHelper.ts","/@dropins/storefront-order/src/lib/formatDateToLocale.ts","/@dropins/storefront-order/src/components/CustomerDetailsContent/CustomerDetailsContent.tsx","/@dropins/storefront-order/src/components/EmptyList/EmptyList.tsx","/@dropins/storefront-order/src/hooks/components/useForm.tsx","/@dropins/storefront-order/src/components/Form/FormInputs/FormInputs.tsx","/@dropins/storefront-order/src/components/Form/Form.tsx","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/api/useGetStoreConfig.tsx","/@dropins/storefront-order/src/lib/getQueryParam.ts","/@dropins/storefront-order/src/hooks/containers/useCreateReturn.tsx","/@dropins/storefront-order/src/configs/defaultAttributePreset.config.ts","/@dropins/storefront-order/src/hooks/containers/useCustomerDetails.tsx","/@dropins/storefront-order/src/lib/setTaxStatus.ts","/@dropins/storefront-order/src/hooks/containers/useOrderCostSummary.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderHeader.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderComments.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderProductList.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderSearch.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/hooks/containers/useReturnsList.tsx","/@dropins/storefront-order/src/hooks/containers/useShippingStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/hooks/useInLineAlert.tsx","/@dropins/storefront-order/src/hooks/useIsMobile.tsx","/@dropins/storefront-order/src/containers/CreateReturn/CreateReturn.tsx","/@dropins/storefront-order/src/containers/CustomerDetails/CustomerDetails.tsx","/@dropins/storefront-order/src/containers/OrderCancelForm/OrderCancelForm.tsx","/@dropins/storefront-order/src/containers/OrderCostSummary/OrderCostSummary.tsx","/@dropins/storefront-order/src/containers/OrderHeader/OrderHeader.tsx","/@dropins/storefront-order/src/containers/OrderProductList/OrderProductList.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderReturns.tsx","/@dropins/storefront-order/src/containers/OrderReturns/OrderReturns.tsx","/@dropins/storefront-order/src/containers/OrderSearch/OrderSearch.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/containers/ReturnsList/ReturnsList.tsx","/@dropins/storefront-order/src/containers/OrderComments/OrderComments.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderLoaders/OrderLoaders.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/GiftWrapping.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/PrintedCard.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Subtotal.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Shipping.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Discounts.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Total.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/Tax.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/Blocks/GiftCards.tsx","/@dropins/storefront-order/src/components/OrderCostSummaryContent/OrderCostSummaryContent.tsx","/@dropins/storefront-order/src/components/OrderHeader/OrderHeader.tsx","/@dropins/storefront-order/src/lib/categorizeProducts.ts","/@dropins/storefront-order/src/components/OrderProductListContent/OrderProductListContent.tsx","/@dropins/storefront-order/src/components/OrderProductListContent/CartSummaryItem.tsx","/@dropins/storefront-order/src/components/OrderSearchForm/OrderSearchForm.tsx","/@dropins/storefront-order/src/lib/capitalizeFirst.ts","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx","/@dropins/storefront-order/src/components/ReturnOrderMessage/ReturnOrderMessage.tsx","/@dropins/storefront-order/src/components/ReturnOrderProductList/ReturnOrderProductList.tsx","/@dropins/storefront-order/src/components/ReturnReasonForm/ReturnReasonForm.tsx","/@dropins/storefront-order/src/components/ReturnsListContent/ReturnsListContent.tsx","../../node_modules/@adobe-commerce/elsie/src/components/Button/Button.tsx","/@dropins/storefront-order/src/components/ShippingStatusCard/ShippingStatusReturnCard.tsx","/@dropins/storefront-order/src/components/ShippingStatusCard/ShippingStatusCard.tsx","/@dropins/storefront-order/src/components/OrderComments/OrderComments.tsx","/@dropins/storefront-order/src/containers/ShippingStatus/ShippingStatus.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCard = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M2.00718 5H22.1507C22.7047 5 23.1579 5.45323 23.1579 6.00718V7.51794C23.1579 7.51794 1.01007 7.58844 1 7.55823V6.00718C1 5.45323 1.45323 5 2.00718 5Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M23.1579 9.78409V18.3451C23.1579 18.899 22.7047 19.3523 22.1507 19.3523H2.00718C1.45323 19.3523 1 18.899 1 18.3451V9.78409H23.1579Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M3.01465 15.9682H8.40305\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.6192 17.5897C18.4535 17.5897 19.1299 16.9133 19.1299 16.0789C19.1299 15.2446 18.4535 14.5682 17.6192 14.5682C16.7848 14.5682 16.1084 15.2446 16.1084 16.0789C16.1084 16.9133 16.7848 17.5897 17.6192 17.5897Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19.8848 17.5897C20.7192 17.5897 21.3956 16.9133 21.3956 16.0789C21.3956 15.2446 20.7192 14.5682 19.8848 14.5682C19.0504 14.5682 18.374 15.2446 18.374 16.0789C18.374 16.9133 19.0504 17.5897 19.8848 17.5897Z\", stroke: \"currentColor\", strokeWidth: 1 }));\nexport default SvgCard;\n","import * as React from \"react\";\nconst SvgCheckWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.75 12.762L10.2385 15.75L17.25 9\", stroke: \"currentColor\" }));\nexport default SvgCheckWithCircle;\n","import * as React from \"react\";\nconst SvgChevronDown = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"square\", strokeLinejoin: \"round\" }));\nexport default SvgChevronDown;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { id: \"Icon_Chevron_right_Base\", \"data-name\": \"Icon \\\\u2013 Chevron right \\\\u2013 Base\", xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { id: \"Large\" }, /* @__PURE__ */ React.createElement(\"rect\", { id: \"Placement_area\", \"data-name\": \"Placement area\", width: 24, height: 24, fill: \"#fff\", opacity: 0 }), /* @__PURE__ */ React.createElement(\"g\", { id: \"Chevron_right_icon\", \"data-name\": \"Chevron right icon\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", id: \"chevron\", d: \"M199.75,367.5l4.255,-4.255-4.255,-4.255\", transform: \"translate(-189.25 -351.0)\", fill: \"none\", stroke: \"currentColor\" }))));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgChevronUp = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M7.74512 14.132L12.0001 9.87701L16.2551 14.132\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"square\", strokeLinejoin: \"round\" }));\nexport default SvgChevronUp;\n","import * as React from \"react\";\nconst SvgCoupon = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M22 6.25H22.75C22.75 5.83579 22.4142 5.5 22 5.5V6.25ZM22 9.27L22.2514 9.97663C22.5503 9.87029 22.75 9.58731 22.75 9.27H22ZM20.26 12.92L19.5534 13.1714L19.5539 13.1728L20.26 12.92ZM22 14.66H22.75C22.75 14.3433 22.551 14.0607 22.2528 13.9539L22 14.66ZM22 17.68V18.43C22.4142 18.43 22.75 18.0942 22.75 17.68H22ZM2 17.68H1.25C1.25 18.0942 1.58579 18.43 2 18.43V17.68ZM2 14.66L1.74865 13.9534C1.44969 14.0597 1.25 14.3427 1.25 14.66H2ZM3.74 11.01L4.44663 10.7586L4.44611 10.7572L3.74 11.01ZM2 9.27H1.25C1.25 9.58675 1.44899 9.86934 1.7472 9.97611L2 9.27ZM2 6.25V5.5C1.58579 5.5 1.25 5.83579 1.25 6.25H2ZM21.25 6.25V9.27H22.75V6.25H21.25ZM21.7486 8.56337C19.8706 9.23141 18.8838 11.2889 19.5534 13.1714L20.9666 12.6686C20.5762 11.5711 21.1494 10.3686 22.2514 9.97663L21.7486 8.56337ZM19.5539 13.1728C19.9195 14.1941 20.7259 15.0005 21.7472 15.3661L22.2528 13.9539C21.6541 13.7395 21.1805 13.2659 20.9661 12.6672L19.5539 13.1728ZM21.25 14.66V17.68H22.75V14.66H21.25ZM22 16.93H2V18.43H22V16.93ZM2.75 17.68V14.66H1.25V17.68H2.75ZM2.25135 15.3666C4.12941 14.6986 5.11623 12.6411 4.44663 10.7586L3.03337 11.2614C3.42377 12.3589 2.85059 13.5614 1.74865 13.9534L2.25135 15.3666ZM4.44611 10.7572C4.08045 9.73588 3.27412 8.92955 2.2528 8.56389L1.7472 9.97611C2.34588 10.1905 2.81955 10.6641 3.03389 11.2628L4.44611 10.7572ZM2.75 9.27V6.25H1.25V9.27H2.75ZM2 7H22V5.5H2V7ZM7.31 6.74V18.17H8.81V6.74H7.31ZM17.0997 8.39967L11.0397 14.4597L12.1003 15.5203L18.1603 9.46033L17.0997 8.39967ZM12.57 9.67C12.57 9.87231 12.4159 10 12.27 10V11.5C13.2839 11.5 14.07 10.6606 14.07 9.67H12.57ZM12.27 10C12.1241 10 11.97 9.87231 11.97 9.67H10.47C10.47 10.6606 11.2561 11.5 12.27 11.5V10ZM11.97 9.67C11.97 9.46769 12.1241 9.34 12.27 9.34V7.84C11.2561 7.84 10.47 8.67938 10.47 9.67H11.97ZM12.27 9.34C12.4159 9.34 12.57 9.46769 12.57 9.67H14.07C14.07 8.67938 13.2839 7.84 12.27 7.84V9.34ZM17.22 14.32C17.22 14.5223 17.0659 14.65 16.92 14.65V16.15C17.9339 16.15 18.72 15.3106 18.72 14.32H17.22ZM16.92 14.65C16.7741 14.65 16.62 14.5223 16.62 14.32H15.12C15.12 15.3106 15.9061 16.15 16.92 16.15V14.65ZM16.62 14.32C16.62 14.1177 16.7741 13.99 16.92 13.99V12.49C15.9061 12.49 15.12 13.3294 15.12 14.32H16.62ZM16.92 13.99C17.0659 13.99 17.22 14.1177 17.22 14.32H18.72C18.72 13.3294 17.9339 12.49 16.92 12.49V13.99Z\", fill: \"currentColor\" }));\nexport default SvgCoupon;\n","import * as React from \"react\";\nconst SvgEmptyBox = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12.002 21L11.8275 21.4686C11.981 21.5257 12.1528 21.5041 12.2873 21.4106C12.4218 21.3172 12.502 21.1638 12.502 21H12.002ZM3.89502 17.9823H3.39502C3.39502 18.1912 3.52485 18.378 3.72059 18.4509L3.89502 17.9823ZM3.89502 8.06421L4.07193 7.59655C3.91831 7.53844 3.74595 7.55948 3.61082 7.65284C3.47568 7.74619 3.39502 7.89997 3.39502 8.06421H3.89502ZM12.0007 21H11.5007C11.5007 21.1638 11.5809 21.3172 11.7154 21.4106C11.8499 21.5041 12.0216 21.5257 12.1751 21.4686L12.0007 21ZM20.1076 17.9823L20.282 18.4509C20.4778 18.378 20.6076 18.1912 20.6076 17.9823H20.1076ZM20.1076 8.06421H20.6076C20.6076 7.89997 20.527 7.74619 20.3918 7.65284C20.2567 7.55948 20.0843 7.53844 19.9307 7.59655L20.1076 8.06421ZM12.0007 11.1311L11.8238 10.6634C11.6293 10.737 11.5007 10.9232 11.5007 11.1311H12.0007ZM20.2858 8.53191C20.5441 8.43421 20.6743 8.14562 20.5766 7.88734C20.4789 7.62906 20.1903 7.49889 19.932 7.5966L20.2858 8.53191ZM12.002 4.94826L12.1775 4.48008C12.0605 4.43623 11.9314 4.43775 11.8154 4.48436L12.002 4.94826ZM5.87955 6.87106C5.62334 6.97407 5.49915 7.26528 5.60217 7.52149C5.70518 7.77769 5.99639 7.90188 6.2526 7.79887L5.87955 6.87106ZM18.1932 7.80315C18.4518 7.90008 18.74 7.76904 18.8369 7.51047C18.9338 7.2519 18.8028 6.96371 18.5442 6.86678L18.1932 7.80315ZM12 4.94827L11.5879 5.23148C11.6812 5.36719 11.8353 5.44827 12 5.44827C12.1647 5.44827 12.3188 5.36719 12.4121 5.23148L12 4.94827ZM14.0263 2L14.2028 1.53218C13.9875 1.45097 13.7446 1.52717 13.6143 1.71679L14.0263 2ZM21.8421 4.94827L22.2673 5.2113C22.3459 5.08422 22.3636 4.92863 22.3154 4.78717C22.2673 4.64571 22.1584 4.53319 22.0186 4.48045L21.8421 4.94827ZM9.97368 2L10.3857 1.71679C10.2554 1.52717 10.0125 1.45097 9.79721 1.53218L9.97368 2ZM2.15789 4.94827L1.98142 4.48045C1.84161 4.53319 1.73271 4.64571 1.68456 4.78717C1.63641 4.92863 1.65406 5.08422 1.73267 5.2113L2.15789 4.94827ZM12 11.1256L11.6702 11.5014C11.8589 11.667 12.1411 11.667 12.3298 11.5014L12 11.1256ZM15.0395 8.45812L14.8732 7.98659C14.8131 8.00779 14.7576 8.04028 14.7097 8.08232L15.0395 8.45812ZM23 5.65024L23.3288 6.0269C23.5095 5.86916 23.5527 5.60532 23.4318 5.39817C23.3109 5.19102 23.0599 5.09893 22.8337 5.17871L23 5.65024ZM8.96053 8.45812L9.29034 8.08232C9.24244 8.04028 9.18695 8.00779 9.12685 7.98659L8.96053 8.45812ZM1 5.65024L1.16632 5.17871C0.940115 5.09893 0.689119 5.19102 0.568192 5.39817C0.447264 5.60532 0.49048 5.86916 0.671176 6.0269L1 5.65024ZM12.1764 20.5314L4.06945 17.5137L3.72059 18.4509L11.8275 21.4686L12.1764 20.5314ZM4.39502 17.9823V8.06421H3.39502V17.9823H4.39502ZM3.71811 8.53187L11.8251 11.5987L12.1789 10.6634L4.07193 7.59655L3.71811 8.53187ZM11.502 11.1311V21H12.502V11.1311H11.502ZM12.1751 21.4686L20.282 18.4509L19.9332 17.5137L11.8262 20.5314L12.1751 21.4686ZM20.6076 17.9823V8.06421H19.6076V17.9823H20.6076ZM19.9307 7.59655L11.8238 10.6634L12.1776 11.5987L20.2845 8.53187L19.9307 7.59655ZM11.5007 11.1311V21H12.5007V11.1311H11.5007ZM19.932 7.5966L11.8251 10.6634L12.1789 11.5987L20.2858 8.53191L19.932 7.5966ZM11.8154 4.48436L5.87955 6.87106L6.2526 7.79887L12.1885 5.41217L11.8154 4.48436ZM11.8265 5.41645L18.1932 7.80315L18.5442 6.86678L12.1775 4.48008L11.8265 5.41645ZM11.502 4.94826V11.1311H12.502V4.94826H11.502ZM12.4121 5.23148L14.4384 2.28321L13.6143 1.71679L11.5879 4.66507L12.4121 5.23148ZM13.8498 2.46782L21.6656 5.4161L22.0186 4.48045L14.2028 1.53218L13.8498 2.46782ZM21.4169 4.68525L20.5485 6.08919L21.3989 6.61524L22.2673 5.2113L21.4169 4.68525ZM12.4121 4.66507L10.3857 1.71679L9.56162 2.28321L11.5879 5.23148L12.4121 4.66507ZM9.79721 1.53218L1.98142 4.48045L2.33437 5.4161L10.1502 2.46782L9.79721 1.53218ZM1.73267 5.2113L2.60109 6.61524L3.45154 6.08919L2.58312 4.68525L1.73267 5.2113ZM12.3298 11.5014L15.3693 8.83392L14.7097 8.08232L11.6702 10.7498L12.3298 11.5014ZM15.2058 8.92965L23.1663 6.12177L22.8337 5.17871L14.8732 7.98659L15.2058 8.92965ZM22.6712 5.27358L19.7764 7.80067L20.4341 8.554L23.3288 6.0269L22.6712 5.27358ZM12.3298 10.7498L9.29034 8.08232L8.63072 8.83392L11.6702 11.5014L12.3298 10.7498ZM9.12685 7.98659L1.16632 5.17871L0.83368 6.12177L8.79421 8.92965L9.12685 7.98659ZM0.671176 6.0269L3.56591 8.554L4.22356 7.80067L1.32882 5.27358L0.671176 6.0269Z\", fill: \"currentColor\" }));\nexport default SvgEmptyBox;\n","import * as React from \"react\";\nconst SvgGiftCard = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M22 12.8571V6.75774C22 6.33761 21.5848 6 21.0884 6H2.91155C2.40614 6 2 6.34511 2 6.75774V12.8571M22 12.8571H2M22 12.8571V17.0049C22 17.5468 21.5939 18 21.0884 18H2.91155C2.41516 18 2 17.5567 2 17.0049V12.8571M5.18182 16.0886L8.64545 12.8229M8.64545 12.8229L12.1087 16.0886M8.64545 12.8229C8.64545 12.8229 8.09964 10.4743 7.56328 9.96857C7.02692 9.46286 6.15419 9.46286 5.61783 9.96857C5.08146 10.4743 5.08146 11.2971 5.61783 11.8029C6.15419 12.3086 8.64545 12.8229 8.64545 12.8229ZM8.64545 12.8229C8.64545 12.8229 11.1542 12.2914 11.6905 11.7857C12.2269 11.28 12.2269 10.4571 11.6905 9.95141C11.1542 9.4457 10.2814 9.4457 9.74507 9.95141C9.2087 10.4571 8.64545 12.8229 8.64545 12.8229ZM8.64506 17.2886V6.70286\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\" }));\nexport default SvgGiftCard;\n","import * as React from \"react\";\nconst SvgOrderSuccess = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_4797_15077)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M10.15 20.85L1.5 17.53V6.63L10.15 10V20.85Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M1.5 6.63001L10.15 3.20001L18.8 6.63001L10.15 10L1.5 6.63001Z\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.17969 4.77002L14.8297 8.15002V11.47\", stroke: \"currentColor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M18.7896 12.64V6.63L10.1396 10V20.85L14.8296 19.05\", stroke: \"currentColor\", strokeLinejoin: \"round\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { className: \"success-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M15.71 17.26C15.71 15.38 17.23 13.86 19.11 13.86C20.99 13.86 22.51 15.38 22.51 17.26C22.51 19.14 20.99 20.66 19.11 20.66C17.23 20.66 15.71 19.14 15.71 17.26Z\", stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"path\", { className: \"success-icon\", vectorEffect: \"non-scaling-stroke\", d: \"M17.4805 17.49L18.5605 18.41L20.7205 16.33\", stroke: \"currentColor\", strokeLinecap: \"square\", strokeLinejoin: \"round\", strokeWidth: 1 })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_4797_15077\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 22, height: 18.65, fill: \"white\", transform: \"translate(1 2.70001)\" }))));\nexport default SvgOrderSuccess;\n","import * as React from \"react\";\nconst SvgUser = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.8052 14.4968C10.8552 14.4968 9.9752 14.0268 9.4452 13.2368L9.4152 13.1868L9.3852 13.1268C8.1352 11.2268 7.5352 8.96681 7.6852 6.68681C7.7552 4.42681 9.6052 2.61681 11.8652 2.60681H12.0052C14.2752 2.47681 16.2152 4.21681 16.3452 6.47681C16.3452 6.55681 16.3452 6.62681 16.3452 6.70681C16.4852 8.94681 15.9052 11.1768 14.6852 13.0568L14.6052 13.1768C14.0552 13.9868 13.1352 14.4668 12.1652 14.4768H12.0052C11.9352 14.4768 11.8652 14.4868 11.7952 14.4868L11.8052 14.4968Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M4.3252 21.5469C4.3552 20.4169 4.4752 19.2869 4.6752 18.1769C4.8952 17.1669 6.4752 16.0269 8.9052 15.1569C9.2352 15.0369 9.4852 14.7869 9.5952 14.4569L9.8052 14.0269\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M14.425 14.4069L14.165 14.1569C14.375 14.5969 14.725 14.9569 15.155 15.1869C16.945 15.7969 19.125 16.9569 19.375 18.2069C19.585 19.3069 19.685 20.4269 19.675 21.5369\", stroke: \"currentColor\" }));\nexport default SvgUser;\n","import * as React from \"react\";\nconst SvgWallet = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M19.35 11.64H14.04V14.81H19.35V11.64Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M17.9304 11.64V8.25H15.1504\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\nexport default SvgWallet;\n","import * as React from \"react\";\nconst SvgWarning = (props) => /* @__PURE__ */ React.createElement(\"svg\", { id: \"Icon_Warning_Base\", width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"g\", { clipPath: \"url(#clip0_841_1324)\" }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.9949 2.30237L0.802734 21.6977H23.1977L11.9949 2.30237Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M12.4336 10.5504L12.3373 14.4766H11.6632L11.5669 10.5504V9.51273H12.4336V10.5504ZM11.5883 18.2636V17.2687H12.4229V18.2636H11.5883Z\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\" })), /* @__PURE__ */ React.createElement(\"defs\", null, /* @__PURE__ */ React.createElement(\"clipPath\", { id: \"clip0_841_1324\" }, /* @__PURE__ */ React.createElement(\"rect\", { width: 24, height: 21, fill: \"white\", transform: \"translate(0 1.5)\", strokeWidth: 1 }))));\nexport default SvgWarning;\n","import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","import * as React from \"react\";\nconst SvgWarningWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z\", stroke: \"currentColor\" }));\nexport default SvgWarningWithCircle;\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 { 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\nexport enum FieldEnumList {\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n DATETIME = 'DATETIME',\n DROPDOWN = 'DROPDOWN',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n HIDDEN = 'HIDDEN',\n IMAGE = 'IMAGE',\n MEDIA_IMAGE = 'MEDIA_IMAGE',\n MULTILINE = 'MULTILINE',\n MULTISELECT = 'MULTISELECT',\n PRICE = 'PRICE',\n SELECT = 'SELECT',\n TEXT = 'TEXT',\n TEXTAREA = 'TEXTAREA',\n UNDEFINED = 'UNDEFINED',\n VISUAL = 'VISUAL',\n WEIGHT = 'WEIGHT',\n EMPTY = '',\n}\n\nexport interface FieldsProps {\n className: string;\n fieldType: FieldEnumList;\n id: string;\n code: string;\n name: string;\n defaultValue: string | boolean | number;\n entityType: string;\n required: boolean;\n isUnique: boolean;\n label: string;\n orderNumber: number;\n options?: { is_default?: boolean; label?: string; value?: string }[];\n}\n\nexport interface FormProps {\n fieldsConfig?: FieldsProps[] | [];\n name?: string;\n className?: string;\n children?: any;\n loading?: boolean;\n onSubmit?: (\n event: SubmitEvent,\n isValid: boolean\n ) => Promise<void | null | undefined>;\n}\n\nexport interface useFormProps\n extends Omit<FormProps, 'children' | 'className' | 'name'> {}\n\nexport type FormValues = Record<string, string | number | boolean | undefined>;\n\nexport interface FormInputsProps {\n className?: string;\n errors?: Record<string, string>;\n values?: FormValues;\n fields?: FieldsProps[];\n loading?: boolean;\n onChange?: (event: Event) => void;\n onBlur?: (event: Event) => void;\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, OrdersReturnPropsModel } from '../data/models';\nimport { SlotProps } from '@adobe-commerce/elsie/lib';\nimport { UserInputErrorProps } from '@/order/types';\n\nexport enum StatusEnumProps {\n PENDING = 'pending',\n SHIPPING = 'shipping',\n COMPLETE = 'complete',\n PROCESSING = 'processing',\n HOLD = 'on hold',\n CANCELED = 'Canceled',\n SUSPECTED_FRAUD = 'suspected fraud',\n PAYMENT_REVIEW = 'payment review',\n}\n\ntype DefaultSlotContext = {\n orderData?: OrderDataModel;\n};\n\nexport interface OrderStatusProps {\n className?: string;\n orderData?: OrderDataModel;\n statusTitle?: string;\n status?: StatusEnumProps;\n slots?: {\n OrderActions: SlotProps<DefaultSlotContext>;\n };\n routeCreateReturn?: (orderReturn: OrdersReturnPropsModel) => string;\n routeOnSuccess?: () => string;\n onError?: (errorInformation: UserInputErrorProps[] | string) => void;\n}\n\nexport interface OrderStatusContentProps\n extends Omit<OrderStatusProps, 'statusTitle' | 'orderData' | 'status'> {\n title?: string;\n status?: StatusEnumProps;\n orderData?: OrderDataModel;\n}\n\nexport interface OrderActionsProps {\n className?: string;\n orderData?: OrderDataModel;\n slots?: {\n OrderActions: SlotProps<DefaultSlotContext>;\n };\n routeCreateReturn?: (orderReturn: OrdersReturnPropsModel) => string;\n routeOnSuccess?: () => string;\n onError?: (errorInformation: UserInputErrorProps[] | string) => void;\n}\n\nexport interface UseOrderStatusProps {\n orderData?: OrderDataModel;\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 getFormValues = (form: HTMLFormElement) => {\n if (!form) return null;\n\n const formData = new FormData(form);\n\n const checkboxes = form.querySelectorAll<HTMLInputElement>(\n 'input[type=\"checkbox\"]'\n );\n checkboxes.forEach((checkbox: HTMLInputElement) => {\n if (!formData.has(checkbox.name)) {\n formData.set(checkbox.name, 'false');\n }\n if (checkbox.checked) {\n formData.set(checkbox.name, 'true');\n }\n });\n\n if (formData && typeof formData.entries === 'function') {\n const entries = formData.entries();\n if (entries && typeof entries[Symbol.iterator] === 'function') {\n return JSON.parse(JSON.stringify(Object.fromEntries(entries))) || {};\n }\n }\n\n return {};\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n// @ts-nocheck\nimport { FieldEnumList } from '@/order/types';\nimport { getFormValues } from './getFormValues';\nconst returnStatus = {\n PENDING: 'pending',\n AUTHORIZED: 'authorized',\n PARTIALLY_AUTHORIZED: 'partiallyAuthorized',\n RECEIVED: 'received',\n PARTIALLY_RECEIVED: 'partiallyReceived',\n APPROVED: 'approved',\n PARTIALLY_APPROVED: 'partiallyApproved',\n REJECTED: 'rejected',\n PARTIALLY_REJECTED: 'partiallyRejected',\n DENIED: 'denied',\n PROCESSED_AND_CLOSED: 'processedAndClosed',\n CLOSED: 'closed',\n} as const;\n\ntype ReturnStatusKey = keyof typeof returnStatus;\ntype ReturnStatusValue = (typeof returnStatus)[ReturnStatusKey];\ntype KeyValueObject = { [key: string]: any };\ntype returnAttributesType = Array<{ attributeCode: string; value: string }>;\ntype normalizeAttributesTypes = {\n selectedCustomAttributes: returnAttributesType;\n enteredCustomAttributes: returnAttributesType;\n};\n\nconst formatTemplate = (el, index) => {\n return {\n id: `${el.id}_${el.fieldType}_${index + 1}`,\n name: `${el.name}_${el.fieldType}_${index + 1}`,\n code: `${el.code}_${el.fieldType}_${index + 1}`,\n customUpperCode: `${el.customUpperCode}_${el.fieldType}_${index + 1}`,\n };\n};\n\nexport const cleanObjectKeys = (obj: KeyValueObject): KeyValueObject => {\n const cleanedObject: KeyValueObject = {};\n\n if (!obj || typeof obj !== 'object' || Object.keys(obj).length === 0) {\n return cleanedObject;\n }\n\n Object.keys(obj).forEach((key) => {\n const match = /_(\\d+)$/.exec(key);\n\n if (match) {\n const newKey = key?.replace(/_\\d+$/, '');\n cleanedObject[newKey] = obj[key];\n } else {\n cleanedObject[key] = obj[key];\n }\n });\n\n return cleanedObject;\n};\n\nexport const modifyFieldsConfig = (fieldsConfig, index: number) =>\n fieldsConfig.map((el) => ({\n ...el,\n ...formatTemplate(el, index),\n }));\n\nexport const replicateEntries = (objects: any[], n: number): any[] =>\n objects?.flatMap((el) =>\n Array.from({ length: n }, (_, index) => ({\n ...el,\n ...formatTemplate(el, index),\n }))\n );\n\nexport const normalizeAttributes = (\n obj: Record<string, string>\n): normalizeAttributesTypes => {\n const selectedCustomAttributes: returnAttributesType = [];\n const enteredCustomAttributes: returnAttributesType = [];\n\n Object.entries(obj).forEach(([key, value]) => {\n const lastUnderscoreIndex = key.lastIndexOf('_');\n const baseKey = key.slice(0, lastUnderscoreIndex);\n const type = key.slice(lastUnderscoreIndex + 1);\n\n type === FieldEnumList.MULTISELECT || type === FieldEnumList.SELECT\n ? selectedCustomAttributes.push({\n attributeCode: baseKey,\n value,\n })\n : enteredCustomAttributes.push({ attributeCode: baseKey, value });\n });\n\n return { selectedCustomAttributes, enteredCustomAttributes };\n};\n\nexport const formatReturnStatus = (str: string): ReturnStatusValue | '' => {\n if (typeof str !== 'string') return '';\n\n return returnStatus[str as ReturnStatusKey] ?? '';\n};\n\nexport const processFormElement = (formsRef) => {\n const items: any[] = [];\n\n if (formsRef?.current.length) {\n for (const { current } of formsRef.current) {\n if (!current) continue;\n\n const orderItemUid = current.name.replace(/_\\d+$/, '');\n const quantity = current?.dataset?.quantity ?? 1;\n const formsData = getFormValues(current as HTMLFormElement);\n const valuesList = cleanObjectKeys(formsData);\n\n items.push({\n orderItemUid,\n quantityToReturn: +quantity,\n ...normalizeAttributes(valuesList),\n });\n }\n }\n\n return items;\n};\n\nexport const sortItemsByCondition = (order) => {\n if (!order?.items?.length) return [];\n\n return [...(order?.items ?? [])].sort((a, b) => {\n const aCondition = a.quantityShipped - a.quantityReturnRequested === 0;\n const bCondition = b.quantityShipped - b.quantityReturnRequested === 0;\n\n if (a.eligibleForReturn && !b.eligibleForReturn) return -1;\n if (!a.eligibleForReturn && b.eligibleForReturn) return 1;\n\n if (aCondition && !bCondition) return 1;\n if (!aCondition && bCondition) return -1;\n return 0;\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\nconst DEFAULT_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n};\n\nconst DATE_TIME_OPTIONS: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n};\n\nconst dateTimeFormatterCache = new Map<string, Intl.DateTimeFormat>();\nconst DATE_TIME_CACHE_MAX_SIZE = 16;\n\nfunction getDateTimeFormatter(locale: string): Intl.DateTimeFormat {\n let formatter = dateTimeFormatterCache.get(locale);\n if (!formatter) {\n if (dateTimeFormatterCache.size >= DATE_TIME_CACHE_MAX_SIZE) {\n const firstKey = dateTimeFormatterCache.keys().next().value;\n if (firstKey !== undefined) dateTimeFormatterCache.delete(firstKey);\n }\n formatter = new Intl.DateTimeFormat(locale, DATE_TIME_OPTIONS);\n dateTimeFormatterCache.set(locale, formatter);\n }\n return formatter;\n}\n\n/** Use as third argument to format as date + time (e.g. \"July 28, 2025, 2:26:04 PM\"). */\nexport const FORMAT_DATETIME = 'datetime' as const;\n\nexport type FormatDateToLocaleOptions =\n | Intl.DateTimeFormatOptions\n | typeof FORMAT_DATETIME;\n\n/**\n * Formats a date or date-time string according to locale and options.\n * Returns \"Invalid Date\" if the input is invalid.\n *\n * @param date - The date string (e.g. ISO 8601 or YYYY-MM-DD).\n * @param locale - The locale for formatting. Defaults to 'en-US'.\n * @param options - Format options: an object (date-only by default, merged with defaults), or FORMAT_DATETIME for long date+time (e.g. \"July 28, 2025, 2:26:04 PM\").\n * @returns The formatted string, or \"Invalid Date\" if invalid.\n *\n * @example\n * // Date only (MM/DD/YYYY)\n * formatDateToLocale('2023-08-29');\n * // => \"08/29/2023\"\n *\n * @example\n * // Date and time (long format, cached per locale)\n * formatDateToLocale('2024-10-10T12:00:00.000Z', 'en-US', FORMAT_DATETIME);\n * // => \"October 10, 2024, 12:00:00 PM\"\n *\n * @example\n * // Custom options\n * formatDateToLocale('2023-08-29', 'de-DE', { month: 'long', year: 'numeric' });\n * // => \"29. August 2023\"\n */\nexport const formatDateToLocale = (\n date: string,\n locale: string = 'en-US',\n options: FormatDateToLocaleOptions = {}\n): string => {\n const dateObj = new Date(date);\n if (isNaN(dateObj.getTime())) {\n return 'Invalid Date';\n }\n\n if (options === FORMAT_DATETIME) {\n return getDateTimeFormatter(locale).format(dateObj);\n }\n\n const formatOptions: Intl.DateTimeFormatOptions = {\n ...DEFAULT_DATE_OPTIONS,\n ...options,\n };\n return new Intl.DateTimeFormat(locale, formatOptions).format(dateObj);\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 { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport {\n Card,\n Header,\n Icon,\n IconNode,\n IconType,\n Price,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport {\n CustomerDetailsContentProps,\n NormalizeAddressProps,\n} from '@/order/types';\nimport { DetailsSkeleton } from '@/order/components';\nimport { Card as CreditCard, Wallet } from '@adobe-commerce/elsie/icons';\nimport { useMemo } from 'preact/hooks';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/CustomerDetailsContent/CustomerDetailsContent.css';\n\nconst renderAddressData = (\n normalizeAddress: {\n billingAddress: NormalizeAddressProps[][];\n shippingAddress: NormalizeAddressProps[][];\n },\n type: 'shippingAddress' | 'billingAddress'\n) => {\n const getFieldContent = (field: any) => {\n const value = Array.isArray(field.value)\n ? field.value.join(' ')\n : field?.value;\n return field.label ? `${field.label}: ${value}` : value;\n };\n\n return normalizeAddress[type]?.map((field: any, fieldIndex: number) => {\n return <p key={`${field.value}${fieldIndex}`}>{getFieldContent(field)}</p>;\n });\n};\n\nconst extractPaymentMethodsData = (\n paymentMethods: { code: string; name: string }[]\n) => {\n const hasPaymentMethod = paymentMethods && paymentMethods.length > 0;\n const selectedPaymentMethod = hasPaymentMethod ? paymentMethods[0]?.name : '';\n const selectedPaymentMethodCode = hasPaymentMethod\n ? paymentMethods[0]?.code\n : '';\n const hasToDisplayPaymentMethod =\n hasPaymentMethod && selectedPaymentMethod !== '';\n return {\n selectedPaymentMethod,\n selectedPaymentMethodCode,\n hasToDisplayPaymentMethod,\n };\n};\n\nexport const CustomerDetailsContent: FunctionComponent<\n CustomerDetailsContentProps\n> = ({\n loading,\n order,\n withHeader = true,\n title,\n paymentIconsMap = {},\n normalizeAddress,\n translations,\n slots,\n}) => {\n const isReturnPage = !!order?.returnNumber;\n const isVirtual = !!order?.isVirtual;\n const orderReturn = order?.returns?.[0];\n\n const iconsList: Record<string, IconType | IconNode> = useMemo(\n () => ({\n checkmo: Wallet,\n card: CreditCard,\n ...paymentIconsMap,\n }),\n [paymentIconsMap]\n );\n\n if (!order || loading) return <DetailsSkeleton />;\n\n const emailAddress = order?.email ?? '';\n const shippingMethod = order?.shipping?.code;\n const shippingCost = order?.shipping?.amount;\n const shippingCurrency = order?.shipping?.currency;\n const paymentMethods = order?.payments;\n const {\n selectedPaymentMethod,\n selectedPaymentMethodCode,\n hasToDisplayPaymentMethod,\n } = extractPaymentMethodsData(paymentMethods);\n const paymentMethodIconSource = iconsList[selectedPaymentMethodCode];\n const shippingAddress =\n renderAddressData(normalizeAddress, 'shippingAddress') ?? [];\n const billingAddress =\n renderAddressData(normalizeAddress, 'billingAddress') ?? [];\n\n const contactDetails = (\n <div className=\"order-customer-details-content__container-email\">\n <div className={'order-customer-details-content__container-title'}>\n {translations?.emailTitle}\n </div>\n <p>{emailAddress}</p>\n </div>\n );\n\n const returnDetails = isReturnPage ? (\n <div\n className=\"order-customer-details-content__container-return-information\"\n data-testid=\"returnDetailsBlock\"\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations?.returnInformationTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n <Slot\n data-testid=\"OrderReturnInformation\"\n name=\"OrderReturnInformation\"\n slot={slots?.OrderReturnInformation}\n context={orderReturn}\n >\n <>\n <p>\n {translations.createdReturnAt}\n <span>{formatDateToLocale(orderReturn?.createdReturnAt!)}</span>\n </p>\n <p>\n {translations.returnStatusLabel}\n <Text\n id={`Order.CustomerDetails.returnStatus.${formatReturnStatus(\n orderReturn?.returnStatus!\n )}`}\n />\n </p>\n <p>\n {translations.orderNumberLabel}\n <span>{orderReturn?.orderNumber}</span>\n </p>\n </>\n </Slot>\n </div>\n </div>\n ) : null;\n\n const shippingAddressDetails =\n !isVirtual && shippingAddress.length ? (\n <div className=\"order-customer-details-content__container-shipping_address\">\n <div className={'order-customer-details-content__container-title'}>\n {translations.shippingAddressTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n {shippingAddress}\n </div>\n </div>\n ) : null;\n\n const billingAddressDetails = billingAddress.length ? (\n <div\n className={classes([\n 'order-customer-details-content__container-billing_address',\n [\n 'order-customer-details-content__container-billing_address--fullwidth',\n !shippingAddress.length || isVirtual,\n ],\n ])}\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations.billingAddressTitle}\n </div>\n <div className=\"order-customer-details-content__container-description\">\n {billingAddress}\n </div>\n </div>\n ) : null;\n\n const paymentMethodDetails = hasToDisplayPaymentMethod ? (\n <div\n className={classes([\n 'order-customer-details-content__container-payment_methods',\n [\n 'order-customer-details-content__container-payment_methods--fullwidth',\n !shippingMethod,\n ],\n ])}\n >\n <div className={'order-customer-details-content__container-title'}>\n {translations?.paymentMethodsTitle}\n </div>\n <p\n data-testid=\"payment_methods_description\"\n className={classes([\n [\n 'order-customer-details-content__container-payment_methods--icon',\n !!paymentMethodIconSource,\n ],\n ])}\n >\n <Slot\n data-testid=\"PaymentMethodIcon\"\n name=\"PaymentMethodIcon\"\n slot={slots?.PaymentMethodIcon}\n context={{ selectedPaymentMethodCode }}\n >\n {paymentMethodIconSource ? (\n <Icon source={paymentMethodIconSource} />\n ) : null}\n </Slot>\n {selectedPaymentMethod}\n </p>\n </div>\n ) : null;\n\n const shippingMethodDetails = shippingMethod ? (\n <div className=\"order-customer-details-content__container-shipping_methods\">\n <div className={'order-customer-details-content__container-title'}>\n {translations?.shippingMethodsTitle}\n </div>\n {shippingCost ? (\n <p data-testid=\"shipping_methods_price\">\n <Price amount={shippingCost} currency={shippingCurrency} />{' '}\n {shippingMethod}\n </p>\n ) : (\n <p data-testid=\"shipping_methods_placeholder\">\n {translations?.freeShipping}\n </p>\n )}\n </div>\n ) : null;\n\n const pageSpecificDetails = isReturnPage ? (\n returnDetails\n ) : (\n <>\n {billingAddressDetails}\n {shippingMethodDetails}\n {paymentMethodDetails}\n </>\n );\n\n return (\n <Card\n data-testid=\"order-details\"\n variant={'secondary'}\n className={classes(['order-customer-details-content'])}\n >\n {withHeader ? <Header title={title ?? translations?.headerText} /> : null}\n\n <div\n className={classes([\n 'order-customer-details-content__container',\n [\n 'order-customer-details-content__container--no-margin',\n shippingAddress.length || billingAddress.length,\n ],\n ])}\n >\n {contactDetails}\n {shippingAddressDetails}\n {pageSpecificDetails}\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, VNode } from 'preact';\nimport { HTMLAttributes, useMemo } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { Icon, IllustratedMessage } from '@adobe-commerce/elsie/components';\nimport { EmptyBox } from '@adobe-commerce/elsie/icons';\nimport { EmptyListProps } from '@/order/types';\nimport '@/order/components/EmptyList/EmptyList.css';\n\nexport const EmptyList: FunctionComponent<EmptyListProps> = ({\n typeList,\n isEmpty,\n minifiedView,\n message,\n}) => {\n const config = useMemo(() => {\n switch (typeList) {\n case 'orders':\n return {\n icon: EmptyBox,\n text: <p>{message}</p>,\n className: 'order-empty-list--empty-box',\n };\n default:\n return { icon: '', text: '', className:\"\" };\n }\n }, [typeList, message]);\n\n if (!isEmpty || !typeList || !config.text) return null;\n\n return (\n <IllustratedMessage\n className={classes([\n 'order-empty-list',\n config.className,\n minifiedView ? 'order-empty-list--minified' : '',\n ])}\n message={config.text as VNode<HTMLAttributes<HTMLElement>>}\n icon={<Icon source={config.icon} />}\n data-testid=\"emptyList\"\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 { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { FieldsProps, FormValues, useFormProps } from '@/order/types';\n\nconst initializeFormData = (\n fieldsConfig: Array<{\n code: string;\n required: boolean;\n defaultValue: unknown;\n }>\n): Record<string, unknown> => {\n return fieldsConfig.reduce(\n (obj: Record<string, unknown>, { code, required, defaultValue }) => {\n if (required) obj[code] = defaultValue;\n return obj;\n },\n {}\n );\n};\n\nexport const useForm = ({ fieldsConfig, onSubmit }: useFormProps) => {\n const { requiredFieldError } = useText({\n requiredFieldError: 'Order.Form.notifications.requiredFieldError',\n });\n\n const formRef = useRef<HTMLFormElement>(null);\n const [formData, setFormData] = useState<FormValues>({});\n const [errors, setErrors] = useState<Record<string, string>>({});\n\n useEffect(() => {\n setFormData({});\n if (!fieldsConfig || !fieldsConfig.length) return;\n\n const initialData = initializeFormData(fieldsConfig);\n setFormData(initialData as FormValues);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldsConfig?.length]);\n\n useEffect(() => {\n return () => {\n setFormData({});\n // eslint-disable-next-line\n formRef.current?.reset();\n };\n }, []);\n\n const getRequiredFieldError = useCallback(\n (name: string, value: any) => {\n const error = (fieldsConfig as FieldsProps[]).find(\n (el) => el.code === name\n );\n\n const renderErrorMessage =\n error?.required && !value ? requiredFieldError : '';\n\n return renderErrorMessage;\n },\n [fieldsConfig, requiredFieldError]\n );\n\n const handleChange = useCallback((event: Event) => {\n const { name, value, type, checked } = event?.target as HTMLInputElement;\n const fieldValue = type === 'checkbox' ? checked : value;\n\n setFormData((prev) => ({ ...prev, [name]: fieldValue }));\n }, []);\n\n const handleBlur = useCallback(\n (event: Event) => {\n const { name, value, type, checked } = event?.target as HTMLInputElement;\n const fieldValue = type === 'checkbox' ? checked : value;\n\n setErrors((prevErrors) => ({\n ...prevErrors,\n [name]: getRequiredFieldError(name, fieldValue),\n }));\n },\n [getRequiredFieldError]\n );\n\n const handleSubmit = useCallback(\n (event: SubmitEvent) => {\n event.preventDefault();\n\n let formValid = true;\n let newErrors: Record<string, string> = {};\n let firstErrorField: string | null = null;\n\n for (const [name, value] of Object.entries(formData)) {\n const error = getRequiredFieldError(name, value);\n if (error) {\n newErrors[name] = error;\n formValid = false;\n if (!firstErrorField) {\n firstErrorField = name;\n }\n }\n }\n\n setErrors(newErrors);\n\n if (firstErrorField && formRef.current) {\n const input = formRef.current.elements.namedItem(\n firstErrorField\n ) as HTMLElement;\n input?.focus();\n }\n\n onSubmit?.(event, formValid);\n },\n [formData, getRequiredFieldError, onSubmit]\n );\n\n return {\n formData,\n errors,\n formRef,\n handleChange,\n handleBlur,\n handleSubmit,\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 { classes } from '@adobe-commerce/elsie/lib';\nimport { memo, useCallback } from 'preact/compat';\nimport { User } from '@adobe-commerce/elsie/icons';\nimport {\n Field,\n Input,\n Picker,\n Checkbox,\n InputDate,\n TextArea,\n} from '@adobe-commerce/elsie/components';\nimport { FieldsProps, FormInputsProps } from '@/order/types';\n\nexport const FormInputs: FunctionComponent<FormInputsProps> = memo(\n ({\n loading,\n values,\n fields = [],\n errors,\n className = '',\n onChange,\n onBlur,\n }) => {\n const itemClassName = `${className}__item`;\n\n const selectElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n const pickerOptions = item.options.map((option: any) => {\n return { text: option.label, value: option.value };\n });\n\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Picker\n name={item.id}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n placeholder={item.label!}\n aria-label={item.label!}\n options={pickerOptions}\n onBlur={onBlur}\n handleSelect={onChange}\n value={valueMessage || item.defaultValue}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n const isEmail = item.id === 'email';\n const icon = isEmail ? <User /> : undefined;\n const autoComplete = isEmail ? 'username' : '';\n\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item?.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Input\n aria-label={item.label}\n aria-required={item.required}\n autoComplete={autoComplete}\n icon={icon}\n type=\"text\"\n name={item.id}\n value={valueMessage || item.defaultValue}\n placeholder={item.label}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputDateElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <InputDate\n type=\"text\"\n name={item.id}\n value={valueMessage || item.defaultValue}\n placeholder={item.label}\n floatingLabel={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const inputCheckBoxElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <Checkbox\n name={item.id}\n checked={valueMessage || item.defaultValue}\n placeholder={item.label}\n label={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n const textAreaElement = useCallback(\n (item: any, valueMessage: string, errorMessage: string) => {\n return (\n <Field\n key={item.id}\n error={errorMessage}\n className={classes([\n itemClassName,\n `${itemClassName}--${item.id}`,\n [`${itemClassName}--${item.id}-hidden`, item.is_hidden],\n item.className,\n ])}\n data-testid={`${className}--${item.id}`}\n disabled={loading}\n >\n <TextArea\n type=\"text\"\n name={item.id}\n value={\n valueMessage === undefined ? item.defaultValue : valueMessage\n }\n label={`${item.label} ${item.required ? '*' : ''}`}\n onBlur={onBlur}\n onChange={onChange}\n />\n </Field>\n );\n },\n [className, loading, itemClassName, onBlur, onChange]\n );\n\n if (!fields.length) return null;\n\n return (\n <>\n {fields.map((item: FieldsProps) => {\n const errorMessage = (errors?.[item.id] as string) ?? '';\n const valueMessage = (values?.[item.id] as string) ?? '';\n\n switch (item.fieldType) {\n case 'TEXT': {\n if (item?.options?.length) {\n return selectElement(item, valueMessage, errorMessage);\n }\n\n return inputElement(item, valueMessage, errorMessage);\n }\n\n case 'MULTILINE': {\n return inputElement(item, valueMessage, errorMessage);\n }\n\n case 'SELECT': {\n return selectElement(item, valueMessage, errorMessage);\n }\n\n case 'DATE': {\n return inputDateElement(item, valueMessage, errorMessage);\n }\n\n case 'BOOLEAN': {\n return inputCheckBoxElement(item, valueMessage, errorMessage);\n }\n\n case 'TEXTAREA': {\n return textAreaElement(item, valueMessage, errorMessage);\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n }\n);\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { useForm } from '@/order/hooks/components/useForm';\nimport { FormProps } from '@/order/types';\nimport FormInputs from './FormInputs';\nimport { memo } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\n\nexport const Form: FunctionComponent<FormProps> = memo(\n ({\n name,\n loading,\n children,\n className = 'defaultForm',\n fieldsConfig,\n onSubmit,\n }) => {\n const {\n formData,\n errors,\n formRef,\n handleChange,\n handleBlur,\n handleSubmit,\n } = useForm({\n fieldsConfig,\n onSubmit,\n });\n\n return (\n <form\n className={classes(['order-form', className])}\n onSubmit={handleSubmit}\n name={name}\n ref={formRef}\n >\n <FormInputs\n className={className}\n loading={loading}\n fields={fieldsConfig}\n onChange={handleChange}\n onBlur={handleBlur}\n errors={errors}\n values={formData}\n />\n {children}\n </form>\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 { 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 { getStoreConfig } from '@/order/api';\nimport { useEffect, useState } from 'preact/hooks';\nimport { StoreConfigModel } from '../../data/models';\n\nexport const useGetStoreConfig = () => {\n const [config, setConfig] = useState<StoreConfigModel | null>(null);\n\n useEffect(() => {\n const storeConfigPromiseKey = 'orderStoreConfigPromise';\n\n const storeConfigString = sessionStorage.getItem('orderStoreConfig');\n\n if (storeConfigString) {\n // If the data is already cached in sessionStorage, use it\n const cachedStoreConfig: StoreConfigModel = JSON.parse(storeConfigString);\n setConfig(cachedStoreConfig);\n } else {\n // This part required to get rid of TS errors\n const windowWithPromise = window as typeof window & {\n [key: string]: Promise<StoreConfigModel | null> | undefined;\n };\n\n // Check if there's already a global promise for fetching store config\n if (!windowWithPromise[storeConfigPromiseKey]) {\n // If not, create one and store it in the global window object\n windowWithPromise[storeConfigPromiseKey] = getStoreConfig().then(\n (response) => {\n if (response) {\n sessionStorage.setItem(\n 'orderStoreConfig',\n JSON.stringify(response)\n );\n }\n return response;\n }\n );\n }\n\n // Use the promise from the global window object\n windowWithPromise[storeConfigPromiseKey]?.then((response) => {\n if (response) {\n setConfig(response);\n }\n });\n }\n }, []);\n\n return config;\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 getQueryParam = (param: string, href?: string): string => {\n try {\n const currentUrl = new URL(href ?? window.location.href);\n const paramValue = currentUrl.searchParams.get(param);\n\n return paramValue ?? '';\n } catch (error) {\n return '';\n }\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n getAttributesList,\n requestGuestReturn,\n requestReturn,\n} from '@/order/api';\nimport {\n AttributesFormModel,\n OrderDataModel,\n OrderItemModel,\n} from '@/order/data/models';\nimport { StepsTypes, UseCreateReturn } from '@/order/types';\nimport { useState, useCallback, useEffect, useRef } from 'preact/hooks';\nimport { createRef, RefObject } from 'preact';\nimport {\n processFormElement,\n sortItemsByCondition,\n} from '@/order/lib/returnOrdersHelper';\nimport { events } from '@adobe-commerce/event-bus';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useCreateReturn = ({\n onSuccess,\n onError,\n handleSetInLineAlert,\n orderData,\n}: UseCreateReturn) => {\n const [isGuestCreateReturn, setIsGuestCreateReturn] = useState(false);\n const [order, setOrder] = useState({ id: '', email: '', ...orderData });\n const [steps, setSteps] = useState<StepsTypes>('products');\n const [loading, setLoading] = useState(true);\n const [selectedProductList, setSelectedProductList] = useState<\n OrderItemModel[] | []\n >([]);\n const [attributesList, setAttributesList] = useState<\n AttributesFormModel[] | []\n >([]);\n const [itemsEligibleForReturn, setItemsEligibleForReturn] = useState<\n OrderItemModel[]\n >([]);\n\n const formsRef = useRef<RefObject<HTMLFormElement>[]>([]);\n\n if (formsRef.current.length !== selectedProductList.length) {\n formsRef.current = selectedProductList.map(\n (_, i) => formsRef.current[i] || createRef<HTMLFormElement>()\n );\n }\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n const sortedReturnItems = sortItemsByCondition(order);\n setItemsEligibleForReturn(sortedReturnItems);\n setIsGuestCreateReturn(getQueryParam('orderRef')?.length > 20);\n setLoading(false);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n getAttributesList('RMA_ITEM').then((response) => {\n if (!response?.length) return;\n\n setAttributesList(response);\n setLoading(false);\n });\n }, []);\n\n const handleSelectedProductList = useCallback((orderItem: OrderItemModel) => {\n setSelectedProductList((currentList) => {\n const index = currentList.findIndex(\n (item) => item?.productSku === orderItem?.productSku\n );\n\n if (index > -1) {\n return currentList.filter(\n (item) => item?.productSku !== orderItem?.productSku\n );\n }\n\n return [...currentList, orderItem];\n });\n }, []);\n\n const handleChangeStep = useCallback(\n (value: StepsTypes) => {\n setSteps(value);\n handleSetInLineAlert();\n if (value === 'products') {\n setSelectedProductList([]);\n }\n },\n [handleSetInLineAlert]\n );\n\n const handleSetQuantity = useCallback(\n (value: number, productSku: string) => {\n const result = selectedProductList.map((el) =>\n el.productSku === productSku\n ? { ...el, currentReturnOrderQuantity: value }\n : el\n );\n setSelectedProductList(result);\n },\n [selectedProductList]\n );\n\n const onSubmit = useCallback(\n async (\n _: SubmitEvent,\n isValid: boolean\n ): Promise<void | null | undefined> => {\n if (!isValid) return;\n\n setLoading(true);\n const orderReturnInfo = {\n orderUid: order.id,\n contactEmail: order.email,\n };\n const items = processFormElement(formsRef);\n\n if (!isGuestCreateReturn) {\n requestReturn({ ...orderReturnInfo, items })\n .then((response) => {\n onSuccess?.(response);\n handleChangeStep('success');\n handleSetInLineAlert();\n })\n .catch((error) => {\n onError?.(error.message);\n handleSetInLineAlert({ type: 'error', heading: error.message });\n });\n } else {\n requestGuestReturn({\n token: getQueryParam('orderRef'),\n contactEmail: orderReturnInfo.contactEmail,\n items,\n commentText: '.',\n })\n .then((response) => {\n onSuccess?.(response);\n handleChangeStep('success');\n handleSetInLineAlert();\n })\n .catch((error) => {\n onError?.(error.message);\n handleSetInLineAlert({ type: 'error', heading: error.message });\n });\n }\n\n setLoading(false);\n },\n [\n handleChangeStep,\n onError,\n onSuccess,\n handleSetInLineAlert,\n order,\n isGuestCreateReturn,\n ]\n );\n\n return {\n order,\n steps,\n loading,\n formsRef,\n attributesList,\n selectedProductList,\n itemsEligibleForReturn,\n handleSelectedProductList,\n handleSetQuantity,\n handleChangeStep,\n onSubmit,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const defaultAttributePreset = [\n 'firstname',\n 'lastname',\n 'city',\n 'company',\n 'country_code',\n 'region',\n 'region_code',\n 'region_id',\n 'telephone',\n 'id',\n 'vat_id',\n 'postcode',\n 'street',\n 'street_2',\n 'default_shipping',\n 'default_billing',\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 { getAttributesForm } from '@/order/api';\nimport { defaultAttributePreset } from '@/order/configs/defaultAttributePreset.config';\nimport { OrderDataModel } from '@/order/data/models';\nimport { convertToCamelCase } from '@/order/lib/convertCase';\nimport {\n KeysSortOrderProps,\n NormalizeAddressProps,\n UseCustomerDetails,\n} from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect, useMemo, useCallback } from 'preact/hooks';\n\nexport const useCustomerDetails = ({ orderData }: UseCustomerDetails) => {\n const [loading, setLoading] = useState<boolean>(true);\n const [order, setOrder] = useState(orderData);\n const [keysSortOrder, setKeysSortOrder] = useState<KeysSortOrderProps[] | []>(\n []\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n getAttributesForm('shortRequest')\n .then((attributesFormResponse) => {\n if (attributesFormResponse) {\n const result: KeysSortOrderProps[] = attributesFormResponse.map(\n ({ name, orderNumber, label }) => ({\n name: convertToCamelCase(name as string),\n orderNumber,\n label: !defaultAttributePreset.includes(name as string)\n ? label\n : null,\n })\n );\n\n setKeysSortOrder(result);\n }\n })\n .finally(() => {\n setLoading(false);\n });\n }, []);\n\n const getNormalizeAddress = useCallback(\n (\n type: 'billingAddress' | 'shippingAddress'\n ): NormalizeAddressProps[] | [] => {\n if (!keysSortOrder.length || !order || !order[type]) return [];\n\n const address: Record<string, unknown> = order[type]\n ? Object.fromEntries(\n Object.entries(order[type] as Record<string, unknown>).map(\n ([key, value]) => [key.toLowerCase(), value]\n )\n )\n : {};\n\n // @ts-ignore\n return keysSortOrder\n .filter(({ name }) => address[name.toLowerCase()])\n .map((item) => {\n return {\n name: item.name,\n orderNumber: item.orderNumber,\n value: address[item.name.toLowerCase()],\n label: item.label,\n };\n });\n },\n [keysSortOrder, order]\n );\n\n const normalizeAddress = useMemo(\n () => ({\n billingAddress: getNormalizeAddress('billingAddress'),\n shippingAddress: getNormalizeAddress('shippingAddress'),\n }),\n [getNormalizeAddress]\n );\n\n return { order, normalizeAddress, loading };\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 { TaxTypes } from '../types';\n\nexport const setTaxStatus = (displayPrice: number): TaxTypes => {\n let taxIncluded = false;\n let taxExcluded = false;\n\n switch (displayPrice) {\n case 1:\n taxExcluded = true;\n break;\n case 2:\n taxIncluded = true;\n break;\n case 3:\n taxIncluded = true;\n taxExcluded = true;\n break;\n default:\n taxIncluded = false;\n taxExcluded = false;\n }\n\n return { taxIncluded, taxExcluded };\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 { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { StoreConfigProps, UseOrderCostSummaryProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useOrderCostSummary = ({\n orderData,\n config,\n}: UseOrderCostSummaryProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n const [storeConfig, setStoreConfig] = useState<StoreConfigProps | null>(null);\n\n useEffect(() => {\n if (config) {\n const {\n shoppingOrderDisplayPrice,\n shoppingOrdersDisplayShipping,\n shoppingOrdersDisplaySubtotal,\n ...props\n } = config;\n\n setStoreConfig((prev) => ({\n ...prev,\n ...props,\n shoppingOrderDisplayPrice: setTaxStatus(shoppingOrderDisplayPrice),\n shoppingOrdersDisplayShipping: setTaxStatus(\n shoppingOrdersDisplayShipping\n ),\n shoppingOrdersDisplaySubtotal: setTaxStatus(\n shoppingOrdersDisplaySubtotal\n ),\n salesPrintedCard: setTaxStatus(config.salesPrintedCard),\n salesGiftWrapping: setTaxStatus(config.salesGiftWrapping),\n }));\n setLoading(false);\n }\n }, [config]);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { loading, storeConfig, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { transformCustomerAddressInput } from '@/order/data/transforms/transform-customer-address-input';\nimport { SignUpContext, UseOrderHeaderProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderHeader = ({\n orderData,\n handleEmailAvailability,\n handleSignUpClick,\n}: UseOrderHeaderProps) => {\n const [order, setOrder] = useState(orderData);\n const [isAuthenticated, setIsAuthenticated] = useState<boolean | undefined>();\n const [isEmailAvailable, setIsEmailAvailable] = useState<boolean | undefined>(\n handleEmailAvailability ? undefined : true\n );\n\n const customerEmail = order?.email;\n\n const canCreateNewAccount =\n handleSignUpClick &&\n order !== undefined &&\n isAuthenticated === false &&\n isEmailAvailable === true;\n\n const onSignUpClickHandler = canCreateNewAccount\n ? () => {\n const shippingAddress = order.shippingAddress;\n const billingAddress = order.billingAddress;\n\n const inputsDefaultValueSet: SignUpContext['inputsDefaultValueSet'] = [\n { code: 'email', defaultValue: order.email },\n { code: 'firstname', defaultValue: billingAddress?.firstName ?? '' },\n { code: 'lastname', defaultValue: billingAddress?.lastName ?? '' },\n ];\n\n let addressesData: SignUpContext['addressesData'] = [];\n\n if (shippingAddress) {\n const customerShippingAddress = {\n ...transformCustomerAddressInput(shippingAddress),\n default_shipping: true,\n };\n const customerBillingAddress = {\n ...transformCustomerAddressInput(billingAddress),\n default_billing: true,\n };\n addressesData = [customerBillingAddress, customerShippingAddress];\n } else {\n const customerAddress = {\n ...transformCustomerAddressInput(billingAddress),\n default_billing: true,\n default_shipping: true,\n };\n addressesData = [customerAddress];\n }\n\n handleSignUpClick({ inputsDefaultValueSet, addressesData });\n }\n : undefined;\n\n useEffect(() => {\n const event = events.on(\n 'authenticated',\n (authenticated) => {\n setIsAuthenticated(authenticated);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n useEffect(() => {\n if (!handleEmailAvailability) return;\n if (isAuthenticated === undefined) return;\n if (isAuthenticated || !customerEmail) return;\n\n handleEmailAvailability(customerEmail)\n .then((result) => setIsEmailAvailable(result))\n .catch(() => setIsEmailAvailable(true));\n }, [isAuthenticated, handleEmailAvailability, customerEmail]);\n\n return { order, onSignUpClickHandler };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2026 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 { UseOrderCommentsProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderComments = ({ orderData }: UseOrderCommentsProps) => {\n const [order, setOrder] = useState<OrderDataModel | null | undefined>(\n orderData ?? null\n );\n const [comments, setComments] = useState(orderData?.comments ?? []);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (orderPayload: OrderDataModel) => {\n setOrder(orderPayload);\n setComments(orderPayload?.comments ?? []);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { comments, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { UseOrderProductListProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderProductList = ({\n orderData,\n}: UseOrderProductListProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setLoading(false);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { loading, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks';\nimport {\n FieldEnumList,\n inLineAlertProps,\n useOrderSearchProps,\n} from '@/order/types';\nimport { getFormValues } from '@/order/lib/getFormValues';\nimport { getCustomer, getGuestOrder } from '@/order/api';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useOrderSearch = ({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n}: useOrderSearchProps) => {\n const [inLineAlert, setInLineAlert] = useState<inLineAlertProps>({\n text: '',\n type: 'success',\n });\n const [loading, setLoading] = useState(false);\n\n const translations = useText({\n invalidSearch: 'Order.Errors.invalidSearch',\n email: 'Order.OrderSearchForm.email',\n lastname: 'Order.OrderSearchForm.lastname',\n number: 'Order.OrderSearchForm.orderNumber',\n });\n\n const orderSearchRedirect = useCallback(\n async (order: OrderDataModel) => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20;\n const dataIsEmpty =\n (!order && !orderRef) || (!order?.number && !order?.token && !orderRef);\n\n if (dataIsEmpty) return null;\n\n if (isAuth) {\n const customer = await getCustomer();\n\n if (customer?.email === order.email) {\n redirectTo(routeCustomerOrder, {\n orderRef: order?.number,\n });\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order.token! });\n }\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order?.token! });\n }\n },\n [isAuth, routeCustomerOrder, routeGuestOrder]\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n orderSearchRedirect(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, [orderSearchRedirect]);\n\n useEffect(() => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20 ? orderRef : null;\n\n if (!orderRef) return;\n\n if (isToken) {\n redirectTo(routeGuestOrder, { orderRef });\n } else if (isAuth) {\n redirectTo(routeCustomerOrder, { orderRef });\n } else {\n renderSignIn?.({ render: true, formValues: { number: orderRef } });\n }\n }, [isAuth, routeCustomerOrder, routeGuestOrder, renderSignIn]);\n\n const normalizeFieldsConfig = useMemo(() => {\n return [\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.email,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 1,\n name: 'email',\n id: 'email',\n code: 'email',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.lastname,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 2,\n name: 'lastname',\n id: 'lastname',\n code: 'lastname',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.number,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 3,\n name: 'number',\n id: 'number',\n code: 'number',\n isUnique: false,\n },\n ];\n }, [translations]);\n\n const onSubmit = useCallback(\n async (event: Event, valid: boolean) => {\n if (!valid) return null;\n\n setLoading(true);\n\n const formValues = getFormValues(event.target as HTMLFormElement);\n\n await getGuestOrder(formValues)\n .then((guestOrder) => {\n if (!guestOrder) {\n setInLineAlert({\n text: translations.invalidSearch,\n type: 'warning',\n });\n }\n\n events.emit('order/data', guestOrder as OrderDataModel);\n })\n .catch(async (error) => {\n let showErrorMessage: boolean | undefined = true;\n\n onError?.({\n error: error.message,\n });\n\n const customer = isAuth ? await getCustomer() : { email: '' };\n\n const isOrderBelongsToCustomer =\n customer?.email === formValues?.email;\n\n if (isOrderBelongsToCustomer) {\n redirectTo(routeCustomerOrder, { orderRef: formValues.number });\n\n return;\n }\n\n showErrorMessage = renderSignIn?.({\n render:\n customer === null ||\n error?.message?.includes('Please login to view the order.'),\n formValues,\n });\n\n if (showErrorMessage) {\n setInLineAlert({\n text: error.message,\n type: 'warning',\n });\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [\n isAuth,\n onError,\n renderSignIn,\n routeCustomerOrder,\n translations.invalidSearch,\n ]\n );\n\n return { onSubmit, inLineAlert, loading, normalizeFieldsConfig };\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\nimport { getCustomerOrdersReturn } from '@/order/api';\nimport { OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseReturnsListProps } from '@/order/types';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\n\nconst DEFAULT_PAGE_INFO = { totalPages: 1, currentPage: 1, pageSize: 1 };\n\nexport const useReturnsList = ({ returnPageSize }: UseReturnsListProps) => {\n const [loading, setLoading] = useState(true);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>(DEFAULT_PAGE_INFO);\n\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n getCustomerOrdersReturn(returnPageSize, selectedPage)\n .then((response) => {\n setOrderReturns(response?.ordersReturn ?? []);\n setPageInfo(response?.pageInfo ?? DEFAULT_PAGE_INFO);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [returnPageSize, selectedPage]);\n\n useEffect(() => {\n const currentScrollY = window?.scrollY ?? 0;\n\n if (currentScrollY > 0) {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }\n }, [selectedPage]);\n\n const handleSetSelectPage = useCallback((value: number) => {\n setSelectedPage(value);\n }, []);\n\n return {\n pageInfo,\n selectedPage,\n loading,\n orderReturns,\n handleSetSelectPage,\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 { UseShippingStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useShippingStatus = ({ orderData }: UseShippingStatusProps) => {\n const [loading, setLoading] = useState(true);\n const [order, setOrder] = useState(orderData);\n const [isVirtualProduct, setIsVirtualProduct] = useState(false);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setIsVirtualProduct(order?.isVirtual);\n setLoading(false);\n },\n { eager: true }\n );\n\n orderData?.id && setLoading(false);\n return () => {\n event?.off();\n };\n }, [orderData]);\n\n return { loading, order, isVirtualProduct };\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 { useState, useCallback } from 'preact/hooks';\nimport { InLineAlertProps } from '../types';\nimport {\n CheckWithCircle as Success,\n Warning,\n WarningWithCircle as Error,\n} from '@adobe-commerce/elsie/icons';\nimport { Icon } from '@adobe-commerce/elsie/components';\n\nconst iconsList = {\n success: Success,\n warning: Warning,\n error: Error,\n};\n\nexport const useInLineAlert = () => {\n const [inLineAlertProps, setInLineAlertProps] = useState<InLineAlertProps>({\n type: 'success',\n heading: '',\n });\n\n const handleSetInLineAlert = useCallback(\n (notification: InLineAlertProps | undefined) => {\n if (!notification?.type) {\n setInLineAlertProps({ type: 'success', heading: '' });\n return;\n }\n\n const icon = <Icon source={iconsList[notification.type]} />;\n\n setInLineAlertProps({\n ...notification,\n icon,\n });\n },\n []\n );\n\n return { inLineAlertProps, handleSetInLineAlert };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { debounce } from '@adobe-commerce/elsie/lib';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(window.innerWidth < 768);\n\n const handleResize = useCallback(\n debounce(() => {\n setIsMobile(window.innerWidth < 768);\n }, 1000),\n []\n );\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n\n return isMobile;\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 { Container, classes } from '@adobe-commerce/elsie/lib';\nimport { CreateReturnProps } from '@/order/types/createReturn.types';\nimport {\n OrderProductListSkeleton,\n ReturnOrderMessage,\n ReturnOrderProductList,\n ReturnReasonForm,\n} from '@/order/components';\nimport { StepsTypes } from '@/order/types';\nimport {\n useCreateReturn,\n useInLineAlert,\n useGetStoreConfig,\n} from '@/order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Header, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { h } from 'preact';\nimport { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { OrderDataModel } from '@/order/data/models';\n\nexport const CreateReturn: Container<CreateReturnProps> = ({\n className,\n orderData,\n slots,\n onSuccess,\n onError,\n routeReturnSuccess,\n showConfigurableOptions,\n}) => {\n const translations = useText({\n headerText: 'Order.CreateReturn.headerText',\n successTitle: 'Order.CreateReturn.success.title',\n successMessage: 'Order.CreateReturn.success.message',\n sender: 'Order.CreateReturn.giftCard.sender',\n recipient: 'Order.CreateReturn.giftCard.recipient',\n message: 'Order.CreateReturn.giftCard.message',\n outOfStock: 'Order.CreateReturn.stockStatus.outOfStock',\n nextStep: 'Order.CreateReturn.buttons.nextStep',\n backStep: 'Order.CreateReturn.buttons.backStep',\n submit: 'Order.CreateReturn.buttons.submit',\n backStore: 'Order.CreateReturn.buttons.backStore',\n downloadableCount: 'Order.CreateReturn.downloadableCount',\n returnedItems: 'Order.CreateReturn.returnedItems',\n configurationsListQuantity:\n 'Order.CreateReturn.configurationsList.quantity',\n });\n\n const { inLineAlertProps, handleSetInLineAlert } = useInLineAlert();\n const storeConfig = useGetStoreConfig();\n\n const {\n order,\n itemsEligibleForReturn,\n formsRef,\n attributesList,\n steps,\n loading,\n selectedProductList,\n handleSelectedProductList,\n handleSetQuantity,\n handleChangeStep,\n onSubmit,\n } = useCreateReturn({\n orderData,\n onSuccess,\n onError,\n handleSetInLineAlert,\n });\n\n if (loading)\n return (\n <div>\n <OrderProductListSkeleton />\n </div>\n );\n\n if (!loading && !attributesList.length) return <div />;\n\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n const renderList: Record<StepsTypes, h.JSX.Element | null> = {\n products: (\n <ReturnOrderProductList\n itemsEligibleForReturn={itemsEligibleForReturn}\n placeholderImage={placeholderImage}\n taxConfig={setTaxStatus(storeConfig?.shoppingOrderDisplayPrice ?? 0)}\n slots={slots}\n translations={translations}\n loading={loading}\n selectedProductList={selectedProductList}\n handleSelectedProductList={handleSelectedProductList}\n showConfigurableOptions={showConfigurableOptions}\n handleSetQuantity={handleSetQuantity}\n handleChangeStep={handleChangeStep}\n />\n ),\n attributes: (\n <ReturnReasonForm\n placeholderImage={placeholderImage}\n slots={slots}\n formsRef={formsRef}\n loading={loading}\n fieldsConfig={attributesList}\n selectedProductList={selectedProductList}\n handleChangeStep={handleChangeStep}\n translations={translations}\n onSubmit={onSubmit}\n />\n ),\n success: (\n <ReturnOrderMessage\n translations={translations}\n routeReturnSuccess={routeReturnSuccess}\n orderData={order as OrderDataModel}\n />\n ),\n error: null,\n };\n\n return (\n <div className={classes(['order-create-return', className])}>\n <Header title={translations.headerText} />\n {inLineAlertProps.heading ? (\n <InLineAlert\n className=\"order-create-return_notification\"\n variant=\"secondary\"\n data-testid=\"orderCreateReturnNotification\"\n {...inLineAlertProps}\n />\n ) : null}\n {renderList[steps]}\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 { Container, classes } from '@adobe-commerce/elsie/lib';\nimport { useCustomerDetails } from '@/order/hooks';\nimport { CustomerDetailsContent } from '@/order/components';\nimport { CustomerDetailsProps, NormalizeAddressProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const CustomerDetails: Container<CustomerDetailsProps> = ({\n paymentIconsMap,\n orderData,\n title,\n className,\n slots,\n}) => {\n const translations = useText({\n emailTitle: 'Order.CustomerDetails.email.title',\n shippingAddressTitle: 'Order.CustomerDetails.shippingAddress.title',\n shippingMethodsTitle: 'Order.CustomerDetails.shippingMethods.title',\n billingAddressTitle: 'Order.CustomerDetails.billingAddress.title',\n paymentMethodsTitle: 'Order.CustomerDetails.paymentMethods.title',\n returnInformationTitle: 'Order.CustomerDetails.returnInformation.title',\n headerText: 'Order.CustomerDetails.headerText',\n freeShipping: 'Order.CustomerDetails.freeShipping',\n createdReturnAt: 'Order.CustomerDetails.orderReturnLabels.createdReturnAt',\n orderNumberLabel:\n 'Order.CustomerDetails.orderReturnLabels.orderNumberLabel',\n returnStatusLabel:\n 'Order.CustomerDetails.orderReturnLabels.returnStatusLabel',\n });\n\n const { order, normalizeAddress, loading } = useCustomerDetails({\n orderData,\n });\n\n return (\n <div className={classes(['order-customer-details', className])}>\n <CustomerDetailsContent\n slots={slots}\n loading={loading}\n order={order}\n title={title}\n paymentIconsMap={paymentIconsMap}\n normalizeAddress={\n normalizeAddress as {\n billingAddress: [] | NormalizeAddressProps[][];\n shippingAddress: [] | NormalizeAddressProps[][];\n }\n }\n translations={translations}\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, InLineAlert, Picker } from '@adobe-commerce/elsie/components';\nimport '@/order/containers/OrderCancelForm/OrderCancelForm.css';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { Form } from '@/order/components';\nimport { useState } from 'preact/hooks';\nimport { OrderCancelFormProps } from '@/order/types';\nimport { OrderDataModel } from '@/order/data/models';\nimport { events } from '@adobe-commerce/event-bus';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { cancelOrder, requestGuestOrderCancel } from '@/order/api';\n\nexport const OrderCancelForm: Container<OrderCancelFormProps> = ({\n orderRef,\n pickerProps,\n submitButtonProps,\n cancelReasons,\n}) => {\n const translations = useText({\n ErrorHeading: 'Order.OrderCancelForm.errorHeading',\n ErrorDescription: 'Order.OrderCancelForm.errorDescription',\n orderCancellationLabel: 'Order.OrderCancelForm.label',\n });\n\n const [selectedReason, setSelectedReason] = useState<number>(0);\n const [isErrorVisible, setIsErrorVisible] = useState<boolean>(false);\n const [isCustomerAuthenticated, setIsCustomerAuthenticated] = useState(false);\n events.on(\n 'authenticated',\n (authenticated) => {\n if (authenticated) {\n setIsCustomerAuthenticated(true);\n }\n },\n { eager: true } // fetch it on runtime using last state\n );\n\n const handleReasonSelect = (event: Event) => {\n event.preventDefault();\n\n const value = Number((event.target as HTMLSelectElement).value);\n setSelectedReason(value);\n };\n\n const onSubmit = async (\n event: SubmitEvent\n ): Promise<void | null | undefined> => {\n event.preventDefault();\n const cancelOrderMutation =\n orderRef.length > 20 ? requestGuestOrderCancel : cancelOrder;\n return cancelOrderMutation(\n orderRef,\n cancelReasons[selectedReason].text!,\n (data: OrderDataModel) => {\n if (!isCustomerAuthenticated) {\n data.status = 'guest order cancellation requested';\n }\n events.emit('order/data', data);\n },\n () => {\n setIsErrorVisible(true);\n }\n );\n };\n\n return (\n <Form\n onSubmit={onSubmit}\n data-testid=\"order-order-cancel-reasons-form__text\"\n >\n {isErrorVisible && (\n <InLineAlert\n heading={translations.ErrorHeading}\n description={translations.ErrorDescription}\n />\n )}\n <div className=\"order-order-cancel-reasons-form__text\">\n <Text id={'Order.OrderCancelForm.description'} />\n </div>\n <Picker\n name=\"cancellationReasons\"\n floatingLabel={translations.orderCancellationLabel}\n defaultOption={cancelReasons[0]}\n variant=\"primary\"\n options={cancelReasons}\n value={String(selectedReason)}\n handleSelect={handleReasonSelect}\n required={true}\n data-testid=\"order-cancellation-reasons-selector\"\n {...pickerProps}\n />\n <div className=\"order-order-cancel-reasons-form__button-container\">\n <Button\n variant=\"primary\"\n data-testid=\"order-cancel-submit-button\"\n {...submitButtonProps}\n >\n <Text id={'Order.OrderCancelForm.button'} />\n </Button>\n </div>\n </Form>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useGetStoreConfig, useOrderCostSummary } from '@/order/hooks';\nimport { OrderCostSummaryProps } from '@/order/types';\nimport { OrderCostSummaryContent } from '@/order/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const OrderCostSummary: Container<OrderCostSummaryProps> = ({\n withHeader,\n orderData,\n children,\n className,\n ...props\n}) => {\n const config = useGetStoreConfig();\n const { loading, storeConfig, order } = useOrderCostSummary({\n orderData,\n config,\n });\n\n const translations = useText({\n subtotal: 'Order.OrderCostSummary.subtotal.title',\n shipping: 'Order.OrderCostSummary.shipping.title',\n freeShipping: 'Order.OrderCostSummary.shipping.freeShipping',\n tax: 'Order.OrderCostSummary.tax.title',\n incl: 'Order.OrderCostSummary.tax.incl',\n excl: 'Order.OrderCostSummary.tax.excl',\n discount: 'Order.OrderCostSummary.discount.title',\n discountSubtitle: 'Order.OrderCostSummary.discount.subtitle',\n total: 'Order.OrderCostSummary.total.title',\n totalFree: 'Order.OrderCostSummary.totalFree',\n accordionTitle: 'Order.OrderCostSummary.tax.accordionTitle',\n accordionTotalTax: 'Order.OrderCostSummary.tax.accordionTotalTax',\n totalExcludingTaxes: 'Order.OrderCostSummary.tax.totalExcludingTaxes',\n headerText: 'Order.OrderCostSummary.headerText',\n\n printedCardTitle: 'Order.OrderCostSummary.giftOptionsTax.printedCard.title',\n printedCardTitleInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.printedCard.inclTax',\n printedCardTitleExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.printedCard.exclTax',\n\n itemGiftWrappingTitle:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.title',\n itemGiftWrappingInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.inclTax',\n itemGiftWrappingExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.itemGiftWrapping.exclTax',\n\n orderGiftWrappingTitle:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.title',\n orderGiftWrappingInclTax:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.inclTax',\n orderGiftWrappingExclTax:\n 'Order.OrderCostSummary.giftOptionsTax.orderGiftWrapping.exclTax',\n });\n\n return (\n <div {...props} className={classes(['order-cost-summary', className])}>\n <OrderCostSummaryContent\n order={order}\n withHeader={withHeader}\n loading={loading}\n storeConfig={storeConfig}\n translations={translations}\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 {\n OrderHeader as OrderHeaderComponent,\n OrderHeaderSkeleton,\n} from '@/order/components';\nimport { useOrderHeader } from '@/order/hooks/containers/useOrderHeader';\nimport { OrderHeaderProps } from '@/order/types';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderHeader: FunctionComponent<OrderHeaderProps> = (props) => {\n const { order, onSignUpClickHandler } = useOrderHeader(props);\n\n return (\n <div>\n {order ? (\n <OrderHeaderComponent\n customerName={order.billingAddress?.firstName}\n onSignUpClick={onSignUpClickHandler}\n orderNumber={order.number}\n />\n ) : (\n <OrderHeaderSkeleton />\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 { OrderProductListContent } from '@/order/components';\nimport { useGetStoreConfig, useOrderProductList } from '@/order/hooks';\nimport { setTaxStatus } from '@/order/lib/setTaxStatus';\nimport { OrderProductListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\n\nexport const OrderProductList: Container<OrderProductListProps> = ({\n slots,\n className,\n orderData,\n withHeader,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { loading, order } = useOrderProductList({\n orderData,\n });\n\n return (\n <div className={classes(['order-order-product-list', className])}>\n <OrderProductListContent\n slots={slots}\n loading={loading}\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n taxConfig={setTaxStatus(storeConfig?.shoppingOrderDisplayPrice ?? 0)}\n order={order}\n withHeader={withHeader}\n showConfigurableOptions={showConfigurableOptions}\n routeProductDetails={routeProductDetails}\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 { OrderDataModel, OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseOrderReturnsProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useState, useEffect } from 'preact/hooks';\n\nexport const useOrderReturns = ({ orderData }: UseOrderReturnsProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderReturns(order?.returns);\n },\n { eager: true }\n );\n return () => {\n event?.off();\n };\n }, []);\n\n return { order, orderReturns };\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 { ReturnsListContent } from '@/order/components';\nimport { useOrderReturns } from '@/order/hooks/containers/useOrderReturns';\nimport { OrderReturnsProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { useGetStoreConfig, useIsMobile } from '@/order/hooks';\n\nexport const OrderReturns: Container<OrderReturnsProps> = ({\n slots,\n className,\n orderData,\n withHeader,\n withThumbnails,\n routeReturnDetails,\n routeProductDetails,\n routeTracking,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { orderReturns } = useOrderReturns({ orderData });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = 'fullSizeView';\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n const translations = useText({\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-order-returns', className])}>\n {orderReturns.length ? (\n <ReturnsListContent\n placeholderImage={placeholderImage}\n pageInfo={{\n pageSize: 1,\n totalPages: 1,\n currentPage: 1,\n }}\n minifiedViewKey={minifiedViewKey}\n slots={slots}\n isMobile={isMobile}\n withOrderNumber={false}\n withReturnNumber={true}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n withThumbnails={withThumbnails}\n minifiedView={false}\n routeReturnDetails={routeReturnDetails}\n routeProductDetails={routeProductDetails}\n routeTracking={routeTracking}\n loading={false}\n />\n ) : null}\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrderSearchForm } from '@/order/components';\nimport { useOrderSearch } from '@/order/hooks';\nimport { FieldsProps, OrderSearchProps } from '@/order/types';\n\nexport const OrderSearch: Container<OrderSearchProps> = ({\n className,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n onError,\n}) => {\n const { onSubmit, loading, inLineAlert, normalizeFieldsConfig } =\n useOrderSearch({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n });\n\n return (\n <div className={classes(['order-order-search', className])}>\n <OrderSearchForm\n onSubmit={onSubmit}\n loading={loading}\n inLineAlert={inLineAlert}\n fieldsConfig={normalizeFieldsConfig as FieldsProps[]}\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 { 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 { ReturnsListContent } from '@/order/components';\nimport { useGetStoreConfig, useIsMobile, useReturnsList } from '@/order/hooks';\nimport { ReturnsListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ReturnsList: Container<ReturnsListProps> = ({\n slots,\n withReturnsListButton,\n className,\n minifiedView,\n withHeader,\n withThumbnails,\n returnPageSize,\n returnsInMinifiedView,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { pageInfo, selectedPage, handleSetSelectPage, loading, orderReturns } =\n useReturnsList({ returnPageSize });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Order.Returns.${minifiedViewKey}.returnsList.viewAllOrdersButton`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-returns-list', className])}>\n <ReturnsListContent\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n minifiedViewKey={minifiedViewKey}\n withOrderNumber={true}\n withReturnNumber={true}\n slots={slots}\n selectedPage={selectedPage}\n handleSetSelectPage={handleSetSelectPage}\n pageInfo={pageInfo}\n withReturnsListButton={withReturnsListButton}\n isMobile={isMobile}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n returnsInMinifiedView={returnsInMinifiedView}\n withThumbnails={withThumbnails}\n minifiedView={minifiedView}\n routeReturnDetails={routeReturnDetails}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n routeReturnsList={routeReturnsList}\n routeProductDetails={routeProductDetails}\n loading={loading}\n />\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { CardLoader, OrderComments as OrderCommentsComponent } from '@/order/components';\nimport { OrderCommentsProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useOrderComments } from '@/order/hooks';\n\nexport const OrderComments: Container<OrderCommentsProps> = ({\n orderData,\n className,\n ...props\n}) => {\n const { comments, order } = useOrderComments({ orderData });\n\n if (!order) {\n return (\n <div className={classes(['order-order-comments-container', className])}>\n <CardLoader withCard={false} />\n </div>\n );\n }\n\n return (\n <div\n {...props}\n className={classes(['order-order-comments-container', className])}\n >\n <OrderCommentsComponent comments={comments} />\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 '@/order/components/OrderLoaders/OrderLoaders.css';\nimport {\n Card,\n CartItemSkeleton,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\n\nexport const CardLoader = ({\n testId,\n withCard = true,\n}: {\n testId?: string;\n withCard?: boolean;\n}) => {\n const defaultSkeleton = (\n <Skeleton data-testid={testId ?? 'skeletonLoader'}>\n <SkeletonRow\n variant=\"heading\"\n size=\"xlarge\"\n fullWidth={false}\n lines={1}\n />\n <SkeletonRow variant=\"heading\" size=\"xlarge\" fullWidth={true} lines={1} />\n <SkeletonRow variant=\"heading\" size=\"xlarge\" fullWidth={true} lines={1} />\n </Skeleton>\n );\n\n if (withCard) {\n return defaultSkeleton;\n }\n\n return (\n <Card\n variant=\"secondary\"\n className={classes([\n 'order-order-loaders',\n 'order-order-loaders--card-loader',\n ])}\n >\n {defaultSkeleton}\n </Card>\n );\n};\n\nexport const DetailsSkeleton = (props: any) => {\n return (\n <Card variant={'secondary'} {...props}>\n <Skeleton data-testid=\"order-details-skeleton\">\n <SkeletonRow variant={'heading'} size=\"medium\" fullWidth={true} />\n <SkeletonRow size=\"medium\" />\n <SkeletonRow variant={'empty'} size=\"medium\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n <SkeletonRow size=\"xlarge\" />\n </Skeleton>\n </Card>\n );\n};\n\nexport const OrderProductListSkeleton = () => {\n return (\n <Skeleton\n data-testid=\"order-product-list-skeleton\"\n style={{ gridTemplateColumns: '1fr' }}\n >\n <SkeletonRow variant=\"heading\" fullWidth={true} size=\"medium\" />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n <CartItemSkeleton />\n </Skeleton>\n );\n};\n\nexport const OrderSummarySkeleton = () => {\n return (\n <Skeleton\n data-testid=\"order-cost-summary-content-skeleton\"\n className={'order-cost-summary-content'}\n >\n <SkeletonRow variant=\"heading\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"empty\" size=\"small\" />\n <SkeletonRow variant=\"heading\" size=\"small\" fullWidth={true} lines={3} />\n </Skeleton>\n );\n};\n\nexport const OrderHeaderSkeleton = () => {\n return (\n <Skeleton data-testid=\"order-header-skeleton\" className=\"order-header\">\n <SkeletonRow variant=\"empty\" size=\"xlarge\" fullWidth={true} />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow size=\"small\" fullWidth={true} />\n <SkeletonRow variant=\"heading\" size=\"xsmall\" fullWidth={true} />\n </Skeleton>\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 { MoneyProps, TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\nexport const GiftWrapping = ({\n salesGiftWrapping,\n giftWrappingPrice,\n giftWrappingPriceInclTax,\n giftWrappingTitle,\n giftWrappingExclTaxText,\n giftWrappingInclTaxText,\n}: {\n salesGiftWrapping?: TaxTypes;\n giftWrappingPrice: MoneyProps;\n giftWrappingPriceInclTax: MoneyProps;\n giftWrappingTitle: string;\n giftWrappingExclTaxText: string;\n giftWrappingInclTaxText: string;\n}) => {\n const isGiftWrappingTaxIncluded = salesGiftWrapping?.taxIncluded;\n const isGiftWrappingTaxExcluded = salesGiftWrapping?.taxExcluded;\n const isIncludedView =\n isGiftWrappingTaxIncluded && !isGiftWrappingTaxExcluded;\n const isExcludedView =\n isGiftWrappingTaxExcluded && !isGiftWrappingTaxIncluded;\n const isInclExclView = isGiftWrappingTaxExcluded && isGiftWrappingTaxIncluded;\n\n if (giftWrappingPrice.value === 0 || giftWrappingPriceInclTax.value === 0) {\n return null;\n }\n\n const taxIncludedView = isIncludedView ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingInclTaxText}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={giftWrappingPriceInclTax.currency}\n amount={giftWrappingPriceInclTax.value}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{giftWrappingInclTaxText}</span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView = isExcludedView ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingTitle}</span>\n <span>\n <Price\n weight=\"normal\"\n currency={giftWrappingPrice.currency}\n amount={giftWrappingPrice.value}\n />\n </span>\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView = isInclExclView ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{giftWrappingTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={giftWrappingPriceInclTax.currency}\n amount={giftWrappingPriceInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={giftWrappingPrice.currency}\n amount={giftWrappingPrice.value}\n size=\"small\"\n weight=\"bold\"\n />{' '}\n <span>{giftWrappingExclTaxText}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--gift-wrapping\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const PrintedCard = ({\n translations,\n order,\n salesPrintedCard,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n salesPrintedCard?: TaxTypes;\n}) => {\n const totalGiftOptions = order?.totalGiftOptions;\n const { printedCard, printedCardInclTax } = totalGiftOptions!;\n\n const isPrintedCardTaxIncluded = salesPrintedCard?.taxIncluded;\n const isPrintedCardTaxExcluded = salesPrintedCard?.taxExcluded;\n\n if (printedCard.value === 0 || printedCardInclTax.value === 0) {\n return null;\n }\n\n const taxIncludedView =\n isPrintedCardTaxIncluded && !isPrintedCardTaxExcluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={printedCardInclTax.currency}\n amount={printedCardInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>\n <span>{translations.printedCardTitleInclTax}</span>\n </span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView =\n isPrintedCardTaxExcluded && !isPrintedCardTaxIncluded ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n weight=\"normal\"\n currency={printedCard.currency}\n amount={printedCard.value}\n />\n </span>\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView =\n isPrintedCardTaxExcluded && isPrintedCardTaxIncluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.printedCardTitle}</span>\n <span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={printedCardInclTax.currency}\n amount={printedCardInclTax.value}\n />\n </span>\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={printedCard.currency}\n amount={printedCard.value}\n size=\"small\"\n weight=\"bold\"\n />{' '}\n <span>{translations.printedCardTitleExclTax}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--printed-card\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Subtotal = ({\n translations,\n order,\n subtotalInclTax,\n subtotalExclTax,\n shoppingOrdersDisplaySubtotal,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n subtotalInclTax: number;\n subtotalExclTax: number;\n shoppingOrdersDisplaySubtotal: TaxTypes;\n}) => {\n const isTaxIncluded = shoppingOrdersDisplaySubtotal.taxIncluded;\n const isTaxExcluded = shoppingOrdersDisplaySubtotal.taxExcluded;\n\n const taxIncludedView =\n isTaxIncluded && !isTaxExcluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalInclTax?.currency}\n amount={subtotalInclTax}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{translations.incl}</span>\n </div>\n </>\n ) : null;\n\n const taxExcludedView =\n isTaxExcluded && !isTaxIncluded ? (\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalExclTax?.currency}\n amount={subtotalExclTax}\n />\n </div>\n ) : null;\n\n const taxIncludedAndExcludedView =\n isTaxExcluded && isTaxIncluded ? (\n <>\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.subtotal}</span>\n <Price\n className=\"order-cost-summary-content__description--normal-price\"\n weight=\"normal\"\n currency={order?.subtotalInclTax?.currency}\n amount={subtotalInclTax}\n />\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n <Price\n currency={order?.subtotalExclTax?.currency}\n amount={subtotalExclTax}\n size=\"small\"\n weight={'bold'}\n />{' '}\n <span>{translations.excl}</span>\n </div>\n </>\n ) : null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--subtotal\">\n {taxIncludedView}\n {taxExcludedView}\n {taxIncludedAndExcludedView}\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 { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Shipping = ({\n translations,\n shoppingOrdersDisplayShipping,\n order,\n totalShipping,\n}: {\n totalShipping: number;\n shoppingOrdersDisplayShipping: TaxTypes;\n order: OrderDataModel;\n translations: translationsTypes;\n}) => {\n if (order?.isVirtual) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--shipping\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.shipping}</span>\n {order?.totalShipping?.value ? (\n <Price\n weight=\"normal\"\n currency={order?.totalShipping?.currency}\n amount={totalShipping}\n />\n ) : (\n <span>{translations.freeShipping}</span>\n )}\n </div>\n <div className=\"order-cost-summary-content__description--subheader\">\n {shoppingOrdersDisplayShipping.taxIncluded &&\n shoppingOrdersDisplayShipping.taxExcluded ? (\n <>\n <Price\n weight=\"normal\"\n currency={order?.totalShipping?.currency}\n amount={order?.totalShipping?.value}\n size=\"small\"\n />\n <span> {translations.excl}</span>\n </>\n ) : null}\n {shoppingOrdersDisplayShipping.taxIncluded &&\n !shoppingOrdersDisplayShipping.taxExcluded ? (\n <span>{translations.incl}</span>\n ) : null}\n </div>\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 { Icon, Price } from '@adobe-commerce/elsie/components';\nimport { Coupon } from '@adobe-commerce/elsie/icons';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Discounts = ({\n translations,\n order,\n}: {\n order: OrderDataModel;\n translations: translationsTypes;\n}) => {\n const appliedCoupons = order?.coupons;\n const discounts = order?.discounts;\n const discountValue =\n discounts?.reduce((acc, item) => {\n return acc + (item.amount.value ?? 0);\n }, 0) || 0;\n\n if (!order?.discounts?.length && discountValue === 0) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--discount\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.discount}</span>\n <span>\n <Price\n weight=\"normal\"\n sale\n currency={discounts[0]?.amount.currency}\n amount={-discountValue}\n />\n </span>\n </div>\n\n {appliedCoupons.map((el) => {\n return (\n <div\n className=\"order-cost-summary-content__description--subheader\"\n key={el.code}\n >\n <span>\n <Icon\n source={Coupon}\n size=\"16\"\n className=\"order-cost-summary-content__description--coupon-icon\"\n />\n <span>{el.code}</span>\n </span>\n </div>\n );\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 { OrderDataModel } from '@/order/data/models';\nimport { TaxTypes } from '@/order/types';\nimport { Price } from '@adobe-commerce/elsie/components';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Total = ({\n translations,\n shoppingOrdersDisplaySubtotal,\n order,\n}: {\n translations: translationsTypes;\n order?: OrderDataModel;\n shoppingOrdersDisplaySubtotal: TaxTypes;\n}) => {\n const isFree = order?.grandTotal?.value === 0;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--total\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.total}</span>\n {!isFree ? (\n <Price\n currency={order?.grandTotal?.currency}\n amount={order?.grandTotal?.value}\n weight=\"bold\"\n size=\"medium\"\n />\n ) : (\n <span className=\"order-cost-summary-content__description--total-free\">\n {translations.totalFree}\n </span>\n )}\n </div>\n {shoppingOrdersDisplaySubtotal.taxExcluded &&\n shoppingOrdersDisplaySubtotal.taxIncluded && !isFree ? (\n <div className=\"order-cost-summary-content__description--subheader\">\n <span>{translations.totalExcludingTaxes}</span>\n <Price\n currency={order?.grandTotalExclTax?.currency}\n amount={order?.grandTotalExclTax?.value}\n weight=\"normal\"\n size=\"small\"\n />\n </div>\n ) : null}\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 { Accordion, AccordionSection, Price } from '@adobe-commerce/elsie/components';\nimport { ChevronDown, ChevronUp } from '@adobe-commerce/elsie/icons';\nimport { useState } from 'preact/hooks';\n\ntype translationsTypes = Record<string, string>;\n\nexport const Tax = ({\n translations,\n renderTaxAccordion,\n totalAccordionTaxValue,\n order,\n}: {\n translations: translationsTypes;\n order: OrderDataModel;\n renderTaxAccordion: boolean;\n totalAccordionTaxValue: number;\n}) => {\n const [changeAccordion, setChangeAccordion] = useState(false);\n if (!renderTaxAccordion)\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--tax\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>{translations.tax}</span>\n <Price\n currency={order?.totalTax?.currency}\n amount={order?.totalTax.value}\n weight=\"normal\"\n size=\"small\"\n />\n </div>\n </div>\n );\n\n return (\n <Accordion\n data-testid=\"tax-accordionTaxes\"\n className=\"order-cost-summary-content__accordion\"\n iconOpen={ChevronDown}\n iconClose={ChevronUp}\n >\n <AccordionSection\n onStateChange={setChangeAccordion}\n title={translations.accordionTitle}\n secondaryText={\n <>\n {!changeAccordion ? (\n <Price\n weight=\"normal\"\n amount={totalAccordionTaxValue}\n currency={order?.totalTax?.currency}\n />\n ) : null}\n </>\n }\n renderContentWhenClosed={false}\n >\n {order?.taxes?.map((el, index) => (\n <div\n key={`${el?.amount?.value}${index}`}\n className={'order-cost-summary-content__accordion-row'}\n >\n <p>{el?.title}</p>\n <p>\n <Price\n weight=\"normal\"\n amount={el?.amount?.value}\n currency={el?.amount?.currency}\n />\n </p>\n </div>\n ))}\n <div\n className={\n 'order-cost-summary-content__accordion-row order-cost-summary-content__accordion-total'\n }\n >\n <p>{translations.accordionTotalTax}</p>\n <p>\n <Price\n weight=\"normal\"\n amount={totalAccordionTaxValue}\n currency={order.totalTax.currency}\n size=\"medium\"\n />\n </p>\n </div>\n </AccordionSection>\n </Accordion>\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 { Icon, Price } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { GiftCard } from '@adobe-commerce/elsie/icons';\n\nexport const GiftCards = ({\n totalGiftCardValue,\n totalGiftCardCurrency,\n order,\n}: {\n order: OrderDataModel;\n totalGiftCardValue: number;\n totalGiftCardCurrency: string;\n}) => {\n const appliedGiftCards = order?.appliedGiftCards;\n\n if (!totalGiftCardValue) return null;\n\n return (\n <div className=\"order-cost-summary-content__description order-cost-summary-content__description--discount\">\n <div className=\"order-cost-summary-content__description--header\">\n <span>\n <Text\n id=\"Order.OrderCostSummary.appliedGiftCards.label\"\n plural={appliedGiftCards?.length}\n fields={{\n count: appliedGiftCards?.length,\n }}\n />\n </span>\n <span>\n <Price\n weight=\"normal\"\n sale\n currency={totalGiftCardCurrency}\n amount={-totalGiftCardValue}\n />\n </span>\n </div>\n\n {appliedGiftCards.map((el) => {\n return (\n <div\n className=\"order-cost-summary-content__description--subheader\"\n key={el.code}\n >\n <span>\n <Icon\n source={GiftCard}\n size=\"16\"\n className=\"order-cost-summary-content__description--giftcard-icon\"\n />\n <span>{el.code}</span>\n </span>\n </div>\n );\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 { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { OrderCostSummaryContentProps } from '@/order/types';\nimport { OrderSummarySkeleton } from '@/order/components/OrderLoaders';\nimport '@/order/components/OrderCostSummaryContent/OrderCostSummaryContent.css';\nimport {\n Discounts,\n Shipping,\n Subtotal,\n Tax,\n Total,\n GiftWrapping,\n PrintedCard,\n GiftCards,\n} from '@/order/components/OrderCostSummaryContent/Blocks';\n\nexport const OrderCostSummaryContent: FunctionComponent<\n OrderCostSummaryContentProps\n> = ({\n translations,\n loading,\n storeConfig,\n order,\n withHeader = true,\n}: OrderCostSummaryContentProps) => {\n if (loading || !order) return <OrderSummarySkeleton />;\n\n const totalGiftCardValue = order?.totalGiftCard?.value ?? 0;\n const totalGiftCardCurrency = order.totalGiftCard?.currency ?? '';\n const subtotalInclTax = order.subtotalInclTax?.value ?? 0;\n const subtotalExclTax = order.subtotalExclTax?.value ?? 0;\n const totalShipping = order.totalShipping?.value ?? 0;\n const renderTaxAccordion =\n !!order?.taxes?.length && storeConfig?.shoppingOrdersDisplayFullSummary!;\n const totalAccordionTaxValue = renderTaxAccordion\n ? order?.taxes?.reduce((value, acc) => {\n return +acc?.amount?.value + value;\n }, 0)\n : 0;\n\n return (\n <Card\n variant=\"secondary\"\n className={classes(['order-cost-summary-content'])}\n >\n {withHeader ? <Header title={translations.headerText} /> : null}\n\n <div className=\"order-cost-summary-content__wrapper\">\n <Subtotal\n translations={translations}\n order={order}\n subtotalInclTax={subtotalInclTax}\n subtotalExclTax={subtotalExclTax}\n shoppingOrdersDisplaySubtotal={\n storeConfig?.shoppingOrdersDisplaySubtotal!\n }\n />\n <Shipping\n translations={translations}\n order={order}\n totalShipping={totalShipping}\n shoppingOrdersDisplayShipping={\n storeConfig?.shoppingOrdersDisplayShipping!\n }\n />\n <PrintedCard\n order={order}\n translations={translations}\n salesPrintedCard={storeConfig?.salesPrintedCard}\n />\n <GiftWrapping\n salesGiftWrapping={storeConfig?.salesGiftWrapping}\n giftWrappingPrice={order.totalGiftOptions.giftWrappingForItems}\n giftWrappingPriceInclTax={\n order.totalGiftOptions.giftWrappingForItemsInclTax\n }\n giftWrappingTitle={translations.itemGiftWrappingTitle}\n giftWrappingExclTaxText={translations.itemGiftWrappingExclTax}\n giftWrappingInclTaxText={translations.itemGiftWrappingInclTax}\n />\n <GiftWrapping\n salesGiftWrapping={storeConfig?.salesGiftWrapping}\n giftWrappingPrice={order.totalGiftOptions.giftWrappingForOrder}\n giftWrappingPriceInclTax={\n order.totalGiftOptions.giftWrappingForOrderInclTax\n }\n giftWrappingTitle={translations.orderGiftWrappingTitle}\n giftWrappingExclTaxText={translations.orderGiftWrappingExclTax}\n giftWrappingInclTaxText={translations.orderGiftWrappingInclTax}\n />\n <Discounts translations={translations} order={order} />\n <GiftCards\n order={order}\n totalGiftCardValue={totalGiftCardValue}\n totalGiftCardCurrency={totalGiftCardCurrency}\n />\n <Tax\n order={order}\n translations={translations}\n renderTaxAccordion={renderTaxAccordion}\n totalAccordionTaxValue={totalAccordionTaxValue}\n />\n <Total\n translations={translations}\n shoppingOrdersDisplaySubtotal={\n storeConfig?.shoppingOrdersDisplaySubtotal!\n }\n order={order}\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 '@/order/components/OrderHeader/OrderHeader.css';\nimport { Button, Header, Icon } from '@adobe-commerce/elsie/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderSuccess } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\n\nexport interface OrderHeaderProps {\n customerName?: string;\n onSignUpClick?: () => void;\n orderNumber: string;\n}\n\nexport const OrderHeader: FunctionComponent<OrderHeaderProps> = ({\n customerName,\n orderNumber,\n onSignUpClick,\n}) => {\n const translations = useText({\n title: (\n <Text id=\"Order.OrderHeader.title\" fields={{ name: customerName }} />\n ),\n defaultTitle: 'Order.OrderHeader.defaultTitle',\n order: (\n <Text id=\"Order.OrderHeader.order\" fields={{ order: orderNumber }} />\n ),\n createAccountMessage: 'Order.OrderHeader.CreateAccount.message',\n createAccountButton: 'Order.OrderHeader.CreateAccount.button',\n });\n\n return (\n <div data-testid=\"order-header\" className=\"order-header order-header__card\">\n <Icon source={OrderSuccess} size=\"64\" className=\"order-header__icon\" />\n\n <Header\n className=\"order-header__title\"\n title={translations.title}\n size=\"large\"\n divider={false}\n >\n {customerName ? translations.title : translations.defaultTitle}\n </Header>\n\n <p className=\"order-header__order\">{translations.order}</p>\n\n {onSignUpClick && (\n <div className=\"order-header-create-account\">\n <p className=\"order-header-create-account__message\">\n {translations.createAccountMessage}\n </p>\n\n <Button\n data-testid=\"create-account-button\"\n className=\"order-header-create-account__button\"\n size=\"medium\"\n variant=\"secondary\"\n type=\"submit\"\n onClick={onSignUpClick}\n >\n {translations.createAccountButton}\n </Button>\n </div>\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 { OrderDataModel, OrderItemModel } from '../data/models';\n\nexport const categorizeProducts = (order: OrderDataModel) => {\n const itemsList = order?.items ?? [];\n const returnedList = itemsList\n .filter((el) => el?.eligibleForReturn && el?.quantityReturnRequested)\n .map((item) => ({\n ...item,\n totalQuantity: item.quantityReturnRequested,\n }));\n\n const returnedListMap = new Map(returnedList.map((item) => [item.id, item]));\n const modifyOrder = itemsList\n .map((mainItem) => {\n const matchingItem = returnedListMap.get(mainItem?.id);\n\n if (matchingItem) {\n const quantityResult =\n mainItem.totalQuantity - matchingItem.quantityReturnRequested;\n\n if (quantityResult === 0) return null;\n\n return {\n ...mainItem,\n totalQuantity: quantityResult,\n };\n }\n\n return mainItem;\n })\n .filter((item): item is OrderItemModel => item !== null);\n\n return {\n returnedList,\n canceledItems: modifyOrder?.filter((element) => element.quantityCanceled),\n nonCanceledItems: modifyOrder?.filter(\n (element) => !element.quantityCanceled\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, Fragment } from 'preact';\nimport { OrderProductListContentProps } from '@/order/types';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { useMemo } from 'preact/hooks';\nimport { CartSummaryItem, OrderProductListSkeleton } from '@/order/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderItemModel } from '@/order/data/models';\nimport '@/order/components/OrderProductListContent/OrderProductListContent.css';\nimport { categorizeProducts } from '@/order/lib/categorizeProducts';\n\nexport const OrderProductListContent: FunctionComponent<\n OrderProductListContentProps\n> = ({\n slots,\n placeholderImage,\n loading,\n taxConfig,\n order = null,\n withHeader = true,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const isReturnPage = !!order?.returnNumber;\n\n const translations = useText({\n cancelled: 'Order.OrderProductListContent.cancelledTitle',\n allOrders: 'Order.OrderProductListContent.allOrdersTitle',\n returned: 'Order.OrderProductListContent.returnedTitle',\n refunded: 'Order.OrderProductListContent.refundedTitle',\n sender: 'Order.OrderProductListContent.GiftCard.sender',\n recipient: 'Order.OrderProductListContent.GiftCard.recipient',\n message: 'Order.OrderProductListContent.GiftCard.message',\n outOfStock: 'Order.OrderProductListContent.stockStatus.outOfStock',\n downloadableCount: 'Order.OrderProductListContent.downloadableCount',\n });\n\n const itemsList = useMemo(() => {\n if (!order) return [];\n\n if (!isReturnPage) {\n const { returnedList, canceledItems, nonCanceledItems } =\n categorizeProducts(order);\n\n return [\n {\n type: 'returned',\n list: returnedList,\n title: translations.returned,\n },\n {\n type: 'cancelled',\n list: canceledItems,\n title: translations.cancelled,\n },\n {\n type: 'allItems',\n list: nonCanceledItems,\n title: translations.allOrders,\n },\n ].filter((section) => section?.list?.length > 0);\n }\n\n const returnItems =\n order.returns\n .find((returnData) => returnData.returnNumber === order?.returnNumber)\n ?.items?.map((el) => ({ ...el, totalQuantity: el.requestQuantity })) ??\n [];\n\n return [\n {\n type: 'returned',\n list: returnItems,\n title: translations.returned,\n },\n ];\n }, [order, isReturnPage, translations]);\n\n if (!order) return <OrderProductListSkeleton />;\n\n if (itemsList.every((el) => el.list.length === 0)) return null;\n\n return (\n <Card variant=\"secondary\" className={'order-order-product-list-content'}>\n {itemsList.map((item, index) => {\n const headerTotalProductValue = item.list\n .filter((entry): entry is OrderItemModel => entry !== null)\n .reduce(\n (accumulator, { totalQuantity }) => totalQuantity + accumulator,\n 0\n );\n\n return (\n <Fragment key={index}>\n {withHeader ? (\n <Header title={`${item.title} (${headerTotalProductValue})`} />\n ) : null}\n <ul className=\"order-order-product-list-content__items\">\n {item.list\n ?.filter(\n (product): product is OrderItemModel => product !== null\n )\n .map((product) => (\n <li\n data-testid=\"order-product-list-content-item\"\n key={product.id}\n >\n <CartSummaryItem\n slots={slots}\n placeholderImage={placeholderImage}\n loading={loading}\n product={product}\n itemType={item.type}\n taxConfig={taxConfig}\n translations={translations}\n showConfigurableOptions={showConfigurableOptions}\n routeProductDetails={routeProductDetails}\n />\n </li>\n ))}\n </ul>\n </Fragment>\n );\n })}\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 {\n CartItem,\n Image,\n Price,\n Icon,\n Incrementer,\n} from '@adobe-commerce/elsie/components';\nimport { useCallback } from 'preact/hooks';\nimport { WarningWithCircle } from '@adobe-commerce/elsie/icons';\nimport { CartSummaryItemProps } from '@/order/types';\nimport { Slot } from '@adobe-commerce/elsie/lib';\nimport { OrderSummarySkeleton } from '../OrderLoaders';\nimport { OrderItemModel } from '@/order/data/models';\n\nexport const CartSummaryItem: FunctionComponent<CartSummaryItemProps> = ({\n slots,\n placeholderImage = '',\n loading,\n product,\n itemType,\n taxConfig,\n translations,\n disabledIncrementer,\n onQuantity,\n showConfigurableOptions,\n routeProductDetails,\n}) => {\n const { taxExcluded, taxIncluded } = taxConfig;\n\n const renderDefaultPrice = useCallback(\n (amount: number, currency: string, configs?: any) => {\n return (\n <Price\n amount={amount}\n currency={currency}\n weight=\"normal\"\n {...configs}\n />\n );\n },\n []\n );\n\n const renderImages = useCallback(\n (product: OrderItemModel) => {\n const label = product?.productName ?? '';\n\n const defaultImageProps = {\n title: label,\n src: product?.product?.thumbnail?.url ?? placeholderImage,\n alt: label,\n width: 90,\n height: 120,\n loading: 'lazy',\n } as const;\n\n return (\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n data-testid={`cartSummaryItemImage-${product.id}`}\n name=\"CartSummaryItemImage\"\n slot={slots?.CartSummaryItemImage}\n context={{\n data: product,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n );\n },\n [placeholderImage, slots?.CartSummaryItemImage]\n );\n\n if (!product) return <OrderSummarySkeleton />;\n\n let configPrice = {};\n const isCancelled = itemType === 'cancelled';\n const inStock = product?.product?.stockStatus?.includes('IN_STOCK');\n const giftCard = product?.giftCard;\n const renderQuantity =\n product.totalQuantity > 1 ? { quantity: product.totalQuantity } : {};\n const isDiscounted = product.discounted;\n const { includeAndExcludeTax, includeTax, excludeTax } =\n product.taxCalculations;\n const totalQuantity = product?.totalQuantity;\n const configurations = {\n ...(product?.configurableOptions || {}),\n ...(product?.bundleOptions || {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.senderEmail\n ? { [translations.sender]: giftCard?.senderEmail }\n : {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.recipientEmail\n ? { [translations.recipient]: giftCard?.recipientEmail }\n : {}),\n ...(giftCard?.message ? { [translations.message]: giftCard?.message } : {}),\n ...(product?.downloadableLinks\n ? {\n [`${product?.downloadableLinks?.count} ${translations.downloadableCount}`]:\n product?.downloadableLinks?.result,\n }\n : {}),\n };\n\n // Admin panel configuration - Sales -> Tax -> Order, Invoices, Credit Memos Display Settings\n // GraphQL field - orders_invoices_credit_memos_display_price field converted to taxIncluded & taxExcluded booleans\n if (taxIncluded && taxExcluded) {\n // Including and Excluding Tax option (value \"3\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n includeAndExcludeTax.originalPrice.value,\n includeAndExcludeTax.originalPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n includeAndExcludeTax.baseOriginalPrice.value * totalQuantity,\n includeAndExcludeTax.baseOriginalPrice.currency,\n {\n variant: product.discounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n includeAndExcludeTax.baseDiscountedPrice.value * totalQuantity,\n includeAndExcludeTax.baseDiscountedPrice.currency,\n { sale: true, weight: 'bold' }\n );\n\n const totalExcludingTax = renderDefaultPrice(\n includeAndExcludeTax.baseExcludingTax.value * totalQuantity,\n includeAndExcludeTax.baseExcludingTax.currency,\n { weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: true,\n taxIncluded: undefined,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {product.discounted ? totalDiscountedPrice : null}\n </>\n ),\n totalExcludingTax,\n };\n } else if (!taxIncluded && taxExcluded) {\n // Excluding Tax option (value \"1\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n excludeTax.originalPrice.value,\n excludeTax.originalPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n excludeTax.baseOriginalPrice.value * totalQuantity,\n excludeTax.baseOriginalPrice.currency,\n {\n variant: isDiscounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n excludeTax.baseDiscountedPrice.value * totalQuantity,\n excludeTax.baseDiscountedPrice.currency,\n {\n sale: true,\n weight: 'bold',\n }\n );\n\n const totalExcludingTax = renderDefaultPrice(\n excludeTax.baseExcludingTax.value * totalQuantity,\n excludeTax.baseExcludingTax.currency,\n { weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: undefined,\n taxIncluded: undefined,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {isDiscounted ? totalDiscountedPrice : null}\n </>\n ),\n totalExcludingTax,\n };\n } else if (taxIncluded && !taxExcluded) {\n // Including Tax option (value \"2\" in GraphQL)\n\n const singleItemPrice = renderDefaultPrice(\n includeTax.singleItemPrice.value,\n includeTax.singleItemPrice.currency\n );\n\n const totalOriginalPrice = renderDefaultPrice(\n includeTax.baseOriginalPrice.value * totalQuantity,\n includeTax.baseOriginalPrice.currency,\n {\n variant: isDiscounted ? 'strikethrough' : 'default',\n weight: 'bold',\n }\n );\n\n const totalDiscountedPrice = renderDefaultPrice(\n includeTax.baseDiscountedPrice.value * totalQuantity,\n includeTax.baseDiscountedPrice.currency,\n { sale: true, weight: 'bold' }\n );\n\n configPrice = {\n taxExcluded: undefined,\n taxIncluded: true,\n price: singleItemPrice,\n total: (\n <>\n {totalOriginalPrice}\n {isDiscounted ? totalDiscountedPrice : null}\n </>\n ),\n };\n }\n\n return (\n <CartItem\n loading={loading}\n alert={\n isCancelled && !inStock ? (\n <span>\n <Icon source={WarningWithCircle} />\n {translations.outOfStock}\n </span>\n ) : (\n <></>\n )\n }\n configurations={\n showConfigurableOptions?.(configurations) ?? configurations\n }\n title={\n routeProductDetails ? (\n <a\n data-testid=\"product-name\"\n className='cart-summary-item__title'\n href={routeProductDetails(product)}\n >\n {product?.productName}\n </a>\n ) : (\n <div\n data-testid=\"product-name\"\n className='cart-summary-item__title'\n >\n {product?.productName}\n </div>\n )\n }\n sku={<div>{product?.product?.sku}</div>}\n {...renderQuantity}\n image={\n routeProductDetails ? (\n <a href={routeProductDetails(product)}>{renderImages(product)}</a>\n ) : (\n renderImages(product)\n )\n }\n {...configPrice}\n footer={\n <>\n {onQuantity && !disabledIncrementer ? (\n <Incrementer\n value={1}\n min={1}\n max={product?.totalQuantity}\n onValue={(value) => onQuantity?.(Number(value))}\n name=\"quantity\"\n data-testid=\"returnIncrementer\"\n readonly\n />\n ) : undefined}\n\n <Slot\n data-testid=\"Footer\"\n name=\"Footer\"\n slot={slots?.Footer}\n context={{ item: product }}\n />\n </>\n }\n />\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Card, Icon, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { WarningFilled } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\nimport { OrderSearchFormProps } from '@/order/types';\nimport { Form } from '@/order/components';\nimport '@/order/components/OrderSearchForm/OrderSearchForm.css';\n\nexport const OrderSearchForm: FunctionComponent<OrderSearchFormProps> = ({\n onSubmit,\n loading,\n inLineAlert,\n fieldsConfig,\n}) => {\n return (\n <Card variant={'secondary'} className={'order-order-search-form'}>\n <h2 className={'order-order-search-form__title'}>\n <Text id={'Order.OrderSearchForm.title'} />\n </h2>\n\n <p>\n <Text id={'Order.OrderSearchForm.description'} />\n </p>\n {inLineAlert.text ? (\n <InLineAlert\n data-testid=\"orderAlert\"\n className={'order-order-search-form__alert'}\n type={inLineAlert.type}\n variant=\"secondary\"\n heading={inLineAlert.text}\n icon={<Icon source={WarningFilled} />}\n />\n ) : null}\n\n <Form\n className={'order-order-search-form__wrapper'}\n name=\"orderSearchForm\"\n loading={loading}\n fieldsConfig={fieldsConfig}\n onSubmit={onSubmit}\n >\n <div className=\"order-order-search-form__button-container\">\n <Button\n className={'order-order-search-form__button'}\n size={'medium'}\n variant={'primary'}\n key={'logIn'}\n type={'submit'}\n disabled={loading}\n >\n <Text id={'Order.OrderSearchForm.button'} />\n </Button>\n </div>\n </Form>\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\nexport const capitalizeFirst = (str: string) => {\n if (!str) return str;\n return str.charAt(0).toLocaleUpperCase() + str.slice(1).toLocaleLowerCase();\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 && (\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","/********************************************************************\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 { ReturnOrderMessageProps } from '@/order/types/createReturn.types';\nimport '@/order/components/ReturnOrderMessage/ReturnOrderMessage.css';\nimport { Button } from '@adobe-commerce/elsie/components';\n\nexport const ReturnOrderMessage: FunctionComponent<ReturnOrderMessageProps> = ({\n routeReturnSuccess,\n translations,\n orderData,\n}) => {\n return (\n <div className={'order-return-order-message'}>\n <p className={'order-return-order-message__title'}>\n {translations.successTitle}\n </p>\n <p className={'order-return-order-message__subtitle'}>\n {translations.successMessage}\n </p>\n <Button href={routeReturnSuccess?.(orderData) ?? '#'}>\n {translations.backStore}\n </Button>\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 { FunctionComponent } from 'preact';\nimport { Button, Checkbox } from '@adobe-commerce/elsie/components';\nimport { ReturnOrderProductListProps } from '@/order/types/createReturn.types';\nimport { CartSummaryItem } from '@/order/components';\nimport { OrderItemModel } from '@/order/data/models';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport '@/order/components/ReturnOrderProductList/ReturnOrderProductList.css';\n\nexport const ReturnOrderProductList: FunctionComponent<\n ReturnOrderProductListProps\n> = ({\n placeholderImage,\n itemsEligibleForReturn,\n slots,\n loading,\n taxConfig,\n translations,\n selectedProductList,\n handleSelectedProductList,\n showConfigurableOptions,\n handleSetQuantity,\n handleChangeStep,\n}) => {\n return (\n <ul className={'order-return-order-product-list'}>\n {itemsEligibleForReturn?.map((item, index) => {\n const { quantityReturnRequested, quantityShipped, eligibleForReturn } =\n item;\n\n const checked = selectedProductList.some(\n (el: OrderItemModel) =>\n el?.productSku === item.productSku && item.eligibleForReturn\n );\n const disabled =\n (quantityShipped === quantityReturnRequested && eligibleForReturn) ||\n !eligibleForReturn;\n\n const totalQuantity =\n quantityShipped - quantityReturnRequested === 0\n ? quantityReturnRequested\n : quantityShipped - quantityReturnRequested;\n\n return (\n <li\n key={item.id}\n className={classes([\n 'order-return-order-product-list__item',\n ['order-return-order-product-list__item--blur', disabled],\n ])}\n >\n <Checkbox\n data-testid={`key_${index}`}\n name={`key_${index}`}\n checked={checked}\n disabled={disabled}\n onChange={() => {\n handleSelectedProductList({\n ...item,\n currentReturnOrderQuantity: 1,\n });\n }}\n />\n <CartSummaryItem\n slots={slots}\n placeholderImage={placeholderImage}\n loading={loading}\n product={{ ...item, totalQuantity: totalQuantity || 1 }}\n itemType={''}\n taxConfig={taxConfig}\n translations={translations}\n showConfigurableOptions={showConfigurableOptions}\n disabledIncrementer={!checked}\n onQuantity={\n totalQuantity > 1\n ? (value) => {\n handleSetQuantity(value, item.productSku!);\n }\n : undefined\n }\n />\n <Slot\n data-testid=\"returnOrderItem\"\n name=\"ReturnOrderItem\"\n slot={slots?.ReturnOrderItem}\n />\n </li>\n );\n })}\n <li className=\"order-return-order-product-list__item\">\n <Button\n type=\"button\"\n onClick={() => handleChangeStep('attributes')}\n disabled={!selectedProductList.length}\n >\n {translations.nextStep}\n </Button>\n </li>\n </ul>\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 { Fragment, FunctionComponent } from 'preact';\nimport { Button, CartItem, Image } from '@adobe-commerce/elsie/components';\nimport { useForm } from '@/order/hooks/components/useForm';\nimport FormInputs from '../Form/FormInputs';\nimport {\n modifyFieldsConfig,\n replicateEntries,\n} from '@/order/lib/returnOrdersHelper';\nimport '@/order/components/ReturnReasonForm/ReturnReasonForm.css';\nimport { Slot } from '@adobe-commerce/elsie/lib';\nimport { ReturnReasonFormProps } from '@/order/types';\n\nexport const ReturnReasonForm: FunctionComponent<ReturnReasonFormProps> = ({\n placeholderImage,\n slots,\n formsRef,\n selectedProductList,\n loading,\n fieldsConfig,\n translations,\n handleChangeStep,\n onSubmit,\n}) => {\n const { formData, errors, formRef, handleChange, handleBlur, handleSubmit } =\n useForm({\n fieldsConfig: replicateEntries(fieldsConfig, selectedProductList?.length),\n onSubmit,\n });\n\n return (\n <form\n className=\"order-return-reason-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n name={'returnReasonForm'}\n >\n {selectedProductList.map((orderItem, index) => {\n const giftCard = orderItem?.giftCard;\n const product = orderItem?.product;\n const fieldsList = modifyFieldsConfig(fieldsConfig, index);\n const formName = `${orderItem?.id}_${index}`;\n const quantity = orderItem?.currentReturnOrderQuantity! ?? 1;\n\n const configurations = {\n ...(orderItem?.currentReturnOrderQuantity\n ? { [translations.configurationsListQuantity]: quantity }\n : {}),\n ...(orderItem.configurableOptions || {}),\n ...(orderItem.bundleOptions || {}),\n ...(giftCard?.senderName\n ? { [translations.sender]: giftCard?.senderName }\n : {}),\n ...(giftCard?.senderEmail\n ? { [translations.sender]: giftCard?.senderEmail }\n : {}),\n ...(giftCard?.recipientName\n ? { [translations.recipient]: giftCard?.recipientName }\n : {}),\n ...(giftCard?.recipientEmail\n ? { [translations.recipient]: giftCard?.recipientEmail }\n : {}),\n ...(giftCard?.message\n ? { [translations.message]: giftCard?.message }\n : {}),\n ...(orderItem?.downloadableLinks\n ? {\n [`${orderItem?.downloadableLinks?.count} ${translations.downloadableCount}`]:\n orderItem?.downloadableLinks?.result,\n }\n : {}),\n };\n\n const productName = orderItem?.product?.name;\n\n const defaultImageProps = {\n title: productName,\n src: product?.thumbnail?.url ?? placeholderImage,\n alt: productName,\n width: 90,\n height: 120,\n loading: 'lazy',\n } as const;\n\n return (\n <Fragment key={orderItem.id}>\n <CartItem\n loading={loading}\n title={<div data-testid=\"product-name\">{productName}</div>}\n sku={<div>{product?.sku}</div>}\n image={\n <Slot\n name=\"ReturnReasonFormImage\"\n slot={slots?.ReturnReasonFormImage}\n context={{\n data: orderItem,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n }\n configurations={configurations}\n />\n <form\n name={formName}\n ref={formsRef?.current[index]}\n data-quantity={quantity}\n >\n <FormInputs\n className={'className'}\n loading={loading}\n fields={fieldsList}\n onChange={handleChange}\n onBlur={handleBlur}\n errors={errors}\n values={formData}\n />\n </form>\n </Fragment>\n );\n })}\n <Slot\n data-testid=\"returnFormActions\"\n name=\"ReturnFormActions\"\n slot={slots?.ReturnFormActions}\n context={{\n handleChangeStep,\n }}\n >\n <div className=\"order-return-reason-form__actions\">\n <Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n handleChangeStep('products');\n }}\n >\n {translations.backStep}\n </Button>\n <Button>{translations.submit}</Button>\n </div>\n </Slot>\n </form>\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 { useMemo } from 'preact/hooks';\nimport { ChevronRight } from '@adobe-commerce/elsie/icons';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { IconConfig, ReturnsListContentProps } from '@/order/types';\nimport {\n Card,\n ContentGrid,\n Header,\n Icon,\n Image,\n Pagination,\n} from '@adobe-commerce/elsie/components';\nimport EmptyList from '../EmptyList';\nimport '@/order/components/ReturnsListContent/ReturnsListContent.css';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { CardLoader } from '@/order/components';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst iconConfig: IconConfig = { size: '32', stroke: '2' };\n\nexport const ReturnsListContent: FunctionComponent<ReturnsListContentProps> = ({\n placeholderImage,\n minifiedViewKey,\n withReturnNumber = false,\n withOrderNumber = false,\n slots,\n pageInfo,\n withReturnsListButton = true,\n isMobile = false,\n returnsInMinifiedView = 1,\n translations = {},\n orderReturns = [],\n minifiedView = false,\n withHeader = true,\n withThumbnails = true,\n selectedPage = 1,\n handleSetSelectPage,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n loading,\n}) => {\n const lastElementNumber = minifiedView\n ? returnsInMinifiedView\n : orderReturns.length;\n\n const ImageTag = routeProductDetails?.() ? 'a' : 'span';\n\n const renderReturnOrders = useMemo(() => {\n return orderReturns.slice(0, lastElementNumber).map((element, i) => {\n const items = element?.items ?? [];\n\n const headerTotalProductValue = items.reduce(\n (accumulator: number, value): number => {\n return (value.requestQuantity ?? 0) + accumulator;\n },\n 0\n );\n\n return (\n <Card\n key={i}\n variant=\"secondary\"\n className=\"order-returns-list-content__cards-list\"\n >\n <div className=\"order-returns-list-content__cards-grid\">\n <div className=\"order-returns-list-content__descriptions\">\n <p className=\"order-returns-list-content__return-status\">\n {formatReturnStatus(element.returnStatus) ? (\n <Text\n id={`Order.Returns.${minifiedViewKey}.returnsList.returnStatus.${formatReturnStatus(\n element.returnStatus\n )}`}\n />\n ) : (\n <span>{capitalizeFirst(element.returnStatus)}</span>\n )}\n </p>\n {withReturnNumber ? (\n <p>\n {translations.returnNumber}{' '}\n <a\n href={\n routeReturnDetails?.({\n returnNumber: element.returnNumber,\n orderNumber: element.orderNumber,\n token: element.token,\n }) ?? '#'\n }\n rel=\"noreferrer\"\n >\n {element.returnNumber}\n </a>\n </p>\n ) : null}\n {withOrderNumber ? (\n <p>\n {translations.orderNumber}{' '}\n <a\n href={\n routeOrderDetails?.({\n orderNumber: element.orderNumber,\n token: element.token,\n }) ?? '#'\n }\n rel=\"noreferrer\"\n >\n {element.orderNumber}\n </a>\n </p>\n ) : null}\n {element?.tracking?.map((track, index) => {\n // No title in return tracking schema for return\n const trackingData = {\n title: '',\n number: track?.trackingNumber ?? '',\n carrier: track?.carrier?.label ?? '',\n };\n\n const trackingRoute = routeTracking?.(trackingData);\n const key = `${trackingData.number}_${index}`;\n\n return (\n <p key={key}>\n {`${translations.carrier} `}\n {`${trackingData.carrier?.toLocaleUpperCase()} | `}\n {trackingRoute ? (\n <a\n href={trackingRoute}\n target=\"_blank\"\n rel=\"noreferrer\"\n data-testid={`${key}_link`}\n >\n {track.trackingNumber}\n </a>\n ) : (\n <span data-testid={`${key}_span`}>\n {track.trackingNumber}\n </span>\n )}\n </p>\n );\n })}\n {slots?.ReturnItemsDetails ? (\n <Slot\n data-testid=\"returnItemsDetails\"\n name=\"ReturnItemsDetails\"\n slot={slots?.ReturnItemsDetails}\n context={{ items: element.items }}\n />\n ) : null}\n\n {!slots?.ReturnItemsDetails && element.items.length ? (\n <p>\n {headerTotalProductValue}{' '}\n <Text\n id={`Order.Returns.${minifiedViewKey}.returnsList.itemText`}\n plural={headerTotalProductValue}\n fields={{ count: headerTotalProductValue }}\n />\n </p>\n ) : null}\n </div>\n\n {withThumbnails ? (\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'order-returns-list-content__images',\n ['order-returns-list-content__images-3', isMobile],\n ])}\n >\n {element?.items?.map((item, index) => {\n const key = `key_${index}_${item.uid}`;\n const label = item?.product?.name ?? '';\n const src = item?.thumbnail?.url ?? placeholderImage ?? '';\n\n const defaultImageProps = {\n title: label,\n src,\n alt: label,\n width: 85,\n height: 114,\n loading: 'eager',\n } as const;\n\n return (\n <ImageTag\n data-testid={key}\n key={key}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ReturnListImage\"\n slot={slots?.ReturnListImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n ) : null}\n {slots?.DetailsActionParams ? (\n <Slot\n className=\"order-returns-list-content__actions\"\n data-testid=\"detailsActionParams\"\n name=\"DetailsActionParams\"\n slot={slots?.DetailsActionParams}\n context={{ returnOrderItem: element }}\n />\n ) : (\n <a\n href={\n routeReturnDetails?.({\n returnNumber: element.returnNumber,\n token: element.token,\n orderNumber: element.orderNumber,\n }) ?? '#'\n }\n className=\"order-returns-list-content__actions\"\n >\n <Icon source={ChevronRight} {...iconConfig} />\n </a>\n )}\n </div>\n </Card>\n );\n });\n }, [\n orderReturns,\n lastElementNumber,\n minifiedViewKey,\n withReturnNumber,\n translations,\n withOrderNumber,\n slots,\n withThumbnails,\n isMobile,\n placeholderImage,\n ImageTag,\n routeTracking,\n routeProductDetails,\n routeReturnDetails,\n routeOrderDetails,\n ]);\n\n const renderMinifiedView = useMemo(\n () => (\n <>\n {withHeader ? (\n <Header\n title={translations.minifiedViewTitle}\n divider={false}\n className={'order-returns__header--minified'}\n />\n ) : null}\n {loading ? (\n <CardLoader withCard={false} />\n ) : (\n <>\n {renderReturnOrders}\n <EmptyList\n minifiedView={minifiedView}\n typeList=\"orders\"\n isEmpty={!orderReturns.length}\n message={translations.emptyOrdersListMessage}\n />\n {withReturnsListButton ? (\n <a\n className=\"order-returns-list-content__actions\"\n href={routeReturnsList?.() ?? '#'}\n >\n <Card\n variant=\"secondary\"\n className=\"order-returns-list-content__card\"\n >\n <div className={'order-returns-list-content__card-wrapper'}>\n <p>{translations.viewAllOrdersButton}</p>\n <Icon source={ChevronRight} {...iconConfig} />\n </div>\n </Card>\n </a>\n ) : null}\n </>\n )}\n </>\n ),\n [\n routeReturnsList,\n withReturnsListButton,\n withHeader,\n translations,\n renderReturnOrders,\n minifiedView,\n orderReturns.length,\n loading,\n ]\n );\n\n const renderFullSizeView = useMemo(\n () => (\n <>\n {withHeader ? (\n <Header\n title={translations.minifiedViewTitle}\n divider={true}\n className={'order-returns__header--full-size'}\n />\n ) : null}\n {loading ? (\n <CardLoader withCard={false} />\n ) : (\n <>\n <EmptyList\n minifiedView={minifiedView}\n typeList=\"orders\"\n isEmpty={!orderReturns.length}\n message={translations.emptyOrdersListMessage}\n />\n {renderReturnOrders}\n {pageInfo?.totalPages > 1 ? (\n <Pagination\n totalPages={pageInfo?.totalPages}\n currentPage={selectedPage}\n onChange={handleSetSelectPage}\n />\n ) : null}\n </>\n )}\n </>\n ),\n [\n renderReturnOrders,\n minifiedView,\n orderReturns,\n translations,\n pageInfo?.totalPages,\n selectedPage,\n handleSetSelectPage,\n loading,\n withHeader,\n ]\n );\n\n return (\n <div className=\"order-returns-list-content\">\n {minifiedView ? renderMinifiedView : renderFullSizeView}\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { ComponentChildren, FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { VComponent, classes } from '@adobe-commerce/elsie/lib';\nimport '@adobe-commerce/elsie/components/Button/Button.css';\n\nexport interface ButtonProps\n extends Omit<\n HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>,\n 'size' | 'icon'\n > {\n variant?: 'primary' | 'secondary' | 'tertiary';\n size?: 'medium' | 'large';\n children?: ComponentChildren;\n icon?: VNode<HTMLAttributes<SVGSVGElement>>;\n disabled?: boolean;\n active?: boolean;\n activeChildren?: ComponentChildren;\n activeIcon?: VNode<HTMLAttributes<SVGSVGElement>>;\n href?: string;\n type?: 'button' | 'submit' | 'reset';\n}\n\nexport const Button: FunctionComponent<ButtonProps> = ({\n value,\n variant = 'primary',\n size = 'medium',\n icon,\n className,\n children,\n disabled = false,\n active = false,\n activeChildren,\n activeIcon,\n href,\n ...props\n}) => {\n let buttonType = 'dropin-button';\n\n if (\n (icon && !children) ||\n (icon && active && !activeChildren) ||\n (!icon && active && activeIcon)\n ) {\n buttonType = 'dropin-iconButton';\n }\n\n if (active && activeChildren) {\n buttonType = 'dropin-button';\n }\n\n className = classes([\n buttonType,\n `${buttonType}--${size}`,\n `${buttonType}--${variant}`,\n [`${buttonType}--${variant}--disabled`, disabled],\n children && icon && `${buttonType}--with-icon`,\n !children && activeChildren && icon && `${buttonType}--with-icon`,\n active && activeIcon && `${buttonType}--with-icon`,\n className,\n ]);\n\n const iconClassName = classes([\n 'dropin-button-icon',\n `dropin-button-icon--${variant}`,\n [`dropin-button-icon--${variant}--disabled`, disabled],\n icon?.props.className,\n ]);\n\n const attributes = href\n ? {\n node: <a />,\n role: 'link',\n href,\n ...props,\n disabled,\n active,\n onKeyDown: (event: KeyboardEvent) => {\n if (disabled) {\n event.preventDefault();\n }\n },\n tabIndex: disabled ? -1 : 0,\n }\n : {\n node: <button />,\n role: 'button',\n ...props,\n value,\n disabled,\n active,\n };\n\n return (\n <VComponent {...attributes} className={className}>\n {icon && !active && <VComponent node={icon} className={iconClassName} />}\n\n {activeIcon && active && (\n <VComponent node={activeIcon} className={iconClassName} />\n )}\n\n {children &&\n !active &&\n (typeof children === 'string' ? <span>{children}</span> : children)}\n\n {active &&\n activeChildren &&\n (typeof activeChildren === 'string' ? (\n <span>{activeChildren}</span>\n ) : (\n activeChildren\n ))}\n </VComponent>\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 { useIsMobile } from '@/order/hooks';\nimport { ShippingStatusReturnCardProps } from '@/order/types';\nimport {\n Accordion,\n AccordionSection,\n Card,\n Header,\n Image,\n ContentGrid,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent } from 'preact';\nimport Button from '@adobe-commerce/elsie/components/Button';\n\nexport const ShippingStatusReturnCard: FunctionComponent<\n ShippingStatusReturnCardProps\n> = ({\n placeholderImage,\n slots,\n collapseThreshold,\n translations,\n returnData,\n routeTracking,\n routeProductDetails,\n}) => {\n const isMobile = useIsMobile();\n\n const ImageTag = routeProductDetails ? 'a' : 'span';\n\n return (\n <Card\n variant=\"secondary\"\n className={classes([\n 'order-shipping-status-card',\n 'order-shipping-status-card--return-order',\n ])}\n >\n <Header title={translations.returnOrderCardTitle} />\n {\n <div>\n {returnData?.tracking?.map((track, index) => {\n // No title in return tracking schema for return\n const trackingData = {\n title: '',\n number: track?.trackingNumber ?? '',\n carrier: track?.carrier?.label ?? '',\n };\n\n const trackingRoute = routeTracking?.(trackingData);\n const handleClick = trackingRoute\n ? () => {\n window.open(trackingRoute, '_blank', 'noreferrer');\n }\n : null;\n\n return (\n <div\n key={`${trackingData.number}_${index}`}\n className={'order-shipping-status-card__header'}\n >\n <div>\n {`${translations.carrier} `}\n {`${trackingData.carrier?.toLocaleUpperCase()} | `}\n {trackingData.number}\n </div>\n {handleClick ? (\n <Button onClick={handleClick}>\n {translations.trackButton}\n </Button>\n ) : null}\n </div>\n );\n })}\n\n {slots?.ReturnItemsDetails ? (\n <Slot\n data-testid=\"returnItemsDetails\"\n name=\"ReturnItemsDetails\"\n slot={slots?.ReturnItemsDetails}\n context={{ items: returnData.items }}\n />\n ) : null}\n <Accordion actionIconPosition=\"right\" data-testid=\"dropinAccordion\">\n <AccordionSection\n defaultOpen={collapseThreshold >= returnData.items.length}\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.itemText\"\n plural={returnData.items.reduce(\n (acc, value) => acc + value.requestQuantity,\n 0\n )}\n fields={{\n count: returnData.items.reduce(\n (acc, value) => acc + value.requestQuantity,\n 0\n ),\n }}\n />\n }\n >\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'order-shipping-status-card__images',\n ['order-shipping-status-card__images-3', isMobile],\n ])}\n >\n {returnData.items.map((item, index) => {\n const defaultImageProps = {\n title: item.thumbnail?.label ?? '',\n src: item.thumbnail?.url ?? placeholderImage,\n alt: item.thumbnail?.label ?? '',\n width: 85,\n height: 114,\n loading: 'lazy',\n } as const;\n\n return (\n <ImageTag\n key={`${index}${item.uid}`}\n href={routeProductDetails?.(item) ?? '#'}\n data-testid={`${index}${item.uid}`}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ShippingStatusCardImage\"\n slot={slots?.ShippingStatusReturnCardImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n </div>\n }\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 { Slot } from '@adobe-commerce/elsie/lib';\nimport {\n Accordion,\n AccordionSection,\n Card,\n Header,\n Image,\n ContentGrid,\n} from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { ShippingStatusCardProps, StatusEnumProps } from '@/order/types';\nimport '@/order/components/ShippingStatusCard/ShippingStatusCard.css';\nimport { ShippingStatusReturnCard } from './ShippingStatusReturnCard';\nimport Button from '@adobe-commerce/elsie/components/Button';\nimport { FunctionComponent } from 'preact';\n\nexport const ShippingStatusCard: FunctionComponent<ShippingStatusCardProps> = ({\n placeholderImage,\n translations,\n slots,\n orderData,\n collapseThreshold = 10,\n routeProductDetails,\n routeTracking,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const returnNumber = orderData?.returnNumber;\n const ImageTag = routeProductDetails ? 'a' : 'span';\n const orderStatus = orderData?.status?.toLocaleLowerCase();\n const isSingleShipment = orderData?.shipments?.length === 1;\n const isCompleted =\n isSingleShipment && orderStatus?.includes(StatusEnumProps.COMPLETE);\n const allTrackingIsEmpty = orderData?.shipments?.every(\n (el) => el.tracking.length === 0\n );\n\n const renderNotYetShippedProduct = orderData?.items?.filter(\n (el) =>\n el?.quantityShipped === 0 || el?.quantityShipped < el?.quantityOrdered\n );\n\n const totalNotYetShippedProduct = orderData?.items?.reduce((acc, value) => {\n const difference = value.quantityOrdered - value.quantityShipped;\n return acc + (difference > 0 ? difference : 0);\n }, 0);\n\n // Render shipping status card for return details page\n if (isReturnPage && orderData?.returns.length) {\n const returnData = orderData.returns.find(\n (returnData) => returnData.returnNumber === returnNumber\n );\n\n if (!returnData || returnData.tracking.length === 0) return null;\n\n return (\n <ShippingStatusReturnCard\n placeholderImage={placeholderImage}\n slots={slots}\n collapseThreshold={collapseThreshold}\n translations={translations}\n returnData={returnData}\n routeTracking={routeTracking}\n routeProductDetails={routeProductDetails}\n />\n );\n }\n\n // Hidden if no order data or order is cancelled\n if (!orderData || orderStatus?.includes(StatusEnumProps.CANCELED)) {\n return null;\n }\n\n // Render static informational card if no shipment created yet (order details page)\n if (!orderData?.shipments?.length) {\n return (\n <Card variant=\"secondary\" className=\"order-shipping-status-card\">\n <Header title={translations.shippingInfoTitle} />\n <div className={'order-shipping-status-card__header'}>\n <div className={'order-shipping-status-card__header--content'}>\n {orderData?.carrier ? <p>{orderData?.carrier}</p> : null}\n <p>{translations.noInfoTitle}</p>\n </div>\n </div>\n </Card>\n );\n }\n\n if (\n allTrackingIsEmpty &&\n !renderNotYetShippedProduct?.length &&\n isCompleted\n ) {\n return null;\n }\n\n // Render order shipments details (card per shipment)\n return (\n <>\n {orderData?.shipments?.map(({ tracking, items, id }, index) => {\n const accordionValue = items.reduce((acc, value) => {\n return (\n acc +\n (value?.quantityShipped ?? value.orderItem.quantityShipped ?? 0)\n );\n }, 0);\n\n return (\n <Card\n key={id}\n variant=\"secondary\"\n className=\"order-shipping-status-card\"\n >\n <Header title={translations.shippingCardTitle} />\n {tracking?.map((track) => {\n const trackingRoute = routeTracking?.(track);\n const handleClick = trackingRoute\n ? () => {\n window.open(trackingRoute, '_blank', 'noreferrer');\n }\n : null;\n\n return (\n <div\n className={'order-shipping-status-card__header'}\n key={track.number}\n role={'status'}\n >\n <div\n className={'order-shipping-status-card__header--content'}\n >\n <p>\n {translations.carrier}{' '}\n {track?.carrier?.toLocaleUpperCase()} | {track?.number}\n </p>\n <p>{track?.title}</p>\n </div>\n {slots?.DeliveryTrackActions ? (\n <Slot\n data-testid=\"deliverySlotActions\"\n name=\"DeliveryTrackActions\"\n slot={slots?.DeliveryTrackActions}\n context={{ trackInformation: track }}\n />\n ) : handleClick ? (\n <Button onClick={handleClick}>\n {translations.trackButton}\n </Button>\n ) : null}\n </div>\n );\n })}\n\n {!isCompleted ? (\n <Accordion\n actionIconPosition=\"right\"\n data-testid=\"dropinAccordion\"\n >\n <AccordionSection\n data-position={index + 1}\n defaultOpen={collapseThreshold >= items?.length}\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.notYetShippedImagesTitle\"\n plural={accordionValue}\n fields={{ count: accordionValue }}\n />\n }\n >\n <ContentGrid\n maxColumns={6}\n emptyGridContent={<></>}\n className={'order-shipping-status-card__images'}\n >\n {items?.map((item) => {\n const label =\n item?.orderItem?.product?.thumbnail?.label ?? '';\n\n const defaultImageProps = {\n title: label,\n src:\n item?.orderItem?.product?.thumbnail?.url ??\n placeholderImage,\n alt: label,\n width: 85,\n height: 114,\n loading: 'eager',\n } as const;\n\n return (\n <ImageTag\n key={item.id}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"ShippingStatusCardImage\"\n slot={slots?.ShippingStatusCardImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n ) : null}\n\n {slots?.DeliveryTimeLine ? (\n <Slot\n data-testid=\"deliverySlotTimeLine\"\n name=\"DeliveryTimeLine\"\n slot={slots?.DeliveryTimeLine}\n context={{}}\n />\n ) : null}\n </Card>\n );\n })}\n {renderNotYetShippedProduct?.length ? (\n <Card\n variant=\"secondary\"\n className=\"order-shipping-status-card\"\n data-testid=\"dropinAccordionNotYetShipped2\"\n >\n <Header title={translations.notYetShippedTitle} />\n\n <Accordion actionIconPosition=\"right\">\n <AccordionSection\n defaultOpen={\n collapseThreshold >= renderNotYetShippedProduct?.length\n }\n // @ts-ignore\n title={\n <Text\n id=\"Order.ShippingStatusCard.notYetShippedImagesTitle\"\n plural={totalNotYetShippedProduct}\n fields={{\n count: totalNotYetShippedProduct,\n }}\n />\n }\n >\n <ContentGrid\n maxColumns={6}\n emptyGridContent={<></>}\n className={'order-shipping-status-card__images'}\n >\n {renderNotYetShippedProduct?.map((item) => {\n const defaultImageProps = {\n title: item.thumbnail?.label ?? '',\n src: item.thumbnail?.url ?? '',\n alt: item.thumbnail?.label ?? '',\n width: 85,\n height: 114,\n loading: 'lazy',\n } as const;\n\n return (\n <ImageTag\n key={item.id}\n href={routeProductDetails?.(item) ?? '#'}\n >\n <Slot\n slotTag=\"span\"\n contentTag=\"span\"\n name=\"NotYetShippedProductImage\"\n slot={slots?.NotYetShippedProductImage}\n context={{\n data: item,\n defaultImageProps,\n }}\n >\n <Image {...defaultImageProps} />\n </Slot>\n </ImageTag>\n );\n })}\n </ContentGrid>\n </AccordionSection>\n </Accordion>\n </Card>\n ) : null}\n </>\n );\n};\n","/********************************************************************\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport {\n formatDateToLocale,\n FORMAT_DATETIME,\n} from '@/order/lib/formatDateToLocale';\nimport { OrderCommentsComponentProps } from '@/order/types';\nimport '@/order/components/OrderComments/OrderComments.css';\n\nexport const OrderComments: FunctionComponent<OrderCommentsComponentProps> = ({\n className,\n comments = [],\n ...props\n}) => {\n const dictionary = useText({\n emptyState: 'Order.OrderComments.emptyState',\n title: 'Order.OrderComments.title',\n });\n\n const listContent =\n !comments || comments.length === 0 ? (\n <ul\n className={classes([\n 'order-order-comments',\n 'order-order-comments--empty',\n ])}\n data-testid=\"order-comments-list\"\n >\n <li\n className=\"order-order-comments__empty-state\"\n data-testid=\"order-comments-empty-state\"\n >\n {dictionary.emptyState}\n </li>\n </ul>\n ) : (\n <ul\n className=\"order-order-comments\"\n data-testid=\"order-comments-list\"\n >\n {comments.map((comment, i) => (\n <li\n key={i}\n className=\"order-order-comments__item\"\n data-testid={`order-comment-${i}`}\n >\n <div className=\"order-order-comments__header\">\n <time\n className=\"order-order-comments__date\"\n dateTime={comment.timestamp}\n data-testid={`order-comment-date-${i}`}\n >\n {formatDateToLocale(comment.timestamp, 'en-US', FORMAT_DATETIME)}\n </time>\n </div>\n <p\n className=\"order-order-comments__text\"\n data-testid={`order-comment-text-${i}`}\n >\n {comment.message}\n </p>\n </li>\n ))}\n </ul>\n );\n\n return (\n <Card\n {...props}\n variant=\"secondary\"\n className={classes(['order-order-comments-card', className])}\n data-testid=\"order-comments-card\"\n >\n <Header title={dictionary.title} />\n <div className=\"order-order-comments-card__container\">\n {listContent}\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 { ShippingStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { CardLoader, ShippingStatusCard } from '@/order/components';\nimport { useGetStoreConfig, useShippingStatus } from '@/order/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ShippingStatus: Container<ShippingStatusProps> = ({\n slots,\n className,\n collapseThreshold,\n orderData,\n routeOrderDetails,\n routeTracking,\n routeProductDetails,\n}) => {\n const { loading, order, isVirtualProduct } = useShippingStatus({ orderData });\n const storeConfig = useGetStoreConfig();\n\n const translations = useText({\n carrier: 'Order.ShippingStatusCard.carrier',\n prepositionOf: 'Order.ShippingStatusCard.prepositionOf',\n returnOrderCardTitle: 'Order.ShippingStatusCard.returnOrderCardTitle',\n shippingCardTitle: 'Order.ShippingStatusCard.shippingCardTitle',\n shippingInfoTitle: 'Order.ShippingStatusCard.shippingInfoTitle',\n notYetShippedTitle: 'Order.ShippingStatusCard.notYetShippedTitle',\n noInfoTitle: 'Order.ShippingStatusCard.noInfoTitle',\n returnNumber: 'Order.ShippingStatusCard.returnNumber',\n orderNumber: 'Order.ShippingStatusCard.orderNumber',\n trackButton: 'Order.ShippingStatusCard.trackButton',\n });\n\n if (!loading && isVirtualProduct) return null;\n\n const placeholderImage = storeConfig?.baseMediaUrl ?? '';\n\n return (\n <div className={classes(['order-shipping-status', className])}>\n {!loading && order ? (\n <ShippingStatusCard\n placeholderImage={placeholderImage}\n translations={translations}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n slots={slots}\n orderData={order}\n collapseThreshold={collapseThreshold}\n routeProductDetails={routeProductDetails}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\n );\n};\n"],"names":["SvgCard","props","React","SvgCheckWithCircle","SvgChevronDown","SvgChevronRight","SvgChevronUp","SvgCoupon","SvgEmptyBox","SvgGiftCard","SvgOrderSuccess","SvgUser","SvgWallet","SvgWarning","SvgWarningFilled","SvgWarningWithCircle","AvailableActionsProps","FieldEnumList","StatusEnumProps","getFormValues","form","formData","checkbox","entries","returnStatus","formatTemplate","el","index","cleanObjectKeys","obj","cleanedObject","key","newKey","modifyFieldsConfig","fieldsConfig","replicateEntries","objects","n","_","normalizeAttributes","selectedCustomAttributes","enteredCustomAttributes","value","lastUnderscoreIndex","baseKey","type","formatReturnStatus","str","processFormElement","formsRef","items","current","orderItemUid","quantity","_a","formsData","valuesList","sortItemsByCondition","order","a","b","aCondition","bCondition","DEFAULT_DATE_OPTIONS","DATE_TIME_OPTIONS","dateTimeFormatterCache","DATE_TIME_CACHE_MAX_SIZE","getDateTimeFormatter","locale","formatter","firstKey","FORMAT_DATETIME","formatDateToLocale","date","options","dateObj","formatOptions","renderAddressData","normalizeAddress","getFieldContent","field","fieldIndex","jsx","extractPaymentMethodsData","paymentMethods","hasPaymentMethod","selectedPaymentMethod","selectedPaymentMethodCode","_b","CustomerDetailsContent","loading","withHeader","title","paymentIconsMap","translations","slots","isReturnPage","isVirtual","orderReturn","iconsList","useMemo","Wallet","CreditCard","DetailsSkeleton","emailAddress","shippingMethod","shippingCost","_c","shippingCurrency","_d","hasToDisplayPaymentMethod","paymentMethodIconSource","shippingAddress","billingAddress","contactDetails","jsxs","returnDetails","Slot","Fragment","Text","shippingAddressDetails","billingAddressDetails","classes","paymentMethodDetails","Icon","shippingMethodDetails","Price","pageSpecificDetails","Card","Header","EmptyList","typeList","isEmpty","minifiedView","message","config","EmptyBox","IllustratedMessage","initializeFormData","code","required","defaultValue","useForm","onSubmit","requiredFieldError","useText","formRef","useRef","setFormData","useState","errors","setErrors","useEffect","initialData","getRequiredFieldError","useCallback","name","error","handleChange","event","checked","fieldValue","prev","handleBlur","prevErrors","handleSubmit","formValid","newErrors","firstErrorField","input","FormInputs","memo","values","fields","className","onChange","onBlur","itemClassName","selectElement","item","valueMessage","errorMessage","pickerOptions","option","Field","Picker","inputElement","isEmail","icon","User","autoComplete","Input","inputDateElement","InputDate","inputCheckBoxElement","Checkbox","textAreaElement","TextArea","Form","children","OrderActions","orderData","routeCreateReturn","routeOnSuccess","onError","translationActions","renderAvailableActions","availableActionsList","redirectToCreateReturn","redirectTo","action","OrderCancel","Button","Reorder","useGetStoreConfig","setConfig","storeConfigPromiseKey","storeConfigString","cachedStoreConfig","windowWithPromise","getStoreConfig","response","getQueryParam","param","href","useCreateReturn","onSuccess","handleSetInLineAlert","isGuestCreateReturn","setIsGuestCreateReturn","setOrder","steps","setSteps","setLoading","selectedProductList","setSelectedProductList","attributesList","setAttributesList","itemsEligibleForReturn","setItemsEligibleForReturn","i","createRef","events","sortedReturnItems","getAttributesList","handleSelectedProductList","orderItem","currentList","handleChangeStep","handleSetQuantity","productSku","result","isValid","orderReturnInfo","requestGuestReturn","requestReturn","defaultAttributePreset","useCustomerDetails","keysSortOrder","setKeysSortOrder","getAttributesForm","attributesFormResponse","orderNumber","label","convertToCamelCase","getNormalizeAddress","address","setTaxStatus","displayPrice","taxIncluded","taxExcluded","useOrderCostSummary","storeConfig","setStoreConfig","shoppingOrderDisplayPrice","shoppingOrdersDisplayShipping","shoppingOrdersDisplaySubtotal","useOrderHeader","handleEmailAvailability","handleSignUpClick","isAuthenticated","setIsAuthenticated","isEmailAvailable","setIsEmailAvailable","customerEmail","onSignUpClickHandler","inputsDefaultValueSet","addressesData","customerShippingAddress","transformCustomerAddressInput","authenticated","useOrderComments","comments","setComments","orderPayload","useOrderProductList","useOrderSearch","isAuth","renderSignIn","routeCustomerOrder","routeGuestOrder","inLineAlert","setInLineAlert","orderSearchRedirect","orderRef","isToken","customer","getCustomer","normalizeFieldsConfig","valid","formValues","getGuestOrder","guestOrder","showErrorMessage","useOrderStatus","orderStatus","setOrderStatus","DEFAULT_PAGE_INFO","useReturnsList","returnPageSize","orderReturns","setOrderReturns","pageInfo","setPageInfo","selectedPage","setSelectedPage","getCustomerOrdersReturn","handleSetSelectPage","useShippingStatus","isVirtualProduct","setIsVirtualProduct","removeQueryParams","params","url","useOrderActions","enableOrderCancellation","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","confirmGuestReturn","Success","Warning","Error","useInLineAlert","inLineAlertProps","setInLineAlertProps","notification","useIsMobile","isMobile","setIsMobile","handleResize","debounce","CreateReturn","routeReturnSuccess","showConfigurableOptions","OrderProductListSkeleton","placeholderImage","renderList","ReturnOrderProductList","ReturnReasonForm","ReturnOrderMessage","InLineAlert","CustomerDetails","OrderCancelForm","pickerProps","submitButtonProps","cancelReasons","selectedReason","setSelectedReason","isErrorVisible","setIsErrorVisible","isCustomerAuthenticated","setIsCustomerAuthenticated","handleReasonSelect","requestGuestOrderCancel","cancelOrder","data","OrderCostSummary","OrderCostSummaryContent","OrderHeader","OrderHeaderComponent","OrderHeaderSkeleton","OrderProductList","routeProductDetails","OrderProductListContent","useOrderReturns","OrderReturns","withThumbnails","routeReturnDetails","routeTracking","minifiedViewKey","ReturnsListContent","OrderSearch","OrderSearchForm","OrderStatus","statusTitle","OrderStatusContent","CardLoader","ReturnsList","withReturnsListButton","returnsInMinifiedView","routeOrderDetails","routeReturnsList","OrderComments","OrderCommentsComponent","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","Modal","testId","withCard","defaultSkeleton","Skeleton","SkeletonRow","CartItemSkeleton","OrderSummarySkeleton","GiftWrapping","salesGiftWrapping","giftWrappingPrice","giftWrappingPriceInclTax","giftWrappingTitle","giftWrappingExclTaxText","giftWrappingInclTaxText","isGiftWrappingTaxIncluded","isGiftWrappingTaxExcluded","isIncludedView","isExcludedView","isInclExclView","taxIncludedView","taxExcludedView","taxIncludedAndExcludedView","PrintedCard","salesPrintedCard","totalGiftOptions","printedCard","printedCardInclTax","isPrintedCardTaxIncluded","isPrintedCardTaxExcluded","Subtotal","subtotalInclTax","subtotalExclTax","isTaxIncluded","isTaxExcluded","Shipping","totalShipping","Discounts","appliedCoupons","discounts","discountValue","acc","Coupon","Total","isFree","_e","Tax","renderTaxAccordion","totalAccordionTaxValue","changeAccordion","setChangeAccordion","Accordion","ChevronDown","ChevronUp","AccordionSection","GiftCards","totalGiftCardValue","totalGiftCardCurrency","appliedGiftCards","GiftCard","_f","_g","customerName","onSignUpClick","OrderSuccess","categorizeProducts","itemsList","returnedList","returnedListMap","modifyOrder","mainItem","matchingItem","quantityResult","element","taxConfig","canceledItems","nonCanceledItems","section","returnData","headerTotalProductValue","entry","accumulator","totalQuantity","product","CartSummaryItem","itemType","disabledIncrementer","onQuantity","renderDefaultPrice","amount","currency","configs","renderImages","defaultImageProps","Image","configPrice","isCancelled","inStock","giftCard","renderQuantity","isDiscounted","includeAndExcludeTax","includeTax","excludeTax","configurations","singleItemPrice","totalOriginalPrice","totalDiscountedPrice","totalExcludingTax","CartItem","WarningWithCircle","Incrementer","WarningFilled","capitalizeFirst","statusTransform","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","translationsOrder","translationsHeaderTitle","translationsText","translationsTextWithoutDate","orderMessage","isAdminAssisted","returnMessage","headerTitle","mutationReorderItems","reorderItems","success","userInputErrors","quantityReturnRequested","quantityShipped","eligibleForReturn","disabled","fieldsList","formName","productName","iconConfig","withReturnNumber","withOrderNumber","lastElementNumber","ImageTag","renderReturnOrders","track","trackingData","trackingRoute","ContentGrid","src","ChevronRight","renderMinifiedView","renderFullSizeView","Pagination","variant","size","active","activeChildren","activeIcon","buttonType","iconClassName","attributes","VComponent","ShippingStatusReturnCard","collapseThreshold","handleClick","ShippingStatusCard","returnNumber","isCompleted","allTrackingIsEmpty","renderNotYetShippedProduct","totalNotYetShippedProduct","difference","tracking","id","accordionValue","dictionary","listContent","comment","ShippingStatus"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,79]}